一种UART控制器及数据传输有效性检测方法技术

技术编号:37113880 阅读:16 留言:0更新日期:2023-04-01 05:10
本发明专利技术公开了一种UART控制器及数据传输有效性检测方法,UART控制器包括接收器,所述接收器用于接收外部数据;发送器,所述发送器用于向外部发送数据;UART数据收发控制单元,所述UART数据收发控制单元用于控制接收器和发送器进行收发数据,并适时执行中断控制。本发明专利技术提供一种UART控制器及数据传输有效性检测方法,解决UART串口在数据传输过程中,当无奇偶校验位或者当一帧数据在传输时有偶数个bit位的数据传输错误,导致无法检测出数据传输错误的问题。解决当传输的数据过大或芯片通信距离过长时,数据存在误差累积,导致无法及时发现并中断数据传输的问题。解决UART串口在数据传输过程中,因抗干扰能力较差,导致的数据传输错误,无法及时中断的问题。无法及时中断的问题。无法及时中断的问题。

【技术实现步骤摘要】
一种UART控制器及数据传输有效性检测方法


[0001]本专利技术涉及一种UART控制器及数据传输有效性检测方法。

技术介绍

[0002]目前,在UART串口通信数据传输中,为了验证输出传输的正确性,在部分芯片与芯片数据通信过程中主要通过奇偶校验位来确保数据传输的有效性。UART串口通信数据传输只能一位一位的进行发送与接收,在每帧数据传输过程中,主要利用停止位来代表一帧数据传输完毕。例如当在使用偶校验方法来验证数据传输的正确性时,校验位会计算一帧数据传输中,数据位的“1”的个数,若“1”的个数为偶数,则校验位将输出成功,数据可继续进行传输。奇校验方法与偶校验方法类似,计算的是一帧数据中的“0”的个数。
[0003]但是,在UART串口通信数据传输中,通过奇偶校验位来确保数据传输的有效性不能检测出所有数据传输错误的情况,例如当一帧数据在传输时,若有两个、四个等偶数个bit位的数据传输错误,奇偶校验结果则会有误,因为奇偶校验位只会计算一帧数据中“1”或“0”的个数,偶数个bit位的数据发生传输错误,奇偶校验位则检测不出数据是否传输错误,且奇偶校验位只能用来检测,没有对帧数据进行修正的功能。而且,在众多芯片与芯片通信时,UART串口没有加入奇偶校验来验证数据传输的正确性。同时,在UART串口通信数据传输时,由于UART采用全双工、异步传输方式,抗干扰能力相对较差,易导致数据传输错误,且在芯片进行串口通信时,由于芯片之间使用的晶振不同,如果传输的数据内容过大,或者双方芯片通信距离过长,就会存在误差累积,影响数据传输的准确性,对芯片之间通信的数据传输准确性造成了很大的影响。

技术实现思路

[0004]本专利技术所要解决的技术问题是,克服现有技术的不足,提供一种UART控制器及数据传输有效性检测方法,解决UART串口在数据传输过程中,当无奇偶校验位或者当一帧数据在传输时有偶数个bit位的数据传输错误,导致无法检测出数据传输错误的问题。解决当传输的数据过大或芯片通信距离过长时,数据存在误差累积,导致无法及时发现并中断数据传输的问题。解决UART串口在数据传输过程中,因抗干扰能力较差,导致的数据传输错误,无法及时中断的问题。
[0005]为了解决上述技术问题,本专利技术的技术方案是:
[0006]本专利技术一方面提供一种UART控制器,它包括:
[0007]接收器,所述接收器用于接收外部数据;
[0008]发送器,所述发送器用于向外部发送数据;
[0009]UART数据收发控制单元,所述UART数据收发控制单元用于控制接收器和发送器进行收发数据,并适时执行中断控制;
[0010]波特率生成器,所述波特率生成器用于控制收发数据的速率;
[0011]数据比较单元,所述数据比较单元用于根据UART数据收发控制单元发出的数据采
集指令采集接收器和发送器当前收发的数据,进行接收器和发送器每帧数据的比较。
[0012]进一步,所述UART数据收发控制单元包括数据接收控制单元、数据发送控制单元以及中断控制单元;
[0013]所述数据接收控制单元用于向接收器发送数据接收指令;
[0014]所述数据发送控制单元用于向发送器发送数据发送指令;
[0015]所述中断控制单元用于向接收器和发送器发送中断控制指令。
[0016]进一步,所述波特率生成器包括数据接收波特率控制单元和数据发送波特率控制单元;
[0017]所述数据接收波特率控制单元用于控制接收器接收数据的速率;
[0018]所述数据发送波特率控制单元用于控制发送器发送数据的速率。
[0019]进一步,所述数据比较单元包括数据FIFO接收缓存寄存器、数据FIFO发送缓存寄存器和两个级联的四位数值比较器。
[0020]本专利技术另一方面提供一种UART控制器的数据传输有效性检测方法,它包括:
[0021]步骤S1、UART数据收发控制单元发出数据接收指令,接收器接收外部芯片传输过来的数据;
[0022]步骤S2、UART数据收发控制单元发出数据比较指令,采集接收器接收的帧数据,放入到数据比较单元中的数据FIFO接收缓存寄存器中;
[0023]步骤S3、UART数据收发控制单元发出数据发送指令,发送器将传输的数据向外发送;
[0024]步骤S4、UART数据收发控制单元发出数据比较指令,采集发送器发送的帧数据,放入到数据比较单元中的数据FIFO发送缓存寄存器中;
[0025]步骤S5、利用数据比较单元的四位数值比较器对接收和发送的数据进行比较,并将比较结果及时反馈给UART数据收发控制单元,UART数据收发控制单元做出数据继续传输或中断操作,并控制数据比较单元进行复位清空数据FIFO接收缓存寄存器和数据FIFO发送缓存寄存器中。
[0026]进一步,所述步骤S1具体包括如下步骤:
[0027]UART数据收发控制单元接到外部数据接收指令后,发送数据接收指令给接收器,利用Rx接收数据线接收到通信数据,接收一帧数据完毕之后,接收器向UART数据收发控制单元发送帧数据接收完毕指令。
[0028]进一步,所述接收一帧数据完毕的判断条件为接收器接收的帧数据的停止位启动。
[0029]进一步,所述步骤S3具体包括如下步骤:
[0030]UART数据收发控制单元向发送器发送数据发送指令,当发送器接收到UART数据收发控制单元要发送帧数据的指令后,发送器通过Tx发送数据线进行每一帧数据的发送操作,发送一帧数据完毕之后,发送器向UART数据收发控制单元发送帧数据发送完毕指令。
[0031]进一步,所述发送一帧数据完毕的判断条件为发送器发送的帧数据的停止位启动。
[0032]进一步,所述步骤S5中,利用数据比较单元的四位数值比较器对接收和发送的数据进行比较,并将比较结果及时反馈给UART数据收发控制单元,具体包括如下步骤:
[0033]利用数据比较单元的四位数值比较器对接收器接收的一帧数据和发送器发送的一帧数据进行比较;
[0034]若接收器接收的一帧数据和发送器发送的一帧数据完全一致,数据比较单元输出高电平,则继续进行数据收发;
[0035]若接收器接收的一帧数据和发送器发送的一帧数据不一致,数据比较单元输出低电平,则中断数据收发。
[0036]采用了上述技术方案,本专利技术是通过在UART控制器内部增加数据比较单元,对发送器和接收器的数据进行抽样采集比较,给予UART数据收发控制单元数据收发情况及时反馈,解决了部分芯片与芯片之间数据传输无奇偶校验位或奇偶校验位识别不出数据传输有误的问题,大大地避免因数据传输错误对芯片之间通信的影响。通过在UART串口控制器内部加入数据比较单元,用来比较发送时的一帧数据和接收完毕时的同一帧数据,可以很好地避免UART串口在数据传输时奇偶校验位检测不出数据传输错误的问题。数据比较单元可根据需求对接收器和发送器传输的帧数据抽样采集然后进行比较,避免了数据传输时数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UART控制器,其特征在于,它包括:接收器,所述接收器用于接收外部数据;发送器,所述发送器用于向外部发送数据;UART数据收发控制单元,所述UART数据收发控制单元用于控制接收器和发送器进行收发数据,并适时执行中断控制;波特率生成器,所述波特率生成器用于控制收发数据的速率;数据比较单元,所述数据比较单元用于根据UART数据收发控制单元发出的数据采集指令采集接收器和发送器当前收发的数据,进行接收器和发送器每帧数据的比较。2.根据权利要求1所述的UART控制器,其特征在于:所述UART数据收发控制单元包括数据接收控制单元、数据发送控制单元以及中断控制单元;所述数据接收控制单元用于向接收器发送数据接收指令;所述数据发送控制单元用于向发送器发送数据发送指令;所述中断控制单元用于向接收器和发送器发送中断控制指令。3.根据权利要求1所述的UART控制器,其特征在于:所述波特率生成器包括数据接收波特率控制单元和数据发送波特率控制单元;所述数据接收波特率控制单元用于控制接收器接收数据的速率;所述数据发送波特率控制单元用于控制发送器发送数据的速率。4.根据权利要求1所述的UART控制器,其特征在于:所述数据比较单元包括数据FIFO接收缓存寄存器、数据FIFO发送缓存寄存器和两个级联的四位数值比较器。5.一种如权利要求1~4中任一项所述的UART控制器的数据传输有效性检测方法,其特征在于,它包括:步骤S1、UART数据收发控制单元发出数据接收指令,接收器接收外部芯片传输过来的数据;步骤S2、UART数据收发控制单元发出数据比较指令,采集接收器接收的帧数据,放入到数据比较单元中的数据FIFO接收缓存寄存器中;步骤S3、UART数据收发控制单元发出数据发送指令,发送器将传输的数据向外发送;步骤S4、UART数据收发控制单元发出数据比较指令,采集发送器发送的帧数据,放入到数据比较单元中的数据FIFO发送缓存寄存器...

【专利技术属性】
技术研发人员:许芳刘泽南李茹杨卫桥
申请(专利权)人:常州星宇车灯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1