微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM的嵌入式系统—DIS采集系统设计

基于ARM的嵌入式系统—DIS采集系统设计

时间:11-08 来源:互联网 点击:
4 DIS采集系统软件设计

4.1 总体概述

DIS采集器端的软件以固件的形式固化在芯片内部FLASH之中。主要功能包括:硬件外设的驱动、实验数据的实时采集与处理、人机交互以及与传感器端和计算机端之间的通信。系统总体的软件架构如图3所示。DIS采集系统作为一个数据采集的应用,首先要确保数据采样的实时性和准确性;其次,系统还需要对数据做适当的处理并显示;另外,系统还必须适时地对用户的触摸操作和计算机端的指令做出响应。软件既要保证实时性,又要完成多项复杂的功能。小型嵌入式系统中常用的简单的前后台程序开发模型已不能满足需要,于是引入了实时操作系统(RTOS)。它以多任务的模型管理程序功能,降低了程序开发的复杂度;抢占式的任务调度,保证了系统的实时性。


软件分为三个层次:设备驱动层、实时操作系统层和用户应用层。

4.2 设备驱动层

设备驱动层在实现总线驱动的基础上进而实现外设驱动。如图2所示,总线驱动包括SPI驱动、USART驱动等。外设驱动包括zigBee无线模块驱动、LCD驱动、触摸屏(Touch Screen,TS)驱动等。

4.3 实时操作系统层

采用小型实时操作系统内核μC/OS-Ⅱ,负责任务调度、任务间通信、内存管理、互斥访问等。又移植了FAT文件系统和GUI图形库,共同形成实时操作系统的概念。

4.4 用户应用层

具体针对DIS采集系统的需要,划分任务,完成各项功能。共划分了五个任务,并根据紧迫性要求设置了不同的优先级。

(1)采样任务,负责与传感器端的简单通信及实时信号的采集。由于数据采样的实时性和准确性是采集系统的第一重要任务,所以设置为最高优先级。

采样任务由点击图形用户界面的响应功能发起,也可由计算机通过USB命令发起。采样任务首先检测在线的传感器类型,获取他们的ID号,然后设置采样率,装载采样中断,并打开传感器,最后打开中断进入等待状态,响应指令。采样中断根据采样率定时采样,如果是模拟传感器,则读取本地A/D,进行模/数转换;如果是数字传感器,则读取串口的数据缓冲区,获得采样数据。对于特殊的传感器还要做滤波等特殊处理。当采样到足够多的数据,则将数据包发送给处理程序。若是本地发起的采样任务,则发送给界面任务处理予以显示;若是计算机通过USB发起的,则发送给USB任务将数据转发给计算机处理。大致流程图如图4所示。


(2)触摸屏输入任务,负责实时探测用户的触摸操作,更新输入坐标。

(3)USB通信任务,负责响应计算机端的指令,根据需要,将采集数据传输到计算机端。
在初始化完成后,任务运行一个状态机,进入空闲状态。当接到计算机的USB中断请求后,转换为不同的状态,以完成任务。大致流程图如图5所示。


(4)图形用户界面任务,负责与用户的交互,完成相应的操作,处理显示数据等。

在初始化完桌面、菜单等一些窗口后,界面任务进入等待状态,等待采样数据,并定时刷新界面。若有显示的需求,界面任务在接收到数据后,根据不同的显示方式作相应的显示。

(5)系统空闲任务,负责收集系统信息,更新系统状态,刷新屏幕内容等。顾名思义,设置为最低优先级。

正如上面提及的顺序,各任务优先级从高到低排列为:采样任务,触摸屏输入任务,USB通信任务,图形用户界面任务,系统空闲任务。

5 结语

经过测试,系统完成了设计功能,并且经过大批量,长时间的采集,系统没有出现数据遗漏和出错情况,能够稳定的运行。

DIS是数字信息技术和嵌入式技术在教育领域的最新应用。分析了DIS系统的整体模型,给出了其主体的一个具体实现。由于硬件上定义了统一的接口,软件上引入了实时操作系统,系统的扩展性极强。创新性地提出了传感器的无线连接方式,以方便实验。系统硬件上基于ARM7平台,体积小,重量轻,功耗低,价格便宜;软件上提供了图形用户界面,支持触摸操作,使用方便,界面友好。系统集数据采集与分析显示于一体,可独立使用,又可以方便地与计算机通信,性能优越,稳定性好。可以预见,该设计在中小学实验教学领域将有广泛的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top