《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 多路高精度模拟量采集电路的软硬件设计与实现
多路高精度模拟量采集电路的软硬件设计与实现
2014年微型机与应用第21期
崔艳召,何 欣,杜以强
(北京空间机电研究所,北京 100076)
摘要: 介绍了基于CAN总线通信协议的多路高精度模拟量采集电路的软硬件设计与实现。采用了A/D转换芯片AD1674,通过软件分时的方法采集24路12位模拟量信号,特别适用于航天器地面测试;同时模拟量采集电路使用了CAN总线通信方式,实现了采集卡的灵活控制和数据交换。软件采用了C语言编写,提高了开发的效率
Abstract:
Key words :

  摘 要: 介绍了基于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)和模拟量开关电路。如图1所示。

001.jpg

  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外围电路如图2所示。

002.jpg

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

  JG7SLJH@5(}RR51DOVE1I_R.png

  选取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位两次读出,如图3连接,当A0=0时,高8位数据输出;当A0=1时,低4位输出[4]。

003.jpg

  1.3 CAN总线的电路设计

  模拟量采集的数据是靠CAN总线传输给上位机的,CAN总线最初由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信。能适应工业现场恶劣的环境。

  CAN总线协议芯片选用PHILIPS公司的SJA1000,该协议芯片为符合CAN2.0B协议的总线控制器,它是应用于汽车和一般工业环境的独立CAN总线控制器(具有完成CAN通信协议所要求的全部特性)。经过简单总线连接的SJA1000可完成CAN总线的物理层和数据链路层的所有功能。其硬件与软件设计可兼容基本CAN模式(BasicCAN)和新增加的增强CAN模式(PeliCAN)CAN2.0B协议。本电路设计中选用CAN总线的BasicCAN模式,波特率设置为125 kb/s,CAN总线收发芯片选用的是带光耦隔离的CTM1050T,最大程度降低传输线上的干扰,提高数据传输的可靠性[5]。SJA1000电路连接图如图4所示。

004.jpg

  1.4 硬件滤波设计

  在24路模拟量通道的每一个通道的正、负线输入端之间都加上了RC滤波网络。选用R=1 kΩ,C=0.1 μF,有效地抑制尖峰脉冲及部分噪声的干扰,从而使通道的信噪比大大提高。对数字地和模拟地在适当的位置短接,可以有效防止地线干扰,保证采集电路正常工作。

2 软件设计

  在模拟量遥测电路的软件设计中,最重要的部分为模拟量数据采集模块和模拟量数据上传模块。其他程序均为处理器最小系统初始化的常用指令。

  模拟量遥测电路的软件流程图如图5所示。

  程序开始先初始化单片机最小系统,初始化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总线传输的模拟电路的设计,对其硬件和软件的设计作了较为详细的阐述,其测试验证结果也符合预期。通过自主研发,整体提升了地面测试平台的性能和测试精度,提高了对航天器有效载荷进行地面测试的有效性。

参考文献

  [1] 王毅峰, 李令奇. SJA1000在数据采集与控制系统中的应用[J]. 微计算机信息, 2001,17(4):16-18.

  [2] 刘暾东, 柳小鹏, 余齐齐. 高精度模拟量采集卡的设计与实现[J]. 计算机测量与控制, 2006,14(11):1575-1577.

  [3] 王彪. A/D转换技术及其在电力生产中的应用[J]. 合肥联合大学学报, 2002,12(3):107-112.

  [4] 李相国. 遥测离散量与模拟量数据综合监控系统[J]. 测控技术, 2011,30(增刊):142-144.

  [5] 郝迎吉, 杨华平, 文微. 基于C8051F350的带有数据变送器功能的高精度数据采集系统[J]. 仪表技术与传感器, 2007(2):58-62.

  [6] 聂浩, 许敬旺, 康晓军, 等. IEEE1394总线接口设计[J]. 航天返回与遥感, 2011,32(4):59-67.

  [7] 童诗白, 华成英. 模拟电子技术基础[M]. 北京:高等教育出版社, 2001.

  [8] 邬宽明. CAN总线原理和应用系统设计[M]. 北京:北京航空航天大学出版社, 2001.


此内容为AET网站原创,未经授权禁止转载。