一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于二维阵列数据高速传输的容错传输方法与流程

2022-03-05 09:07:44 来源:中国专利 TAG:


1.本发明属于通信数据传输技术领域,尤其涉及一种用于二维阵列数据高速传输的容错传输方法。


背景技术:

2.在很多应用中,数据会以阵列为组织形式,比如视频数据、商业数据、实验数据、医药数据、经济数据等。其中,平面图像是很自然用二维阵列作为数据组织形式。
3.对于一些有着高速数据传输需求的应用来说,大部分的数据接收端还需要边接收边处理,从而来实现每一帧二维阵列数据从生成到被完成使用所需的延时最小。虽然,二维阵列数据由于本身固有的维度以及坐标顺序,有着天然的组别性质,但是,按照二维阵列的天然维度来进行分组打包传输却不一定能实现前述延时最小的需求。
4.当需要把数据从生成系统高速传输到使用系统时,考虑到硬件成本以及传输距离,往往采用串行传输的方式。串行传输是指将数据一位一位地依次传输,每一位数据占据一个固定的时间长度,这样一来只需要少数几条线缆就能进行系统之间的信息交换。串行传输中用来表示二进制数据中的0和1有很多种方式,比如按极性可为单极性码和双极性码,按信号是否归零可分为归零码和非归零码。在通信领域中常采用lvds电平(即低电压差分信号)来表示数字0和1,这是一种双极性非归零码,目前针对这种双极性非归零码开发出了许多种编码方式,比如4b/5b编码,8b/10b编码,64b/66b编码,64b/67b编码,128b/130b编码,128b/132b编码等。
5.lvds链路的连接还分为直流耦合和交流耦合两种方式,交流耦合可设置收发两端的共模电平,方便电平转换、去除共模误差以及避免输入电压故障等优点。但交流耦合方式需要保证链路在传输过程中保持直流平衡,即在传输过程中一定时间内保持发送数据通道中的0和1的数量基本保持一致,连续的0或者连续的1的个数不超超过若干个,否则就会发生数据丢失等错误。在前述多种编码方式中,8b/10b编码能够保证直流平衡。而64b/66b编码,128b/130b编码,128b/132b编码虽然不能实现8b/10b编码那样完美的直流平衡,但通过使用扰码技术,即将数据按比特位进行伪随机化的重新排列,可以减少长连0和长连1的出现,也能一定程度上改善直流不平衡的问题。
6.另一方面,在一些特殊应用中,传输环境中复杂的机械及电磁环境可能导致数据在高速传输过程中发生错误,即所谓的产生误码,所以传统的传输系统有时会因为这样的误码导致接收和使用二维阵列数据的系统发生系统性错误,并且这种系统性错误还不可恢复。所以,在开发这种传输系统时,不但要从硬件上加强各部件的抗干扰能力,还要加强高速串行数据传输所使用的数据打包和解析方式本身的容错能力。
7.显而易见,要在传输数据的过程中加上容错能力,那么一定要加上比原始数据更多的冗余信息。这样的冗余信息需要在接收端能够被识别出来,用来指示通道接收端进行数据定位和分发等操作,以及发生传输误码时辅助通道接收端的工作状态仍然能够正确流转。比如,8b/10b编码,通过增加两位数据,虽然增加了传输带宽的开销,但却提供若干可供
用作特殊字符的控制字符,也就是所谓的k字符。


技术实现要素:

8.有鉴于此,本发明提出了二维阵列数据高速传输的容错传输方法。本发明第一方面公开的二维阵列数据高速传输的容错传输方法,包括以下步骤:
9.根据预设规则以帧为单位对二维阵列数据进行优化排序和分组,形成一维数列数据;
10.对分组好的数据根据数据特点以及传输通道本身的电气要求进行编码;
11.每组数据之前插入特定数量的组首特殊字符作为组引导码;
12.每帧数据之前加上特定数量的帧首特殊字符作为帧引导码,发送到接收端。
13.进一步的,所述预设规则为:首先将在接收端所处系统中在同一时间并行处理的所有数据分在同一组;将在接收端所处系统中第一次被处理在先的组数据安排在前面,按照顺序排成一个一维数列数据。
14.进一步的,每个分组数据包含l=m*n/j个元素数据,其中m为二维阵列的行数,n为二维阵列的列数,j为一维数列数据分组后的组数。
15.进一步的,所述对分组好的数据根据数据特点以及传输通道本身的电气要求进行编码包括:每个元素数据有k个比特,每组数据包括l*k个比特位,将每个分组数据以u比特位为单位编码,分成整数q个单位编码,再将每个u比特位编码为v比特位。
16.进一步的,如果l*k不能被u整除,或为了使接收端所处系统解码更方便,不改变这组数据中任意两个比特位本来的先后顺序,在这组数据的首部或尾部,或者在每若干个数据的首部或尾部,补上若干比特的数字
’0’
或者
’1’
,使得编码后每个单位的编码长度一致。
17.进一步的,每组数据的gs字符的数量ng使用如下方式确定:
18.ng=max(ng0,ng1)
19.其中ng0为至少满足让接收端的数据处理系统能够识别出组首,并且在当个别gs字符发生误码时仍有足够多的有效gs字符可供接收端所处系统识别组首成功的数量,ng1为使得接收端的数据处理系统完成组数据预处理的时间周期。
20.进一步的,用作帧首引导码的特殊字符fs的数量nf使用如下方式确定:
21.nf》=max(nf0,nf1,ng)
22.其中nf0为满足让接收端出具处理系统能够识别出帧首,并且在当个别fs字符发生误码时仍有足够多的有效fs字符可供接收端识别帧首成功的fs字符数量;nf1为使得接收端数据处理系统在完成一整帧数据后用来完成帧数据完全处理需要的最小时钟周期个数。
23.本发明第二方面公开的用于二维阵列数据高速传输的容错传输方法,包括以下步骤:
24.接收数据发送端的数据;
25.识别并去除每帧数据前的帧引导码和每组数据前的组引导码,形成有效数据进行分发和处理。
26.本发明的有益效果如下:
27.实现每一帧二维阵列数据从生成到被完成使用所需的延时最小;
28.减少接收端所处系统用来缓存数据的存储容量;
29.实现在有限的误码率情况下,接收端所处系统仍然能够识别到有效的帧首、组首,从而使收到的数据能够被正确的分发和处理;
30.适用于生成各帧二维阵列数据需要相同或者不同时间的应用需求。
附图说明
31.图1本发明的容错传输方法流程图;
32.图2某一帧优化排序后的数据在时域上等待分组的一个片段;
33.图3经优化排序以及分组后的数据在时序上待编码的数据示意图;
34.图4以u比特位为单位编码后的一组数据示意图;
35.图5以v比特位为单位编码后的一组数据示意图;
36.图6完成编码后的一帧数据的组织形式图。
具体实施方式
37.下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
38.如图1所示,本发明的二维阵列数据高速传输的容错传输方法,首先对二维阵列数据进行优化排序和分组。对于一个待传输的包含若干帧二维阵列数据的数据包,每一帧都是一个m行n列的二维阵列数据a,其中的每一个元素都是一个k位(k》=1)的二进制数。对于处于某一帧上第m行第n列的元素可记为a(m,n)=[b
k-1bk-2

b1b0](m,n),其中0《=m《m,0《=n《n。每一帧二维阵列数据需要被传输到接收端所处系统进行处理。本发明所述的优化排序及分组方式是不根据二维阵列数据所处的笛卡尔坐标系的坐标顺序进行,而是根据数据在接收端所处系统中的使用方式以及第一次被使用的并行性以及顺序性进行排序以及分组,按照以下两条规则进行:
[0039]
1、把在接收端所处系统中在同一时间并行处理的所有数据分在同一组;
[0040]
在不同应用情况下,接收端所处系统同一时间处理的数据顺序也不相同。比如二维阵列数据接收处理数据的模块有d个,其中每一个模块分时处理对应子方阵的数据,于是,将第d个处理模块处理的h个数据分在同一组。
[0041]
2、把在接收端所处系统中第一次被处理在先的组数据安排在前面,按照优先级由高到低的顺序排成一个一维数列数据。
[0042]
在不同应用情况下,接收端所处系统同一时间处理的数据顺序也不相同。比如二维阵列数据接收处理数据的模块有d个,其中每一个模块分时处理对应子方阵的数据,如果第d个处理模块的数据是优先处理的,将第d个处理模块处理的h个数据编为第一组。
[0043]
经过优化排序后,原始的一帧二维阵列数据a变换成了一维数列数据a’,其中,第p个元素可记为a’(p)=[b’k-1
b’k-2
…b’1b
’0](p),其中0《=p《m*n。图2表示某一帧优化排序后的数据在时域上等待分组的一个片段。再根据前述规则将a’平均分成j组,j必须是m*n的约数,每一组包含l=m*n/j个原始数据。图3表示了对应于原始的一帧二维阵列数据经优化排序以及分组后的数据在时序上等待编码的示意图。本发明将二维阵列数据使用优化排序分组方法后,每一帧中的每一组都是同样的组织结构,其目的是既可以使得接收端的数据处
理系统只需要使用统一的控制方式来实现边接收边处理的流水线工作模式,从而实现减小从每一帧二维阵列数据生成到被完成使用所需的延时,并且减少接收端数据处理系统用来缓存数据的存储容量。
[0044]
本发明所述的二维阵列数据的编码方法,首先是要对经过优化排序和分组后的每一组数据确定以u比特位为单位编码,使得一组数据共l*k个比特位可以分成整数q个这样的单位;如果l*k不能被u整除,或者是为了使接收端所处系统解码更方便,可以按特定规律在这组数据中补上若干比特的数字
’0’
或者
’1’
,但不可以改变这组数据中任意两个比特位本来的先后顺序,在这组数据的首部或尾部,或者在每若干个数据的首部或尾部,补上若干比特的数字
’0’
或者
’1’
。这样一来,q*u》=l*k,且对于任意一组数据第j组来说,就可以用图4来表示,其中任意一个比特位b
tu,q,j
是经过了可能的补
’0’
或者补
’1’
之后的位于第j组第q个编码单位的第u比特位,其中0《=j《j,0《=q《q,0《=u《u。接下来就是将这q个位长为u比特位的数据t
q,j
=[b
tu-1,q,j b
tu-2,q,j
...b
t1,q,j b
t0,q,j
]根据所选取的编码方案,分别编码成一个位长为v比特位的码值[b
rv-1,q,j b
rv-2,q,j
...b
r1,q,j b
r0,q,j
],如图5所示。将每个u比特位的数据编码为v比特的方式按需进行,在不同应用场景下,传输通道本身的电气要求各不相同,比如8b/10b编码,64b/66b编码等。如果数据为u=8比特,则在必须保证直流均衡的应用场景下,需要使用8b/10b编码方法将每个u=8比特的数据编码为v=10比特。
[0045]
本发明所述的二维阵列数据的编码方法,需要至少有两种冗余的码值来分别作为帧首引导码的特殊字符以及组首引导码的特殊字符,这样的码值的位长也必须是v位。原则上,只要跟所有包含二维阵列数据信息的普通字符r
q,j
=[b
rv-1,q,j b
rv-2,q,j
...b
r1,q,j b
r0,q,j
]区别开来,都能用来作为特殊字符,所以也可将链路传输要求或者接收端解析要求综合考虑进行选择。将帧首引导码的特殊字符记为fs=[f v-1fv-2
...f
1 f0],将组首引导码的特殊字符记为gs=[g v-1gv-2
...g
1 g0]。
[0046]
本发明所述的用作组首引导码的特殊字符gs的数量ng,由于需要满足高速传输系统的延时最小,应该使得在同一段时间内尽量多地传输包含原始二维阵列数据信息的普通字符r
q,j
,所以ng显然不应该太大。但是,gs字符的数量ng至少应该满足让接收端所处系统能够识别出组首到来,并且在当个别gs字符发生误码时仍有足够多的有效gs字符可供接收端所处系统识别组首成功,记这个数量为ng0。另一方面,gs字符的数量ng又要使得接收端所处系统能够在完成一整组数据后有足够的时间用来完成组数据预处理,从而为整帧数据的梳理做好准备,记该预处理时间最少需要ng1个时钟周期。综上,ng取ng0和ng1之间的较大值,即ng=max(ng0,ng1),这对于传输中所有组数据的组首引导码是统一的。
[0047]
本发明所述的用作帧首引导码的特殊字符fs的数量nf,与前述组首字符类似的原因,nf同样不应该太大。但是,fs字符的数量nf至少应该满足让接收端所处系统能够识别出帧首到来,并且在当个别fs字符发生误码时仍有足够多的有效fs字符可供接收端所处系统识别帧首成功,记这个数量为nf0。另一方面,fs字符的数量nf又要使得接收端所处系统能够在完成一整帧数据后有足够的时间用来完成帧数据完全处理,记该完全处理时间最少需要nf1个时钟周期。此外,由于最后一组组数据传输完成后所需的预处理时间也包含在帧首引导码的传输时间内,故结合前述分析,nf至少应取nf
0 nf1和ng的最大值,即nf》=max(nf0,nf1,ng)。
[0048]
本发明所述的用作帧首引导码的特殊字符fs的数量,可以在满足前述nf》=max
(nf0,nf1,ng)的条件下,允许各帧的fs字符数量不一样,从而允许生成二维阵列数据的系统针对各帧花费不同的时间,满足不同的应用需求。
[0049]
图6展示了本发明所述的完成编码后的一帧数据的组织形式,其中包含了第f帧的帧首引导码、数据以及下一帧的帧首引导码。其中,r
q,j
=[b
rv-1,q,j b
rv-2,q,j
...b
r1,q,j b
r0,q,j
]是前述包含二维阵列数据信息的普通字符。
[0050]
本发明的有益效果如下:
[0051]
实现每一帧二维阵列数据从生成到被完成使用所需的延时最小;
[0052]
减少接收端所处系统用来缓存数据的存储容量;
[0053]
实现在有限的误码率情况下,接收端所处系统仍然能够识别到有效的帧首、组首,从而使收到的数据能够被正确的分发和处理;
[0054]
适用于生成各帧二维阵列数据需要相同或者不同时间的应用需求。
[0055]
本文所使用的词语“优选的”意指用作实例、示例或例证。本文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本技术中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“x使用a或b”意指自然包括排列的任意一个。即,如果x使用a;x使用b;或x使用a和b二者,则“x使用a或b”在前述任一示例中得到满足。
[0056]
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
[0057]
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
[0058]
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献