首页 > 文章中心 > 正文

石油勘探拖缆仿真系统的设计

石油勘探拖缆仿真系统的设计

逻辑实现

主FPGA逻辑实现

主FPGA逻辑设计主要包括2个方面:其一是驱动CPCI接口芯片,上传被测试系统(由从FPGA转发的)发送的命令以及接收从CPCI接口下发的模拟器配置命令;其二是与从FP-GA通信接口的设计。被测试系统发送给从FPGA的每条命令由2个字节表示:命令号和命令参数。由于主FP-GA需要收集4路通道(即2片从FPGA模拟的4条拖缆)的命令提供给零槽软件进行显示,这就需要有一种机制可以区分当前显示的命令是由哪个通道发送的。主FPGA逻辑设计采用添加通道号头部的方式进行命令区分,即将原先的每条命令2个字节扩展为3个字节,在原始命令号和命令参数之前加上一个通道号。主FPGA逻辑框图如图2所示。

从FPGA逻辑实现

单板拖缆模拟器设计中使用了2片从FP-GA进行数据模拟,每片从FPGA负责2条拖缆数据的模拟任务。从FPGA逻辑需要完成命令接收(从被测试系统)、命令转发(给主FPGA)、命令解析、根据命令产生所需求波形的原始模拟数据、原始模拟数据的后处理(幅度缩放,加入噪声等)、模拟数据发送接口芯片的驱动等功能。基于以上设计要求,在具体实现中从FP-GA在功能上被划分为命令接收接口模块、命令解析模块、模拟数据产生模块、数据发送接口模块、主FPGA通信接口模块。各模块之间的交互关系如图3所示。设计中对于不同时钟域的数据交互采用FIFO进行隔离。命令接收接口模块和数据发送接口模块负责光电接收和发送芯片的驱动。主FPGA通信接口模块负责将从被测试系统接收的命令转发给主FPGA,同时从主FPGA接收零槽软件配置的控制参数。主从FPGA通信接口的设计采用了同步方式,由主FPGA统一提供主从通信接口模块的工作时钟。数据位宽设计为8bit(FPGA可用管脚数资源限制),即每个时钟沿可以传输8bit数据。命令解析模块负责解析从两个方向到达的命令:被测试系统发送的命令和零槽软件配置的控制参数。每条命令由2个字节组成:命令号和命令参数。命令解析模块每次以2个字节为单位从命令FIFO中读取命令,并进行解析,解析完成后,将命令按内部默认协议格式写入模拟数据产生模块,从而对数据模拟行为(如波形类型,幅度变换率等)进行控制。数据模拟模块是整个系统设计中的核心模块,完成大容量数据模拟的工作。该模块根据配置参数按要求产生原始波形,对波形进行后处理,按被测试系统协议格式将波形数据组成一个带发送的帧,最后将数据帧写入数据FIFO中,由发送接口驱动模块将数据通过光或电接口发送给被测试系统。诚如上文所述,数据模拟模块原始波形的生成采用了ROM预存原始波形的设计方式。基于此设计方式,从FPGA逻辑设计中数据模拟模块及其相关部分的详细设计结构如图4所示。数据帧合成子模块实际上是整个数据模拟模块的控制模块,其根据配置参数读取状态表、原始波形表,控制进行幅度缩放、噪声叠加,最后根据被测试系统协议格式完成数据帧的构建。数据帧后处理子模块则根据出错模式参数对合成后数据帧进行微调,如在数据帧中删减一个字节或改变帧中某个控制字节值等。

仿真结果

系统仿真是验证系统设计是否正确的重要环节,也是对设计中可能存在的问题的检测。本系统仿真的目的主要有如下2条:其一是检测系统在极端和异常条件下(如配置的数字包个数超过系统的允许范围)的工作状态;其二,由于系统本身的作用是验证另1个系统的工作情况,所以必须首先保证本系统自身的正确性,故仿真目的之二就是对系统自身的设计正确性进行验证。基于以上设计思想实现后的整个模拟器系统的仿真结果(部分图示)如图5,6所示。图5仿真中,模拟器系统被配置为产生一个正弦波。将产生的模拟数据字节按被测试系统要求格式组合成点序列,并将Modelsim显示方式设置为模拟波形方式,可直接查看模拟系统产生的输出波形。从图中可以看到逻辑产生了比较完美的正弦波形。图6所示仿真中,模拟系统被配置为产生初至波,即预存的从前海试中实际采集得到的波形数据,从仿真得到的结果图形看,与实际波形完全一致!系统仿真结果表示本文所阐述的设计思想以及在此基础上的实现是正确的及可行的。经过与被测试系统的实际联合调试,基于以上设计思想的模拟器实现成功地满足了系统要求:1ms采样率,4s采样长度,模拟12000m拖缆长度,5s内上传完配置的波形数据;且模拟器系统兼容了实际拖缆工作中的所有命令并对其进行了正确响应。

本文作者:曹桂平1,2宋克柱1,2杨俊峰1,2王砚方1,2作者单位:1中国科学院核探测技术和核电子学重点实验室2中国科技大学近代物理系快电子实验室