嵌入式系统的软硬件设计.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统的软硬件设计

课程名称:嵌入式系统的软硬件设计论文题目:基于嵌入式web服务器的远程控制系统姓名:组号:日期:一、设计背景介绍目前,Internet技术已在全球普及,嵌入式也开始采用这一技术,并成为热点。嵌入式的Internet技术具有广泛的应用前景,比如智能公路、信息家电、工业自动化、电子商务、设备管理等。在嵌入式Internet技术中,嵌入式web服务器的研究有这种用意义。它可以为我们管理、控制和监测各式各样的设备提供了已很好的途径。嵌入式Web服务器可以运行在硬件受限的嵌入式系统上,通过用户端的浏览器,可以使用图形界面来访问嵌入式系统,而这种方式是基于Internet的,这种设备可以在世界的任何一个地方,只要它连入Internet就能控制它,非常的方便。随着Internet技术和嵌入技术的高速发展,基于Internet的远程控制越来越普遍,工业现场运行维护模式正在发生深刻的网络变化:即将web服务器“嵌入”工业控制系统中接入Internet网中,在世界的任何一个地方可以通过网络Internet获得该工业控制的实时控制的信息。进而实现实时远程控制,调节,维护。显然这种基于web服务器的远程控制维护将大大减少成本。但是现有的远程控制系统都是基于C/S模式的,需要客户端程序的支持,这不仅加大客户端的编程,还加大客户端的维护的工作量。本小组选择了基于嵌入式web服务器远程控制系统。提供简单的人机交互页面的,减少了远程控制系统程序开发的难度。二、系统总体方案2.1硬件资源本次课程实验采用的硬件平台友善公司的MINI2440开发板,如图1所示。Mini2440 是一款真正低价实用的ARM9开发板,是目前国内性价比最高的一款学习板; 它采用SamsungS3C2440为微处理器,并采用专业稳定的 CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性。开发板提供了3个串行口、一个USB Host、一个USB Slave B、4个USER LED、1个PWM控制蜂鸣器、一个可调电阻等。根据本系统所涉及的模块做出系统硬件框图如图2所示。图1 MINI2440图2 系统硬件框图2.2 软件设计首先分析系统的功能需求,我们设计题目是基于嵌入式web服务器的远程控制系统,那么此系统需要完成以下几个功能:WEB服务器的搭建经过查阅资料我们选择BOA服务器作为本系统的WEB服务器,BOA服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。具体的搭建流程参考网络资料。控制页面的编写控制页面主要是通过html语言编写,将页面文件放置在web服务的文件根目录下,等待浏览器访问web服务器时,服务器能够自动的返回我们所编写的页面,从而实现与远程的交互服务器端CGI程序的编写根据html和CGI调用的规范,我们将事先写好的程序编译成CGI文件放置到web服务器的相应文件夹中,当有相应的请求发生时,web服务器会自动条用相应的CGI程序。linux驱动的编写linux驱动主要涉及LED驱动、PWM驱动及DS18B20驱动。本系统大体的流程图如下:系统流程图三、驱动设计(个人工作)1、主要内容蜂鸣器驱动的编写DS18B20驱动的编写2、设备驱动原理linux系统设备分为3类:字符设备、块设备、网路设备。基本框架如下图所示:字符设备:是指只能按字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后。字符设备是面向流的设备,常见的设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度的设备。块设备包括硬盘、磁盘、U盘和SD卡等。编写字符设备驱动之前可以通过下图了解用户空间与字符设备是如何进行交互的:3、蜂鸣器驱动编写蜂鸣器的控制时通过改变PWM的占空比来实现的,MINI2440开发板提供了如下资源,通过控制GPB0的输出可以控制蜂鸣器的状态,因为本实验要实现的是对蜂鸣器响声的调节,所以需要调节引脚输出电平的频率和占空比来实现,这样就需要编写PWM驱动了。整个驱动设计流程如下图所示:字符设备的定义structpwm_dev{structcdevcdev;//字符设备结构体};定义一个结构体用来存放相关变量,有利于提高驱动的扩展性。设备初始化cdev_init(dev-cdev, pwm_fops);通过调用cdev_init函数进行设备的初始化,第一个参数为字符设备结构体的地址,第二个变量为pwm设备的操作函数结构体地址。设备号获取if(pwm_major)//主设备号已经分配直接注册设备{devno = MKDEV(pwm_major, pwm_minor);result = register_chrdev_region(devno

文档评论(0)

docindpp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档