Chuyển đến nội dung
AIOTAIOT
  • Trang chủ
  • Giới thiệu
  • Tin tức
  • Sản phẩm
  • Giải pháp
    • Chấm công bằng Face ID
    • Thiết bị đọc căn cước
    • IoT trong giáo dục
    • IoT trong quản lý năng lượng
    • IoT trong y tế
  • Đào tạo
    • Khóa đào tạo cơ bản
    • Khóa đào tạo nâng cao
    • Tài liệu
  • PCCC
  • Liên hệ
  • icon
    097 186 8316    |    0839 799 889
Đào tạo, Khóa đào tạo cơ bản, LabVIEW FPGA

Bài 4: Tạo VI FPGA Đầu Tiên & Những Giới Hạn Cần Biết

Đã đăng trên 21/09/202521/09/2025 bởi ThaoNguyen
21
Th9

 

Bây giờ, chúng ta sẽ bước vào phần thực hành cốt lõi: tạo ra VI FPGA đầu tiên. Bạn sẽ thấy việc này quen thuộc như tạo một VI thông thường, nhưng điều quan trọng là phải hiểu rõ những “luật chơi” riêng biệt của môi trường phần cứng, bởi vì mỗi sơ đồ khối bạn vẽ ra sẽ được chuyển thành một mạch điện tử thực thụ.

 

1. Những Tính Năng LabVIEW KHÔNG Được Hỗ Trợ

Đây là điểm khác biệt lớn nhất và cũng là nơi người mới bắt đầu dễ mắc lỗi nhất. Khi bạn lập trình cho FPGA, bạn không còn làm việc với một hệ điều hành linh hoạt nữa, mà là đang định nghĩa cấu trúc cho các cổng logic. Do đó, rất nhiều tính năng quen thuộc của LabVIEW trên máy tính sẽ **không tồn tại** trên FPGA.

Việc ghi nhớ danh sách này sẽ giúp bạn tiết kiệm rất nhiều thời gian gỡ lỗi:

  • ❌ **File I/O:** Không thể đọc/ghi file trực tiếp từ FPGA.
  • ❌ **Dialog boxes:** Không có hộp thoại hay cửa sổ pop-up.
  • ❌ **Printing:** Không thể in ấn.
  • ❌ **ActiveX, .NET, VI Server:** Các công nghệ phần mềm cấp cao không được hỗ trợ.
  • ❌ **Shared Variables:** Biến chia sẻ thông thường không hoạt động (trừ một số target hỗ trợ NI Scan Engine).
  • ❌ **Mảng đa chiều (Multidimensional Arrays):** Chỉ hỗ trợ mảng một chiều.
  • ❌ **Mảng có kích thước động:** Kích thước mảng phải được xác định rõ ràng trước khi biên dịch.
  • ❌ **Phép toán dấu phẩy động Double/Extended:** Các kiểu dữ liệu số thực có độ chính xác cao không được hỗ trợ trực tiếp.
  • ❌ **Các hàm phân tích tín hiệu phức tạp:** Nhiều VI trong bảng Math và Signal Processing không có sẵn cho FPGA.

Tại sao lại có những giới hạn này? Bởi vì mỗi hàm bạn đặt trên sơ đồ khối phải được chuyển đổi thành một cấu trúc vật lý gồm các cổng logic, thanh ghi, và bộ nhớ. Các tính năng không được hỗ trợ là những thứ đòi hỏi tài nguyên của hệ điều hành mà trên chip FPGA không có.

2. Các Bước Tạo và Phân Loại VI

A. Hướng Dẫn Tạo VI FPGA

Thao tác tạo một VI FPGA rất đơn giản và được thực hiện ngay trong cửa sổ Project Explorer. Đây là cách bạn “khai báo” một file mã nguồn sẽ được biên dịch cho phần cứng.

  1. Trong cửa sổ Project Explorer, tìm đến mục **FPGA Target** của bạn.
  2. Nhấp chuột phải vào FPGA Target.
  3. Từ menu ngữ cảnh, chọn **New > VI**.
  4. Một VI mới, trống sẽ được tạo ra ngay bên dưới FPGA Target. Hãy lưu nó lại với một cái tên có ý nghĩa (ví dụ: Main_FPGA.vi).

Điểm Cần Chú Ý: Ngay khi bạn mở VI này, bạn sẽ nhận thấy bảng công cụ (Functions Palette) đã được thay đổi. Nó chỉ hiển thị các hàm và cấu trúc được FPGA hỗ trợ. Đây là một cơ chế an toàn để bạn không vô tình sử dụng các chức năng không tương thích.


B. Phân Biệt Các Loại VI Chính

Một ứng dụng FPGA hoàn chỉnh thường có hai loại VI hoạt động song song, mỗi loại có một vai trò và “nơi ở” riêng. Hiểu rõ sự khác biệt này là nền tảng để xây dựng hệ thống.

📜 VI FPGA (FPGA VI)

  • Nơi đặt: Luôn nằm **bên dưới** mục FPGA Target trong project.
  • Nơi thực thi: Được biên dịch và chạy trực tiếp trên **phần cứng chip FPGA**.
  • Nhiệm vụ: Thực hiện các tác vụ đòi hỏi tốc độ cao, xử lý song song và có tính tất định (deterministic) như: đọc/ghi I/O tốc độ cao, điều khiển PID, xử lý tín hiệu số (lọc, FFT), tạo xung PWM…
  • Đặc điểm: Bị giới hạn về tính năng và kiểu dữ liệu. Không có giao diện người dùng (Front Panel của nó chỉ dùng để mô phỏng hoặc giao tiếp với Host VI).

🖥️ VI Host (Host VI)

  • Nơi đặt: Nằm **bên dưới** mục My Computer (hoặc một Real-Time Controller) trong project.
  • Nơi thực thi: Chạy trên **CPU của máy tính** hoặc bộ xử lý của RT Controller.
  • Nhiệm vụ: Giao tiếp với VI FPGA. Nó đóng vai trò là “bộ não” cấp cao, thực hiện các tác vụ như: hiển thị giao diện người dùng, ghi dữ liệu ra file, phân tích dữ liệu phức tạp, kết nối mạng, gửi lệnh và nhận kết quả từ VI FPGA.
  • Đặc điểm: Có đầy đủ tính năng của LabVIEW trên máy tính. Sử dụng các hàm trong bảng **FPGA Interface** để giao tiếp với phần cứng.

3. Các Kiểu Dữ Liệu Được Hỗ Trợ

Thay vì các kiểu dữ liệu phức tạp, FPGA tập trung vào các kiểu dữ liệu có thể ánh xạ trực tiếp vào phần cứng. Nắm vững chúng là chìa khóa để tối ưu hóa ứng dụng.

Integer (Số nguyên)

Nền tảng của mọi phép toán trên FPGA. Hỗ trợ đầy đủ các loại 8, 16, 32, 64-bit, có dấu (Signed – I) và không dấu (Unsigned – U).

Boolean (Luận lý)

Đại diện cho các tín hiệu logic ON/OFF (TRUE/FALSE), được ánh xạ trực tiếp vào một Flip-flop.

Fixed-Point (Số chấm tĩnh)

Cách hiệu quả nhất để biểu diễn số thực trên FPGA. Nó cho phép bạn kiểm soát chính xác số bit dành cho phần nguyên và phần thập phân, giúp tối ưu tài nguyên.

Single-Precision Float (Số chấm động đơn)

Được hỗ trợ bởi một số hàm nhất định, nhưng tiêu tốn rất nhiều tài nguyên và có độ trễ cao. Chỉ nên dùng khi thật sự cần thiết.

Cluster

Cho phép gom nhóm các kiểu dữ liệu được hỗ trợ lại với nhau. Rất hữu ích để tổ chức dữ liệu.

Array (Mảng 1 chiều)

Chỉ hỗ trợ mảng một chiều và phải có kích thước cố định. Sẽ được tìm hiểu kỹ ở phần sau.

4. Lưu Ý Đặc Biệt về Mảng (Arrays)

Như đã đề cập, mảng trong FPGA phải có **kích thước cố định (fixed-size)** và kích thước này phải được trình biên dịch biết trước.

Lý do là khi bạn khai báo một mảng, trình biên dịch sẽ phải dành ra một lượng tài nguyên phần cứng (thường là Block RAM) tương ứng để chứa nó. Nếu kích thước mảng có thể thay đổi trong lúc chạy, phần cứng sẽ không thể đáp ứng được.

Làm thế nào để khai báo mảng kích thước cố định?

Khi bạn tạo một control hoặc constant mảng trên Front Panel hoặc Block Diagram:

  1. Nhấp chuột phải vào phần hiển thị chỉ số (index display) ở bên trái của mảng.
  2. Chọn Set Size... từ menu ngữ cảnh.
  3. Trong hộp thoại hiện ra, chọn Fixed và nhập vào số lượng phần tử mong muốn.

Thao tác này đảm bảo rằng trình biên dịch sẽ luôn dành đủ không gian phần cứng cho mảng của bạn, giúp quá trình biên dịch thành công.


Kết luận

Việc tạo một VI FPGA cũng đơn giản như các VI khác, nhưng để thành công, bạn phải suy nghĩ như một kỹ sư phần cứng. Hiểu rõ các giới hạn về tính năng và kiểu dữ liệu là bước đầu tiên để xây dựng các ứng dụng FPGA mạnh mẽ, hiệu quả và tối ưu.

 

 

Mục nhập này đã được đăng trong Đào tạo, Khóa đào tạo cơ bản, LabVIEW FPGA và được gắn thẻ LabVIEW FPGA.
ThaoNguyen

Bài 3: Làm Việc với Project và Target FPGA
Bài 5: Tương Tác Với Thế Giới Thực – Sử Dụng FPGA I/O

1 những suy nghĩ trên “Bài 4: Tạo VI FPGA Đầu Tiên & Những Giới Hạn Cần Biết”

  1. Pingback: Lập trình LabVIEW FPGA từ Cơ bản đến Nâng cao - AIOT

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết mới
  • Bài 11: Giảm Độ trễ (Latency) thông qua Song song hóa
  • Bài 10: Các Kỹ thuật Tối ưu hóa Thời gian (Timing)
  • Bài 9: Giảm Khoảng thời gian Khởi tạo (Initiation Interval)
  • Bài 8: Giảm thiểu Đường dẫn Tới hạn (Critical Path) và Kỹ thuật Pipelining
  • Bài 7: Các Kỹ thuật Tối ưu hóa Thông lượng (Throughput)
Danh mục
  • Đào tạo
  • Giải pháp
  • IoT trong giáo dục
  • Khóa đào tạo cơ bản
  • Khóa đào tạo nâng cao
  • LabVIEW FPGA
  • LabVIEW FPGA High Performance
  • Sản xuất công nghiệp
  • Thiết bị dịch vụ thông minh
  • Thiết bị đọc căn cước
  • Tin tức

CÔNG TY CỔ PHẦN HỆ THỐNG AIOT

VPGD: Số A21-TT9 Đường Foresa 1 KĐT Xuân Phương, Phường Xuân Phương, Hà Nội.

Địa chỉ kinh doanh: Đường Phú Diễn, Tổ dân phố 18, phường Phú Diễn, Thành phố Hà Nội, Việt Nam

Hotline/Zalo: 097 186 8316 | 0839 799 889

Email: aiot@aiots.vn

VỀ CHÚNG TÔI

Giới thiệu

Sản phẩm

Giải pháp

Đào tạo

Tin tức

QUY ĐỊNH & CHÍNH SÁCH

Chính sách thanh toán

Chính sách vận chuyển

Chính sách bảo hành

Chính sách đổi trả

Chính sách bảo mật

ĐỊA CHỈ VĂN PHÒNG GIAO DỊCH

Copyright 2024 © Bản quyền thuộc về AIOT. Thiết kế bởi Jamina JSC
  • Trang chủ
  • Giới thiệu
  • Tin tức
  • Sản phẩm
  • Giải pháp
    • Chấm công bằng Face ID
    • Thiết bị đọc căn cước
    • IoT trong giáo dục
    • IoT trong quản lý năng lượng
    • IoT trong y tế
  • Đào tạo
    • Khóa đào tạo cơ bản
    • Khóa đào tạo nâng cao
    • Tài liệu
  • PCCC
  • Liên hệ
Zalo
Phone

Đăng nhập

Quên mật khẩu?