UART là gì? Nguyên lý hoạt động và ứng dụng thực tế

UART là một trong những giao thức truyền thông giữa thiết bị với thiết bị được sử dụng phổ biến nhất trong các ứng dụng điện tử hiện nay. Vậy khái niệm UART là gì? UART hoạt động như thế nào và ứng dụng thực tế của nó là gì? Hãy cùng KTH ELECTRIC tìm hiểu qua bài viết dưới đây.

UART là gì?

UART (Bộ thu-phát không đồng bộ phổ quát) là một giao thức truyền thông phần cứng sử dụng giao tiếp nối tiếp không đồng bộ ở tốc độ có thể định cấu hình. Không đồng bộ có nghĩa là không có tín hiệu đồng hồ để đồng bộ hóa đầu ra bit UART truyền và mẫu bit UART nhận. Thay vào đó, UART gửi thêm các bit bắt đầu và dừng cho gói được truyền. Các bit này xác định phần đầu và phần cuối của gói để UART biết khi nào bắt đầu đọc các bit này.

Bản chất không đồng bộ này là cơ sở của tính linh hoạt của UART vì các thiết bị có tốc độ xung nhịp khác nhau vẫn có thể giao tiếp hiệu quả.

Truyền thông dien-UART

Nói một cách đơn giản, giao tiếp UART có nghĩa là hai UART giao tiếp trực tiếp với nhau. UART truyền chuyển đổi dữ liệu song song từ một thiết bị điều khiển như CPU ​​thành dạng nối tiếp, gửi dữ liệu nối tiếp đến UART nhận, sau đó chuyển đổi dữ liệu nối tiếp trở lại thành dữ liệu song song để thiết bị nhận sử dụng.

Hai dây được mọi thiết bị UART sử dụng để truyền dữ liệu là:

  • Máy phát (Tx)
  • Bộ thu (Rx)

UART-voi-bus-travel-lieu

Dữ liệu được gửi và nhận qua các dòng này dưới dạng khung dữ liệu có cấu trúc tiêu chuẩn, với 1 bit bắt đầu, 1 bit dữ liệu, 1 bit chẵn lẻ và 1 hoặc nhiều bit dừng. Tốc độ truyền của UART được đặt thành các số tiêu chuẩn như 9600, 38400, 19200, 57600 bps, v.v. (được biểu thị bằng bps – bit trên giây). Tốc độ truyền giữa các UART truyền và nhận chỉ có thể khác nhau khoảng 10% trước khi thời gian bit khác nhau quá xa và cả hai UART cũng phải được cấu hình để truyền và nhận cùng một cấu trúc gói.

Xem thêm  Thanh cái đồng là gì? Ứng dụng của thanh cái đồng trong tủ điện

Giao tiếp UART được sử dụng rộng rãi trong các ứng dụng giao tiếp với các module như: Wifi, Bluetooth, Xbee, module đọc RFID với Raspberry Pi, Arduino hoặc các bộ vi điều khiển khác. Đây cũng là một tiêu chuẩn truyền thông phổ biến trong ngành.

UART hoạt động như thế nào

UART truyền dữ liệu nhận được từ Bus dữ liệu được gửi từ một thiết bị khác như CPU, bộ nhớ hoặc vi điều khiển. Dữ liệu này được truyền song song nên sau khi truyền và nhận dữ liệu tới UART, UART sẽ thêm bit start, bit parity và bit stop, tạo thành gói dữ liệu. Tiếp theo, gói được xuất ra từng bit một trên chân Tx. UART nhận và đọc gói tin từng bit một trên chân Rx. Sau đó, UART nhận sẽ chuyển đổi dữ liệu trở lại dạng song song và loại bỏ các bit bắt đầu, chẵn lẻ và dừng. Cuối cùng, UART nhận truyền gói song song với bus dữ liệu ở đầu nhận.

Giao thức truyền dữ liệu nối tiếp UART được triển khai ở một trong ba chế độ sau:

  • Song công hoàn toàn: Giao tiếp đồng thời giữa mỗi chủ và phụ.
  • Half-duplex: Dữ liệu được truyền theo một hướng tại một thời điểm.
  • Simplex: Chỉ giao tiếp một chiều.

Dữ liệu được truyền qua UART được tổ chức thành các gói. Mỗi gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng.

Một cuộc gọi đến UART

bit bắt đầu

bat-data-bit-uart

Các đường dữ liệu trong giao diện UART thường duy trì điện áp cao khi không truyền dữ liệu. Để bắt đầu truyền dữ liệu, UART gửi sẽ kéo đường truyền từ cao xuống thấp trong một chu kỳ đồng hồ. Khi UART nhận phát hiện sự chuyển đổi điện áp cao sang điện áp thấp, nó sẽ bắt đầu đọc các bit trong khung dữ liệu ở tần số tốc độ truyền.

Xem thêm  Cách đi dây Bảng điều khiển chính 600/347V, 1 pha & 3 pha

khung dữ liệu

flim douliouat

Khung dữ liệu chứa dữ liệu thực tế đang được truyền và có thể có độ dài từ 5 đến 8 bit nếu sử dụng các bit chẵn lẻ. Nếu các bit chẵn lẻ không được sử dụng thì khung dữ liệu có thể dài 9 bit. Trong hầu hết các trường hợp, dữ liệu được gửi bit LSB (bit ít quan trọng nhất) trước tiên.

bit chẵn lẻ

Jingzhan hợp pháp

Bit chẵn lẻ là cách để UART nhận cho biết liệu dữ liệu có thay đổi trong quá trình truyền hay không. Các bit có thể thay đổi do bức xạ điện từ, tốc độ truyền không khớp hoặc truyền dữ liệu đường dài.

Sau khi UART nhận và đọc khung dữ liệu, nó đếm số bit có giá trị 1 và kiểm tra xem tổng số đó là chẵn hay lẻ. Nếu bit chẵn lẻ là 0 (chẵn) thì tổng của các bit 1 trong khung dữ liệu phải là số chẵn. Nếu bit chẵn lẻ là 1 (lẻ) thì tổng các bit 1 trong khung dữ liệu sẽ là số lẻ.

Khi bit chẵn lẻ khớp với dữ liệu, UART biết quá trình truyền không có lỗi. Nhưng nếu bit chẵn lẻ là 0 và tổng là số lẻ; hoặc nếu bit chẵn lẻ là 1 và tổng là số chẵn thì UART sẽ biết rằng các bit trong khung dữ liệu đã thay đổi.

Dừng chút

Kể chuyện UART-1

Để báo hiệu sự kết thúc của gói, UART gửi điều khiển đường dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất hai khoảng thời gian bit.

Các bước truyền UART

Bước một: UART truyền dữ liệu song song với bus dữ liệu.

Kabuktruyyannut

Bước 2: UART truyền dữ liệu thêm bit bắt đầu, bit chẵn lẻ và bit dừng vào khung dữ liệu.

Kabuktruyyanut

Bước 3: Toàn bộ gói dữ liệu được gửi tuần tự từ UART gửi đến UART nhận, bắt đầu từ bit bắt đầu đến bit dừng. UART nhận lấy mẫu dòng dữ liệu ở tốc độ truyền được cấu hình sẵn.

Kabuktruyyanut

Bước 4: UART nhận sẽ loại bỏ bit bắt đầu, bit chẵn lẻ và bit dừng khỏi khung dữ liệu.

Kabuktruyyanut

Bước 5: UART nhận sẽ chuyển đổi dữ liệu nối tiếp trở lại dữ liệu song song và chuyển nó sang bus dữ liệu ở đầu nhận.

Kabuktruyyanut

Ưu điểm và nhược điểm của giao tiếp UART

Thuận lợi thiếu sót
Chỉ cần sử dụng 2 đường truyền dữ liệu Kích thước của khung dữ liệu bị giới hạn tối đa là 9 bit, khá nhỏ so với yêu cầu sử dụng
Không cần tín hiệu đồng hồ Không hỗ trợ nhiều hệ thống chủ-nô lệ
Có 2 bit chẵn lẻ nên có thể dễ dàng kiểm tra lỗi Tốc độ truyền của mỗi giao diện UART chỉ có thể chênh lệch khoảng 10%.
Cấu trúc gói có thể được thay đổi miễn là hai UART được thiết lập để liên lạc với nhau.
Xem thêm  Cách đi dây Bảng điều khiển chính 600/347V, 1 pha & 3 pha

Ứng dụng cổng nối tiếp

UART được sử dụng rộng rãi trong các ứng dụng điện tử để truyền dữ liệu giữa máy tính, bộ vi điều khiển, cảm biến và các thiết bị khác.

Urut

Giao tiếp giữa bộ vi xử lý và các thiết bị ngoại vi

UART được sử dụng để giao tiếp giữa bộ vi xử lý và các thiết bị ngoại vi như màn hình LCD, cảm biến, máy in, máy quét mã vạch, v.v., giúp bộ vi xử lý truy cập và điều khiển các chức năng của các thiết bị ngoại vi.

Kết nối máy tính của bạn với các thiết bị ngoại vi

Trong một số trường hợp, UART còn được dùng để kết nối máy tính với các thiết bị ngoại vi thông qua cổng nối tiếp trên máy tính hoặc qua bộ chuyển đổi USB sang UART, cho phép máy tính giao tiếp với các thiết bị ngoại vi, như: mạch Arduino, mạch phát triển, mạch Raspberry Pi,…

Truyền dữ liệu không dây

UART hiện được sử dụng rộng rãi trong các mô-đun Bluetooth và Wifi để truyền dữ liệu không dây giữa các thiết bị. Trong trường hợp này, dữ liệu được truyền qua sóng vô tuyến hoặc sóng vô tuyến.

Hệ thống đo lường

UART được sử dụng để kết nối thiết bị đo với các thiết bị khác. Dữ liệu về các thông số đo được gửi qua UART và thiết bị nhận có thể hiển thị hoặc xử lý thêm dữ liệu.

Điều khiển robot

Các thiết bị như bộ điều khiển và mô-đun điều khiển robot có thể gửi và nhận dữ liệu với nhau bằng giao thức UART.

Mặc dù đã xuất hiện nhiều phương thức truyền thông mới, hiện đại hơn và nhanh hơn nhưng tính đơn giản, linh hoạt và hiệu quả của giao tiếp UART là không thể phủ nhận. Đây là lý do chính khiến UART là lựa chọn hàng đầu cho nhiều ứng dụng điện tử.

Hy vọng những kiến ​​thức chúng tôi thu thập được về UART đã giúp các bạn có cái nhìn tổng quan về phương thức giao tiếp này. Các kiến ​​thức khác liên quan đến ngành điện các bạn có thể tìm hiểu tại website sau: https://etinco.vn/tin-tuc/kien-thuc/

Nội dung được phát triển bởi đội ngũ truongchuvananhue.edu.vn với mục đích chia sẻ và tăng trải nghiệm khách hàng. Mọi ý kiến đóng góp xin vui lòng liên hệ tổng đài chăm sóc: 1900 0000 hoặc email: hotro@truongchuvananhue.edu.vn

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

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 *