精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UART通訊原理

冬至子 ? 來源:華維單片機編程 ? 作者:華維 ? 2023-06-06 15:01 ? 次閱讀

- 前言 -

開發中經常用到串口通訊,串即串行,顧名思義,是指數據在一根數據線上按照二進制的數位,從低到高位一位一位的傳輸。單片機中的串口有UART,USART。

UART/USART 在許多 DIY 電子項目中用于將 GPS 模塊、藍牙模塊、 RFID 讀卡器模塊等連接到Raspberry PiArduino 或其他微控制器

- UART -

UART介紹:

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

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

Tips:

采用二進制來表示數據時:

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

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

UART工作原理

和其它串口一樣,數據按照二進制從低位到高位一位一位的傳輸,能將要傳輸的數據在串行通信與并行通信之間加以轉換,能夠靈活地與外部設備進行全雙工數據交換。例如要傳輸一個字節的數據10001110,它是從低位0開始,一位一位的傳輸過去。

在 UART 通信中,兩個 UART 直接相互通信。發送端將來自控制設備(如 CPU)的并行數據轉換為串行形式,接著將其串行傳輸到接收端,然后接收端將串行數據轉換回并行數據以供接收設備使用。

數據從一個UART的發送引腳(Tx) 流向另一個UART的接收(Rx) 引腳:

圖片

UART通訊分類:

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

半雙工:UART在同一時間,只用作發送或接收;

全雙工:UART在發送的同時,也可以接收;

UART波特率:

UART的波特率是指每秒傳輸的二進制位數(單位bps),比如9600bps,意思就是每秒鐘可以傳輸9600個位(bit)。

例如:設字符傳輸的速率為120字符/秒,而每1個字符為10位(bit),那么傳送的波特率為:10位/字符 * 120 字符/秒 = 1200 /秒 = 1200bps。那么每1位二進制位(bit)的傳送時間:

T = 1/1200 = 0.833ms

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

圖片

常見的波特率有9600、115200、128000、256000等。

- 通訊 -

通訊過程:

UART屬于異步傳輸數據,這意味著沒有時鐘信號將發送的位輸出與接收的位采樣同步,也就是發送與接收使用各自的時鐘。發送端將開始和停止位添加到傳輸的數據幀中,通過數據幀中定義的開始位和結束位,接收端知道何時開始讀取這些位。

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

圖片

起始位:UART 數據傳輸線在不傳輸數據時通常保持在高電平。要開始發送數據時,發送端UART先在一個時鐘周期內將傳輸線從高電平拉到低電平。當接收端UART 檢測到從高到低的電壓轉換時,它開始以設置好的波特率的頻率讀取數據幀中的位。

數據:數據幀包含正在傳輸的實際數據。如果使用奇偶校驗位,它可以是 5 位到 8 位。如果不使用奇偶校驗位,則數據幀可以是 9 位。在大多數情況下,首先發送的數據是最低有效位。

校驗:奇偶校驗位是接收端UART 判斷數據在傳輸過程中是否發生變化的一種方式。位會因電磁輻射、不匹配的波特率或長距離數據傳輸而發生改變。接收端 UART 讀取數據幀后,檢查數據部分值為1的個數是奇數還是偶數。當奇偶校驗位與數據匹配時,UART 知道傳輸沒有錯誤。

停止:發送端UART 將數據傳輸線從低電平拉到高電平持續至少兩個位的時間來表示整個數據包的傳輸已經結束。

發送接收過程:

1.UART 從數據總線并行接收數據:

圖片

2.發送 UART 將起始位、奇偶校驗位和停止位添加到數據幀:

圖片

3.整個數據包從發送 UART 串行發送到接收 UART。接收 UART 以預配置的波特率對數據線進行采樣:

圖片

4.接收 UART 丟棄數據幀中的起始位、奇偶校驗位和停止位:

圖片

5.接收端 UART 將串行數據轉換回并行,并將其傳輸到接收端的數據總線:

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7490

    瀏覽量

    151057
  • 單片機
    +關注

    關注

    6032

    文章

    44521

    瀏覽量

    633087
  • 串口通訊
    +關注

    關注

    1

    文章

    258

    瀏覽量

    24857
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15268
  • RFID讀卡器
    +關注

    關注

    0

    文章

    57

    瀏覽量

    11348
收藏 人收藏

    評論

    相關推薦

    UART通訊過程詳解

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

    通過中斷的方式進行UART通訊

    目錄前言數據格式波特率產生相關寄存器相關程序配置中斷相關內容配置通訊相關內容配置波特率串口及接收中斷配置接收中斷回調函數主邏輯UART模式對比不同配置波特率誤差表前言華大單片機HC32L110
    發表于 12-06 06:55

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

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

    如何實現基于STM32F103ZET6的UART通訊

    什么是IAP,為什么要IAP?如何實現基于STM32F103ZET6的UART通訊
    發表于 12-14 06:35

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

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

    關于485通訊UART通訊

    請問有人知道嗎,就是目前我的電路板是485通訊的,現在我想轉換成UART通訊,那么通過外接怎樣的電路到我的485通訊接口可以實現呢
    發表于 04-11 09:10

    uart通訊問題求助

    各位好,我是剛工作的新手,最近接手一個傳感器的項目,其中有一個問題是這樣的:芯片是KEAZ128,CO2傳感器跟mcu通訊時,CO2正確的應答數據是16 05 01+四個字節數據+校驗和。通過串口轉
    發表于 04-15 12:46

    AB32VG1之UART通訊相關資料分享

    1、AB32VG1之UART通訊  TTL轉RS232模塊一個,藍訊UART1。  串口參數為:波特率9600、停止位1數據位8、無友好。  軟件  開啟UART1  在硬件中使能
    發表于 10-21 14:53

    使用ISP Uart為LPC5528 CFPA和CMPA編程流程,IC沒有響應,Uart通訊失敗的原因?

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

    ARM中基于DMA的高效UART通訊及其應用

    UART通訊中,通過采取DMA方式,直接將UART接收的數據轉移到設定好的RAM區,然后設置相應的全局標志,通知主程序數據可用就可以了。
    發表于 04-16 16:32 ?7472次閱讀
    ARM中基于DMA的高效<b class='flag-5'>UART</b><b class='flag-5'>通訊</b>及其應用

    msp430 UART 通訊寄存器的詳細解讀

    msp430 UART 通訊 寄存器的詳細解讀 相關參數的設置和命令的詳見等等
    發表于 08-15 19:03 ?1次下載

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

    瑞薩G13單片機UART通訊例程
    發表于 04-12 11:03 ?12次下載

    UART通訊模塊介紹

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

    振弦采集模塊UART 通訊協議

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

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

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