多路高精度模拟量采集电路的软硬件设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多路高精度模拟量采集电路的软硬件设计与实现

摘 要: 介绍了基于CAN总线通信协议的多路高精度模拟量采集电路的软硬件设计与实现。采用了A/D转换芯片AD1674,通过软件分时的方法采集24路12位模拟量信号,特别适用于航天器地面测试;同时模拟量采集电路使用了CAN总线通信方式,实现了采集卡的灵活控制和数据交换。软件采用了C语言编写,提高了开发的效率。
关键词: 单片机;模拟量采集;CAN总线;AD1674
0 引言
数据采集技术是电子学科的重要分支,是传感器、信号获取、存储与处理等相关技术结合的产物。随着我国工业水平的提高,现场的数据采集显得越来越重要,许多被测参数,如温度、流量、压力、液位、速度等都是连续变化的模拟量,对其测量精度、采集速度、数据稳定性和远程通信质量的要求也越来越高。一个良好的数据采集卡能够在复杂环境下为数据采集带来很多便利。同样,在航天领域,模拟整星环境对航天器有效载荷输出的模拟量进行实时采集,是航天器地面检测中的一项重要任务。
本采集卡采用12位的A/D转换芯片AD1674,可以满足一些对采集精度要求较高的场合。在通信方面,本采集卡使用CAN总线进行采集数据的传输,CAN控制器选用SJA1000[1]。CAN总线具有良好的抗干扰能力,能够满足工业现场的需求,而且应用成本较低,该总线应用广泛,简单方便,能很好地实现系统的集散控制。本文分别从硬件和软件两方面对系统设计进行详细的介绍。硬件方面对主要芯片的应用电路和抗干扰措施作简单介绍;软件方面则重点介绍模拟量数据采集模块和模拟量数据上传模块。
1 系统硬件设计和抗干扰措施
本模拟量采集卡为24路12位模拟量采集系统,使用基于SJA1000的CAN总线通信方式,可以通过拨码开关来选择本卡地址,采集通道的选择是通过软件控制模拟开关完成的[2]。
本文设计的模拟量遥测电路有4部分组成:CAN总线接口协议电路、单片机AT89C51电路、模拟量采集电路(芯片为AD1674)和模拟量开关电路。。

5位拨码开关设定电路板的板号,软件设定相应的通信协议。单片机通过CAN总线将模拟量采集数据传送给上位机做处理。模拟量通过模拟开关AD7501选择24路模拟量中的一路,两片AD7501完成8路模拟量的差分输入,共需6片AD7501。模拟量经过放大器AD620缓冲放大后再输入到模拟量采集芯片AD1674[3]。
1.1 仪表放大器AD620的电路设计
AD620是一种只用一个外部电阻就能设置放大倍数为0~1 000的低功耗、高精度仪表放大器。它体积小,采用8管脚的SOIC或DIP封装;供电电源范围为±2.3 V~±18 V;最

大供电电流仅为1.3 mA。本电路设计采用±12 V电源供电,设计为2倍放大倍数。AD620外围电路。

AD620仪表放大器电路的放大倍数与电阻值的关系如下:

选取RG=49.4 Ω的精密电阻,放大器放大倍数G=2。输入0~5 V的模拟量,对应输出为0~10 V。
1.2 模拟量/数字量转换芯片AD1674的电路设计
AD1674是一种12位带并行微机接口的逐次逼近型模/数转换芯片。该芯片内部自带采样保持器(SHA)、10 V基准电压源、时钟源以及可与微处理器总线直接接口的暂存/三态输出缓冲器。其基本特点和参数如下:
转换时间为10 μs;非线性误差为±1/2 LSB;满量程校准误差为0.125%;内有+10 V基准电源;单极或双极电压输入范围为0 V~ 10 V,0 V~20 V,±5 V,±10 V;利用不同的控制信号可实现8位或12位转换,转换后的数据有两种读出方式:12位一次输出和8位、4位分两次输出。设有三态输出缓冲器,可直接与8位或16位的微处理器接口;采用双电源供电:模拟部分为±12 V/±15 V,数字部分为+5 V。
本电路选择AD1674的工作方式为:单极性0 V~10 V输入;数据读出方式为8位、4位两次读出,。

1.4 硬件滤波设计
在24路模拟量通道的每一个通道的正、负线输入端之间都加上了RC滤波网络。选用R=1 kΩ,C=0.1 μF,有效地抑制尖峰脉冲及部分噪声的干扰,从而使通道的信噪比大大提高。对数字地和模拟地在适当的位置短接,可以有效防止地线干扰,保证采集电路正常工作。
2 软件设计
在模拟量遥测电路的软件设计中,最重要的部分为模拟量数据采集模块和模拟量数据上传模块。其他程序均为处理器最小系统初始化的常用指令。
模拟量遥测电路的软件流程图。
程序开始先初始化单片机最小系统,初始化CAN总线控制器SJA1000,然后开外中断INT0,之后程序进入循环采集24路通道模拟量的过程中,等待外中断的来临,通过CAN总线发送模拟量采集数据。
2.1 模拟量数据采集模块
在A/D采集过程中,运用了软件滤波方式以提高模拟量信号的采集精度。具体方法如下:每次选通一个通道时,先软件延时2 ms,等信号稳定后,开通AD1674以查询的方式开始读取采集数据,连续采集10次,去掉最大值和最小值后,取平均值,然后再关掉此通道,开下一个通道,依次类推,24路通道循环采集。这样可最大限度地消除电路板本身由电路干扰带来的影响[6-7]。
2.2 模拟量数据上传模块
利用CAN总线通信协议进行数据的传输操作,电路上电后,对SJA1000进行初始化,数据传输波特率为125 kb/s,用中断方式,每接收到上位机一帧数据传送请求信息,就引发一次

微处理器中断,在中断服务程序中读取该组帧信息并传送到上位机界面[8]。
3 验证结果
此模拟量遥测电路板已经做过全面的测试,测试结果表明:采集模拟量数据的精度可以达到±0.02 V,符合航天器有效载荷对测试设备的要求。目前,此电路板已经批量地应用在地面测试设备中,大大地提高了测试效率和测试精度。
4 结束语
本文介绍了基于AD1674转换芯片和CAN总线传输的模拟电路的设计,对其硬件和软件的设计作了较为详细的阐述,其测试验证结果也符合预期。通过自主研发,整体提升了地面测试平台的性能和测试精度,提高了对航天器有效载荷进行地面测试的有效性。

相关文档
最新文档