论文部分内容阅读
摘要:本设计构建并实现了基于ARM的嵌入式Web的远程粮仓温湿度监测系统,介绍了嵌入式Linux操作系统在ARM9芯片S3C2410中上的移植,包括嵌入式Web服务器的硬件结构、软件设计以及嵌入式Linux操作系统下Web服务器的实现方法。
关键词:嵌入式网络 ARM S3C2410 Linux 远程监测
0 引言
随着嵌入式技术的不断发展,人们越来越青睐开发以应用为中心的嵌入式系统。更为重要的是,网络化已经成为嵌入式系统发展的一大趋势,人们可以通过Internet网络自动地、实时地、方便地获取需要的嵌入式系统信息。本设计基于某一粮仓进行网络监测的需求实现嵌入式系统开发,要求通过局域网或Internet获取粮仓的温度、湿度及其他信息。温度等信息的测量有相应的软件和硬件模块,有接口和网络功能实现连接。考虑网络功能的嵌入式系统具有以下特点[1]:①监测设备一方面是网络服务器,另一方面具有转换信号、采样及TCP/IP通信等功能,并且该监测设备具有结构简单、安装方便、成本低、易实现的优点;②客户端无需任何额外程序,通过Web浏览器就能对设备进行监测;③采用TCP/IP网络协议标准,系统组网容易,传输数据量大、传输速率快。根据要求,本文提出基于S3C2410和Linux嵌入式系统Web服务器的实现方案。
1 系统结构设计
1.1 系统硬件设计 通过专用的嵌入式网关连接或者专用的Web服务器实现嵌入式设备Web服务,本文借助嵌入式系统自身实现Web服务器的功能。通过相应的处理,将前端传感设备采集的现场信号转换为网络信号,同时确保该网络信号符合TCP/IP协议,采用微处理器S3C2410与Linux进行结合,在一定程度上构建嵌入式Web服务系统。通常情况下,核心控制器S3C2410、时钟、复位、电源电路模块、RS232接口电路、以太网接口电路、存储器模块,以及JTAG接口电路等共同组成硬件电路。通过任一个局域网或Internet终端,用户就能对该监测数据进行访问,系统硬件结构如图1所示:
选用ARM9芯片S3C2410作为系统主控制器,该微处理器的特点是性价比高、功耗低。系统带有UARTO和UART1两个串行接口,其中UARTI复用支持RS485和RS422接口;存储器包括SDRAM和FLASH,该系统一方面配置了一片Intel strata flash,一片Atmel的AT49LVl614A,
2MB NOR flash,两片32MB的三星SDRAM,另一方面配置了SD卡座和SMC卡座[2]。
1.2 系统软件设计[3][4][5] 嵌入式Linux操作系统的移植和嵌入式Web服务器移植系统软件设计的重点。
对于嵌入式Linux操作系统的移植来说,主要涉及Boot Loader、内核,以及根文件系统的移植。Boot Loader作为嵌入式系统的引导程序,这是一段代码,该代码在处理器加电复位后首先执行,初始化系统硬件,同时设置相应的堆栈指针,然后跳转到操作系统内核的入口,并且将系统控制权转交给操作系统。在Linux操作系统中,内核作为核心,是一种系统软件,对硬件资源进行管理,同时控制运行程序、改善人机界面,以及为应用软件提供支持。它对嵌入式系统进行管理是通过处理器管理、存储器管理、文件管理、设备管理来实现的。根文件系统包含系统使用的软件和库,以及为用户提供支持架构和用户使用的应用软件,并作为存储数据读/写结果的区域,是Linux系统的重要组成部分。
嵌入式Web服务器移植主要包括httpd、thttpd和boa三种。本系统选择boa Web Server,它能够支持CGI,比较适合于嵌入式系统。Common Gateway Interface(通用网关接口,CGI)提供web服务器一个执行外部程序的通道,浏览器和服务器之间借助这种服务端技术进而具有交互性,可以利用任何程序设计语言编写CGI程序。客户端请求通过boa进行接收,同时boa对其进行请求分析、请求响应,以及向客户端返回请求等。下载boa Web服务器的源代码boa-0.94.14rc21.tar.bz2、安装并编译boa源代码,实现嵌入式Web服务器移植。
之后,配置Web服务器、制作cramfs文件系统、将VIVI、内核和文件系统的映像文件烧录到系统存储器中,完成嵌入式Linux系统的移植。
完成嵌入式Linux系统的移植之后,将设计的远程粮仓温湿度应用程序在Linux嵌入式系统中运行,即可以实现课题要求的远程粮仓温湿度监测功能。
2 其它设计
2.1 温度传感器 温度传感器采用单线数字温度传感器DSl8B20。DS18B20是DALLAS半导体公司生产的新一代适配微处理器的单线智能温度传感器,是世界上第一片支持“one-Wire”总线接口的温度传感器,从DSl8B20读出信息或向DSl8B20写入信息仅需要一根口线(单线接口)。在其内部使用了在板(ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。测温范围较广,为-55~+125℃,固有测温分辨率为0.5℃。温度变换功率来源于数据总线,总线本身即可以向所接的DSl8820供电,而无需额外电源。在对传感器数据采集的软件编程中,采用单线总线协议。通过单线总线访问DSl8B20的协议包括:初始化DSl8B20、ROM操作命令、存储器操作命令和读数据/处理数据等。
DSl8B20集温度测量、A/D转换于一体,可根据实际要求通过简单的编程实现9~12位的数字值读数方式,具有体积小、接口方便、传输距离远等特点。注意,DSl8820与微处理器连接时应加入一个阻值为5.1kΩ的上拉电阻。
2.2 网络接口 S3C2410 CPU本身并没有网络接口,系统网络接口通过使用CS8900A 10M网络模块进行扩展,该模块网卡芯片是美国CIRRUS LOGIC公司生产的16位以太网控制器,其特点是性能优良、低功耗,以及价格低廉等,在一定程度上符合Ethernet II与IEEE802.3(10
Base5,10Base2,10BaseT)标准。该芯片使用灵活,并且能够根据需要进而动态地调整物理层接口、数据传输模式和工作模式等,通过设置内部寄存器进而与不同的应用环境相适应。CS8900A的工作原理:发送时,收到主机送来的数据报后,对网络线路进行侦听。如果线路忙,就等到线路空闲为止;否则,立即发送该数据帧。发送过程中,首先,它添加包括先导字段和帧开始标志的以太网帧头,然后,生成CRC校验码,最后,将数据帧发送到以太网上。接收时,它将从以太网收到的数据帧在经过解码、去掉帧头和地址检验等步骤后缓存在片内。CS8900A接口如图2所示。
3 结束语
本文提出了一种基于ARM和嵌入式Linux操作系统的嵌入式远程粮仓温湿度监测系统,通过对相应的软硬件设计和嵌入式Linux操作系统的移植进行研究。嵌入式远程监测系统的优点是:成本低、具有可移植性、安装方便、使用简单等优点,在一定程度上便于后期维护和升级。嵌入式远程监测系统中嵌入式Web Server的应用,为嵌入式远程监测提供了更大的优势。
参考文献:
[1]于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.
[2]SAMSUNGPRODUCTOVERVIEW关于S3C2410X技术手册[Z].
[3]田泽.ARM9嵌入式Linux开发实验与实践[M].北京:北京航空航天大学出版社,2006.
[4]周立功.ARM嵌入式系统软件开发实例[M].北京:北京航空航天大学出版社,2004.
[5]杜春留.ARM体系结构与编程[M].北京:清华大学出版社,2003.
基金项目:
河南省教育厅自然科学研究项目,基金号:2011B510005。
作者简介:李祥(1979-),男,河南师范大学硕士研究生,河南经贸职业学院讲师,研究方向:嵌入式系统及网络技术应用。
关键词:嵌入式网络 ARM S3C2410 Linux 远程监测
0 引言
随着嵌入式技术的不断发展,人们越来越青睐开发以应用为中心的嵌入式系统。更为重要的是,网络化已经成为嵌入式系统发展的一大趋势,人们可以通过Internet网络自动地、实时地、方便地获取需要的嵌入式系统信息。本设计基于某一粮仓进行网络监测的需求实现嵌入式系统开发,要求通过局域网或Internet获取粮仓的温度、湿度及其他信息。温度等信息的测量有相应的软件和硬件模块,有接口和网络功能实现连接。考虑网络功能的嵌入式系统具有以下特点[1]:①监测设备一方面是网络服务器,另一方面具有转换信号、采样及TCP/IP通信等功能,并且该监测设备具有结构简单、安装方便、成本低、易实现的优点;②客户端无需任何额外程序,通过Web浏览器就能对设备进行监测;③采用TCP/IP网络协议标准,系统组网容易,传输数据量大、传输速率快。根据要求,本文提出基于S3C2410和Linux嵌入式系统Web服务器的实现方案。
1 系统结构设计
1.1 系统硬件设计 通过专用的嵌入式网关连接或者专用的Web服务器实现嵌入式设备Web服务,本文借助嵌入式系统自身实现Web服务器的功能。通过相应的处理,将前端传感设备采集的现场信号转换为网络信号,同时确保该网络信号符合TCP/IP协议,采用微处理器S3C2410与Linux进行结合,在一定程度上构建嵌入式Web服务系统。通常情况下,核心控制器S3C2410、时钟、复位、电源电路模块、RS232接口电路、以太网接口电路、存储器模块,以及JTAG接口电路等共同组成硬件电路。通过任一个局域网或Internet终端,用户就能对该监测数据进行访问,系统硬件结构如图1所示:
选用ARM9芯片S3C2410作为系统主控制器,该微处理器的特点是性价比高、功耗低。系统带有UARTO和UART1两个串行接口,其中UARTI复用支持RS485和RS422接口;存储器包括SDRAM和FLASH,该系统一方面配置了一片Intel strata flash,一片Atmel的AT49LVl614A,
2MB NOR flash,两片32MB的三星SDRAM,另一方面配置了SD卡座和SMC卡座[2]。
1.2 系统软件设计[3][4][5] 嵌入式Linux操作系统的移植和嵌入式Web服务器移植系统软件设计的重点。
对于嵌入式Linux操作系统的移植来说,主要涉及Boot Loader、内核,以及根文件系统的移植。Boot Loader作为嵌入式系统的引导程序,这是一段代码,该代码在处理器加电复位后首先执行,初始化系统硬件,同时设置相应的堆栈指针,然后跳转到操作系统内核的入口,并且将系统控制权转交给操作系统。在Linux操作系统中,内核作为核心,是一种系统软件,对硬件资源进行管理,同时控制运行程序、改善人机界面,以及为应用软件提供支持。它对嵌入式系统进行管理是通过处理器管理、存储器管理、文件管理、设备管理来实现的。根文件系统包含系统使用的软件和库,以及为用户提供支持架构和用户使用的应用软件,并作为存储数据读/写结果的区域,是Linux系统的重要组成部分。
嵌入式Web服务器移植主要包括httpd、thttpd和boa三种。本系统选择boa Web Server,它能够支持CGI,比较适合于嵌入式系统。Common Gateway Interface(通用网关接口,CGI)提供web服务器一个执行外部程序的通道,浏览器和服务器之间借助这种服务端技术进而具有交互性,可以利用任何程序设计语言编写CGI程序。客户端请求通过boa进行接收,同时boa对其进行请求分析、请求响应,以及向客户端返回请求等。下载boa Web服务器的源代码boa-0.94.14rc21.tar.bz2、安装并编译boa源代码,实现嵌入式Web服务器移植。
之后,配置Web服务器、制作cramfs文件系统、将VIVI、内核和文件系统的映像文件烧录到系统存储器中,完成嵌入式Linux系统的移植。
完成嵌入式Linux系统的移植之后,将设计的远程粮仓温湿度应用程序在Linux嵌入式系统中运行,即可以实现课题要求的远程粮仓温湿度监测功能。
2 其它设计
2.1 温度传感器 温度传感器采用单线数字温度传感器DSl8B20。DS18B20是DALLAS半导体公司生产的新一代适配微处理器的单线智能温度传感器,是世界上第一片支持“one-Wire”总线接口的温度传感器,从DSl8B20读出信息或向DSl8B20写入信息仅需要一根口线(单线接口)。在其内部使用了在板(ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。测温范围较广,为-55~+125℃,固有测温分辨率为0.5℃。温度变换功率来源于数据总线,总线本身即可以向所接的DSl8820供电,而无需额外电源。在对传感器数据采集的软件编程中,采用单线总线协议。通过单线总线访问DSl8B20的协议包括:初始化DSl8B20、ROM操作命令、存储器操作命令和读数据/处理数据等。
DSl8B20集温度测量、A/D转换于一体,可根据实际要求通过简单的编程实现9~12位的数字值读数方式,具有体积小、接口方便、传输距离远等特点。注意,DSl8820与微处理器连接时应加入一个阻值为5.1kΩ的上拉电阻。
2.2 网络接口 S3C2410 CPU本身并没有网络接口,系统网络接口通过使用CS8900A 10M网络模块进行扩展,该模块网卡芯片是美国CIRRUS LOGIC公司生产的16位以太网控制器,其特点是性能优良、低功耗,以及价格低廉等,在一定程度上符合Ethernet II与IEEE802.3(10
Base5,10Base2,10BaseT)标准。该芯片使用灵活,并且能够根据需要进而动态地调整物理层接口、数据传输模式和工作模式等,通过设置内部寄存器进而与不同的应用环境相适应。CS8900A的工作原理:发送时,收到主机送来的数据报后,对网络线路进行侦听。如果线路忙,就等到线路空闲为止;否则,立即发送该数据帧。发送过程中,首先,它添加包括先导字段和帧开始标志的以太网帧头,然后,生成CRC校验码,最后,将数据帧发送到以太网上。接收时,它将从以太网收到的数据帧在经过解码、去掉帧头和地址检验等步骤后缓存在片内。CS8900A接口如图2所示。
3 结束语
本文提出了一种基于ARM和嵌入式Linux操作系统的嵌入式远程粮仓温湿度监测系统,通过对相应的软硬件设计和嵌入式Linux操作系统的移植进行研究。嵌入式远程监测系统的优点是:成本低、具有可移植性、安装方便、使用简单等优点,在一定程度上便于后期维护和升级。嵌入式远程监测系统中嵌入式Web Server的应用,为嵌入式远程监测提供了更大的优势。
参考文献:
[1]于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.
[2]SAMSUNGPRODUCTOVERVIEW关于S3C2410X技术手册[Z].
[3]田泽.ARM9嵌入式Linux开发实验与实践[M].北京:北京航空航天大学出版社,2006.
[4]周立功.ARM嵌入式系统软件开发实例[M].北京:北京航空航天大学出版社,2004.
[5]杜春留.ARM体系结构与编程[M].北京:清华大学出版社,2003.
基金项目:
河南省教育厅自然科学研究项目,基金号:2011B510005。
作者简介:李祥(1979-),男,河南师范大学硕士研究生,河南经贸职业学院讲师,研究方向:嵌入式系统及网络技术应用。