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

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

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

SCI串口自動波特率介紹

科技綠洲 ? 來源:中科昊芯 ? 作者:中科昊芯 ? 2022-04-26 09:26 ? 次閱讀

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

HX2000系列SCI模塊原理框圖如下,自動波特率時,模塊將工作于標(biāo)準(zhǔn)SCI模式,其功能可通過SCIFFTX[SCIFFENA]置零選擇,其發(fā)送、接收與讀取過程為:DSP端通過CPU,將數(shù)據(jù)裝載到發(fā)送緩沖寄存器SCITXBUF中。使其能發(fā)送TXENA信號,通過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信號,通過RXSHF移位寄存器,逐步將接收數(shù)據(jù),移位到接收數(shù)據(jù)緩沖寄存器SCIRXBUF,以實(shí)現(xiàn)接收功能。通過SCIRXST[RXRDY]可判斷,當(dāng)前是否接收到數(shù)據(jù),以便于CPU讀取接收到的數(shù)據(jù)。

poYBAGJnSfGAbBDeAAH74xbrbQI568.png

在HX2000系列SCI模塊中,通過SPIFFTX[SPIRST]使能,可使SCI自動波特率邏輯工作,其編程過程為:設(shè)置初始波特率為1或小于500kbps,以便于自動調(diào)整任意波特率。使能SCIFFCT[CDC]選擇標(biāo)準(zhǔn)SCI工作于自動波特率模式。使能SCIFFCT[ABDCLR]以清除ABD位,以備自動波特率。PC端發(fā)送“A”或“a”,等待主機(jī)接收“A”或“a”成功,以完成自動波特率與校準(zhǔn),同時產(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自動波特率程序,代碼包括:SCI GPIO外設(shè)引腳配置,標(biāo)準(zhǔn)SCI功能配置程序,SCI自動波特率配置程序,發(fā)送與接收程序,主程序調(diào)用執(zhí)行。主要代碼如下:

pYYBAGJnSgCAIJ-QAAB6bjuFY50733.png

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

poYBAGJnSguAc99gAAHdS74LHqo382.png

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

poYBAGJnShSADby6AAHm5DJbxA4825.png

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

pYYBAGJnShyALRxwAAIeaUH2FNM106.png

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

    關(guān)注

    31

    文章

    5300

    瀏覽量

    119858
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6835

    瀏覽量

    88754
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4726

    瀏覽量

    68248
  • SCI
    SCI
    +關(guān)注

    關(guān)注

    1

    文章

    55

    瀏覽量

    20083
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    波特率9600和115200的區(qū)別

    在現(xiàn)代通信技術(shù)中,數(shù)據(jù)傳輸速率是一個關(guān)鍵的性能指標(biāo)。對于串行通信,波特率是衡量數(shù)據(jù)傳輸速度的基本單位。波特率9600和115200是兩種常見的設(shè)置,它們在不同的應(yīng)用場景中有著各自的優(yōu)勢和局
    的頭像 發(fā)表于 10-18 14:56 ?662次閱讀

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

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

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

    頻率是兩個關(guān)鍵參數(shù),它們之間存在一定的關(guān)系,并且UART串口有一系列常用的波特率。以下是對這兩個概念的介紹。 一、UART波特率和傳輸頻率的關(guān)系 1. 定義與區(qū)別
    的頭像 發(fā)表于 10-06 16:12 ?1398次閱讀
    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ù)時,發(fā)送方和接收方需要以相同的波特率進(jìn)行通信。如果兩端的
    的頭像 發(fā)表于 08-27 11:46 ?1070次閱讀
    <b class='flag-5'>串口</b>通信中的<b class='flag-5'>波特率</b>你真的了解嗎?差距竟如此重要!

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

    詳細(xì)介紹如何使用示波器測量串口波特率,包括準(zhǔn)備工作、設(shè)置示波器、測試步驟、結(jié)果計(jì)算及注意事項(xiàng)等方面,旨在為讀者提供一份詳盡的指南。
    的頭像 發(fā)表于 05-27 16:25 ?4227次閱讀

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

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

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

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

    波特率有什么危害尼?又該如何避免?

    深入探討了波特率過高可能帶來的危害,并提供了一些實(shí)用建議來保護(hù)設(shè)備不受影響。在通信領(lǐng)域,波特率是決定數(shù)據(jù)傳輸速度的重要參數(shù)。然而,波特率設(shè)置不當(dāng)可能會對設(shè)備造成嚴(yán)重的影響。本文旨在揭示波特率
    的頭像 發(fā)表于 04-03 16:45 ?1206次閱讀

    stm32mp157在linux系統(tǒng)下,串口波特率如何使用非標(biāo)準(zhǔn)波特率?

    請問stm32mp157在linux系統(tǒng)下,串口波特率如何使用非標(biāo)準(zhǔn)波特率153600。內(nèi)核或者設(shè)備樹里需要怎么改動? 麻煩答復(fù)一下,最好能給個詳細(xì)的更改示例,謝謝!
    發(fā)表于 03-14 06:21

    為啥要轉(zhuǎn)換波特率 波特率和傳輸速率的關(guān)系

    對于串行多主 CAN 總線,如果波特率被稱為“500000波特”,則 CAN 上的該端口每秒最多可傳輸500000位。
    的頭像 發(fā)表于 03-06 17:38 ?4417次閱讀
    為啥要轉(zhuǎn)換<b class='flag-5'>波特率</b> <b class='flag-5'>波特率</b>和傳輸速率的關(guān)系

    PSOC4如何通過代碼修改串口波特率

    由于項(xiàng)目需要,需要實(shí)時改變串口波特率,PSOC4如何通過代碼修改串口波特率?謝謝
    發(fā)表于 02-19 07:40

    波特率發(fā)生器使用哪個定時器 波特率發(fā)生器的時鐘來源是什么

    。以下將詳細(xì)介紹波特率發(fā)生器的工作原理、常見的定時器選擇以及波特率發(fā)生器在不同領(lǐng)域的應(yīng)用。 常見的定時器選擇 在嵌入式系統(tǒng)和通信設(shè)備中,常見的微控制器和微處理器提供了多個定時器作為可用的硬件資源。每個定時器通常
    的頭像 發(fā)表于 01-24 09:56 ?1787次閱讀

    什么是串口波特率?串口通信為什么要設(shè)置波特率?

    什么是串口波特率串口通信為什么要設(shè)置波特率?波特率與比特的關(guān)系 如何選擇
    的頭像 發(fā)表于 01-22 16:10 ?1922次閱讀

    單片機(jī)的各個通信協(xié)議的波特率

    下面是一些常見的波特率數(shù)值,這些波特率通常被用于串口通信,SPI、I2C、CAN等接口的實(shí)際波特率可能有所不同:USART:110bps300bps600bps1200bps2400b
    的頭像 發(fā)表于 12-09 08:00 ?2715次閱讀
    單片機(jī)的各個通信協(xié)議的<b class='flag-5'>波特率</b>