CN203054828U - 数据处理装置 - Google Patents
数据处理装置 Download PDFInfo
- Publication number
- CN203054828U CN203054828U CN 201320042495 CN201320042495U CN203054828U CN 203054828 U CN203054828 U CN 203054828U CN 201320042495 CN201320042495 CN 201320042495 CN 201320042495 U CN201320042495 U CN 201320042495U CN 203054828 U CN203054828 U CN 203054828U
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- crc module
- parallel
- rapidio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本实用新型提供了一种数据处理装置。涉及通信领域;解决了RapidIO总线低位宽并行处理方法彼时大、增加后端设计难度的问题。该装置包括:处理器、第一CRC模块和RAM缓存;所述处理器通过RapidIO串行总线接口与RapidIO串行总线相连,并自所述RapidIO串行总线接收到的串行总线数据转换为并行数据缓存至所述RAM缓存;所述第一CRC模块能够处理的并行数据位宽大于16bit并为16bit的整数倍。本实用新型提供的技术方案适用于RapidIO串行数据处理,实现了低延时的数据传输。
Description
技术领域
本实用新型涉及通信领域,尤其涉及一种数据处理装置。
背景技术
RapidIO串行总线技术广泛应用于航天、航空、军事等领域。其线速度可以达到3.125GBaud。传统的低位宽并行处理方法,不仅延时较大,而且对系统主时钟的要求较高,增加了后端设计的难度,限制了RapidIO串行总线技术的应用。
实用新型内容
本实用新型提供了一种数据处理装置,解决了RapidIO总线低位宽并行处理方法彼时大、增加后端设计难度的问题。
一种数据处理装置,包括:
处理器、第一CRC模块和RAM缓存;
所述处理器通过RapidIO串行总线接口与RapidIO串行总线相连,并自所述RapidIO串行总线接收到的串行总线数据转换为并行数据缓存至所述RAM缓存;
所述第一CRC模块能够处理的并行数据位宽大于16bit并为16bit的整数倍。
优选的,所述第一CRC模块连接有第一寄存器。
优选的,上述数据处理装置还包括第二CRC模块;
所述第二CRC模块能够处理的并行数据位宽为16bit,所述第一CRC模块的输出端与所述第二CRC模块的输入端相连。
优选的,所述第二CRC模块还连接有第二寄存器。
优选的,所述数据处理装置还包括时钟芯片,所述第一CRC模块和所述第二CRC模块使用所述时钟芯片输出的时钟信号。
优选的,所述数据处理装置还包括偶数个伪随机填充字发生器,所述伪随机填充字发生器的位宽为8bit;
所述处理器将自所述伪随机填充字发生器接收到的并行数据缓存至所述缓存RAM中,将并行数据转换为串行数据,经由RapidIO串行总线接口发送至RapidIO串行总线。
本实用新型提供了一种数据处理装置,包括处理器、第一CRC模块和RAM缓存,所述处理器通过RapidIO串行总线接口与RapidIO串行总线相连,并自所述RapidIO串行总线接收到的串行总线数据转换为并行数据缓存至所述RAM缓存,所述第一CRC模块能够处理的并行数据位宽大于16bit并为16bit的整数倍。将自RapidIO总线接收的发送端发送的串行数据缓存为并行原始数据,所述并行原始数据的位宽大于16bit且是16bit的倍数,再根据CRC标准对所述并行原始数据进行CRC校验,再将CRC校验的结果和所述并行原始数据一并上传至上层应用,减少了数据处理延时,降低了对主时钟频率的需求,解决了RapidIO总线低位宽并行处理方法彼时大、增加后端设计难度的问题。
附图说明
图1是本实用新型的实施例一提供的一种数据处理装置的结构示意图;
图2是本实用新型的实施例二的应用场景示意图;
图3是本实用新型的实施例二中多个伪随机填充字发生器生成伪随机生成字组的原理图;
图4是随机填充字发生器工作原理图;
图5是本实用新型的实施例二中接收端设备的数据处理流程图;
图6是数据缓存原理示意图;
图7是CRC的接收校验原理示意图;
图8是本实用新型的实施例三提供的一种RapidIO串行数据处理方法中并行接收过程的流程图;
图9是本实用新型的实施例三提供的一种RapidIO串行数据处理方法中并行发送过程的流程图。
具体实施方式
RapidIO串行总线技术广泛应用于航天、航空、军事等领域。其线速度可以达到3.125GBaud。传统的低位宽并行处理方法,不仅延时较大,而且对系统主时钟的要求较高,增加了后端设计的难度,限制了RapidIO串行总线技术的应用。
为了解决上述问题,本实用新型的实施例提出了一种基于串行RapidIO的高位宽RapidIO串行数据处理方法和数据处理装置。与传统16bit位宽并行处理方法相比,减少了数据处理延时,降低了对主时钟频率的需求。本实用新型的实施例提供的技术方案可以广泛应用于支持RapidIO总线协议的设备中,具有很强的实用性。
下文中将结合附图对本实用新型的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
下面结合附图,对本实用新型的实施例一进行说明。
本实用新型实施例提供了一种数据处理装置,其结构如图1所示,包括处理器、第一CRC模块和RAM缓存;
所述处理器通过RapidIO串行总线接口与RapidIO串行总线相连,并自所述RapidIO串行总线接收到的串行总线数据转换为并行数据缓存至所述RAM缓存;
所述第一CRC模块能够处理的并行数据位宽大于16bit并为16bit的整数倍。
优选的,所述第一CRC模块连接有第一寄存器。
优选的,所述数据处理装置还包括第二CRC模块;
所述第二CRC模块能够处理的并行数据位宽为16bit,所述第一CRC模块的输出端与所述第二CRC模块的输入端相连。
优选的,所述第二CRC模块还连接有第二寄存器。
优选的,所述数据处理装置还包括时钟芯片,所述第一CRC模块和所述第二CRC模块使用所述时钟芯片输出的时钟信号。
优选的,所述数据处理装置还包括偶数个伪随机填充字发生器,所述伪随机填充字发生器的位宽为8bit;
所述处理器将自所述伪随机填充字发生器接收到的并行数据缓存至所述缓存RAM中,将并行数据转换为串行数据,经由RapidIO串行总线接口发送至RapidIO串行总线。
下面结合附图,对本实用新型的实施例二进行说明。
RapidIO串行总线技术广泛应用于航天、航空、军事等领域。其线速度可以达到3.125GBaud。传统的低位宽并行处理方法,虽然实现简单,但对数据处理速度较慢,存储,转发延时很大。且对主时钟频率要求较高,在很多场合限制了RapidIO串行总线技术的应用。而简单的高位宽的并行处理方法,则受到RapidIO协议16bitCRC,8bit伪随机填充字发生器等低位宽模块限制。本实用新型实施例提出一种RapidIO串行数据处理方法,包括数据接收阶段的动态帧边界对齐方法和双CRC模块组成的高位宽CRC校验/生成方法,以及数据发送阶段的多个伪随机填充字发生器组成的高位宽伪随机填充字发生器方法。本实用新型实施例提供了一种RapidIO数据处理方法,其应用场景如图2所示,包括一发送端设备和一接收端设备,该发送端设备和该接收端设备通过RapidIO总线连接。发送端设备和接收端设备均可由图1所示的数据处理装置实现。
首先介绍发送端生成伪随机填充字组的流程。
高位宽伪随机填充字发生器方法:
本实用新型实施例中,在发送端设备一侧通过多个伪随机填充字发生器并行生成若干组8bit伪随机生成字,构成16bit以上位宽的伪随机生成字组。具体的,在一个时钟周期内并行生成偶数组8bit伪随机生成字,构成位宽16bit以上的伪随机生成字组。协议中规定的伪随机生成字为8bit,如直接采用,则32bit并行需要4个时钟才能输出1组数据,大大增加了系统主时钟频率。本实用新型实施例中使用多组伪随机发生序列的方法,实现1个时钟输出高位宽的数据。
下面以采用4个协议中的8bit伪随机填充字发生器来实现高位宽输出(输出位宽为32bit)为例进行说明。核心思想是将原始伪随机数据流123456等平均分配至4个伪随机填充字发生器生成,其实现原理如图3所示。
将32bit的数据交由4个生成伪随机生成字的伪随机填充字发生器来生成,具体生成规则如下:
第1,5,9…个字符,由第1路伪随机填充字发生器生成。
第2,6,10…个字符,由第2路伪随机填充字发生器生成。
第3,7,11…个字符,由第3路伪随机填充字发生器生成。
第4,8,12…个字符,由第4路伪随机填充字发生器生成。
根据协议,每个伪随机填充字发生器均包含有一个7位的伪随机序列产生器和一个down_counter,如图4所示。
具体实现方法如下:
1、初始化时,第1路伪随机填充字发生器的初值初始化为全0,第2路初始化值选择第1路1个时钟后的值,即1。按次类推,第3路初始化值为3,第4路为7。
2、初始化时,第1路伪随机填充字发生器down_counter的值按照协议设为十六进制的10,但以后每路都要减1。第2路减1,即f;第3路e,第4路d。
3、Down_counter每个时钟减4。
若任意1路down_counter减完4后正好等于0,则load此时该路内伪随机生成序列的数据至全部路。继续重复。
按照此方法,可以将原协议规定的8bit并行生成方式,扩展到32bit并行。而生成的数据完全相同。大大提高了数据处理速度。
下面对接收端设备的数据处理流程进行说明,具体如图5所示,包括:
步骤501、将自RapidIO总线接收的发送端发送的串行数据缓存为并行原始数据,所述并行原始数据的位宽大于16bit且是16bit的倍数;
本步骤具体包括:
1、将刚从所述RapidIO总线接收的串行数据缓存一拍或多拍,至缓存数据的位宽达到所述并行原始数据的位宽;
2、根据缓存的串行数据和新接收的数据,判定帧边界;
在并行接收RapidIO总线上的数据时,可以获得字节数据的控制码标识,以K来代表一字节控制字符,D代表一字节数据字符。则32bit的帧头可以表示为K D D D(实际传输低位优先,D D D K)。
将刚从串行数据转换来的数据缓存1拍,以32bit为例。若缓存数据为K1K2K3D1,新接收到的数据为D2D3K4D5。则可判定K4D3D2D1为帧边界。
3、按照新确定的帧边界,重新缓存并行原始数据;
数据按照新确定的边界,存入缓存,方便后端处理,其实现原理如附图6所示。
在RapidIO协议规定CRC为16bit,若直接采用单一CRC-16进行校验,则位宽受限制为16bit,降低了处理速度。本实用新型实施例采用两个CRC模块并行来解决这个问题。两个CRC模块具体为一个高位宽的第一CRC模块(本实用新型实施例中,以第一CRC模块能够处理的数据位宽为32bit为例进行说明。)和一个16bit位宽的第二CRC模块。
步骤502、根据CRC标准对所述并行原始数据进行CRC校验;
本步骤具体包括:
1、将所述并行原始数据缓存一拍或多拍;
2、将缓存的并行原始数据进行位宽在16bit以上的并行的高位宽CRC处理,得到16bit输出数据;
3、检测新接收到的16bit数据是否为文件末尾(EOF);
4、在新接收到的数据是EOF时,将所述高位宽CRC输出的16bit输出数据与新接收到的16bit数据进行比较得到第一比较结果,将所述新接收到的16bit数据进行CRC处理后与所述新接收到的16bit数据进行比较得到第二比较结果;
5、在所述第一比较结果和/或所述第二比较结果为相等时,判定CRC校验正确。
这里以32bit为例,CRC的接收校验步骤如图7所示,包括:
1、将接收到的并行数据缓存一拍。
2、将缓存数据送入总位宽为32bit的第一CRC模块中,同时将其输出的16bit数据初始化第二CRC模块的第二寄存器。此时,第二CRC模块处于初始化状态。
3、检测新接收到的数据是否是EOF,若不是,则继续取数。若是,则将32bit位宽的第一CRC模块的输出结果与新接收到的32bit数据高16bit比较。同时将新数据高16bit送入16位并行crc-16,将CRC-16的输出结果与新数据的低16bit比较。这两个结果的任一个为相等或两个结果均为相等时,则认为CRC校验正确。
假设数据长度是64bit,那么高位宽的第一CRC模块一次可以计算32bit,计算2次就可以得出结果了。这种情况下就不需要低位宽的第二CRC模块了。
可是数据长度是80bit时,高位宽1次计算32bit,两次计算64bit不够,但是3次的话就是96bit了,超了。此时仅用1个32bit的CRC16是无法计算出结果的。这种情况下就需要这个16bit并行的crc16了使用第二CRC模块,在第一CRC模块计算完64bit后,将这个中间值赋予给第二CRC模块的第二寄存器,即所谓的寄存器初始化操作,使用第二CRC模块计算剩余的16bit数据,就可以得到正确的CRC结果了。
在发送端设备生成待发送的并行数据时,CRC生成方式与上述较验方式原理相同,上校验方式的反方向操作。
步骤503、将CRC校验的结果和所述并行原始数据一并上传至上层应用;本步骤中,将16bit的CRC校验结果附在并行原始数据之后,一并上传至上层应用。
下面结合附图,对本实用新型的实施例三进行说明。
本实用新型实施例提供了一种RapidIO串行数据处理方法,包括接收和发送两个部分,下面进行详细说明。
并行接收过程如图8所示:
接收端接收到RapidIO串行数据后,通过串并变换变成高位宽的并行数据。进入动态帧边界对齐模块。动态帧边界对齐会过滤掉线路上的IDLE空闲码填充字,检测出帧的边界,将其按控制码在最高位重新对齐,存放进一个缓存RAM中。并行的第一CRC模块和第二CRC模块在检测到缓存RAM有数据后,对数据进行并行校验。得出校验结果,和原始数据一起上传上层应用。
并行发送过程如图9所示:
上层应用并行的数据传递下来后,进入并行的第一CRC模块和第二CRC模块生成CRC校验码,将其按RapidIO协议附加在原始数据后端,存入数据缓存RAM。当存放完完整的一帧后,更新写指针。发送端通过比较自己的读指针和数据缓存RAM的写指针,来检测数据缓存RAM中是否有数据,如有,则读取其中的数据放入发送缓存。读取完完整的一帧后,更新缓存RAM的读指针。
如比较写指针和读指针表明数据缓存RAM内没有新数据,则使能并行伪随机序列发生器,每个发送时钟周期内,发送一个并行数据至发送缓存。完成IDLE空闲码的填充。
本实用新型的实施例提供了一种RapidIO串行数据处理方法和数据处理装置,将自RapidIO总线接收的发送端发送的串行数据缓存为并行原始数据,所述并行原始数据的位宽大于16bit且是16bit的倍数,再根据CRC标准对所述并行原始数据进行CRC校验,再将CRC校验的结果和所述并行原始数据一并上传至上层应用,减少了数据处理延时,降低了对主时钟频率的需求,解决了RapidIO总线低位宽并行处理方法彼时大、增加后端设计难度的问题。只花费了额外的1个时钟周期处理crc16(即在并行原始数据的长度不能被第一CRC模块的带宽整除时,第二CRC模块需要用一个额外的时钟周期处理剩余的数据),实现了高位宽并行处理,提高了数据处理的速度,降低了对系统时钟频率的需求。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本实用新型不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本实用新型揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本实用新型的保护范围之内。因此,本实用新型的保护范围应以权利要求所述的保护范围为准。
Claims (6)
1.一种数据处理装置,其特征在于,包括处理器、第一CRC模块和RAM缓存;
所述处理器通过RapidIO串行总线接口与RapidIO串行总线相连,并自所述RapidIO串行总线接收到的串行总线数据转换为并行数据缓存至所述RAM缓存;
所述第一CRC模块能够处理的并行数据位宽大于16bit并为16bit的整数倍。
2.根据权利要求1所述的数据处理装置,其特征在于,所述第一CRC模块连接有第一寄存器。
3.根据权利要求1或2所述的数据处理装置,其特征在于,还包括第二CRC模块;
所述第二CRC模块能够处理的并行数据位宽为16bit,所述第一CRC模块的输出端与所述第二CRC模块的输入端相连。
4.根据权利要求3所述的数据处理装置,其特征在于,所述第二CRC模块还连接有第二寄存器。
5.根据权利要求3所述的数据处理装置,其特征在于,所述数据处理装置还包括时钟芯片,所述第一CRC模块和所述第二CRC模块使用所述时钟芯片输出的时钟信号。
6.根据权利要求1所述的数据处理装置,其特征在于,所述数据处理装置还包括偶数个伪随机填充字发生器,所述伪随机填充字发生器的位宽为8bit;
所述处理器将自所述伪随机填充字发生器接收到的并行数据缓存至所述缓存RAM中,将并行数据转换为串行数据,经由RapidIO串行总线接口发送至RapidIO串行总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201320042495 CN203054828U (zh) | 2013-01-25 | 2013-01-25 | 数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201320042495 CN203054828U (zh) | 2013-01-25 | 2013-01-25 | 数据处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN203054828U true CN203054828U (zh) | 2013-07-10 |
Family
ID=48737760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201320042495 Expired - Lifetime CN203054828U (zh) | 2013-01-25 | 2013-01-25 | 数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN203054828U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461963A (zh) * | 2014-11-27 | 2015-03-25 | 深圳市国微电子有限公司 | 一种高速串行存储控制方法及装置 |
CN104796652A (zh) * | 2015-01-12 | 2015-07-22 | 北京瀚景锦河科技有限公司 | 一种基于srio传输视频帧的数据传输方法和装置 |
-
2013
- 2013-01-25 CN CN 201320042495 patent/CN203054828U/zh not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461963A (zh) * | 2014-11-27 | 2015-03-25 | 深圳市国微电子有限公司 | 一种高速串行存储控制方法及装置 |
CN104796652A (zh) * | 2015-01-12 | 2015-07-22 | 北京瀚景锦河科技有限公司 | 一种基于srio传输视频帧的数据传输方法和装置 |
CN104796652B (zh) * | 2015-01-12 | 2017-11-03 | 北京瀚景锦河科技有限公司 | 一种基于srio传输视频帧的数据传输方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970692B (zh) | RapidIO串行数据处理方法 | |
CN102123060B (zh) | 一种基于fpga的误码测试方法 | |
CN112650701B (zh) | 一种精简串行传输电路 | |
Patel et al. | VHDL implementation of UART with status register | |
CN102143023A (zh) | 一种基于fpga的误码测试系统 | |
CN102904550A (zh) | 基于ad9959的多通道同步波形发生器 | |
CN202929519U (zh) | 一种多通道相位可调的信号发生器 | |
CN100530259C (zh) | 一种电力系统数据传输装置 | |
CN105355229A (zh) | 异步电路系统对同步随机存储器的写入电路和读取电路 | |
CN108494433B (zh) | 一种单线通信方法及其电路实现 | |
CN102147780B (zh) | 一种基于串行数据传输方式的链路接口电路 | |
CN201878182U (zh) | 一种基于fpga的总线型通信系统 | |
CN103888147A (zh) | 一种串行转并行转换电路和转换器以及转换系统 | |
CN203054828U (zh) | 数据处理装置 | |
US9288286B2 (en) | Configurable quad byte framer | |
Lim et al. | A multi-lane MIPI CSI receiver for mobile camera applications | |
CN110825210B (zh) | 片上系统的时钟树结构的设计方法、装置、设备及介质 | |
CN106776044B (zh) | 基于数据流的硬件加速方法及系统 | |
CN103592594B (zh) | 电路测试系统及电路测试方法 | |
CN111475434A (zh) | 一种基于片上网络的多层次数据采集方法 | |
CN117234461B (zh) | 一种多通道伪随机噪声调制装置 | |
CN102130744B (zh) | 计算循环冗余校验码的方法和装置 | |
CN105610532A (zh) | 信号的传输处理方法及装置、设备 | |
CN101876960A (zh) | 一种apb总线系统及一种芯片 | |
CN204596391U (zh) | 一种分发器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20130710 |