當前位置:首頁 > 模擬 > ADI
[導(dǎo)讀]UART,即通用異步接收器/發(fā)送器,是最常用的設(shè)備間通信協(xié)議之一。本文將UART用作硬件通信協(xié)議應(yīng)遵循的標準步驟進行說明。

摘要

UART,即通用異步接收器/發(fā)送器,是最常用的設(shè)備間通信協(xié)議之一。本文將UART用作硬件通信協(xié)議應(yīng)遵循的標準步驟進行說明。

正確配置后,UART可以配合許多不同類型的涉及發(fā)送和接收串行數(shù)據(jù)的串行協(xié)議工作。在串行通信中,數(shù)據(jù)通過單條線路或?qū)Ь€逐位傳輸。在雙向通信中,我們使用兩根導(dǎo)線來進行連續(xù)的串行數(shù)據(jù)傳輸。根據(jù)應(yīng)用和系統(tǒng)要求,串行通信需要的電路和導(dǎo)線較少,可降低實現(xiàn)成本。

本文將討論使用UART的基本原則,重點是數(shù)據(jù)包傳輸、標準幀協(xié)議和定制幀協(xié)議;定制幀協(xié)議將是安全合規(guī)性方面的增值特性,尤其是在代碼開發(fā)期間。在產(chǎn)品開發(fā)過程中,本文檔還旨在分享一些基本步驟,以檢查數(shù)據(jù)表的實際使用。

最后,本文的目標是幫助更好地理解和遵循UART標準,以便最大程度地發(fā)揮其能力和應(yīng)用優(yōu)勢,特別是在開發(fā)新產(chǎn)品時。

“溝通最大的問題在于,人們想當然地認為已經(jīng)溝通了?!?

——喬治·蕭伯納

通信協(xié)議在組織設(shè)備之間的通信時扮演著重要角色。它基于系統(tǒng)要求而以不同方式進行設(shè)計。此類協(xié)議具有特定的規(guī)則,為實現(xiàn)成功通信,不同設(shè)備都遵循該規(guī)則。嵌入式系統(tǒng)、微控制器和計算機大多將UART作為設(shè)備間硬件通信協(xié)議的一種形式。在可用通信協(xié)議中,UART的發(fā)送和接收端僅使用兩條線。盡管它是一種廣泛使用的硬件通信方法,但它并非在所有時候都是完全優(yōu)化的。在微控制器內(nèi)部使用UART模塊時,通常會忽略幀協(xié)議的適當實現(xiàn)。根據(jù)定義,UART是一種硬件通信協(xié)議,以可配置的速度使用異步串行通信。異步意味著沒有時鐘信號來同步從發(fā)送設(shè)備進入接收端的輸出位。

接口

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖1.兩個UART彼此直接通信

每個UART設(shè)備的兩個信號分別命名為:

? 發(fā)送器(Tx)

? 接收器(Rx)

每個設(shè)備的發(fā)送器和接收器線的主要作用是用于串行通信的串行數(shù)據(jù)的發(fā)送和接收。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖2.帶數(shù)據(jù)總線的UART

發(fā)送UART連接到以并行形式發(fā)送數(shù)據(jù)的控制數(shù)據(jù)總線。然后,數(shù)據(jù)將在傳輸線路(導(dǎo)線)上一位一位地串行傳輸?shù)浇邮誙ART。反過來,對于接收設(shè)備,串行數(shù)據(jù)會被轉(zhuǎn)換為并行數(shù)據(jù)。UART線用作發(fā)送和接收數(shù)據(jù)的通信介質(zhì)。請注意,UART設(shè)備具有專門用于發(fā)送或接收的發(fā)送和接收引腳。對于UART和大多數(shù)串行通信,發(fā)送和接收設(shè)備需要將波特率設(shè)置為相同的值。波特率是指信息傳輸?shù)叫诺赖乃俾省τ诖卸丝?,設(shè)定的波特率將用作每秒傳輸?shù)淖畲笪粩?shù)。

表1總結(jié)了關(guān)于UART必須了解的幾點。

表1.UART概要

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

UART接口不使用時鐘信號來同步發(fā)送器和接收器設(shè)備,而是以異步方式傳輸數(shù)據(jù)。發(fā)送器根據(jù)其時鐘信號生成的位流取代了時鐘信號,接收器使用其內(nèi)部時鐘信號對輸入數(shù)據(jù)進行采樣。同步點是通過兩個設(shè)備的相同波特率來管理的。如果波特率不同,發(fā)送和接收數(shù)據(jù)的時序可能會受影響,導(dǎo)致數(shù)據(jù)處理過程出現(xiàn)不一致。允許的波特率差異最大值為10%,超過此值,位的時序就會脫節(jié)。

數(shù)據(jù)傳輸

在UART中,傳輸模式為數(shù)據(jù)包形式。連接發(fā)送器和接收器的機制包括串行數(shù)據(jù)包的創(chuàng)建和物理硬件線路的控制。數(shù)據(jù)包由起始位、數(shù)據(jù)幀、奇偶校驗位和停止位組成。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖3.UART數(shù)據(jù)包

起始位

當不傳輸數(shù)據(jù)時,UART數(shù)據(jù)傳輸線通常保持高電壓電平。若要開始數(shù)據(jù)傳輸,發(fā)送UART會將傳輸線從高電平拉到低電平并保持1個時鐘周期。當接收UART檢測到高到低電壓躍遷時,便開始以波特率對應(yīng)的頻率讀取數(shù)據(jù)幀中的位。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖4.起始位

數(shù)據(jù)幀

數(shù)據(jù)幀包含所傳輸?shù)膶嶋H數(shù)據(jù)。如果使用奇偶校驗位,數(shù)據(jù)幀長度可以是5位到8位。如果不使用奇偶校驗位,數(shù)據(jù)幀長度可以是9位。在大多數(shù)情況下,數(shù)據(jù)以最低有效位優(yōu)先方式發(fā)送。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖5.數(shù)據(jù)幀

奇偶校驗

奇偶性描述數(shù)字是偶數(shù)還是奇數(shù)。通過奇偶校驗位,接收UART判斷傳輸期間是否有數(shù)據(jù)發(fā)生改變。電磁輻射、不一致的波特率或長距離數(shù)據(jù)傳輸都可能改變數(shù)據(jù)位。接收UART讀取數(shù)據(jù)幀后,將計數(shù)值為1的位,檢查總數(shù)是偶數(shù)還是奇數(shù)。如果奇偶校驗位為0(偶數(shù)奇偶校驗),則數(shù)據(jù)幀中的1或邏輯高位總計應(yīng)為偶數(shù)。如果奇偶校驗位為1(奇數(shù)奇偶校驗),則數(shù)據(jù)幀中的1或邏輯高位總計應(yīng)為奇數(shù)。當奇偶校驗位與數(shù)據(jù)匹配時,UART認為傳輸未出錯。但是,如果奇偶校驗位為0,而總和為奇數(shù),或者奇偶校驗位為1,而總和為偶數(shù),則UART認為數(shù)據(jù)幀中的位已改變。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖6.奇偶校驗位

停止位

為了表示數(shù)據(jù)包結(jié)束,發(fā)送UART將數(shù)據(jù)傳輸線從低電壓驅(qū)動到高電壓并保持1到2位時間。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖7.停止位

UART傳輸步驟

第一步:發(fā)送UART從數(shù)據(jù)總線并行接收數(shù)據(jù)。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖8.數(shù)據(jù)總線至發(fā)送UART

第二步:發(fā)送UART將起始位、奇偶校驗位和停止位添加到數(shù)據(jù)幀。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖9.Tx側(cè)的UART數(shù)據(jù)幀

第三步:從起始位到結(jié)束位,整個數(shù)據(jù)包以串行方式從發(fā)送UART送至接收UART。接收UART以預(yù)配置的波特率對數(shù)據(jù)線進行采樣。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖10.UART傳輸

第四步:接收UART丟棄數(shù)據(jù)幀中的起始位、奇偶校驗位和停止位。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖11.Rx側(cè)的UART數(shù)據(jù)幀

第五步:接收UART將串行數(shù)據(jù)轉(zhuǎn)換回并行數(shù)據(jù),并將其傳輸?shù)浇邮斩说臄?shù)據(jù)總線。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖12.接收UART至數(shù)據(jù)總線

幀協(xié)議

UART的一個關(guān)鍵特性是幀協(xié)議的實現(xiàn),但還沒有被充分使用。其主要用途和重要性是為每臺設(shè)備提供安全和保護方面的增值。例如,當兩個設(shè)備使用相同的UART幀協(xié)議時,有可能在沒有檢查配置的情況下連接到同一個UART,設(shè)備會連接到不同的引腳,這可能導(dǎo)致系統(tǒng)故障。

另一方面,實現(xiàn)幀協(xié)議可確保安全性,因為需要根據(jù)設(shè)計幀協(xié)議解析接收到的信息。每個幀協(xié)議都經(jīng)過專門設(shè)計,以確保唯一性和安全性。在設(shè)計幀協(xié)議時,設(shè)計人員可以給不同設(shè)備設(shè)置期望的報頭和報尾(包括CRC)。在圖13中,2個字節(jié)被設(shè)置為報頭的一部分。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖13.UART幀協(xié)議示例

根據(jù)示例,您可以給您的設(shè)備設(shè)置獨有的報頭、報尾和CRC。

報頭1(H1為0xAB)和報頭2(H2為0xCD)

報頭是確定您是否在與正確的設(shè)備通信的唯一標識符。

命令(CMD)選擇

命令將取決于用于創(chuàng)建兩個設(shè)備之間通信的命令列表。

每個命令的數(shù)據(jù)長度(DL)

數(shù)據(jù)長度將取決于所選的命令。您可以根據(jù)所選的命令來使數(shù)據(jù)長度最大化,因此它會隨選擇而變化。在這種情況下,數(shù)據(jù)長度可以調(diào)整。

數(shù)據(jù)n(可變數(shù)據(jù))

數(shù)據(jù)是要從設(shè)備傳輸?shù)挠行лd荷。

報尾1(T1為0xE1)和報尾2(T2為0xE2)

報尾是在傳輸結(jié)束后添加的數(shù)據(jù)。就像報頭一樣,報尾也可以唯一標識符。

循環(huán)冗余校驗(CRC公式)

循環(huán)冗余校驗公式是一種附加的錯誤檢測模式,用于檢測原始數(shù)據(jù)是否發(fā)生意外更改。發(fā)送設(shè)備的CRC值必須始終等于接收器端的CRC計算值。

建議為每個UART設(shè)備實現(xiàn)幀協(xié)議來增加安全性。幀協(xié)議要求發(fā)送和接收設(shè)備使用相同的配置。

UART工作原理

使用任何硬件通信協(xié)議時,首先必須檢查數(shù)據(jù)手冊和硬件參考手冊。以下是要遵循的步驟:

第一步:檢查設(shè)備的數(shù)據(jù)手冊接口。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖14.微控制器數(shù)據(jù)手冊

第二步:在存儲器映射下面檢查UART地址。

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

圖15.微控制器存儲器映射

第三步:檢查UART端口的具體信息,例如工作模式、數(shù)據(jù)位長度、奇偶校驗位和停止位。

數(shù)據(jù)手冊中的UART端口詳細信息示例:

UART端口

示例MCU提供了一個全雙工UART端口,其與PC標準UART完全兼容。UART端口提供一個簡化的UART接口用于連接其他外設(shè)或主機,支持全雙工、DMA和異步串行數(shù)據(jù)傳輸。UART端口支持5到8個數(shù)據(jù)位,以及無校驗、偶校驗和奇校驗。幀由一個半或兩個停止位終止。

第四步:檢查UART操作的詳細信息,包括波特率計算。波特率通過以下示例公式進行配置。此公式隨微控制器而異。

UART操作的詳細信息示例:

? 5到8個數(shù)據(jù)位

? 1、2或1 ?個停止位

? 無、偶數(shù)或奇數(shù)奇偶校驗

? 可編程過采樣率為4、8、16、32

? 波特率 = PCLK/((M + N/2048) × 2OSR + 2 × DIV

其中:

OSR(過采樣率)

UART_LCR2.OSR = 0至3

DIV(波特率分頻器)

UART_DIV = 1至65535

M(DIVM小數(shù)波特率M)

UART_FBR.DIVM = 1至3

N(DIVM小數(shù)波特率M)

UART_FBR.DIVN = 0至2047

第五步:對于波特率,務(wù)必檢查要使用的外設(shè)時鐘(PCLK)。此示例有26 MHz PCLK和16 MHz PCLK可用。請注意,OSR、DIV、DIVM和DIVN隨設(shè)備而異。

表2.基于26 MHz PCLK的波特率示例

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

表3.基于16 MHz PCLK的波特率示例

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

第六步:下一部分是檢查UART配置的詳細寄存器。了解計算波特率時的參數(shù),例如UART_LCR2、UART_DIV和UART_FBR。表4要列出所涉及的具體寄存器。

表4.UART寄存器描述

UART:了解通用異步接收器/發(fā)送器的硬件通信協(xié)議

第七步:檢查每個寄存器下的詳細信息,代入值以計算波特率,然后開始實現(xiàn)UART。

為何重要?

當開發(fā)穩(wěn)健的、質(zhì)量驅(qū)動的產(chǎn)品時,熟悉UART通信協(xié)議非常有優(yōu)勢。知道如何僅使用兩條線發(fā)送數(shù)據(jù),以及如何傳輸整個數(shù)據(jù)包或有效載荷,將有助于確保數(shù)據(jù)正確無誤地發(fā)送和接收。UART是最常用的硬件通信協(xié)議,具備相關(guān)知識可以在將來的設(shè)計中實現(xiàn)設(shè)計靈活性。

用例

您可以將UART用于許多應(yīng)用,例如:

? 調(diào)試:在開發(fā)過程中及早發(fā)現(xiàn)系統(tǒng)錯誤很重要。添加UART便可從系統(tǒng)捕捉消息,幫助排除錯誤。

? 制造功能級追蹤:日志在制造業(yè)中非常重要。通過日志可確定功能,提醒操作員生產(chǎn)線上正在發(fā)生的事情。

? 客戶更新:軟件更新非常重要。完整的動態(tài)硬件和支持更新的軟件對于擁有完整系統(tǒng)至關(guān)重要。

? 測試/驗證:在產(chǎn)品離開制造過程之前進行驗證有助于為客戶提供最優(yōu)質(zhì)的產(chǎn)品。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉