Bỏ qua tới nội dung
LSLab

UART truyền một byte qua hai chân như thế nào?

  • Cơ bản
  • Bài viết
  • Từ 14 tuổi
  • 4 phút đọc
Hai bo vi điều khiển nối với nhau qua dây jumper trên breadboard, máy hiện sóng ở phía sau.

UART là khối mạch thực hiện truyền thông nối tiếp không đồng bộ, nghĩa là dữ liệu được truyền mà không cần tín hiệu xung nhịp ngoài. Mỗi từ dữ liệu, thường là một byte, được đóng thành một khung bit, và hai thiết bị phải đồng ý với nhau về tốc độ baud. Đây là cách nhiều cảm biến và mô-đun nói chuyện với vi điều khiển.

Mục lục
Hai đường tín hiệu UART nối hai thiết bị, mỗi đường một chiều. Hình cũng cho thấy dây đất tham chiếu chung; kiểm tra mức logic tương thích.
  • Thiết bị thứ nhất
  • Thiết bị thứ hai
  • Đất tham chiếu chung

Bạn sẽ học được gì

Cần biết trước

Nên biết GPIO và mức cao, mức thấp của tín hiệu là gì.

UART nối hai thiết bị như thế nào?

Trong kết nối UART hai chiều thông thường, mỗi thiết bị dùng chân nhận RX và chân phát TX. Bộ thu phát không đồng bộ vạn năng (UART) là khối mạch chịu trách nhiệm thực hiện truyền thông nối tiếp.

Nhãn RX và TX tính theo chính thiết bị đó. Vì vậy RX của thiết bị này nên nối với TX của thiết bị kia, và ngược lại. Với kết nối mức logic trực tiếp, hai thiết bị cần chung tham chiếu đất và mức điện áp tương thích; xác nhận các điều kiện đó trước khi nối. Không đồng bộ nghĩa là dữ liệu được truyền mà không cần tín hiệu xung nhịp ngoài.

Chân phát của thiết bị này nối vào chân nhận của thiết bị kia. Hình cũng cho thấy dây đất tham chiếu chung; kiểm tra mức logic tương thích.
  • Thiết bị thứ nhất
  • Thiết bị thứ hai
  • Đường từ TX sang RX
  • Đường từ RX sang TX
  • Đất tham chiếu chung

Một byte được đóng khung ra sao?

Mỗi khối dữ liệu, thường là một byte, được gửi trong một gói hay khung bit. Khung có các bit đồng bộ bao quanh dữ liệu; một số cấu hình còn thêm bit chẵn lẻ tùy chọn.

Khung có một bit bắt đầu; các cấu hình phổ biến dùng một hoặc hai bit dừng.

Một bit bắt đầu, các bit dữ liệu, rồi bit dừng đưa đường về mức nghỉ.
  • Bit bắt đầu
  • Các bit dữ liệu
  • Bit dừng

Bit chẵn lẻ là một dạng kiểm tra lỗi mức thấp rất đơn giản. Nó là tùy chọn.

Tốc độ baud là gì?

Tốc độ baud cho biết dữ liệu được gửi nhanh đến đâu trên đường nối tiếp. Nghịch đảo tốc độ baud cho biết thời gian để truyền một bit.

Tốc độ baud càng cao thì dữ liệu gửi nhận càng nhanh, nhưng có giới hạn về tốc độ truyền.

Baud càng cao thì mỗi bit càng ngắn.
  • Baud thấp, bit dài
  • Baud cao, bit ngắn
  • Thời gian một bit dài
  • Thời gian một bit ngắn

Ví dụ trong đời sống

Hãy cùng người lớn nhìn một mô-đun cảm biến có bốn chân. Hai trong số đó thường là TX và RX. Khi nối với vi điều khiển, TX của mô-đun đi vào RX của vi điều khiển.

Hiểu lầm thường gặp

TX nối với TX là đúng. RX của thiết bị này nên nối với TX của thiết bị kia, và ngược lại.

Hai thiết bị tự biết tốc độ của nhau. Không có xung nhịp ngoài, nên hai bên phải thống nhất tốc độ baud và đúng cùng các thiết lập giao thức.

Nhiều thiết bị có thể dùng chung một đường TX. Trong cách nối UART điểm-điểm cơ bản, nếu nhiều thiết bị cùng phát trên một đường TX thì có thể xảy ra xung đột đường truyền.

Mô-đun mức logic cắm thẳng vào cổng nối tiếp nào cũng được. Không thể nối trực tiếp thiết bị nối tiếp mức TTL với đường RS-232; phải dịch mức tín hiệu.

Câu hỏi thường gặp

UART là gì?

UART là khối mạch thực hiện truyền thông nối tiếp.

Vì sao TX nối với RX?

Nhãn RX và TX tính theo chính thiết bị đó, nên chân phát của bên này đi vào chân nhận của bên kia.

Tốc độ baud là gì?

Tốc độ baud cho biết dữ liệu được gửi nhanh đến đâu trên đường nối tiếp.

Bit chẵn lẻ dùng để làm gì?

Đó là một dạng kiểm tra lỗi mức thấp rất đơn giản, và là tùy chọn.

Tóm tắt

  • UART thực hiện truyền thông nối tiếp không đồng bộ qua các đường tín hiệu RX và TX, nối chéo giữa hai thiết bị.
  • Mỗi từ dữ liệu, thường là một byte, được gửi trong một khung gồm bit bắt đầu, dữ liệu, bit dừng và có thể có bit chẵn lẻ.
  • Tốc độ baud cho biết dữ liệu gửi nhanh đến đâu, và nghịch đảo của nó là thời gian một bit.

Thuật ngữ trong bài

Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.

UARTUniversal asynchronous receiver/transmitter
Khối mạch thực hiện truyền thông nối tiếp không đồng bộ.
Chân TX và RXTX and RX pins
Chân phát (TX) và chân nhận (RX) của một thiết bị nối tiếp.
Không đồng bộAsynchronous
Truyền dữ liệu mà không cần tín hiệu xung nhịp ngoài.
Khung dữ liệuFrame
Gói bit có dữ liệu và các bit đồng bộ; một số cấu hình thêm bit chẵn lẻ tùy chọn.
Tốc độ baudBaud rate
Đại lượng cho biết dữ liệu được gửi nhanh đến đâu trên đường nối tiếp.
Bit chẵn lẻParity bit
Bit thêm vào khung để kiểm tra lỗi mức thấp rất đơn giản, không bắt buộc.

Bài này chưa được đánh dấu là đã xem

Thấy nội dung sai hoặc chưa an toàn?

Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.

Báo lỗi bài này
Xem tất cả bài của chủ đề

Nguồn

Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.