毕业设计网络环境下ARM嵌入式监控技术的研究.docx

上传人:b****4 文档编号:3662284 上传时间:2022-11-24 格式:DOCX 页数:38 大小:1.08MB
下载 相关 举报
毕业设计网络环境下ARM嵌入式监控技术的研究.docx_第1页
第1页 / 共38页
毕业设计网络环境下ARM嵌入式监控技术的研究.docx_第2页
第2页 / 共38页
毕业设计网络环境下ARM嵌入式监控技术的研究.docx_第3页
第3页 / 共38页
毕业设计网络环境下ARM嵌入式监控技术的研究.docx_第4页
第4页 / 共38页
毕业设计网络环境下ARM嵌入式监控技术的研究.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

毕业设计网络环境下ARM嵌入式监控技术的研究.docx

《毕业设计网络环境下ARM嵌入式监控技术的研究.docx》由会员分享,可在线阅读,更多相关《毕业设计网络环境下ARM嵌入式监控技术的研究.docx(38页珍藏版)》请在冰豆网上搜索。

毕业设计网络环境下ARM嵌入式监控技术的研究.docx

毕业设计网络环境下ARM嵌入式监控技术的研究

摘要

随着计算机网络技术的广泛应用以及通信技术和控制技术的发展,传统的工业控制领域正经历着一场前所未有的变革,工业控制开始向网络化方向发展。

该设计从工业控制网络发展的需要出发,研究了以ARM、Linux、嵌入式WEB服务器为核心的嵌入式远程监控系统,实现了嵌入式设备与Internet的连接,并通过WEB浏览器页面进行远程访问和控制,实现了远程监控。

本设计系统主要由硬件系统和软件系统两部分组成。

硬件系统以S3C2440A嵌入式微处理器作为硬件平台核心,外扩64MNANDFlash和SDRAM构成最小系统,在此基础上扩展了以太网接口、RS232接口等外设,构成了嵌入式远程监控系统的硬件系统。

软件平台选择遵循GNU协议的嵌入式Linux操作系统,进行了系统启动引导程序BootLoader的设计,实现系统上电后硬件的初始化以及Linux内核的运行;然后简要分析了Linux的启动过程,并根据具体的硬件环境对内核进行了裁剪,实现了内核向硬件平台的移植;接着为系统定制了针对NANDFLASH设计的可读写的YAFFS嵌入式文件系统;同时根据本系统硬件配置要求,为系统编写并添加了网络驱动和A/D转换驱动程序,为上层应用程序的开发提供了方便的接口。

在监控终端软件设计中,首先在开发平台上移植了BOA服务器;然后对BOA服务器进行了相关参数的配置,通过编写CGI程序,实现了通过动态WEB页面对系统进行远程控制以及获取数据信息的功能。

最后对系统进行了测试,通过IE浏览器实现远程监控,并对整个系统进行功能验证,结果表面系统运行完好,达到了预期设计目标,成功设计了一个基于网络的嵌入式远程监控系统。

关键词:

嵌入式系统;ARM;Linux;WEB浏览器

Abstract

Withthedevelopmentoftheextensiveapplicationofcomputernetworktechnology,communicationstechnologyandcontroltechnology,thetraditionalindustrialcontrolfieldisexperiencinganunprecedentedchangetothedirectionofthenetworkdevelopment.ThisdesignfromtheneedsofindustrialcontrolnetworkdevelopmentwhichtakestheARM,Linux,embeddedWEBserverasthecoreachievestheembeddedremotemonitoringsystem,theInternetconnection,andremoteaccessthroughtheWEBserverpagecontrol.

Thedesignofthesystemismainlycomposedbytwopartsofthehardwareandsoftwaresystems.HardwaresystemtakestheS3C2440Aembeddedmicroprocessorasthecoreand64MNANDFlashandSDRAMareextended.Onthisbasis,ethernetinterface,RS232interfaceareextended,whichconstitutetheEmbeddedRemoteMonitoringSystemhardwaresystem.

TheGNUagreementembeddedLinuxoperatingsystemischosenasthesoftwareplatform.Thisarticlealsoachievessystembootloaderdesigning,initializationofthehardwareandtheLinuxkernelrunning,givingabriefanalysisoftheLinuxbootprocess,thekernelcuttingdependingonthehardwareenvironment,andthetransplantationofthekerneltothehardwareplatform.AndtheYAFFSembeddedfilesystemisdesignedforNANDFLASH.Atthelast,withthesystemhardwareconfigurationrequirementsforthesystem,thisarticleaddsanetworkdriveandA/Dconverterdriverfortheupperlayerapplication.BOAserveristransplantedtothesoftwaresystem,thentheBOAserverisconfiguredbyCGIprograms,toachievedynamicWEBpagesonthesystemforremotemonitoringanddataacquisition.

Finally,thesystemfunctionistested,andtheremotemonitoringfunctionwastestedthroughtheIEbrowse.Itshowsthatitachievesthedesireddesigngoals.aweb-basedembeddedremotemonitoringsystemissuccessfullyconstructed.

Keywords:

embeddedsystems;ARM;LinuxWEBserver

第1章绪论

1.1前言

随着信息技术的发展和数字化产品的普及,以及高性能32位嵌入式微处理器的出现,以计算机技术、芯片技术和软件技术为核心的嵌入式系统成为当前研究应用的热点,通信、计算机、消费电子技术合一的趋势不可阻挡,各种机械装备的机械化程度和自动化程度越来越高,工业设备的售后服务和设备维护也显得越来越重要。

首先,因为机械装置成本高,一旦设备不能正常运行不仅影响生产而且还可能造成设备自身难以补救的损伤,给企业和用户带来无法弥补的经济损失;另一方面,由于技术的专业性,需要各行的技术人员到现场进行诊断分析以排除故障,使得问题解决的及时性很差。

因此,企业在制造大型机械设备中,不但要保证设备质量,同时还要确保设备能正常高效运行,在设备的寿命周期内提供优质的售后服务[1-2]。

这给大型设备企业的售后服务提出了一个新的难题,同时也为嵌入式远程监控技术的发展带来契机。

嵌入式监控技术在虽然有一定发展,但是基于网络的嵌入式系统的应用不够普及,主要是由于其技术欠缺和价格昂贵造成的。

在经济全球化的今天,尤其是进入21世纪以来,国内的大型工业设备提供企业面临着更加激烈的竞争。

实时掌握设备的工作状况,了解其性能的变化,同时建立有效的维护措施和诊断系统,发现设备运行过程中的潜在问题并及时给出解决方案展现着优越的竞争力。

20世纪90年代以来,随着互联网技术、嵌入式计算机技术和控制技术等技术的发展,监控技术也朝着网络化、自动化和智能化的方向发展。

研究出性价比高、实用性强的基于网络的嵌入式监控系统有着巨大的市场潜力[3-8]。

1.2国内外相关技术背景及研究现状

得益于现代信息的高速传播,无论在国内还是国外,32位嵌入式微处理器已然成为高性能嵌入式系统的主流处理器。

如今,人们的生活已经和网络紧密联系,这也对嵌入式技术提出了新的挑战,“设备网络化”是“后PC时代”嵌入式系统的发展趋势。

嵌入式网络化技术的核心技术是:

通过嵌入式设备与互联网的联接和信息的采集,实现不同设备间信息的交互,达到实时掌握嵌入式设备运行信息,并将反馈命令自动传送给主控设备的目的[9-11]。

通过应用嵌入式动态Web技术,使信息家电实现访问Internet、收发E-mail等功能也能成为现实。

嵌入式监控系统可以实现这些方案,这种廉价解决方案可使得普通的电器或设备具有多种Internet功能,从而使电器能够被远程监控,并能及时给出诊断方案,确保电器的运行。

嵌入式系统是区别于通用计算机系统,以应用为中心,软硬件可根据具体情况裁减的,具有、低成本、可靠性高、严要求、综合性强的专用计算机系统,它主要由嵌入式核心微处理器、外围电路、嵌入式软件平台及应用软件系统等组成,软硬件功能齐全,能够独立工作[12-15]。

在国外,工业设备的远程监控系统、远程故障诊断和维护系统等产品都已经相继问世,嵌入式远程监控理论已相当成熟,各种产品已经逐渐走入工业、尖端科技和生活中来,而我国在这方面才起步不久。

目前,我国对设备的监控和维护技术存在一些不足的地方。

我国目前的远程嵌入式监控系统较多采用RS485或者RS232现场总线技术、USB借口技术、蓝牙技术构建底层设备网络,实时性控制效果不够好,而工业控制的网络化能有效的解决这一难题,有着无限的发展空间。

网络监控虽然有非常光明的前景,但是在现阶段却受制于生产成本过高、市场需求小、标准不统一等问题,发展速度缓慢。

因此,要使网络监控产品能够真正进入工业领域,在生产过程中得到普及以发挥其应有的作用,必须要从价格合理的产品做起,慢慢地培养起一个市场空间,最终实现远程监控发展目标。

本文以嵌入式Web服务器为应用核心,提供了一种在大型设备和家电中通用性强且成本低的远程监控解决方案,这种方案不仅应用前景广阔,而且对推广嵌入式的应用有积极的意义[16-19]。

1.3本设计研究的目的及内容

本文提出了一种通用性强、生产成本低、具有良好市场发展前景的解决方案,方案基于ARM9微处理器为核心,嵌入式Linux作为软件平台,在软件平台上构建Web服务器,该服务器可供远程计算机登陆,然后获取采集到的现场设备的数据并进行远程控制。

该系统为远程监控提供了一个通用平台,在此基础上通过适当扩展可以实现生产过程中各种数据的采集以及状态监控,以减少人力成本,提高工作效率。

本设计主要研究4方面的内容:

1)根据系统功能要求进行方案分析与器件选型,构建嵌入式远程监控系统的硬件平台;

2)构建嵌入式操作系统软件平台。

采用Linux操作系统在实现的硬件平台上构建嵌入式操作系统软件平台,包括BootLoader的设计与移植、Linux内核的移植以及文件系统的移植;

3)研究Linux设备驱动的工作原理和设计方法,设计基于CS8900网路控制器的驱动程序;编写S3C2440AA/D转换驱动,实现对大型机械装备电压的实时采集;

4)嵌入式Web服务器的搭建。

分析了BOA服务器的体系结构,进行了BOA服务器的移植,并在原有的基础上对它进行了配置。

通过编写CGI代码,实现了基于Web服务器的远程监控功能。

1.4本章小结

本章主要讲述了该方面设计的背景知识、国内外现状、课题的研究意义以及研究的目的和内容,内容从四个方面展开。

我国在该方面的研究还处于起步阶段,有很大的发展空间,所以加强嵌入式系统的应用显得更为重要,而本设计有其自身的特点,具有积极的意义。

第2章系统总体方案设计

2.1总体框架设计

本系统采用以ARM、Linux、嵌入式Web服务器三大技术为中心的方案:

整个系统由一个32位高性能的嵌入式处理器S3C2440A和嵌入式Linux操作系统组成,然后在该处理器软件平台上搭建Web服务器,使得用户可以通过网络浏览器进行远程访问,对现场设备群进行远程监控和管理。

本文从监控设备的网络化出发,利用嵌入式系统和Internet技术的优势,设计了一种基于B/S(Browser/Server)模式、具有高可靠性的嵌入式远程监控系统架构,整个系统的结构框图如图2.1所示。

图2.1嵌入式系统总体框图

2.2硬件系统设计概述

嵌入式微处理器是整个系统的核心,ARM架构的微处理器具有体积小、低功耗、低成本、高性能等特点,广泛应用与嵌入式计算机领域。

嵌入式网络监控系统要求超强的数据处理能力,数据现场采集能力和数据网络传输能力,根据上述的基本要求,系统微处理器芯片采用三星公司的ARM9微处理器S3C2440A,该芯片采用了ARM920T(16/32-bitRISCCPU)内核,内部带有全性能的MMU(MemoryManagementUnit),适用于设计移动手持产品设备,具有高性能、低功耗、接口丰富和体积小等优良特性[20-21]。

整个系统硬件原理框图如图2.2所示。

图2.2系统硬件原理框图

 

2.3软件系统设计概述

2.3.1系统软件设计

鉴于嵌入式Linux强大的网络支持功能,选用其作为系统软件平台。

构建嵌入式Linux系统的工作主要包括建立交叉编译环境、引导程序BootLoader的设计、Linux内核移植、文件系统的移植。

系统软件结构如图2.3所示。

图2.3系统软件结构

2.3.2应用软件设计

系统的应用软件设计基于嵌入式Linux操作系统平台,整个系统应用软件根据功能分为底层驱动和上层应用软件,其中底层驱动软件主要完成了对CS8900网卡驱动的编写以实现嵌入式监控系统连接Internet的功能,以及S3C2440AA/D转换驱动编写,实现对系统电压的实时采集;上层应用软件主要编写基于嵌入式Web的CGI程序以实现ARM9系统与Web服务器数据交互。

2.4本章小结

本章首先介绍了监控系统总体框架设计,接着阐述了监控系统硬件开发平台的主要构成,并分析了采用该硬件平台的优势,然后设计了基于嵌入式Linux操作系统的软件结构,阐述了系统所要完成的功能。

应用软件的设计是这个方案设计中的重点,它与系统实现的功能密切相关。

第3章硬件系统设计

嵌入式硬件系统对整个嵌入式系统的稳定性具有至关重要的作用,在进行硬件设计时,要遵循一定的原则来进行设计,才可能使系统达到最优,减少出错率[17-18]。

3.1主板电路设计

3.1.1S3C2440A微处理器简介

ARM9内核的CPUS3C2440A含有LCD控制器和触摸屏接口,方便了人机界面的设计。

含有MMU单元,可以移植Linux操作系统,保证了控制器的高效性和稳定性[22-24]。

3.1.2NANDFLASH电路设计

本系统选用三星公司的FLASH1208构成64M存储器,该Flash有64M字节的存储容量,支持快速读写,读取每字节数据时间只需12μs,写入时间是200μs。

具体连接电路如图3.1所示。

图3.1NANDFLASH接口电路

3.1.3SDRAM电路设计

SDRAM即同步DRAM。

它最大的特色就是可以与CPU的外部工作时钟同步,和系统中的CPU、主板使用相同的工作时钟。

这样将去掉时间上的延迟,可提高内存存取的效率。

本系统的SDRAM采用的是三星公司的K4S561632,单片容量为32M,采用2片构成64M的SDRAM模块,具体电路如图3.2所示。

图3.2SDRAM接口电路原理图

3.1.4JTAG接口电路设计

JTAG是国际上认可的一种标准协议,同时是用于调试嵌入式系统的接口,其芯片内部封装了专门的测试电路TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。

标准的JTAG接口是4线:

TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出[25-26]。

通过JTAG接口,可完成如下基本操作:

1)停止程序的运行;

2)检查和修改ARM的内核状态;

3)观察和修改内存;

4)恢复程序的运行。

此外还可通过JTAG接口对Flash器件进行在线编程,将程序烧写到Flash中,因而它是开发调试嵌入式系统的一种简洁高效的手段。

S3C2440A的JTAG调试电路如图3.3所示。

图3.3JTAG接口电路

3.1.5网络接口电路设计

目前,以太网作为一种局域网技术受到广泛的应用,主要原因是以太网组建局域网和联接Internet的方便性。

随着以太网在不同领域的广泛应用和发展,多种多样的以太网控制芯片不断被开发出来,CS8900就是一种以太网控制芯片,有着十分优良的性能。

它主要为嵌入式系统和某些适配卡等提供一种实现以太网联接的解决方案。

CS8900除了具备其它以太网控制芯片所具有的基本功能外,还有它的工业级温度范围(-40℃~80℃),3.3V工作电压,功耗低,高集成度等独特优点[27-28]。

3.2接口板电路设计

3.2.1RS-232串口通讯模块电路设计

RS-232是PC机与通信工业中应用最广泛的一种全双工串行接口。

RS-232被定义为一种低速率串行通讯标准。

其传送距离最大约15m,最高速率为20Kb/s。

本次开发的系统RS-232接口主要功能是:

实现在调试系统软件时控制器与PC机的通讯。

驱动芯片采用MAX232芯片,扩展了一路两线RS-232接口。

该芯片具有以下特征:

1)低功耗:

工作电流只需1μA,当接收不到任何外部和内部信号时,能够自动关断;

2)辅助电路简单:

在标准3.3V工作模式下,只需要一个0.1μF的小电容;

3)工作电压范围宽:

VCC在+3.0V~+5.5V之间均可正常工作;

4)最大数据传输速率可达250KB/s。

3.2.2电源管理方案

作为工业产品,电源系统的稳定性对本系统有至关重要的影响。

为了适应各种工作环境,设计了两种供电方式,一种是通过配备的变压器将220V转换成4.2V;另外一种是电池电压为3.7V,充电电池为整个系统供电,因此考虑到电池特性,输入电压应该在+3.5V~+4.2V之间。

供电方式主要有以下几种:

1)由适配器供电,并且给内部备用电池充电;

2)内部电池不存在的情况下,由外接电池供电;

3)适配器一边给外部电池充电,一边给系统供电;

4)外部不提供电源时,仅由内部备用电池给系统供电。

供电方式如图3.4所示。

图3.4系统供电方式

3.2.3复位看门狗电路设计

在一个具有CPU的系统中必须有WatchDog,以提高系统的可靠性,本设计采用器件MAX811,看门狗定时器的清除是CPU通过改变其GPB2引脚的输出状态完成的。

在程序正常运行的时候,需要经常地改变GPB2引脚的电平状态,一个状态维持的最大时间为1.6s,看门狗定时器在1.6s后未被清除,便输出200ms脉宽的复位信号,使系统重启[29-31]。

复位看门狗接口电路如图3-5所示。

图3-5复位看门狗电路

3.3本章小结

可靠的硬件系统是整个嵌入式网络监控系统可靠运行的基础。

本章中对本课题的硬件系统设计进行了详细的介绍,包括核心芯片的选择与介绍、NANDFLASH电路设计、SDRAM电路设计、JTAG接口电路的设计、网络接口电路的设计、RS232串口电路的设计、电源管理方案的设计、复位看门狗电路的设计等。

这些硬件电路组成了整个系统的硬件系统。

第4章软件系统设计

4.1Linux开发平台的构建

4.1.1Linux操作系统概述

Linux是一个类似于Unix的操作系统,是最为流行的一款开放源代码的操作系统。

不仅能够运行于PC平台,还在嵌入式系统方面大放光芒。

在各种嵌入式LinuxOS迅速发展的状况下,LinuxOS逐渐形成了可与WindowsCE等EOS(ElectroOpticalSystem)进行抗衡的局面。

目前正在开发的嵌入式系统中,49%的项目选择Linux作为嵌入式操作系统[32-37]。

Linux现已成为嵌入式操作系统的理想选择。

一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:

1)Linux系统启动的引导加载程序。

由固化的boot代码(可选)和BootLoader两大部分组成;

2)Linux内核。

有多个公司研发不同的内核,内核不同系统的功能侧重方向有所不同;

3)系统的文件系统。

一种为根文件系统,这个一般由Ramdisk来充当,还有一种就是建立于Flash内存设备之上的文件系统。

4)用户应用程序。

这个可根据用户自己的需求来设定,很多用户会设置一个方便操作的视图窗口,常用的嵌入式GUI有:

MicroWindows、MiniGUI、QT等。

当然,嵌入式Linux也存在其不足之处,在实时领域内其实时性存在不足。

Linux是一个分时系统,虽然间接实现了实时性,在很多的情况下还是无法满足实时性的需求。

对于一些实时性要求强的环境需要改进[38-40]。

4.1.2嵌入式Linux系统的交叉编译环境

在裁减和定制后的嵌入式Linux代码运用于系统之前,一般需要在客户端PC机上建立一个用于嵌入式系统的交叉编译环境。

同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。

一般来说,交叉编译工具包括编译器(gcc)、二进制工具程序(binutils)和c链接库(glibc)。

当然链接库(glibc)有多重选择,也可以用别的c库来代替glibc,例如uclibc、dietlibc和newlib。

建立一个交叉编译工具链工作量大,并且设计过程复杂,网上有一些成型可用的交叉编译工具链可以下载。

本文采用arm-linux-gcc-3.4.1.tar.bz2作为交叉编译环境,将交叉编译环境放到根目录下解压缩:

[root@hdjd/]#tarjxvfarm-linux-gcc-3.4.1.tar.bz2.解压缩完成后交叉编译环境就建立好了。

4.1.3BootLoader移植

BootLoader是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

由于嵌入式系统的多样性,每个系统的系统引导程序BootLoader依赖于不同的硬件系统,所以几乎没有通用的BootLoader。

由于BootLoader的实现依赖于硬件系统的设计结构,为了方便BootLoader的设计,现将BootLoader分为stagel和stage2两大部分。

硬件系统初始化代码放在stagel中,该部分可以使用ARM公司提供的ARM指令集,用接近机器语言的汇编语言来实现,短小精悍。

而stage2用C语言来编写,为实现复杂的系统功能提供方便,同时使得程序的可读性和可移植性大大提高。

BootLoader的第一阶段:

1)基本的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1