0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AT89S51单片机实现多路信号源的系统设计

电子设计 来源:电子设计工程 作者:郝迎吉 , 王洪波 2020-08-18 09:25 次阅读

1 引言

随着测试设备的飞速发展,其性能状况越来越受到人们的重视,经过一段时间要对测试设备进行检测。主测试板作为测试设备上的重要部件,它的性能好坏起着重要作用。在对其进行性能测试时,由于没有专用的信号源,一般都是安装在设备上进行试验。这不仅费时费力,而且更重要的是增加了修理成本,因此,迫切需要专用的测试设备。本信号源就是针对这一问题而设计的。

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所示为系统硬件原理结构框图。

基于AT89S51单片机实现多路信号源的系统设计

系统工作过程:上位机发送控制字(包括信号通道选择和信号幅值大小)至下位机(单片机),下位机采集控制字后,由单片机程序实现所选信号通道以及信号幅值的大小。下位机产生信号后,通过串行总线将数据发送到上位机并显示在上位机相应的虚拟面板上。产生的信号通过板卡上的外接信号输出端口传输到测试设备相应的通道上,模拟传感器接收信号。如果测试设备接收后显示的信号与板卡输出的信号大小相一致,则认为测试设备性能良好。

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总线上数据的差动发送和接收功能。

作为上位机的PC通过其串行接口发送数据,产生RS-232电平信号,由电平转换电路将RS-232电平信号转换成单片机所能接受的TTL/CMOS电平信号,并传到协议转换单元的单片机,单片机将接收到的数据打包、转换后,通过CAN收发器发送至CAN总线。挂在CAN总线上的下位机节点收到数据后,根据控制命令做出相应动作。上位机与下位机通信示意图如图4所示。

4 系统软件设计

本系统软件设计分为两部分:上位机采用Lab-Windows/CVI为开发平台,下位机以g6E为平台,采用汇编语言编写。从功能上软件设计可分为:系统初始化程序、主程序、串口中断及定时器中断程序。双机通信协议约定如下:

aa+55+功能位+数据位+校验位

其中,前两个字节为前导码,第三个字节为控制命令,单片机根据此字节进行相应处理。第四个字节为具体控制数据,最后为校验数据。根据此协议,上位机每次发5个字节。下位机接收到有效的前导码后进行相应的动作。

5 结束语

本测试信号源已投入使用,系统运行可靠、性能稳定,体现了良好的实用性与较高的性价比,完全能够满足各种测试环境的要求。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48129

    浏览量

    740191
  • 单片机
    +关注

    关注

    6002

    文章

    43982

    浏览量

    620914
  • 放大电路
    +关注

    关注

    101

    文章

    1681

    浏览量

    105674
收藏 人收藏

    评论

    相关推荐

    基于AT89S51单片机的40个实验

    基于AT89S51单片机的40个实验
    发表于 07-31 21:51

    基于AT89S51单片机的数字温度测量及显示系统设计

    本帖最后由 eehome 于 2013-1-5 09:49 编辑 基于AT89S51单片机的数字温度测量及显示系统设计
    发表于 08-16 14:31

    基于AT89S51单片机的数字温度测量及显示系统设计

    基于AT89S51单片机的数字温度测量及显示系统设计
    发表于 08-16 16:46

    AT89S51单片机实验及实践教程

    AT89S51单片机实验及实践教程
    发表于 05-14 09:59

    AT89S51单片机

    AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用
    发表于 10-12 11:45

    AT89S51单片机如何实现按键识别

    1. 目标:每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。
    发表于 05-23 06:00

    基于AT89S51单片机和数字温度传感器DS18B20组成的多路温度检测系统

    提出了基于AT89S51单片机和数字温度传感器DS18B20组成的多路温度检测系统,介绍了主要元器件的工作原理,详细给出了硬件设计过程和软件程序流程图。此
    发表于 04-28 07:36

    AT89C51单片机 精选资料分享

    AT89C51单片机学习一、AT89S51单片机的I/O端口二、AT89S51单片机的中断
    发表于 07-13 06:51

    AT89S51单片机实验及实践教程

    技术拉幕式数码显示技术 1 1 1 1 实验任务实验任务 用 AT89S51 单片机的 P0 0 AD0 P0 7 AD7 端口接数码管的a h 端 8 位数码管的 S1 S8 通过
    发表于 07-15 07:50

    AT89S51系列单片机的硬件结构

    单片机双机通信,简易波形发生器,简易数字电压表,移动字幕的制作,校园打铃系统。2、课程的任务和要求本课程的主要任务是让学生熟悉AT89S51系列单片机的硬件结构,会使用常见的
    发表于 07-20 06:55

    AT89S51单片机的I/O端口的特点及使用注意事项有哪些

    AT89S51单片机的I/O端口的特点及使用注意事项有哪些?AT89S51单片机的中断系统的中断源是什么?
    发表于 08-04 07:09

    AT89S51/52单片机与AT89C51单片机的主要区别在哪

    AT89S51/52单片机与AT89C51单片机的引脚功能有何不同?AT89S51/52单片机
    发表于 11-09 06:42

    基于AT89S51单片机实现教室灯光智能控制系统的设计

    针对教室灯光的控制,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光智能控制系统的思路,并在此基础上开发了智能控制系统的硬件模块和相应软件部分。该
    发表于 09-20 06:06

    智能多路信号源的设计与实现

    针对某测试设备维护、性能测试中无专用信号源的情况,设计了基于单片机多路测试信号源。详细论述了系统的构成与工作原理,并重点说明了
    发表于 12-08 17:01 8次下载

    AT89C51单片机

    AT89C51单片机学习一、AT89S51单片机的I/O端口二、AT89S51单片机的中断
    发表于 11-12 12:21 60次下载
    AT<b class='flag-5'>89C51</b><b class='flag-5'>单片机</b>