【STM32】UART和USART的區別

1、UART:universal asynchronous receiver and transmitter通用異步收發器;

2、USART:universal synchronous asynchronous receiver and transmitter通用同步異步收發器。

 

1、通用異步收發器

通用異步收發器是一種通用串行數據總線,用於異步通信。該總線雙向通信,可以實現全雙工傳輸和接收。在嵌入式設計中,UART用來與PC進行通信,包括與監控調試器和其它器件,如EEPROM通信。

UART首先將接收到的並行數據轉換成串行數據來傳輸。消息幀從一個低位起始位開始,後面是5~8個數據位,一個可用的奇偶位和一個或幾個高位停止位。

接收器發現開始位時它就知道數據準備發送,並嘗試與發送器時鐘頻率同步。如果選擇了奇偶,UART就在數據位後面加上奇偶位。奇偶位可用來幫助錯誤校驗。  

在接收過程中,UART從消息幀中去掉起始位和結束位,對進來的字節進行奇偶校驗,並將數據字節從串行轉換成並行。UART也產生額外的信號來指示發送和接收的狀態。例如,如果產生一個奇偶錯誤,UART就置位奇偶標誌。

2、通用同步異步串行接收/發送器:

USART是一個全雙工通用同步/異步串行收發模塊,該接口是一個高度靈活的串行通信設備。

USART收發模塊一般分爲三大部分:時鐘發生器、數據發送器和接收器。

1、時鐘發生器由同步邏輯電路(在同步從模式下由外部時鐘輸入驅動)和波特率發生器組成。發送時鐘引腳XCK僅用於同步發送模式下,

2、發送器部分由一個單獨的寫入緩衝器(發送UDR)、一個串行移位寄存器、校驗位發生器和用於處理不同楨結構的控制邏輯電路構成。使用寫入緩衝器,實現了連續發送多幀數據無延時的通信。

3、接收器是USART模塊最複雜的部分,最主要的是時鐘和數據接收單元。數據接收單元用作異步數據的接收。除了接收單元,接收器還包括校驗位校驗器、控制邏輯、移位寄存器和兩級接收緩衝器(接收UDR)。接收器支持與發送器相同的幀結構,同時支持幀錯誤、數據溢出和校驗錯誤的檢測。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章