2 系统硬件设计
系统硬件设计是整个系统的骨架,是数字电路设计的核心部件。所有程序代码都在FPGA内部运行,但是要使FPGA能够正常运作,需要架构一些基本的硬件支撑FPGA小型系统。
时间间隔测量系统的硬件设计主要包括:信号接口、电源、时钟等模块。
1)信号接口电路 信号接口电路主要用于接收外部输入信号并进行电平转换,以使协处理器得到稳定电平的信号,起到保护协处理器的作用,并起到外部电压波动的抗干扰作用。
2)电源 为使仪器直接与外部的市电220 V相接。这里外部电源采用开关电源220 V转换5 V,内部电源采用5 V转换3.3 V电源模块和5 V转换1.5 V电源。整个仪器的内部工作电压为5 V、3.3 V和1.5 V 3种电压模式。
3)时钟 时钟模块是协处理器够正常工作的保证,同时也是测量仪获取时间间隔的重要依据,本设计计数功能模块采用脉冲计数法来获取时间间隔,设计时需要考虑校准时钟,以便定期对时钟进行校准。
整个硬件电路原理设计如图2所示。
3 系统软件设计
测量模块内部需要的集成电路都是通过软件来实现,所以,先设计系统软件流程计。其软件设计包括:信号预处理、计数程序、总线控制器、锁存器等模块设计。
由于该系统软件设计的4大模块的设计过程类似,所以这里只介绍信号预处理模块的设计流程及其后面的功能实现及仿真。
由于时间间隔测量仪在实际使用中可能会受到各种干扰,在靶场实际应用中,经常会存在蚊虫干扰,冲击波干扰,细小物体和外界光线的干扰,因此,需要在时间间隔测量仪的前端做滤波程序,但由于器件自身的特性及环境的复杂性,实际应用中信号由光电靶传输到时间间隔测量仪会存在误跳变误触发现象,这种现象会导致时间间隔测量仪的误判及误测,针对这种异常现象,时间间隔测量仪可以模拟人的视觉来接收环境信息,并由神经冲动进行信息传递,采取神经网络感知识别措施非常必要,识别程序流程如图3所示。
启动时间间隔测量仪,感觉器等待信号的到来,如果有信号,立即进行感知判断,询问是否为信号l,如果为信号1,则判断是否启动计数,若计数程序正在执行上一次信号的工作,则不启动计数器,否则启动计数器并发出中断信号,发出开始信号,即使中断置为高电平,通知主控制器准备读取数据,开始置为高电平。如果不是信号l,也就是当信号2到来时,则判断是否停止计数器,如果信号2到来前未收到信号l,则感知程序可认为此时的信号2为无用信号,直接丢弃。如果信号2到来前已收到信号l,并已在计数,但若小于预设的闸门关闭时间,则不关闭闸门,即中断保持高电平不变,停止信号保持低电平。等待计数程序(计数模块)结束发出复位信号,否则发出停止信号,即使停止置为高,计数器停止计数。若计数程序结束,则发出巾断信号,使中断置为低电平,进入下一步丁作。