色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

UART傳輸的數據被封裝成數據包

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-21 11:17 ? 次閱讀

介紹UART

最早的串行通訊設備可以追溯到電報機,它使用長度可變的脈沖信號進行數據傳輸。要說早期的芯片級UART,不得不提一下DEC,該公司的PDP系列計算機用上了第一個UART。當時的UART的線路占據了整個電路板,體積巨大!可以聯想一下早期計算機的樣子,如下圖。

如今PC機上的串口早已被USB取代,對RS-232(也稱標準串口)有需求的用戶通常使用USB轉串口線,這里常見的有CH340串口驅動程序。在UART通信中,兩個UART直接通信。

發送端的UART將來自控制設備(如CPU)的并行數據轉換為串行數據,以串行方式將其發送到接收端的UART,然后由接收端的UART將串行數據轉換為并行數據以用于接收設備的正常處理。這里只需要兩條線RX/TX即可在兩個UART之間傳輸數據,如下圖所示。

UART傳輸的數據被封裝成數據包。每個數據包包含1個起始位,5~9個數據位(取決于UART的具體設置),一個可選的奇偶校驗位以及1個或2個停止位,如下圖所示。

起始位

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

數據

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

校驗位

在串口通信中一種簡單的檢錯方式。有四種檢錯方式:

偶校驗

奇校驗

高校驗

低校驗

對于偶和奇校驗的情況,串口會設置校驗位(數據位后面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。

停止位

發送端UART將數據傳輸線從低電壓驅動到高電壓至少持續兩位數據的時間寬度來表示整個數據包的傳輸已經結束。由于數據是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數越多,不同時鐘同步的容錯性越好,但是數據傳輸率同時也越慢。

波特率

波特率是串口數據的傳輸速度,即Bit/s,常見的波特率比如:9600,19200,38400,57600,115200等。假設目前UART的配置為,1個起始位,8個數據位,0個校驗位,1個停止位,那么9600的波特率,可以計算出每一位數據的時間寬度為:

o4YBAGAHxKWADljhAAAQjK6T-sg963.png

那么傳輸一個字節(也就是10 bit 數據)需要的時間為 1.04 毫秒。

UART傳輸過程

①發送端UART從數據總線轉換并行數據。

②發送端UART將起始位,奇偶校驗位和停止位添加到數據包中,示意圖如下。

③整個數據包從發送端UART串行發送到接收端UART,接收端UART按照預先配置好的波特率對數據線進行采樣,示意圖如下。

④接收端UART解析接收的數據,丟棄數據包中的起始位,奇偶校驗位和停止位。

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

本文轉自: STM32嵌入式開發(微信號:c-stm32),作者:acket,轉載此文目的在于傳遞更多信息,版權歸原作者所有。

審核編輯:何安

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

    關注

    6039

    文章

    44575

    瀏覽量

    636395
  • uart
    +關注

    關注

    22

    文章

    1240

    瀏覽量

    101488
  • 異步串行
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6639
收藏 人收藏

    評論

    相關推薦

    mtu配置步驟詳解 mtu與數據包丟失的關系

    MTU(Maximum Transmission Unit)即最大傳輸單元,是指一種通信協議的某一層上面所能通過的最大數據報大小,單位是字節。MTU配置步驟及其與數據包丟失的關系如下: MTU配置
    的頭像 發表于 12-16 14:33 ?685次閱讀

    華納云:服務器平均響應時間和數據包大小之間的影響

    服務器的平均響應時間與數據包大小有一定的關系,但這只是影響響應時間的眾多因素之一。具體來說,數據包大小對服務器響應時間的影響可以從以下幾個方面來理解: 1.數據傳輸時間 影響: 較大的數據包
    的頭像 發表于 10-10 14:01 ?265次閱讀

    請問DCTCP與DCUDP 的登錄數據包和心跳數據包與服務器端是如何交互的?

    DCTCP與DCUDP的登錄數據包和心跳數據包與服務器端是如何交互的?
    發表于 07-25 06:37

    esp8266怎么做才能每秒發送更多的數據包呢?

    在我的項目中,我需要通過WIFI實時傳輸大量數據。在 esp8266 參考手冊中指出,我可以將 UART 波特率提高到 4 Mbits 左右,以實現更快的通信。 問題是,增加波特率不會改變整體發送
    發表于 07-22 08:00

    如何在UART上制作一個偵聽器來接收數據包

    我想在 UART 上制作一個偵聽器來接收數據包。 我該怎么做?有沒有任何形式的假多線程?
    發表于 07-19 09:54

    使用AT SAVETRANSLINK時UDP數據包丟失怎么解決?

    Android 發送一個小 UDP 數據包(5 字節)。這個小數據包被我的微控制器在UART上接收到。微控制器將更大的數據包(可變長度,約 100 字節)發送回
    發表于 07-18 07:17

    能否在ESP結束之前通過串行端口停止傳入的UDP數據包傳輸以解析下一個UDP數據包

    丟棄在ESP完成之前不需要的數據包,以便通過串行端口發送它以接收下一個數據包, 如果沒有,我必須按順序讀取所有傳入的數據包,需要的和不需要的, 而且波特率不足,主機處理器開銷大, 我能否在 ESP 結束之前通過串行端口停止傳入
    發表于 07-16 06:18

    請問如何使用AT CIPSEND或AT CIPSENDBUF發送多個數據包

    我可以使用 AT CIPSEND 發送單個數據包。但是我必須發送一系列二進制數據包。如何使用AT CISEND或AT CIPSENDBUF發送多個數據包,什么是正確的算法? 到目前為止,我嘗試
    發表于 07-15 07:37

    NONOS如何檢查是否實際發送了UDP數據包

    我發現進入深度睡眠通常無法傳輸發送的最后一個 UDP 數據包。我現在將睡眠延遲 30 毫秒,這是一個黑客。 我寧愿有一種方法來檢查是否可以休眠,或者以其他方式能夠注冊指示數據包已發送的回調(無線電發送緩沖區為空)。 說清楚:
    發表于 07-12 06:14

    用ESP32-CAM和ESP-WROVER-KIT做局域網視頻傳輸時,如何修改UDP數據包最大長度?

    UDP數據包的包頭可以看出,UDP的最大包長度是2^16-1的個字節。由于UDP包頭占8個字節,而在IP層進行封裝后的IP包頭占去20字節,所以這個是UDP數據包的最大理論長度是2^16 - 1 - 8 - 20 = 65507
    發表于 06-21 06:09

    在AN65974中短數據包和零長數據包是什么意思?

    在 AN65974 中,短數據包和零長數據包是什么意思? 非常感謝!
    發表于 05-30 07:41

    如何在AIROC GUI上獲取良好數據包和總數據包

    使用 IQxel-MW LifePoint 作為發生器并發送波形BT_1DH5_00001111_Fs80M.iqvsg,但無法在 AIROC 工具中接收數據包。 以下是從 IQxel 發送
    發表于 05-22 06:39

    請問高端網絡芯片如何處理數據包呢?

    隨著網絡芯片帶寬的持續提升,其內部數據包處理單元的工作負載也隨之增加。然而,如果處理單元無法與網絡接口的傳入速率相匹配,將無法及時處理數據包,這不僅會導致數據包隨機丟失,更會降低網絡的吞吐量。
    的頭像 發表于 04-02 16:36 ?654次閱讀
    請問高端網絡芯片如何處理<b class='flag-5'>數據包</b>呢?

    STM32H7接收數據包異常,一接收的數據出現兩發送的內容怎么解決?

    );__HAL_UART_DISABLE_IT( huart1, DMA_IT_HT); 2、發送數據包1
    發表于 03-08 08:05

    DPDK在AI驅動的高效數據包處理應用

    傳統的數據包處理方式是數據包先到內核最后再到用戶層進行處理。這種方式會增加額外的延遲和CPU開銷,嚴重影響數據包處理的性能。 DPDK 繞過內核,在用戶空間中實現快速數據包處理。
    的頭像 發表于 02-25 11:28 ?975次閱讀
    DPDK在AI驅動的高效<b class='flag-5'>數據包</b>處理應用
    主站蜘蛛池模板: 做暖免费观看日本| 外女思春台湾三级| 99久久国产综合色| 午夜伦伦电影理论片费看| 免费高清毛片| 韩剧甜性涩爱| 国产91综合| 97视频在线免费播放| 伊人久久大香线蕉综合高清| 日韩精品真人荷官无码| 另类专区hy777| 果冻传媒 在线播放观看| 俄罗斯性xxxx| caoporn 超碰在线视频| 在线播放真实国产乱子伦| 亚洲精品第一页| 无码一区二区在线欧洲| 亚洲精品国产精品麻豆99| 在线超碰免费视频观看| 99久久精品全部| 丰满人妻无码AV系列| 国产一区二区波多野结衣| 国产色播视频在线观看| 国产精品AV色欲蜜臀在线| 不戴套挺进人妻怀孕| 97在线免费观看| 成人国产精品日本在线| 扒开双腿疯进出爽爽爽动态图| 97精品国产自产在线观看永久| 尤物99久久久合集一区区| 艺术片 快播| DASD-700美谷朱里| 国产精品系列在线一区| 国产亚洲精品免费视频| 玖玖爱精品视频| 美女内射少妇三区五区| 色狠狠AV老熟女| 天天爽夜夜爽夜夜爽| 无限资源在线观看播放| 中文字幕在线免费观看视频| 岛国电影网址|