基于单片机嵌入资源的大动态范围数据采集系统
2015-01-25张振宇段晓宇段广居
张振宇,段晓宇,段广居
(1.湖南工业大学 电气与信息工程学院,湖南 株洲 412007;2.河南大学 计算机学院,河南 开封 475004;3.中电科信息产业有限公司 河南 郑州 450047)
在自动控制、测量及仪器仪表系统中,A/D数据转换是必不可少的关键环节。系统的动态测量范围、测量精度及稳定性是影响系统整体性能的重要因素。对于批量生产产品,数据采集及测量环节的一致性问题对产品质量、生产调试速度的影响更是不可低估。在电子产品市场竞争日趋激烈的今天,产品的成本是市场竞争的决定性因素之一。因此,低成本、大动态测量范围、高精度、高稳定性、一致性好的数据采集系统是值得研究的课题。
1 STC系列单片机嵌入资源
STC系列单片机是近年来发展比较快的低成本高性能单片机之一,在国内的市场占有率在很快地提高,STC系列新产品主要性能指标如下:
1)大容量2048字节片内RAM数据存储器。
2)高速:1时钟/机器周期,增强型8051内核,速度比普通 8051快 7~12倍。
3)宽电压:5.5~3.8 V,2.4~3.6 V。
4)低功耗设计。
5)内部高精度 R/C 时钟,±1%温飘(-40~+85 ℃),常温下温飘5‰,内部时钟从5~35 MHz可选。
6)内部高可靠复位,省掉外部复位电路。
7)工作频率:5~35 MHz,相当于普通 8051:60~420 MHz。
8)高速ADC,8通道10位,速度可达30万次/秒。
9)3路PWM可当3路D/A使用。
10)硬件看门狗(WDT)。
11)SPI高速同步串行通信接口。
12)双串口/UART,两个完全独立的高速异步串行通信端口,分时切换可当5组串口使用。
STC系列单片机的关键之处在于其低廉的价格和丰富的片内资源。利用其丰富的片内资源可以实现一完整的数据采集系统并且具有理想的性价比和市场竞争力。
2 提高系统动态测量范围的几种方法
在自动控制、测量及仪器仪表系统中,动态测量范围是关键技术指标之一。动态测量范围和系统测量分辨率,测量精度相互制约,动态范围大了,测量控制分辨率,测量精度就很难保证。测量控制分辨率,测量精度高了,动态范围就很难保证。常用的提高动态测量范围的几种方法如下:
1)采用高分辨率高精度A/D转换器,降低前级信号处理电路的放大倍数,增大动态范围。在保证前级信号处理电路在整个测量范围内不饱和的前提下,用高分辨率高精度A/D转换器提高系统的分辨率及测量精度。这种方法的优点是简单可靠。但高分辨率、高精度、高线性度的A/D转换器价格很高。对于成本敏感的低价批量产品不适用。能满足要求的A/D转换器如Maxim公司的MAX1290等,性能指标很好,但价格很高。
2)在前级信号处理电路中使用高精度可编程增益放大器,对输入信号进行变倍数放大。在弱信号时使用高放大倍数,在强信号高时使用低放大倍数。从而保证弱信号时的测量精度,强信号时的测量范围。能实现此功能的集成电路有BURR BROWN公司的可编程增益放大器PGA204、PGA205等 。 PGA204 有 1、10、100、1000 四 级 不 同 的 放 大 倍 数 ;PGA205有1、2、4、8四级不同的放大倍数。多级级联可实现更多级数的放大倍数。此方法的优点是电路简单,但价格优势仍不明显,且不同放大倍数下的线性度不是十分理想,大信号时分辨率降低。
3)用普通运放和模拟开关构成的大动态范围前级信号处理电路。电路原理方框图如下图1。电路中放大电路1-4分别设计成不同增益的放大电路,当弱输入信号时由模拟开关控制选用高增益放大电路工作,当强输入信号时由模拟开关控制选用低增益放大电路工作。该电路的优点是成本低;其缺点是由于不同放大电路所选用元器件参数的离散性导致系统在整个测量范围内的线性度变差。测量精度降低。
图1 用普通运放构成的可变增益放大电路Fig.1 Ordinary operational amplifier with variable gain amplifier circuit which
3 影响数据采集精度的因素
1)信号噪声:信号噪声是影响数据采集精度的重要因素,降低信号处理电路的噪声干扰,提高信噪比是提高数据采集精度的有效途径。
2)温度变化对元件参数的影响。
3)电源电压波动。
4)信号处理电路所用运算放大器失调电压的影响。
5)信号处理电路所用运算放大器非线性影响。
6)A/D转换器本身非线性影响。
4 用单片机嵌入资源实现的大动态范围数据采集系统
综合上述分析,本方案利用STC单片机的嵌入式 A/D、PWM构成一个二级动态跟踪放大器,实现大动态范围的数据采集。主要电路原理图如下图2、图3所示。
图2 参考电压及单片机电路Fig.2 Voltage reference circuit and single chip microcomputer
在图2中,U1、U2:A构成的电路产生0.35 V及2.5 V参考电压,为图3中的二级动态跟踪放大电路提供参考点电压。图2中R15、RT16和单片机的A/D转换通道4构成温度采集电路,为系统提供温度补偿。
图3为二级动态跟踪信号处理放大电路。U2:D、R8、R10、R11、R13构成第一级放大电路,其输入信号可以是经过前置放大处理过的模拟信号,也可以直接接入各种模拟传感器。将R10和GND断开可以构成差分输入方式。R13所接的0.35 V参考电压是为了在输入信号为0时,使第一级放大器的输出大于0 V。其主要目的是减小U2:D的失调电压对测量数据的影响。U2:D的输出接单片机A/D通道1。U2:B和R4-R6、C1-C3、及单片机的PWM通道1构成高精度16位D/A电路。U2:C 及 R7、R9、R12、R14构成第二级跟踪放大电路。
4.1 两级动态跟踪放大电路的工作原理
经前置放大处理过的模拟信号输入到第一级放大电路进行第一次放大。其输出信号送单片机的A/D通道1进行A/D转换,获得数据ADC1。设计第一级放大电路时要保证在最大测量量程时模拟信号不饱和并保留一定的余量。获得数据ADC1后,根据ADC1值计算D/A电路的PWM值ADC2。由于STC单片机的A/D只有10位,与实际模拟信号之间有误差。该10位数据经16位D/A送到第二级放大器的反向输入端,然后由第二级跟踪放大电路对误差信号放大。第二级跟踪放大电路的输出送单片机的A/D通道3,得到误差数据ADC3。最终的AD数值ADC为:
图3 二级动态跟踪放大信号处理电路Fig.3 Two level dynamic tracking amplifying signal processing circuit
ADC=ADC2 X A+ADC3。
其中A为第二级放大电路的放大倍数。根据A的不同大小,最终的AD数值ADC可达到14-16位精度。
4.2 减小本电路测量测量误差的措施
1)精确调整两级放大电路的零点减小失调电压引起的误差
将输入信号设置为0,采集此时ADC1的值ADC1z,根据ADC1z精确调整PWM输出,使第二级放大器的输出为2.5V参考电压值。此时ADC2的值ADC2z即为第一级放大器的零点值。此时ADC3的值ADC3z即为第二级放大器的零点值。这样基本可将两级放大器的失调电压误差消除。
2)将第一级放大器的参考电压提高到0.3V以上并将测量量程保留一定的余量,使PWM构成的D/A转换器工作在最佳线性区。
3)使用STC单片机的A/D通道9实时测量电源电压,然后修正由于电源电压引起的测量误差。
4)使用STC单片机的A/D通道4实时测量环境温度,然后用查表法修正由于温度变化引起的测量误差。
5 软件设计
系统软件分调试软件和正式运行软件两大部分,由外部开关控制程序流程。系统开机后先初始化IO口、定时器、串行口、A/D及PWM。然后检测外部开关确定进入调试程序或者是进入正式工作程序。部分程序代码如下:
6 结 论
通过在直流大电流数据采集系统中的试验应用,证实该系统具有数据采集精度高、动态范围大、稳定性好、成本低等优点。避免了切换模拟通道带来的线性度变化问题。实现了低成本,大动态范围的精确数据采集。使用10位A/D[7-8]完成了14位的高精度数据采集。将数据采集精度提高了32倍。
参考资料:
[1]康华光.电子技术基础:模拟部分[M].北京:高等教育出版社,1999.
[2]胡伟.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2003.
[3]朱定华.单片机原理及接口技术实验[M].北京:北方交通大学出版社,2002.
[4]高晋占.微弱信号检测[M].北京:清华大学出版社,2002.
[5]宋浩.单片机原理及应用[M].北京:清华大学出版社,2005.
[6]C.D.莫特钦巴切尔,F.C.菲特钦.低噪声电子设计[M].北京:国防工业出版社,1977.
[7]蒋云志,周汉义,占小奇.一种单片机双极模拟信号A/D转换的电路设计[J].电子科技,2014(5):121-123.JIANG Yun-zhi,ZHOU Han-yi,ZHAN Xiao-qi.Design of a bipolar analog signal MCU A/D conversion circuit[J].Electronic Science and Technology,2014(5):121-123.
[8]陈振宇,王立志,杨勇.一种可重构流水线ADC的设计[J].现代电子技术,2012(12):146-148.CHEN Zhen-yu,WANG Li-zhi,YANG Yong.Design of reconfigurable pipeline A/D converter[J].Modern Electronic Technique,2012(12):146-148.