127 lượt xem

Giao tiếp UART là gì? Cách thức hoạt động, ưu nhược điểm và các ứng dụng

Giao tiếp UART dùng để truyền thông giữa các thiết bị và được sử dụng rất phổ biến. UART được ứng dụng trong các bộ giao tiếp với các module như Bluetooth, Wifi, RFID,… Trong bài viết này sẽ trình bày chi tiết về cách thức hoạt động của giao tiếp UART, hãy tham khảo nhé.

Giao tiếp UART là gì?

Để các thiết bị điện tử giao tiếp được với nhau thì chúng cần sử dụng các giao thức. Những giao thức này được thiết kế theo nhiều cách khác nhau dựa trên đặc điểm riêng biệt của từng hệ thống. Thiết bị sẽ tuân theo quy tắc cụ thể đã được thống nhất để dữ liệu được truyền thành công.

Giao tiếp UART là gì?
Giao tiếp UART là gì?

Hiện nay, hầu hết các vi điều khiển, máy tính hay hệ thống nhúng đều sử dụng UART như là một giao thức giao tiếp giữa thiết bị và thiết bị. Giao thức này sử dụng hai dây cho bên nhận và bên truyền.

Theo định nghĩa, UART (Universal Asynchronous Receiver-Transmitter – Bộ truyền nhận dữ liệu không đồng bộ) là một giao thức truyền thông phần cứng dùng giao tiếp nối tiếp không đồng bộ và có thể cấu hình được tốc độ. Vì sao được gọi là không đồng bộ? Bởi giao thức này không có tín hiệu xung clock để đồng bộ các bit đầu ra từ đầu vào.

Trong giao tiếp UART, 2 UART sẽ giao tiếp trực tiếp với nhau. Dữ liệu song song sẽ được chuyển thành dạng nối tiếp đến UART nhận. Sau đó, dữ liệu nối tiếp lại được chuyển thành song song ở bên nhận.

Cách thức hoạt động của UART

Chúng ta có thể định cấu hình UART để hoạt động với nhiều loại giao thức nối tiếp khác nhau. UART đã được điều chỉnh thành các đơn vị chip đơn vào đầu những năm 1970, bắt đầu với Western Digital WD1402A.

Xem thêm  Những điều cần biết về du lịch MICE & sự phát triển du lịch MICE ở Việt Nam
Cách thức hoạt động của UART
Cách thức hoạt động của UART

UART truyền dữ liệu nối tiếp, theo một trong ba chế độ:

  • Simplex: Chỉ giao tiếp một chiều
  • Half duplex: Dữ liệu đi theo một hướng tại một thời điểm
  • Full duplex: Giao tiếp đồng thời đến và đi từ mỗi master và slave

Trong một sơ đồ giao tiếp UART:

Chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia và ngược lại. Quá trình truyền thường sẽ diễn ra ở 3.3V hoặc 5V. UART là một giao thức giữa một master và một slave. Trong đó một thiết bị được thiết lập để giao tiếp với chỉ một thiết bị khác.

Dữ liệu truyền đến và đi từ UART song song với thiết bị điều khiển. Khi tín hiệu gửi trên chân Tx, UART đầu tiên sẽ dịch thông tin song song này thành nối tiếp và truyền đến thiết bị nhận. Chân Rx của UART thứ 2 sẽ biến đổi nó trở lại thành song song để giao tiếp với thiết bị điều khiển.

Dữ liệu truyền qua UART đóng thành các gói (packet). 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), 1 bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng. Gói dữ liệu được mô tả như hình bên dưới.

Bit bắt đầu

Đường truyền dữ liệu UART thường ở mức điện áp cao
Đường truyền dữ liệu UART thường ở mức điện áp cao

Đường truyền dữ liệu UART thường ở mức điện áp cao khi không truyền dữ liệu. Để bắt đầu truyền dữ liệu, UART truyền sẽ chuyển đường truyền từ mức cao xuống mức thấp trong một chu kỳ clock. Khi đó, nó bắt đầu đọc các bit trong khung dữ liệu theo tần số của tốc độ truyền.

Khung dữ liệu

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

Xem thêm  Gỡ rối cách sử dụng từ Overtime và Over time trong tiếng Anh dễ dàng nhất!

Bit chẵn lẻ

Bit chẵn lẻ sẽ là phương án giúp UART nhận cho biết liệu có bất kỳ dữ liệu nào đã thay đổi trong quá trình truyền hay không. Bit có thể bị thay đổi bởi bức xạ điện từ, tốc độ truyền không khớp hoặc truyền dữ liệu khoảng cách xa. Sau khi UART nhận đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1 và kiểm tra xem tổng số là số chẵn hay lẻ.

Nếu bit chẵn lẻ là 0 (tính chẵn), thì tổng các bit 1 trong khung dữ liệu phải là một số chẵn. Nếu bit chẵn lẻ là 1 (tính lẻ), các bit 1 trong khung dữ liệu sẽ tổng thành một số lẻ. Khi bit chẵn lẻ khớp với dữ liệu, UART sẽ biết rằng 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 bit chẵn lẻ là 1 và tổng số là chẵn, UART sẽ biết rằng các bit trong khung dữ liệu đã thay đổi.

Bit dừng

Bit dừng trong giao tiếp UART
Bit dừng trong giao tiếp UART

Có ý nghĩa là thông báo kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất khoảng 2 bit.

Như vậy, quá trình truyền dữ liệu của UART diễn ra dưới dạng các gói dữ liệu, bắt đầu bằng một bit bắt đầu, đường mức cao được kéo xuống thấp. Sau bit bắt đầu là 5 đến 9 bit dữ liệu truyền trong khung dữ liệu của gói, theo sau là bit chẵn lẻ tùy chọn để xác minh việc truyền dữ liệu thích hợp. Sau cùng, một hoặc nhiều bit dừng được truyền ở nơi đường đặt ở mức cao. Như vậy là kết thúc một gói dữ liệu được truyền đi.

UART là giao thức không đồng bộ nên không có xung clock để điều chỉnh tốc độ truyền dữ liệu. Người dùng sẽ phải đặt cả hai thiết bị giao tiếp ở cùng một tốc độ và được gọi là tốc độ truyền, được biểu thị bằng bit/giây hoặc bps. Tốc độ truyền thường nằm trong khoảng từ 9600 đến 115200 và hơn nữa. Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng 10% trước khi thời gian của các bit bị lệch quá xa.

Xem thêm  Làm chết êm dịu (Euthanasia) và kinh nghiệm về cái chết trong bệnh viện

Mặc dù UART là giao thức cũ, giao tiếp giữa một master và slave duy nhất, nhưng lại dễ thiết lập và cực kỳ linh hoạt. Do đó, bạn có thể gặp nó khi làm việc với các dự án vi điều khiển. UART có thể là một phần của hệ thống trong các thiết bị mà bạn sử dụng hàng ngày.

Những ưu điểm và nhược điểm của UART

Dưới đây là một số ưu điểm và nhược điểm của UART

Những ưu điểm và nhược điểm của UART
Những ưu điểm và nhược điểm của UART

Ưu điểm của UART

  • Chỉ sử dụng hai dây truyền dữ liệu
  • Không cần tín hiệu clock
  • Có một bit chẵn lẻ nên có thể kiểm tra lỗi
  • Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên đều được thiết lập để giao tiếp với nhau
  • Phương pháp UART có nhiều tài liệu hướng dẫn và được sử dụng rộng rãi

Nhược điểm của UART

  • Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit nên khá nhỏ so với nhu cầu hiện nay
  • Không hỗ trợ nhiều hệ thống master và slave
  • Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau

Ứng dụng của UART

Ứng dụng của UART
Ứng dụng của UART

UART thường được ứng dụng trong các bộ vi điều khiển cho các yêu cầu chính xác. UART cũng được dùng trong các thiết bị liên lạc khác nhau như giao tiếp không dây, thiết bị GPS, Bluetooth và nhiều ứng dụng khác.

Các tiêu chuẩn truyền thông như RS422 & TIA được sử dụng trong UART ngoại trừ RS232. Thông thường, UART là một IC riêng được sử dụng trong giao tiếp nối tiếp UART.

Trên đây là những thông tin cơ bản về giao tiếp UART, mong rằng bài viết đã đem lại cho bạn những kiến thức bổ ích.

Chào mừng bạn đến với PRAIM, - nền tảng thông tin, hướng dẫn và kiến thức toàn diện hàng đầu! Chúng tôi cam kết mang đến cho bạn một trải nghiệm sâu sắc và tuyệt vời về kiến thức và cuộc sống. Với Praim, bạn sẽ luôn được cập nhật với những xu hướng, tin tức và kiến thức mới nhất.