<noscript id="jftie"></noscript>
    <style id="jftie"><mark id="jftie"><dfn id="jftie"></dfn></mark></style>
  1. <span id="jftie"></span>
    • 国产成人精品久久一区二区,韩国精品久久久久久无码,国产精品国产高清国产av,欧美99久久无码一区人妻a片,亚洲高清码在线精品av,午夜人妻久久久久久久久,伊人热热久久原色播放www ,亚洲女教师丝祙在线播放
      你的位置:首頁(yè) > RF/微波 > 正文

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

      發(fā)布時(shí)間:2021-02-01 來源:Eric Peňa 和 Mary Grace Legaspi 責(zé)任編輯:wenwei

      【導(dǎo)讀】UART,即通用異步接收器/發(fā)送器,是最常用的設(shè)備間通信協(xié)議之一。本文將UART用作硬件通信協(xié)議應(yīng)遵循的標(biāo)準(zhǔn)步驟進(jìn)行說明。
       
      正確配置后,UART可以配合許多不同類型的涉及發(fā)送和接收串行數(shù)據(jù)的串行協(xié)議工作。在串行通信中,數(shù)據(jù)通過單條線路或?qū)Ь€逐位傳輸。在雙向通信中,我們使用兩根導(dǎo)線來進(jìn)行連續(xù)的串行數(shù)據(jù)傳輸。根據(jù)應(yīng)用和系統(tǒng)要求,串行通信需要的電路和導(dǎo)線較少,可降低實(shí)現(xiàn)成本。
       
      本文將討論使用UART的基本原則,重點(diǎn)是數(shù)據(jù)包傳輸、標(biāo)準(zhǔn)幀協(xié)議和定制幀協(xié)議;定制幀協(xié)議將是安全合規(guī)性方面的增值特性,尤其是在代碼開發(fā)期間。在產(chǎn)品開發(fā)過程中,本文檔還旨在分享一些基本步驟,以檢查數(shù)據(jù)表的實(shí)際使用。
       
      最后,本文的目標(biāo)是幫助更好地理解和遵循UART標(biāo)準(zhǔn),以便最大程度地發(fā)揮其能力和應(yīng)用優(yōu)勢(shì),特別是在開發(fā)新產(chǎn)品時(shí)。
       
      "溝通最大的問題在于,人們想當(dāng)然地認(rèn)為已經(jīng)溝通了。"
      ——喬治·蕭伯納
       
      通信協(xié)議在組織設(shè)備之間的通信時(shí)扮演著重要角色。它基于系統(tǒng)要求而以不同方式進(jìn)行設(shè)計(jì)。此類協(xié)議具有特定的規(guī)則,為實(shí)現(xiàn)成功通信,不同設(shè)備都遵循該規(guī)則。
       
      嵌入式系統(tǒng)、微控制器和計(jì)算機(jī)大多將UART作為設(shè)備間硬件通信協(xié)議的一種形式。在可用通信協(xié)議中,UART的發(fā)送和接收端僅使用兩條線。
       
      盡管它是一種廣泛使用的硬件通信方法,但它并非在所有時(shí)候都是完全優(yōu)化的。在微控制器內(nèi)部使用UART模塊時(shí),通常會(huì)忽略幀協(xié)議的適當(dāng)實(shí)現(xiàn)。
       
      根據(jù)定義,UART是一種硬件通信協(xié)議,以可配置的速度使用異步串行通信。異步意味著沒有時(shí)鐘信號(hào)來同步從發(fā)送設(shè)備進(jìn)入接收端的輸出位。
       
      接口
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖1.兩個(gè)UART彼此直接通信
       
      每個(gè)UART設(shè)備的兩個(gè)信號(hào)分別命名為:
       
      ●     發(fā)送器(Tx)
      ●     接收器(Rx)
       
      每個(gè)設(shè)備的發(fā)送器和接收器線的主要作用是用于串行通信的串行數(shù)據(jù)的發(fā)送和接收。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖2.帶數(shù)據(jù)總線的UART
       
      發(fā)送UART連接到以并行形式發(fā)送數(shù)據(jù)的控制數(shù)據(jù)總線。然后,數(shù)據(jù)將在傳輸線路(導(dǎo)線)上一位一位地串行傳輸?shù)浇邮誙ART。反過來,對(duì)于接收設(shè)備,串行數(shù)據(jù)會(huì)被轉(zhuǎn)換為并行數(shù)據(jù)。
       
      UART線用作發(fā)送和接收數(shù)據(jù)的通信介質(zhì)。請(qǐng)注意,UART設(shè)備具有專門用于發(fā)送或接收的發(fā)送和接收引腳。
       
      對(duì)于UART和大多數(shù)串行通信,發(fā)送和接收設(shè)備需要將波特率設(shè)置為相同的值。波特率是指信息傳輸?shù)叫诺赖乃俾省?duì)于串行端口,設(shè)定的波特率將用作每秒傳輸?shù)淖畲笪粩?shù)。
       
      表1總結(jié)了關(guān)于UART必須了解的幾點(diǎn)。
       
      表1.UART概要
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
       
      UART接口不使用時(shí)鐘信號(hào)來同步發(fā)送器和接收器設(shè)備,而是以異步方式傳輸數(shù)據(jù)。發(fā)送器根據(jù)其時(shí)鐘信號(hào)生成的位流取代了時(shí)鐘信號(hào),接收器使用其內(nèi)部時(shí)鐘信號(hào)對(duì)輸入數(shù)據(jù)進(jìn)行采樣。同步點(diǎn)是通過兩個(gè)設(shè)備的相同波特率來管理的。如果波特率不同,發(fā)送和接收數(shù)據(jù)的時(shí)序可能會(huì)受影響,導(dǎo)致數(shù)據(jù)處理過程出現(xiàn)不一致。允許的波特率差異最大值為10%,超過此值,位的時(shí)序就會(huì)脫節(jié)。
       
      數(shù)據(jù)傳輸
       
      在UART中,傳輸模式為數(shù)據(jù)包形式。連接發(fā)送器和接收器的機(jī)制包括串行數(shù)據(jù)包的創(chuàng)建和物理硬件線路的控制。數(shù)據(jù)包由起始位、數(shù)據(jù)幀、奇偶校驗(yàn)位和停止位組成。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖3.UART數(shù)據(jù)包
       
      起始位
       
      當(dāng)不傳輸數(shù)據(jù)時(shí),UART數(shù)據(jù)傳輸線通常保持高電壓電平。若要開始數(shù)據(jù)傳輸,發(fā)送UART會(huì)將傳輸線從高電平拉到低電平并保持1個(gè)時(shí)鐘周期。當(dāng)接收UART檢測(cè)到高到低電壓躍遷時(shí),便開始以波特率對(duì)應(yīng)的頻率讀取數(shù)據(jù)幀中的位。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖4.起始位
       
      數(shù)據(jù)幀
       
      數(shù)據(jù)幀包含所傳輸?shù)膶?shí)際數(shù)據(jù)。如果使用奇偶校驗(yàn)位,數(shù)據(jù)幀長(zhǎng)度可以是5位到8位。如果不使用奇偶校驗(yàn)位,數(shù)據(jù)幀長(zhǎng)度可以是9位。在大多數(shù)情況下,數(shù)據(jù)以最低有效位優(yōu)先方式發(fā)送。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖5.數(shù)據(jù)幀
       
      奇偶校驗(yàn)
       
      奇偶性描述數(shù)字是偶數(shù)還是奇數(shù)。通過奇偶校驗(yàn)位,接收UART判斷傳輸期間是否有數(shù)據(jù)發(fā)生改變。電磁輻射、不一致的波特率或長(zhǎng)距離數(shù)據(jù)傳輸都可能改變數(shù)據(jù)位。
       
      接收UART讀取數(shù)據(jù)幀后,將計(jì)數(shù)值為1的位,檢查總數(shù)是偶數(shù)還是奇數(shù)。如果奇偶校驗(yàn)位為0(偶數(shù)奇偶校驗(yàn)),則數(shù)據(jù)幀中的1或邏輯高位總計(jì)應(yīng)為偶數(shù)。如果奇偶校驗(yàn)位為1(奇數(shù)奇偶校驗(yàn)),則數(shù)據(jù)幀中的1或邏輯高位總計(jì)應(yīng)為奇數(shù)。
       
      當(dāng)奇偶校驗(yàn)位與數(shù)據(jù)匹配時(shí),UART認(rèn)為傳輸未出錯(cuò)。但是,如果奇偶校驗(yàn)位為0,而總和為奇數(shù),或者奇偶校驗(yàn)位為1,而總和為偶數(shù),則UART認(rèn)為數(shù)據(jù)幀中的位已改變。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖6.奇偶校驗(yàn)位
       
      停止位
       
      為了表示數(shù)據(jù)包結(jié)束,發(fā)送UART將數(shù)據(jù)傳輸線從低電壓驅(qū)動(dòng)到高電壓并保持1到2位時(shí)間。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖7.停止位
       
      UART傳輸步驟
       
      第一步:發(fā)送UART從數(shù)據(jù)總線并行接收數(shù)據(jù)。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖8.數(shù)據(jù)總線至發(fā)送UART
       
      第二步:發(fā)送UART將起始位、奇偶校驗(yàn)位和停止位添加到數(shù)據(jù)幀。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖9.Tx側(cè)的UART數(shù)據(jù)幀
       
      第三步:從起始位到結(jié)束位,整個(gè)數(shù)據(jù)包以串行方式從發(fā)送UART送至接收UART。接收UART以預(yù)配置的波特率對(duì)數(shù)據(jù)線進(jìn)行采樣。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖10.UART傳輸
       
      第四步:接收UART丟棄數(shù)據(jù)幀中的起始位、奇偶校驗(yàn)位和停止位。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖11.Rx側(cè)的UART數(shù)據(jù)幀
       
      第五步:接收UART將串行數(shù)據(jù)轉(zhuǎn)換回并行數(shù)據(jù),并將其傳輸?shù)浇邮斩说臄?shù)據(jù)總線。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖12.接收UART至數(shù)據(jù)總線
       
      幀協(xié)議
       
      UART的一個(gè)關(guān)鍵特性是幀協(xié)議的實(shí)現(xiàn),但還沒有被充分使用。其主要用途和重要性是為每臺(tái)設(shè)備提供安全和保護(hù)方面的增值。
       
      例如,當(dāng)兩個(gè)設(shè)備使用相同的UART幀協(xié)議時(shí),有可能在沒有檢查配置的情況下連接到同一個(gè)UART,設(shè)備會(huì)連接到不同的引腳,這可能導(dǎo)致系統(tǒng)故障。
       
      另一方面,實(shí)現(xiàn)幀協(xié)議可確保安全性,因?yàn)樾枰鶕?jù)設(shè)計(jì)幀協(xié)議解析接收到的信息。每個(gè)幀協(xié)議都經(jīng)過專門設(shè)計(jì),以確保唯一性和安全性。
       
      在設(shè)計(jì)幀協(xié)議時(shí),設(shè)計(jì)人員可以給不同設(shè)備設(shè)置期望的報(bào)頭和報(bào)尾(包括CRC)。在圖13中,2個(gè)字節(jié)被設(shè)置為報(bào)頭的一部分。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖13.UART幀協(xié)議示例
       
      根據(jù)示例,您可以給您的設(shè)備設(shè)置獨(dú)有的報(bào)頭、報(bào)尾和CRC。
       
      報(bào)頭1(H1為0xAB)和報(bào)頭2(H2為0xCD)
      報(bào)頭是確定您是否在與正確的設(shè)備通信的唯一標(biāo)識(shí)符。
       
      命令(CMD)選擇
      命令將取決于用于創(chuàng)建兩個(gè)設(shè)備之間通信的命令列表。
       
      每個(gè)命令的數(shù)據(jù)長(zhǎng)度(DL)
      數(shù)據(jù)長(zhǎng)度將取決于所選的命令。您可以根據(jù)所選的命令來使數(shù)據(jù)長(zhǎng)度最大化,因此它會(huì)隨選擇而變化。在這種情況下,數(shù)據(jù)長(zhǎng)度可以調(diào)整。
       
      數(shù)據(jù)n(可變數(shù)據(jù))
      數(shù)據(jù)是要從設(shè)備傳輸?shù)挠行лd荷。
       
      報(bào)尾1(T1為0xE1)和報(bào)尾2(T2為0xE2)
      報(bào)尾是在傳輸結(jié)束后添加的數(shù)據(jù)。就像報(bào)頭一樣,報(bào)尾也可以唯一標(biāo)識(shí)符。
       
      循環(huán)冗余校驗(yàn)(CRC公式)
      循環(huán)冗余校驗(yàn)公式是一種附加的錯(cuò)誤檢測(cè)模式,用于檢測(cè)原始數(shù)據(jù)是否發(fā)生意外更改。發(fā)送設(shè)備的CRC值必須始終等于接收器端的CRC計(jì)算值。
       
      建議為每個(gè)UART設(shè)備實(shí)現(xiàn)幀協(xié)議來增加安全性。幀協(xié)議要求發(fā)送和接收設(shè)備使用相同的配置。
       
      UART工作原理
       
      使用任何硬件通信協(xié)議時(shí),首先必須檢查數(shù)據(jù)手冊(cè)和硬件參考手冊(cè)。
       
      以下是要遵循的步驟:
       
      第一步:檢查設(shè)備的數(shù)據(jù)手冊(cè)接口。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖14.微控制器數(shù)據(jù)手冊(cè)
       
      第二步:在存儲(chǔ)器映射下面檢查UART地址。
       
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
      圖15.微控制器存儲(chǔ)器映射
       
      第三步:檢查UART端口的具體信息,例如工作模式、數(shù)據(jù)位長(zhǎng)度、奇偶校驗(yàn)位和停止位。
       
      示例MCU提供了一個(gè)全雙工UART端口,其與PC標(biāo)準(zhǔn)UART完全兼容。UART端口提供一個(gè)簡(jiǎn)化的UART接口用于連接其他外設(shè)或主機(jī),支持全雙工、DMA和異步串行數(shù)據(jù)傳輸。UART端口支持5到8個(gè)數(shù)據(jù)位,以及無(wú)校驗(yàn)、偶校驗(yàn)和奇校驗(yàn)。幀由一個(gè)半或兩個(gè)停止位終止。
       
      第四步:檢查UART操作的詳細(xì)信息,包括波特率計(jì)算。波特率通過以下示例公式進(jìn)行配置。此公式隨微控制器而異。
       
      數(shù)據(jù)手冊(cè)中的UART端口詳細(xì)信息示例:
       
      ●     5到8個(gè)數(shù)據(jù)位
      ●     1、2或1 ½個(gè)停止位
      ●     無(wú)、偶數(shù)或奇數(shù)奇偶校驗(yàn)
      ●     可編程過采樣率為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
       
      第五步:對(duì)于波特率,務(wù)必檢查要使用的外設(shè)時(shí)鐘(PCLK)。此示例有26 MHz PCLK和16 MHz PCLK可用。請(qǐng)注意,OSR、DIV、DIVM和DIVN隨設(shè)備而異。
       
      表2.基于26 MHz PCLK的波特率示例
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
       
      表3.基于16 MHz PCLK的波特率示例
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
       
      第六步:下一部分是檢查UART配置的詳細(xì)寄存器。了解計(jì)算波特率時(shí)的參數(shù),例如UART_LCR2、UART_DIV和UART_FBR。表4要列出所涉及的具體寄存器。
       
      表4.UART寄存器描述
      了解通用異步接收器/發(fā)送器的硬件通信協(xié)議
       
      第七步:檢查每個(gè)寄存器下的詳細(xì)信息,代入值以計(jì)算波特率,然后開始實(shí)現(xiàn)UART。
       
      為何重要?
       
      當(dāng)開發(fā)穩(wěn)健的、質(zhì)量驅(qū)動(dòng)的產(chǎn)品時(shí),熟悉UART通信協(xié)議非常有優(yōu)勢(shì)。知道如何僅使用兩條線發(fā)送數(shù)據(jù),以及如何傳輸整個(gè)數(shù)據(jù)包或有效載荷,將有助于確保數(shù)據(jù)正確無(wú)誤地發(fā)送和接收。UART是最常用的硬件通信協(xié)議,具備相關(guān)知識(shí)可以在將來的設(shè)計(jì)中實(shí)現(xiàn)設(shè)計(jì)靈活性。
       
      用例
       
      您可以將UART用于許多應(yīng)用,例如:
       
      ●     調(diào)試:在開發(fā)過程中及早發(fā)現(xiàn)系統(tǒng)錯(cuò)誤很重要。添加UART便可從系統(tǒng)捕捉消息,幫助排除錯(cuò)誤。
      ●     制造功能級(jí)追蹤:日志在制造業(yè)中非常重要。通過日志可確定功能,提醒操作員生產(chǎn)線上正在發(fā)生的事情。
      ●     客戶更新:軟件更新非常重要。完整的動(dòng)態(tài)硬件和支持更新的軟件對(duì)于擁有完整系統(tǒng)至關(guān)重要。
      ●     測(cè)試/驗(yàn)證:在產(chǎn)品離開制造過程之前進(jìn)行驗(yàn)證有助于為客戶提供最優(yōu)質(zhì)的產(chǎn)品。
       
      參考電路
       
      "UART通信基礎(chǔ)。" Electronics Hub,2017年7月。
       
      Campbell, Scott。 "UART通信基礎(chǔ)。" 電路基礎(chǔ)。
       
      "回到基礎(chǔ):通用異步接收器/發(fā)送器。" 關(guān)于電路的一切,2016年12月。
       
      "何為UART協(xié)議?UART通信闡釋。" Arrow。
       
       
      免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。
       
      推薦閱讀:
       
      零增益放大器
      為了更精確,更高質(zhì)量,我們采用了數(shù)據(jù)采集系統(tǒng)“組合技”
      針對(duì)低功耗應(yīng)用的非易失性電阻式RAM技術(shù)
      利用汽車前燈改善道路安全:發(fā)光二極管矩陣管理器
      測(cè)量電源上的輸出動(dòng)態(tài)響應(yīng):示波器接地問題
      特別推薦
      技術(shù)文章更多>>
      技術(shù)白皮書下載更多>>
      熱門搜索
      ?

      關(guān)閉

      ?

      關(guān)閉

      主站蜘蛛池模板: 精品一区二区不卡无码av| 国产成人综合日韩精品无码不卡| 国产免费爽爽视频| 久久精品99av高久久精品| 伊人蕉久中文字幕无码专区 | 国产精品宾馆在线精品酒店 | 97碰成人国产免费公开视频| 色成人精品免费视频| 国产亚洲精品久久久久秋| 国产精品无卡毛片视频| 国产精品好好热av在线观看| 人妻精品久久久久中文字幕69 | 日本三线免费视频观看| 国产精品视频一区二区三区不卡| 国产精品无码制服丝袜| 精品国产亚洲一区二区三区在线观看 | 精品日产卡一卡二卡麻豆| 国产成av人片在线观看无码| 国产成人综合日韩精品无码不卡| 亚洲色无码播放亚洲成av| 亚洲午夜福利精品久久| 国产精品未满十八禁止观看| 日本人妻人人人澡人人爽| 亚洲精品55夜色66夜色| 东北女人毛多水多牲交视频| 热久久99这里有精品综合久久| 欧美最猛性xxxxx大叫| 欧美丰满熟妇xxxx| 夜鲁鲁鲁夜夜综合视频欧美| 国产精品久久久久久熟妇吹潮软件 | 国内精品久久久久伊人av| 女人下边被添全过视频| 亚洲女同一区二区| 国产区图片区小说区亚洲区| 热久久99这里有精品综合久久| 国产精品美女久久久久av爽李琼 | 神马影院午夜dy888| 无码人妻一区、二区、三区免费视频| 亚洲综合天堂av网站在线观看| 无码免费伦费影视在线观看| 日本最新高清一区二区三|