大连科技学院计算机科学与技术本科 2Word文档格式.docx
- 文档编号:16234207
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:23
- 大小:531KB
大连科技学院计算机科学与技术本科 2Word文档格式.docx
《大连科技学院计算机科学与技术本科 2Word文档格式.docx》由会员分享,可在线阅读,更多相关《大连科技学院计算机科学与技术本科 2Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
总评成绩
综合评定:
(优、良、中、及格、不及格)
指导教师签字:
2014年12月15日
《嵌入式综合课程设计》任务书
一、课程设计的目的
1、培养学生综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。
2、了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。
3、通过软硬件设计实现利用ARM芯片完成实际问题的模拟与仿真设计。
二、课程设计的内容及要求
内容:
本次课程设计是针对《嵌入式系统设计与开发》课程开设的一门实践课程。
该课程是一门以电子线路、微机原理与接口技术、操作系统、微机原理与汇编语言等课程为基础,综合性较强的、应用背景多样性的课程设计。
本课程设计的主要内容是在熟练掌握《嵌入式系统设计与开发》的基本理论与原理的基础上,综合应用嵌入式开发技术、微机原理及汇编语言等知识,独立分析设计一个嵌入式应用程序,如LED显示灯的模拟、温度采集系统、绘图程序设计等等。
基本要求:
1、查阅相关文献资料,熟悉所选ARM芯片的结构与功能;
2、总体设计方案规划;
3、系统硬件设计,熟悉AD转换等ARM硬件模块的原理及过程,设计硬件之间的接口连接;
4、系统软件设计,采用汇编语言或C语言实现系统中软件部分的设计编程;
5、独立完成报告的书写
三、课程设计时间
课程设计时间为3周(15个工作日)
四、课程设计分组
学生每人一个独立的题目。
五、课程设计的成果和形式
1.报告一篇
2.符合设计要求的嵌入式应用系统一个
2014年11月21日
4.1设计思想9
1前言
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.扩展功能
演奏时可以通过按键选择是手动演奏还是自动演奏,手动演奏是通过按键进行简易乐曲的演奏。
1.3远程监控系统的需求分析
对机房环境设备的监控主要涉及以下几个方面的内容:
对配电系统、UPS系统、空调系统工作状态的监视;
对机房的温湿度、生活用水和供暖制冷系统漏水情况等进行监测、报警,以及对门禁系统、消防系统、保安系统等的管理。
由于这些环境设备是连续工作的,因此要求监控系统也必须是长时间连续工作的。
这样就对系统设计的可靠性、安全性、可维护性等方面提出了更高的要求[1],具体表现在以下几个方面:
1高可靠性。
要求监控系统可长时间不间断运行,无故障运行时间要长,且系统的维护快速简便。
2高安全性。
系统应能够提供多种安全保护措施,对异常状态进行分析、记录、及时报警,以便让管理人员能够尽快了解所发生的情况并及时处理。
3较强的实时性。
监控系统对信息的传输要及时,不能有过大的延时,否则难以及时跟踪被监控对象的当前状况。
4易用性和易维护性。
机房环境设备监控系统,应以GUI的方式提供良好的人机界面,便于人机交互。
同时,监控系统要有通用性和灵活性,即可以在对系统进行少量修改或扩充就可增加新的监控项目,扩充监测点数,以满足新的监控要求。
5丰富的系统功能。
要求监控系统不仅能够提供一般的报警功能,对采集的当前数据进行记录且保存历史数据,并以图形方式对环境设备运行状态和参数进行直观显示。
实施监控的主要方法,即是在现场控制器的控制之下,实时地采集数据并与预设的值进行比较,如果超出相应的阀值则给出报警,以提示有关人员进行相应处理。
根据对环境设备监控的位置不同,可把监控系统分为本地监控和远程监控两大类。
本地监控方式往往需要派人长期现场值守,管理成本较高;
而借助于公共的Internet或企业内部的Intranet网络实施远程监控则可做到无人值守,从而大幅度地节约管理成本、提高机房管理水平和效率,因此成为监控系统发展的主流方向。
2总体方案设计
2.1整体方案设计
系统总体设计是基于嵌入式系统和WEB服务器结合的思想开发的,其网络拓扑结构如图2.1所示
图2-1系统网络拓扑图
针对本次课程设计提出的系统设计如图2-2所示
图2-2系统方案框图
2.2硬件系统设计
核心处理芯片需要完成处理和支持整个系统的功能需求,通过运行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软件环境选择
操作系统的选择
当选定了硬件系统后,为了配合硬件达到系统的最优控制要求,对市面上常用的嵌入式系统进行分析比较。
(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操作系统。
服务器的选择
典型的嵌入式Web服务器有Boa和thttpd两种,它们和Apache等高性能的Web服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。
Boa是一个非常小巧的Web服务器,可执行代码只有约60KB。
它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。
但Boa支持CGI,能够为CGI程序fork出一个进程来执行。
Boa的设计目标是速度和安全,在其站点公布的性能测验中,Boa的性能要好于Apache服务器。
经过上述的对比和判断,选择Boa作为系统的嵌入式服务器。
综合以上的讨论以及选择,根据系统的实际需求,最终确定了采用S3C2410X为核心处理器,Linux为嵌入式操作系统,boa为服务器以及相应的http浏览器的系统设计方案。
2.4远程监控系统的设计
基于对远程监控系统的需求分析,进行系统设计时应重点考虑如下几种因素:
首先,要考虑现场总线与数据网的互联问题。
由于被监控对象的信号种类较多,所采用的现场总线标准各异,因此不同总线标准之间的转换以及现场总线与数据网之间的互联是系统设计时需要重点考虑的问题。
其次,实时性要求是远程监控网络系统区别于普通网络系统的基本特征。
如果监控系统的实时性得不到保障,现场监控就失去了实用价值。
第三,为满足监控系统的高可靠性要求,应分别对硬件系统和软件系统进行抗干扰设计。
第四,根据远程连接方式不同,应采用不同的安全措施以保证信息的安全传输。
2.4.1监控系统的功能设计
监控系统的基本功能主要包括:
现场数据的实时采集、发送和显示;
对采集到的数据进行处理和存储;
对数据处理的结果进行分析、判断和报警;
提供多种业务支持功能。
实时数据采集
实时数据采集是实施系统监控的基础。
在环境设备的监控系统中,需要实时采集的数据主要包括高低压配电系统及UPS电源的电压、电流、电源开关状态等参数,空调机的冷热水温度、流量、送风量、送风温度、新风量等状态参数,以及机房内部的环境参数(如温度、湿度、水浸、烟感、门禁等)。
不同的参数采用的总线标准不同(如RS232/485总线、Lonworks总线),只有把它们统一到TCP/IP协议上,才能实现真正意义上的远程监控。
报警功能
报警是监控系统的基本功能之一。
监控系统对采集到的数据进行分析、处理,如果发现相关数据超限、数据异常,则说明环境设备出现异常情况,此时应发出相应报警。
设计报警功能时,需要考虑被监控对象的自身特性、优先级别等因素,对多个报警信号进行加权处理,以保证系统的所有重要报警都能被及时处理。
多种业务支持功能
灵活的查询和丰富的报表功能是对监控系统基本功能的扩展。
通过对设备运行状态的实时数据、历史数据进行对比分析,从不同角度向管理者提供设备运行和维护信息,为设备的维护、大修、更新、改造等质量管理提供可靠依据。
2.4.2监控系统的结构设计
远程监控系统由现场数据采集设备(可以为多个设备)、本地Web服务器和远端监控主机三部分构成[3]。
Web服务器通过现场总线与本地数据采集设备直接相连,并负责把本地传感器采集到的数据进行简单处理,通过网络发送到远端的监控主机上,从而为实现无人值守的管理方式创造条件。
远程监控系统在设计时需要解决的关键问题,就是将不同类型的现场总线或控制网络与以太网进行互联互通,从而实现监控信息的远程实时传输。
目前,实施远程监控主要有如下几种方法:
①基于PSTN的传统方法,即通过Modem连接异地的现场设备;
②基于OPC技术。
采用支持多种现场总线规范的OPCServer,通过OPC接口实现现场总线到Internet或Intranet网络的无缝连接;
③基于嵌入式平台实现远程监控。
在嵌入式平台上完成对现场数据的实时采集,通过现场总线与数据网的互连,将Server端的数据通过TCP/IP协议提供给远端的监控主机(即Client端);
④采用其它自定义方法实施远程监控。
2.4.3基于OPC的监控系统
OPC是以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式向用户提供通用的接口,解决了软、硬件厂商之间的矛盾,提高了系统的开放性和互操作性[4]。
基于OPC架构的监控系统结构如图1所示。
其中,OPCDAServer为数据采集服务器,OPCAEServer为报警服务器。
OPCServer提供多种接口规范,应用程序和Web浏览器(即OPCClient)可以通过这些接口取得与OPCServer相连的硬件设备信息,从而实现OPCClient通过以太网对OPCServer的访问。
同时OPCServer也可以将采集到的数据或报警信息通过网络发送到客户端或Web浏览器端。
在基于OPC的体系架构中,由于COM/DCOM已被视为网络功能的具体实现方法,使得Client对OPCServer的远程访问成为标准的网络访问方式。
但是OPC技术的缺点也是非常明显的,由于LE/COM/DCOM机制是一个纯软件的架构,对系统资源配置的要求高。
当系统规模较大或监控点数较多时,系统的实时性将会明显下降。
2.4.4基于嵌入式平台的监控系统
实时监控系统需要长时间不间断地工作,对系统的可靠性和实时性均有较高要求。
为此必须从系统功能、体系架构、软硬件系统的稳定性、设备功耗等方面进行综合考虑(例如选用工控级的产品),设计小型化的智能型监控系统。
而建立在RTOS之上的嵌入式系统为控制系统的网络化、小型化提供了有效途径,嵌入式网络控制已成为监控系统未来发展的重点方向之一。
基于嵌入式平台的远程监控系统结构如图所示。
其中,嵌入式Web服务器既是远程监控系统的中心节点,也是控制网络与数据网络进行互联的网关,通过TCP/IP协议将其连接到以太网上,监控主机则通过以太网(或Internet)在远程实时地监视现场信号的动态变化,从而实现远程监控的目标。
对于能够直接支持TCP/IP协议的现场检测设备,则可以将其直接连接到以太网上,图中的液体泄漏检测仪即是如此;
对于采用其他总线标准的现场设备,则需要通过嵌入式Web服务器进行信号转换之后把现场总线连接到以太网上。
图2-3
远程监控系统结构图
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连接请求,同时它只为CGI程序创建新的进程,这样就在最大程度上节省了系统资源,这对嵌入式系统来说至关重要。
同时它还具有自动生成目录、自动解压文件等功能,因此Boa具有很高的HTTP请求处理速度和效率,在嵌入式系统中具有很高的应用价值。
4.2.2Boa的功能实现
嵌入式Web服务器Boa和普通Web服务器一样,能够完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务。
它的工作过程主要包括:
(a)完成Web服务器的初始化工作,如创建环境变量、创建TCP套接字、绑定端口、开始侦听、进入循环结构,以及等待接收客户浏览器的连接请求;
(b)当有客户端连接请求时,Web服务器负责接收客户端请求,并保存相关请求信息;
(c)在接收到客户端的连接请求之后,分析客户端请求,解析出请求的方法、URL目标、可选的查询信息及表单信息,同时根据请求做出相应的处理;
(d)Web服务器完成相应处理后,向客户端浏览器发送响应信息,关闭与客户机的TCP连接。
嵌入式Web服务器Boa根据请求方法的不同,做出不同的响应。
如果请求方法为HEAD,则直接向浏览器返回响应首部;
如果请求方法为GET,则在返回响应首部的同时,将客户端请求的URL目标文件从服务器上读出,并且发送给客户端浏览器;
如果请求方法为POST,则将客户发送过来的表单信息传送给相应的CGI程序,作为CGI的参数来执行CGI程序,并将执行结果发送给客户端浏览器。
Boa的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。
4.2.3BOA的搭建与移植
(1)准备源代码、解压软件包,安装源代码到boa网站http:
//www.boa.org下载boa-0.94.13.tar.gz源代码,或者使用光盘的boa-0.94.13.tar.gz软件包。
$tarxzvfboa-0.94-13.tar.gz
(2)进入src目录,编译源代码。
解压后src目录下有Makefile.in文件,但没有Makefile文件,为了编译源代码,需要先生成Makefile文件,在src目录下运行configure命令$./configure
生成的Makefile文件是针对X86平台的,为了生成能够在ARM上运行的boa,需要修改Makefile文件。
将Makefile的31~32行内容:
CC=gcc
CPP=gcc–E
应用(在交叉编译时使用):
然后输入make命令进行编译,在src目录下就会生成boa文件。
$make然后将该文件添加到文件系统中,重新下载文件系统。
如果不幸出现―ickyLinuxkernelbug!
‖的错误,请将src下boa.c的第226行注释掉,重新编译下载即可。
(3)安装boa服务器
主要是配置boa服务器。
boa启动时需要一个配置文件boa.conf,该文件的缺省目录由src/defines.h文件的SERVER_ROOT定义,或者在启动boa的时候通过参数―-c‖指定。
其中指定的默认目录是:
/etc/boa/
(4)登录boa服务器
在PC机浏览器地址栏输入目标系统的IP地址(http:
//172.31.55.91),访问存在于目标系统中的网页。
4.3应用程序设计
4.3.1程序设计依赖关系
通过对系统的分析以及对服务器的了解,系统确定了以下的软件开发系统方案,如图4.1所示
图4-1软件依赖关系
4.3.2应用程序流程图
乘法功能
图4-2乘法功能实现流程图
程序段电机程序的流程图
图4-3电机部分流程图
4.4驱动程序设计
驱动部分主要有两部分组成:
电机驱动和网卡驱动,其中以电机驱动为主。
由于在本套系统设计中,不可能每次开机都要由操作人员将驱动加入内核,这样既不方便又费时费力,所以系统采用将驱动编译进内核的模式。
4.4.1电机驱动
电机驱动程序流程
1、开启设备时,配置IO口为定时器工作方式
2、配置定时器的各控制寄存器
3、在s3c2410_dcm_ioctl中提供调速功能接口
4、应用程序dcm_main.c中调用
5、实现直流电机速度的调整
4.4.2驱动加载过程
以电机驱动为例:
编译直流电机cd/arm2410s/kernel-2410smakemenuconfig进入MainMenu/Characterdevices菜单,选择DCMOTOR
模块加载:
编译内核模块:
makedep
make
makemodules
直流电机模块的编译结果为:
/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o
2、加载模块
在超级终端中,通过加载NFS运行编译结果:
mount–tnfs192.168.0.121:
/arm2410s/host
Insmod/host/kernel-2410s/drivers/char/s3c2410-dc-motor.o
4.5嵌入式Web服务器的软件实现
嵌入式Web服务器的软件开发主要包括以下几项内容:
首先,完成嵌入式操作系统的移植和TCP/IP协议的剪裁;
第二,编写数据采集、数据处理应用子程序;
第三,编写远程通信子程序;
第四,报警处理子程序;
第五,数据查询和报表生成子程序。
这些功能应先在上述的开发环境中进行初步实现之后,再移植到自定义的环境中。
由于嵌入式系统的资源有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连科技学院计算机科学与技术本科 大连 科技学院 计算机科学 技术 本科