18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

UART波特率計算及UART收發(fā)回顯實驗

瑞薩嵌入式小百科 ? 來源:野火電子 ? 2025-10-17 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

18.4

UART波特率計算

決定串口波特率的寄存器有BRR(Bite Rate Rigister),SEMR(Serial Extended Mode Rigister)和MDDR(Modulation Duty Register)。波特率與寄存器的值的公式如圖19_8 所示。N表示BRR寄存器的值,B是波特率,PCLK 是外設(shè)時鐘的頻率(單位:MHz)。BGDM(Baud Rate Generator Double-Speed Mode Select)在RA6M5中,SCI掛載在PHBIU(Peripheral High Speed Bus Interface Unit)總線上,使用時鐘PCLKA,該時鐘默認頻率為100MHz。

1c1cdd8a-a97d-11f0-8c8f-92fbcf53809c.png

圖19-8 波特率和誤差的計算公式

表1:波特率計算的相關(guān)參數(shù)描述

1c845c44-a97d-11f0-8c8f-92fbcf53809c.png

由于N存放的是整數(shù),故只能將公式計算出來的值進行四舍五入,這樣肯定會存在誤差(Error)。例如,我們要配置當(dāng)前波特率為115200bps。當(dāng) PCLK=100MHz,BGDM=0,ABCS=0,ABCSE=0,n=1,按照圖19_8公式,當(dāng)前N為:

1cda8ad8-a97d-11f0-8c8f-92fbcf53809c.png

則當(dāng)前誤差Error為:

1d3389a8-a97d-11f0-8c8f-92fbcf53809c.png

由于N是四舍五入取得的,故Error有可能是負數(shù),因此這里取絕對值。

大多數(shù)時候會有多組參數(shù)符合波特率要求,由于誤差越大,收發(fā)出錯的可能性越大,雖然可以用奇偶校驗避免這個問題,但奇偶校驗無法解決丟包問題,因此我們一般會選擇誤差最小的那組參數(shù)。例如:同樣是要求波特率為115200bps,但此時BGDM=1,ABCS=0,ABCSE=0,n=0,則此時的N為:

1d932c6e-a97d-11f0-8c8f-92fbcf53809c.png

當(dāng)前誤差Error為:

1de6db02-a97d-11f0-8c8f-92fbcf53809c.png

很明顯這組參數(shù)的誤差0.47%要小于上一組參數(shù)的 3.12%,因此我們會選擇這一組參數(shù)。

因為可選參數(shù)有很多組,所以我們需要遍歷所有可選的參數(shù)組合來尋找誤差小的那組參數(shù),毫無疑問的對用戶來說是相當(dāng)繁瑣的。瑞薩官方當(dāng)然也想到了這一點,因此讀者在實際開發(fā)的過程中,可以直接使用FSP庫的R_SCI_UART_BaudCalculate函數(shù)來計算出適當(dāng)?shù)膮?shù)組。在通過Smart Configuration配置串口的時候,Smart Configuration也會將適當(dāng)?shù)膮?shù)組計算出來,存放到hal_data.c當(dāng)中,用戶可以直接調(diào)用。

如果我們需要更小的誤差,則需要在SEMR的BRME位(Bit Rate Modulation Enable)寫1,使能比特率調(diào)制功能。此時波特率和寄存器之間的公式見圖19_9。

1e408ec2-a97d-11f0-8c8f-92fbcf53809c.png

圖19-9 使用比特率調(diào)制功能時的波特率和誤差的計算公式

該公式與未使用比特率調(diào)制功能時的公式大同小異,不管是BRR setting還是Error,都只是在分母添加了個系數(shù)(256/M),M是8位寄存器MDDR的值,取值范圍(128~256),這極大的降低了波特率的誤差。例如:

同樣是要求波特率為115200bps,但此時 BGDM=1,ABCS=0,ABCSE=0,n=0,M=184,則此時N為:

1ea98828-a97d-11f0-8c8f-92fbcf53809c.png

當(dāng)前誤差Error為:

1efdae76-a97d-11f0-8c8f-92fbcf53809c.png

對比未使用波特率調(diào)制器時誤差為0.47%,使用后為0.014%,誤差降低到了原來的3%,效果可以說是相當(dāng)?shù)暮茫菍ふ倚Ч罴训腗的值也是很繁瑣的。讀者只需調(diào)用FSP庫的R_SCI_UART_BaudCalculate函數(shù),就能找到最適合的參數(shù)組。這個函數(shù)的源碼在r_sci_uart.c,如果讀者對其實現(xiàn)過程感興趣,可以翻看這個函數(shù)的源碼。

18.5

實驗1:UART收發(fā)回顯

UART只需兩根信號線即可完成雙向通信,對硬件要求低,使得很多模塊都預(yù)留UART接口來實現(xiàn)與其他模塊或者控制器進行數(shù)據(jù)傳輸,比如GSM模塊,WIFI模塊、藍牙模塊等等。在硬件設(shè)計時,注意還需要一根“共地線”。

我們經(jīng)常使用UART來實現(xiàn)控制器與電腦之間的數(shù)據(jù)傳輸。這使得我們調(diào)試程序非常方便,比如我們可以把一些變量的值、函數(shù)的返回值、寄存器標(biāo)志位等等通過UART發(fā)送到串口調(diào)試助手,這樣我們可以非常清楚程序的運行狀態(tài),當(dāng)我們正式發(fā)布程序時再把這些調(diào)試信息去除即可。

我們不僅僅可以將數(shù)據(jù)發(fā)送到串口調(diào)試助手,我們還可以在串口調(diào)試助手發(fā)送數(shù)據(jù)給控制器,控制器程序根據(jù)接收到的數(shù)據(jù)進行下一步工作。

首先,我們來編寫一個程序?qū)崿F(xiàn)開發(fā)板與電腦通信,在開發(fā)板上電時通過UART發(fā)送一串字符串給電腦,然后開發(fā)板進入中斷接收等待狀態(tài),如果電腦有發(fā)送數(shù)據(jù)過來,開發(fā)板就會產(chǎn)生中斷,我們在中斷服務(wù)函數(shù)接收數(shù)據(jù),并馬上把數(shù)據(jù)返回發(fā)送給電腦。

18.5.1

硬件設(shè)計

為利用UART實現(xiàn)開發(fā)板與電腦通信,需要用到一個USB轉(zhuǎn)串口(UART)的芯片:CH340G。CH340G是一個USB總線的轉(zhuǎn)接芯片,實現(xiàn)USB轉(zhuǎn) UART、USB轉(zhuǎn)lrDA紅外或者USB轉(zhuǎn)打印機接口,我們使用其USB轉(zhuǎn)UART功能。具體電路設(shè)計見圖19_10a、圖19_10b、圖19_10c。

在下面的三塊開發(fā)板的電路圖中,CH340G的TXD 引腳與MCU芯片UART的RXD引腳連接,CH340G 的RXD引腳與MCU芯片UART的TXD引腳連接。CH340G芯片集成在開發(fā)板上,其地線(GND)已與控制器的GND連通。

1f56077e-a97d-11f0-8c8f-92fbcf53809c.png

圖19-10a 啟明6M5開發(fā)板:USB轉(zhuǎn)串口硬件設(shè)計

1fbe262e-a97d-11f0-8c8f-92fbcf53809c.png

圖19-10b 啟明4M2開發(fā)板:USB轉(zhuǎn)串口硬件設(shè)計

2015d946-a97d-11f0-8c8f-92fbcf53809c.png

圖19-10c 啟明2L1開發(fā)板:USB轉(zhuǎn)串口硬件設(shè)計

表2:調(diào)試串口引腳分配

20823dde-a97d-11f0-8c8f-92fbcf53809c.png

20db755c-a97d-11f0-8c8f-92fbcf53809c.png

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

    關(guān)注

    31

    文章

    5498

    瀏覽量

    128103
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1598

    瀏覽量

    81487
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1288

    瀏覽量

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

    關(guān)注

    2

    文章

    319

    瀏覽量

    35339

原文標(biāo)題:UART波特率計算及實驗1:UART收發(fā)回顯————瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南(46)

文章出處:【微信號:瑞薩嵌入式小百科,微信公眾號:瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RA UART實現(xiàn)串口波特率自適應(yīng)

    Falling & Rising Edge trigger),然后等上位機發(fā)送波特率標(biāo)識數(shù)據(jù)(LSB=1),這樣IRQ4分別兩次觸發(fā)GPT(Start->Stop)就能夠捕捉start bit的間隔時間,從而計算出上位機發(fā)送數(shù)據(jù)的波特
    發(fā)表于 06-07 15:25 ?2857次閱讀
    RA <b class='flag-5'>UART</b>實現(xiàn)串口<b class='flag-5'>波特率</b>自適應(yīng)

    can波特率計算

    can波特率其實并不難計算,這里給出了can波特率的簡單計算,并給出了實例STM32的CAN波特率計算
    發(fā)表于 12-14 17:02 ?1.3w次閱讀
    can<b class='flag-5'>波特率</b><b class='flag-5'>計算</b>

    基于靈動微電子MM32F013x 系列的UART硬件自適應(yīng)波特率

    嵌入式工程師在開發(fā)產(chǎn)品中經(jīng)常會用到MCU的片上UART和其它模塊進行通信,為了在某些非正常的惡劣環(huán)境下能正常使用串口通信,可能需要對UART通信波特率進行自適應(yīng)校準,在我們之前的微課堂中講解過關(guān)
    的頭像 發(fā)表于 02-15 09:09 ?5128次閱讀
    基于靈動微電子MM32F013x 系列的<b class='flag-5'>UART</b>硬件自適應(yīng)<b class='flag-5'>波特率</b>

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

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

    請問如何使用低功耗 UART (LP UART波特率補償?

    如何使用低功耗 UART (LP UART波特率補償?
    發(fā)表于 08-21 07:05

    如何為單個uart配置不同的波特率?

    自動檢測輸入波特率。D然后可以根據(jù)波特率來相應(yīng)地起作用所以有人能告訴我如何為相同的UART組件配置不同的波特率嗎?注:實際上,如果我設(shè)置單獨的波特率
    發(fā)表于 10-31 10:00

    51波特率計算

    51波特率計算
    發(fā)表于 12-28 11:07 ?2次下載

    基于FPGA的波特率連續(xù)可調(diào)UART接口

    在FPGA上設(shè)計了一種波特率連續(xù)可調(diào)的UART接口,該接口符合RS-232C通信協(xié)議。將波特率轉(zhuǎn)換為比特持續(xù)時間,在固定工作時鐘頻率下通過改變比特持續(xù)時間來實現(xiàn)波特率的連續(xù)可調(diào),并將比
    發(fā)表于 06-01 09:56 ?10次下載

    關(guān)于UART/CAN/PLL時鐘計算波特率的方法

    SWM系列關(guān)于UART/CAN/PLL等時鐘相關(guān)模塊,計算波特率的方法。
    的頭像 發(fā)表于 03-18 16:52 ?9184次閱讀

    串口通訊波特率出現(xiàn)誤差的因素

    串口通訊(UART)是一種異步通訊,收發(fā)雙方需要按照約定的波特率進行通訊。當(dāng)波特率出現(xiàn)誤差時,會導(dǎo)致通訊出錯。那導(dǎo)致波特率出現(xiàn)誤差的因素都有
    的頭像 發(fā)表于 07-03 17:40 ?1.2w次閱讀

    MAX3108 UART波特率編程

    MAX3108是一款高性能通用異步收發(fā)器(UART),采用晶圓級封裝(WLP),具有許多硬件高級特性,從單獨的128字發(fā)送和接收FIFO到廣泛的硬件介導(dǎo)流控制。MAX3108的大部分功能依賴于時鐘的編程。因此,第一個編程任務(wù)是設(shè)置適當(dāng)?shù)?b class='flag-5'>
    的頭像 發(fā)表于 02-20 11:42 ?1244次閱讀
    MAX3108 <b class='flag-5'>UART</b>的<b class='flag-5'>波特率</b>編程

    串口波特率誤差產(chǎn)生的原因

    UART全稱Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器,是一種非常常見的異步收發(fā)協(xié)議,在嵌入式領(lǐng)域應(yīng)用十分廣泛。收發(fā)雙方按照
    的頭像 發(fā)表于 04-13 16:20 ?7952次閱讀
    串口<b class='flag-5'>波特率</b>誤差產(chǎn)生的原因

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

    CW32單片機UART波特率設(shè)置介紹
    的頭像 發(fā)表于 10-24 17:35 ?1563次閱讀
    CW32單片機<b class='flag-5'>UART</b><b class='flag-5'>波特率</b>設(shè)置介紹

    如何實現(xiàn)適用于多個標(biāo)準波特率的全雙工UART接口

    電子發(fā)燒友網(wǎng)站提供《如何實現(xiàn)適用于多個標(biāo)準波特率的全雙工UART接口.pdf》資料免費下載
    發(fā)表于 11-28 10:55 ?0次下載
    如何實現(xiàn)適用于多個標(biāo)準<b class='flag-5'>波特率</b>的全雙工<b class='flag-5'>UART</b>接口

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

    UART(Universal Asynchronous Receiver/Transmitter)是一種廣泛使用的異步串行通信技術(shù),它允許兩臺設(shè)備之間進行雙向數(shù)據(jù)傳輸。在UART通信中,波特率和傳輸
    的頭像 發(fā)表于 10-06 16:12 ?8613次閱讀
    <b class='flag-5'>uart</b><b class='flag-5'>波特率</b>和傳輸頻率的關(guān)系 <b class='flag-5'>UART</b>串口的常用<b class='flag-5'>波特率</b>為多少