0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯教程丨平头哥助力中科昊芯HX2000系列芯片专题SCI串口通信(二)AutoBaud自动波特率

中科昊芯 2022-04-27 14:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

中科昊芯推出专题讲解SCI串口通信以来,第一期主要讲解SCI串口FIFO通信原理,本期主要讲解SCI串口自动波特率,FIFO中断通信逻辑将在下期内容中讲解。

HX2000系列SCI模块原理框图如下,自动波特率时,模块将工作于标准SCI模式,其功能可通过SCIFFTX[SCIFFENA]置零选择,其发送、接收与读取过程为:DSP端通过CPU,将数据装载到发送缓冲寄存器SCITXBUF中。使其能发送TXENA信号,通过TXSHF移位寄存器,逐步将SCITXBUF中的数据,移位到SCITXD引脚上。通过GPIOMUX配置发送SCITXD引脚,通过CH340等串行数据传输线向PC发送数据,以实现发送功能。通过GPIOMUX配置SCIRXD引脚,使得DSP端接收,PC端通过CH340等串行数据传输线发送的数据。使能接收RXENA信号,通过RXSHF移位寄存器,逐步将接收数据,移位到接收数据缓冲寄存器SCIRXBUF,以实现接收功能。通过SCIRXST[RXRDY]可判断,当前是否接收到数据,以便于CPU读取接收到的数据。

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

在HX2000系列SCI模块中,通过SPIFFTX[SPIRST]使能,可使SCI自动波特率逻辑工作,其编程过程为:设置初始波特率为1或小于500kbps,以便于自动调整任意波特率。使能SCIFFCT[CDC]选择标准SCI工作于自动波特率模式。使能SCIFFCT[ABDCLR]以清除ABD位,以备自动波特率。PC端发送“A”或“a”,等待主机接收“A”或“a”成功,以完成自动波特率与校准,同时产生SCI传输FIFO中断TXINT;使能SCIFFCT[ABDCLR]以清除ABD位,以响应中断。清除CDC位以锁定当前设置的波特率,以防止重复中断。

由此设计SCI串口AutoBud通信实例:采用SCI与串口CH340,通过串口调试助手,向CPU发送41,PC端接收到41后,任意发送一组数据,CPU接收所发送的数据。

基于以上分析,在CDK上开发SCI AutoBud自动波特率程序,代码包括:SCI GPIO外设引脚配置,标准SCI功能配置程序,SCI自动波特率配置程序,发送与接收程序,主程序调用执行。主要代码如下:

1.intmain(void)
2.{
3./*初始化系统控制:PLL,WatchDog,使能外设时钟*/
4.InitSysCtrl();
5./*初始化pie中断控制*/
6.InitPieCtrl();
7.
8./*禁止CPU中断并清除所有中断标志*/
9.IER=0x0000;
10.IFR=0x0000;
11.
12./*初始化PIE向量表,为PIE向量表中的所有中断向量配置对应向量的入口地址*/
13.InitPieVectTable();
14.
15./*配置Scia_Gpio*/
16.Scia_Gpio();
17.
18./*SCIA标准模式配置*/
19.SCIA_Init();
20.
21./*SCIA自动波特率配置*/
22.SCIA_AutobaudLock();
23.while(1)
24.{
25./*等待SCI接收到数据,以从RXBUF中读取PC端发送的数据*/
26.while(SciaRegs.SCIRXST.bit.RXRDY!=1){}
27./*将SCI接收的数据装载到,发送缓冲寄存器TXBUF中*/
28.SciaRegs.SCITXBUF=SciaRegs.SCIRXBUF.bit.RXDT;
29.}
30.return0;
31.}

CDK上开发SCI 串口自动波特率,其编译结果为:

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

编译通过后,就可以开始调试了,其调试结果如下:

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

调试后,可通过串口调试助手查看自动波特率状态、发送与接收到的数据如下图:

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

关于中科昊芯

“智由芯生 创享未来”,中科昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构RISC-V,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53534

    浏览量

    459103
  • 通信
    +关注

    关注

    18

    文章

    6316

    浏览量

    139567
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问支持小数波特率接收数据的意义在哪儿?

    我看源支持小数波特率,话说,支持小数波特率接收数据的意义在哪儿?是通讯更有精度吗?
    发表于 12-02 07:17

    UART波特率计算及UART收发回显实验

    决定串口波特率的寄存器有BRR(Bite Rate Rigister),SEMR(Serial Extended Mode Rigister)和MDDR(Modulation Duty
    的头像 发表于 10-17 09:51 2385次阅读
    UART<b class='flag-5'>波特率</b>计算及UART收发回显实验

    【作品合集】中科Core_DSC280025C开发板测评

    中科Core_DSC280025C开发板测评作品合集 产品介绍: Core_DSC280025C核心板使用了HXS320F28025
    发表于 09-18 10:52

    新闻|亮相第五届RISC-V中国峰会,共绘开源芯片新纪元

    的突破性进展。本次峰会汇聚了全球RISC-V领域的顶尖企业、研究机构和开源社区,共同探讨RISC-V技术的创新与应用。产品线全覆盖峰会上,展示了HX2000系列家族
    的头像 发表于 07-28 18:30 684次阅读
    <b class='flag-5'>芯</b>新闻|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>亮相第五届RISC-V中国峰会,共绘开源<b class='flag-5'>芯片</b>新纪元

    波特率是什么

    时间内(通常为每秒)传输的 符号(Symbol)数量 ,即信号变化的次数。这里的“符号”是数据传输的最小单元,可以是电压的高低、频率的变化或相位的偏移等。例如: 若波特率为9600,表示每秒传输9600个符号。 在简单的进制通信
    的头像 发表于 07-22 11:11 5759次阅读

    中科Core_DSC280025C开发板试用体验】+SCI测试与代码解读

    和发送单元 SCI主要设置数据格式(比如停止位数据帧长度等)、波特率(因为是异步通信主从机一定要保持一致),内部结构如下图: 数据通信时序如图: 那么要进行
    发表于 07-17 10:42

    中科Core_DSC280025C开发板试用体验】+3.DSP基础外设调试(含源码)

    。大致了解了官方工程的是框架和架构。我也参考了官方提供的hx2000-examples-master 例程代码。 例程里面的代码,用的库还是官方早期版本的,所以,的库后期肯定还会继续迭代。为了避免后期
    发表于 07-13 16:07

    可编程电源的通信波特率应如何设置?

    降至38400bps)可增强信号稳定性,或采用屏蔽双绞线、光纤通信等抗干扰措施。 低干扰环境(如实验室):可选用高波特率以提高响应速度。 波特率设置步骤1. 通过电源面板设置(适用
    发表于 07-07 15:01

    中科Core_DSC280025C开发板试用体验】+1.开箱之浮点计算对比

    笼统,还是看手册比较细致。 当然参考例程也是有的。 另外,也可以在立创商城上能看到中科的DSP芯片某些型号也有上架的,价格也并不算高。 所以经过前期的一
    发表于 06-29 10:01

    喜讯!中科完成Pre-B+轮融资,加速RISC-V DSP芯片的技术创新与应用推广

    中科今日官宣完成Pre-B+轮融资,本轮融资由华金资本领投,麦格米特等跟投。资金将主要用于新产品推广和客户开拓。中科
    的头像 发表于 06-17 17:00 1248次阅读
    喜讯!<b class='flag-5'>中科</b><b class='flag-5'>昊</b><b class='flag-5'>芯</b>完成Pre-B+轮融资,加速RISC-V DSP<b class='flag-5'>芯片</b>的技术创新与应用推广

    MAX13051 ±80V故障保护CAN收发器,具有自动波特率模式技术手册

    MAX13051为具有自动波特率模式、±80V故障保护的CAN收发器,可理想用于需要过压保护的设备网络和其他工业网络应用。MAX13051可以为CAN协议控制器和CAN总线的物理线路提供连接。
    的头像 发表于 05-27 11:07 1060次阅读
    MAX13051 ±80V故障保护CAN收发器,具有<b class='flag-5'>自动波特率</b>模式技术手册

    加速高关税下国产替代!携全自研RISC-V DSP家族亮相上海慕尼黑电子展

    现场直击2025年4月15日-17日,上海新国际博览中心N5馆356展位前人头攒动,中科展台上陈列的Haawking-HX2000系列R
    的头像 发表于 04-18 09:01 1665次阅读
    加速高关税下国产替代!<b class='flag-5'>昊</b><b class='flag-5'>芯</b>携全自研RISC-V DSP家族亮相上海慕尼黑电子展

    中科DSP产品及公司信息

    中科的DSP产品旨在打破国外技术的垄断,提升国产DSP芯片的自给。其产品在功能和性能上均对标国外的主流产品,并在某些方面实现了超越。
    发表于 04-07 09:16

    CAN总线十万个为什么 | CAN自定义波特率有什么用?

    导读CAN总线通信中,波特率一致并不总能保证通信顺畅。本文将揭秘自定义波特率的原理和应用,探讨如何通过优化采样点和提高容忍度解决通信问题,
    的头像 发表于 02-07 11:36 1100次阅读
    CAN总线十万个为什么 | CAN自定义<b class='flag-5'>波特率</b>有什么用?

    RS232通信波特率设置说明

    RS232通信中,波特率的选择需要根据设备的通信能力和通信距离来确定。 波特率的设置范围 R
    的头像 发表于 12-10 16:26 6393次阅读