APP下载

基于ADS1256和STM32的数据采集装置设计

2019-12-24郭玉霞李志杰

无线电工程 2019年1期
关键词:串口高精度总线

郭玉霞,李志杰

(甘肃工业职业技术学院 电信学院,甘肃 天水 741025)

0 引言

数据采集作为由模拟量向数字量转换的手段,是实现基于计算机完成各种工作过程的基础,被广泛应用于自动控制、自动检测和电子测量等自动化、智能化系统中。文献[1]论述了ADS1256的工作原理和使用方法,文献[2]论述了基于ADS1256设计数据采集装置的技术要点,文献[3]将基于ADS1256的多路高精度数据采集技术应用于加速度计的设计中。综述目前数据采集装置存在的主要问题是高端数据采集装置以计算机板卡为主,结构复杂,价格偏高,缺乏与单片机通信的接口,而低端数据采集装置精度较低,接口复杂,通用性较差。针对上述问题,本文以高性能多路模数转换器件ADS1256为核心、TM32F103C8T6为主控制器,采用了多通道、高精度、高智能化的数据采集装置。由于该数据采集装置实用性强、成本低,因此具有较好的推广前景。

1 数据采集装置整体设计方案

数据采集装置整体设计方案如图1所示。主要由信号输入接口、分压电路、AD转换电路、基准电压电路、单片机、最小系统外围电路和输出接口电路7个模块构成[4-5]。

图1 数据采集装置设计原理

信号输入接口完成采集装置与外部模拟信号的电气连接,分压电路对输入电压进行分压,可以改变测量的量程,AD转换电路通过ADS1256完成模数转换,基准电压电路提供AD转换的基准电压,单片机完成AD转换的控制和转换结果的处理,以及与上位机和其他系统的通信控制[6-8],输出接口和单片机一起完成单片机和其他设备之间的通信。

2 数据采集装置硬件设计

2.1 电源设计

电源模块为装置各个电路模块供电,其电路原理图如图2所示。外部5 V电源通过插座PP接入,通过ASM1117-5输出5 V电压给电源电压为5 V的器件供电。通过ASM1117-3.3给TM32F103C8T6内核供电。电源电路的核心为2个ASM1117系列电源芯片。AMS1117是一个正向低压降稳压器,在1 A电流下压降为1.2 V,具有限流功能和过热切断功能,工作的温度范围为-40~125 °C[9]。在设计过程中,将模拟地和数字地分开,最后用磁珠R0连接。

图2 电源模块电路原理

2.2 输入接口和分压电路设计

输入接口和分压电路原理图如图3所示。工作在单端模式时,数据采集装置测量输入端与模拟地之间的电压。RI1为输入保护电阻,RF1为输入分压电阻。可以断开RF1,这时输入信号IN0直接输入ADS1256,这时测量的电压范围为0~5 V[10-12]。当分压电阻不断开时,测量电压的范围由分压电阻RF1决定。测量电压的最大值为:

式中,VIMAX为输入电压的最大值;RI1,RF1为其对应电阻的阻值。当工作在双端模式时,先将相邻两通道的电压做差,然后输入到分压电路。

图3 输入接口和分压电路原理

2.3 参考电压电路及AD转换电路设计

参考电压电路及AD转换电路原理图如图4所示,基准电压芯片选用ADR4525[13]。ADR4525为高精度、低功耗、低噪声基准电压源,最大初始误差为±0.02%,并具有出色的温度稳定性和低输出噪声。

图4 AD转换电路原理

该基准电压源使用创新的内核拓扑结构来实现高精度,同时提供业界领先的温度稳定性和噪声性能。器件的低热致输出电压滞后和低长期输出电压漂移也提高了寿命和温度范围内的系统精度,特别适用于16位以上的AD转换系统[14-16]。

AD转换芯片选用ADS1256。ADS1256是TI公司Burr-Brown产品线推出的微功耗、高精度、8通道、24位△-∑型高性能模数转换器(ADC)[17]。该器件提供高达23 bit的无噪声精度、数据速率高达30 ksps(次采样/s)、0.001 0%非线性特性(最大值)以及众多的板上外设(输入模拟多路开关、输入缓冲器、可编程增益放大器和可编程数字滤波器等),可为设计人员带来完整而高分辨率的量测解决方案[18]。ADS1256和单片机之间通过SPI总线进行通信,图4中,AD-SCLK,AD-DIN,AD-DOUT,AD-CS分别为SPI总线的时钟信号线、数据输入线、数据输出线和片选信号线,AD-DRDY为转换状态信号线,AD-RST为复位信号线[19]。

2.4 单片机和外部接口电路设计

单片机及通信电路如图5所示。

图5 单片机及通信电路

数据采集系统的单片机选用TM32F103C8T6,它是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64 KB,需要电压2~3.6 V,工作温度为-40~85 °C,总线宽度为32位,系统时钟可达72 M,具有37个IO口,160 K片上RAM。通过分析STM32F103C8T6的资源和开发成本,选用该单片机具有较高的性价比[20-21]。单片机通过SPI总线读取AD转换结果,并对读取的AD转换数据进行处理,得到准确的电压值。单片机以串口形式和其他系统进行通信,串口芯片选用MAX232,与外部系统的硬件连接采用DB9[22]。

3 软件设计

图6 AD转换流程

单片机对通过SPI总线读取的AD转换数据的处理流程如图7所示。

图7 数据处理流程

为了防止数据的抖动,连续读取20次转换数据,并对这些数据进行中值滤波。将所得值转换为实际电压值。ADS1256的输出是用24位比特表示的双极性的输出,低23位表示转换数据的有效值,最高位为符号位,符号位为0表示输入为正,其正的满量程输出为7FFFFFh,负的满量程输出为800000h。在量程范围内,数据输出为正时,测量的输入电压值和转换的数据之间的关系为:

数据输出为负时,测量的输入电压值和转换的数据之间的关系为:

式中,VOUT为被测量的输入电压;VREF为参考电压,这里为2.5 V;DAD为经过中值滤波的AD转换数据;h表示16进制。最后将所采集电压值保存或通过串口输出。

4 测试结果与分析

为了测试所设计数据采集装置的性能,将采集装置的实际输入电压值与采集装置输出的数据进行对比分析,原始数据如表1所示,表中Vin1~Vin8为8个输入通道电压值,由6位半可编程电源提供,Vout1~Vout8为8个输出通道的电压值,采集装置的输出值是通过串口调试软件得到。表2是对8个通道输入值与输出测量值之间的误差分析,相对误差值为输出测量值与输入值之差的绝对值,除以输入值,表中给出了不同输入的相对误差和每个通道误差的平均值。从表2可以看出,8个数据采集通道的平均相对误差最大值为0.004 498,即0.449 8%,为第一通道平均相对误差值。

表 1 测试原始数据

输入输出Vin1Vin2Vin3Vin4Vin5Vin6Vin7Vin8Vout1Vout2Vout3Vout4Vout5Vout6Vout7Vout80.5000.5000.5000.5000.5000.5000.5000.5000.5040.4980.4950.5040.4980.4990.4970.4950.3000.3000.3000.3000.3000.3000.3000.3000.3100.2490.3030.3010.2980.3000.3020.2991.0001.0001.0001.0001.0001.0001.0001.0001.0020.9480.9950.9971.0050.9980.9960.9971.5001.5001.5001.5001.5001.5001.5001.5001.5081.4541.4961.5021.4981.5031.5001.5032.0002.0002.0002.0002.0002.0002.0002.0002.0021.9531.9952.0002.0031.9982.0012.0012.3002.3002.3002.3002.3002.3002.3002.3002.3042.2502.3032.3022.3042.3002.3012.296

表 2 相对误差分析

输入通道123456780.50.008 106 0.003 741 0.009 110 0.008 730 0.003 355 0.001 590 0.006 559 0.009 482 0.30.031 743 0.169 417 0.009 151 0.003 890 0.005 242 0.000 821 0.006 697 0.004 185 1.00.002 053 0.052 073 0.004 804 0.003 099 0.004 649 0.001 555 0.004 064 0.003 300 1.50.005 092 0.030 388 0.002 470 0.001 176 0.001 332 0.002 220 0.000 263 0.002 148 1.80.004 091 0.028 894 0.002 763 0.000 670 0.000 834 0.001 242 0.000 424 0.002 715 2.00.001 233 0.023 466 0.002 339 0.000 129 0.001 530 0.000 917 0.000 318 0.000 346 2.30.001 611 0.021 751 0.001 352 0.000 750 0.001 557 0.000 152 0.000 432 0.001 551 均值0.004 498 0.031 017 0.002 790 0.001 831 0.001 600 0.000 948 0.001 769 0.002 120

5 结束语

本文设计的数据采集装置充分考虑了性价比和使用的方便程度,将高精度AD转换芯片ADS1256与当前市场占有率最高的嵌入式单片机STM32相结合,极大地降低了采集装置的成本,同时具有较高的精度和稳定性。该数据采集装置的精度和采集速度可以满足绝大部分工业控制数据采集、在线检测、仪器仪表数据采集的需求,具有较好的推广前景。

猜你喜欢

串口高精度总线
关于高精度磁测在构造解释方面的应用分析
MVB冗余总线故障模式分析
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
基于Niosll高精度超声波流量计的研究
高精度PWM式DAC开发与设计
高精度PWM式DAC开发与设计
高抗扰高精度无人机着舰纵向飞行控制
基于CAN/LIN总线的LED车灯控制研究
MCS—51单片机中的多串口通讯技术的应用