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 5: Tương Tác Với Thế Giới Thực – Sử Dụng FPGA I/O

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

 

Nếu như các bài học trước giúp bạn xây dựng “bộ não” số bên trong chip, thì bài học này sẽ hướng dẫn bạn cách tạo ra “giác quan” và “chân tay” cho bộ não đó. Chúng ta sẽ khám phá cách đọc tín hiệu từ cảm biến và cách điều khiển các thiết bị bên ngoài thông qua FPGA I/O (Input/Output).

 

Quy Trình 3 Bước Làm Việc với I/O

Làm việc với I/O trên FPGA luôn tuân theo một quy trình 3 bước rõ ràng. Việc nắm vững quy trình này sẽ giúp bạn tránh được những lỗi phổ biến và quản lý tài nguyên phần cứng một cách hiệu quả.

1️⃣

Khai Báo trong Project

Đầu tiên, bạn phải “đăng ký” cổng I/O vật lý mà bạn muốn sử dụng vào trong LabVIEW Project. Đây là bước để project nhận diện và quản lý tài nguyên.

2️⃣

Cấu Hình Thuộc Tính

Sau khi khai báo, bạn có thể cần cấu hình các thuộc tính nâng cao cho I/O, ví dụ như chế độ hoạt động, các tùy chọn về arbitration (sẽ học sau)…

3️⃣

Sử Dụng trên Sơ Đồ Khối

Cuối cùng, bạn kéo I/O đã khai báo vào sơ đồ khối (Block Diagram) của VI FPGA thông qua một node đặc biệt gọi là FPGA I/O Node.

Chi Tiết Bước 1 & 2: Tạo và Cấu Hình FPGA I/O Item

Một “FPGA I/O Item” là một đối tượng trong project đại diện cho một cổng vật lý (như một chân DIO, một kênh AI). Đây là cách tạo ra nó:

  1. Trong cửa sổ Project Explorer, nhấp chuột phải vào **FPGA Target** của bạn.
  2. Chọn New > FPGA I/O.
  3. Hộp thoại “New FPGA I/O” sẽ xuất hiện, liệt kê tất cả các tài nguyên I/O có sẵn trên phần cứng của bạn, được sắp xếp theo module hoặc loại.
  4. Chọn một hoặc nhiều tài nguyên bạn muốn sử dụng (ví dụ: Mod1/DIO0, Mod2/AI1) và nhấn nút **Add**.
  5. Tài nguyên được chọn sẽ xuất hiện ở bảng bên phải. Tại đây, bạn có thể **đặt lại tên** cho I/O Item để dễ nhớ và dễ quản lý hơn (ví dụ: đổi “DIO0” thành “Limit_Switch_Input”).
  6. Nhấn **OK**. Các I/O Item mới sẽ xuất hiện bên dưới FPGA Target trong project của bạn.

Mẹo: Việc đặt tên có ý nghĩa cho I/O Item là một thói quen rất tốt. Thay vì nhớ rằng “DIO5” là đèn báo lỗi, hãy đặt tên nó là “Error_LED_Output”. Điều này làm cho mã của bạn dễ đọc và dễ bảo trì hơn rất nhiều.

Chi Tiết Bước 3: Sử Dụng FPGA I/O Node

FPGA I/O Node là hàm duy nhất trên sơ đồ khối cho phép bạn đọc và ghi dữ liệu từ các I/O Item đã khai báo. Nó hoạt động như một cổng trung gian giữa logic lập trình của bạn và thế giới vật lý.

Cách sử dụng:

  • Cách nhanh nhất: Kéo trực tiếp một I/O Item (ví dụ: “Limit_Switch_Input”) từ Project Explorer vào sơ đồ khối. LabVIEW sẽ tự động tạo một FPGA I/O Node đã được cấu hình sẵn cho I/O đó.
  • Cách thủ công: Đặt một FPGA I/O Node trống từ bảng Functions Palette. Sau đó, nhấp vào bên trong node để chọn I/O Item từ danh sách thả xuống.
  • Thêm nhiều I/O: Bạn có thể kéo dãn một I/O Node để thêm nhiều terminal, cho phép đọc/ghi nhiều cổng I/O cùng một lúc trong một node duy nhất, giúp tiết kiệm không gian.
  • Đổi chiều Đọc/Ghi: Nhấp chuột phải vào một terminal trong I/O Node và chọn Change to Write hoặc Change to Read để thay đổi chức năng của nó.

Phân Loại và Tìm Hiểu Sâu về I/O

FPGA I/O được chia thành hai họ chính: Digital (Kỹ thuật số) và Analog (Tương tự).

A. Digital I/O (DIO)

Hoạt động với hai mức logic: CAO (TRUE, 1) và THẤP (FALSE, 0). DIO được dùng để đọc trạng thái công tắc, điều khiển relay, gửi/nhận tín hiệu giao tiếp số…

  • Digital Input: Chỉ dùng để đọc trạng thái của một tín hiệu bên ngoài.
  • Digital Output: Chỉ dùng để xuất ra một tín hiệu CAO hoặc THẤP để điều khiển thiết bị khác.
  • Digital Input/Output (Tristate/Bidirectional): Đây là loại cổng linh hoạt nhất. Nó có thể hoạt động như một Input hoặc một Output. Trạng thái của nó được điều khiển bởi một tín hiệu đặc biệt gọi là Output Enable.
    • Khi Output Enable là TRUE, cổng trở thành Output.
    • Khi Output Enable là FALSE, cổng trở thành Input (ở trạng thái trở kháng cao – high impedance).

B. Analog I/O (AI/AO)

Hoạt động với một dải giá trị liên tục, thường là điện áp (ví dụ: từ -10V đến +10V). Được dùng để đọc giá trị từ cảm biến nhiệt độ, áp suất, hoặc xuất tín hiệu để điều khiển động cơ servo…

  • Analog Input (AI): Khi bạn đọc một kênh AI, bộ chuyển đổi ADC (Analog-to-Digital Converter) trên phần cứng sẽ lấy mẫu điện áp và chuyển nó thành một **số nguyên có dấu (signed integer)**.

    Ví dụ: Với thiết bị NI PXI-7831R có dải điện áp ±10V và ADC 16-bit, giá trị số bạn nhận được (gọi là `Binary Code`) sẽ nằm trong khoảng -32768 đến 32767. Công thức chuyển đổi ngược lại là: `Điện áp = (Binary Code / 32768) * 10.0V`. Việc chuyển đổi này thường được thực hiện trên Host VI.

  • Analog Output (AO): Ngược lại, để xuất ra một mức điện áp, bạn cần ghi một **số nguyên** vào kênh AO. Bộ chuyển đổi DAC (Digital-to-Analog Converter) sẽ tạo ra mức điện áp tương ứng.

    Ví dụ: Cũng với thiết bị trên, để xuất ra điện áp 5V, bạn phải tính toán và ghi giá trị số nguyên: `Binary Code = (5.0V * 32768) / 10.0V = 16384` vào I/O Node.


Kết luận

Bạn đã nắm vững cách làm việc với FPGA I/O – cây cầu nối giữa logic số mạnh mẽ của FPGA và thế giới vật lý bên ngoài. Hiểu rõ quy trình và sự khác biệt giữa các loại I/O là nền tảng vững chắc để bạn bắt đầu xây dựng các ứng dụng đo lường và điều khiển thực tế.

 

 

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 4: Tạo VI FPGA Đầu Tiên & Những Giới Hạn Cần Biết
ASRock Industrial iEP-6010E: Nền Tảng Điện Toán AI Tại Biên Tối Ưu Hóa Vận Hành Nhà Máy

1 những suy nghĩ trên “Bài 5: Tương Tác Với Thế Giới Thực – Sử Dụng FPGA I/O”

  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?