摘要:本文给出基于8098单片机的脉冲测量仪的硬件、软件及抗干扰措施。实际使用证明该测量仪稳定、可靠、精度高、测量速度快。
1、测量原理
8098单片机具有性能十分优良的高速输入输出通道,hso0~hso5为高速输出通道,能产生输出宽度与周期均可调的脉冲波(pwm)。hsi0~hsi3为高速输入通道,cpu通过它们可以同时接受来自外部的4个脉冲信号,并且随时记录脉冲信号中的高、低电平出现的时间,非常适用于对脉冲参数的检测。
以高速输入通道hsi为例,hsi部件有自己的中断功能,当控制寄存器ioc1,7=1时,fifo存储区装满事件后发出中断请求,如果ioc1,7=0,则保持寄存器在装入事件后发出中断请求,两种原因引起的中断请求可通过查询状态寄存器ios1而鉴别:如果fifo存储区满时,ios1,6=1,反之,ios1,6=0;如果保持寄存器内有值时,ios1,7=1,反之,ios1,7=0。同时,hsi0也有自己的中断,只要hsi0引脚上有事件发生,便可以提出中断请求。hsi有方式寄存器hsimode、状态寄存器hsistatus和时间寄存器hsitime。hsi的方式寄存器hsimode可以规定每个通道的四种工作方式如下:
①方式0:每8次正跳变后即触发;②方式1:每次正跳变时即触发;③方式2:每次负跳变时即触发;④方式3:每次跳变(正或负)时即触发。
跳变检测器按hsimode寄存器规定的工作方式对hsi0~hsi3共4个通道的输入信号进行监视与检测,并将有关引脚电平状态的检测结果送状态寄存器hsistatus,同时还将有关事件是否发生的信息送入fifo单元。时间寄存器hsitime的内容为事件发生时记录下来的定时器t1的当前值。
1.1硬件电路
图1是由8098单片机组成的脉冲测量仪的电路原理图。脉冲测量的结果由8个数码管显示,左边4个用于脉冲宽度(μs)的显示,右边4个用于脉冲周期(μs)的显示。
脉冲测量仪的输入端,即单片机的hsi0引脚与脉冲信号发生器的输出端(vout)连接,单片机的vss与脉冲信号发生器的gnd相连。
1.2软件设计
整个软件由两大部分组成:主程序和hsi位0中断服务程序。主程序如下:
hsi位0中断服务程序的框图如图2所示。
系统中有一个16位的看门狗(wdt)硬件定时电路,当系统复位时,wdt停止工作,可在软件中设定wdt清零指令,当软件运行时即起动wdt,如果软件有故障时,会造成wdt溢出而复位,从而防止程序跑飞。另外,单片机的电源采用了隔离变压器和低通滤波网络。在单片机的复位电路中,为防止毛刺和杂波的干扰,在其reset引脚与地之间,接入了一个提高抗*力的容值很小的电容。同时,8098单片机为提高供电的可靠性,其vpd还单独接到一个+5v的电池上,一旦+vcc消失时,可以起到掉电保护的作用。
本系统经过使用,具有稳定、可靠、精度高、测量速度快等特点。在硬件上不需作改变,只是将脉冲发生器的输出vout同时接到单片机的hsi0和hsi1,再运行相应的程序即可对连续发生的两个事件在时间间隔(如窄脉冲)很短时的连续脉冲使用多通道法进行测量。