嵌入式课程设计报告-基于web的嵌入式远程监控系统Word格式.doc
《嵌入式课程设计报告-基于web的嵌入式远程监控系统Word格式.doc》由会员分享,可在线阅读,更多相关《嵌入式课程设计报告-基于web的嵌入式远程监控系统Word格式.doc(34页珍藏版)》请在冰豆网上搜索。
该系统在智能家居、嵌入式组网等方面的应用将有较广阔的发展前途。
关键词:
ARM嵌入式系统;
嵌入式web监控;
boa服务器;
CGI编程;
Linux操作系统
自动化、奏乐器、VHDL、数字电路
Abstract:
Accordingtotheanalysisoftheresearchesaboutthestatusofthembeddedserveroftheworld.WeriseadesignofaembeddedinternetcontrolsystembasedontheWebservicewhichintegratesthewebserver,embeddedtechnologyandthefunctionsontheembeddedexperimentBoard.Thissystemhasthefunctionofbrowsingthewebpages,monitoringtheembeddedBoardandsoon.WiththisembeddedWEBserver,theuserscanwatchtheembeddedsystemconvenientlyaccordingtheHTTPprotocol.Atthesametimetheuserscanalsomonitortheystem.Thissystemhavealotoflongtageslikealowrequestofthehardware,limitedtimeofresponseandastablestatus.Wewillseethatthiskindofsystemusedintheapplicationofintelligentfamilyelectronics,embeddednetingandsoonwouldhaveagooddevelopment.
Keywords:
ARMEmbeddedSystem;
EmbeddedWebServerSystem;
Boa
Server;
CGIPrograming;
LinuxOperatingSystem
1引言
嵌入式系统课程设计是本专业在学习完C语言、LINUX操作系统、嵌入式系统原理与接口设计、嵌入式操作系统原理之后的专业课程设计,属于专业课内容。
通过课程设计建立嵌入式系统主体环节,嵌入式系统的最小结构和系统应用设计基本技能,培养分析和解决一些简单的实际问题的能力,为今后毕业设计奠定基础。
随着嵌入式技术的发展和高速宽带网络的普及,利用网络实现远程监控已为人们广泛接受,嵌入式网络监控技术正是在此条件下逐步发展成熟起来的。
用户使用Web浏览器,通过以太网远程访问内置Web服务器的监控摄像机,不但可以实现对现场的远程视频监控,而且可以向监控现场发送指令。
在整个系统的实现过程中,嵌入式Web服务器起着十分重要的作用。
本课题就是基于该项技术,最终编程实现通过网络控制下位机嵌入式控制器的电机启动和停止。
1.1研究目的和意义
1、通过嵌入式课程设计,熟练掌握C语言的编程方法。
基于WEB的远程监控的实现,CGI的编写和使用,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过基于WEB的嵌入式远程监控系统的设计,掌握S3C2410实验箱,直流电机的工作原理,BOA服务器的使用,CGI的使用和简单程序的编写及调试方法,最终提高我们的动手实践能力。
3、本课题的研究目的是用BOA服务器、CGI、IE浏览器设计一个通过IE浏览器监控电机的系统,能够通过两个简单的按键对电机进行启动和停止的控制,并能够在IE浏览器上看到电机的当前状态。
4、由于基于WEB的嵌入式远程监控系统将成为今后远程监控技术发展的主流方向,所以需要设计出简单实用,让人们更满意的产品。
1.2本设计任务和主要内容
1.基本要求
本课题主要设计和研究基于WEB的嵌入式远程监控系统,要求在保证可靠运行的前提下,电路设计尽量简洁紧凑,以减小成本、提高系统的效率和安全性。
2.应解决的问题
1)设计系统网络方案
2)分析网络程序结构和应用程序的使用方法
3)编程实现嵌入式系统服务器功能
4)编程实现嵌入式系统联网功能
5)编程实现通过网络控制下位机嵌入式控制器的电机启动和停止
3.扩展功能
演奏时可以通过按键选择是手动演奏还是自动演奏,手动演奏是通过按键进行简易乐曲的演奏。
2总体方案设计
2.1整体方案设计
系统总体设计是基于嵌入式系统和WEB服务器结合的思想开发的,其网络拓扑结构如图2.1所示
图2.1系统网络拓扑图
针对本次课程设计提出的系统设计如图2.2所示
图2.2系统方案框图
2.2硬件系统设计
2.3.1核心处理器的选择
核心处理芯片需要完成处理和支持整个系统的功能需求,通过运行BOA服务器要实施的接收来自各个客户端的请求和信息,并根据获得的请求和信息进行相应的后台处理以及信息的反馈。
为完成上述功能,实现服务器正常运行,对处理芯片进行选型,对比现有处理芯片的优缺点,选择ARM9S3C2410X芯片作为设计开发嵌入式服务器系统的核心处理芯片。
S3C2410X微处理器是一款由Samsung公司为手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:
16KB指令Cache、16KB数据Cache、MMU、外部存储器控制器、LCD控制器、NANDFLASH控制器、4个DMA通道、3个UART通道、1个IIC总线控制器、1个IIS总线控制器、4个PWM定时器、1个内部定时器、通用IO口、实时时钟、8通道10位ADC和触摸屏接口、USB主、USB从、SD/MMC卡接口等。
2.3软件环境选择
2.3.1操作系统的选择
当选定了硬件系统后,为了配合硬件达到系统的最优控制要求,对市面上常用的嵌入式系统进行分析比较。
(1)价格比较:
Linux是完全免费的操作系统,只需遵循GPL声明,不需支付任何费用;
WinCE是微软的商用嵌入式操作系统,使用它需要支付WinCE及其开发环境的费用,开发出来的每套产品也需交纳一定费用。
uc/os—II系统,可以免费用于学习或科研,但开发商使用产品或销售都是收费的。
(2)开放性比较:
Linux是源代码完全开放的操作系统,可以自由下载,并且在遵循GPL声明的前提下可以自由地修改、移植,为系统的开发和调试带来极大的便利;
winCE是部分源码开放的商用操作系统,如果要修改其中的代码,需获得微软公司的授权;
uc/os—II也是开放的实时操作系统。
(3)文件系统的比较:
Linux支持绝大部分文件系统,只需选择相应的文件系统即可;
WinCE仅支持Windows系列的FAT16、有限文件系统;
uc/os—II本身没有包括文件系统,需购买或移植。
Linux与ARM处理器从以上可以看出,Linux系统在诸多方面都存在优势,而且本身的ARM处理器与Linux也有着紧密的联系。
因此采用Linux操作系统。
2.3.2服务器的选择
典型的嵌入式Web服务器有Boa和thttpd两种,它们和Apache等高性能的Web服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。
Boa是一个非常小巧的Web服务器,可执行代码只有约60KB。
它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。
但Boa支持CGI,能够为CGI程序fork出一个进程来执行。
Boa的设计目标是速度和安全,在其站点公布的性能测验中,Boa的性能要好于Apache服务器。
经过上述的对比和判断,选择Boa作为系统的嵌入式服务器。
综合以上的讨论以及选择,根据系统的实际需求,最终确定了采用S3C2410X为核心处理器,Linux为嵌入式操作系统,boa为服务器以及相应的http浏览器的系统设计方案。
3硬件设计
3.1系统硬件平台介绍
我们所介绍的硬件平台是基于ARM体系结构,由北京博创兴业科技有限公司开发的UP-NetARM2410-S实验仪器。
UP-NetARM2410-S的CPU为ARM920T内核的三星S3c2410芯片,由于有MMU(内存管理单元)可以运行标准的ARM-LINUX内核。
通过这个平台,我们可以实现嵌入式LINUX中的针对无MMU的开发过程。
3.2s3c2410芯片介绍
图3.1芯片结构图
3.3ARM处理器的外围设备
3.3.1电源电路
设备提供12v的电源,经LM1085-3.3V和AS1117-1.8V分别得到3.3V和1.8V的工作电压。
开发板上的芯片多数使用了3.3V电压,而1.8V是供给S3C2410内核使用的。
5V电压供给LCD、电机、总线等电路使用。
图3.2电源电路
3.3.2硬件复位电路
硬件复位电路由IMP811T构成,实现对电源电压的监控和手动复位操作。
2410-S主板复位电路设置专用逻辑:
IMP811T的复位电平可以使CPUJTAG(nTRST和板级系统(nRESET)全部复位;
来自仿真器的ICE_nSRST信号只能使板级复位;
来自仿真器的ICE_nTRST可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET复位。
nRESET反相后得到RESET信号。
硬件复位电路如图3.3所示
图3.3硬件复位
4软件设计
4.1设计思想
基于web的嵌入式监控系统设计主要的功能有简单的网页浏览,实现简单应用功能(客户端与服务器的交互)以及服务器端的控制功能。
因此软件的设计分为三个部分:
boa服务器的搭建、应用程序设计和驱动程序的加载。
4.2BOA服务器的简介与搭建
4.2.1嵌入式Web服务器Boa的特点
Boa是一款单任务的HTTP服务器,与其他传统的Web服务器不同的是当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制自身进程来处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接请求