具体实施方式
本发明实施例提供一种数据传输处理方法,本发明实施例还提供相应的装置和系统。以下分别进行详细说明。
在以下实施例中,二进制数01111110、11111111、0111111011111111以及0001110100001111分别以十六进制数7E、FF、7EFF以及1D0F表示;在实施例中涉及每次获取的并行比特数据的个数时,以每次获取8比特为例。
请参阅图1,本发明实施例中数据发送处理方法的第一实施例包括:
101、根据来自配置装置的通道标识查询相应的通道是否有数据要发送;
在使能信号的触发下根据通道标识查询对应的数据信息,该数据信息携带数据包长度、数据的有效字节个数以及是否有数据需要发送的标记;
若根据通道标识能查询到的是否有数据需要发送的标记显示有数据需要发送,则说明与该通道标识对应的通道有数据要发送;
102、若有数据要发送,则根据通道标识获取读数据的地址;
读数据的地址可由两部分组成:大地址和小地址,大地址为通道标识,小地址由计算得出,此处将地址分为大地址和小地址只是本实施例的方法,显然可以采取其他地址模式;具体的:当前待处理的字节减去1,得到的差再除以数据存储器的存储深度,相除得到的余数即为小地址;当前待处理的字节是整个数据包的第几个字节由本地的字节计数器记录得出,即根据有效字节个数,每取一个字节,字节计数器加1,当字节计数器的数量等于数据包长度的时候,字节计数器归0;如果存储器的深度是n,n为整数,小地址的范围就是0-n-1之间;
103、根据读数据的地址获取并行比特数据;
根据步骤102获取的读数据的地址,该地址为大地址和小地址的组合,获取并行8比特数据,即一个字节数据,即:根据大地址找到以通道为标识的地址入口处,再根据小地址从该地址入口处开始找到与该小地址对应的数据,例如,读数据的地址为(2,3),即大地址为2,小地址为3,数据存储器存储数据的格式如表1所示:
表1
通道标识(大地址) |
地址1 |
地址2 |
地址3 |
地址4 |
0 |
0 |
1 |
2 |
3 |
1 |
0 |
1 |
2 |
3 |
2 |
0 |
1 |
2 |
3 |
3 |
0 |
1 |
2 |
3 |
...... |
0 |
1 |
2 |
3 |
i-1 |
0 |
1 |
2 |
3 |
i |
0 |
1 |
2 |
3 |
在表1中,第一列为通道标识,即大地址,在每个大地址中根据存储深度的大小存储不同数量的字节数据,如上表中所示存储深度为4,则在每个大地址中存储了4个字节的数据;在地址(2,3)中,先找到通道标识列的第2通道,即大地址,然后在该地址入口处开始找,找第4个字节,即坐标为(通道2,地址4)的地址的数据;
以上只是为了能说明清楚,对根据大地址和小地址获取数据的一个实施例,显然可以采取其他地址模式,不视为对本发明的限制;
104、根据通道标识恢复上一次插0处理后保存的现场数据;
在获取比特数据后,需要恢复与获取的比特数据同一个通道的,上一次插0处理后保存的现场数据,根据通道标识恢复上一次插0处理后保存的现场数据,上一次插0处理后保存的现场数据有:上一次获取的8比特数据、上一次插0处理后输出的8比特数据、插0计数器的数据,插0计数器与通道相对应,每插1比特0,插0计数器加1,当插0计数器的数据为8时,插0计数器归0;
105、将获取的并行比特数据、上一次获取的并行比特数据以及上一次插0处理后输出的比特数据的低5位组合;
在本实施例中,每次获取一个字节的数据,即8比特数据,将获取的8比特数据和上一次获取的8比特数据按照先后顺序排列,并从高位的第一比特开始以8比特为单位,依次取9个8比特数据,再将9个8比特数据分别与上一次插0处理后输出的比特数据的低5位数据组合,低5位数据位于组合后的数据的高5位;例如:
获取的8比特数据为:10111110,上一次获取的8比特数据为11011011,上一次插0处理后输出的比特数据的低5位数据为:10110,则按顺序排列为:101101101101110111110;上一次获取的8比特数据与获取的8比特数据按顺序排列即为:1101101110111110,将上一次获取的8比特数据与获取的8比特数据按顺序排列的比特数据从左边高位开始取8个比特数据,一共可取9个8比特数据,再将9个8比特数据与上一次插0处理后输出的比特数据的低5位数据组合成13比特数据,左侧为高位,如下表所示:
表2
1 |
1011011011011 |
2 |
1011010110111 |
3 |
1011001101110 |
4 |
1011011011101 |
5 |
1011010111011 |
6 |
1011001110111 |
7 |
1011011101111 |
8 |
1011011011111 |
9 |
1011010111110 |
106、根据现场数据和获取的并行比特数据对组合后的并行比特数据进行插0处理;
同时调用9个插0处理装置进行插0处理,9个逻辑插0处理装置同时进行插0处理,将组合后的9个13比特数据同时进行二进制11111图样的搜索,在符合二进制11111图样的比特数据后插入1比特0;在比较时,多个比较器同时进行比较,具体的:
如果第12位到第8位符合条件,并且第7位到第3位符合条件,则得出处理后的待输出8比特数据;
如果第12位到第8位符合条件,第7位到第3位不符合条件,并且第6位到第2位符合条件,则得出处理后的待输出8比特数据;
如果第12位到第8位不符合条件,并且第11位到第7位符合条件,则根据第6位到第2位的数据的判断结果得出处理后的待输出8比特数据;如果第12位到第8位不符合条件,并且第11位到第7位不符合条件,则根据第10位到第6位、第9位到第6位、第8位到第4位、第7位到第3位、第6位到第2位、第5位到第1位的数据的判断结果得出处理后的待输出8比特数据;
再以数据1111101111111为例进行说明:判断出第12位到第8位,即11111符合条件,第7位到第3位数据01111不符合条件,并且第6位到第2位数据11111符合条件,则根据插入0的比特数得出处理之后的8比特数据00111110;
根据恢复的插0计数器的数据选择对应的待输出的8比特数据;
获取的8比特数据为:10111110,上一次获取的8比特数据为11011011,上一次插0处理后输出的比特数据的低5位数据为:10110,则按顺序排列为:101101101101110111110;组合后的13比特数据、插0处理后待输出数据以及剩余比特数如表3所示:
表3
在第8组数据中,低5位为连续5个1,在连续5个1的低5位后面插1比特0,待输出的数据为11011111,所以剩下的比特数为插0前剩下的比特数0和插入的1比特0;在第9组数据中,第5位到第1位为连续5个1,在第1位后面插1比特0,待输出的数据为10111110,第0位的比特数0为插入的1比特0,所以剩下的比特数为插0前剩下的比特数0。
步骤104中恢复的现场数据为:上一次获取的8比特数据、上一次插0处理后输出的8比特数据、插0计数器的数据;
因为插0计数器是每插一个0,计数器加1,而每插一个0,意味着剩下没有处理的比特数加1,当插0个数为8时,剩下没有处理的比特数为8个,意味着最新获取的8比特数据得不到任何处理,所以在处理完剩下的8比特数据后需要重新获取该8比特数据进行处理,当插0个数为8时插0计数器清0,重新开始计算插0个数,所以插0计数器的数据和插0个数相同,即当插0计数器为7时,如果插0个数加1,则插0计数器清零;
当插0计数器为0的时候,有两种情况,情况一:上次获取的8比特数据都没有处理,组合后即表2中的第1组13比特数据;情况二:上次获取的8比特数据都处理完输出,没有插0,组合后即表2中第9组13比特数据;为了区分这两种情况,当插0计数器为7,插0个数需要加1时,同步发送一个暂停使能信号,使得根据插0计数器的数据来选择将第几组插0处理后的8比特数据输出的时候,能够区分当插0计数器为0时的两种情况;
以表3中的数据为例,插0计数器的数据与9组13比特数据的对应情况,如表4所示:
表4
所以,根据插0计数器的数据就能选择获取第几组的待输出的数据;选定待输出的数据后,根据插0的个数将插0计数器的数据刷新,然后保存现场数据以便下次恢复时用,即本次获取的8比特数据,本次输出的8比特数据,插0计数器的数据等等。
107、将插0处理后的并行比特数据输出;
将选择的待输出的插0处理后的并行8比特数据输出,先将插0处理后的并行8比特数据转换成串行8比特数据,再将转换后的串行8比特数据输出给数据接收处理装置;每输出8比特数据,即一个字节的数据,数据发送计数器加1;
在步骤101查询到通道标识对应的通道有数据要发送后,还包括:若根据查询的数据信息判断出有数据要发送并且根据通道标识查询相对应的数据发送计数器小于预先设定的帧头字节数时,则先输出帧头7E,再根据通道标识获取读数据的地址;数据发送计数器与通道标识相对应,记录了已发送字节的数量,即每发送一个字节,数据发送计数器加1;
在步骤103根据读数据的地址获取并行8比特数据后,还包括:将获取的并行8比特数据进行循环冗余校验计算(Cyclic Redundancy Check,循环冗余校验码),再将循环冗余校验码校验计算后的数据进行插0处理;
在步骤107将插0处理后的并行比特数据输出之后,还包括:对数据发送计数器的数据信息按照预先设定的算法进行判断,数据发送计数器与通道标识相对应,具体的:
假设待发送的有效数据为m1个字节,预先设定的帧头为m2个字节,预先设定的帧尾为m3个字节,有效数据插0个数按字节计为m4个字节,数据发送计数器的计数为d,发送两个数据包之间的延时值为h,其中m1、m2、m3、m4、d以及h为整数;
当d<=m2,且d>0时,发送帧头7E;
当d<m2+m1+m4,且d>m2,发送插0之后的数据;
当d>=m2+m1+m4+1,并且,d<=m2+m1+m4+2时,输出插0之后的数据和循环冗余校验位的组合;
当d=m2+m1+m4+3时,输出循环冗余校验位与帧尾7E的组合;
当d>=m2+m1+m4+4,并且,d<m2+m1+m4+m3时,发送帧尾7E与帧尾7E的组合;
当d=m2+m1+m4+m3时,发送帧尾7E与帧间隙FF的组合;
当d>m2+m1+m4+m3,并且,d<m2+m1+m4+m3+h时,发送帧间隙FF与帧间隙FF的组合;
当d=m2+m1+m4+m3+h时,发送帧间隙FF,并且数据发送计数器以及插0字节数归0;
当d=0时,发送帧间隙FF,直到下次在接收的由配置装置输入使能信号的触发下根据接收的由配置装置输入的通道标识查询到相应的通道有数据要发送;
发送侧数据处理模块只对数据包的有效数据进行插0处理,对帧头、帧尾以及帧间隙不进行插0处理;
数据发送处理装置在获取并行8比特数据到输出插0处理后的并行8比特数据的整个过程是在一个时钟周期内完成的;
在本实施例中,数据发送处理装置在处理多个通道的数据时,不再根据通道标识分别例化数据处理模块,而是多个通道复用一个数据处理模块,节约了逻辑或芯片资源;并且数据处理模块在处理数据时,不再逐个比特数据处理,而是在一个时钟周期将并行8比特数据同时处理,大大提高了处理效率。
请参阅图2,本发明实施例中数据接收处理方法的第二实施例包括:
201、数据接收处理装置接收来自数据发送处理装置输出的并行比特数据,以及由接收端的配置装置输入的通道标识并根据通道标识获取写数据的地址;
接收来自数据发送处理装置输出的并行比特数据;
写数据的地址分大地址和小地址,大地址为通道标识,小地址由数据存储器的存储深度决定,具体的:写一个数据时,根据通道标识找到对应的大地址,然后按照数据存储器的存储深度依次存放数据,例如,数据存储器的存储深度为n,第一个要写的数据为1通道的第一个数据,则存入1通道对应的大地址的小地址0,第二个要写的数据为1通道的第二个数据,则存入1通道对应的大地址的小地址1,依次存入;存储器的深度是n,n为整数,小地址的范围就是0-n-1之间;
202、判断是否定到帧头;
因为在有效数据来临之前,有上一个数据包的帧尾7E,帧间隙FF,有当前数据包的帧头7E,当定到FF7E时,说明定到了帧头7E;
203、若是,则根据通道标识恢复上一次删0处理后保存的现场数据;
在进行删0处理前,先对上次处理后的现场数据进行恢复,假设本次接收的为第m(m≥3,m为整数)个有效数据,则上次删0处理后保存的现场数据有:上一次删0处理的比特数据的低5位,第m-1次接收的比特数据,第m-2次接收的比特数据,删0计数器的数据,删0计数器与通道相对应,每删1比特0,删0计数器加1,当删0计数器的数据为8时,删0计数器归0;
204、将上一次删0处理的并行比特数据的低5位、第m-1次接收的并行比特数据、第m-2次接收的并行比特数据以及本次接收的并行比特数据的高2位组合,其中m大于等于3,m为整数;
以每次接收8比特数据为例,上次处理后的现场数据恢复后,将第m-2次接收的比特数据、第m-1次接收的比特数据以及第m次接收的比特数据的高2位按顺序组合成18比特数据,并从高位的第一比特开始以10比特为单位,依次取9个10比特数据,再将9个10比特数据分别与上一次删0处理的比特数据的低5位数据组合,该低5位数据位于组合后的数据的高5位;例如:
第m-1次接收的比特数据为:10111110,第m-2次接收的比特数据为11011011,第m次接收的比特数据为:11101101,上一次删0处理的比特数据的低5位数据为:10110;则第m-2次接收的比特数据、第m-1次接收的比特数据以及第m次接收的比特数据的高2位按顺序组合成18比特数据为:110110111011111011,从左边高位开始取10个比特数据,一共可取9个10比特数据,再将9个10比特数据与上一次删0处理的比特数据的低5位数据组合成15比特数据,左侧为高位,如下表所示:
表5
组数 |
组合后的15比特数据 |
1 |
101101101101110 |
2 |
101101011011101 |
3 |
101100110111011 |
4 |
101101101110111 |
5 |
101101011101111 |
6 |
101100111011111 |
7 |
101101110111110 |
8 |
101101101111101 |
9 |
101101011111011 |
205、对组合后的并行比特数据进行删0处理;
9个15比特数据组合完成后,同时调用9个删0处理装置进行删0处理,9个逻辑删0处理装置同时进行删0处理,将组合后的9个15比特数据同时进行二进制11111图样的搜索,在符合二进制11111图样的比特数据后删除1比特数据;其中,在对每个15比特数据进行二进制11111图样的搜索时,分为9个模块进行;
在对每个15比特数据进行比较时,多个比较器同时进行比较,具体的:
如果第14位到第10位符合条件,并且第8位到第4位符合条件,则得出处理后的待输出8比特数据;
如果第14位到第10位符合条件,第8位到第4位不符合条件,并且第7位到第3位符合条件,则得出处理后的待输出8比特数据;
如果第14位到第10位符合条件,第8位到第4位不符合条件,第7位到第3位不符合条件,并且第6位到第2位符合条件,则得出处理后的待输出8比特数据;
如果第14位到第10位符合条件,第8位到第4位不符合条件,第7位到第3位不符合条件,并且第6位到第2位不符合条件,则根据第5位到第1位的数据的判断结果得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位符合条件,并且第7位到第3位符合条件,则得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位符合条件,第7位到第3位不符合条件,并且第6位到第2位符合条件,则得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位符合条件,第7位到第3位不符合条件,并且第6位到第2位不符合条件,则根据第5位到第1位的数据的判断结果得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位不符合条件,第12位到第8位符合条件,并且第6位到第2位符合条件,则得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位不符合条件,第12位到第8位符合条件,第6位到第2位不符合条件,则根据第5位到第1位的数据的判断结果得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位不符合条件,第12位到第8位不符合条件,第11位到第7位符合条件,则根据第5位到第1位的数据的判断结果得出处理后的待输出8比特数据;
如果第14位到第10位不符合条件,第13位到第9位不符合条件,第12位到第8位不符合条件,第11位到第7位不符合条件,则根据第10位到第6位、第9位到第5位、第8位到第4位、第7位到第3位、第6位到第2位、第5位到第1位的数据的判断结果得出处理后的待输出8比特数据;
再以数据111110111101101为例进行说明,判断出第14位到第10位,即11111符合条件,第8位到第4位11111符合条件,则得出处理后的待输出8比特数据:11111101;
根据恢复的删0计数器的数据选择对应的待输出的8比特数据;
以表5中的数据为例,删0后待输出的数据,如表6所示:
表6
组数 |
组合后的15比特数据 |
删0处理后待输出数据 |
1 |
101101101101110 |
11011011 |
2 |
101101011011101 |
10110111 |
3 |
101100110111011 |
01101110 |
4 |
101101101110111 |
11011101 |
5 |
101101011101111 |
10111011 |
6 |
101100111011111 |
01110111 |
7 |
101101110111110 |
11101111 |
8 |
101101101111101 |
11011111 |
9 |
101101011111011 |
10111111 |
在第9组数据中,第3位到第7位为5个1,则删除第2位的0比特,所以待输出的数据为10111111。
现场恢复的数据有:上一次删0处理的比特数据的低5位,第m-1次接收的比特数据,第m-2次接收的比特数据,删0计数器的数据,假设本次接收的为第m(m≥3,m为整数)个有效数据;
因为删0计数器是每删一比特数据,计数器加1,而每删一比特数据,意味着接收的比特数据减少1比特,当删除的比特个数为8时,当前未处理的数据只剩下8比特,如果继续处理,将有可能出现数据不够的情况,所以下一个时钟周期只接收数据而不进行删0处理,等本地未删0处理的数据达到2个字节的时候,再接收数据时进行删0处理和写数据操作;
删0计数器为8时清零,当删0计数器为0的时候,有两种情况,情况一:上次接收的8比特数据都处理完,并且删0后删0计数器清零,组合后即表5中的第1组15比特数据;情况二:上次获取的8比特数据都处理完输出,没有删0,组合后即表5中第9组15比特数据;为了区分这两种情况,当删0计数器为7,删0个数需要加1时,同步发送一个暂停使能信号,使得写数据的使能失效,等下一拍再接收一个8比特数据时,再进行删0处理,获得写入存储器的数据,也使得根据删0计数器的数据来选择将第几组删0处理后的8比特数据输出的时候,能够区分当删0计数器为0时的两种情况;
以表6中的数据为例,插0计数器的数据与9组13比特数据的对应情况,如表7所示:
表7
所以,根据删0计数器的数据就能选择获取第几组的待输出的数据;选定待输出的数据后,根据删0的个数将删0计数器的数据刷新,然后保存现场数据以便下次恢复时用,即上一次删0处理的比特数据的低5位,第m-1次接收的比特数据,第m-2次接收的比特数据,删0计数器的数据等等,假设本次接收的为第m(m≥3,m为整数)个有效数据。
在对每个有效字节进行删0处理后,进行循环冗余校验码校验,在处理到最后一个字节有效数据时,循环冗余校验码校验结果如果是固定值1D0F时,认为校验成功,即收到的所有有效数据没有出错,否则失败;循环冗余校验码校验结果1D0F只是本实施例中帧头、帧尾以及帧间隙分别为7E、7E、FF的一个固定值;此处的校验结果1D0F不作为对本发明的限制。
206、将删0处理后的并行比特数据写入写数据的地址;
当删0计数器为0,并同时带有暂停使能信号时,本次不进行写数据,等待下一拍删0处理后获取数据时再将数据写入写数据的地址;
在步骤202,如果还没有定到帧头,需要对接收的并行8比特数据进行定帧,具体的:
在接收到并行8比特数据时,先要定帧,即找到数据包的帧头7E;如果某个通道标识的数据还没有定到帧头,则将预先缓存的2个并行8比特数据与接收的并行8比特数据组合成24比特数据,对该24比特数据进行定帧,因为在有效数据来临之前,有上一个数据包的帧尾7E,帧间隙FF,有当前数据包的帧头7E,当定到FF7E时,说明定到了帧头7E;
若在该24比特数据中没有定到帧头,则将最早收到的并行8比特数据输出,将剩余的2个并行8比特数据放入缓存,再将缓存中的2个并行8比特数据与下一次接收的相同通道标识的并行8比特数据组合成24比特数据进行定帧。
当接收到数据7EFF时,定到帧尾,说明有效数据已经接收完毕;这时,检测对上次接收的有效数据的循环冗余校验码校验结果是否是1D0F,如果是1D0F,则校验成功,所有接收的数据没有出错。
数据发送处理装置在获取并行8比特数据到输出插0处理后的并行8比特数据的整个过程是在一个时钟周期内完成的;
数据接收处理装置在接收到并行8比特数据到输出删0处理后的并行8比特数据的整个过程是在一个时钟周期内完成的;
在本实施例中,数据发送处理装置和数据接收处理装置在处理多个通道的数据时,不再根据通道标识分别例化数据处理模块,而是多个通道复用一个数据处理模块,节约了逻辑或芯片资源;并且数据处理模块在处理数据时,不再逐个比特数据处理,而是在一个时钟周期将并行8比特数据同时处理,大大提高了处理效率。
请参阅图3,本发明实施例中数据发送处理装置的第三实施例包括:
巡检模块301,用于根据来自配置装置的通道标识查询相应的通道是否有数据要发送;
地址获取模块302,用于当巡检模块巡检到有数据要发送时,根据通道标识获取读数据的地址;
读数据模块303,用于根据读数据的地址获取并行比特数据;
恢复模块304,用于根据通道标识恢复上一次插0处理后保存的现场数据,现场数据包括:上一次获取的并行比特数据、上一次输出的并行比特数据、插0计数器的数据;
组合模块305,用于将获取的并行比特数据、上一次获取的并行比特数据以及上一次插0处理后输出的并行比特数据的低5位组合,以每次获取的数据为8比特为例,具体的:将获取的8比特数据和上一次获取的8比特数据按照先后顺序排列,并从高位的第一比特开始以8比特为单位,一次取9个8比特数据,再将9个8比特数据分别与上一次插0处理后输出的比特数据的低5位数据组合,低5位数据位于组合后的数据的高5位;
插0处理模块306,用于根据现场数据和获取的并行比特数据对组合后的并行比特数据进行插0处理,具体的:将组合后的9个13比特数据同时进行二进制11111图样的搜索,在符合二进制11111图样的比特数据后插入1比特0;然后根据插入0的比特数,与高于0比特位的若干比特数据组合,构成待输出的8比特数据;再根据恢复的插0计数器的数据选择对应的待输出的8比特数据;删0处理在一个时钟周期内完成;
输出模块307,用于将插0处理后的并行比特数据输出;具体的:先将插0处理后的并行8比特数据转换成串行8比特数据,再将转换后的串行8比特数据输出给数据接收处理装置;
巡检模块301包括:
接收单元,用于接收由配置装置输入的通道标识和相应的使能信号;接收发送侧数据处理模块发送的反馈信号;
查询单元,用于在接收的由配置装置输入使能信号的触发下根据接收的由配置装置输入的通道标识到控制存储器中查询相应的通道是否有数据要发送;
获取读地址单元,用于在查询单元查询到有数据要发送时,根据通道标识获取读数据的地址;接收单元接收到反馈信号时,重新获取本次读数据的地址;
输出单元,用于:
将读数据的地址输出给发送侧数据存储模块,并将通道标识输出给发送侧数据处理模块;将插0处理后的并行比特数据输出;具体的:
假设待发送的有效数据为m1个字节,预先设定的帧头为m2个字节,预先设定的帧尾为m3个字节,有效数据插0个数按字节计为m4个字节,数据发送计数器的计数为d,发送两个数据包之间的延时值为h,其中m1、m2、m3、m4、d以及h为整数;
当d<=m2,且d>0时,发送帧头7E;
当d<m2+m1+m4,且d>m2,发送插0之后的数据;
当d>=m2+m1+m4+1,并且,d<=m2+m1+m4+2时,输出插0之后的数据和循环冗余校验位的组合;
当d=m2+m1+m4+3时,输出循环冗余校验位与帧尾7E的组合;
当d>=m2+m1+m4+4,并且,d<m2+m1+m4+m3时,发送帧尾7E与帧尾7E的组合;
当d=m2+m1+m4+m3时,发送帧尾7E与帧间隙FF的组合;
当d>m2+m1+m4+m3,并且,d<m2+m1+m4+m3+h时,发送帧间隙FF与帧间隙FF的组合;
当d=m2+m1+m4+m3+h时,发送帧间隙FF,并且数据发送计数器以及插0字节数归0;
当d=0时,发送帧间隙FF,直到下次在接收的由配置装置输入使能信号的触发下根据接收的由配置装置输入的通道标识查询到相应的通道有数据要发送;
数据发送计数器,用于记录了已发送字节的数量,即每发送一个字节,数据发送计数器加1;
发送侧数据处理模块304包括:
接收单元,用于由发送侧数据存储模块输出的并行比特数据和发送侧巡检模块输出的通道标识;
现场恢复单元,用于根据接收的通道标识恢复上一次插0处理后保存的现场数据;
组合单元,用于将获取的并行比特数据与上一次输出比特数据后剩余的比特数据以及上一次插0处理后输出的比特数据的低5位组合;
插0处理单元,用于对组合后的并行比特数据进行插0处理;
插0计数器,用于记录插0的个数,当输出单元输出反馈信号时,插0计数器归0;
并串转换单元,用于将插0处理后的并行比特数据转换成串行比特数据;
输出单元,用于将转换后的串行比特数据输出;当插0计数器为8时,输出反馈信号给发送侧巡检模块;
数据发送处理装置还包括循环冗余校验码校验计算模块,用于获取读取数据模块的并行8比特数据后,将获取的并行8比特数据进行循环冗余校验码校验计算,再将循环冗余校验码校验计算后的数据输出给插0处理模块;
在本实施例中,数据发送处理装置在处理多个通道的数据时,不再根据通道标识分别例化发送侧数据处理模块,而是多个通道复用一个发送侧数据处理模块,节约了逻辑或芯片资源;并且数据处理模块在处理数据时,不再逐个比特数据处理,而是在一个时钟周期将并行多个比特数据同时处理,大大提高了处理效率。
本发明实施例中数据接收处理装置的第四实施例包括:
接收模块401,用于接收来自数据发送处理装置输出的插0处理后的并行比特数据,以及由配置装置输入的通道标识并根据通道标识获取写数据的地址;
判断模块402,用于判断是否定到帧头;
恢复模块403,用于根据通道标识恢复上一次删0处理后保存的现场数据,恢复的上一次删0处理后保存的现场数据包括:上一次删0处理的并行比特数据的低5位、第m-1次接收的并行比特数据、第m-2次接收的并行比特数据以及删0计数器的数据,其中m大于等于3,m为整数;
组合模块404,用于将上一次删0处理的并行比特数据的低5位、第m-1次接收的并行比特数据、第m-2次接收的并行比特数据以及本次接收的并行比特数据的高2位组合,其中m大于等于3,m为整数;具体的,将第m-1次接收的并行比特数据、第m-2次接收的并行比特数据以及本次接收的并行比特数据的高2位按照先后顺序排列,并从高位的第一比特开始以10比特为单位,一次取9个10比特数据,再将9个10比特数据分别与上一次插0处理后输出的比特数据的低5位数据组合,该低5位数据位于组合后的数据的高5位;
删0处理模块405,用于对组合后的并行比特数据进行删0处理;具体的,将组合后的9个15比特数据同时进行二进制11111图样的搜索,在符合该二进制11111图样的比特数据后删除1比特数据;根据删除的比特数据的位置,将低10位比特数据按顺序构成待输出的8比特数据;根据恢复的插0计数器的数据选择对应的待输出的8比特数据;
写数据模块406,用于将删0处理后的并行比特数据写入写数据的地址;
数据接收处理装置还包括:
定帧模块,用于判断模块判断出没有定到帧头时,将预先缓存的若干并行比特数据与当前接收的并行比特数据组合并对组合的并行比特数据进行定帧;
转换模块,用于将接收的若干串行的比特数据转换成并行比特数据;
在本实施例中,数据接收处理装置在处理多个通道的数据时,不再根据通道标识分别例化数据处理模块,而是多个通道复用一个数据处理模块,节约了逻辑或芯片资源;并且数据处理模块在处理数据时,不再逐个比特数据处理,而是在一个时钟周期将并行多个比特数据同时处理,大大提高了处理效率。
本发明实施例中数据传输处理系统的第五实施例包括:
数据发送处理装置,用于:
根据来自由配置装置的通道标识查询相应的通道是否有数据要发送;
若有数据要发送,则根据接收的通道标识获取度数据的地址;
根据读数据的地址获取并行8比特数据;
根据接收的通道标识恢复上一次插0处理后保存的现场数据;
将获取的并行比特数据、上一次获取的比特数据以及上一次插0处理后输出的比特数据的低5位组合;
根据现场数据和获取的并行比特数据对组合后的并行比特数据进行插0处理;
将插0处理后的并行比特数据输出;
数据接收处理装置,用于:
接收数据发送处理装置输入的插0处理后的并行比特数据,以及由配置装置输入的通道标识并根据通道标识获取写数据的地址;
判断是否定到帧头;
若是,则根据通道标识恢复上一次删0处理后保存的现场数据;
将上一次删0处理的并行比特数据的低5位、第m-1次接收的并行比特数据、第m-2次接收的并行比特数据以及本次接收的并行比特数据的高2位组合,其中m大于等于3,m为整数;
对组合后的并行比特数据进行删0处理;
将删0处理后的并行比特数据写入写数据的地址。
数据发送处理装置在获取到并行比特数据到输出插0处理后的并行比特数据的整个过程是在一个时钟周期内完成的;
数据接收处理装置在接收到并行比特数据到输出删0处理后的并行比特数据的整个过程是在一个时钟周期内完成的;
数据接收处理装置还用于将串行比特数据转换成并行比特数据;
数据发送处理装置还用于将并行比特数据转换成串行比特数据;
在本实施例中,数据发送处理装置和数据接收处理装置在处理多个通道的数据时,不再根据通道标识分别例化数据处理模块,而是多个通道复用一个数据处理模块,节约了逻辑或芯片资源;并且数据处理模块在处理数据时,不再逐个比特数据处理,而是在一个时钟周期将并行多个比特数据同时处理,大大提高了处理效率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的数据传输处理方法以及装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。