一种基于SRIO的独立双通道数据传输系统的制作方法

文档序号:14388790阅读:1282来源:国知局
一种基于SRIO的独立双通道数据传输系统的制作方法

本实用新型涉及,特别涉及一种基于SRIO的独立双通道数据传输系统。



背景技术:

SRIO高速串行总线是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术。常用于工业控制领域的CPU、DSP、FPGA等器件之间的互连。SRIO采用逻辑层、传输层、物理层三层分级体系结构。采用高性能LVDS技术,可以在4对差分线上实现10Gbps的有效传输速率。在使用FPGA实现SRIO功能时,由于用于互连的SRIO一般仅为一组,当需要进行多路独立数据的传输,并且使用FPGA作为主控时,就会遇到各路数据的冲突问题。因此,目前国内基于FPGA的SRIO设计通常都只支持单通道工作模式。



技术实现要素:

本实用新型提供了一种基于SRIO的独立双通道数据传输系统,解决了现有技术的技术问题。

本实用新型解决上述技术问题的技术方案如下:

一种基于SRIO的独立双通道数据传输系统,包括:上位机和中频卡,所述中频卡包括:依次连接的多个DAC模块、第一FPGA芯片、第二FPGA芯片和多个DDR3缓存芯片;所述第一FPGA芯片包括:多个DAC控制器和第一SRIO控制器,所述第一SRIO控制器包括:依次连接的多个第一FIFO存储器、双通道分离模块和数据包接收模块,其中,每个FIFO存储器连接一个DAC控制器,每个DAC控制器连接一个DAC模块;所述第二FPGA芯片包括:与所述上位机连接的PCI-E控制器,与所述PCI-E控制器连接的多个DDR缓存器,以及第二SRIO控制器,所述第二SRIO控制器包括:依次连接的多个第二FIFO存储器、双通道选择调度模块和数据包发送模块,其中,每个DDR缓存器连接一个第二FIFO存储器,所述数据包发送模块连接所述数据包接收模块,每个DDR缓存器连接一个DDR3缓存芯片。

本实用新型的有益效果是:实现了FPGA间单个SRIO接口传输多路独立数据的功能,解决了过去FPGA之间多路独立数据只能使用多个SRIO接口,造成资源和成本浪费的问题,提高了总线利用率。

在上述技术方案的基础上,本实用新型还可以做如下改进。

优选地,所述数据包发送模块与所述数据包接收模块之间通过交换器连接。

优选地,所述数据包发送模块与所述交换器之间,以及所述交换器与所述数据包接收模块之间均通过SRIO X4总线连接。

优选地,所述交换器为CPS1432交换器。

优选地,所述中频卡还包括:与所述交换器连接的微控制器。

优选地,所述微控制器为STM32微控制器。

优选地,所述中频卡还包括:电源管理器,所述电源管理器连接所述多个DAC模块、所述第一FPGA芯片、所述第二FPGA芯片、所述多个DDR3缓存芯片和所述微控制器。

优选地,所述独立双通道数据传输系统还包括:多个示波器,每个示波器通过一个SMA接口连接一个DAC模块。

优选地,所述上位机通过PCI-E X8总线连接所述PCI-E控制器。

附图说明

图1为本实用新型实施例提供的一种基于SRIO的独立双通道数据传输系统的结构示意图;

图2为本实用新型另一实施例提供的一种基于SRIO的独立双通道数据传输系统的结构示意图;

图3为本实用新型另一实施例提供的一种基于SRIO的独立双通道数据传输系统的结构示意图。

具体实施方式

以下结合附图对本实用新型的原理和特征进行描述,所举实例只用于解释本实用新型,并非用于限定本实用新型的范围。

如图1所示,一种基于SRIO的独立双通道数据传输系统,包括:上位机1和中频卡2,中频卡2包括:依次连接的多个DAC模块21、第一FPGA芯片22、第二FPGA芯片23和多个DDR3缓存芯片24;第一FPGA芯片22包括:多个DAC控制器221和第一SRIO控制器222,第一SRIO控制器222包括:依次连接的多个第一FIFO存储器2221、双通道分离模块2222和数据包接收模块2223,其中,每个FIFO存储器2221连接一个DAC控制器221,每个DAC控制器221连接一个DAC模块21;第二FPGA芯片23包括:与上位机1连接的PCI-E控制器231,与PCI-E控制器231连接的多个DDR缓存器232,以及第二SRIO控制器233,第二SRIO控制器233包括:依次连接的多个第二FIFO存储器2331、双通道选择调度模块2332和数据包发送模块2333,其中,每个DDR缓存器232连接一个第二FIFO存储器2331,数据包发送模块2333连接数据包接收模块2223,每个DDR缓存器232连接一个DDR3缓存芯片24。

SRIO是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术,已于2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为ISO/IECDIS 18372标准。SRIO是面向串行背板、DSP和相关串行数据平面连接应用的串行RapidIO接口。串行RapidIO包含一个3层结构的协议,即物理层、传输层、逻辑层。物理层定义电气特性、链路控制、低级错误管理、底层流控制数据;传输层定义包交换、路由和寻址机制;逻辑层定义总体协议和包格式。可以实现最低引脚数量,采用DMA传输,支持复杂的可扩展拓扑,多点传输。

如图2所示,数据包发送模块与数据包接收模块之间通过交换器连接。

具体地,数据包发送模块与交换器之间,以及交换器与数据包接收模块之间均通过SRIO X4总线连接。

如图2所示,交换器为CPS1432交换器。

如图2所示,中频卡还包括:与交换器连接的微控制器。

如图2所示,微控制器为STM32微控制器。

如图2所示,中频卡还包括:电源管理器,电源管理器连接多个DAC模块、第一FPGA芯片、第二FPGA芯片、多个DDR3缓存芯片和微控制器。

如图2所示,独立双通道数据传输系统还包括:多个示波器,每个示波器通过一个SMA接口连接一个DAC模块。

如图2所示,上位机通过PCI-E X8总线连接PCI-E控制器。

如图2所示,系统由上位机、中频卡和示波器组成。各部分的主要功能如下:

1)上位机实现系统整体控制和DA数据下发;

2)FPGA2实现PCI-E数据接收、DDR3SDRAM缓存与SRIO双通道发送;

3)FPGA1实现SRIO双通道接收与DAC配置、数据发送;

4)STM32实现SRIO路由芯片CPS1432配置;

5)2台示波器分别接收2路DAC产生的模拟信号,验证数据的正确性和完整性。

如图3所示,系统主要由2片FPGA(FPGA1与FPGA2)、上位机、DDR3缓存芯片与2组DAC模块组成。其中SRIO采用4通道3.125Gbps,总带宽达12.5Gbps。

该系统FPGA2从上位机通过PCI-Express DMA方式接收2路DA数据,并将2路数据缓存于DDR3缓存芯片中以待后续读取。FPGA1配置并将数据通过DAC1与DAC2发出,且FPGA1SRIO控制器向FPGA2SRIO控制器通过外部自定义连线发出2个通道空满状态信号,FPGA2SRIO控制器根据接收到的空满状态信号与DDR3缓存芯片中剩余数据量,轮询发送2路数据。

FPGA2SRIO轮询依据Weighted Round Robin算法,WRR算法周而复始且有权重地轮询各通道。当轮询到某个通道时,将根据该通道加权值的大小决定其可发送的数据的次数。用户在初始化时可依据各通道数据量大小配置各通道的加权值,以实现最优化效果。

SRIO在逻辑层定义了多种包类型,常用的包括写操作(NWRITE),带响应的写操作(NWRITE_R),数据流写操作(SWRITE),读操作(NREAD)以及消息(Message)。数据流写操作(SWRITE)具有最高的传输效率以及总线利用率。因此设计中采用SWRITRE包格式进行传输,并通过ADDR字段进行通道区分。由FPGA2作为发起方(Initiator),由FPGA1作为接收方(Target)。

由FPGA1发出的各通道满信号是控制FPGA2发送状态的依据,该满信号并非FPGA1FIFO的全满信号,需要考虑已发出但还未收到的情况,需要根据各模块及中间SRIO路由器芯片缓存大小综合考虑。

实现了FPGA间单个SRIO接口传输多路独立数据的功能,解决了过去FPGA之间多路独立数据只能使用多个SRIO接口,造成资源和成本浪费的问题,提高了总线利用率。

以上所述仅为本实用新型的较佳实施例,并不用以限制本实用新型,凡在本实用新型的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1