一种基于FPGA的高速光纤传输方法及系统与流程

文档序号:17817084发布日期:2019-06-05 21:51
一种基于FPGA的高速光纤传输方法及系统与流程

本发明涉及光电传输,特别是涉及一种基于FPGA的高速光纤传输方法及系统。



背景技术:

目前工业设备尤其涉及高速AD/DA的设备数据吞吐量越来越大,通常的方法是增加数据传输通道,这种方式具有一定的局限性。

在数字阵列雷达中,数字接收组件的回波数据通常经过FPGA处理之后,利用光纤传输回阵下信号处理单元。由于雷达天线数字接收组件数量较多,增加单个组件的光纤数量会导致整个阵面布线难度陡增,同时增加了信号处理单元的硬件设计复杂度,同时导致系统成本的大量增加。



技术实现要素:

本发明的目的在于提供一种基于FPGA的高速光纤传输方法及系统,以解决上述问题。

为达到上述目的,本发明采用下述技术方案:

本发明一个方面公开了一种基于FPGA的高速光纤传输方法,所述方法包括:

S1、第一FPGA响应于计算机设备的指令,将第一FLASH存储器中固化的数据写入第一DDR3存储器并通过第一FPGA专用调试器将写入完成标志回传给计算机设备;

S2、所述计算机设备响应于接收到的写入完成标志,通过所述第一FPGA专用调试器向所述第一FPGA发出传输开始指令;

S3、所述第一FPGA响应于所述计算机设备的传输开始指令,将所述第一DDR3存储器中的数据读入所述第一FPGA,并对读入的数据进行处理后发送给第一光电转换模块;

S4、所述第一光电转化模块将处理后数据由电信号转换成光信号后发送至第二光电转换模块;

S5、所述第二光电转换模块将接收到的光信号转换为电信号后发送至第二FPGA;

S6、所述第二FPGA对接收到的电信号进行处理并响应于所述计算机设备的指令,对处理后的数据进行存储或与所述第二FPGA的第二DDR3存储器中的数据进行比对,向所述计算机设备返回标志。

优选地,所述第一FPGA包括设置在第一印制电路板上的:DDR读写模块、FLASH读写模块、光纤数据收发模块和数据交互模块,其中,所述数据交互模块中包括校验模块,

所述第一FPGA与所述第二FPGA的逻辑完全相同。

优选地,所述步骤S3包括:

S31、所述第一FPGA的数据交互模块接收所述计算机设备下发的传输开始指令;

S32、所述第一FPGA的数据交互模块将所述第一DDR3存储器中的数据读入所述数据交互模块的数据缓存FIFO;

S33、所述第一FPGA的光纤数据收发模块依据所述数据缓存FIFO状态读取数据;

S34、所述第一FPGA的光纤数据收发模块对读取的数据进行处理并发送给所述第一光电转换模块。

优选地,所述第一FPGA的光纤数据收发模块对读取的数据进行处理包括:缓存、串并转换和编码。

优选地,所述步骤S6包括:

S61、所述第二FPGA中的光纤数据收发模块对接收到的电信号进行解码、串并转换和缓存处理;

S62、所述第二FPGA中的光纤数据收发模块将处理后的数据发送到所述第二FPGA中的数据交互模块;

S63、所述计算机设备向所述第二FPGA中的数据交互模块发送接收储存指令或接收校验指令;

S64、所述第二FPGA中的数据交互模块根据接收到的指令对接收到的数据进行存储或与第二DDR3存储器中的数据进行比对。

优选地,所述步骤S64具体包括:

当所述第二FPGA中的数据交互模块解析指令为接收校验操作,所述第二FPGA中的数据交互模块通过校验模块将接收到的数据与所述第二DDR3存储器中对应地址的数据进行对比,其中,所述第二DDR3存储器中的数据为所述第二FPGA上电后自动读取第二FLASH存储器中数据并写入所述第二DDR3存储器所得,若比对数据相同,所述第二FPGA中的数据交互模块通过第二FPGA专用调试器向所述计算机设备返回比对成功标志;反之,返回比对失败标志;

当所述第二FPGA中的数据交互模块解析指令为接受存储操作,所述第二FPGA中的数据交互模块先将接收到的数据写入该数据交互模块中的数据缓存FIFO,通过数据缓存FIFO将数据写入所述第二DDR3存储器中,若写入完成,所述第二FPGA中的数据交互模块通过所述第二FPGA专用调试器向所述计算机设备返回写入完成标志;若写入错误,则返回写入错误标志。

本发明另一方面公开了一种基于FPGA的高速光纤传输系统,包括:计算机设备、第一FPGA专用调试器、第一FPGA、第一FLASH存储器、第一DDR3存储器、第一光电转换模块、第二光电转换模块、光纤电缆、第二FPGA、第二FLASH存储器、第二DDR3存储器以及第二FPGA专用调试器,

其中,第一FPGA响应于计算机设备的指令,将第一FLASH存储器中固化的数据写入第一DDR3存储器并通过第一FPGA专用调试器将写入完成标志回传给计算机设备;所述计算机设备响应于接收到的写入完成标志,通过所述第一FPGA专用调试器向所述第一FPGA发出传输开始指令;所述第一FPGA响应于所述计算机设备的传输开始指令,将所述第一DDR3存储器中的数据读入所述第一FPGA,并对读入的数据进行处理后发送给第一光电转换模块;所述第一光电转化模块将处理后数据由电信号转换成光信号后经光纤电缆发送至第二光电转换模块;所述第二光电转换模块将接收到的光信号转换为电信号后发送至第二FPGA;所述第二FPGA对接收到的电信号进行处理并响应于所述计算机设备的指令,对处理后的数据进行存储或与所述第二FPGA的第二DDR3存储器中的数据进行对比,向所述计算机设备返回标志。

优选地,所述第一FPGA包括:

FLASH读写模块、DDR读写模块、数据交互模块和光纤数据收发模块,其中,所述数据交互模块包括校验模块,

所述FLASH读写模块,用于根据所述第一FPGA的指令对第一FLASH存储器进行数据的擦、写、读;

所述DDR读写模块,用于根据所述第一FPGA的指令对第一DDR3存储器进行数据的读、写;

所述数据交互模块,用于根据所述计算机设备的指令,实现所述第一FPGA内部各模块的交互;

光纤数据收发模块,用于接收并处理所述数据交互模块的信息并向所述第一光电转换模块发送,或

用于接收并处理所述第一光电转换模块的信息向所述数据交互模块发送。

优选地,所述第二FPGA与所述第一FPGA的逻辑完全相同。

本发明的有益效果如下:

本发明所述技术方案能够在设备数据量较大的情况下实现快速传输,解决了现有技术中因数据量大,需设置大量传输通道的局限性。此外采用本发明所公开的技术方案,使得整个系统的布局简单,实现成本低等。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出本实施例中高速光纤传输方法的流程图;

图2示出本实施例中FPGA的内部逻辑示意图;

图3示出本实施例中高速光纤传输系统的示意图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1-2所示,本发明一个方面公开了一种基于FPGA的高速光纤传输方法,所述方法包括:S1、第一FPGA4响应于计算机设备1的指令,将第一FLASH存储器8中固化的数据写入第一DDR3存储器6并通过第一FPGA专用调试器2将写入完成标志回传给计算机设备1;S2、所述计算机设备1响应于接收到的写入完成标志,通过所述第一FPGA专用调试器2向所述第一FPGA4发出传输开始指令;S3、所述第一FPGA4响应于所述计算机设备1的传输开始指令,将所述第一DDR3存储器6中的数据读入所述第一FPGA4,并对读入的数据进行处理后发送给第一光电转换模块10;S4、所述第一光电转化模块10将处理后数据由电信号转换成光信号后经光纤电缆12发送至第二光电转换模块11;S5、所述第二光电转换模块11将接收到的光信号转换为电信号后发送至第二FPGA5;S6、所述第二FPGA5对接收到的电信号进行处理并响应于所述计算机1设备的指令,对处理后的数据进行存储或与所述第二FPGA的第二DDR3存储器7中的数据进行比对,向所述计算机设备1返回标志。

在本实施例中,所述第一FPGA4设置在第一印制电路板上,包括:DDR读写模块41、FLASH读写模块42、光纤数据收发模块44和数据交互模块43,其中,所述数据交互模块43中包括校验模块。同时对所述第一FPGA4与所述第二FPGA5的逻辑设计为完全相同,并设置在第二印制电路板上。如图2所示,为第一FPGA的内部逻辑示意图。因此,在本实施例中以第一FPGA4作为发送端,第二FPGA5作为接收端来实现;反之,以第二FPGA5作为发送端,第一FPGA作为接收端亦可实现数据的高速光纤传输。

在本实施例中,所述步骤S3进一步包括:首先所述第一FPGA4的数据交互模块43接收所述计算机设备1下发的传输开始指令;然后所述第一FPGA的数据交互模块43将所述第一DDR3存储器6中的数据读入所述数据交互模块43的数据缓存FIFO;所述第一FPGA4的光纤数据收发模块44依据所述数据缓存FIFO状态读取数据;所述第一FPGA4的光纤数据收发模块44在读取数据后对读取的数据进行处理并发送给所述第一光电转换模块10。其中,所述第一FPGA4的光纤数据收发模块44对读取的数据进行处理包括:缓存、串并转换和编码。

在本实施例中,所述步骤S6进一步包括:所述第二FPGA5中的光纤数据收发模块54接收到第二光电转换模块11发送的信号后,首先对接收到的信号进行解码、串并转换和缓存处理,然后将处理后的数据发送到所述第二FPGA5中的数据交互模块53;所述计算机设备1向所述第二FPGA5中的数据交互模块53发送接收储存指令或接收校验指令;最后所述第二FPGA中的数据交互模块根据接收到的指令对接收到的数据进行存储或与第二DDR3存储器中的数据进行比对。

当所述第二FPGA5中的数据交互模块53对接收到的指令进行解析,解析指令为接收校验操作时,所述第二FPGA5中的数据交互模块53通过内部的校验模块将接收到的数据与所述第二DDR3存储器7中对应地址的数据进行对比,其中所述第二DDR3存储器7中的数据为对所述第二FPGA5上电后自动读取第二FLASH存储器9中数据并写入所述第二DDR3存储器7所得到的。经对比,若比对数据相同,所述第二FPGA5中的数据交互模块53通过第二FPGA专用调试器3向所述计算机设备1返回比对成功标志;反之,会返回比对失败标志。

当所述第二FPGA5中的数据交互模块解析指令为接受存储操作,所述第二FPGA5中的数据交互模块53先将接收到的数据写入该数据交互模块53中的数据缓存FIFO,通过数据缓存FIFO将数据写入所述第二DDR3存储器中,若写入操作完成后,所述第二FPGA5中的数据交互模块53通过所述第二FPGA专用调试器3向所述计算机设备1返回写入完成标志;若写入操作出现错误,则返回写入错误标志。

如图3所述,在本发明的另一个实施例中,公开了一种基于FPGA的高速光纤传输系统,该系统包括:计算机设备、第一FPGA专用调试器、第一FPGA、第一FLASH存储器、第一DDR3存储器、第一光电转换模块、第二光电转换模块、光纤电缆、第二FPGA、第二FLASH存储器、第二DDR3存储器以及第二FPGA专用调试器,其中,第一FPGA响应于计算机设备的指令,将第一FLASH存储器中固化的数据写入第一DDR3存储器并通过第一FPGA专用调试器将写入完成标志回传给计算机设备;所述计算机设备响应于接收到的写入完成标志,通过所述第一FPGA专用调试器向所述第一FPGA发出传输开始指令;所述第一FPGA响应于所述计算机设备的传输开始指令,将所述第一DDR3存储器中的数据读入所述第一FPGA,并对读入的数据进行处理后发送给第一光电转换模块;所述第一光电转化模块将处理后数据由电信号转换成光信号后经光纤电缆发送至第二光电转换模块;所述第二光电转换模块将接收到的光信号转换为电信号后发送至第二FPGA;所述第二FPGA对接收到的电信号进行处理并响应于所述计算机设备的指令,对处理后的数据进行存储或与所述第二FPGA的第二DDR3存储器中的数据进行对比,向所述计算机设备返回标志。

如图2所示,在本实施例中的所述第一FPGA与所述第二FPGA具有相同的逻辑,内部结构分别包括FLASH读写模块、DDR读写模块、数据交互模块和光纤数据收发模块,其中,所述数据交互模块包括校验模块,所述FLASH读写模块,用于根据所述第一FPGA的指令对第一FLASH存储器进行数据的擦、写、读;所述DDR读写模块,用于根据所述第一FPGA的指令对第一DDR3存储器进行数据的读、写;所述数据交互模块,用于根据所述计算机设备的指令,实现所述第一FPGA内部各模块的交互;光纤数据收发模块,用于接收并处理所述数据交互模块的信息并向所述第一光电转换模块发送,或用于接收并处理所述第一光电转换模块的信息向所述数据交互模块发送。

基于上述系统及图2-3,对本发明公开的一种基于FPGA的高速光纤传输系统的实现与工作过程作进一步说明,具体的,在本实施例中所述系统包括:计算机设备1、第一FPGA专用调试器2、第二FPGA专用调试器3、第一FPGA4、第一FPGA的DDR读写模块41、第一FPGA的Flash读写模块42、第一FPGA的数据交互模块43、第一FPGA的光纤数据收发模44、第二FPGA5、第二FPGA的DDR读写模块51、第二FPGA的Flash读写模块52、第二FPGA的数据交互模块53、第二FPGA的光纤数据收发模块54、第一DDR3储存器6、第二DDR3储存器7、第一Flash储存器8、第二Flash储存器9、第一光电转换模块10、第二光电转换模块11和光纤电缆12。

所述计算机设备1通过所述第一FPGA专用调试器2与所述第一FPGA4相连接,通过所述第二FPGA专用调试器3与所述第二FPGA5相连接,所述第一FPGA 4分别与所述第一DDR3储存器6、所述第一Flash储存器8和所述第一光电转换模块10连接,所述第二FPGA 5分别与所述第二DDR3储存器7、所述第二Flash储存器9和所述第二光电转换模块11连接,所述第一光电转换模块10与所述第二光电转换模块11通过所述光纤电缆12连接。

由于第一FPGA4与第二FPGA5逻辑完全一样,下面以第一FPGA4作为发送端,第二FPGA5作为接收端来进行该系统的功能实现描述。

第一FPGA4上电后数据交互模块43通过Flash读写模块42自动读取Flash存储器8中数据,并通过DDR读写模块41将读取的数据写入DDR3储存器6中。读写完成后,等待计算机设备1下发指令,当第一FPGA4收到光纤发送操作指令时,数据交互模块43将DDR3储存器6中的数据读入数据交互模块43的数据缓存FIFO中,光纤数据收发模块44根据FIFO状态来读取数据。

光纤数据收发模块44读取完成后将得到的数据,经过缓存、串并转换、编码之后发送给第一光电转换模块10。第一光电转换模块10将电信号转换成光信号,通过光纤电缆12向第二光电转换模块11发送,发送数据率最高可到10Gpbs。

第二FPGA5上电后会自动读取第二Flash存储器9中数据并写入第二DDR3储存器7中。读写完成后,等待计算机设备1下发指令,第二FPGA5的数据交互模块53识别指令,按照指令对从光纤数据收发模块54接收到的数据做不同的操作处理。

处理过程包括:若第二FPGA5解析指令为接收校验操作指令,数据交互模块53将从光纤数据收发模块54接收到的数据同第二DDR3储存器7中对应地址的数据进行比对,若数据相同,则通过第二FPGA专用调试器3向计算机设备1返回比对成功标志;若数据不相同,则返回比对失败标志。

若第二FPGA解析指令为接收储存操作指令,数据交互模块53将从光纤数据收发模块54接收到的数据写入数据交互模块53的数据缓存FIFO,然后通过数据交互模块53的数据缓存FIFO将数据写入第二DDR3储存器7。写入完成后通过第二FPGA专用调试器3向计算机设备1返回写入完成标志,若写入错误则返回错误标志。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

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