您是否曾使用過UART這個術語,只是由另一位工程師糾正它不是UART而是USART?在某些情況下,這些術語的可互換性可能是適當的,但在許多情況下它是錯誤的。讓我們來看看USART和UART是什么,并討論主要區(qū)別。
大多數嵌入式工程師都熟悉UART:通用異步接收器/發(fā)送器。它是一個微控制器外設,可將輸入和輸出的數據字節(jié)轉換為串行位流。起始位啟動串行位流,停止位(或兩個)完成數據字。 UART還可以選擇向流添加奇偶校驗位,以幫助檢測傳輸期間是否發(fā)生位錯誤。圖1顯示了工程師期望通過UART傳輸的數據的標準示例。
圖1 - UART串行數據
USART - 通用同步/異步接收器/發(fā)送器 - 是一種微控制器外設,可將輸入和輸出的數據字節(jié)轉換為串行比特流。嗯。 USART的定義與UART的定義相同,但術語中添加了“同步”。當然還有一些更有意義的差異?否則,USART就會被稱為UART。
嗯,有差異 - 重要的。 USART和UART之間的第一個區(qū)別是可以為串行數據提供時鐘的方式。 UART在內部向微控制器生成其數據時鐘,并通過使用起始位轉換將該時鐘與數據流同步。沒有與數據相關的輸入時鐘信號,因此為了正確接收數據流,接收器需要提前知道波特率應該是什么。
另一方面,USART可以設置為以同步模式運行。在此模式下,發(fā)送外設將生成一個時鐘,接收外設可以從數據流中恢復,而無需提前知道波特率?;蛘撸溌穼⑹褂猛耆毩⒌木€路來承載時鐘信號。使用外部時鐘可使USART的數據速率遠高于標準UART的數據速率,最高可達4 Mbps。
USART和UART之間的第二個主要區(qū)別是外設可以支持的協議數量。 UART很簡單,只提供其基本格式的一些選項,例如停止位數和偶數或奇數奇偶校驗。 USART更復雜,可以以與許多不同標準協議相對應的形式生成數據,例如IrDA,LIN,智能卡,RS-485接口的驅動程序啟用和Modbus等。 USART也具有與UART相同的異步功能,也就是說,USART可以生成與圖1所示相同類型的串行數據。
USART和UART外設具有明顯不同的功能,可以使用在不同的情況下,開發(fā)人員可以在標準微控制器上找到兩個外圍設備。例如,采用針對低功耗設計的微控制器,例如STM32系列。 STM32器件具有片上USART和UART外設。 USART意味著在“高”能耗期間進行所有“繁重的”串行通信。但是,當微控制器處于睡眠狀態(tài)且處于低功耗模式時,UART外設可以處理低速通信,同時降低能耗。
USART和UART是否相同?從技術上講,答案是否定的。 USART通常具有更多功能,標準UART和生成時鐘數據的能力允許USART以遠低于UART功能的波特率運行。 USART確實包含了UART的功能,并且在許多應用中,盡管具有USART的強大功能,開發(fā)人員將它們用作簡單的UART,忽略或避免這些強大外設的同步時鐘生成功能。難怪有這么多人使用這些術語,就像它們是同義詞一樣。
-
uart
+關注
關注
22文章
1235瀏覽量
101354 -
USART
+關注
關注
1文章
195瀏覽量
30835 -
PCB打樣
+關注
關注
17文章
2968瀏覽量
21695 -
華強PCB
+關注
關注
8文章
1831瀏覽量
27748 -
華強pcb線路板打樣
+關注
關注
5文章
14629瀏覽量
43031
發(fā)布評論請先 登錄
相關推薦
評論