匯流排協議系列——USART協議初探

Johnson-Hugo發表於2024-10-29

前言

概述

USART全名Universal Synchronous/Asynchronous Receiver/Transmitter,也即通用同步/非同步序列接收/傳送器。是一種非同步全雙工點對點匯流排架構,其總共需要TX傳輸線、RX接收線和GND共地線。如果兩個USART硬體沒有自主供電VCC,還需要VCC線

電路特性

USART匯流排採用推輓輸出模式,因為其為非同步傳輸模式,也即不存在時鐘線,對傳輸的控制主要由波特率來實現。對於USART來說,資料線的接法就是TX與RX相連,因為雙方都存在TX與RX匯流排,所以可以實現全雙工的通訊方式

USART匯流排的電平採用TTL電平,其0和1的確定由資料線上電平與共地線電壓差的值所確定。

通訊過程

USART通訊幀格式

USART在傳輸資料時以幀為單位,一幀通常為10bit或11bit,如下圖所示:

這張圖直觀展示了一個幀的基礎結構,由起始位+資料位+校驗位(可選項)+終止位組成。由於USART為低電平有效,所以一幀的開始是資料線上的電平由高電平轉向低電平產生一個下降沿作為標誌,之後便是8位或9位的資料傳輸,須知USART的資料傳輸採用低位有限的方式,先傳輸資料低位再傳輸高位。在傳輸的末尾可以新增校驗位,諸如奇偶校驗、CRC迴圈冗餘校驗等。最後便是停止位,資料線拉高至高電平,表示一次傳輸完成。同時終止位的拉高至高電平也是為了下一次的傳輸做準備,這樣當下一次傳輸時在開頭可以產生一個下降沿。

資料傳輸

USART的整個資料傳輸過程就以上述介紹的幀格式為基礎,在每一幀內放入需要傳輸的資料,TX向資料線上傳輸資料,RX從資料線上讀取資料。這個過程的時序確定由USART雙方協商的波特率確定。

相關文章