首页 / 专利库 / 信号处理 / 信号 / 输出信号 / 基于FPGA的SRIO数据传输系统

基于FPGA的SRIO数据传输系统

阅读:1031发布:2020-06-02

专利汇可以提供基于FPGA的SRIO数据传输系统专利检索,专利查询,专利分析的服务。并且本 发明 公开的一种基于FPGA的SRIO数据传输系统,旨在提供一种传输效率高,可靠性高,可移植性强,能够并行处理的数据传输系统。本发明包括MSG数据模 块 ,DMA数据模块, 门 铃数据模块,发送控 制模 块, 信号 复用模块,响应 控制模块 ,读取控制模块和Srio 接口 模块。发送时,用户逻辑发送数据控制信息,接受数据控制反馈信息,发送不同数据到不同数据模块对应的发送缓存区。发送控制模块调度不同数据模块,不同数据模块发送数据给信号复用模块。信号复用模块归并信号并输出数据信号给Srio接口。接收时,Srio接口将数据信号传给读取控制模块。读取控制模块对数据信号解析判定后传给不同数据模块的接受缓存区递交给用户逻辑接收。发送接收全过程中,响应控制模块完成响应信号的发送、接收、分析以及反馈功能。,下面是基于FPGA的SRIO数据传输系统专利的具体信息内容。

1.一种基于FPGA的SRIO数据传输系统,包括:与用户逻辑层相连的发送控制模和数据模块,以及与数据模块和发送控制模块互连的信号复用模块、响应控制模块和读取控制模块,与信号复用模块、响应控制模块和读取控制模块相连的SRIO接口模块,其特征在于:
在SRIO数据传输系统的发送端:用户逻辑层将消息事务类型数据MSG数据、内存访问事务类型DMA数据和铃事务类型数据发送到对应数据模块的发送缓存区中,发送控制模块接受用户逻辑层的不同数据控制信号并存储到自身不同数据控制信号的缓存区中;发送控制模块调度不同数据模块,接收不同数据模块的反馈信号,通过数据控制反馈信号反馈给用户逻辑层信息,不同数据模块接受发送控制模块的调度,发送数据到信号复用模块,然后进入等待态,等待接受响应控制模块的响应信号;信号复用模块接受来自不同数据模块的数据,将多个数据模块的输出信号归并成一路信号,输出给SRIO接口模块,通过SRIO高速总线将数据发送出去,传给接收端。
2.如权利要求1所述的基于FPGA的SRIO数据传输系统,其特征在于:接收端读取控制模块接收SRIO接口模块传来的数据信号,解析判定后将数据传给对应数据模块的接受缓存区,将解析结果传给响应控制模块,对应数据模块将接收到的数据发给用户逻辑层,响应控制模块将解析结果打包成响应信号输出给SRIO接口模块,通过SRIO高速总线将数据发送回去,传给发送端。
3.如权利要求2所述基于FPGA的SRIO数据传输系统,其特征在于:发送端通过SRIO高速总线将收到的响应信号给响应控制模块解析,响应控制模块将响应信号解析结果传给对应数据模块,等待态的数据模块接收到响应控制模块传来的响应信号,然后判定决定重发或者反馈给发送调度模块发送成功信号,如果重发达到指定次数,则反馈给发送调度模块发送失败信号,发送调度模块收到发送成功或失败信号后,通过数据控制反馈信号告知用户,然后继续调度。
4.如权利要求1所述基于FPGA的SRIO数据传输系统,其特征在于:SRIO数据传输系统包括通过SRIO高速总线相连RapidIO协议网络的第一用户、第二用户…第N用户,一个RapidIO交换机,两条SRIO高速总线和两个SRIO数据传输系统模块,两个用户分别通过两个SRIO数据传输系统模块和两条SRIO高速总线相连,两条SRIO高速总线又与RapidIO交换机相连;第一用户、第二用户…第N用户通过各自的SRIO数据传输系统模块和SRIO高速总线与RapidIO协议网络中的RapidIO交换机进行通信。
5.如权利要求4所述基于FPGA的SRIO数据传输系统,其特征在于:第一用户通过用户逻辑层发送直接存储访问DMA数据到DMA数据模块的发送缓存区数据存储器RAM中,然后第一用户通过用户逻辑层发出DMA数据控制信号给发送控制模块,其中,发送的数据控制信号包括自身ID和第二用户的ID,传输数据的起始地址和准备传输数据的数据量大小。
6.如权利要求4所述的基于FPGA的SRIO数据传输系统,其特征在于:发送控制模块接受到该数据控制信号后,将其归并为一项,传入自身的DMA数据控制信号的先入先出队列FIFO,此时DMA数据控制信号的先入先出队列FIFO为非空,发送控制模块通过该先入先出队列FIFO非空信号,通过使能信号调度DMA数据模块,使DMA数据模块开始运行;DMA数据模块将数据按SRIO协议DMA包格式打包发送数据到信号复用模块,然后进入等待态;信号复用模块接受来自DMA数据模块的信号,将该信号归并后输出给SRIO接口模块,通过SRIO高速总线将DMA数据信号发送出去。
7.如权利要求6所述基于FPGA的SRIO数据传输系统,其特征在于:SRIO高速总线将第一用户的DMA数据信号传给RapidIO交换机,然后RapidIO交换机将DMA数据信号通过SRIO高速总线传给第二用户的SRIO数据传输系统模块。
8.如权利要求7所述基于FPGA的SRIO数据传输系统,其特征在于:第二用户读取控制模块收到DMA数据信号后,首先对包头进行ID判定:目的ID是否等于第二用户的ID,如果是则解包接受,如果不是则忽略,然后解析包类型、包头字段和信号标志位,最后进行数据的校验,标志位的校验,解析校验通过后,读取控制模块发给响应控制模块的解析结果包括:接受包的Tid、源地址以及校验正确信号。
9.如权利要求3所述基于FPGA的SRIO数据传输系统,其特征在于:DMA数据模块内置超时计数器和失败计数器,当SRIO高速总线传输过程中出现掉包或DMA数据出现错误时,第一用户DMA数据模块等待超时或收到响应信号解析结果信号后,不释放发送缓存区RAM的相应空间,从等待态进入重新发送态,重复发送过程,DMA数据模块多次重发未成功,达到失败计数器次数后,才按照正常流程运行最后发送控制模块通过数据控制反馈信号,反馈给用户DMA数据发送失败;第二用户的读取控制模块对DMA数据信号解析判定后将数据舍弃,其他过程和正常流程一致。
10.如权利要求1所述基于FPGA的SRIO数据传输系统,其特征在于:发送控制模块调度数据模块采用短作业优先算法,按照门铃数据优先,DMA数据其次,消息数据最后的优先级顺序。

说明书全文

基于FPGA的SRIO数据传输系统

技术领域

[0001] 本发明属于通信技术领域,涉及一种基于FPGA的SRIO数据传输系统。具体而言,包括数据传输,数据传输检验,数据重发,并行数据处理,数据储存,多对多互联等功能。

背景技术

[0002] RapidIO协议是一个开放的点对点分组交换标准,是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的互连技术。串行RapidIO(SRIO)是采用串行差分模拟信号传输的RapidIO协议,采用差分交流耦合信号,基于SerDes(SerializeDeserialize)技术,SRIO是一个针对嵌入式系统应用的高性能、低引脚数基于数据包交换的高速互连接口。并可实现最低引脚数量而高速的传输。SRIO是基于包交换的高速互连技术,其数据包是由包头、有效的数据载荷和16位CRC校验组成。包头的长度根据包类型不同,可能为十几到二十几个字节,最大的有效载荷长度为256字节。由于包长度短,所以传输延时较小,硬件上也易于实现,适合数字信号处理场合对传输延时要求较高的应用。数字系统互连设计中,高速串行I/O技术取代传统的并行I/O技术成为当前发展的趋势。与传统并行I/O技术相比,串行方案提供了更大的带宽、更远的距离、更低的成本和更高的扩展能。在实际设计应用中,采用现场可编程阵列(FPGA)实现高速串行接口是一种性价比较高的技术途径。在多FPGA处理芯片系统架构的TDLTE系统中,基带处理信息交互急需一种新的高速互连接口。串行高速输入输出口(serialrapidIO,SRIO)接口具有速度快、管脚数少、系统成本低、可以实现点对点或点对多点通信的特点。
[0003] SRIO协议通常分为3层:逻辑层、传输层和物理层。逻辑层定义了操作协议,包括I/O逻辑操作、消息传递、共享存储、流量控制和数据流,以及接口的全部协议和包的格式;传输层定义了包交换、路由和寻址机制并提供报文在端点设备间传输所需的路由信息;物理层处于整个分级结构的底部,定义了设备级接口的细节,流量电气特性、低级错误管理控制、链路控制和纠错重传等。伴随数字信号处理技术的快速发展,数据吞吐量与日俱增,给数据传输带来了新的挑战,仅依靠提高单处理器的性能来提高处理能力越来越艰难。随着所需传输的数据量的加大,用户对传输效率、传输可靠性和接口模可移植性提出了更高的要求。传统的分级共享总线带宽和速率都很低,其性能已经达到极限,不能满足时分长期演进TDLTE系统的高速处理需求。传统并行总线互连所需要引脚数较多,给器件封装、测试和焊接都带来了一些问题,也会增加在系统中应用的复杂度。随着互联网的迅猛发展,网络流量日益增大,目前高速网络处理系统的板级互连带宽达到了G比特速率级,这对网络处理系统的处理速度和吞吐量是极大的挑战。传统的并行传输方式由于走线多、信号间串扰大等缺陷,无法突破自身的速度瓶颈。单独的处理器(如FPGA或DSP)无法满足高速实时信号处理的需求。多核DSP处理性能强大,但是并行性不强,难以适应计算异常密集的应用,另外集成性的DSP接口也影响了数据传输的灵活性;FPGA具有极强的并行性,适合密集计算应用,而且可配置I/O和IP核支持多种数据传输接口,但FPGA的内部逻辑资源和存储资源有限,并且开发难度大,实现复杂算法也比较困难。RapidIO互联技术因其高性能、低引脚数、基于数据包交换的特点,已经被世界上几乎所有的嵌入式主流厂商所支持,并在涉及数据传输的领域发挥出巨大的作用。串行RapidIO(SRIO)是采用串行差分模拟信号传输的RapidIO协议,由于包长度短,所以传输延时较小,硬件上也易于实现。数字系统互联设计中,高速串行I/O技术取代传统的并行I/O技术成为当前发展的趋势。与传统并行I/O技术相比,串行方案提供了更少的引脚、更远的距离、更低的成本和更高的扩展能力。但伴随数字信号处理技术的快速发展,数据吞吐量与日俱增,给数据传输带来了新的挑战,仅依靠提高处理器的性能来提高处理能力越来越艰难。同时用户对传输效率、传输可靠性和系统可移植性也提出了更高的要求,而现有的基于SRIO的数据传输方法传输效率和可移植性较低,也不能保证传输数据的准确性,可靠性较低。

发明内容

[0004] 本发明针对目前高速信号处理系统大数据量传输情况下,传输效率低,可靠性低,接口模块可移植性低等问题,提供一种传输效率高,可移植性强,能够并行处理且对称接发数据的基于FPGA的SRIO数据传输系统,该传输系统在稳定性,可靠性都得到了进一步提升。
[0005] 本发明的上述目的可以通过以下措施来达到:一种基于FPGA的SRIO数据传输系统,包括:与用户逻辑层相连的发送控制模块和数据模块,以及与数据模块和发送控制模块互连的信号复用模块、响应控制模块和读取控制模块,与信号复用模块、响应控制模块和读取控制模块相连的SRIO接口模块,其特征在于:在SRIO数据传输系统的发送端:用户逻辑层将消息事务类型数据MSG数据、内存访问事务类型DMA数据和门铃事务类型数据发送到对应数据模块的发送缓存区中,发送控制模块接受用户逻辑层的不同数据控制信号并存储到自身不同数据控制信号的缓存区中;发送控制模块调度不同数据模块,接收不同数据模块的反馈信号,通过数据控制反馈信号反馈给用户逻辑层信息,不同数据模块接受发送控制模块的调度,发送数据到信号复用模块,然后进入等待态,等待接受响应控制模块的响应信号;信号复用模块接受来自不同数据模块的数据,将多个数据模块的输出信号归并成一路信号,输出给SRIO接口模块,通过SRIO高速总线将数据发送出去,传给接收端。接收端读取控制模块接收SRIO接口模块传来的数据信号,解析判定后将数据传给对应数据模块的接受缓存区,将解析结果传给响应控制模块,对应数据模块将接收到的数据发给用户逻辑层,响应控制模块将解析结果打包成响应信号输出给SRIO接口模块,通过SRIO高速总线将数据发送回去,传给发送端。发送端通过SRIO高速总线将收到的响应信号给响应控制模块解析,响应控制模块将响应信号解析结果传给对应数据模块,等待态的数据模块接收到响应控制模块传来的响应信号,然后判定决定重发或者反馈给发送调度模块发送成功信号,如果重发达到指定次数,则反馈给发送调度模块发送失败信号,发送调度模块收到发送成功或失败信号后,通过数据控制反馈信号告知用户,然后继续调度。
[0006] 本发明相比于现有技术具有如下有益效果:传输效率高。本发明中用户逻辑层可以并行写入不同种类数据到不同数据模块的发送缓存区中,由发送控制模块自动调度实现高效发送。接收时用户逻辑层可并行接收来自数据模块接受缓存区中的数据。通过实验证明,本发明工作效率高,能适应多种类SRIO协议数据的并发传输,能适应单对单、单对多、多对单、多对多传输,且收发同时进行互不干扰,也为后续采用FPGA实现各种高速协议奠定了良好的基础
[0007] 独立、可移植性强。本发明采用与用户逻辑层相连的发送控制模块和数据模块,以及与数据模块和发送控制模块互连的信号复用模块、响应控制模块和读取控制模块,还有与信号复用模块、响应控制模块和读取控制模块相连的SRIO接口模块,其中的模块都可以独立使用或部分使用,对于不需要的功能去掉即可,可以节省FPGA的资源占用。本发明可对称收发,即一个系统具有发送和接收功能。另外,由于本发明符合SRIO协议要求,所以可以自身配套使用或者和其他支持SRIO协议的系统交叉使用,且本发明内缓存区大小、重发次数以及SRIO总线数均可自由更改使用。
[0008] 传输可靠性强。本发明发送流程采用发送、等待响应、再发送的模式,具有重传功能。本发明接受流程采用接收、响应、再接收的模式,具有错误检验功能。在稳定性,可靠性都得到了进一步提升,满足高速低误码率传输系统的要求。附图说明
[0009] 图1是本发明基于FPGA的SRIO数据传输系统的示意图。
[0010] 图2是本发明实施例实际应用场景示意图。
[0011] 图3是本发明另一实施例的实际应用场景示意图。
[0012] 为了本技术领域的人员更好的理解本发明,下面结合附图和以下实施例对本发明作进一步详细描述。

具体实施方式

[0013] 参阅图1。在以下描述的优选实施例中,一种基于FPGA的SRIO数据传输系统,包括:与用户逻辑层相连的发送控制模块和数据模块,以及与数据模块和发送控制模块互连的信号复用模块、响应控制模块和读取控制模块,与信号复用模块、响应控制模块和读取控制模块相连的SRIO接口模块。发送端:用户逻辑层将MSG数据、DMA数据和门铃数据发送到对应数据模块的发送缓存区中,发送控制模块接受用户逻辑层的不同数据控制信号并存储到自身不同数据控制信号的缓存区中;发送控制模块调度不同数据模块,接收不同数据模块的反馈信号,通过数据控制反馈信号反馈给用户逻辑层信息,不同数据模块接受发送控制模块的调度,发送数据到信号复用模块,然后进入等待态,等待接受响应控制模块的响应信号;
信号复用模块接受来自不同数据模块的数据,将多个数据模块的输出信号归并成一路信号,输出给SRIO接口模块,通过SRIO高速总线将数据发送出去,传给接收端。
[0014] 接收端:读取控制模块接收SRIO接口模块传来的数据信号,解析判定后将数据传给对应数据模块的接受缓存区,将解析结果传给响应控制模块。对应数据模块将接收到的数据发给用户逻辑层,响应控制模块将解析结果打包成响应信号输出给SRIO接口模块,通过SRIO高速总线将数据发送回去,传给发送端。
[0015] 发送端通过SRIO高速总线将收到的响应信号给响应控制模块解析,响应控制模块将响应信号解析结果传给对应数据模块,等待态的数据模块接收到响应控制模块传来的响应信号,然后判定决定重发或者反馈给发送调度模块发送成功信号,如果重发达到指定次数,则反馈给发送调度模块发送失败信号,发送调度模块收到发送成功或失败信号后,通过数据控制反馈信号告知用户,然后继续调度。
[0016] 参阅图2。在实际应用场景中,SRIO数据传输系统包括第一和第二用户,一个RapidIO交换机,两条SRIO高速总线和两个SRIO数据传输系统模块。两个用户分别通过两个SRIO数据传输系统模块和两条SRIO高速总线相连,两条SRIO高速总线又与RapidIO交换机相连。
[0017] 假设第一用户想发送给第二用户DMA控制器数据传输,则第一用户通过用户逻辑层发送直接存储访问DMA数据到DMA数据模块的发送缓存区数据存储器RAM中,然后第一用户通过用户逻辑层发出DMA数据控制信号给发送控制模块。发送的数据控制信号包括自身ID和第二用户的ID,传输数据的起始地址和准备传输数据的数据量大小。发送控制模块接受到该数据控制信号后,将其归并为一项,传入自身的DMA数据控制信号的先入先出队列FIFO,此时DMA数据控制信号的先入先出队列FIFO为非空,发送控制模块通过该先入先出队列FIFO非空信号,通过使能信号调度DMA数据模块,使DMA数据模块开始运行。DMA数据模块将数据按SRIO协议DMA包格式打包发送数据到信号复用模块,然后进入等待态;信号复用模块接受来自DMA数据模块的信号,将该信号归并后输出给SRIO接口模块,通过SRIO高速总线将DMA数据信号发送出去。
[0018] 参阅图3。SRIO高速总线将第一用户的DMA数据信号传给RapidIO交换机,然后RapidIO交换机将DMA数据信号通过SRIO高速总线传给第二用户的SRIO数据传输系统模块。
[0019] 第二用户的SRIO接口模块收到DMA数据信号后传给读取控制模块,读取控制模块接收SRIO接口模块传来的DMA数据信号,解析判定后将DMA数据传到DMA数据模块的接收缓存区RAM中,并将解析结果传给响应控制模块。DMA数据模块将接收缓存区RAM中的数据发给用户逻辑层传给第二用户。同时,响应控制模块将解析结果打包成响应信号输出给SRIO接口模块,通过SRIO总线将数据发送回去,经过RapidIO交换机,传回第一用户的SRIO数据传输系统模块。然后,第一用户的SRIO高速总线将收到的响应信号给响应控制模块解析,响应控制模块将响应信号解析结果传给DMA数据模块。DMA数据模块收到响应信号解析结果信号后释放发送缓存区RAM的相应空间,并从等待态进入未运行态,同时把响应信号解析结果信号反馈给发送控制模块。发送控制模块收到DMA数据模块的反馈信号后,释放调度DMA数据模块的使能信号,同时通过数据控制反馈信号,反馈给用户DMA数据发送成功。
[0020] 在可选的实施例中,本系统利用了缓存区实现信号用户时钟域和系统时钟域的互相变换。
[0021] 在可选的实施例中,发送控制模块调度数据模块采用是短作业优先算法,按照门铃数据优先,DMA数据其次,消息数据最后的优先级顺序。
[0022] 在可选的实施例中,第二用户读取控制模块收到DMA数据信号后,首先对包头进行ID判定:目的ID是否等于第二用户的ID,如果是则解包接受,如果不是则忽略。然后解析包类型、包头字段和信号标志位,最后进行数据的校验,标志位的校验。解析校验通过后,读取控制模块发给响应控制模块的解析结果包括:接受包的Tid、源地址以及校验正确信号。
[0023] 以上传输过程均未出现偏差,以下举例进行偏差情况说明。
[0024] DMA数据模块对发送缓存区RAM的地址具有判定算法,当第一用户发送DMA数据量过大来不及处理,导致DMA发送缓存区RAM将满时,DMA数据模块通过反馈信号告知发送控制模块,发送控制模块通过数据控制反馈信号反馈给用户DMA数据发送缓存区将满的情况。
[0025] DMA数据模块内置超时计数器和失败计数器,当SRIO高速总线传输过程中出现掉包或DMA数据出现错误时,第一用户DMA数据模块等待超时或收到响应信号解析结果信号后,不释放发送缓存区RAM的相应空间,从等待态进入重新发送态,重复发送过程,DMA数据模块多次重发未成功,达到失败计数器次数后,才按照正常流程运行最后发送控制模块通过数据控制反馈信号,反馈给用户DMA数据发送失败。第二用户的读取控制模块对DMA数据信号解析判定后将数据舍弃,其他过程和正常流程一致。
[0026] 参阅图2。第二用户向第一用户发送数据过程和第一用户向第二用户发送数据过程相同,可同时进行且互不干扰。
[0027] 参阅图3。更进一步,此图SRIO数据传输系统包括通过SRIO高速总线相连RapidIO协议网络的第一用户、第二用户…第N用户,第一用户、第二用户…第N用户通过各自的SRIO数据传输系统模块和SRIO高速总线与RapidIO协议网络中的RapidIO交换机进行通信,N个用户都可以互相且同时的互发数据。
[0028] 以上所述,仅为本发明的较佳实施例,但本发明的范围并不局限于此。本发明的专利保护范围以权利要求书为准,凡是运用本发明的说明书及附图内容所实现的其他方式,均包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈