引言
数据采集是现代电子系统中不可缺少的重要组成部分,在测量、制造、自动控制等场合都需要高质量的信号采集环节,由于ADC技术和微控制器技术的相对成熟,基于PCI,ISA等接口的数据采集卡被广泛地应用在众多科研和工控领域。在测试技术日益变革的今天,测试任务更加复杂多变,需要采集和处理的信息量更加冗长,同时要求测试环节与计算机的接口更加无缝化和标准化,基于虚拟仪器技术 (Virtual Instruments)和高速USB 2.0接口的数据采集有着更为广泛的应用前景和市场,是当前测试技术研究的热点之一。
以运算速度更快,位数更宽,资源更为丰富的ARM处理器作为控制核心,配合USB 2.0数据传输和灵活的上位机软件,新一代的数据采集卡已经不再局限于单一的板卡形式,可以通过连接线独立于计算机之外,根据测试任务的需求,满足高精度、高速率、多功能的测试指标。同时由于采用了高性能的ARM处理器,控制程序容量加大,方便实现数据采集的独立化、智能化、多样化,摆脱数据采集系统对上位机运算能力的依赖,从而开发出全新的智能数据采集卡。
1 系统原理及框图
整个系统的组成框图如图1所示。被测电压信号经过前置调理送到AD7685进行采样,由 Atmega48的SPI驱动AD7685,采集到的双字节(16 b)数据由Atmega48并口,分两次传送给ARM ADuC7026核心。当数据采集卡工作于联机状态时,由PC上位机软件设置采样频率和通道工作模式,经过处理通过USB控制芯片CH375送数据到PC端;当数据采集卡工作于离线模式时,无需PC上位机干预,数据采集卡按照预先设定的采样频率和工作模式进行采样。并将采样数据通过USB控制芯片CH375送数据到U盘端。系统采用±9 V,+5 V,+3.3 V以及模拟地数字地,并由DC/DC模块产生,经过良好的LC滤波为各个电路单元提供电力。人机接口(HMI)采用简洁的双按键和LED指示,对整个数据采集卡工作模式的选择和运行状态进行控制。
2 数据采集卡的硬件实现
2.1 ADC接口和信号调理电路
为了满足较高的采集精度和采样速率,该设计选择AD7685作为模拟/数字转换器件。AD7685是一款16位、串行输出、250 KSPS、电荷再分配、逐次逼近型 (PulSAR)ADC。ADC与处理器采用串行外围设备接口(SPI)接口进行连接,为了保证ADC的精度,采用高速光耦6N137隔离式驱动电路来隔离处理器SPI总线上的串扰。
前置调理电路信号的流向参见图1系统组成框图。设计中,采用模拟开关ADG1024对输入信号进行切换,并通过可编程增益放大器(PGA)AD8251进行处理,通过增益为0.2的电平转换16位ADC驱动器AD8275,把±5 V的信号转换成 0.25~2.25 V的信号,极大地扩展了该数据采集卡的测量范围,而简化了前置调理电路的设计,其电压计算公式如下:
经过前置调理电路使得不同量程范围的输入信号放大或衰减到0.25~2.5 V内,最大限度地利用ADC量程,使得采集系统的4个输入通道可以有单通道、双通道、四通道3种工作模式,且每个通道皆可以设置为任意量程。前置通道的相应配置由处理器ADuC7026完成,其配置遵循表1。
2.2 EMC措施
该设计采用外置9 V开关型稳压电源或USB端口供电,由于开关电源的低成本和高功率密度,普遍被现代电子系统设计所采用,但其带来的电磁干扰(EMI)问题也不容忽视。同时,ARM7主频高达45 MHz,必须考虑其EMI问题。该设计尽量选取低噪声的放大器和ADC,遵循最短路径的布线原则,确保前置通道具有较低的噪声水平。设计中,采用数字地/模拟地分区覆铜,并一点接地的布线方式,避免电源和数字部分对模拟地电位产生浮动和干扰。同时,采集卡外壳贴装铝箔纸,以防止外界电磁辐射影响内部电路的工作。
2.3 USB接口
该设计使用USB控制芯片CH375,内置海量存储固件,既可以作为USB设备方式向PC上位机传送数据,又可以作为USB主机,将数据存入U盘中。该芯片支持USB 2.0通信协议,在并口工作模式下能同时支持主机方式和设备方式。为了保证USB高速传输数据的稳定性和完整性,采取如下措施:
(1)采用USB屏蔽线作为连接线,保证数据传输不受外界电磁干扰。
(2)保证计算机USB端口的地线与USB控制芯片 CH375的地线严格等电位。
2.4 ARM系统的构建
ADuC7026是基于ARM7TDMI内核的精密控制器,具有62 KB FLASH,8 KB RAM和4个通用定时器,内部集成UART,I2C,SPI,DAC,PWM,JTAG端口、PLA等众多硬件资源,40个通用I/O引脚。CPU时钟高达45 MHz,采用80脚LQFP封装。在该设计中,搭建了一个包括供电电路、时钟电路、复位电路、 JTAG程序下载调试接口等电路的完整ARM7应用系统。实际上由于实测ADuC7026的外部I/O取反速度只有4 MHz,因此在SPI设计中,该设计加入Atmega48单片机作为中转,保证了控制核心在处理USB通信、U盘读/写等大量信息时对采样的准确触发。
3 程序设计
3.1 ARM端程序编写
ARM下位机软件完成的主要功能有3个进程,分别为 Wait,Online,Offline。当数据采集卡上电复位后,首先执行Wait进程,该进程等待按键操作,更改系统工作模式,配合的子程序还有相应初始化程序、按键防抖程序等。当Wait进程结束时,系统转入联机模式(Online)或离线模式(Offline)。联机模式按照用户设置进行采样,将数据存入CH375缓冲,CH375负责将数据传送给上位PC机,其程序流程如图2所示。离线模式则利用CH375海量存储固件,将数据存入U盘。为保证采集的实时性,控制器将数据存放在U盘扇区中,而不是以文件的形式读/写,避免创建文件时复杂时序的延误,其程序流程图如图3所示。
3.2 PC端编程
该数据采集卡的上位机应用程序由动态链接库DLL和客户端程序2个部分组成。其中,DLL负责与内核态的 USB功能驱动程序通信,并接收应用程序的各种操作请求;客户端程序负责对数据进行分析处理。采用VC++编写,遵循了工程通用的输入/输出界面,可以完成普通数据采集卡的在线采集功能,同时也可以将数据采集卡存储在U盘中的采集数据,通过物理扇区寻址来读取相应的采集数据。
4 测试与结论
通过该数据采集卡挂载U盘,对5 kHz正弦单通道信号进行采集,将U盘数据导入上位机,以获得如图 4所示的波形,它良好地复现了现场波形信号。
5 结 语
由于采用了支持海量存储技术的多模式USB总线控制芯片CH375和高速低功耗的ARM7控制器,使得该数据采集卡具有一定的智能采集能力,摆脱上位机连接限制而独立工作,采集到的数据存储到U盘中。符合新型数据采集系统小型化、移动化、智能化的发展趋势,广泛适用于工业现场和户外作业等应用场合,有很高的实用价值和推广意义。