高精度ISA总线测试板卡设计
扫描二维码
随时随地手机看文章
本文介绍了Windows 98环境下基于PC机工业控制器自动测试系统,着重论述了如何保证 自行设计的ISA总线测试板卡系统精度以及设计实现过程中的抗干扰、总线驱动等关键问题
1 概述
工业控制器作为工业监测控制的关键设备,其应用越来越广泛,然而其使用前的测试还 停留在人工测试阶段,采用人工测试存在测试时间长、不够精确等缺点。本文作者在Window s 98下开发的基于PC机工业控制器测试系统,实现了带RS232通讯接口工业控制器模拟量精度的自动校验和开关量信号的自动测试。该测试系统的开发为工业控制器的测试提供了一种快速、准确、可靠的自动测试工具。
2测试系统组成及原理
为使测试系统有良好的用户界面,缩短开发周期,测试系统采用了现成PC机加上自行设计 的ISA 总线I/O测试板卡的设计方案,其核心是一个基于ISA总线测试板卡的数据采集与控制 系统。测试系统由PC机主板、ISA总线测试板卡、鼠标、显示器、打印机和相应的测试软件 组成,参见图1,测试板卡信号输出端(AO,DO)和控制器的信号输入端(AI,DI)连接 ,测试板卡信号输入端(AI,DI)和控制器的信号输出端(AO,DO)连接,PC机的RS232串 口和被测控制器的RS232串口相连,形成若干闭环测试回路。
当测试控制器的AI通道时,通过测试板卡的AO通道向被测试控制器发出测试激励信号(给 定值),经D/A转换送到控制器AI通道,再进行A/D转换,所得实测值从串口返回PC机,和相应给定值进行比较,得出该测试点测量精度;控制器AO通道的测试是先通过串口发给定值到控制器模拟输出通道,通过测试板卡的AI通道采集实测值,计算该点测量精度。开关量的测试与之类似,将给定逻辑值和实测逻辑值进行比较即可。
3 测试板卡框图及简介
测试板卡框图见图2,测试板卡由模拟输入通道、模拟输出通道,开关量信号的 输入和输出以及接口电 路组成,模拟输入通道包括了模拟信号电流/电压转换电路、多路模 拟开关、A/D转换部分 ,模拟输出通道包括了多路D/A转换器、恒流源电路和输出信号转接电路。板卡共有8路模拟量输入、14路模拟量输出和8路开关量输入、输出,模拟量输入输 出信号为4~20 mA?电流,模拟量输入的测量精度为0.125 ‰,模拟量输出的测量精度为 0.5 ‰。开关量输入信号为无源触点或TTL电平输入,开关量输出信号为TTL电平输出,足以满足工业监控器的精度测试和电气连接要求。
4.系统精度
系统精度是指模拟输入、输出通道的精度,在设计中从7个方面进行了考虑。
(1)采用低温漂系数精密电阻取样
取样电阻将模拟量输入信号0-20mA变换成0-2V电平信号,选用0.2 ‰低温漂系数的精密电阻,以保证取样精度。
(2)模拟滤波
模拟量输入信号经RC低频、高频滤波,滤除高频噪声和低频噪声。
(3)采用41/2位双积分A/D转换器ICL7135[!--empirenews.page--]
双积分式A/D转换器测量的是输入电压在积分时间间隔内的平均值,能有效地抑 制工频干扰,其转换精度较高。
A/D芯片外围电路也是影响A/D转换精度的因素。为保证转换精度,除了采用高精度 基准参考源,其正负工作电源必须稳压;为减少ICL7135在积分转换阶段的非线性 ,A/D转换时钟频率应限制在166 kHz内,取信号积分周期为工作电源周期的整数倍。
(4)模拟量的输出传输采用电流形式
采用电流传输能消除传输电阻压降对精度的影响,且电流传输时两线间呈低阻,使外界干扰对传输线的作用减小。
(5)选用分辨率为13位的D/A转换器MAX547
MAX547为MAXIM公司的并行八通道电压输出D/A转换器,具有集成度高,满13位有效 、每路带双缓冲输入锁存器等特点。由于芯片D/A转换电路通过“?R-2R?”梯形网络实现 ,基准参考电压输入端的负载变化范围达10倍,需选择负载调整率小的基准参考源,为消除A/D、D/A?转换的互相影响,ICL7135和MAX547基准参考源分别进行了配置 。
(6)采用自行设计的高稳定性恒流源电路
恒流源电路如图3所示,前级电路将MAX547输出电压值+2?5 V转换成与后级电路输出电 流4-20 mA?成线性比例的电压值,且具备调零、调满量程功能。后级电路起信号转换、恒流驱动作用,即将前级输出电压变换成电流输出,并保证输出电流信号不随外加负 载改变而变化。为保证精度,恒流电阻R13选用了低温漂系数精密电阻。
(7)接地
为使数字电路中数字负载的噪声耦合到模拟电路的误差最小,将模拟地与数字地分开接,模拟地仅在一点和数字地相连,使得数字部分的电流不会流到模拟回路中去。
测试系统位于实验室环境中,且和被测控制器近距离连接,主要干扰源是电源系统。所采取的措施有:在每
4.3 I/O地址冲突的解决
测试板卡I/O端口编址方式为I/O端口单独编址,该方式下I/O端口地址与存储单元地 址 重叠,需用指令来区别是对存储器
存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。它根据控制器指定的位置存进和取出信息。
操作还是对I/O地址操作。因此,板卡的端口地址译码电 路应同时加I/O读(或I/O写)指令和表示DMA操作正在进行的AEN之反向信号来限定,当CPU 或DMA访问存储器时,端口地址译码电路的输出就不可能有效。
4.4 总线驱动
测试板卡板内总线驱动是必须的,在板内加双向数据总线驱动,既可避免发生数据总 线竞争,又能减轻系统总线负担。而板内地址可不加驱动,因为板内地址驱动为单向驱动, 地址信号对系统总线构成的负载不会造成系统工作不正常。
5 软件设计
测试系统在Window 98操作系统下开发,测试软件用基于控件对象可视化编程的Visua l Basic 6.0编制,测试数据存储管理选用了Microsoft Access 7.0 。整个系统具备自动、手动测试功能,自动测试方式自动完成被测控制器所有通道测试,手动测试方式测试任意单项、任意通道。可存储、显示、打印当前测试数据并查询历史测试数据。
软件设计实现中共设4个模块完成上述功能:
①I/O端口的初始化;
②数据采集模块;
③通讯模块;
④实时显示模块
用于显示数据的模块。
组电源输入端加入高、低频滤波,对每个芯片电源加对地滤波,大大地降低了各芯片间的串扰;板内电源线、地线加粗、地线敷铜,从而减少接地参考点随电流的变化。