3. Kỹ Thuật Nâng Cao: Truyền Tài Nguyên vào SubVI
Một vấn đề kinh điển trong thiết kế module là: làm thế nào để tạo một SubVI có thể làm việc với nhiều tài nguyên phần cứng khác nhau? Nếu không có kỹ thuật này, bạn sẽ phải tạo ra các SubVI gần như y hệt nhau như `Read_DIO0.vi`, `Read_DIO1.vi`,… gây lãng phí và khó bảo trì.
Giải pháp của LabVIEW FPGA là sử dụng “FPGA Name Controls”.
FPGA Name Control là gì?
Đây là một loại control đặc biệt, nó không chứa giá trị dữ liệu (như số hay boolean) mà chứa một tham chiếu (reference) đến một tài nguyên phần cứng đã được khai báo trong project (như I/O, Memory, FIFO, Clock). Nó hoạt động như một “con trỏ” đến tài nguyên phần cứng.
Các bước tạo một SubVI linh hoạt:
- Bước 1: Cấu hình bên trong SubVI
- Đặt một node truy cập tài nguyên (ví dụ: FPGA I/O Node) lên sơ đồ khối của SubVI.
- Nhấp chuột phải vào ngõ vào tham chiếu ở góc trên bên trái của node (ví dụ:
FPGA I/O In
).
- Từ menu ngữ cảnh, chọn
Create > Control
. LabVIEW sẽ tự động tạo ra một Name Control tương ứng trên Front Panel.
- Mở Front Panel, bạn sẽ thấy Name Control vừa được tạo. Mở bảng nối (Connector Pane) của SubVI và gán control này vào một chân đầu vào.
- Bước 2: Sử dụng bên ngoài VI chính
- Đặt SubVI vừa cấu hình lên sơ đồ khối của VI chính.
- Để chỉ định tài nguyên mà SubVI sẽ làm việc, bạn chỉ cần kéo thả trực tiếp tài nguyên đó từ cửa sổ Project Explorer (ví dụ: kéo thả I/O item `DIO0` hoặc `DIO5`) vào ngõ vào Name Control tương ứng trên biểu tượng của SubVI.
Phạm vi áp dụng: Kỹ thuật này hoạt động với hầu hết các tài nguyên FPGA, bao gồm: FPGA I/O, Memory Items, FIFO Items, Register Items, Handshake Items, và Clocks.
Với kỹ thuật này, bạn có thể tạo một SubVI duy nhất và tái sử dụng nó cho nhiều kênh I/O hoặc các khối bộ nhớ khác nhau, giúp mã nguồn trở nên cực kỳ module hóa, linh hoạt và chuyên nghiệp.