一种便携式高精度数据采集系统的设计
2008-06-05
作者:张雄希1,田向丽2,马海红3
摘 要: 介绍了微处理器MSC1210的功能和特点,对基于MSC1210的便携式高精度数据采集" title="数据采集">数据采集系统的硬件组成和软件设计进行了阐明,通过嵌入式GUI开发实现了液显人机交互" title="人机交互">人机交互功能。该系统具有速度快、处理能力强、可靠性高、功耗低等优点。
关键词: MSC1210Y5 数据采集 高精度
美国德州仪器公司(TI)推出了一种功能性强、带24位A/D转换器的微处理器MSC1210。MSC1210具有增强特性,特别适合高精度温度测量、压力传感器等输出的微弱信号。本文介绍以MSC1210作为测量及信号处理核心的便携式高精度数据采集系统。该系统测量精度高,可以快速方便地进行高精度数据测量。
1 总体设计
本系统是一种便携式高精度数据采集系统,集高精度数据采集、快速数据处理、彩色液晶显示于一体。应用系统的硬件部分主要由前端数据采集、处理电路和后端数据处理、液晶显示电路构成。这两部分通过RS-232串行接口通信。系统的总体结构如图1所示。
前端的硬件部分主要是以MSC1210为核心的数据采集电路。后端的硬件部分主要由三大块构成:以S3C44BOX为核心的系统板;集JTAG调试电路、系统电源、LCD接口电路的辅助板;液晶屏。
为了整个系统的便携性,在设计过程中充分考虑了系统的整体结构。为实现人机交互,根据实际需要选取了5.7英寸、256色、320×240像素的STN液晶屏。根据液晶屏的尺寸大小并结合最终应用系统的外形结构特点,绘制了以S3C44BOX为核心的系统板和集JTAG调试电路、系统电源、LCD接口电路的辅助板。这三大块的构成模型如图2所示。
系统前后端接口丰富,扩展性强,硬件一旦成型就相对固定。使用时,根据具体的应用场合,前端辅以不同类型的传感器,组成高精度的数据采集传输模块,前后端分别编写相应的应用软件完成高精度的数据采集、处理和人机交互显示功能。
2 数据采集部分硬件设计
数据采集部分的核心器件MSC1210为TI公司的系统级高精度ADC芯片系列。它内置24位低功耗Σ-Δ ADC前端信号调理电路——多路模拟开关、缓冲器、PGA(可编程增益放大)、电压参考,且集成了高性能8051处理器内核、Flash存储器和32位累加器、兼容SPI串口" title="串口">串口等多种片上外设。MSC1210具有下列优点:
(1)24位的ADC,其有效精度高于22位,这是实现高精度的重要保证。
(2)其内部包含完整的前向通道(包括输入缓存器、模拟开关电路、可编程增益放大器、ADC转换器以及数字滤波部分),使用非常方便。此外,还包含后向通道DAC,功能十分完备。
(3)通过改变命令寄存器的方式对内部通道功能进行设置,用指令选择输入缓存器、设置放大增益、控制通道开关切换、进行偏置校正等。
(4)系统还提供了多种开发环境以满足不同的开发需求,可用于仿真系统和在系统调试。
数据采集部分电路结构原理如图3所示。
由图3可知,整个数据采集电路是以片上系统MSC1210Y5为中心的电路。由以上介绍可知,此IC芯片集成了模拟电路和控制逻辑,内部逻辑功能比较强,且包含了比较完整的测量通道。因此所需要的外围电路很少,是一种结构紧凑的实用电路。线路中2块主要IC芯片为MSC1210Y5和MAX3223。前者是一个片上系统,工作频率为1.8432MHz,并且包含32KB Flash存储器;后者提供片上系统与后端人机交互系统串口通信的RS-232接口。由于IC芯片的功耗很低,板上的DVdd电源(3.3V)由后端系统通过RS-232接口提供。除了RS-232接口的接线,只需要接入J1、J2插座的信号(8个AIN线、REF以及公共地)线,不再需要其他连接,使用非常方便。此外,在电路中还预留一部分接口线供系统功能扩展。
3 数据采集部分软件设计
实际应用中,MSC1210Y5需完成微弱信号的多路切换、信号缓冲、PGA编程放大、24位Δ-ΣA/D转换、数字滤波、数据处理、信号校准以及串口通信等功能。MSC1210Y5包含2个串口,选取其中的一个串口与后端人机交互系统通信,负责接收后端发送的控制命令和控制参数以及发送前端采集、处理的数据。因此数据采集电路程序的主要任务是:
(1)控制内部ADC的测量过程,读取转换的数据。
(2)与后端(S3C44B0X系统)通信,读取上位机" title="上位机">上位机的命令和有关的控制参数,同时向上位机传送转换的数据。
数据采集电路的程序控制流程如图4所示。
程序开始部分设置串口通信的基本参数,如传输速率、数据格式、定时/计数器工作方式、时间常数等,同时使串口处于接收状态,等待上位机传送过来的命令和数据。将依次读到的后端系统的2字节的串码(暂存在R6、R7)的控制字传送到MSC1210Y5内部寄存器ADCON1和ADCON0,实现对ADC的控制命令写入。其后在ADCON3、ADCON2、ADMUX和PDCON这几个寄存器的内部写入相应的命令或参数值。通过这些过程即可完成对MSC1210Y5内ADC的设置和启动。此后内部ADC的转换过程就不需要程序干预了。控制程序的任务则是不断地读取ADC转换结果,并且向上位机传送。在程序流程的后半部分是一个循环过程,循环的开始是将MSC1210Y5串口转换为发送状态——向后端系统发送数据。由于ADC是24位精度,转换数据必须分为3个字节,依次向上位机发送。即首先将ADC转换结果寄存器1的数据通过SBUF发送,然后是ADC转换结果寄存器2的数据,最后是ADC转换结果寄存器3的数据。
4 嵌入式GUI应用概述
整个系统的硬件由两大部分组成,一部分是上面介绍的前端的数据采集部分,另一部分即是后端的基于S3C44BOX微处理器的数据处理和液晶显示部分。两部分通过RS-232串行接口通信。
后端的软件由三部分组成:系统启动加载程序Boot loader、嵌入式实时多任务操作系统μC/OS-II、基于μC/OS-II的应用程序。其中基于μC/OS-II的应用程序主要包括串行口通信程序和基于μC/GUI" title="C/GUI">C/GUI的图形用户接口程序。
系统中串口用于S3C44BOX控制器向前端数据采集部分发送控制命令和控制参数,并实时接收前端发送的采集数据,送由控制器处理及进行液晶显示。
μC/GUI是Micrium公司开发的一种商用通用型嵌入式应用图形软件,具有模块化的特点。它可以为任何使用图像LCD的应用程序提供一个高效的、独立于处理器和LCD控制器的图形用户接口。用户使用它可以方便地定制出自己的图形用户界面,完成各种应用程序的开发。由于μC/GUI需要的资源较小,再加上它提供了源代码,可以很容易地将它移植到各个平台下,因此很适合嵌入式系统中GUI应用的开发。
由于μC/GUI不支持ARM7处理器S3C44BOX,因此,要把μC/GUI移植到系统平台上,需要完成μC/GUI在系统硬件平台上的各种驱动。μC/GUI和μC/OS-II经过合理的配置后,为人机交互系统生成了生动、直观的图形人机界面。
采用TI公司的微控制器MSC1210开发的高精度数据采集系统,采集精度高、抗干扰能力强。本系统具有较强的扩展性和较宽的调节范围,可广泛用于工业过程控制、医疗仪器、智能传感器等各个领域。
参考文献
1 何嘉彬.用MSC1210构成的高精度数据采集器.单片机与嵌入式系统应用,2005;(5)
2 敬 岚,乔卫民.基于微控制器MSC1210的数据采集模块设计.原子能科学技术,2004;(7)
3 司刚前.带8051内核的系统级ADC芯片MSC1210介绍及应用.单片机与嵌入式系统应用,2004;(7)
4 邓宏彬.MSC121X系统级单片机原理与应用.北京:机械工业出版社,2004
5 王田苗.嵌入式系统设计与应用实例开发.北京:清华大学出版社,2003