基于ARM的DIS采集系统设计

发布者:zeta16最新更新时间:2011-06-12 关键字:ARM  DIS采集 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    数字化信息系统实验室(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)。它以多任务的模型管理程序功能,降低了程序开发的复杂度;抢占式的任务调度,保证了系统的实时性。[page]


    软件分为三个层次:设备驱动层、实时操作系统层和用户应用层。
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平台,体积小,重量轻,功耗低,价格便宜;软件上提供了图形用户界面,支持触摸操作,使用方便,界面友好。系统集数据采集与分析显示于一体,可独立使用,又可以方便地与计算机通信,性能优越,稳定性好。可以预见,该设计在中小学实验教学领域将有广泛的应用前景。

 

关键字:ARM  DIS采集 引用地址:基于ARM的DIS采集系统设计

上一篇:根据ARM的LCD触摸屏系统设计策略
下一篇:根据μc/Os-Ⅱ就绪表算法在ARM架构上的改动

推荐阅读最新更新时间:2024-03-16 12:36

ARM基础:汇编调用C程序
/****************************************************************************************************************** 参考: 说明:汇编调用C程序。 ******************************************************************************************************************/ 这是一个汇编调用C函数的程序,直接在RVDS2.2调试出结果。 startup.S: EXPORT asmfile
[单片机]
<font color='red'>ARM</font>基础:汇编调用C程序
OK6410A 开发板 (八) 84 linux-5.11 OK6410A arm-gdb+kgdb+串口 调试 linux
理论知识 调试过程 调试过程都是 这样子的 : 让核心停下来,查询信息,让核心继续运行 我们看一下 kgdb 是怎么做的 kgdb: 让核心停下来: 1. linux启动前期会自动进入kgdb 或 2. linux启动完成,挂载了procfs,用echo g /proc/sysrq-trigger 来进入 kgdb 查询信息 1. bash#gdb vmlinx 2. gdb target remote /dev/ttyS0 3. gdb set remotebaud 115200 // set serial baud 115200 4. gdb bt // 查询信息 6. gdb
[单片机]
GNU风格 ARM汇编语法指南
汇编源程序一般用于系统最基本的初始化:初始化堆栈指针、设置页表、操作 ARM的协处理器等。这些初始化工作完成后就可以跳转到C代码main函数中执行。 1、GNU汇编语言语句格式 任何Linux汇编行都是如下结构: 即可以直接寻址整个内存空间。 特别说明:局部标号Symbol 局部标号主要在局部范围内使用,而且局部标号可以重复出现。它由两部组成:开头是一个0-99直接的数字,后面紧接一个通常表示该局部变量作用范围的符号。局部变量的作用范围通常为当前段,也可以用ROUT来定义局部变量的作用范围。 局部变量定义的语法格式:N{routname} lN:为0~99之间的数字。 lroutname:当前局部范围的名称(为符号),通
[单片机]
Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序
Part1 环境搭建和工具安装 1.1 设置交叉编译环境 安装相关的编译工具: sudo apt-get install build-essential gcc-arm-linux-gnueabi 这里我使用的是ubuntu系统源中含有的gcc-arm-linux-gnueabi系列工具,安装完成后具有如下工具: arm-linux-gnueabi-addr2line arm-linux-gnueabi-gcc arm-linux-gnueabi-gprof arm-linux-gnueabi-ranlib arm-linux-gnueabi-ar arm-linux-gnueab
[单片机]
ARM7风机监测仪的数据采集接口方案
长期以来,由于运行环境恶劣、监测和维护手段不完善,风机不断地出现减速器断齿、轴承烧毁、传动轴弯曲、联轴器膜片损坏、甚至叶片断裂等故障。基于MAxl320的风机监测仪就是此监测诊断系统很重要的一部分,其关键部件是模/数转换芯片。MAXl320是Maxim公司推出的并行14位8通道同步采集的A/D转换芯片,非常适合应用于风机的转速、加速度、位移、工艺量等的数据采集。这里介绍了一种基于ARM7风机监测仪的数据采集接口方案,A/D芯片就是采用MAXl320,该监测仪的处理器采用Philips公司的LPC2290。   l MAXl320概述   MAXl320是一种8输入通道、14位高速模/数转换器,具有独立的采样/保持(T/H
[工业控制]
<font color='red'>ARM</font>7风机监测仪的数据<font color='red'>采集</font>接口方案
一种ARM+DSP协作架构的FPGA验证实现
介绍了以 ARM + DSP 体系结构为基础的FPGA实现。在其上验证应用算法,实现了由ARM负责对整个程序的控制,由DSP负责对整个程序的计算,最大程度地同时发挥了ARM和DSP的各自优势。   ARM通用CPU及其开发平台,是近年来较为流行的开发平台之一,而由ARM+DSP的双核体系结构,更有其独特的功能特点:由ARM完成整个体系的控制和流程操作,由DSP完成具体的算法和计算处理。这样,不但可以充分地发挥ARM方便的控制优势,同时又能最大限度地发挥DSP的计算功能。这在业界已逐渐成为一种趋势。   本文的FPGA的Demo验证,是在基于一款DSP内核处理器的研发基础上,对其功能进行验证的一个小目标识别算法的实现。考虑到软件环
[新品]
Kinect移植到嵌入式ARM平台上面
我毕业设计做的libusb移植, 而kinect通信是基于libusb,所以,就做了一个kinect+libusb在嵌入式平台上面的移植, 经过几个月忙碌,终于将毕业设计给完成了,写下一点心得, 也算是我多年在csdn索取资源的回馈。 本系统主要由两个部件构成:嵌入式硬件平台和USB设备,通过USB总线建立起它们之间通讯,如图2.16所示,USB设备Kinect中包含一个USB集线器,在Kinect内部通过Hub将红外摄像头、彩色摄像头、电机等设备连接到Kinect内部USB总线上面,最后将Kinect设备连接到ARM9嵌入式硬件平台的Roothub上面。 图2.16 系统硬件连接图
[单片机]
Kinect移植到嵌入式<font color='red'>ARM</font>平台上面
Speed Pixel获益于ARM DesignStart 计划 得ARM7TDMI授权
香港本土fabless公司获益于ARM DesignStart 计划 中国上海,2007年8月13日 ——ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)今天宣布,位于香港的新兴fabless公司Speed Pixel Technology Ltd. 通过ARM代工厂计划获得ARM7TDMI处理器授权。Speed Pixel拥有强大的终端产品系统设计背景,通过这项协议,公司将能够开发先进的片上系统解决方案,用于中、短距离数字无线视频应用。Speed Pixel通过ARM DesignStart 计划开始其基于ARM技术的设计。在风险基金的支持下,Speed Pixel正加紧完成其产品设计,预计将于2007年第三季度上市。
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved