1. gzyueqian
      13352868059

      嵌入式開發:USART與UART——了解區別

      更新時間: 2022-09-15 10:01:08來源: 粵嵌教育瀏覽量:9699

        你是否曾經使用過UART這個術語,卻被另一個嵌入式開發工程師糾正說它不是UART而是USART?在某些情況下,這些術語可以互換,但在許多情況下這是錯誤的。讓我們看看什么是USART和UART,并討論它們的主要區別。

        大多數嵌入式工程師都熟悉 UART:通用異步接收器/發送器。它是一種微控制器外設,可將傳入和傳出的數據字節轉換為串行比特流。一個起始位啟動串行位流,一個停止位(或兩個)完成數據字。UART 還可以選擇向流中添加奇偶校驗位,以幫助檢測在傳輸過程中是否發生位錯誤。圖 1 顯示了工程師期望從通過 UART 傳輸的數據中看到的標準示例。

        

        圖1–UART串行數據

        USART代表什么?通用同步/異步接收器/發送器—是一種微控制器外設,嵌入式開發人員可將輸入和輸出的數據字節轉換為串行位流。USART的定義與UART的定義相同,只是在術語中增加了“同步”一詞。肯定還有一些更有意義的差異吧?否則,USART只會被稱為UART。

        還是有區別的——很重要的區別。USART和UART的第一個區別是串行數據的計時方式。UART在微控制器內部產生數據時鐘,并通過起始位轉換使該時鐘與數據流同步。沒有與數據相關的輸入時鐘信號,因此為了正確接收數據流,接收器需要提前知道波特率應該是多少。

        另一方面,USART可以設置為在同步模式下運行。在這種模式下,發送外設將產生一個時鐘,嵌入式開發人員接收外設可以從數據流中恢復該時鐘,而無需事先知道波特率。或者,鏈路將使用完全獨立的線路來傳輸時鐘信號。外部時鐘的使用使得USART的數據速率遠高于標準UART,最高可達4 Mbps。

        


        USART和UART的第二個主要區別是外設可以支持的協議數量。UART很簡單,只提供基本格式中的一些選項,如停止位數和奇偶校驗。USART更復雜,可以生成與許多不同標準協議相對應的數據,例如IrDA、LIN、智能卡、RS-485接口的驅動程序使能和Modbus等。USART還具有與UART相同的異步能力,即USART可以產生相同類型的串行數據,如圖1所示。

        USART和UART外設具有完全不同的功能,在不同的情況下可能有用,因此嵌入式開發人員可能會發現兩種外設都集成在一個標準微控制器上。例如,以STM32系列等面向低功耗設計的微控制器為例。STM32器件片內同時具有一個USART和一個UART外設。USART旨在“高”能耗期間完成所有“繁重”的串行通信。當微控制器處于休眠和低功耗模式時,UART外設可以處理低速通信,同時降低功耗。

        USART和UART一樣嗎?從技術上講,答案是否定的。UART和USART哪個更好?USART通常具有比標準UART更多的功能,并且產生時鐘數據的能力允許USART以遠超過UART能力的波特率工作。不過,USART確實包含UART的功能,在許多應用中,盡管擁有USART的強大功能,但嵌入式開發人員仍將其作為簡單的UART使用,忽略或回避這些強大外設的同步時鐘產生功能。難怪這么多人使用這些術語,就好像它們是同義詞一樣。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲欧洲国产综合另类国码 | 在线视频国产一区不卡 | 久久人人爽爽人人爽人人片AV | 中文字幕在线免费观看视频 | 中文字幕电影亚洲精品 | 中文字幕乱码亚洲无线码三区 |