基于单片机设计的智能多路信号源
随着测试设备的飞速发展,其性能状况越来越受到人们的重视,经过一段时间要对测试设备进行检测。主测试板作为测试设备上的重要部件,它的性能好坏起着重要作用。在对其进行性能测试时,由于没有专用的信号源,一般都是安装在设备上进行试验。这不仅费时费力,而且更重要的是增加了修理成本,因此,迫切需要专用的测试设备。本信号源就是针对这一问题而设计的。
2 信号源的设计要求
根据对多数测试设备修理试验工艺的分析,该信号源具体要求如下:
四路电压信号:一路电压范围为-25 V~25 V的直流信号源,精度要求为:0 V~1 V的误差为±0.1V,1 V~25 V的误差为±0.05 V,-25 V~0 V的误差为±0.15 V;其中一路产生幅值为0 V~25 V的方波,幅值误差为±0.2 V,频率误差为1 Hz;
一路电压范围为-100 mV~100 mV的直流信号源,要求误差为±0.5 mV;
一路电压范围为-0.5 V~0.5 V的直流信号源,要求误差为±0.005 V;
一路电压范围为0 V~5 V的直流信号源,要求误差为0.01 V。
四路模拟温度信号。
3 系统硬件设计
3.1 信号源硬件设计及工作过程
本系统的硬件部分以Atmel公司的AT89S51单片机为核心,其外围电路主要包括:D/A转换电路、电压转换电路、运算放大电路、集电器模拟温度电路、通信接口电路以及看门狗复位电路。其核心部分是D/A转换电路和运算放大电路,其他电路都是围绕D/A转换功能完善系统、保证程序正常运行而设计的。通信接口电路实现上位机与下位机的数据通信;集电器模拟温度电路实现四路温度的模拟;看门狗复位电路监控程序的运行状态,在死机或“程序走飞”时可使系统自动恢复到正常工作状态。图1所示为系统硬件原理结构框图。
系统工作过程:上位机发送控制字(包括信号通道选择和信号幅值大小)至下位机(单片机),下位机采集控制字后,由单片机程序实现所选信号通道以及信号幅值的大小。下位机产生信号后,通过串行总线将数据发送到上位机并显示在上位机相应的虚拟面板上。产生的信号通过板卡上的外接信号输出端口传输到测试设备相应的通道上,模拟传感器接收信号。如果测试设备接收后显示的信号与板卡输出的信号大小相一致,则认为测试设备性能良好。
3.2 D/A转换电路和运算放大电路
D/A转换电路采用美国德州仪器公司生产的TLC5620。它是一款带有串行控制的4路8位电压输出数/模转换器(DAC)。每一路均具有两级缓冲器(输入锁存器(Latch)和DAC锁存器)、一个输出增益开关,一个8位DAC电路以及一个电压输出电路。TLC5620的编程可通过对串行控制字中的RNG位置1或清零来实现,其输出电压的最大值可以是外部参考电压的1~2倍。其输入/输出电路均为射极跟随器。
通过简单的3线串行总线可对TLC5620进行控制,其11位的命令字由8位数据位、2位DAC选择位以及1位RNG位组成。DAC寄存器是双缓冲的,将完整的新数值写入器件,然后DAC输出通过LDAC端的控制同时更新。数字输出端带有施密特触发器,因此,该电路具有较高的噪声抑制性能。
TLC5620采用4个电阻串(resistor-string)来实现D/A转换。每一个DAC的核心是一个带有256抽头的单电阻,它们对应于0~255的数字代码。每个电阻串的一端连接到GND,另一端由基准输入缓冲器的输出馈电。通过使用电阻串保持单调性,线性度取决于电阻元件的一致性和输出缓冲器的性能。由于输入端经过缓冲,所以DAC对于基准源总是呈现为高阻状态。
每一个DAC的输出由一个可控增益放大器缓冲,它可以被配置为×1或×2的增益。上电时,DAC被复位为全“0”。每一路的输出电压可由下式给出:
V0(DACA~DACD)=REF×(CODE/255)×(1+RNG)
其中,CODE的范围为0~255。RNG位是串行控制字内的0或1。
四路+25 V模拟信号采用宽电压输出的运算放大器OPA551。该运算放大器可输出±30 v电压,电流最大值200 mA,可满足本系统要求。其余采用LM324,以节约成本。方波信号采用定时器的溢出中断来产生。四路温度的模拟采用数字电位器和继电器实现。调节电位器阻值大小实现温度变化,由继电器的动作切换开闭温度的模拟。D/A与运算放大器电路如图2所示。
3.3 系统通信模块设计
通信模块采用CAN总线和RS-232总线模块实现,其电路图如图3所示。
RS-232电平转换器可以将输入的±5 V电源电压转换为RS-232输出电平所需的±10 V电压。CAN收发器选用PCA82C250。PCA82C250是CAN控制器与物理总线之间的接口,可提供对CAN总线上数据的差动发送和接收功能。
作
串行接口多路信号源单片 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)