首页 > 范文大全 > 正文

基于ARM的高精度功耗测量仪器设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ARM的高精度功耗测量仪器设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文介绍了一种基于arm7TDMI处理器的数据采集模块的实现方法。该模块可以对电压、电流、热电阻、热电偶、开关量等多种物理量进行测量。ARM处理器与数据采集模块之间采用模拟SPI协议进行数据传输。为了实现高精度,采用了24位A/D。经过对电路的多次改进,该模块目前已能测准到万分之一的精度,优于现在的工业标准。

关键词:ARM;多通道;高精度;数据采集

中图法分类号: TP806文献标识码: A文章编号:1009-3044(2007)17-31316-02

Design of High Precision Power Consumption Instrument Based on SEP3203

WANG Kai-liang

(Southesat university ASIC Center, Nanjing210096,China)

Abstract:A design method based on ARM processor of multichannel high precision data acquisition unit is introduced in this article. Physical quantity such as voltage, current, thermo resistance, thermocouple and switching value can be measured by this unit. Data is transferred through simulative SPI protocol between ARM and data acquisition module. To achieve high precision, A 24 bit A/D is used. Now one out of ten thousand precision can be achieved after several times of improvements of the circuit and the precision is better than present industry standard.

Key words: ARM;multichannel;high precision;data acquisition

由于工业过程控制领域的快速发展以及近年来ARM处理器的迅速普及,用ARM替代单片机对工业现场传感器传出的电流电压信号进行采集和控制成了不可逆转的趋势。现阶段,手持、便携式电子设备市场需求量大,发展迅速,而作为其主要性能指标之一的系统功耗成为业界评估系统性能的关键点,功耗检测仪器应运而生。纵观国内外同类产品,显得价格较高。典型得,以美国国家仪器为例,其研发生产的一款基础型数据采集仪器售价就在$800以上,所以,研制高精度低成本用于功耗检测的数据采集仪器非常有必要。众所周知,检测功耗可划归为对被测对象电压、电流的检测,所以采集仪器主要解决和完成微电压(uV级)和小电流(mA级)的采样。

1 系统设计构成

1.1 硬件实现方案

本系统采用东南大学国家ASIC工程中心自主研发的SEP3203处理器为主控芯片,它内嵌由英国ARM公司提供的ARM7 TDMI处理器内核,整个芯片可以运行在75MHz。SEP3203微处理器资源丰富,提供了完整的通用外设接口,其片上所带2个UART可分别扩接成RS-232口和RS-485口以适应不同场合的通讯需求。系统的模/数转换芯片选择TI公司的ADS1210。ADS1210是适合于低频测量应用的完整模拟前端,使用∑-S转换技术以实现高达24位分辨率。整个系统的工作原理为,将被测信号接至指定通道,经固态继电器M211隔离选通后送至程控放大器PGA204进行小信号放大以匹配A/D转换器的输入量程,ADS1210将转换好的数据通过SPI口送至SEP3203处理器进行处理,最后经RS-485口送至PC机显示和存储。见图1。

1.2 软件实现方案

整个系统分配置模式和工作模式两部分。配置模式下,系统接收来自PC机端的配置信息,包括串口通讯速率、通道选择、AD配置字等信息的设置,并写入flash存储器供工作模式调用。工作模式下,系统实现对SEP3203的GPIO口A/D的初始化,通过软件模拟SPI协议完成SEP3203与A/D的通讯,最终是数据采集向上位机传输的应用程序。

SPI是串行设备接口的简称,其接口简单,是一种高速、全双工、同步的通信总线。一般的A/D都支持SPI协议。如图3所示,SPI协议最少只要占用三根线,如SCLK,DIN,DOUT。

图3 某款A/D的SPI通信协议时序图

因此只需要按照A/D的读写时序图在对应的连接线上给出相应的波形,就可以实现数据在ARM和A/D间的通信了。

读写A/D的伪代码如下:

intReadData(void) //ARM从A/D读数据

{

SCLK( 1 );

for( i = 0; i < 8; i++ ) //按位读1BYTE

{ SCLK( 0 ); Delay(10); //延时函数

if (SIN() )

x |= 0x01; //假设高位数据先出

else

x |= 0x0;

Delay(90);

SCLK( 1 );

Delay(100);

x

return x; }

}

voidWriteData(void) //ARM向A/D写命令字

{

SCLK( 1 );

for( i = 0; i < 8; i++ ) //按位写1BYTE

{ SCLK( 0 ); if(( x & 0x80 ) == 0x80)

SOUT( 1 );//先发最高位

else

SOUT(0);

Delay(90);

SCLK( 1 ); //上升沿有效

Delay(90);

x

return x; }}

注:SIN对应于图3中A/D的DOUT,SOUT对应于A/D的DIN

2 高精度数据测量系统的实现

2.1 ADS1210简介

S-∑型A/D转换器

10Hz下23位有效分辨率,1000Hz下20位分辨率

差分输入

内置可编程增益放大器

SPI兼容二线SSI接口

高达15.6KHZ的可编程截至频率

内部/外部参考电压

具有芯片自校准功能

ADS1210芯片为18脚DIP或SOP封装,结构如图4。

图4 ADS1210内部结构图

其内部由可编程增益放大器(PGA)、二阶S-∑调制器、调制控制器、三阶数字滤波器、微控制单元、寄存器组(包括指令寄存器INSR、命令寄存器CMR、数据输出寄存器DOR、零点校准寄存器OCR和满量程校准寄存器FSR)、串行接口、时钟电路、3.3V偏置电压和内部2.5V电压参考。

2.2 硬件连接

在数据采集中,量程和精度往往是此消彼长的关系。在本设计中,电压信号的量程要求能达到0-10V,热电偶信号的精度要求能达到微伏级。为了既满足量程,又不影响精度,可以采用24位A/D,同时在A/D前端加入一块放大器以减小线路板上的噪声和电源纹波对小信号测量的影响。

如图5所示,本模块采用TI公司的24位ADS1210芯片和放大器PGA204,另外采用了一块2.5V外部参考源AD780。ADS1210采用5V电压供电,差分输入方式,工作在50-60Hz时,理论上可以达到22位以上的精度。因为要测量0-10V的电压,需要利用ADS1210的Vbias电压,利用电阻分压网络将0-10V的电压映射到0-5V的量程上。PGA204采用+-15V双电源供电,具有1、10、100、1000四个数字可编程增益,只需控制两个数字输入端的电压就可以控制放大倍数,操作简便。另外PGA204具有很低的温漂和很高的共模抑制比(115dB,G=1000)。AD780具有2.5V/3.0V可选参考电压输出,温漂很小,稳定度很高。

图5 测量模块电路框图

由于采用了高精度的A/D,电源模块的精确和稳定性就成了需要考虑的关键问题。通常情况下,DC-DC具有100-200mV的纹波。因此能否降低纹波的影响成了数据能否测准的关键。大多数LDO对电源纹波都有抑制作用,例如德州仪器的78L05的纹波抑制比是43-51dB。可以粗略计算一下,假设DC-DC的电源纹波是200mV,经过纹波抑制比为50dB的78L05后,还有0.632mV的纹波。如果将24位AD按满量程5V计算,要达到23位有效分辨率,其最低位变化所对应的电压是5*1/(2^23) = 0.596uV。想要在毫伏级的电源纹波下得到微伏级精度,几乎是不可能的。

因此可以考虑将78L12,78L09,78L05三块LDO串联,对从DC-DC出来的电源进行稳压,按照其纹波抑制比的典型值分别为42,45,49(TI提供的参数)计算,200mV的电源纹波经过三次稳压后只剩下了0.0317uV,即使按照最差的纹波抑制比37,38,41计算,稳压后的电源纹波也被抑制到了0.28uV,小于要求的0.596uV最小分辨率,至此电源干扰基本可以排除。

在具体测量的时候,由于量程映射到0-5V的不精确性,以及每块板子上电阻分压网络的误差因素,如果采用先在0-5V的量程中计算出电压,再通过分压公式逆推回去,得到真实电压,结果会产生不小的偏差。可以用参考电压源校准的方法对测量结果进行处理。所谓参考电压源校准,即在板上引入精确的5V、500mV、50mV、5mV以及0V电压,根据量程不同输入放大器,每次测试前先测量参考源的数值,再经过一个比例公式即可得到结果。结果误差只取决于ADS1210满量程的线性误差,当ADS1210工作在60Hz时,其具有+-0.0015%FSR的线性度,误差基本上可以忽略了。

2.3 软件方案

由于A/D是整个系统的核心器件,这里重点阐述ADS1210配置模块。AD配置模块包括初始化以及初始化以后的校验两部分。初始化部分完成ADS1210输入量程、数据输出速率等参数的设置,配置完毕后,须回读配置信息以确认配置成功与否,若成功则开始循环采集,若失败则再次写入配置信息。SEP3203与ADS1210的通讯过程为,等待 电平为低,然后在SCLK、SDIN和SDOUT三引脚上按照SPI协议收发数据。

A/D配置成功后,开始对各通道轮流采集数据。首先从flash中读出配置信息,根据配置信息动态改变PGA204增益将信号放大以匹配ADS1210的电压输入范围,其次测量放大器两输入端短接情况下的电压做零点校准,然后测量板上LM336输出的精密+5V做增益校准,最后依次打开各通道测量数据并作相应数据处理以供传输。每当一组(16通道)数据测量完毕则通过RS-485口送至PC机存储或显示。

3 实验结果及分析

我们对该模块进行了长时间的测试,将通道一设置为测电压,通道二设置为测电阻。用精准的毫伏计和电阻箱作为信号源。

选取某时间段测量结果如下:

表1 电压测量结果统计表

实验结果表明该模块工作稳定,并达到了预期的测量要求。

电压的测量情况表明:在量程为0-500mV档,将信号放大10倍后输入A/D时,测得的值在满量程的任意区间内可以稳定在10uV位上,1uV位偶尔跳动;在量程为0-50mV档,将信号放大100倍后送入A/D时,测得的值在满量程的任意区间内基本可以稳定在1uV位上,已经可以满足热电偶这样小信号的测量需要了。

表2 电阻测量结果统计表

电阻的测量情况表明,在0-400欧的量程内可以测准到0.1欧,对于PT100这种类型的热电阻来说,可以测准到0.2摄氏度,也基本满足实际需要了。

4 结束语

采用基于ARM7 TDMI内核的SEP3203微处理器、ADS1210、PGA204构成的数据采集器,具有高精度、高性能及低成本等特点,采用485总线传输提高了数据传输的可靠性,非常适于功耗检测。另外SEP3203处理器片上资源丰富可扩展性强,将来还可加入LCD液晶屏和微硬盘实现脱离PC机的海量数据存储显示,有着非常好的应用前景。

参考文献:

[1]Andrew N.Slossd. ARM嵌入式系统开发―软件设计与优化[M]. 出版地:北京航空航天大学出版社,2005年5月.

[2]钱聪. 基于ADS1212的高精度数据采集系统及抗混滤波器的设计[J]. 测控技术,2006(4):10-15

[3]董永贵,李庆详. 精密测控与系统[M].出版地:清华大学出版社,2005.09

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。