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

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

3天内不再提示

芯教程|平头哥助力昊芯HX2000系列芯片专题SCI串口通讯奇偶校验(一)标准SCI

中科昊芯 2022-10-14 09:26 次阅读

随着能源需求的日益短缺,科技的日趋智能化,高效精准的通信模式已日趋成为人们生产生活的必然趋势,昊芯顺应时代要求,推出适用于高精度工业自动化运动控制的HXS320F28034数字信号处理器,其SCI模块有标准模式和增强FIFO模式,这两种模式均可通过奇偶校验,校验收发数据的一致性,从而更有效助力于工程师实现高效精准闭环控制,于广泛应用于电动车、电动汽车、轨道交通、全电飞机、新能源发电、机器人工业自动化高精度控制领域。

自平头哥半导体有限公司的剑池集成开发环境(简称“CDK”)支持HX2000系列芯片调试以来,本期推出专题讲解SCI串口通讯奇偶校验,分为两期讲解,本期主要讲解标准SCI模式下的奇偶校验,增强FIFO模式下的奇偶校验将在下期展开介绍。

HX2000系列SCI模块与中断框图如下,可通过SCICCR[PARITYENA]使能,启动奇偶校验,采用SCICCR[PARITY]选择,使用奇或偶校验,对每个字符增加一个额外的校验位,以校验收发数据的二进制码中“1”的个数,校验收发数据的一致性,原理如下:

9b09ed78-4b15-11ed-b116-dac502259ad0.jpg9b2593d4-4b15-11ed-b116-dac502259ad0.jpg

(1)SCICCR[PARITY]=0时,采用奇校验,即8位字符数据位中“1”的数目为偶数,校验位为“1”,若为奇数,则校验位为“0”。

(2)SCICCR[PARITY]=1时,采用偶校验,即8位字符数据位中“1”的数目为偶数,校验位为“0”,若为奇数,则校验位为“1”。

(3)标准SCI模式下,收发数据的校验位不一致时,硬件会将SCIRXST[PE]位置1表示SCI奇偶校验错误,将SCIRXST[RXERROR]位置1表示SCI接收错误标志,可通过SCICTL1[RXERRINTENA]使能,打开接收错误中断线,触发PIE向CPU发出RXINT中断信号,从而触发执行接收错误中断服务程序。

典型应用一:

下图为PMSM三环伺服控制系统,其人机界面交互通讯是通过SCI模块实现的:PC端通过SCI模块,向DSP端发送位置控制指令,三闭环有感伺服控制系统通过位置指令及位置反馈数据计算输出PWM占空比值;伺服系统的运行数据通过SCI模块发送给PC端,PC端通过labview等调试软件接收数据进行实时读取显示。为保证系统在运行过程中数据传输的准确性,本设计采用了奇偶校验。

9b43075c-4b15-11ed-b116-dac502259ad0.jpg

典型应用二:

采用SCI与串口CH340,通过串口调试助手,向CPU发送任意一字节数据,CPU接收所发送的数据,采用奇校验,校验收发数据的一致性,不一致时触发接收错误中断,点亮LED灯GPIO44,硬件连接如下图所示:

9b69f9ac-4b15-11ed-b116-dac502259ad0.jpg

基于以上分析,在CDK上开发标准SCI串口通信校验程序,代码包括:SCI GPIO外设引脚配置,标准SCI功能与校验配置程序,发送、接收与校验程序,主程序调用执行。主要代码如下:

1.intmain(void)
2.{
3./*初始化系统控制*/
4.InitSysCtrl();
5./*初始化内存控制寄存器,使能内存流水线模式*/
6.InitFlash();
7./*初始化串口通信的GPIO口:GPIO28: SCIRXDA,GPIO29: SCITXDA*/
8.InitSciGpio();
9./*初始化LED,用于标识奇偶与帧格式校验错误*/
10.InitLED();
11.
12./*关闭PIE中断*/
13.InitPieCtrl();
14./*清除中断标志位*/
15.IER=0x0000;
16.IFR=0x0000;
17./*初始化PIE中断向量表*/
18.InitPieVectTable();
19.
20.EALLOW;
21./*中断向量表入口地址SCIRXINTA,指向执行接收校验程序*/
22.PieVectTable.SCIRXINTA=&sciaRxIsr;
23.EDIS;
24.
25./*打开相应的PIE中断线*/
26.IER|=M_INT9;
27./*PIEGroup9,SCIRXINTA*/
28.PieCtrlRegs.PIEIER9.bit.INTx1=1;
29.
30./*标准SCI配置:含奇偶校验*/
31.Scia_Config(9600);
32.
33./*使能外部中断和CPU中断*/
34.EINT;
35.while(1)
36.{
37./*当数据接收成功时,发送返回数据*/
38.if(SciaRegs.SCIRXST.bit.RXRDY==1)
39.{
40./*SCI发送:返回接收数据*/
41.Scia_Send(SciaRegs.SCIRXBUF.bit.RXDT);
42.}
43.}
44.return0;
45.}

CDK上开发标准SCI串口通信校验程序,编译结果为:

9b7759ee-4b15-11ed-b116-dac502259ad0.jpg

编译通过后,就可开始调试了,调试后,可通过串口调试助手查看发送与接收到的数据:

9b7dc388-4b15-11ed-b116-dac502259ad0.jpg

收发数据的校验位不一致时,触发RXINT中断信号,根据SciaRegs[SCIRXST]中错误置位类型,点亮LED灯GPIO44,效果如下:

9b8de498-4b15-11ed-b116-dac502259ad0.png

关于昊芯

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

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

    关注

    68

    文章

    19167

    浏览量

    229153
  • 通信
    +关注

    关注

    18

    文章

    5973

    浏览量

    135863
收藏 人收藏

    评论

    相关推荐

    中科携基于自研RISC-V DSP芯片的无人机解决方案完美收官2024慕尼黑华南电子展

    作为全球电子技术领域的顶级盛会,慕尼黑华南电子展于10月14日至16日在深圳国际会展中心隆重开幕。在本次展会上,展示了无人机等多款自主研发的解决方案,以及HX2000系列DSP家族
    的头像 发表于 10-19 08:00 380次阅读
    中科<b class='flag-5'>昊</b><b class='flag-5'>芯</b>携基于自研RISC-V DSP<b class='flag-5'>芯片</b>的无人机解决方案完美收官2024慕尼黑华南电子展

    邀请函|携多款解决方案亮相慕尼黑华南展,深圳见!

    在深秋的璀璨光芒下,慕尼黑华南电子生产设备展将于2024年10月14日至16日,再次登陆深圳这座充满活力与创新的国际大都市。将携基于自研RISC-VDSP的无人机等多款解决方案以及HX2000
    的头像 发表于 10-11 08:00 430次阅读
    邀请函|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>携多款解决方案亮相慕尼黑华南展,深圳见!

    如何通过I2C加载TPS2388x SRAM和奇偶校验代码

    电子发烧友网站提供《如何通过I2C加载TPS2388x SRAM和奇偶校验代码.pdf》资料免费下载
    发表于 09-06 11:16 0次下载
    如何通过I2C加载TPS2388x SRAM和<b class='flag-5'>奇偶校验</b>代码

    RZ/G2L串口SCI的使用(下)

    RZ/G2L串口SCI的使用
    的头像 发表于 08-03 08:06 475次阅读
    RZ/G2L<b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(下)

    RZ/G2L串口SCI的使用(上)

    RZ/G2L串口SCI的使用
    的头像 发表于 07-25 08:06 484次阅读
    RZ/G2L<b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(上)

    8位到9位奇偶校验总线收发器ABT8338数据表

    电子发烧友网站提供《8位到9位奇偶校验总线收发器ABT8338数据表.pdf》资料免费下载
    发表于 05-30 10:02 0次下载
    8位到9位<b class='flag-5'>奇偶校验</b>总线收发器ABT8338数据表

    奇偶校验发生器/校验器和3态输出的16位收发器ABT16657数据表

    电子发烧友网站提供《带奇偶校验发生器/校验器和3态输出的16位收发器ABT16657数据表.pdf》资料免费下载
    发表于 05-30 09:45 0次下载
    带<b class='flag-5'>奇偶校验</b>发生器/<b class='flag-5'>校验</b>器和3态输出的16位收发器ABT16657数据表

    8位到9位奇偶校验总线收发器SN74BCT29854数据表

    电子发烧友网站提供《8位到9位奇偶校验总线收发器SN74BCT29854数据表.pdf》资料免费下载
    发表于 05-29 09:50 0次下载
    8位到9位<b class='flag-5'>奇偶校验</b>总线收发器SN74BCT29854数据表

    奇偶校验发生器/校验器和3态输出的八进制收发器SN74F657数据表

    电子发烧友网站提供《带奇偶校验发生器/校验器和3态输出的八进制收发器SN74F657数据表.pdf》资料免费下载
    发表于 05-29 09:44 0次下载
    带<b class='flag-5'>奇偶校验</b>发生器/<b class='flag-5'>校验</b>器和3态输出的八进制收发器SN74F657数据表

    做lora通讯用到usart,配置时遇到的usart奇偶校验问题求解

    今天做lora通讯,用到usart,配置时发现usart奇偶校验困惑。假如CR1->M、CR1->PCE、CR1->PS均置位即发送9位数据(含最高
    发表于 05-20 08:30

    8位到9位奇偶校验总线收发器数据表

    电子发烧友网站提供《8位到9位奇偶校验总线收发器数据表.pdf》资料免费下载
    发表于 05-15 09:33 0次下载
    8位到9位<b class='flag-5'>奇偶校验</b>总线收发器数据表

    F2837x系列首款芯片F28379D正式推出,HX2000系列当前最高性能

    新春伊始,正式发布第三代RISC-VDSP系列F2837x家族首位成员——F28379D,这也是甲辰龙年推出的首款
    的头像 发表于 02-24 08:03 1705次阅读
    <b class='flag-5'>昊</b><b class='flag-5'>芯</b>F2837x<b class='flag-5'>系列</b>首款<b class='flag-5'>芯片</b>F28379D正式推出,<b class='flag-5'>HX2000</b><b class='flag-5'>系列</b>当前最高性能

    XMC4500-PSRAM和DSRAM中存在随机奇偶校验错误的原因?

    随机分布在所有控制器上。 我们尝试了多种方法在实验室中强制出现奇偶校验错误(即 EMC 测量)。 切都无济于事。 有没有人暗示要去哪里看得更远?
    发表于 01-26 06:30

    9位奇偶校验发生器/校验器74HC280-Q100; 74HCT280-Q100数据手册

    电子发烧友网站提供《9位奇偶校验发生器/校验器74HC280-Q100; 74HCT280-Q100数据手册.pdf》资料免费下载
    发表于 01-18 15:20 0次下载
    9位<b class='flag-5'>奇偶校验</b>发生器/<b class='flag-5'>校验</b>器74HC280-Q100; 74HCT280-Q100数据手册

    瑞萨RZ/G2L串口SCI的使用(上)

    瑞萨RZ/G2L的串口简称SCI,全称Serial Communication Interface。
    的头像 发表于 01-17 12:19 1451次阅读
    瑞萨RZ/G2L<b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(上)