基于fpga的多通道数据记录与回放方法_3

文档序号:9489399阅读:来源:国知局
试验数据将按照回放时间间隔一帧一帧地发送到显控设备。
[0086]本发明提供的基于FPGA的多通道数据记录与回放方法,还包括如下步骤:
[0087]-检测数据是否丢失;具体地,所述检测数据是否丢失的步骤,包括如下步骤:
[0088]-当数据源发送数据时,对数据加入了批次号,所述批次号用于对发送的帧数据进行计数;
[0089]-数据源接收回放的数据时将批次号暂存于寄存器中,并将接收到的相邻两帧数据的批次号相减,若检测到的值恒为1,则回放的数据没有发生丢失;否则数据丢失,回放的数据将不能完整复现在显控设备中。
[0090]在步骤2中通过提高所述数据选择器的处理时钟,根据每帧数据的同步头信息,将多通道的数据依次被数据记录仪记录形成单个任务。
[0091]步骤4,数据记录仪回放数据的方法。
[0092]通用数据记录仪的对外接口数据总线为16bit数据宽度,回放数据时,存储在数据记录仪硬盘任务中的数据将按照16bit数据总线的格式回放至记录仪接口板并写入FIFO中。开始回放时,记录仪接口板向数据记录仪发送请求振荡时钟,数据记录仪返回给记录仪接口板回放读时钟,其中回放读时钟频率与请求时钟频率一致,结合如图7所示的记录仪接口板回放接口时序图将单个任务里各个通道的数据回放至16bit数据宽度的数据总线并写入FIFO,同时用于缓存回放数据的FIFO将数据位宽转换成8位,等待通过光纤发送回数据源。回放操作时,每帧数据回放间隔时间与记录时数据传输速率保持一致。
[0093]步骤5,剥离“标记”回放数据的方法及回放过程的逻辑设计流程。
[0094]步骤6,回放间隔时间及数据丢失的检测方法。
[0095]实际应用中,通过记录仪接口板记录入数据记录仪并形成任务的的试验数据,在回放时需要满足回放间隔时间的要求,这样才能保证回放的数据准确无误,没有丢包的返回至数据源。
[0096]通过本发明提供的基于FPGA的多通道数据记录与回放方法在进行实际测试时,对两路数据源以50kHz频率发送的638个Byte的数据进行记录回放等操作,验证实测的数据传输结果与理论传输结果是否一致,具体如下:
[0097]利用本发明对同步工作的多通道数据进行记录时添加标记,回放时剥离标记的FPGA逻辑设计方法,针对两个数据源以50kHz频率发送的638个Byte的数据进行记录回放的操作,记录的数据形成单个任务,回放的数据没有丢失。FPGA选用的XILINX公司的V5系列XC5VLX30T-FFG323I,有323个引脚,有丰富的存储容量和逻辑单元,带有千兆网硬核控制器,通过Rocket1可实现千兆网的光纤传输。
[0098]按照图3流程,记录时,由记录仪接口板上FPGA控制光纤以太网接收两路数据源发送的数据,经过内部FIFO队列转换成16bit数据格式,设置数据选择器的时钟频率为100kHz,按照每帧数据的同步头信息将数据从FIFO中读出并送入数据记录仪的数据总线上,通过添加“标记”记录入数据记录仪中并形成单个任务;回放时,记录仪接口板上FPGA将数据记录仪16bit数据总线上的回放数据写入FIFO,转换成8位数据格式后,依次剥离每帧数据的标记,通过光纤以太网分别发还给两路数据源。本实施例中两路数据源发送数据频率为50kHz,发送一帧数据长度为638,两路数据吞吐率达到64.2MByte/s,数据记录仪吞吐率为 70MByte/s。
[0099]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
【主权项】
1.一种基于FPGA的多通道数据记录与回放方法,其特征在于,包括以下步骤: 步骤1:接收待记录数据,具体为,记录仪接口板上的FPGA接收数据源发送的数据包;步骤2:记录同步工作的多通道数据,具体为,从所述FPGA的FIFO队列中读取数据并送入数据记录仪的数据总线上,通过数据选择器进行数据的记录; 设每路通道数据的发送频率为f,则设置数据选择器的时钟为n Xf,η为通道数量;步骤3:添加标记记录数据,具体为,记录仪接口板将从FIFO队列中读出的数据添加标记,记录操作触发数据记录仪内部的记录写时钟,依次将各个通道的数据记录至数据记录仪的硬盘且形成单个任务; 步骤4,数据记录仪回放数据,具体为,将存储在数据记录仪硬盘的单个任务里各通道数据回放至记录仪接口板并写入FIFO队列中; 步骤5:根据回放间隔时间将剥离标记后的回放数据发送回数据源。2.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,所述步骤I包括如下步骤: 步骤101:记录仪接口板上的FPGA通过光纤以Sbit形式接收数据源发送的数据包,所述数据包包括数据传输的目的MAC地址、源MAC地址、实际数据帧长度以及数据源端发送数据; 步骤102:FPGA通过MAC传输的帧协议依次接收所述数据包的每个字节数据; 步骤103 =FPGA最大化的开辟若干FIFO队列,用以缓存所述数据包并将数据包中数据位宽转换成16bit。3.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,所述步骤3包括如下步骤: 步骤301:添加所述标记中的帧长度值,帧长度值用于记录一帧数据的总长度; 步骤302:添加所述标记中的通道号,通道号用于表示不同的物理通道上的数据; 步骤303:记录操作触发数据记录仪内部的记录写时钟,依次将各个通道的数据记录至数据记录仪的硬盘且形成单个任务。4.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,所述步骤4包括如下步骤: 步骤401:记录仪接口板向数据记录仪发送请求振荡时钟,数据记录仪返回给记录仪接口板回放读时钟,其中回放读时钟频率与请求时钟频率一致; 步骤402:记录仪接口板将单个任务里各个通道的数据回放至16bit数据宽度的数据总线并写入FIFO队列,并缓存回放数据的FIFO队列将数据位宽转换成8位; 步骤403:等待通过光纤将回放的数据发送回数据源。5.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,回放数据的标记剥离,具体为, -所述FPGA的光纤以太网MAC核在发送回放的数据时,判断完整一帧数据传输的控制信号,所述控制信号在发送完整一帧数据时一直保持低电平有效; -在所述FPGA的逻辑设计中,建立计数器,当计数器计数到需要剥离的标记的位置时,将控制完整一帧数据传输的控制信号拉为高电平,若干个时钟周期后恢复为低电平有效传输状态。6.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,所述回放间隔时间,具体为,根据光纤以太网发送时钟,相邻两帧数据的包头信息,得到所述回放间隔时间;所述回放间隔时间与所述数据源发送数据的频率一致。7.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,还包括如下步骤: 检测数据是否丢失; 具体地,所述检测数据是否丢失的步骤,包括如下步骤: -当数据源发送数据时,对数据加入了批次号,所述批次号用于对发送的帧数据进行计数; -数据源接收回放的数据时将批次号暂存于寄存器中,并将接收到的相邻两帧数据的批次号相减,若检测到的值恒为1,则认为回放的数据没有发生丢失;否则认为数据丢失。8.根据权利要求1所述的基于FPGA的多通道数据记录与回放方法,其特征在于,在步骤2中通过提高所述数据选择器的处理时钟,根据每帧数据的同步头信息,将多通道的数据依次被数据记录仪记录形成单个任务。
【专利摘要】本发明提供了一种基于FPGA的多通道数据记录与回放方法,通过设置数据选择器和添加或剥离标记的方法,可实现一次记录操作完成同步工作的多通道数据的记录功能;同时,一次记录形成的单个任务在回放操作时,数据可从相应通道回传且不发生丢包现象。本发明能够用于记录同步工作的多通道实时数据,需要时可随时回放数据重现试验情形。本发明能够有效管理和使用数据,同时一定程度上取代数据交换机的功能,简化系统设计,降低系统成本。
【IPC分类】G06F13/38
【公开号】CN105243037
【申请号】CN201510622304
【发明人】史磊, 任娟
【申请人】中国船舶重工集团公司第七二六研究所
【公开日】2016年1月13日
【申请日】2015年9月25日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1