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

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

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

3天內不再提示

UART串口通信協議詳解

我快閉嘴 ? 來源:全棧芯片工程師 ? 作者:Chiptist ? 2022-09-07 09:47 ? 次閱讀

通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UATR,是一種串行、異步、全雙工的收發器。全雙工的UART支持同時雙向通信,是嵌入式系統必不可少的debug接口。

什么是全雙工?什么是半雙工?

全雙工:同一時刻,兩個設備都在收發數據,比如SPI。注意QSPI是半雙工,因為4根線只能同時收或者發。

半雙工:兩設備間可以收發數據,但只能收完再發或發完再收。

單工:任何時刻只能進行一個方向的通訊,且固定一方為發送設備,一方為接收設備。

串口通信協議

dfcde42c-2de8-11ed-ba43-dac502259ad0.png

空閑位:不通信時,TX & RX是邏輯“1”狀態,表示當前線路無數據傳輸。

起始位:發送“0”,表示傳輸開始。

數據位:起始位之后,數據位的個數可以是5、6、7、8等,一般是8bit,采用ASCII碼。從最低位開始傳送,根據波特率在數據bit穩定的中間位置采樣。

奇偶校驗位:數據位加上這一位后,使得“1”的位數為偶數,則為偶校驗,使得“1”的位數為奇數則為奇校驗,以次來校驗數據傳送的正確性。

比如一個 8 位長的有效數據為:10100101,此時總共有 4 個“ 1”,

為達到奇校驗效果,校驗位應為“ 1”,即有效數據和校驗位中“ 1”的個數為奇數。

為達到偶校驗效果,校驗位應為“ 0”,即有效數據和校驗位中“ 1”的個數為偶數。

注意,UART校驗方法有:奇校驗(odd)、偶校驗(even)、0校驗(space)、0校驗(mark)、無校驗(noparity),為了提高實際帶寬,一般可省去校驗位,即選擇無校驗,思考下為什么?

0 校驗是不管有效數據是什么,校驗位固定為“ 0”。1 校驗是校驗位固定為“ 1”。

無校驗就是數據包中不包含校驗位。

停止位:一個字符數據傳輸的結束標志,可以是1位、1.5位、2位的高電平。停止位不僅表示傳輸的結束,并且可提供校正時鐘同步。停止位的位數越多,時鐘容忍程度越大,但有效帶寬就越小。

波特率

數據傳輸速率使用波特率來表示。單位bps(bits per second),常見的波特率9600bps、19200bps、115200bps等,如果串口波特率設置為9600bps,那么傳輸1bit數據需要的時間是1/9600≈104.2us。

帶上校驗位,傳送一個字符數據實際是11個比特(1bit開始位、8bit數據位、1bit校驗位、1bit停止位),有效的傳輸速率實際為9600*8/11= 6982bps。

不帶校驗位,傳送一個字符數據實際是10個比特(1bit開始位、8bit數據位、1bit停止位),有效的傳輸速率實際為9600*8/10=7680bps。

這就是為何不傳校驗位,可以提高一點帶寬,也就是所謂的開銷。

以小編設計的RISC-V SoC為例,仿真UART:

e0205e78-2de8-11ed-ba43-dac502259ad0.png

寫個簡單的測試程序:

e04bb5e6-2de8-11ed-ba43-dac502259ad0.png

配置波特率115200bps:

e0726074-2de8-11ed-ba43-dac502259ad0.png

觀察到1bit的傳輸時間為8.8us,1s/115200bps=8.68us, 基本符合預期。

e09dc796-2de8-11ed-ba43-dac502259ad0.png

仿真打印效果:

e0b71958-2de8-11ed-ba43-dac502259ad0.png

審核編輯:湯梓紅

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

    關注

    10

    文章

    3338

    瀏覽量

    105539
  • 通信協議
    +關注

    關注

    28

    文章

    810

    瀏覽量

    40120
  • uart
    +關注

    關注

    22

    文章

    1199

    瀏覽量

    100829

原文標題:UART通信協議及SoC仿真

文章出處:【微信號:全棧芯片工程師,微信公眾號:全棧芯片工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    通用異步收發傳輸器UART串口通信協議有哪些特性呢

    什么是通用異步收發傳輸器UART呢?通用異步收發傳輸器UART串口通信協議有哪些特性呢?
    發表于 11-01 07:03

    UART串口通信協議的相關資料分享

    #今天也是咸魚的一天~UART是一個很基礎的串口通信協議,有人打趣說只要有單片機的地方,就一定有uart。這話不假,不僅很多模塊和單片機的通信
    發表于 01-18 09:42

    UART通信協議的相關資料推薦

    開發板來舉例講解(其他STM32系列芯片大多數都可以按照這些步驟來操作的),如有不足請多多指教。2、UART簡介  嵌入式開發中,UART串口通信協議是我們常用的
    發表于 01-25 06:40

    串口通信協議的相關資料分享

    目錄一、串口通信協議1、UART簡介2、 UART通信協議(1)起始位(2)數據幀(3)奇偶校驗位(4)停止位(5)下個起始位(6)波特率二
    發表于 02-22 07:16

    Modbus通信協議詳解

    關于Modbus通信協議詳解和應用分析
    發表于 10-12 16:54 ?150次下載
    Modbus<b class='flag-5'>通信協議</b><b class='flag-5'>詳解</b>

    串口通信協議詳解

    串口是計算機上一種非常通用設備通信協議。大多數計算機包含兩個基于RS232的串口。串口同時也是儀器儀表設備通用的
    發表于 11-09 14:51 ?8622次閱讀

    基于狀態機的串口通信協議的設計與實現

    設計并實現了一種基于狀態機的串口通信協議,并將此協議應用到稱重儀表的上位機通信中。本文介紹了串口通信協議
    發表于 05-08 15:22 ?169次下載
    基于狀態機的<b class='flag-5'>串口</b><b class='flag-5'>通信協議</b>的設計與實現

    PC與單片機串口通信協議

    PC與單片機串口通信協議
    發表于 12-26 22:12 ?0次下載

    科爾摩根伺服驅動器串口通信協議

    科爾摩根伺服驅動器串口通信協議
    發表于 09-03 09:30 ?24次下載
    科爾摩根伺服驅動器<b class='flag-5'>串口</b><b class='flag-5'>通信協議</b>

    基于51單片機的UART串口通信

    基于51單片機的UART串口通信詳解
    發表于 11-21 10:14 ?6.3w次閱讀
    基于51單片機的<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    基于STM32之UART串口通信協議(一)詳解

    開發板來舉例講解(其他STM32系列芯片大多數都可以按照這些步驟來操作的),如有不足請多多指教。2、UART簡介  嵌入式開發中,UART串口通信協議是我們常用的
    發表于 11-30 14:36 ?22次下載
    基于STM32之<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信協議</b>(一)<b class='flag-5'>詳解</b>

    討論使用UART通信協議的基本原則

    UART,即通用異步接收器/發送器,是最常用的設備間通信協議之一,正確配置后,UART可以配合許多不同類型的涉及發送和接收串行數據的串行協議工作。
    的頭像 發表于 02-01 17:54 ?904次閱讀

    UART串口通信協議是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一種通信接口協議,用于實現串口通信
    的頭像 發表于 03-19 17:26 ?960次閱讀

    簡單認識UART串行通信協議

    在電子通信領域,UART(Universal Asynchronous Receiver/Transmitter,通用異步收發傳輸器)是一種非常常見的串行通信協議。它被廣泛應用于各種設備之間
    的頭像 發表于 05-27 16:09 ?1421次閱讀

    簡單認識UART通信協議

    UART(Universal Asynchronous Receiver/Transmitter,通用異步收發傳輸器)通信協議是一種常見的串行通信協議,廣泛應用于計算機、嵌入式系統、傳感器、無線
    的頭像 發表于 07-25 18:07 ?987次閱讀