4 主要模块逻辑实现
FPGA设计主要包括3个模块部分:A/D转换器控制模块、SRAM控制模块和计时器模块。系统工作过程为:触发信号触发后,FPGA控制A/D转换器开始采集,同时将A/D转换到的数据存储到SRAM中,200μs后FPGA控制A/D转换器停止采集,等待下一次触发信号的到来。
4.1 A/D转换器控制模块
AD7482的主要控制信号有:片选(CS)、读信号(RD)、启动转换(CONVST)、忙信号(BUSY)。其中,片选(CS)、读信号(RD)控制转换结果读取;启动转换(CONVST)控制启动转换过程;忙信号(BUSY)标志AD7482正处于转换过程。AD7482满额度工作时的转换时间(conversion time)为300 ns,其中,跟踪保持获取时间(track-and-hold acquisitiontime)为70 ns.转换结果存取时间为30 ns。实际应用中,2MSPS的采样频率就能满足系统的要求,CONVST控制转换开启关闭,CS和RD连接在一起控制转换结果的存取,编写VHDL程序,在QuartusII软件中仿真,仿真结果如图3所示。
图3中,convst跳转为低电平时,AD7482开始模数转换,rd跳转为低电平时,将转换的结果读取到SRAM中。
4.2 SRAM控制模块
A/D转换器每转换一次,FPGA控制A/D转换器将转换的结果读取存储到SRAM中。N08T1630ClBT的主要控制信号有:片选(CE)、写使能(WE)、输出使能(0E)、高字节使能(UB)、低字节使能(LB)。N08T1630C1BT的写时序为:确定地址=>拉低CE=>拉低WE一>将要写入的12位数据置于数据线上=>拉高wE。电路中将N08T1630C1BT的片选(CE)端和写使能(WE)端连接到一起,由FPGA发出的rd信号进行控制,即可完成A/D转换结果的数据存储,编写相应的VHDL程序,在QuartusII软件中仿真,仿真结果如图4所示:rd跳转为低电平时,数据写入SRAM,SRAM的地址位加一。
4.3 计时器模块
由于启动靶和终止靶之间的距离s是已知的,只要能测出子弹通过启动靶和终止靶之间的时间t,就可利用v=s/t测出子弹的速度。用VHDL语言编一以启动靶触发信号为启动信号和以终止靶触发信号为停止计数的计时器,便可得出子弹通过启动靶和终止靶之间的时间。计数器的编程很简单,在此就不再多作说明。
5 结论
通过对激光测速靶数据采集系统的改进,采用FPGA控制A/D转换器来完成数据采集,以代替现成的数据采集卡,具有电路简单、易于扩展、体积小等优点,大大降低了测速靶的成本,进一步增加了系统应用的灵活性。