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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

MCU串口自動識別波特率原理分析

MCU開發加油站 ? 來源:strongerHuang ? 2024-10-23 16:12 ? 次閱讀

本文直接來源:strongerHuang

參考來源 | 瑞薩嵌入式小百科

現在的單片機資源越來越豐富了,其中我們常用的串口也是內部集成了多個,關鍵功能也越來越強了。 我們有些應用可能會用到串口自動識別波特率,今天就來講講MCU串口自動識別波特率底層的常見的原理,以及MCU的案例。

自動識別波特率常見原理

串口自動識別波特率(Auto Baud Rate Detection,簡稱ABR)的底層原理主要基于串口通信中數據的傳輸特性和設備間的交互機制。以下是幾種常見的自動波特率識別原理。

起始位和停止位檢測法:

原理:串口通信中,每個數據包的開始都會有一個起始位(通常為0),結束有一個或多個停止位(通常為1)。通過檢測這兩個位的時間間隔,可以計算出波特率。

特定模式檢測法:

原理:發送設備發送一系列具有特定模式的字節(如固定的字節序列或模式),接收設備嘗試以不同的波特率接收并檢測這些模式。當檢測到與發送模式匹配的數據時,即可確定當前的波特率。

波特率掃描法:

原理:發送設備在初始化階段發送一個包含多個不同波特率的掃描命令。接收設備在接收到這些命令后,會自動檢測并匹配最接近的波特率。

周期性信號檢測法: 原理:利用信號的周期性變化進行波特率檢測。通過分析信號的頻率和周期性特征,可以推算出波特率。

MCU硬件串口自動識別波特率

現在市面上很多新推出的MCU都有波特率自動識別的功能,這里以瑞薩RA系列單片機為例,配合e2 studio給大家講講串口自動識別波特率的配置,

1UART1配置

UART1的配置只需要按照應用要求來做就可以,但必須留意所選的RXD腳必須跟IRQ是復用的,以便做軟件切換。由于是做波特率自適應,屬性頁面中關于Baud的配置可以忽略。

82a2f8c2-90fc-11ef-a511-92fbcf53809c.png

2GPT配置

由于需要通過定時器來做start bit的時間間隔測量,可以選用GPT/AGT使用one-shot/Periodic模式并留足夠Period值余量來確保start bit在低速下不會溢出。

3P402管腳配置為IRQ4

將SCI1串口默認的(RXD)P402管腳改為IRQ4,并添加中斷入口函數。

82cece20-90fc-11ef-a511-92fbcf53809c.png

中斷入口函數里面首先判斷是否發生了下降沿觸發,然后啟動定時器,等再次中斷進入后,停止定時器,并取得定時器計數值,通過跟默認已知的系統時鐘參數相除,就能得到確切的波特率數值。

82e0ad8e-90fc-11ef-a511-92fbcf53809c.png

4波特率計算和相關寄存器配置

取得波特率實際值后,通過硬件手冊上的相關的方程式就能夠反推出幾個控制波特率的寄存器的配置需要值 (brr, semr , cks等),并將相關計算出的數值修改到FSP SCI1的全局變量結構體內 (g_uart1_baud_setting)。

82ed415c-90fc-11ef-a511-92fbcf53809c.png

5修改P402管腳配置為UART-RXD

然后將P402管腳修改為UART功能,并啟動 UART_Open() 函數,設置波特率已配置標志。

82fdd4ae-90fc-11ef-a511-92fbcf53809c.png

6這樣主函數就能夠直接通過已偵測到的波特率直接發送數據和開始接收數據。

830cff9c-90fc-11ef-a511-92fbcf53809c.png

832503e4-90fc-11ef-a511-92fbcf53809c.png

上述方法只需通過底層寄存器配置就能使簡單快速做波特率偵測、計算和配置。通過這種方式,只要芯片系統時鐘符合范圍要求,任何非通用或者極高速/超低速的波特率也是能使實現偵測并配置使用。

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

    關注

    6058

    文章

    44815

    瀏覽量

    644418
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17699

    瀏覽量

    357885
  • 串口
    +關注

    關注

    14

    文章

    1580

    瀏覽量

    78308
  • 波特率
    +關注

    關注

    2

    文章

    310

    瀏覽量

    34617

原文標題:MCU串口自動識別波特率底層的原理

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    什么是串口波特率串口波特率的分類及應用詳解

    什么是串口波特率串口波特率是指串口通信系統中傳輸數據的速率。在UART串口通信中,數據以位(bi
    的頭像 發表于 08-08 10:09 ?6599次閱讀
    什么是<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>?<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>的分類及應用詳解

    基于stm32的自動識別波特率的設計

    某設備是以某個波特率發送固定已知數據的,用f4串口接收數據,怎么判別這個設備的波特率是多少呢
    發表于 09-14 14:12

    【個人經驗分享】STM32ISP與STM32波特率自動識別技術理解

    STM32之ISP也同其他ISP一樣采用從機(STM32)波特率自動識別技術.它采用非常“不理智”的偶校驗(一個字節前面加一位校驗位使得“1”的個數保持為偶數),菜農對其不 慎滿意
    發表于 08-29 09:43

    29035串口刷寫程序波特率自動識別DSP是怎么實現的

    有用的程序數據,那么對于沒有程序數據的地址上面的數據應該都是FF,那么這個FF是否也要用數據流傳送給DSP芯片2、對于串口刷寫時,波特率自動識別DSP是怎么實現的,對于這個過程,上位機需要做哪些動作
    發表于 12-07 11:35

    關于UART串口自動識別波特率的問題匯總,錯過絕對后悔

    關于UART串口自動識別波特率的問題匯總,錯過絕對后悔
    發表于 12-15 06:19

    單片機有沒有串口波特率自動識別算法?

    單片機有沒有串口波特率自動識別算法
    發表于 09-21 07:09

    串口波特率計算工具下載

    串口波特率計算工具
    發表于 03-11 09:38 ?179次下載

    STM32的串口自動識別波特率

    STM32串口自動識別波特率
    的頭像 發表于 03-04 09:53 ?1w次閱讀

    串口通訊實際的波特率測量

    平時使用串口打印出現亂碼的絕大部分原因是串口波特率沒對。那么我們怎么測量實際的波特率呢?在這之前,順便一起回顧一下波特率的概念。
    的頭像 發表于 04-04 17:27 ?7534次閱讀
    <b class='flag-5'>串口</b>通訊實際的<b class='flag-5'>波特率</b>測量

    串口波特率計算詳解

    STM32下波特率計算詳解波特率的計算????STM32下的波特率串口外設時鐘息息相關,USART 1的時鐘來源于APB2,USART 2-5的時鐘來源于APB1。在STM32中,有
    發表于 12-05 09:06 ?22次下載
    <b class='flag-5'>串口</b><b class='flag-5'>波特率</b>計算詳解

    什么是波特率?為什么要設置波特率

    歡迎來到東用知識小課堂!一、什么是波特率波特率(BaudRate)單位bps是用于衡量串口通信速度的單位,它表示每秒鐘發送的比特數。如果一個串口
    的頭像 發表于 04-08 00:00 ?7603次閱讀
    什么是<b class='flag-5'>波特率</b>?為什么要設置<b class='flag-5'>波特率</b>?

    STM32F0的USART波特率自動識別問題

    電子發燒友網站提供《STM32F0的USART波特率自動識別問題.pdf》資料免費下載
    發表于 08-01 11:00 ?2次下載
    STM32F0的USART<b class='flag-5'>波特率</b><b class='flag-5'>自動識別</b>問題

    串口傳輸速率低于波特率怎么辦 串口通信的波特率如何設置

    如果串口傳輸速率低于波特率,您可以嘗試以下方法來解決問題:   1. 檢查硬件連接:確保串口連接正確且牢固。檢查連接線是否完好,確保沒有松動或斷開的接觸。   2. 檢查波特率設置
    的頭像 發表于 09-08 16:23 ?7134次閱讀

    什么是串口波特率串口通信為什么要設置波特率

    在電子設備的世界中,數據是通過各種方式進行傳輸的。其中,串口通信是一種常見的數據傳輸方式,它以其簡單、可靠和廣泛的特性,成為了電子設備間通信的重要手段。而在串口通信中,有一個非常重要的參數——波特率
    的頭像 發表于 11-03 08:21 ?6339次閱讀
    什么是<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>?<b class='flag-5'>串口</b>通信為什么要設置<b class='flag-5'>波特率</b>?

    什么是串口波特率串口通信為什么要設置波特率

    什么是串口波特率串口通信為什么要設置波特率波特率與比特的關系 如何選擇
    的頭像 發表于 01-22 16:10 ?2601次閱讀
    主站蜘蛛池模板: 四虎影视国产精品亚洲精品hd | 古月娜下面好紧好爽 | 久久99热只有频精品 | 小箩莉奶水四溅小说 | 国产色婷婷精品人妻蜜桃成熟 | bbw美女与zooxx | 欧洲另类一二三四区 | 好看的电影网站亚洲一区 | 台湾果冻传媒在线观看 | 亚洲乱码一区二区三区香蕉 | 日韩一本道无码v | a级成人免费毛片完整版 | 女人高潮被爽到呻吟在线观看 | 日韩吃奶摸下AA片免费观看 | 视频一区国产第一页 | 国产色播视频在线观看 | 国产精品久免费的黄网站 | 亚洲综合春色另类久久 | 97精品在线 | 亚洲国语在线视频手机在线 | 国产午夜不卡 | 天上人间影院久久国产 | 无限资源在线观看播放 | 高清日本片免费观看 | 欧美精品乱码99久久蜜桃 | 日日摸夜夜嗷嗷叫日日拍 | 好姑娘BD高清在线观看免费 | 亚洲欧美在无码片一区二区 | 青青草伊人 | 久久影院午夜理论片无码 | 久久re6热在线视频 久久er国产免费精品 | 疯狂小护士 | 果冻传媒我的女老板 | 美国色情三级欧美三级纸匠情挑 | 果冻传媒在线完整免费播放 | 久久精品18| 色播播电影 | 亚洲人成电影网站色2017 | 性刺激欧美三级在线现看中文 | 国产午夜精品鲁丝片 | 久久亚洲精品AV无码四区 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品