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

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

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

CW32單片機(jī)UART波特率設(shè)置介紹

jf_pJlTbmA9 ? 來源:武漢芯源半導(dǎo)體 ? 作者:武漢芯源半導(dǎo)體 ? 2023-10-24 17:35 ? 次閱讀

一、波特率介紹

波特率表示單位時間內(nèi)傳送的碼元符號的個數(shù),它是對符號傳輸速率的一種度量,它用單位時間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來表示,即指一個單位時間內(nèi)傳輸符號的個數(shù)(Baud,單位符號:Bd)。

CW32L083 內(nèi)部集成 6 個通用異步收發(fā)器 (UART),支持異步全雙工、同步半雙工和單線半雙工模式,支持硬件數(shù)據(jù)流控和多機(jī)通信;可編程數(shù)據(jù)幀結(jié)構(gòu),可以通過小數(shù)波特率發(fā)生器提供寬范圍的波特率選擇。UART 控制器工作在雙時鐘域下,允許在深度休眠模式下進(jìn)行數(shù)據(jù)的接收,接收完成中斷可以喚醒 MCU 回到運(yùn)行模式。

波特率發(fā)生器框圖如下:

wKgaomUDx9OANavkAAB-_Nzf6Oo264.png

二、波特率設(shè)置

1.同步半雙工模式下

波特率計算公式:BaudRate = UCLK / 12

其中,UCLK 是 UART 的傳輸時鐘,其來源可以是 PCLK、LSE 或 LSI,通過控制寄存器 UARTx_CR2 的 SOURCE 位域來選擇。

2.異步模式下

UART 的接收和發(fā)送波特率是相同的,由同一個波特率發(fā)生器產(chǎn)生。波特率發(fā)生器支持 16 倍采樣、8 倍采樣、4 倍采樣和專用采樣這 4 種采樣模式,具體的采樣模式通過控制寄存器 UARTx_CR1 的 OVER 位域來選擇。UCLK是 UART的傳輸時鐘,其來源可以是 PCLK、LSE或 LSI,具體來源通過 UARTx_CR2.SOURCE來選擇。BRRI(UARTx_BRRI[15:0]),是波特率計數(shù)器的整數(shù)部分,可設(shè)置范圍為 1 ~ 65535。BRRF(UARTx_BRRF[3:0]),是波特率計數(shù)器的小數(shù)部分,可設(shè)置范圍為 0 ~ 15。

OVER = 00,設(shè)置 16 倍采樣,波特率計算公式:BaudRate = UCLK / ( 16×BRRI + BRRF )

OVER = 01,設(shè)置 8 倍采樣,波特率計算公式:BaudRate = UCLK / ( 8×BRRI )

OVER = 10,設(shè)置 4 倍采樣,波特率計算公式:BaudRate = UCLK / ( 4×BRRI )

OVER = 11,設(shè)置專用采樣,波特率計算公式:BaudRate = ( 256×UCLK ) / BRRI

專用采樣僅適合傳輸時鐘源為 LSE 或者 LSI 時,進(jìn)行 2400bps、4800bps 或 9600bps 波特率下的 UART 通信。

UCLK 為 24MHz 波特率設(shè)置示例(OVER = 00)

wKgaomUDx9SAYmwxAACmbb3ltyA280.png

UCLK 為 32.768kHz 波特率設(shè)置示例(OVER = 11)

wKgaomUDx9aAO1gsAABRIMMDGCc344.png

3.波特率自動檢測

CW32L083 使用 UART 作為從機(jī)進(jìn)行通信時,可以通過自動波特率檢測的方法,自動適應(yīng) UART 主機(jī)的波特率??蓪⑼ㄓ?a href="http://ttokpm.com/tags/定時器/" target="_blank">定時器(GTIM)的輸入捕獲來源配置為 UART 的 RXD 信號,或者將 GTIM 的門控信號配置為 UART 的 RXD 信號,配合使用相關(guān)軟件算法測量 UART 的波特率,以實(shí)現(xiàn)波特率自適應(yīng)。

三、波特率計數(shù)器寄存器定義

1.UARTx_BRRI 波特率計數(shù)器整數(shù)部分寄存器

Address offset: 0x0C??Reset value: 0x0000 0000

wKgZomUDx9eAKzV1AABNFLKNDYY956.png

2.UARTx_BRRF 波特率計數(shù)器小數(shù)部分寄存器

Address offset: 0x10??Reset value: 0x0000 0000

wKgZomUDx9mAIiX8AABKpOeKHzs615.png

四、波特率設(shè)置舉例

當(dāng)傳輸時鐘 UCLK 的頻率為 24MHz 時,要求配置 BaudRate = 115200 bps,計算 16×BRRI + BRRF = 24000000 / 115200 = 208.33 則:

BRRI = 208.33 / 16 = 13.02,最接近的整數(shù)是:13(0x0D)

BRRF = 0.02×16 = 0.32,最接近的整數(shù)是:0(0x00)

即需要設(shè)置 UARTx_BRRI 為 0x0D,UARTx_BRRF 為 0x00 此時,實(shí)際波特率 BaudRate = 115384.62 bps,誤差率為 0.16%。

來源:武漢芯源半導(dǎo)體

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理

審核編輯 黃宇

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

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631968
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1219

    瀏覽量

    101118
  • 波特率
    +關(guān)注

    關(guān)注

    2

    文章

    293

    瀏覽量

    34036
收藏 人收藏

    評論

    相關(guān)推薦

    STM32單片機(jī)的串口波特率計算方法

    不管是什么單片機(jī),在使用串口通信的時候,有一個非常重要的參數(shù):波特率。什么是波特率波特率就是每秒傳送的字節(jié)數(shù)。雙方在傳輸數(shù)據(jù)的過程中,波特率
    的頭像 發(fā)表于 01-05 09:59 ?2.8w次閱讀
    STM32<b class='flag-5'>單片機(jī)</b>的串口<b class='flag-5'>波特率</b>計算方法

    什么是串口波特率?串口波特率的分類及應(yīng)用詳解

    什么是串口波特率串口波特率是指串口通信系統(tǒng)中傳輸數(shù)據(jù)的速率。在UART串口通信中,數(shù)據(jù)以位(bit)的形式傳輸,波特率是指每秒鐘傳輸?shù)奈粩?shù)。在串口通信中,
    的頭像 發(fā)表于 08-08 10:09 ?5689次閱讀
    什么是串口<b class='flag-5'>波特率</b>?串口<b class='flag-5'>波特率</b>的分類及應(yīng)用詳解

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。 圖:CW32的智能馬桶控制板 CW32單片機(jī)
    發(fā)表于 12-20 10:06

    51單片機(jī)的常用波特率初值表資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的常用波特率初值表資料免費(fèi)下載。
    發(fā)表于 08-29 17:29 ?5次下載
    51<b class='flag-5'>單片機(jī)</b>的常用<b class='flag-5'>波特率</b>初值表資料免費(fèi)下載

    51單片機(jī)的常用波特率初值表資料分析

    用11.0592晶振的原因是51單片機(jī)的定時器導(dǎo)致的。用51單片機(jī)的定時器做波特率發(fā)生器時,如果用11.0592Mhz的晶振,根據(jù)公式算下來需要定時器設(shè)置的值都是整數(shù);如果用12Mhz
    發(fā)表于 08-08 17:33 ?0次下載
    51<b class='flag-5'>單片機(jī)</b>的常用<b class='flag-5'>波特率</b>初值表資料分析

    如何將51單片機(jī)的9600波特率改成115200波特率

    前幾天寫一個程序,碰到一個問題,51單片機(jī)常用到的波特率是9600的,但是使用到的模塊的波特率是115200的,程序?qū)懞昧说枪δ懿荒苷?shí)現(xiàn),所以想到了修改波特率,但是在網(wǎng)上查了好多
    發(fā)表于 06-13 17:45 ?17次下載
    如何將51<b class='flag-5'>單片機(jī)</b>的9600<b class='flag-5'>波特率</b>改成115200<b class='flag-5'>波特率</b>

    單片機(jī)51波特率計算工具應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的設(shè)計單片機(jī)51波特率計算工具應(yīng)用程序免費(fèi)下載。
    發(fā)表于 04-24 16:41 ?5次下載
    <b class='flag-5'>單片機(jī)</b>51<b class='flag-5'>波特率</b>計算工具應(yīng)用程序免費(fèi)下載

    如何計算8051單片機(jī)波特率

    8051單片機(jī)使用定時器1工作在方式2的情況下作為串口波特率發(fā)生器,其波特率=(2smod/32)×(定時器T1溢出),其中smod是PCON《7》,表示是否
    發(fā)表于 11-18 16:39 ?3782次閱讀

    【Practical】51單片機(jī)串行口與波特率

    51單片機(jī)串行口與波特率
    發(fā)表于 11-23 09:21 ?10次下載
    【Practical】51<b class='flag-5'>單片機(jī)</b>串行口與<b class='flag-5'>波特率</b>

    什么是波特率?為什么要設(shè)置波特率?

    9600個比特的數(shù)據(jù)。二、串口通信為什么要設(shè)置波特率下面我們就以東用科技的OM302系列工業(yè)DTU為例,來給大家簡單描述一下串口通信為什么要設(shè)置波特率。DTU是指數(shù)
    的頭像 發(fā)表于 04-08 00:00 ?6551次閱讀
    什么是<b class='flag-5'>波特率</b>?為什么要<b class='flag-5'>設(shè)置</b><b class='flag-5'>波特率</b>?

    CW32單片機(jī)低電壓檢測器的使用介紹

    CW32單片機(jī)低電壓檢測器的使用介紹
    的頭像 發(fā)表于 09-18 10:56 ?991次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>低電壓檢測器的使用<b class='flag-5'>介紹</b>

    CW32單片機(jī)UART基本數(shù)據(jù)收發(fā)功能介紹

    CW32單片機(jī)UART基本數(shù)據(jù)收發(fā)功能介紹
    的頭像 發(fā)表于 10-24 16:50 ?699次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>UART</b>基本數(shù)據(jù)收發(fā)功能<b class='flag-5'>介紹</b>

    CW32單片機(jī)I2C接口讀寫EEPROM芯片介紹

    CW32單片機(jī)I2C接口讀寫EEPROM芯片介紹
    的頭像 發(fā)表于 11-09 17:42 ?992次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>I2C接口讀寫EEPROM芯片<b class='flag-5'>介紹</b>

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。圖:CW32的智能馬桶控制板CW32單片機(jī)
    的頭像 發(fā)表于 12-20 10:09 ?565次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>單片機(jī)</b>在智能馬桶的應(yīng)用<b class='flag-5'>介紹</b>

    uart波特率和傳輸頻率的關(guān)系 UART串口的常用波特率為多少

    頻率是兩個關(guān)鍵參數(shù),它們之間存在一定的關(guān)系,并且UART串口有一系列常用的波特率。以下是對這兩個概念的介紹。 一、UART波特率和傳輸頻率的
    的頭像 發(fā)表于 10-06 16:12 ?1257次閱讀
    <b class='flag-5'>uart</b><b class='flag-5'>波特率</b>和傳輸頻率的關(guān)系 <b class='flag-5'>UART</b>串口的常用<b class='flag-5'>波特率</b>為多少