引言
随着嵌入式系统与通信技术的不断发展,各种嵌入式设备正在以不同形式改变着人们的日常生活,ARM(Advanced RISC Machines)是微处理器行业的一家企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM(Asynchronous Resbonse Mode)异步响应方式异步响应方式ARM(Asynchronous Responses Mode)也是一种非平衡数据链路操作方式,与NRM不同的是,ARM下的传输过程由从站启动。从站主动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧
本设计在基于嵌入式Linux系统平台上。实现一个基于ARM、Linux平台的传感器网络系统,完成数据的采集、处理、通讯、存储、查询和图形显示功能。Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中着名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。
1 系统总体组成
本设计采用将数据采集节点作为客户端,将采集得来数据通过TCP/IP协议传输到网关节点,由网关服务器存储数据,并转发。
1.1 节点的硬件组成
考虑到各采集节点的完全独立性,前端设备采用嵌入式设计方法,其硬件组成结构。
传感器节点作为客户端负责对数据采集,并通过模数转化将数据传输给网关节点。网关节点接受到数据后存入数据库。通过CGI响应PC机上的查询、控制。
1.2 数据的预处理
节点数据的预处理,主要是检测采集的数据,对其进行合法过滤。按照既定协议,为数据分配数据头、间隔符、校验码,重新封装成数据流,采用TCP/IP协议,通过网络发送到主机。
1.3 数据的存储及传输
存储器系统负责系统的静态存储与动态存储。其中flash用于静态存储,SDRAM用于动态存储。flash又分为norflash和nandflash。no-rflash支持直接启动用于存储程序代码,nandflash用于存储数据信息。SDRAM存储器速度快,主要作为程序的运行空间。SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
2 系统的软件设计
系统的软件构成分为引导驱动程序、操作系统、文件系统和应用程序4部分,引导驱动程序在系统启动时进行内存重映射,将保存在Flash中的操作系统和应用程序重新映射到SDRAM中,为方便起见也可以配置好启动脚本。
3 节点配置
3.1 采集节点配置
(1)配置S3C2410开发板的NFS Root启动方式。先把rootfs/目录下的srv目录删除,再把采集端发布包中的srv与node两个目录都拷贝到rootfs目录下。
(2)以NFS方式启动S3C2410开发板,配置YAFFS文件系统。
(3)在配置YAFFS文件系统的过程中,在mount-t yaffs/dev/mtdblock3/mnt这一步之后,增加以下步骤:
cd/mnt
rm-r srv
cp-r/srv/node/mnt
然后继续继续完成剩下的yaffs文件系统的配置步骤,注意一定要
mount/mnt
(4)配置采集端启动脚本
vi/etc/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下内容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.25(注意:这里192.168.0.25是采集端开发板IP,各采集端IP不同,而且需要都在同一个网段上,我们统一选择网段192.168.0.*)。
Ifconfig lo up
mknod/dev/adc_char c 240 0
cd/node
Insmod ado.ko
(5)重启S3C2410采集端开发板,进入vivi,配置paraset linux_cmd_line启动参数为从YAFFS启动。para save之后键入boot,启动开发板,把开发板接入网络中,从PC机上运行浏览器,在地址栏上输入http://192.168.0.25/,(注意,这里192.168.0.25是采集端IP地址,应根据实际IP地址输入),打开设置网关IP地址的网页,设置网关IP地址为192.168.0.100。
在采集端串口终端下执行如下内容:
#cd/node
#./app
3.2 网关节点配置
(1)配置S3C2A10开发板的NFS Root启动方式。先把rootfs/目录下的srv目录删除,再把采集端发布包中的www文件夹与app可执行文件拷贝到rootfs/srv/目录下和rootfs/srv/www 下。
(2)以NFS方式启动S3C2410开发板,配置YAFFS文件系统。
(3)在配置YAFFS文件系统的过程中,在mount-t ysffs/dev/mtdblock3/mnt这一步之后,增加以下步骤:
cd/mnt
rm-r srv
cp-r/srv/mnt
然后继续继续完成剩下的yaffs文件系统的配置步骤,注意一定要
umount/mnt
(4)配置采集端启动脚本
vi/etc/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下内容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.100
Ifconfig lo up
(5)重启S3C2410采集端开发板,进入vivi,配置paraset linux_cmd_line启动参数为从YAFFS启动。para save之后键入boot,启动开发板,到/srv/www下执行app,把开发板接入网络中,从PC机上运行浏览器,在地址栏上输入http://192.168.0.100/,输入IP地址就可以找刭相应节点所采集到的数值。
4 总结
嵌入式Linux因其源码开放、内核稳定高效及支持多种体系结构等优点在嵌入式系统中应用广泛,本文在陆眦操作系统上,通过交叉编译环境编译后生成可执行代码,可以成功移植到目标平台上,经测试发现,本系统稳定,易维护。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。