基于ARM的DIS采集系统设计
2011-06-12
数字化信息系统实验室(Digital Information System,DIS)是新一代的中小学实验教学系统,是先进的数字技术应用到实验教学的产物,也是探究、创新的实验教学新理念注入传统实验教学后的必然结果。2006年,教育部将DIS纳入了中小学实验仪器装备标准,建议有条件的学校配备。目前,国内已有多家企业有相应的产品,但大多不够成熟。而国外的类似产品虽然较为成熟,但价格偏高,难以普及。更重要的是,国外的产品不能够很好地与我国的实验教材配合,难以开展教学。在此提出一种廉价、功能强大、基于ARM技术的DIS采集系统设计。它是DIS的一个重要组成部分,并已与江苏教育家教学装备有限公司合作形成了产品。
1 DIS的组成
从物理结构上看DIS,可以分成三个部分:传感器端、采集器端和计算机端。三个部分既紧密联系,又相对独立。三部分之间定义标准的接口,为不同的传感器装置、采集器的使用方式和计算机处理分析软件的组合提供极大的灵活性;而三者结合可以提供强大的实验功能,供师生创新和探究。事实上,用于传感器物理量转换、采集器数字化、计算机数据分析的实验分析模型,也都是当今实验科学研究的通用模型。
1.1 传感器端
传感器,又叫换能器,是将物理量转换成电学量的器件。测量不同的物理量,需要不同的传感器。对于DIS来说,传感器端并非单指传感器,而是传感器和实验装置的总称。针对不同的实验,如何将传感器与实验装置很好的结合,以便容易、真实、准确地完成实验,是DIS传感器端设计的一个难点。
1.2 采集器端
采集器的功能主要是通过模/数转换器件,将传感器端提供的电学模拟量数字化,以便作后续处理。对于DIS来说,采集器端是其主体,是一个复杂的系统,它需要保证数据采集的实时性、准确性;它需要处理与传感器端和计算机端的交互;考虑到易用性,它往往还要对采集的数据作一些初步的显示和分析。
1.3 计算机端
计算机端就是指基于通用计算机平台的DIS相关软件集合,其开发主要体现在软件。这部分也非常重要,它提供了强大的数据分析和可视化功能。
2 DIS采集系统硬件设计
2.1 总体设计
该设计选用Atmel公司的AT91SAM7SE512微控制器为控制核心。AT91SAM7SE512微控制器内嵌ARM7TDMI处理器核心,主频48 MHz,提供丰富的外设及接口,而且系统并行总线全数引出,扩展性强。AT91SAM7SE512性能优越,配以320×240的TFT真彩屏和触摸屏,可以对采集的数据作采集器端的简单处理和显示,以丰富DIS系统的使用方式,提高便携性和易用性。
模/数转换器件(ADC)选用Analog Devices公司的AD7323。AD7323为4通道,双极输入,12位ADC,最高采样率达500 KSPS。其精度高,性能强,对于音频采样亦是绰绰有余,完全满足DIS数据采集系统的要求,并有潜力完成将来可能出现的高采样率需求的新实验。系统的整体硬件结构如图1所示。
系统扩展了大容量的SDRAM和DataFLASH,以满足运行较大规模程序和大容量数据存储的需求。E2PROMI通过TWI(基本与I2C兼容)总线连接,以存储系统重要的非易失性信息。
2.2 传感器端的设计
如图2所示,传感器主要由传感器前端、信号放大电路、A/D转换电路和单片机组成。对于模拟传感器,信号放大电路的输出直接接至采集器,由采集器的高精度A/D做模/数转换,串口只负责提供传感器ID号等信息。对于数字传感器,单片机负责控制本地A/D转换,并将数据通过串口传输到采集器。数字传感器留有通用无线模块的接口,可以加装通用无线模块,将数据通过无线方式传输。
2.3 与传感器端的连接
传感器分为模拟传感器和数字传感器。采集系统与传感器端的连接分为有线和无线方式。在有线方式下,传感器通过串口与采集器通信。数字传感器的控制信号和数据都通过串口传输。为了获得较高的数据精度,模拟传感器的串口只传输控制信号,而将信号放大电路的输出直接接至采集器端的高精度ADC,由采集器采样处理。数字传感器可以通过加装通用无线模块而变为无线数字传感器(即无线方式)。通用无线模块基于ZigBee将串口数据透传。
有线连接的接口加入了保护电路,支持热插拔,以满足实用需求。无线方式解除了某些实验中由于连接电缆带来的制约,并使得远距离运动学实验成为可能。目前,国内外同类产品中均没有类似的功能。
2.4 与计算机端的连接
采集系统通过SD卡和USB电缆的方式与计算机端进行数据交换。SD卡体积小,容量大,价格便宜,既可以作为采集系统的扩展存储,又可以作为采集系统与计算机端之间或者采集系统彼此之间交换数据的媒介。USB接口通用性强,数据传输率高,即插即用,是外设与计算机间通信的理想接口。
3 DIS采集系统软件设计
3.1 总体概述
DIS采集器端的软件以固件的形式固化在芯片内部FLASH之中。主要功能包括:硬件外设的驱动、实验数据的实时采集与处理、人机交互以及与传感器端和计算机端之间的通信。系统总体的软件架构如图3所示。DIS采集系统作为一个数据采集的应用,首先要确保数据采样的实时性和准确性;其次,系统还需要对数据做适当的处理并显示;另外,系统还必须适时地对用户的触摸操作和计算机端的指令做出响应。软件既要保证实时性,又要完成多项复杂的功能。小型嵌入式系统中常用的简单的前后台程序开发模型已不能满足需要,于是引入了实时操作系统(RTOS)。它以多任务的模型管理程序功能,降低了程序开发的复杂度;抢占式的任务调度,保证了系统的实时性。
软件分为三个层次:设备驱动层、实时操作系统层和用户应用层。
3.2 设备驱动层
设备驱动层在实现总线驱动的基础上进而实现外设驱动。如图2所示,总线驱动包括SPI驱动、USART驱动等。外设驱动包括zigBee无线模块驱动、LCD驱动、触摸屏(Touch Screen,TS)驱动等。
3.3 实时操作系统层
采用小型实时操作系统内核μC/OS-Ⅱ,负责任务调度、任务间通信、内存管理、互斥访问等。又移植了FAT文件系统和GUI图形库,共同形成实时操作系统的概念。
3.4 用户应用层
具体针对DIS采集系统的需要,划分任务,完成各项功能。共划分了五个任务,并根据紧迫性要求设置了不同的优先级。
(1)采样任务,负责与传感器端的简单通信及实时信号的采集。由于数据采样的实时性和准确性是采集系统的第一重要任务,所以设置为最高优先级。
采样任务由点击图形用户界面的响应功能发起,也可由计算机通过USB命令发起。采样任务首先检测在线的传感器类型,获取他们的ID号,然后设置采样率,装载采样中断,并打开传感器,最后打开中断进入等待状态,响应指令。采样中断根据采样率定时采样,如果是模拟传感器,则读取本地A/D,进行模/数转换;如果是数字传感器,则读取串口的数据缓冲区,获得采样数据。对于特殊的传感器还要做滤波等特殊处理。当采样到足够多的数据,则将数据包发送给处理程序。若是本地发起的采样任务,则发送给界面任务处理予以显示;若是计算机通过USB发起的,则发送给USB任务将数据转发给计算机处理。大致流程图如图4所示。
(2)触摸屏输入任务,负责实时探测用户的触摸操作,更新输入坐标。
(3)USB通信任务,负责响应计算机端的指令,根据需要,将采集数据传输到计算机端。
在初始化完成后,任务运行一个状态机,进入空闲状态。当接到计算机的USB中断请求后,转换为不同的状态,以完成任务。大致流程图如图5所示。
(4)图形用户界面任务,负责与用户的交互,完成相应的操作,处理显示数据等。
在初始化完桌面、菜单等一些窗口后,界面任务进入等待状态,等待采样数据,并定时刷新界面。若有显示的需求,界面任务在接收到数据后,根据不同的显示方式作相应的显示。
(5)系统空闲任务,负责收集系统信息,更新系统状态,刷新屏幕内容等。顾名思义,设置为最低优先级。
正如上面提及的顺序,各任务优先级从高到低排列为:采样任务,触摸屏输入任务,USB通信任务,图形用户界面任务,系统空闲任务。
4 结语
经过测试,系统完成了设计功能,并且经过大批量,长时间的采集,系统没有出现数据遗漏和出错情况,能够稳定的运行。
DIS是数字信息技术和嵌入式技术在教育领域的最新应用。分析了DIS系统的整体模型,给出了其主体的一个具体实现。由于硬件上定义了统一的接口,软件上引入了实时操作系统,系统的扩展性极强。创新性地提出了传感器的无线连接方式,以方便实验。系统硬件上基于ARM7平台,体积小,重量轻,功耗低,价格便宜;软件上提供了图形用户界面,支持触摸操作,使用方便,界面友好。系统集数据采集与分析显示于一体,可独立使用,又可以方便地与计算机通信,性能优越,稳定性好。可以预见,该设计在中小学实验教学领域将有广泛的应用前景。