Giao tiếp UART là gì

0
317
Uart là gì

Uart là gì

Video Uart là gì

UART hay Bộ thu phát không đồng bộ mục đích chung là một trong những hình thức giao tiếp kỹ thuật số giữa thiết bị với thiết bị lâu đời nhất và đơn giản nhất. Bạn có thể tìm thấy các thiết bị uart trong một phần của mạch tích hợp (ic) hoặc dưới dạng các thành phần riêng lẻ. uart giao tiếp giữa hai nút riêng biệt thông qua một cặp dây dẫn và một điểm chung.

giao tiep uart giua 2 arduino 1

hướng dẫn giao tiếp uart

vì nó là một cấu hình chung nên chúng ta có thể cấu hình uart để hoạt động với các loại giao thức nối tiếp khác nhau. uart đã được chuyển sang các ổ đĩa đơn chip vào đầu những năm 1970, bắt đầu với wd1402a của Western Digital.

trong sơ đồ giao tiếp uart:

  1. chân tx (truyền) của một chip được kết nối trực tiếp với chân rx (nhận) của chip kia và ngược lại. thông thường việc truyền tải sẽ được thực hiện ở mức 3,3v hoặc 5v. uart là giao thức một chủ, một phụ, trong đó một thiết bị được định cấu hình để chỉ giao tiếp với một thiết bị khác.
    1. dữ liệu được truyền đến và đi từ uart song song với thiết bị điều khiển (ví dụ: cpu).
      1. khi gửi trên chân tx, đầu tiên uart sẽ dịch thông tin song song này thành nối tiếp và truyền nó đến thiết bị nhận.
        1. uart thứ hai nhận dữ liệu này trên chân rx của nó và chuyển ngược lại thành song song để giao tiếp với thiết bị điều khiển của nó.
        2. uart truyền dữ liệu nối tiếp, ở một trong ba chế độ:

          – song công hoàn toàn: liên lạc đồng thời đến và đi từ mỗi chủ và nô lệ

          – bán song công: dữ liệu đi theo một hướng tại một thời điểm

          – đơn công: chỉ giao tiếp một chiều

          dữ liệu 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), một bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng.

          giao tiep uart giua 2 arduino 2

          khởi đầu

          Dòng dữ liệu uart thường được giữ ở điện áp cao khi không có dữ liệu nào được truyền đi. Để bắt đầu truyền dữ liệu, uart truyền sẽ kéo đường truyền từ cao xuống thấp trong một chu kỳ xung nhịp. khi uart nhận phát hiện sự chuyển đổi từ điện áp cao sang điện áp thấp, nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ truyền.

          khung dữ liệu

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

          bit chẵn lẻ

          Bit chẵn lẻ

          là một cách để 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. các bit có thể bị giả mạo bởi 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 đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 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 1 trong khung dữ liệu phải là một số chẵn. nếu bit chẵn lẻ là 1 (lẻ), số 1 trong khung dữ liệu cộng lại 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 là chẵn thì uart sẽ biết các bit trong khung dữ liệu đã thay đổi.

          dừng chút

          để báo hiệu kết thúc 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 sang điện áp cao trong ít nhất 2 bit.

          có thể được tóm tắt như sau. Việc truyền dữ liệu diễn ra dưới dạng các gói dữ liệu, bắt đầu bằng bit bắt đầu, đường cấp cao được nối đất. Sau bit bắt đầu, năm đến chín bit dữ liệu được truyền trong khung dữ liệu 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. cuối cùng, một hoặc nhiều bit dừng được truyền ở nơi đường dây được đặt ở mức cao. đây là phần cuối của một gói.

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

          mặc dù uart là một giao thức cũ và chỉ có thể giao tiếp giữa chủ và nô lệ, nhưng nó rất dễ cấu hình và cực kỳ linh hoạt. để bạn có thể tìm thấy 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 mà bạn sử dụng hàng ngày mà bạn không nhận ra.

          ưu và nhược điểm của uart

          không có giao thức truyền thông nào là hoàn hảo, nhưng uart thực hiện công việc của nó khá tốt. đây là một số ưu và nhược điểm để giúp bạn quyết định xem nó có phù hợp với nhu cầu của mình hay không:

          ưu điểm

          chỉ sử dụng hai chuỗi

          không cần tín hiệu đồng hồ

          có bit chẵn lẻ để cho phép 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 cấu hình để làm như vậy

          phương pháp này được ghi chép đầy đủ và được sử dụng rộng rãi

          bất lợi

          kích thước của khung dữ liệu được giới hạn tối đa là 9 bit

          không hỗ trợ nhiều hệ thống phụ hoặc nhiều hệ thống chính

          tốc độ truyền của mỗi uart phải nằm trong phạm vi 10% của nhau

LEAVE A REPLY

Please enter your comment!
Please enter your name here