0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是UART,UART協(xié)議的三條信號線

要長高 ? 來源:知芯情報(bào)局 ? 作者:Leo ? 2022-06-21 15:49 ? 次閱讀

UART簡介

UART全稱universal asynchronous receiver transmitter,翻譯過來就是通用異步收發(fā)器(一般也很少有人這么叫啦)。UART的應(yīng)用場景非常廣泛,比如上位機(jī)與下位機(jī)之間的通信,各種外接模塊,比如GPS和藍(lán)牙模塊等等。UART作為串行通信,利用一條傳輸線將數(shù)據(jù)按bit進(jìn)行順序傳送,特點(diǎn)是通信線路簡單,利用簡單的線纜就可實(shí)現(xiàn)通信,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢的應(yīng)用場合。

物理層

在物理層上,UART協(xié)議只有三條信號線:TX,RX和GND??吹竭@兒看官您就要問了,為什么沒有時鐘線?對,UART協(xié)議就是這么任性,不需要時鐘線,那么它是怎么通信的呢?下面的協(xié)議層章節(jié)會做詳細(xì)的介紹。

pYYBAGKxd7OAK5UvAAAm56c01gI873.png

UART使用標(biāo)準(zhǔn)的TTL/CMOS邏輯電平(0~5V,0~3.3V,0~2.5V或0~1.8V)來表示數(shù)據(jù),1表示高電平,0表示低電平。為了提高抗干擾能力、提高傳輸?shù)木嚯x,通常也會TTL/CMOS邏輯電平轉(zhuǎn)換為RS-232邏輯電平,3~15V表示0,-3~-15V表示1。

舉個例子,對于傳輸數(shù)據(jù)0x55,即二進(jìn)制的01010101,RS232和TTL的區(qū)別如下;

poYBAGKxd7mAKkowAAETVNSjpMM603.png

協(xié)議層

波特率

協(xié)議層上,首先來介紹一下波特率的概念。波特率可以被理解為一個設(shè)備在單位時間內(nèi)發(fā)送(或接收)了多少碼元的數(shù)據(jù),它是對符號傳輸速率的一種度量,表示單位時間內(nèi)傳輸符號的個數(shù)(傳符號率)。說白了,波特率是串口數(shù)據(jù)的傳輸速度,即Bit/s,常見的波特率有:9600,19200,38400,57600,115200。假設(shè)目前UART的配置為,1個起始位,8個數(shù)據(jù)位,0個校驗(yàn)位,1個停止位,那么9600的波特率,可以計(jì)算出每一位數(shù)據(jù)的時間寬度為104us,那么傳輸一個數(shù)據(jù)包(也就是10 bit 數(shù)據(jù))需要的時間為 1.04 毫秒。

poYBAGKxd7-AHO0qAAAUYVu3yYU826.png

數(shù)據(jù)包格式

介紹完了波特率,再來介紹一下數(shù)據(jù)包的格式。UART傳輸?shù)臄?shù)據(jù)被封裝成數(shù)據(jù)包,每個數(shù)據(jù)包包含1個起始位,5~8個數(shù)據(jù)位(取決于UART的具體設(shè)置),一個可選的奇偶校驗(yàn)位以及1個或2個停止位,具體如下圖所示:

poYBAGKxd8SAQXanAAAkg5dDJ1k024.png

起始位:UART數(shù)據(jù)傳輸線在空閑狀態(tài)時時保持高電平。當(dāng)master先發(fā)出一個邏輯”0”的信號時,表示傳輸數(shù)據(jù)的開始。

數(shù)據(jù)位:可以選擇的值有5,6,7,8這四個值,可以傳輸這么多個值為0或者1的bit位。這個參數(shù)最好為8,因?yàn)槿绻酥禐槠渌闹禃r當(dāng)你傳輸?shù)氖茿SCII值時一般解析肯定會出問題。理由很簡單,一個ASCII字符值為8位,如果一幀的數(shù)據(jù)位為7,那么還有一位就是不確定的值,這樣就會出錯。

校驗(yàn)位:在串口通信中一種簡單的檢錯方式。有下面四種檢錯方式:偶校驗(yàn)、奇校驗(yàn)、高校驗(yàn)和低校驗(yàn)。當(dāng)然沒有校驗(yàn)位也是可以的。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用1bit確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。

舉個例子,如果數(shù)據(jù)是011,假如為偶校驗(yàn),則校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個。假如為奇校驗(yàn),校驗(yàn)位為1,保證邏輯高的位數(shù)是奇數(shù)個。

pYYBAGKxd8qAf_O2AAAlEyPTR5I688.png

停止位:發(fā)送端UART將數(shù)據(jù)傳輸線從低電壓驅(qū)動到高電壓至少持續(xù)兩位數(shù)據(jù)的時間寬度來表示整個數(shù)據(jù)包的傳輸已經(jīng)結(jié)束。由于數(shù)據(jù)是在傳輸線上定時的,不同設(shè)備之間的時鐘存在偏差,誤差的積累有可能會造成數(shù)據(jù)位的傳輸錯誤。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供校正時鐘同步的機(jī)會。適用于停止位的位數(shù)越多,不同時鐘同步的容錯性越好,但是數(shù)據(jù)傳輸率同時也越慢。

優(yōu)缺點(diǎn)

沒有任何通信協(xié)議是完美的,以下是UART的一些利弊,可幫助您確定它們是否適合您的項(xiàng)目需求:

優(yōu)點(diǎn):

通信只需要兩條數(shù)據(jù)線;

無需時鐘信號;

有奇偶校驗(yàn)位,方便通信的差錯檢查;

只需要接收端和發(fā)送端設(shè)置好數(shù)據(jù)包結(jié)構(gòu),即可穩(wěn)定通信;

缺點(diǎn):

數(shù)據(jù)幀最大支持9位數(shù)據(jù);

不支持多主機(jī)或多從機(jī)的主從系統(tǒng);

參考文獻(xiàn):https://blog.csdn.net/u010632165/article/小麥大叔

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1214

    瀏覽量

    101003
  • 波特率
    +關(guān)注

    關(guān)注

    2

    文章

    293

    瀏覽量

    33998
  • 異步收發(fā)器
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    10828
收藏 人收藏

    評論

    相關(guān)推薦

    最詳細(xì)的UART通訊協(xié)議分析在這里

    UART協(xié)議,將并行輸入信號轉(zhuǎn)換成串行輸出信號。因?yàn)?b class='flag-5'>UART簡單實(shí)用的特性,其已經(jīng)成為一種使用非常廣泛的通訊
    的頭像 發(fā)表于 09-04 16:13 ?9406次閱讀
    最詳細(xì)的<b class='flag-5'>UART</b>通訊<b class='flag-5'>協(xié)議</b>分析在這里

    UART串口通訊協(xié)議解析

    ,協(xié)議如下: 起始位 數(shù)據(jù)位 奇偶校驗(yàn)位 停止位 1bit 5-9bit 0-1bit 1-2bit 空閑位 :UART協(xié)議規(guī)定,當(dāng)總線處于空閑狀態(tài)時信號線的狀態(tài)為‘1’即高電平,表示
    發(fā)表于 09-12 16:01

    SPI、I2C、UART種串行總線協(xié)議的區(qū)別

    Receiver Transmitter:通用異步收發(fā)器)第二,區(qū)別在電氣信號線上:SPI總線由三條信號線組成:串行時鐘(SCLK)、串行數(shù)據(jù)輸出(SDO)、串行數(shù)據(jù)輸入(SDI)。SPI總線可以實(shí)現(xiàn)
    發(fā)表于 11-02 09:48

    京東計(jì)劃斥資465億設(shè)第三條AMOLED面板生產(chǎn)

    中國最大面板生產(chǎn)企業(yè)京東方表示計(jì)劃斥資465億元在重慶兩江新區(qū)建設(shè)第三條AMOLED面板生產(chǎn),這是它第三條
    的頭像 發(fā)表于 03-12 08:38 ?5135次閱讀

    信號線和電源的區(qū)別

    信號線和電源最大的區(qū)別就是信號線傳輸模擬信號或是數(shù)字信號,電源用來傳輸電流。
    的頭像 發(fā)表于 05-17 15:11 ?6.9w次閱讀

    信號線是怎么傳輸?shù)?/a>

    信號線的概念比數(shù)據(jù)線寬泛,信號包括語音、數(shù)據(jù)、圖像等,傳輸這些信號都叫信號線,電話本身就是
    的頭像 發(fā)表于 05-17 15:14 ?1.4w次閱讀

    信號線有哪些

    我們可將信號線分為強(qiáng)信號線、弱信號線和標(biāo)準(zhǔn)信號線.強(qiáng)信號線是指音箱與功放之間的連接線,這類往往
    的頭像 發(fā)表于 05-17 15:20 ?1.4w次閱讀

    基于FPGA芯片的UART接口電路設(shè)計(jì)

    基本的UART通信只需要兩信號線(RXD,TXD)就可以完成數(shù)據(jù)的相互通信,接收與發(fā)送是全雙工形式,其中TXD是UART發(fā)送端,RXD是UART
    發(fā)表于 08-22 14:57 ?2000次閱讀
    基于FPGA芯片的<b class='flag-5'>UART</b>接口電路設(shè)計(jì)

    通用異步收發(fā)器UART串口協(xié)議簡介

    作為異步串行通信協(xié)議的一種,工作原理是將傳輸數(shù)據(jù)的每個二進(jìn)制位一位接一位地傳輸。在UART通信協(xié)議信號線上的狀態(tài)為高電平時代表1,信號線
    發(fā)表于 06-15 17:34 ?1460次閱讀

    正點(diǎn)原子Mini Linux—UART串口簡單介紹

    、I.MUX6ULL串口UART1、串口原理UART,也就是異步串行收發(fā)器,使用UART與外界相連最少只要三條:TXD(發(fā)送)、RXD(接
    發(fā)表于 01-12 20:14 ?0次下載
    正點(diǎn)原子Mini Linux—<b class='flag-5'>UART</b>串口簡單介紹

    Uart協(xié)議介紹

    文章目錄前言一、Uart協(xié)議(即串口)的基本概念二、Uart配置基本屬性1.波特率2.起始位3.數(shù)據(jù)位4.奇偶校驗(yàn)位5.停止位6.空閑位7.傳輸方向總結(jié)前言通用的硬件接口協(xié)議很多,我們
    發(fā)表于 01-17 12:56 ?13次下載
    <b class='flag-5'>Uart</b><b class='flag-5'>協(xié)議</b>介紹

    無刷電機(jī)有幾根 24V直流無刷電機(jī) 三條如何接線

    24V直流無刷電機(jī)通常有三條,這三條分別是電機(jī)的個線圈的引出線,需要將它們正確地接到電機(jī)驅(qū)動器或控制器上。
    發(fā)表于 03-08 16:49 ?5.5w次閱讀

    UART協(xié)議是干啥的

    UART協(xié)議是電子傳輸中一種常見的信號協(xié)議,通常只需要信號線就可以完成數(shù)據(jù)的收發(fā),分別是TX
    的頭像 發(fā)表于 11-06 10:08 ?1708次閱讀
    <b class='flag-5'>UART</b><b class='flag-5'>協(xié)議</b>是干啥的

    最詳細(xì)的UART通訊協(xié)議分析在這里

    。在19世紀(jì)60年代,為了解決計(jì)算機(jī)和電傳打字機(jī)通信,Bell發(fā)明了UART協(xié)議,將并行輸入信號轉(zhuǎn)換成串行輸出信號。因?yàn)?b class='flag-5'>UART簡單實(shí)用的特
    的頭像 發(fā)表于 01-12 14:15 ?1.5w次閱讀
    最詳細(xì)的<b class='flag-5'>UART</b>通訊<b class='flag-5'>協(xié)議</b>分析在這里

    UART串口通信協(xié)議是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一種通信接口協(xié)議,用于實(shí)現(xiàn)串口通信。它是一種簡單的、可靠的、廣泛應(yīng)用的串口通信協(xié)議。它是由美國
    的頭像 發(fā)表于 03-19 17:26 ?1104次閱讀