一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

UART通訊原理

冬至子 ? 來(lái)源:華維單片機(jī)編程 ? 作者:華維 ? 2023-06-06 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

- 前言 -

開(kāi)發(fā)中經(jīng)常用到串口通訊,串即串行,顧名思義,是指數(shù)據(jù)在一根數(shù)據(jù)線上按照二進(jìn)制的數(shù)位,從低到高位一位一位的傳輸。單片機(jī)中的串口有UART,USART。

UART/USART 在許多 DIY 電子項(xiàng)目中用于將 GPS 模塊、藍(lán)牙模塊、 RFID 讀卡器模塊等連接到Raspberry Pi、Arduino 或其他微控制器

- UART -

UART介紹:

我們今天要介紹的UART,全稱Universal Asynchronous

Receiver/Transmitter,通用異步收發(fā)傳輸器。使用TTL電平信號(hào),和電腦的COM口(遵循RS-232)不同。它們之間不能直接通訊,需要在之間加入轉(zhuǎn)換器(如MAX232)。

Tips:

采用二進(jìn)制來(lái)表示數(shù)據(jù)時(shí):

TTL(晶體管-晶體管邏輯電平)電平信號(hào)規(guī)定,+5V等價(jià)于邏輯“1”,0V等價(jià)于邏輯“0”。

RS-232規(guī)定邏輯“1”的電平為-5V~-15 V,邏輯“0”的電平為+5 V~+15 V

UART工作原理

和其它串口一樣,數(shù)據(jù)按照二進(jìn)制從低位到高位一位一位的傳輸,能將要傳輸?shù)臄?shù)據(jù)在串行通信與并行通信之間加以轉(zhuǎn)換,能夠靈活地與外部設(shè)備進(jìn)行全雙工數(shù)據(jù)交換。例如要傳輸一個(gè)字節(jié)的數(shù)據(jù)10001110,它是從低位0開(kāi)始,一位一位的傳輸過(guò)去。

在 UART 通信中,兩個(gè) UART 直接相互通信。發(fā)送端將來(lái)自控制設(shè)備(如 CPU)的并行數(shù)據(jù)轉(zhuǎn)換為串行形式,接著將其串行傳輸?shù)浇邮斩?,然后接收端將串行?shù)據(jù)轉(zhuǎn)換回并行數(shù)據(jù)以供接收設(shè)備使用。

數(shù)據(jù)從一個(gè)UART的發(fā)送引腳(Tx) 流向另一個(gè)UART的接收(Rx) 引腳:

圖片

UART通訊分類:

單工:UART只用Tx或Rx其中一根線進(jìn)行通訊,也就是只作接收或發(fā)送;

半雙工:UART在同一時(shí)間,只用作發(fā)送或接收;

全雙工:UART在發(fā)送的同時(shí),也可以接收;

UART波特率:

UART的波特率是指每秒傳輸?shù)亩M(jìn)制位數(shù)(單位bps),比如9600bps,意思就是每秒鐘可以傳輸9600個(gè)位(bit)。

例如:設(shè)字符傳輸?shù)乃俾蕿?20字符/秒,而每1個(gè)字符為10位(bit),那么傳送的波特率為:10位/字符 * 120 字符/秒 = 1200 /秒 = 1200bps。那么每1位二進(jìn)制位(bit)的傳送時(shí)間:

T = 1/1200 = 0.833ms

UART要求發(fā)送與接收兩個(gè)UART的波特率配置相同。如果發(fā)送與接收波特率不同,相差很大,接收端采樣點(diǎn)跨過(guò)多個(gè)電平,造成接收丟失,或者造成波特率不匹配,接收失敗,如下圖:

圖片

常見(jiàn)的波特率有9600、115200、128000、256000等。

- 通訊 -

通訊過(guò)程:

UART屬于異步傳輸數(shù)據(jù),這意味著沒(méi)有時(shí)鐘信號(hào)將發(fā)送的位輸出與接收的位采樣同步,也就是發(fā)送與接收使用各自的時(shí)鐘。發(fā)送端將開(kāi)始和停止位添加到傳輸?shù)臄?shù)據(jù)幀中,通過(guò)數(shù)據(jù)幀中定義的開(kāi)始位和結(jié)束位,接收端知道何時(shí)開(kāi)始讀取這些位。

每個(gè)數(shù)據(jù)幀包含 1 個(gè)起始位、5 到 9 個(gè)數(shù)據(jù)位(取決于 UART的設(shè)置,如果有奇偶校驗(yàn)位是5到8,沒(méi)有則是5到9)、一個(gè)可選的奇偶校驗(yàn)位和 1 個(gè)或 2 個(gè)停止位:

圖片

起始位:UART 數(shù)據(jù)傳輸線在不傳輸數(shù)據(jù)時(shí)通常保持在高電平。要開(kāi)始發(fā)送數(shù)據(jù)時(shí),發(fā)送端UART先在一個(gè)時(shí)鐘周期內(nèi)將傳輸線從高電平拉到低電平。當(dāng)接收端UART 檢測(cè)到從高到低的電壓轉(zhuǎn)換時(shí),它開(kāi)始以設(shè)置好的波特率的頻率讀取數(shù)據(jù)幀中的位。

數(shù)據(jù):數(shù)據(jù)幀包含正在傳輸?shù)膶?shí)際數(shù)據(jù)。如果使用奇偶校驗(yàn)位,它可以是 5 位到 8 位。如果不使用奇偶校驗(yàn)位,則數(shù)據(jù)幀可以是 9 位。在大多數(shù)情況下,首先發(fā)送的數(shù)據(jù)是最低有效位。

校驗(yàn):奇偶校驗(yàn)位是接收端UART 判斷數(shù)據(jù)在傳輸過(guò)程中是否發(fā)生變化的一種方式。位會(huì)因電磁輻射、不匹配的波特率或長(zhǎng)距離數(shù)據(jù)傳輸而發(fā)生改變。接收端 UART 讀取數(shù)據(jù)幀后,檢查數(shù)據(jù)部分值為1的個(gè)數(shù)是奇數(shù)還是偶數(shù)。當(dāng)奇偶校驗(yàn)位與數(shù)據(jù)匹配時(shí),UART 知道傳輸沒(méi)有錯(cuò)誤。

停止:發(fā)送端UART 將數(shù)據(jù)傳輸線從低電平拉到高電平持續(xù)至少兩個(gè)位的時(shí)間來(lái)表示整個(gè)數(shù)據(jù)包的傳輸已經(jīng)結(jié)束。

發(fā)送接收過(guò)程:

1.UART 從數(shù)據(jù)總線并行接收數(shù)據(jù):

圖片

2.發(fā)送 UART 將起始位、奇偶校驗(yàn)位和停止位添加到數(shù)據(jù)幀:

圖片

3.整個(gè)數(shù)據(jù)包從發(fā)送 UART 串行發(fā)送到接收 UART。接收 UART 以預(yù)配置的波特率對(duì)數(shù)據(jù)線進(jìn)行采樣:

圖片

4.接收 UART 丟棄數(shù)據(jù)幀中的起始位、奇偶校驗(yàn)位和停止位:

圖片

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

圖片

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

    關(guān)注

    48

    文章

    7952

    瀏覽量

    155023
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44991

    瀏覽量

    650413
  • 串口通訊
    +關(guān)注

    關(guān)注

    1

    文章

    265

    瀏覽量

    25548
  • UART接口
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    15874
  • RFID讀卡器
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    11756
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    UART通訊過(guò)程詳解

    UART通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通信雙方接三根線,RX、TX和GND。其中,TX用于發(fā)送數(shù)據(jù),RX用于接受數(shù)據(jù),雙方收發(fā)交叉對(duì)接,支持全雙工方式。
    的頭像 發(fā)表于 09-28 15:06 ?3726次閱讀
    <b class='flag-5'>UART</b><b class='flag-5'>通訊</b>過(guò)程詳解

    通過(guò)中斷的方式進(jìn)行UART通訊

    目錄前言數(shù)據(jù)格式波特率產(chǎn)生相關(guān)寄存器相關(guān)程序配置中斷相關(guān)內(nèi)容配置通訊相關(guān)內(nèi)容配置波特率串口及接收中斷配置接收中斷回調(diào)函數(shù)主邏輯UART模式對(duì)比不同配置波特率誤差表前言華大單片機(jī)HC32L110
    發(fā)表于 12-06 06:55

    如何解決UART通訊不受長(zhǎng)度和回車等字符限制?

    如何解決UART通訊不受長(zhǎng)度和回車等字符限制?
    發(fā)表于 12-13 06:47

    如何實(shí)現(xiàn)基于STM32F103ZET6的UART通訊?

    什么是IAP,為什么要IAP?如何實(shí)現(xiàn)基于STM32F103ZET6的UART通訊
    發(fā)表于 12-14 06:35

    鉅泉(HiTrendtech) HT7017,現(xiàn)貨 UART 通訊接口的高精度單相多功能計(jì)量芯片

    HT7017是-顆帶UART通訊接口的高精度單相多功能計(jì)量芯片。芯片的工作電壓范圍是4.5 ~ 5.5V。工作晶振為6MHz。1.2. 芯片特性◆三路 22 bit Sigma-Delta ADC
    發(fā)表于 03-09 11:11

    關(guān)于485通訊轉(zhuǎn)UART通訊

    請(qǐng)問(wèn)有人知道嗎,就是目前我的電路板是485通訊的,現(xiàn)在我想轉(zhuǎn)換成UART通訊,那么通過(guò)外接怎樣的電路到我的485通訊接口可以實(shí)現(xiàn)呢
    發(fā)表于 04-11 09:10

    AB32VG1之UART通訊相關(guān)資料分享

    1、AB32VG1之UART通訊  TTL轉(zhuǎn)RS232模塊一個(gè),藍(lán)訊UART1。  串口參數(shù)為:波特率9600、停止位1數(shù)據(jù)位8、無(wú)友好?! ≤浖 ¢_(kāi)啟UART1  在硬件中使能
    發(fā)表于 10-21 14:53

    使用ISP Uart為L(zhǎng)PC5528 CFPA和CMPA編程流程,IC沒(méi)有響應(yīng),Uart通訊失敗的原因?

    目前正在開(kāi)發(fā)LPC5528 CFPA和CMPA編程流程,使用ISP Uart。 但是剛開(kāi)始發(fā)送(0x5A 0xA6)(波特率115200),IC沒(méi)有響應(yīng),看來(lái)Uart通訊失敗 ?我們的原理圖如下,您有什么建議嗎? ?
    發(fā)表于 05-29 06:41

    ARM中基于DMA的高效UART通訊及其應(yīng)用

    UART通訊中,通過(guò)采取DMA方式,直接將UART接收的數(shù)據(jù)轉(zhuǎn)移到設(shè)定好的RAM區(qū),然后設(shè)置相應(yīng)的全局標(biāo)志,通知主程序數(shù)據(jù)可用就可以了。
    發(fā)表于 04-16 16:32 ?7959次閱讀
    ARM中基于DMA的高效<b class='flag-5'>UART</b><b class='flag-5'>通訊</b>及其應(yīng)用

    msp430 UART 通訊寄存器的詳細(xì)解讀

    msp430 UART 通訊 寄存器的詳細(xì)解讀 相關(guān)參數(shù)的設(shè)置和命令的詳見(jiàn)等等
    發(fā)表于 08-15 19:03 ?1次下載

    瑞薩G13單片機(jī)UART通訊例程資料包下載

    瑞薩G13單片機(jī)UART通訊例程
    發(fā)表于 04-12 11:03 ?15次下載

    UART通訊模塊介紹

    功耗,并且集成了豐富的外設(shè)模塊,可以滿足工業(yè)和消費(fèi)等多種應(yīng)用。MSP430FR2311中的eUSCI_A0支持UART通訊,本文對(duì)此UART模塊的寄存器配置進(jìn)行了詳細(xì)的分析和計(jì)算,以幫助工程師對(duì)此
    的頭像 發(fā)表于 01-11 10:43 ?2552次閱讀

    振弦采集模塊UART 通訊協(xié)議

    振弦采集模塊UART 通訊協(xié)議 UART 接口支持標(biāo)準(zhǔn)的工業(yè) MODBUS 通訊協(xié)議( 03、 04、 06、 16 指令碼)和自定義的簡(jiǎn)單 AABB協(xié)議以及$字符串指令集。 前兩種協(xié)
    發(fā)表于 11-15 09:40 ?440次閱讀
    振弦采集模塊<b class='flag-5'>UART</b> <b class='flag-5'>通訊</b>協(xié)議

    VM系列振弦采集模塊 溫度傳感器使用及UART 通訊參數(shù)

    VM系列振弦采集模塊 溫度傳感器使用及UART 通訊參數(shù) VM系列振弦采集模塊 VMXXX 模塊支持外接溫度傳感器,通過(guò)設(shè)置寄存器 TEMP_EX 的值來(lái)選擇外接溫度傳感器的類型, 通過(guò)讀取寄存器
    發(fā)表于 12-13 10:07 ?580次閱讀
    VM系列振弦采集模塊 溫度傳感器使用及<b class='flag-5'>UART</b> <b class='flag-5'>通訊</b>參數(shù)

    HT7017 是一顆帶 UART 通訊接口的高精度單相多功能計(jì)量芯片

    1.芯片簡(jiǎn)介HT7017是一顆帶UART通訊接口的高精度單相多功能計(jì)量芯片。芯片的工作電壓范圍是4.5~5.5V。工作晶振為6MHz。2.芯片特性三路22bitSigma-DeltaADC支持
    的頭像 發(fā)表于 06-19 16:57 ?1976次閱讀
    HT7017 是一顆帶 <b class='flag-5'>UART</b> <b class='flag-5'>通訊</b>接口的高精度單相多功能計(jì)量芯片