ARM9平台基于WEB传感器的监控实现
2009-10-22金昊
金 昊
摘 要 以arm9处理器的QQ2440V3为核心构建了硬件平台。以linux实时多任务操作系统作为管理平台,应用通信的TCP/IP协议,进行应用软件的通信,实现了远程测量。
关键词 传感器 WEB ARM9 压力监控
中图分类号:TP391文献标识码:A
网络传感器是采用了现代通信技术、计算机网络技术和传感器技术相结合的现代高新综合技术。应用嵌入式网络传感器,可以在WEB实现监控的强大功能。本文目标是在建立嵌入式Web服务器的基础上,实现嵌入式压力传感器。
1 系统架构
系统的解决方案是32位微处理器+RTOS。我们设计的网络监控系统的目标是将传感器技术、通信技术和计算机网络技术采用模块化结构进行有机地结合起来,运用国际通用的标准的网络协议,运用敏感元件输出的模拟信号经过A/D(模拟/数字)数据转换及数据处理后,采取程序的设定方法和TCP/IP协议将其封装成数据帧,通过计算机网络接口传输到网络系统上。系统的基本结构如图1。
2 系统硬件开发
网络传感器为了满足现场实时数据采集的需要,要求最大限度地缩小系统硬件的几何尺寸并且要求微处理器具有较快的处理速度,以满足工作实际应用能力的要求。经过我们多次进行分析、对比和实验的基础上,本文选择32位微处理器选用的是ARM9处理器,这主要考虑到ARM9处理器物美价廉,使用方便。为了节省时间,使得开发的顺利进行,开发首先是用开发板来进行的,后期通过应用ARM9芯片来实现,在QQ2440V3板子上进行。
2.1 ARM9结构特点
ARM9系列处理器是英国ARM公司设计的应用比较广泛的主流嵌入式处理器,ARM9系列处理器主要有ARM9E-S和ARM9TDMI等系列。由于新一代的ARM9系列处理器采用了更多的晶体管并且增加了时钟频率和减少了指令周期等,因此使得ARM9系列处理器处理能力能够达到ARM7系列处理器两倍以上。下面我们介绍ARM9系列处理器主要特点:
(1)ARM9E-S系列处理器片内数据和指令高速缓冲器容量从4K字节升至1M字节;
(2)ARM9E-S系列处理器32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。支持实时(real-time)调试;
(3)ARM9E-S系列处理器采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
(4)ARM9E-S系列处理器支持标准基本逻辑单元扫描测试方法学,而且支持BIST;
(5)ARM9E-S系列处理器片内指令和数据SRAM,而且指令和数据的存储器容量可调;
(6)ARM9E-S系列处理器由于设置保护单元,所以非常适合嵌入式应用中对存储器进行分段和保护;
(7)ARM9E-S系列处理器支持外部协处理器,指令和数据总线有简单的握手信令支持;
2.2系统硬件组成
外部通信的基本接口利用QQ2440V3提供的两个UART外加电平转换电路MAX232组成标准的RS232接口和Modem接口。利用QQ2440V3提供的调制解调器控制握手接口和电平转换电路实现了Modem接口。由于以太网络接口是一个含有微处理器的独立设备的可选件网络接口,因此与传感器系统的通信方仍然是通过RS232接口来实现的。
3 操作系统的移植
作为整个嵌入式系统的核心部分是嵌入式实时操作系统,它主要是用来负责管理各进程的创建、删除、调度,及进程间的并发控制和通信,并统一管理系统中的软硬件资源。
Linux下开发环境的建立主要就是建立交叉编译环境,在Redhat 9.0里面建立一个能编译arm-linux 内核及驱动、应用程序等开发环境的步骤如下。
先将光盘目录 linux 中的 arm-linux-gcc-3.3.2.tgz 、 arm-linux-gcc-2.95.3.tgz 和arm-linux-gcc-3.4.1.tgz拷贝到某个目录下如tmp,然后进入到该目录,执行解压命令:
#cd mp
#tar xvzf arm-linux-gcc-3.3.2.tgz–C /
#tar xvzf arm-linux-gcc-2.95.3.tgz –C /
#tar xvzf arm-linux-gcc-3.4.1.tgz–C /
#mkdir –p /opt/FriendlyARM/QQ2440 ;建立工作目录,备用 执行该命令,将把arm-linux-gcc( 版本 3.3.2, 2.95.3 和 3.4.1) 分别安装到/usr/loca/arm/2.95.3和/usr/local/arm/3.4.1目录,其中 3.3.2版本是用来编译Qtopia/Embedded的,2.95.3版本是用来编译 VIVI 的,3.4.1版本是用来编译内核的,两个版本均可以用来编译应用程序等。
然后运行命令
#gedit /root/.bashrc
编辑/root/.bashrc文件,在最后一行 export PATH=$PATH:/usr/local/arm/3.4.1/bin 保存退出。在操作系统的开发中,需要用到linux下的驱动程序。由于本系统没有涉及到更多的驱动,应用linux提供的源码就够了。在对linux操作系统进行裁减编译后,需要通过串口传送文件到开发板,传送完毕把文件的属性改为可执行才能正常运行。
4 远程监控
本文我们选择Java Applet实现了传感器数据的远程实时采集,以组件的方式嵌入到网页中,当用户浏览器访问传感器中的服务器时,下载其内嵌的Applet,然后通过浏览器设定采样长度、采样频率等有关参数,通过GET命令传给内嵌Web服务器;当Web服务器收到命令时,启动信号采集,把采集到的数据放到数据缓冲区中。
参考文献
[1] 熊有伦.基于嵌入式Internet的工业控制[J].测控技术,2001(8).
[2] 马忠梅,马广云.徐英慧等.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社.
[3] 杨波.Linux下的WEB服务器技术[M].西安:西安电子科技大学出版社,2001.7.