作者: 时间:2007-10-15 来源: | |||||||
引 言 1 测量原理 时间间隔△t是通过计数的方式测量的,采用40 MHz的有源晶振作为计数脉冲源,计数的最小分辨率可达到O.25μs。测量原理如图2所示。 在图1中,当炮弹经过线圈A和B时将产生一定脉冲幅度的感应信号,并且这两个信号之间有一定的时间间隔。调理部分即是将感应信号整形为规则的方波,然后再输入到测速模块中去。测速模块在完成速度测量后将结果由USB接口传输到主控制台。由主控制台软件来进行显示和处理,如图3所示。 弹丸穿过感应线圈输出的信号为ys(t),信号幅度在150 mv左右。因为外界的干扰(如温度和电源的变化),即使没有弹丸穿过感应线圈,感应线圈上也有20 mV左右的随机信号输出.yn(t),即背景噪声。 感应线圈输出y(t)的表达式: 2.2 测速模块 CY7C68013芯片是Cypress Semiconductor公司推出的EZ-FX2系列高速USB2.0设备控制器,最高可支持480 Mbps(高速)操作。它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口(GPIF、FIFO、I2C)。在上电时,CY7C68013芯片可通过I2C接口从外挂E2PROM中读入固件程序,完成协议的自举过程。如图5所示,测量开始后,CY7C68013芯片在固件的控制下工作,当收到中断INT6,表示测量完成且转换为24位计数值,固件程序通过I2C接口读出24位计数值,即弹丸先后通过感应线圈靶的时间间隔(△t),然后通过USB接口上传给上位机。连发测量时重复上述过程,只是CY7C68013每读回一次数据都会把计数值清零,且允许下次计数。 软件设计分为芯片CY7C68013固件程序设计和上位机应用软件设计,其中主要为固件程序设计,程序流程如图6所示。固件程序的开发应用Keil C51来完成,并且利用Hex2bix.exe在Keil C51的强大编译环境下将HEX文件转换成I2C文件,然后用EZ-USB Control Panel将I2C文件下载到E2PROM(24LC64)。在程序编写中,先将端点2和4设为块输出,端点6和8设为块输入。 当一发炮弹射出后,炮弹经过前后线圈后产生一个计数值,利用I2C总线读出24位计数模块的数据,分高、中、低8位分别送回CY7C68013,然后通过USB 2.0传给上位机。 应用程序使用Visual C++6.0开发工具。测试炮弹速度时,先单击按钮"准备测试",然后打炮N发(N≤20),再单击"测试完成",炮弹速度就显示在左边文本框,从而实现单发或连发炮弹速度测量。新建MFC工程,在BOOL CUsbTestDlg::OnInitDialog()中打开USB设备,得到端点信息。 送控制信息给端点2,固件程序根据所送之数进行"准备测试"或"测试完成"操作。 结语 随着通用串行总线USB接口技术的发展,USB接口已被广泛应用于测试领域。本文介绍了一种应用USB接口技术,并结合大规模集成电路和电子设计自动化技术的炮速测量系统。该系统在炮速测量中具有很高的实用价值,在实际使用中表现出较高的灵活性和稳定性;加之优良的性价比,这种实现方法在测试领域有着较好的应用前景。 |
标签: USB接口 炮弹测速系统 激光测量 |
文章评论(0条评论)
登录后参与讨论