UART:(Universal Asynchronous Receiver/Transmitter)通用異步收發(fā)傳輸器,是一種異步收發(fā)傳輸器,是電腦硬件的一部分。它將要傳輸?shù)馁Y料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號轉(zhuǎn)成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連結(jié)上。
用于異步通信。該總線雙向通信,可以實現(xiàn)全雙工傳輸和接收。在嵌入式設(shè)計中,UART用于主機與輔助設(shè)備通信,如汽車音響與外接AP之間的通信,與PC機通信包括與監(jiān)控調(diào)試器和其它器件,如EEPROM通信。
具體實物表現(xiàn)為獨立的模塊化芯片,或作為集成于微處理器中的周邊設(shè)備。一般是RS-232C規(guī)格的,與類似Maxim的MAX232之類的標準信號幅度變換芯片進行搭配,作為連接外部設(shè)備的接口。
USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/異步串行接收/發(fā)送器USART是一個全雙工通用同步/異步串行收發(fā)模塊,該接口是一個高度靈活的串行通信設(shè)備。
USART收發(fā)模塊一般分為三大部分:時鐘發(fā)生器、數(shù)據(jù)發(fā)送器和接收器??刂萍拇嫫鳛樗械哪K共享。
時鐘發(fā)生器由同步邏輯電路(在同步從模式下由外部時鐘輸入驅(qū)動)和波特率發(fā)生器組成。發(fā)送時鐘引腳XCK僅用于同步發(fā)送模式下,
發(fā)送器部分由一個單獨的寫入緩沖器(發(fā)送UDR)、一個串行移位寄存器、校驗位發(fā)生器和用于處理不同楨結(jié)構(gòu)的控制邏輯電路構(gòu)成。使用寫入緩沖器,實現(xiàn)了連續(xù)發(fā)送多幀數(shù)據(jù)無延時的通信。
接收器是USART模塊最復(fù)雜的部分,最主要的是時鐘和數(shù)據(jù)接收單元。數(shù)據(jù)接收單元用作異步數(shù)據(jù)的接收。除了接收單元,接收器還包括校驗位校驗器、控制邏輯、移位寄存器和兩級接收緩沖器(接收UDR)。接收器支持與發(fā)送器相同的幀結(jié)構(gòu),同時支持幀錯誤、數(shù)據(jù)溢出和校驗錯誤的檢測。
UART和USART都是單片機上的通用串口。
USART在UART基礎(chǔ)上增加了同步功能,即USART是UART的增強型。
其實當我們在異步通信的時候,USART與UART沒有什么區(qū)別。
但是用在同步通信的時候,區(qū)別就很明顯了:大家都知道同步通信需要時鐘來觸發(fā)數(shù)據(jù)傳輸,也就是說USART相對UART的區(qū)別之一就是能提供主動時鐘。