信号触发模块工作流程是在触发信号trig上升沿到来时打开触发器,以等待两路待测信号上升沿到来;当任意一路信号(假设第一路信号signall先到来)的上升沿到来后,将该路计数允许与门打开,并将参考时钟传递给下一级(即比较模块),然后将该路触发器关闭,同时打开第二路信号的关断触发器。因此,当第一路信号signall的高电平过去后,随着第二路信号signal2上升沿的到来,系统将关断第一路计数允许与门,停止计数,同时打开第二路计数允许与门,开始第二路信号的高电平宽度测量。第二路测量原理同第一路,最后再输出两路信号高电平宽度测量完成信号。由于触发器的关断,每次触发仅将一个振动周期内的两路信号的高电平宽度转换为参考时钟个数,从而保证了计数的准确性。
2.3 信号比较模块
信号比较模块的作用是判定台面是处于静态还是动态,以便根据相应的计数值来输出控制字。当台面处于振动时可以通过信号触发模块来比较两路信号的高电平宽度,但是,当台面处于静止状态时,光纤就没有脉冲信号输出,也就没有上升沿允许计数,计数值也就为零。因此,可以在下一次触发信号trig到来前一个参考时钟时设计一个预读信号read,并用它的高电平来取出计数值。如果两个计数器均为零,那么台面处于静止,此时可根据两个光纤的高低电平来判断台面高度是否合适。反之,如果不为零,则通过两路高电平宽度测量完成信号状态及计数值来判定控制状态字。其关键代码如下:
2.4 输出模块
在预读信号read到来前一个参考时钟时,通过锁存信号lock可将比较模块输出的继电器控制状态字锁存,然后通过3-8译码器得到需要控制输出的继电器动作信号,以保持电磁阀到下一次比较模块输出不同的继电器控制状态字时再动作。其中,out3[1]为高电平时,继电器控制充气电磁阀动作,out3[2]为高电平时,继电器控制放气电磁阀动作。其电路图如图4所示。