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

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

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

芯教程丨平頭哥助力中科昊芯HX2000系列芯片專題SCI串口通信(二)AutoBaud自動(dòng)波特率

中科昊芯 ? 2022-04-27 14:48 ? 次閱讀

中科昊芯推出專題講解SCI串口通信以來,第一期主要講解SCI串口FIFO通信原理,本期主要講解SCI串口自動(dòng)波特率,F(xiàn)IFO中斷通信邏輯將在下期內(nèi)容中講解。

HX2000系列SCI模塊原理框圖如下,自動(dòng)波特率時(shí),模塊將工作于標(biāo)準(zhǔn)SCI模式,其功能可通過SCIFFTX[SCIFFENA]置零選擇,其發(fā)送、接收與讀取過程為:DSP端通過CPU,將數(shù)據(jù)裝載到發(fā)送緩沖寄存器SCITXBUF中。使其能發(fā)送TXENA信號(hào),通過TXSHF移位寄存器,逐步將SCITXBUF中的數(shù)據(jù),移位到SCITXD引腳上。通過GPIOMUX配置發(fā)送SCITXD引腳,通過CH340等串行數(shù)據(jù)傳輸線向PC發(fā)送數(shù)據(jù),以實(shí)現(xiàn)發(fā)送功能。通過GPIOMUX配置SCIRXD引腳,使得DSP端接收,PC端通過CH340等串行數(shù)據(jù)傳輸線發(fā)送的數(shù)據(jù)。使能接收RXENA信號(hào),通過RXSHF移位寄存器,逐步將接收數(shù)據(jù),移位到接收數(shù)據(jù)緩沖寄存器SCIRXBUF,以實(shí)現(xiàn)接收功能。通過SCIRXST[RXRDY]可判斷,當(dāng)前是否接收到數(shù)據(jù),以便于CPU讀取接收到的數(shù)據(jù)。

b9f2f7da-c57c-11ec-8521-dac502259ad0.jpg

在HX2000系列SCI模塊中,通過SPIFFTX[SPIRST]使能,可使SCI自動(dòng)波特率邏輯工作,其編程過程為:設(shè)置初始波特率為1或小于500kbps,以便于自動(dòng)調(diào)整任意波特率。使能SCIFFCT[CDC]選擇標(biāo)準(zhǔn)SCI工作于自動(dòng)波特率模式。使能SCIFFCT[ABDCLR]以清除ABD位,以備自動(dòng)波特率。PC端發(fā)送“A”或“a”,等待主機(jī)接收“A”或“a”成功,以完成自動(dòng)波特率與校準(zhǔn),同時(shí)產(chǎn)生SCI傳輸FIFO中斷TXINT;使能SCIFFCT[ABDCLR]以清除ABD位,以響應(yīng)中斷。清除CDC位以鎖定當(dāng)前設(shè)置的波特率,以防止重復(fù)中斷。

由此設(shè)計(jì)SCI串口AutoBud通信實(shí)例:采用SCI與串口CH340,通過串口調(diào)試助手,向CPU發(fā)送41,PC端接收到41后,任意發(fā)送一組數(shù)據(jù),CPU接收所發(fā)送的數(shù)據(jù)。

基于以上分析,在CDK上開發(fā)SCI AutoBud自動(dòng)波特率程序,代碼包括:SCI GPIO外設(shè)引腳配置,標(biāo)準(zhǔn)SCI功能配置程序,SCI自動(dòng)波特率配置程序,發(fā)送與接收程序,主程序調(diào)用執(zhí)行。主要代碼如下:

1.intmain(void)
2.{
3./*初始化系統(tǒng)控制:PLL,WatchDog,使能外設(shè)時(shí)鐘*/
4.InitSysCtrl();
5./*初始化pie中斷控制*/
6.InitPieCtrl();
7.
8./*禁止CPU中斷并清除所有中斷標(biāo)志*/
9.IER=0x0000;
10.IFR=0x0000;
11.
12./*初始化PIE向量表,為PIE向量表中的所有中斷向量配置對應(yīng)向量的入口地址*/
13.InitPieVectTable();
14.
15./*配置Scia_Gpio*/
16.Scia_Gpio();
17.
18./*SCIA標(biāo)準(zhǔn)模式配置*/
19.SCIA_Init();
20.
21./*SCIA自動(dòng)波特率配置*/
22.SCIA_AutobaudLock();
23.while(1)
24.{
25./*等待SCI接收到數(shù)據(jù),以從RXBUF中讀取PC端發(fā)送的數(shù)據(jù)*/
26.while(SciaRegs.SCIRXST.bit.RXRDY!=1){}
27./*將SCI接收的數(shù)據(jù)裝載到,發(fā)送緩沖寄存器TXBUF中*/
28.SciaRegs.SCITXBUF=SciaRegs.SCIRXBUF.bit.RXDT;
29.}
30.return0;
31.}

CDK上開發(fā)SCI 串口自動(dòng)波特率,其編譯結(jié)果為:

ba22c0b4-c57c-11ec-8521-dac502259ad0.jpg

編譯通過后,就可以開始調(diào)試了,其調(diào)試結(jié)果如下:

ba350828-c57c-11ec-8521-dac502259ad0.jpg

調(diào)試后,可通過串口調(diào)試助手查看自動(dòng)波特率狀態(tài)、發(fā)送與接收到的數(shù)據(jù)如下圖:

ba5909d0-c57c-11ec-8521-dac502259ad0.png

關(guān)于中科昊芯

“智由芯生 創(chuàng)享未來”,中科昊芯是數(shù)字信號(hào)處理器專業(yè)供應(yīng)商。作為中國科學(xué)院科技成果轉(zhuǎn)化企業(yè),瞄準(zhǔn)國際前沿芯片設(shè)計(jì)技術(shù),依托多年積累的雄厚技術(shù)實(shí)力及對產(chǎn)業(yè)鏈的理解,以開放積極的心態(tài),基于開源指令集架構(gòu)RISC-V,打造多個(gè)系列數(shù)字信號(hào)處理器產(chǎn)品,并構(gòu)建完善的處理器產(chǎn)品生態(tài)系統(tǒng)。產(chǎn)品具有廣闊的市場前景,可廣泛應(yīng)用于工業(yè)控制電機(jī)驅(qū)動(dòng)、數(shù)字電源、光伏、儲(chǔ)能、新能源汽車、消費(fèi)電子、白色家電等領(lǐng)域。

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

    關(guān)注

    459

    文章

    51600

    瀏覽量

    429921
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6117

    瀏覽量

    136780
收藏 人收藏

    評論

    相關(guān)推薦

    CAN總線十萬個(gè)為什么 | CAN自定義波特率有什么用?

    導(dǎo)讀CAN總線通信中,波特率一致并不總能保證通信順暢。本文將揭秘自定義波特率的原理和應(yīng)用,探討如何通過優(yōu)化采樣點(diǎn)和提高容忍度解決通信問題,
    的頭像 發(fā)表于 02-07 11:36 ?305次閱讀
    CAN總線十萬個(gè)為什么 | CAN自定義<b class='flag-5'>波特率</b>有什么用?

    RS232通信波特率設(shè)置說明

    RS232通信中,波特率的選擇需要根據(jù)設(shè)備的通信能力和通信距離來確定。 波特率的設(shè)置范圍 R
    的頭像 發(fā)表于 12-10 16:26 ?2143次閱讀

    波特率與串行通信的關(guān)系 各種設(shè)備波特率轉(zhuǎn)換的方法

    波特率(Baud Rate)是串行通信中的一個(gè)重要參數(shù),它指的是信號(hào)傳輸?shù)乃俾?,即單位時(shí)間內(nèi)傳輸?shù)姆?hào)(或信號(hào)狀態(tài))的數(shù)量。在串行通信中,波特率決定了數(shù)據(jù)傳輸?shù)乃俣龋虼藢τ?/div>
    的頭像 發(fā)表于 11-22 10:01 ?969次閱讀

    常見的波特率標(biāo)準(zhǔn)和協(xié)議

    波特率是指在數(shù)據(jù)通信中,每秒鐘傳輸?shù)姆?hào)數(shù)(或比特?cái)?shù)),是衡量數(shù)據(jù)通信速度的重要指標(biāo)。在不同的通信協(xié)議和場景中,常見的波特率標(biāo)準(zhǔn)和協(xié)議有所不
    的頭像 發(fā)表于 11-22 09:56 ?3539次閱讀

    波特率設(shè)置在串口通信中的重要性

    在現(xiàn)代通信技術(shù)中,串口通信作為一種基本的數(shù)據(jù)傳輸方式,扮演著不可或缺的角色。無論是在計(jì)算機(jī)與外部設(shè)備的連接,還是在工業(yè)自動(dòng)化系統(tǒng)中的數(shù)據(jù)交換,串口
    的頭像 發(fā)表于 11-22 09:51 ?1556次閱讀

    波特率的定義和計(jì)算方法 波特率與數(shù)據(jù)傳輸速度的關(guān)系

    波特率的定義 波特率(Baud Rate),又稱調(diào)制速率或傳符號(hào),是指每秒傳輸?shù)姆?hào)數(shù)目,單位為波特(Bd)。它是一個(gè)數(shù)字信號(hào)通信中重要的
    的頭像 發(fā)表于 11-22 09:49 ?5456次閱讀

    MCU串口自動(dòng)識(shí)別波特率原理分析

    現(xiàn)在的單片機(jī)資源越來越豐富了,其中我們常用的串口也是內(nèi)部集成了多個(gè),關(guān)鍵功能也越來越強(qiáng)了。 我們有些應(yīng)用可能會(huì)用到串口自動(dòng)識(shí)別波特率,今天就來講講MCU
    的頭像 發(fā)表于 10-23 16:12 ?1156次閱讀
    MCU<b class='flag-5'>串口</b><b class='flag-5'>自動(dòng)</b>識(shí)別<b class='flag-5'>波特率</b>原理分析

    中科攜基于自研RISC-V DSP芯片的無人機(jī)解決方案完美收官2024慕尼黑華南電子展

    作為全球電子技術(shù)領(lǐng)域的頂級盛會(huì),慕尼黑華南電子展于10月14日至16日在深圳國際會(huì)展中心隆重開幕。在本次展會(huì)上,展示了無人機(jī)等多款自主研發(fā)的解決方案,以及HX2000系列DSP家族
    的頭像 發(fā)表于 10-19 08:00 ?1012次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜基于自研RISC-V DSP<b class='flag-5'>芯片</b>的無人機(jī)解決方案完美收官2024慕尼黑華南電子展

    波特率與比特有何關(guān)系 波特率與數(shù)據(jù)傳輸速率的關(guān)系

    波特率(Baud Rate)和比特(Bit Rate)是衡量數(shù)據(jù)通信系統(tǒng)性能的兩個(gè)重要參數(shù),它們之間有著密切的關(guān)系,但并不完全相同。 波特率(Baud Rate):
    的頭像 發(fā)表于 10-18 14:55 ?1669次閱讀

    邀請函|攜多款解決方案亮相慕尼黑華南展,深圳見!

    在深秋的璀璨光芒下,慕尼黑華南電子生產(chǎn)設(shè)備展將于2024年10月14日至16日,再次登陸深圳這座充滿活力與創(chuàng)新的國際大都市。將攜基于自研RISC-VDSP的無人機(jī)等多款解決方案以及HX2000
    的頭像 發(fā)表于 10-11 08:00 ?579次閱讀
    邀請函|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜多款解決方案亮相慕尼黑華南展,深圳見!

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

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

    串口通信中的波特率你真的了解嗎?差距竟如此重要!

    波特率串口通信中的作用在串口通信中,波特率起著至關(guān)重要的作用。因?yàn)樵趥鬏敂?shù)據(jù)時(shí),發(fā)送方和接收方
    的頭像 發(fā)表于 08-27 11:46 ?1978次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>中的<b class='flag-5'>波特率</b>你真的了解嗎?差距竟如此重要!

    如何使用示波器測量串口波特率

    通信和電子測量領(lǐng)域,串口波特率是一個(gè)至關(guān)重要的參數(shù),它決定了數(shù)據(jù)在串行通信線上的傳輸速率。使用示波器來測量串口
    的頭像 發(fā)表于 05-27 16:25 ?5935次閱讀

    KT142C語音芯片工作電壓多少?電流是多少?串口波特率多少?多大的喇叭?

    KT142C-sop16語音芯片ic工作電壓多少?電流是多少?串口波特率是多少?支持多大的喇叭?
    的頭像 發(fā)表于 05-23 09:45 ?596次閱讀
    KT142C語音<b class='flag-5'>芯片</b>工作電壓多少?電流是多少?<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>多少?多大的喇叭?

    海應(yīng)用筆記:通用 MCU USART 自動(dòng)波特率檢測

    本文檔介紹和說明??萍计煜?CS32 系列 MCU 的自動(dòng)波特率檢測功能,并為不具備硬件自動(dòng)波特率檢測的 MCU 產(chǎn)品提供替代軟件方法 。*附件:應(yīng)用筆記:
    發(fā)表于 05-16 11:42