一种通讯数据的错误纠正系统及方法转让专利
申请号 : CN202111145934.0
文献号 : CN113595687B
文献日 : 2021-12-03
发明人 : 招子安 , 张兴恩 , 张立群 , 陈思敏 , 高萌 , 赵伟威 , 龚智浩
申请人 : 佛山冠湾智能科技有限公司
摘要 :
权利要求 :
1.一种通讯数据的错误纠正系统,其特征在于,所述系统包括:依次连接的状态采样模块、纠正模块、解码模块和校验模块,所述的校验模块同时与纠正模块连接;校验模块在有效数据和差错比特流二者之间择一输出,输出的差错比特流由纠正模块接收;有效数据由本系统之外的其他设备接收;
状态采样模块,用于接收串行信号和状态采样次数m,并逐一对串行信号每个比特进行m次状态采样,根据多数显性原则获得每个比特的采样值结果,将每个比特的采样值结果依次组合形成信息比特流,输出给纠正模块;对每个比特的采样值结果进行噪声判断,当判断有某一比特的采样值结果有噪声时,将该比特的噪声比特值设置为有效值,否则设置为无效值,将每个比特的噪声比特值依次组合,形成与信息比特流一一对应的噪声比特流,输出给纠正模块;其中m为正奇数;
纠正模块,用于接收信息比特流和噪声比特流,当校验模块输出差错比特流时,同时也接收差错比特流;处理并输出纠正比特流给解码模块;
当未接收到差错比特流时,将信息比特流作为纠正比特流输出给解码模块;
当接收到差错比特流时,比较噪声比特流与差错比特流,当且仅当噪声比特流和差错比特流对某一位的表示均为有效值时,说明信息比特流的该位比特既存在噪声又存在校验差错,对信息比特流该位的值进行取反纠正,并将纠正后的信息比特流作为纠正比特流输出给解码模块;
解码模块,用于接收纠正比特流并对纠正比特流进行解码,通过输入解码协议栈,处理并输出待校验数据及冗余校验码给校验模块;
校验模块,用于接收待校验数据,并通过输入的校验函数,对待校验数据进行数据校验码计算,得到数据校验码;接收冗余校验码,并与数据校验码进行比较;若数据校验码与冗余校验码不相等,将二者差错位的值设置为有效值,相同位的值设为无效值,依次组合有效值或无效值形成与信息比特流等长且一一对应的差错比特流,输出给纠正模块,差错比特流中的有效值表示纠正比特流的对应比特有校验差错;若数据校验码与冗余校验码相等,将待校验数据转变为有效数据输出。
2.如权利要求1所述的一种通讯数据的错误纠正系统,其特征在于:所述根据多数显性原则获得每个比特的采样值结果,将每个比特的采样值结果依次组合形成信息比特流包括:当采样值结果为“1”出现次数大于等于(m+1)/2次时,以该采样值结果“1”作为该比特的值输出;否则,以采样值结果“0”作为该比特的值输出,将每个比特的采样值结果依次组合形成信息比特流。
3.如权利要求2所述的一种通讯数据的错误纠正系统,其特征在于:所述状态采样模块还接收有效采样次数n,当以采样值结果作为该比特的值输出、且该比特的值在m次状态采样中出现的次数小于有效采样次数n时,表示该比特的值存在噪声,将该比特的噪声比特值设为有效值;当以采样值结果作为该比特的值输出、且该比特的值在m次状态采样中出现的次数不小于有效采样次数n时,表示该比特的值无噪声,将该数据比特的噪声比特值设为无效值;依次将每个比特的噪声比特值组合,形成与信息比特流一一对应的噪声比特流输出,其中n为正整数,且满足m≥n≥(m+1)/2。
4.如权利要求3所述的一种通讯数据的错误纠正系统,其特征在于:所述的纠正模块,接收到信息比特流、噪声比特流和差错比特流时,对噪声比特流和差错比特流进行比较,当噪声比特流和差错比特流有多个一一对应位的值均为有效值时,说明信息比特流含有多个既存在噪声又存在校验差错的位,对信息比特流多个对应位的值统一取反纠正,并将纠正后的信息比特流作为纠正比特流输出给解码模块。
5.一种通讯数据的错误纠正方法,其特征在于,所述方法包括如下步骤:状态采样:逐一对串行信号的每个比特进行m次状态采样,根据多数显性原则,以在m次状态采样中出现次数多的采样值作为该比特的采样值结果,将每个比特的采样值结果依次组合形成信息比特流输出;
接收有效采样次数n,将采样值结果在m次状态采样中出现的次数与有效采样次数n比较,当采样值结果在m次状态采样中出现的次数小于有效采样次数n,表示该比特存在噪声,将该比特的噪声比特值设置为有效值;否则,将该比特的噪声比特值设置为无效值;依次将每个比特的噪声比特值组合,形成与信息比特流一一对应的噪声比特流输出;其中m为正奇数,n为正整数,且满足m≥n≥(m+1)/2;
纠正:接收信息比特流和噪声比特流,当校验步骤输出与信息比特流一一对应的差错比特流时,同时也接收差错比特流;
在未接收到差错比特流时,将信息比特流作为纠正比特流输出,跳转到解码步骤;
在接收到差错比特流时,比较噪声比特流与差错比特流,当且仅当噪声比特流和差错比特流对某一位的表示均为有效值时,说明信息比特流的该位比特既存在噪声又存在校验差错,对信息比特流该位的值进行取反纠正,并将纠正后的信息比特流作为纠正比特流输出,跳转到解码步骤;
解码:对纠正比特流进行解码,通过输入解码协议栈,处理并输出待校验数据及冗余校验码,跳转到校验步骤;
校验:通过输入的校验函数,对解码后输出的待校验数据进行数据校验码计算,得出数据校验码,并比较数据校验码和冗余校验码;
若数据校验码与冗余校验码不相等,将二者差错位的值设置为有效值,相同位的值设为无效值,依次组合有效值或无效值形成与信息比特流等长且一一对应的差错比特流输出,返回到纠正步骤,所述差错比特流中的有效值表示纠正比特流的对应比特有校验差错;
若数据校验码与冗余校验码相等,将待校验数据转变为有效数据输出。
6.如权利要求5所述的一种通讯数据的错误纠正方法,其特征在于:所述状态采样步骤,根据多数显性原则,以在m次状态采样中出现次数多的采样值作为该比特的采样值结果,当采样值结果为“1”出现次数大于等于(m+1)/2次时,以该采样值结果“1”作为该比特的值输出;否则,以采样值结果“0”作为该比特的值输出。
7.如权利要求6所述的一种通讯数据的错误纠正方法,其特征在于:所述的纠正步骤,接收到信息比特流、噪声比特流和差错比特流时,对噪声比特流和差错比特流进行比较,当噪声比特流和差错比特流有多个一一对应位的值均为有效值时,说明信息比特流含有多个既存在噪声又存在校验差错的位,对信息比特流多个对应位的值统一取反纠正。
说明书 :
一种通讯数据的错误纠正系统及方法
技术领域
背景技术
时钟的发送边沿,把Q个比特逐个映射在串行信号上;数据接收设备,同样根据约定的通讯
时钟的接收边沿,把串行信号上的Q个比特数据,逐个接收并组合为Q个比特的数据。
特数据发生错误,导致数据接收失败。多数情况下,为提高接收数据的可靠性,人们在软件
上增加校验码作为数据的除错手段,按照校验码的生成规则,对接收数据进行数据校验码
生成,并与通讯校验码进行比较,在比较一致的情况下,认为接收数据无误并输出,当比较
有差异的情况下,认为数据有误则丢弃,并在一定情况下,尝试对通讯数据进行多次发送,
以保证数据接收设备对通讯数据的可靠接收。
进行数据恢复而被迫丢失一个控制周期的数据,从而导致对系统可靠性下降。特别在伺服
驱动控制产品上,为确保伺服控制性能,一般控制频率设定为16KHz,即控制周期为62.5us,
而每个控制周期所需的编码器位置数据的通讯获取则占用了32‑50us,则当编码器数据校
验错误时,没法通过重发而重新获取,则导致丢弃了一个准确的控制周期,从而影响伺服控
制的性能,进而引起抖动、效率降低等情况。
发明内容
确的问题,最大限度地根据噪声比特流及差错比特流的信息对数据比特流进行纠正,从而
恢复正确的数据,避免控制过程因受到干扰而导致控制性能下降的问题,从而提高控制的
可靠性。
流由纠正模块接收;有效数据由本系统之外的其他设备接收;
果依次组合形成信息比特流,输出给纠正模块;对每个比特的采样值结果进行噪声判断,当
判断有某一比特的采样值结果有噪声时,将该比特的噪声比特值设置为有效值,否则设置
为无效值,将每个比特的噪声比特值依次组合,形成与信息比特流一一对应的噪声比特流,
输出给纠正模块;其中m为正奇数;
校验差错,对信息比特流该位的值进行取反纠正,并将纠正后的信息比特流作为纠正比特
流输出给解码模块;
与冗余校验码不相等,将二者差错位的值设置为有效值,相同位的值设为无效值,依次组合
有效值或无效值形成与信息比特流等长且一一对应的差错比特流,输出给纠正模块,差错
比特流中的有效值表示纠正比特流的对应比特有校验差错;若数据校验码与冗余校验码相
等,将待校验数据转变为有效数据输出。
等于(m+1)/2次时,以该采样值结果“1”作为该比特的值输出;否则,以采样值结果“0”作为
该比特的值输出,将每个比特的采样值结果依次组合形成信息比特流。
时,表示该比特的值存在噪声,将该比特的噪声比特值设为有效值;当以采样值结果作为该
比特的值输出、且该比特的值在m次状态采样中出现的次数不小于有效采样次数n时,表示
该比特的值无噪声,将该数据比特的噪声比特值设为无效值;依次将每个比特的噪声比特
值组合,形成与信息比特流一一对应的噪声比特流输出,其中n为正整数,且满足m≥n≥(m+
1)/2。
一对应位的值均为有效值时,说明信息比特流含有多个既存在噪声又存在校验差错的位,
对信息比特流多个对应位的值统一取反纠正,并将纠正后的信息比特流作为纠正比特流输
出给解码模块。
果依次组合形成信息比特流输出;
声,将该比特的噪声比特值设置为有效值;否则,将该比特的噪声比特值设置为无效值;依
次将每个比特的噪声比特值组合,形成与信息比特流一一对应的噪声比特流输出;其中m为
正奇数,n为正整数,且满足m≥n≥(m+1)/2;
校验差错,对信息比特流该位的值进行取反纠正,并将纠正后的信息比特流作为纠正比特
流输出,跳转到解码步骤;
输出,返回到纠正步骤,所述差错比特流中的有效值表示纠正比特流的对应比特有校验差
错;
于(m+1)/2次时,以该采样值结果“1”作为该比特的值输出;否则,以采样值结果“0”作为该
比特的值输出。
一对应位的值均为有效值时,说明信息比特流含有多个既存在噪声又存在校验差错的位,
对信息比特流多个对应位的值统一取反纠正。
比特流通讯的最大限度的数据纠正,避免数据丢失或通讯重发,进而提高数据通讯效率和
提升伺服控制性能。可有效解决当控制周期仅能进行1次数据通讯的前提下,数据通讯错误
导致控制周期内数据不准确的问题,最大限度地根据噪声比特流及差错比特流的信息对信
息比特流进行纠正,从而恢复正确的数据,避免控制过程因受到干扰而导致控制性能下降
的问题,从而提高控制的可靠性。
附图说明
具体实施方式
输出的差错比特流由纠正模块20接收;有效数据由本系统之外的其他设备接收;
结果依次组合形成信息比特流,输出给纠正模块20;对每个比特的采样值结果进行噪声判
断,当判断有某一比特的采样值结果有噪声时,将该比特的噪声比特值设置为有效值,否则
设置为无效值,将每个比特的噪声比特值依次组合,形成与信息比特流一一对应的噪声比
特流,输出给纠正模块20;其中m为正奇数;
时,以该采样值结果“1”作为该比特的值输出;否则,以采样值结果“0”作为该比特的值输
出,将每个比特的采样值结果依次组合形成信息比特流;
值存在噪声,将该比特的噪声比特值设为有效值;当以采样值结果作为该比特的值输出、且
该比特的值在m次状态采样中出现的次数不小于有效采样次数n时,表示该比特的值无噪
声,将该数据比特的噪声比特值设为无效值;依次将每个比特的噪声比特值组合,形成与信
息比特流一一对应的噪声比特流输出,其中m为正奇数,n为正整数,且满足m≥n≥(m+1)/2;
校验差错,对信息比特流该位的值进行取反纠正,并将纠正后的信息比特流作为纠正比特
流输出给解码模块30;
有效值时,说明信息比特流含有多个既存在噪声又存在校验差错的位,对信息比特流多个
对应位的值统一取反纠正,并将纠正后的信息比特流作为纠正比特流输出给解码模块。
码与冗余校验码不相等,将二者差错位的值设置为有效值,相同位的值设为无效值,依次组
合有效值或无效值形成与信息比特流等长且一一对应的差错比特流,输出给纠正模块20,
差错比特流中的有效值表示纠正比特流的对应比特有校验差错;若数据校验码与冗余校验
码相等,将待校验数据转变为有效数据输出。
并进行纠正,实现单次比特流通讯的最大限度的数据纠正,避免数据丢失或通讯重发,进而
提高数据通讯效率和提升伺服控制性能。可有效解决当控制周期仅能进行1次数据通讯的
前提下,数据通讯错误导致控制周期内数据不准确的问题,最大限度地根据噪声比特流及
差错比特流的信息对信息比特流进行纠正,从而恢复正确的数据,避免控制过程因受到干
扰而导致控制性能下降的问题,从而提高控制的可靠性。
采样值结果依次组合形成信息比特流输出;
声,将该比特的噪声比特值设置为有效值;否则,将该比特的噪声比特值设置为无效值;依
次将每个比特的噪声比特值组合,形成与信息比特流一一对应的噪声比特流输出;其中m为
正奇数,n为正整数,且满足m≥n≥(m+1)/2;
时,以该采样值结果“1”作为该比特的值输出;否则,以采样值结果“0”作为该比特的值输
出。
校验差错,对信息比特流该位的值进行取反纠正,并将纠正后的信息比特流作为纠正比特
流输出,跳转到解码步骤S103;
均为有效值时,说明信息比特流含有多个既存在噪声又存在校验差错的位,对信息比特流
多个对应位的值统一取反纠正;
输出,返回到纠正步骤S102,所述差错比特流中的有效值表示纠正比特流的对应比特有校
验差错;
特,并通过纠正步骤S102进行纠正,实现单次比特流通讯的最大限度的数据纠正,避免数据
丢失或通讯重发,进而提高数据通讯效率和提升伺服控制性能。可有效解决当控制周期仅
能进行1次数据通讯的前提下,数据通讯错误导致控制周期内数据不准确的问题,最大限度
地根据噪声比特流及差错比特流的信息对信息比特流进行纠正,从而恢复正确的数据,避
免控制过程因受到干扰而导致控制性能下降的问题,从而提高控制的可靠性。
值为{00001111b},为便于理解,将正常串行信号应包含的其他信息:比如包头、包尾、读写
操作等均排除在外了。将m的值设置为5,也就是针对该串行信号的每个比特,均进行5次的
状态采样。将n的值设置为4,也就是要求采样值结果出现的次数不小于4次才将该比特的噪
声比特值设置为无效值,否则就将该比特的噪声比特值设置为有效值,本实施例中所述所
有的有效值和与无效值均为取非逻辑关系,当有效值为“0”时,无效值为“非0”,当有效状态
为“非0”时,无效值为“0”。为了便于理解,本实施例将有效值取为“非0”,即“1”。
的顺序,每个字节的比特顺序为7‑0,该串行信号所组成的比特流为{01001001b,
10010110b,00000010b,11010010b,00001111b}。
样值结果为“0”出现次数的为3,符合大于等于(5+1)/2次的条件,以采样值结果 “0”作为该
比特的值输出,判断得到该比特的值为“0”;又由于采样值结果为“0” 出现的次数3小于输
入的有效采样次数4次,因此代表其具有噪声,将对应的噪声比特的值设置为有效值,即
“1”,来表示该比特存在噪声。该字节的其他比特的值采样结果均正确,且均无噪声。对该字
节进行噪声还原后其值为{00000010b},该字节的噪声比特流为{00000001b}。
值结果为“0”出现次数的为3,符合大于等于(5+1)/2次的条件,以该采样值“0”作为该数据
比特的值输出,判断得到该比特的值为“0”,又由于采样结果为“0”的次数小于输入的有效
采样次数4次,因此代表其具有噪声,将对应的噪声比特的值设置为有效值,即“1”,来表示
该比特存在噪声。该字节的其他比特位数据比特的值采样结果均正确,且均无噪声。对该字
节进行噪声还原后其值为{00010110b},该字节的噪声比特流为{10000000b}。
值结果为“0”出现次数的为3,符合大于等于(5+1)/2次的条件,以该采样值作为该数据比特
的值输出,判断得到该比特的值为“0”;又由于采样值结果为“0”的次数3小于输入的有效采
样次数4次,因此代表其具有噪声,将对应的噪声比特设置为有效值,即“1”,来表示该比特
存在噪声。该字节的其他比特位数据比特的值采样结果均正确,且均无噪声。噪声还原后的
第4个字节的值{01000001b},该字节的噪声比特流为{00001000b}。
噪声比特流为{00001000b,10000000b,00000001b,00000000b,00000000b}。
00000010b,11010010b,00001111b}是有差异的。
处理,因此是不会接收到差错比特流的,这时直接将信息比特流作为纠正比特流输出给解
码模块30;
数据处理中常用技术,在此不作赘述。因此可知,解码后的纠正比特流分解成了待校验数据
{01000001b,00010110b,00000010b,11010010b},和冗余校验码{00001111b},待校验数据
其32位数据值为变成了1091961554,与输入的串行信号的数据值不相符。
特,等于每个待校验字节的对应位的异或值,经过解码模块30可得待校验数据为
{01000001b,00010110b,00000010b,11010010b},异或过程及结果如下:
节的对应比特有关,而与其他比特无关,则可知,若计算出的数据校验码与接收的冗余校验
码,在某一比特上不相同,表示所有待校验字节的对应位可能存在差错。数据校验码与冗余
校验码不相等,将二者差错位的值设置为有效值,相同位的值设为无效值,依次组合有效值
或无效值形成与信息比特流等长且一一对应的差错比特流。对收到的冗余校验码
{00001111b},与计算出的数据校验码{10000111b}比较可知,第3位和第7位存在差异,则说
明所有待校验字节的第3、7位存在差错,差错比特流中的有效值表示纠正比特流的对应比
特有校验差错;输出差错比特流{10001000b,10001000b,10001000b,10001000b,
10001000b}。
正比特流一致,其每一个差错比特,与纠正比特流对应顺序的数据比特对应,当差错比特为
有效值时,表示对应纠正比特流的比特存在差错。
方式,其均会得出一个差错比特流。
一位的表示均为有效值时,说明该位比特存在噪声级校验差错,对信息比特流的该位的值
进行取反纠正,并将纠正后的信息比特流作为纠正比特流进行输出。其过程如下:把上述得
到的噪声比特流
当噪声比特流和差错比特流有多个一一对应位的值均为有效值时,说明信息比特流含有多
个既存在噪声又存在校验差错的位,对信息比特流多个对应位的值统一取反纠正,可以得
知:
11010010b,00001111b}的第4字节的第3位及第3字节的最高位进行取反纠正,得到纠正比
特流{01001001b,10010110b,00000010b,11010010b,00001111b}。
待校验数据的每个字节异或,过程如下:
完成通讯数据的接收纠正。
通讯的前提下,数据通讯错误导致控制周期内数据不准确的问题,最大限度地根据噪声比
特流及差错比特流的信息对信息比特流进行纠正,从而恢复正确的数据,避免控制过程因
受到干扰而导致控制性能下降的问题,从而提高控制的可靠性。
数据校验码,通过校验模块40可生成更准确的差错比特流,实现更精准的数据比特纠正。另
外,实施例中所采用的协议格式、采样参数、采样数据也仅为描述本实施例而设定,本发明
适用但不限于此实施例应用。
要求范围内。