一种基于FPGA的不同速率的接口转换方法技术

技术编号:29526212 阅读:50 留言:0更新日期:2021-08-03 15:12
本发明专利技术公开了一种基于FPGA的不同速率的接口转换方法,通过GTP的数据线和控制线将主通信板卡的数据发送给低速缓存高速发送转换模块,其中,所述数据包括数据流和控制信号;在接收到数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块;利用所述驱动发送模块将所述高速数据流转换成串行数据,并将所述串行数据转换成并行数据后发送至高速缓存低速发送转换模块;基于缓存发送方式将所述并行数据整合成所述低速数据流,并恢复出所述控制信号,然后将所述低速数据流和所述控制信号发送至从通信板卡,降低了不同速率接口转化所需要的FPGA的内存资源。

【技术实现步骤摘要】
一种基于FPGA的不同速率的接口转换方法
本专利技术涉及FPGA通信
,尤其涉及一种基于FPGA的不同速率的接口转换方法。
技术介绍
以卫星星座系统为重要组成部分的天地一体化信息网络,是支撑我国经济发展以及国防信息化建设的重要网络基础,已成为我国“新基建”的重要发展方向。星间通信需要高效且稳定的传输速率,保证卫星之间大带宽,高速率的数据传输,是天地一体化的重要基础。以北斗卫星为例,星际接口使用的通信芯片为TLK2711。芯片TLK2711具有自身的一套通信协议,与现在常用来处理高速数据的FPGA芯片内置的通信IP核GTP的通信协议并不相同。GTP是FPGA上的低功耗吉比特收发器。GTP的位数为8位,速率可以实现到1Git/s,TLK2711的位数为16位,速率可以达到1.6Gbit/s~2.5Gbit/s。对于不同位数、不同速率的接口转换在FPGA内部多使用的是“乒乓法”,在数据量很大的时候会占用大量的储存资源,但是FPGA内部的储存资源并不丰富,在数据量很大的时候可能导致FPGA内部的储存资源不够用的情况。
技术实现思路
本专利技术的目的在于提供一种基于FPGA的不同速率的接口转换方法,降低了不同速率接口转化所需要的FPGA的内存资源。为实现上述目的,本专利技术提供了一种基于FPGA的不同速率的接口转换方法,包括以下步骤:通过GTP的数据线和控制线将主通信板卡的数据流发送给低速缓存高速发送转换模块;在接收到所述数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块;利用所述驱动发送模块将所述高速数据流转换成串行数据,并将所述串行数据发送给接收恢复模块,通过所述接收恢复模块将所述串行数据转换成并行数据后发送至高速缓存低速发送转换模块;基于缓存发送方式将所述并行数据整合成所述低速数据流,并恢复出所述控制信号,然后将所述低速数据流和所述控制信号发送至从通信板卡。其中,在接收到数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块,包括:通过所述数据流上的帧头和帧尾与控制信号获取数据帧的位置,并读取所述数据帧的所述帧头、有效数据和帧尾;启动写入计数器对读取的数据帧内的数据进行计数同时拉高FIFO的写使能,将数据帧写入FIFO,当所述写入计数器计数满一帧后对缓存内帧数计数器的计数值进行修改,同时拉低FIFO的所述写使能,关闭写数据;当所述缓存内帧数计数器的所述计数值大于1时,拉高FIFO的读使能并启动读取计数器对读取的所述数据帧进行计数,直至一个所述数据帧读取完成;通过驱动控制线和驱动数据线将读取的所述数据帧传输至驱动发送模块。其中,当所述缓存内帧数计数器的所述计数值大于1时,拉高FIFO的读使能并启动读取计数器对读取的所述数据帧进行计数,直至一个所述数据帧读取完成之后,所述方法还包括:当一个所述数据帧读取完成之后,清空所述读取计数器,并且拉低FIFO的所述读使能,将所述缓存内帧数计数器的所述计数值减1,关闭读取数据。其中,利用所述驱动发送模块将所述高速数据流转换成串行数据,并将所述串行数据发送给接收恢复模块,通过所述接收恢复模块将所述串行数据转换成并行数据后发送至高速缓存低速发送转换模块,包括:利用所述驱动发送模块中的发送端接收所述高速数据流,并将所述高速数据流转换成串行数据发送给接收恢复模块;利用所述接收恢复模块将接收到的所述串行数据恢复成16位的并行数据,并发送给所述高速缓存低速发送转换模块。其中,基于缓存发送方式将所述并行数据整合成所述低速数据流,并恢复出所述控制信号,然后将所述低速数据流和所述控制信号发送至从通信板卡,包括:利用所述驱动发送模块中的使能控制线判断所述并行数据的帧头,并当获取到对应的所述帧头位置时,拉高FIFO的写使能;当所述高速缓存低速发送转换模块中的缓存内帧数计数器的计数值大于1时,拉高对应的读使能,同时启动读取计数器对读取的数据帧进行计数;当所述读取计数器记满一个所述数据帧后,将所述缓存内帧数计数器的所述计数值减1,清空所述读取计数器,同时拉低FIFO的读使能,并关闭读取数据;根据读取出的所述数据帧,并且通过对所述数据帧的数据进行计数,恢复出对应的所述控制信号,并将所述数据帧和所述控制信号发送至从通信板卡。其中,利用所述驱动发送模块中的使能控制线判断所述并行数据的帧头,并当获取到对应的所述帧头位置时,拉高对应的写使能之后,所述方法还包括:以位宽为16,频率为100MHZ的数据规格写入FIFO,同时启动对应的写入计数器,当所述写入计数器计数满一个所述数据帧,且所述写入计数器的计数值和约定的帧长度相同时,判断帧数据完整;将所述缓存内帧数计数器加1,同时拉低所述写使能,关闭写数据,完成一个数据帧的缓存流程。本专利技术的一种基于FPGA的不同速率的接口转换方法,通过GTP数据线和控制线将主通信板卡的数据发送给低速缓存高速发送转换模块,其中,所述数据包括数据流和控制信号;在接收到数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块;利用所述驱动发送模块将所述高速数据流转换成串行数据,将串行数据发送到接收恢复模块,接收恢复模块将所述串行数据转换成并行数据后发送至高速缓存低速发送转换模块;基于缓存发送方式将所述并行数据整合成所述低速数据流,并恢复出所述控制信号,然后将所述低速数据流和所述控制信号发送至从通信板卡,降低了不同速率接口转化所需要的FPGA的内存资源。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术提供的一种基于FPGA的不同速率的接口转换方法的步骤示意图。图2是本专利技术提供的一种基于FPGA的不同速率的接口转换方法的硬件框架图。图3是本专利技术提供的GTP改装TLK2711后的各模块之间的数据流。图4是本专利技术提供的低速存高速发送转换模块内部数据流向。图5是本专利技术提供的高速缓存低速发送转换模块内部数据流向。图6是本专利技术提供的writting_flag结构框图。图7是本专利技术提供的writting_flag写入与读取的状态机。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。请参阅图1至图3,本专利技术提供一种基于FPGA的不同速率的接口转换方法,包括以下步骤:S101、本文档来自技高网...

【技术保护点】
1.一种基于FPGA的不同速率的接口转换方法,其特征在于,包括以下步骤:/n通过GTP的数据线和控制线将主通信板卡的数据流发送给低速缓存高速发送转换模块;/n在接收到所述数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块;/n利用所述驱动发送模块将所述高速数据流转换成串行数据,并将所述串行数据发送给接收恢复模块,通过所述接收恢复模块将所述串行数据转换成并行数据后发送至高速缓存低速发送转换模块;/n基于缓存发送方式将所述并行数据整合成所述低速数据流,并恢复出所述控制信号,然后将所述低速数据流和所述控制信号发送至从通信板卡。/n

【技术特征摘要】
1.一种基于FPGA的不同速率的接口转换方法,其特征在于,包括以下步骤:
通过GTP的数据线和控制线将主通信板卡的数据流发送给低速缓存高速发送转换模块;
在接收到所述数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块;
利用所述驱动发送模块将所述高速数据流转换成串行数据,并将所述串行数据发送给接收恢复模块,通过所述接收恢复模块将所述串行数据转换成并行数据后发送至高速缓存低速发送转换模块;
基于缓存发送方式将所述并行数据整合成所述低速数据流,并恢复出所述控制信号,然后将所述低速数据流和所述控制信号发送至从通信板卡。


2.如权利要求1所述的基于FPGA的不同速率的接口转换方法,其特征在于,在接收到数据流和对应的控制信号后,基于缓存发送方式将接收到的低速数据流整合成高速数据流,并发送到驱动发送模块,包括:
通过所述数据流上的帧头和帧尾与控制信号获取数据帧的位置,并读取所述数据帧的所述帧头、有效数据和帧尾;
启动写入计数器对读取的数据帧内的数据进行计数同时拉高FIFO的写使能,将数据帧写入FIFO,当所述写入计数器计数满一帧后对缓存内帧数计数器的计数值进行修改,同时拉低FIFO的所述写使能,关闭写数据;
当所述缓存内帧数计数器的所述计数值大于1时,拉高FIFO的读使能并启动读取计数器对读取的所述数据帧进行计数,直至一个所述数据帧读取完成;
通过驱动控制线和驱动数据线将读取的所述数据帧传输至驱动发送模块。


3.如权利要求2所述的基于FPGA的不同速率的接口转换方法,其特征在于,当所述缓存内帧数计数器的所述计数值大于1时,拉高FIFO的读使能并启动读取计数器对读取的所述数据帧进行计数,直至一个所述数据帧读取完成之后,所述方法还包括:
当一个所述数据帧读取完成之后,清空所述读取计数器,并且拉低FIFO的所述读使能,将所述缓存内帧数计数器的所述计数值减1,关闭读取数据。

【专利技术属性】
技术研发人员:张向利蒋浩云王俊凯董国华
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西;45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1