天天看點

基礎——UART和USART1. 是什麼?UART:USART:2. 簡單介紹3. 主要不同

1. 是什麼?

UART:

  通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),是一種異步收發傳輸器,是電腦硬體的一部分。

USART:

通用同步/異步串行接收/發送器(Universal Synchronous/Asynchronous Receiver/Transmitter),是一種全雙工通用同步/異步串行收發子產品,該接口是一個高度靈活的串行通信裝置。

2. 簡單介紹

2.1 UART

在嵌入式設計中,UART用來與PC進行通信,包括與監控調試器和其它器件,如EEPROM通信。

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

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

在接收過程中,UART從消息幀中去掉起始位和結束位,對進來的位元組進行奇偶校驗,并将資料位元組從串行轉換成并行。UART也産生額外的信号來訓示發送和接收的狀态。例如,如果産生一個奇偶錯誤,UART就置位奇偶标志。

2.2 USART

  USART收發子產品一般分為三大部分:時鐘發生器、資料發送器和接收器。控制寄存器為所有的子產品共享。

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

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

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

3. 主要不同

一般而言,單片機中,名稱為UART的接口一般隻能用于異步串行通訊,而名稱為USART的接口既可以用于同步串行通訊,也能用于異步串行通訊。

USART用于異步通信與UART沒什麼差别,而對于同步通信,USART需要同步始終信号USART_CK(STM32的USART可以提供時鐘支援ISO7816的智能卡接口),通常情況同步信号很少使用,是以一般的單片機UART和USART使用方式是一樣的,都使用異步模式。 

繼續閱讀