Khám Phá UART

Cánh Cửa Đến Với Giao Tiếp Nối Tiếp

UART là gì?

Viết tắt của Universal Asynchronous Receiver/Transmitter, UART là một phương thức giao tiếp nối tiếp, truyền từng bit dữ liệu giữa vi điều khiển và các thiết bị khác.

Nó là nền tảng cho nhiều chuẩn giao tiếp quen thuộc như USB và RS232, giúp các thiết bị "trò chuyện" với nhau một cách hiệu quả.

2
Dây Tín Hiệu

Chỉ cần TX (truyền) và RX (nhận) để hoạt động.

↔️
Linh Hoạt

Hiệu quả cho cả giao tiếp ngắn và đường dài.

"Ngôn Ngữ" Chung Của UART

Để hai thiết bị giao tiếp thành công, chúng phải được cấu hình hoàn toàn giống nhau với 4 thông số cốt lõi sau:

⚡️

Tốc Độ Baud

Tốc độ truyền dữ liệu, tính bằng bit mỗi giây (bps). Phổ biến: 9600, 115200.

🔢

Bit Dữ Liệu

Số bit trong một gói tin. Hầu hết các ứng dụng đều dùng 8 bit.

🛑

Bit Dừng

Báo hiệu kết thúc một gói tin. Thường là 1 hoặc 2 bit.

Parity Bit

Bit tùy chọn, dùng để kiểm tra lỗi truyền dữ liệu đơn giản.

Các Chế Độ Hoạt Động

Simplex (Đơn công): Dữ liệu chỉ đi theo một chiều (A → B).

Half-Duplex (Bán song công): Dữ liệu đi hai chiều nhưng không đồng thời (A ↔ B, lần lượt).

Full-Duplex (Song công): Dữ liệu đi hai chiều cùng một lúc. Đây là chế độ mặc định và mạnh mẽ nhất của UART.

Cấu Trúc Một Khung Dữ Liệu UART

Mỗi khi gửi dữ liệu, UART sẽ đóng gói các bit thành một "khung" (frame) theo một cấu trúc chuẩn để bên nhận có thể hiểu được.

Idle
1
Trạng thái nghỉ
Start Bit
0
Báo hiệu bắt đầu
Data Bits
...
5-8 bits dữ liệu
Parity
?
(Tùy chọn)
Stop Bit
1
Báo hiệu kết thúc

So Sánh Nhanh Các Giao Thức Nối Tiếp

Giao tiếp Chế độ Chiều truyền Ghi chú
UART Full-duplex 2 chiều độc lập (TX/RX) Truyền và nhận đồng thời qua 2 dây.
I2C Half-duplex 2 chiều, không đồng thời Dùng chung 1 dây dữ liệu (SDA).
SPI Full-duplex 2 chiều đồng thời (MOSI/MISO) Gửi và nhận cùng lúc.