马小军 师艳侠
摘 要:针对脉冲量的测试问题给出了一种新颖、简单的信号采集方法,即采用通用的可编程器件8253制成了电路板,并采用了ISA总线,其能与IBM系列计算机连接,创新点在于电路的实现方法和可同时实现多路脉冲量信号的采集。
关键词:脉冲量;采集卡;光电耦合器;智能仪表
中图分类号:TP274.2 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.12.124
在实时控制、智能仪表、数据采集等计算机的应用领域中,计算机需要随时与外部世界频繁交换信息,这些信息都必须通过一定的接口与计算机通信。
通过对脉冲信号的计数即可完成数据采集。本文介绍了一种不带微处理器的脉冲量采集卡的设计原理和应用方式。该电路的特点是软、硬件接口电路简单,成本低,可靠性高,最高计数频率可达1 MHz。
1 硬件电路设计
脉冲量采集卡的电路包括光耦去抖电路、定时/计数电路、地址译码电路、总线驱动缓冲电路四部分,其原理如图1所示。
1.1 光耦去抖电路
设计电路时,应考虑使用隔离器件抑制各种干扰的影响,使电路具有较强的抗干扰能力和较高的可靠性。在本设计中,采用了4N25光电隔离器。图1中的U15-U25为隔离器,通过J1和J2输入信号至光敏二极管,并经内部高增益线性放大器将信号放大后,由集电极开路门输出信号。其输出从0至1几乎是跃变的。由于其输入电阻较低、分布电容较小,绝缘电阻可达1 010 Ω。在此情况下,内阻较大的干扰信号进入光电耦合器输入端时已经被抑制,加之发光二极管、光敏三极管的耦合作用,经过削减的干扰信号基本消失。此外,采用了PC系统的电源供电,消除了由于电源内阻压降而造成的相互干扰。如果能实现场地与仪器的相互隔离,则会使主机的运行更加可靠。
1.2 定时/计数电路
在图1中,U1~U4为可编程定时/计数器8253,每台8253配有3个相同的16位减法计数器,共有12个计数器。当微机将控制值和计数值写入8253后,开始对来自4069的脉冲计数。定时停止采集和读数有2种方式:①软件定时。由PC机发出命令对计数器中的内容锁存和读数。②硬件中断定时。利用U4向ISA总线第B30脚IRQ7发出中断命令,进而在中断处理程序中从计数器中采集数据。
1.3 地址译码电路
由地址线的A5~A8经过编码开关U18,并由74LS138译码器U12完成译码任务。在具体应用中,需要根据PC的I/O端口配置采集卡的地址,以免发生微机故障。
1.4 驱动缓冲电路
驱动缓冲电路采用74LS245双向总线驱动芯片,可增强总线的驱动能力。
2 软件设计
采集卡插在微机扩展槽中,会占用一个端口地址,可通过调用输入、输出函数实现数据的读写。将U4定时/计数器T1和T2作为定时器,T1的计数频率为14,318 MHz,T2的计数频率为65,536 kHz,精度较高。其他的8253可以对10路脉冲信号计数,最高计数频率可达1 MHz。计数时间可由定时器控制,一定时间内的脉冲数能反映信号的大小。计数时间可根据实际应用场合具体选定。在实际应用中,可根据需要选择通道数,最多可选择10个通道的脉冲信号。
3 脉冲采集卡的实际应用
对于脉冲采集卡在行走式液压支架实验台中的应用,会在支架行走、停止、升降时测试液压流量,并使用了涡轮流量传感器,流量信号经过霍尔元件输出脉冲数字量,输出的脉冲数与体积流量成正比。此外,还采用了单线连接进入采集卡的方式,可测量到主路的每秒流量和累加流量。部分例程如下:
…
#define AdressBase 0×300
void main()
{
for(i=0;i<5;i++)
{
gettime(&curttime); /*定时器开始 */
secstart=curtimie.ti_sec;
outportb(AdressBase+3,0×10);/* 8253初始化 */
outportb(AdressBase,20);
……
loop1: gettime(&surtime); /*采集一秒钟的脉冲量 */
second=curtime.ti_sec;
If((second-secstart)>=1)
{
outportb(AdressBase+3,0); /*采集结束 */
temp1=inportb(AdressBase);
count[i]=255-temp1; /*采集到的脉冲数量 */
…… /*数据处理 */
}
4 结束语
目前,脉冲采集卡已通过调试,测试效果良好,且已安装在工控机中;可以代替昂贵的商业板卡,已应用于脉冲量数据采集试验现场,比如应用于脉冲量的测量、开关量的输入/输出和定时中断等计算机测试系统中。
〔编辑:张思楠〕