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

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

3天内不再提示

芯教程|平头哥助力昊芯HX2000系列芯片专题SCI串口通讯奇偶校验(二)SCI增强FIFO

中科昊芯 2022-11-08 10:08 次阅读

自昊芯推出专题讲解SCI串口通讯奇偶校验,分为两期讲解,上期主要讲解标准SCI模式下的奇偶校验,本期主要讲解增强FIFO模式下的奇偶校验。

HX2000系列SCI模块与中断框图如下,可通过SCICCR[PARITYENA]使能,启动奇偶校验;采用SCICCR[PARITY]选择,使用奇或偶校验,对每个字符增加一个额外的校验位,以校验收发数据的二进制码中“1”的个数,校验收发数据的一致性;FIFO模式下校验原理与标准模式一致,但收发数据校验位不一致时,仅置位SCIRXBUF[SCIFFPE]输出错误信号

728543fe-5ecd-11ed-b116-dac502259ad0.jpg72ff3510-5ecd-11ed-b116-dac502259ad0.jpg

由此设计SCI串口增强FIFO通信校验实例:采用SCI与串口CH340,通过串口调试助手,向CPU发送任意一组四字节数据,CPU接收所发送的数据,通过按键控制,选择奇或偶校验,校验收发数据的一致性,硬件连接如下图所示:

7326cdf0-5ecd-11ed-b116-dac502259ad0.jpg

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

1.intmain(void)
2.{
3./*初始化系统控制*/
4.InitSysCtrl();
5./*初始化内存控制寄存器,使能内存流水线模式*/
6.InitFlash();
7./*初始化串口通信的GPIO口:GPIO28: SCIRXDA,GPIO29: SCITXDA*/
8.InitSciGpio();
9.
10./*初始化LED,用于指示奇偶与帧格式校验错误*/
11.InitLED();
12./*初始化key按键,用于控制奇偶校验模式选择*/
13.InitKEY();
14.
15./*关闭PIE中断*/
16.InitPieCtrl();
17./*清除中断标志位*/
18.IER=0x0000;
19.IFR=0x0000;
20./*初始化PIE中断向量表*/
21.InitPieVectTable();
22.
23.EALLOW;
24./*中断向量表入口地址SCIRXINTA,指向执行接收中断、校验模式选择与程序*/
25.PieVectTable.SCIRXINTA=&sci_rx_isr;
26.EDIS;
27.
28./*打开相应的PIE中断线*/
29.IER|=M_INT9;
30./*PIEGroup9,SCIRXINTA*/
31.PieCtrlRegs.PIEIER9.bit.INTx1=1;
32.
33./*SCI增强FIFO配置:含奇偶校验*/
34.Scia_Config(9600);
35./*打开全局中断*/
36.EINT;
37.for(;;)
38.{
39.}
40.return0;
41.}

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

736f7c94-5ecd-11ed-b116-dac502259ad0.jpg

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

739cbfd8-5ecd-11ed-b116-dac502259ad0.jpg

收发数据校验位不一致时,通过SciaRegs.SCIRXBUF.SCIFFPE置位输出错误信号:

73c1be1e-5ecd-11ed-b116-dac502259ad0.png

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

    关注

    447

    文章

    47802

    浏览量

    409168
  • fifo
    +关注

    关注

    3

    文章

    369

    浏览量

    43069
收藏 人收藏

    评论

    相关推荐

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

    我们将 XMC4500 用于功能安全应用。 有几个用户安装了 1000 个或更多控制器。 在这些现场安装中,我们每月在 PSRAM 和/或 DSRAM 中会遇到大约 1-2 个奇偶校验错误。 错误
    发表于 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 646次阅读
    瑞萨RZ/G2L<b class='flag-5'>串口</b><b class='flag-5'>SCI</b>的使用(上)

    奇偶校验和crc校验的区别 CRC校验奇偶校验之间有什么关系?

    奇偶校验和crc校验的区别 CRC校验奇偶校验之间有什么关系? 奇偶校验和 CRC(Cyclic Redundancy Check)
    的头像 发表于 10-17 16:28 2471次阅读

    什么是奇校验和偶校验?常见的奇偶校验方式有哪些?

    什么是奇校验和偶校验?常见的奇偶校验方式有哪些? 1. 奇偶校验是指在数字通信中采用一种技术对传输的数据进行校验。由于数字信号传输容易受到干
    的头像 发表于 10-17 16:28 7870次阅读

    串口通信奇偶检验什么意思 为什么要使用奇偶检验 怎么使用奇偶检验

    串口通信奇偶检验什么意思 为什么要使用奇偶检验 怎么使用奇偶检验? 串口通信奇偶检验是指通过对
    的头像 发表于 10-17 16:16 3960次阅读

    什么是奇偶校验电路?奇偶校验器是时序逻辑电路吗?

    什么是奇偶校验电路?奇偶校验器是时序逻辑电路吗? 奇偶校验电路是一种数字电路,在数据传输过程中用于检测数据是否发生错误。在每个数据字节(通常是8位)的最高位添加一位(偶校验)或两位(奇
    的头像 发表于 10-17 16:16 2636次阅读

    什么是奇偶校验 奇偶校验的基本原理 奇偶校验电路什么意思

    什么是奇偶校验 奇偶校验的基本原理 奇偶校验电路什么意思  奇偶校验是一种用于检测二进制数据中错误的方法。它的基本原理是在二进制数据的末尾添加一个额外的位,使得数据中二进制 1 的数量
    的头像 发表于 10-17 16:16 2684次阅读

    串口在传输的时候奇偶校验位是做什么用的?

    串口在传输的时候奇偶校验位是做什么用的
    发表于 10-12 08:06

    奇偶校验器的设计方法和特点

    奇偶校验是一种简单、实现代价小的检错方式,常用在数据传输过程中。对于一组并行传输的数据(通常为8比特),可以计算岀它们的奇偶校验位并与其一起传输。接收端根据接收的数据重新计算其奇偶校验位并与接收
    的头像 发表于 09-05 10:40 1181次阅读
    <b class='flag-5'>奇偶校验</b>器的设计方法和特点

    如何实现一种基于FPGA的奇偶校验器设计?

    奇偶校验是一种简单、实现代价小的检错方式,常用在数据传输过程中。对于一组并行传输的数据(通常为8比特),可以计算岀它们的奇偶校验位并与其一起传输。
    发表于 09-05 10:38 475次阅读
    如何实现一种基于FPGA的<b class='flag-5'>奇偶校验</b>器设计?

    中科Start_DSC28034PNT开发板开箱体验

    中科Start_DSC28034PNT开发板开箱体验: 1.开发板开箱 jtag烧写口/usb供电口以及转串口/RS485/CAN/RS232口/IO等都引出了;外围配置了数码管、eeprom
    发表于 07-13 10:47

    ML51EC0AE的奇偶校验怎么设置?

    ML51EC0AE的奇偶校验是怎么设置的,可以发送数据但是设备一直不回复数据(设备是偶校验)搞了一天了也不行,应该是校验不对,麻烦大家看看,谢谢! ACC=c;//发送的数据 TB8=P
    发表于 06-16 07:16

    【RISC-V 专题】中科Start_DSC28034PNT湖人开发板免费试用

    Start_DSC28034PNT开发板使用了HXS320F28034PNT RISC-V DSP芯片,该芯片集成了
    发表于 05-19 10:50

    FPGA奇偶校验的基本原理及实现方法

    在数字电路中,数据的正确性非常重要。为了保证数据的正确性,在传输数据时需要添加一些冗余信息,以便在接收端进行校验。其中一种常用的校验方式是奇偶校验(Parity Check)。本文将介绍奇偶校
    的头像 发表于 05-14 14:59 2029次阅读
    FPGA<b class='flag-5'>奇偶校验</b>的基本原理及实现方法