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

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

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

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

嵌入式單片機(jī)MCU開發(fā) ? 來源:嵌入式單片機(jī)MCU開發(fā) ? 作者:嵌入式單片機(jī)MCU開 ? 2022-11-14 16:48 ? 次閱讀

概述

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。它將要傳輸?shù)?a href="http://www.wenjunhu.com/soft/special/" target="_blank">資料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號轉(zhuǎn)成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連結(jié)上。 具體實物表現(xiàn)為獨(dú)立的模塊化芯片,或作為集成于微處理器中的周邊設(shè)備。一般是RS-232C規(guī)格的,與類似Maxim的MAX232之類的標(biāo)準(zhǔn)信號幅度變換芯片進(jìn)行搭配,作為連接外部設(shè)備的接口。在UART上追加同步方式的序列信號變換電路的產(chǎn)品,被稱為USART(Universal Synchronous Asynchronous Receiver Transmitter)。

接口

在UART通信中,兩個UART直接相互通信。發(fā)送UART將來自CPU等控制設(shè)備的并行數(shù)據(jù)轉(zhuǎn)換為串行形式,并將其串行發(fā)送到接收UART,接收UART然后將串行數(shù)據(jù)轉(zhuǎn)換回接收設(shè)備的并行數(shù)據(jù)。數(shù)據(jù)從發(fā)送UART的Tx引腳流向接收UART的Rx引腳,硬件連接比較簡單,僅需要3條線,如果兩個設(shè)備UART電平不一致需要轉(zhuǎn)換電平再連接。

TX - 數(shù)據(jù)發(fā)送接口 RX - 數(shù)據(jù)接受接口 GND - 保證兩設(shè)備共地,有統(tǒng)一的參考平面 在這里插入圖片描述

通信協(xié)議

UART串口傳輸?shù)臄?shù)據(jù)被組織成數(shù)據(jù)包。每個數(shù)據(jù)包包含1個起始位,5至9個數(shù)據(jù)位,可選的奇偶校驗位和1或1.5或2個停止位,協(xié)議如下: |起始位|數(shù)據(jù)位 |奇偶校驗位|停止位| |--|--|--|--| | 1bit | 5-9bit |0-1bit | 1-2bit | 空閑位 :UART協(xié)議規(guī)定,當(dāng)總線處于空閑狀態(tài)時信號線的狀態(tài)為‘1’即高電平,表示當(dāng)前線路上沒有數(shù)據(jù)傳輸。

起始位 :開始進(jìn)行數(shù)據(jù)傳輸時發(fā)送方要先發(fā)出一個低電平’0’來表示傳輸字符的開始。因為總線空閑時為高電平所以開始一次通信時先發(fā)送一個明顯區(qū)別于空閑狀態(tài)的信號即低電平。

數(shù)據(jù)位 :起始位之后就是要傳輸需要傳輸?shù)臄?shù)據(jù),數(shù)據(jù)可以是5,6,7,8,9位,構(gòu)成一個字符,一般都是8位。先發(fā)送最低位最后發(fā)送最高位,使用低電平表示‘0’高電平表示‘1’完成數(shù)據(jù)位的傳輸。 奇偶校驗位 :數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗數(shù)據(jù)傳送的正確性。校驗位其實是調(diào)整個數(shù),串口校驗分幾種方式:

  1. 無校驗(no parity)
  2. 奇校驗(odd parity):如果數(shù)據(jù)位中“1”的數(shù)目是偶數(shù),則校驗位為“1”,如果“1”的數(shù)目是奇數(shù),校驗位為“0”。
  3. 偶校驗(even parity):如果數(shù)據(jù)為中“1”的數(shù)目是偶數(shù),則校驗位為“0”,如果為奇數(shù),校驗位為“1”。
  4. mark parity:校驗位始終為1(不常用)。
  5. parity:校驗位始終為0(不常用)。

停止位 :數(shù)據(jù)結(jié)束標(biāo)志,可以是1位,1.5位,2位的高電平。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備之間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機(jī)校正時鐘的機(jī)會。停止位個數(shù)越多,數(shù)據(jù)傳輸越穩(wěn)定,但是數(shù)據(jù)傳輸速度也越慢。 傳輸方向 :即數(shù)據(jù)是從高位(MSB)開始傳輸還是從低位(LSB)開始傳輸。

波特率

電子通信領(lǐng)域,波特(Baud)即調(diào)制速率,指的是有效數(shù)據(jù)訊號調(diào)制載波的速率,即單位時間內(nèi)載波調(diào)制狀態(tài)變化的次數(shù)。 波特率表示每秒鐘傳送的碼元符號的個數(shù),它是對符號傳輸速率的一種度量,它用單位時間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來表示,1波特即指每秒傳輸1個符號。 數(shù)據(jù)傳輸速率使用波特率來表示。單位bps(bits per second),常見的波特率9600bps、115200bps等等,其他標(biāo)準(zhǔn)的波特率是1200,2400,4800,19200,38400,57600。舉個例子,如果串口波特率設(shè)置為115200bps,那么傳輸一個比特需要的時間是1/115200≈8.68us。

示例

設(shè)置115200,傳輸單個0x62的數(shù)據(jù),使用示波器抓得的波形如下所示。 在這里插入圖片描述 上圖是uart協(xié)議傳輸一個0x62的數(shù)據(jù),通過示波器的uart解碼而得到的波形示意圖,由于未設(shè)置奇偶校驗位,故在上圖未顯示出來;比特流格式為LSB,故從低位開始傳輸,接收數(shù)據(jù)為0100 0110,實際的數(shù)據(jù)應(yīng)該反過來,即0110 0010(0x62)。

設(shè)置115200,傳輸0x55,0xAA,0x03等多個數(shù)據(jù)時,使用示波器抓得的波形如下所示。 在這里插入圖片描述

上圖是uart協(xié)議傳輸0x55,0xAA,0x03等多個數(shù)據(jù),通過示波器的uart解碼而得到的波形示意圖,由于未設(shè)置奇偶校驗位,故在上圖未顯示出來,設(shè)置的停止位為1位;比特流格式為LSB,故從低位開始傳輸,接收三個數(shù)據(jù)分別為1010 1010、0101 0101、1100 0000,實際的數(shù)據(jù)應(yīng)該反過來,即0101 0101(0x55)、1010 1010(0xAA)、0000 0011(0x03)。

審核編輯:湯梓紅

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

    關(guān)注

    14

    文章

    1557

    瀏覽量

    76711
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1241

    瀏覽量

    101526
  • 通訊協(xié)議
    +關(guān)注

    關(guān)注

    10

    文章

    278

    瀏覽量

    20385
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

    - 數(shù)據(jù)接受接口 GND - 保證兩設(shè)備共地,有統(tǒng)一的參考平面 通信協(xié)議 UART串口傳輸?shù)臄?shù)據(jù)被組織成數(shù)據(jù)包。每個數(shù)據(jù)包包含1個起始位,5至9個數(shù)據(jù)位,可選的奇偶校驗位和1或1.5或2個停止位
    發(fā)表于 09-12 16:01

    RS-232-C串口通訊協(xié)議解析

    RS-232-C串口通訊協(xié)議解析
    發(fā)表于 08-18 22:08

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

    UART串口通訊協(xié)議解析概述接口通信協(xié)議概述通用異步收發(fā)傳輸器(Universal Asynch
    發(fā)表于 07-29 08:07

    基于STM32的串口通訊協(xié)議

    通訊協(xié)議是指在嵌入式開發(fā)中,不同的硬件系統(tǒng)或者操作系統(tǒng)之間進(jìn)行數(shù)據(jù)交換的方式,是一種數(shù)據(jù)通訊的規(guī)約。 通訊協(xié)議有很多種,而我今天要說的是
    發(fā)表于 08-03 06:12

    串口通訊協(xié)議的相關(guān)資料推薦

    文章目錄通訊的基本概念串口通訊協(xié)議簡介物理層RS-232標(biāo)準(zhǔn)USB轉(zhuǎn)串口原生的串口
    發(fā)表于 12-09 08:27

    SPI、I2C、UART串行總線協(xié)議

    串口通訊通信協(xié)議UART,以及常用外設(shè)通信協(xié)議 SPI、I2C的介紹與他們之間的區(qū)別
    發(fā)表于 11-30 11:28 ?95次下載

    實驗五 UART串口通訊實驗

    UART串口通訊
    發(fā)表于 01-22 20:51 ?8次下載

    基于KMP算法的串口通訊協(xié)議解析鄒鐵

    基于KMP算法的串口通訊協(xié)議解析_鄒鐵
    發(fā)表于 03-17 08:00 ?2次下載

    【STM32學(xué)習(xí)筆記】串口通訊 — USART / UART

    文章目錄通訊的基本概念串口通訊協(xié)議簡介物理層RS-232標(biāo)準(zhǔn)USB轉(zhuǎn)串口原生的串口
    發(fā)表于 11-26 11:51 ?15次下載
    【STM32學(xué)習(xí)筆記】<b class='flag-5'>串口</b><b class='flag-5'>通訊</b> — USART / <b class='flag-5'>UART</b>

    UART串口通訊

    UART串口通訊總結(jié)前言串口的基本概念串口配置的基本屬性串口(Serial port)和RS-2
    發(fā)表于 12-20 19:31 ?24次下載
    <b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通訊</b>

    STM32的串口通訊協(xié)議

    本文主要講解串口協(xié)議和RS-232標(biāo)準(zhǔn),以及RS232電平與TTL電平的區(qū)別;介紹"USB/TTL轉(zhuǎn)232"模塊(以CH340芯片模塊為例)的工作原理。一、串口協(xié)議1.1
    發(fā)表于 12-24 18:37 ?8次下載
    STM32的<b class='flag-5'>串口</b><b class='flag-5'>通訊</b><b class='flag-5'>協(xié)議</b>

    串口通訊時的數(shù)據(jù)幀格式和通訊協(xié)議有什么區(qū)別?

    串口通訊時的數(shù)據(jù)幀格式和通訊協(xié)議是兩個不同的概念,它們在串口通訊中起著不同的作用,但都是為了實現(xiàn)
    的頭像 發(fā)表于 01-30 09:21 ?2111次閱讀

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

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

    受電端PD快充協(xié)議芯片,支持全協(xié)議,支持UART串口通訊協(xié)議

    串口通訊協(xié)議芯片,這不但使產(chǎn)品的成本增高,也占據(jù)了PCB板空間。匯銘達(dá)XSP16作為一款既支持快充功能又支持通過UART串口
    的頭像 發(fā)表于 12-26 16:13 ?216次閱讀
    受電端PD快充<b class='flag-5'>協(xié)議</b>芯片,支持全<b class='flag-5'>協(xié)議</b>,支持<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通訊</b><b class='flag-5'>協(xié)議</b>