基于嵌入式internet技术的远程监控系统的研究

基于嵌入式internet技术的远程监控系统的研究

ID:11913980

大小:151.00 KB

页数:108页

时间:2018-07-14

上传者:xinshengwencai
基于嵌入式internet技术的远程监控系统的研究_第1页
基于嵌入式internet技术的远程监控系统的研究_第2页
基于嵌入式internet技术的远程监控系统的研究_第3页
基于嵌入式internet技术的远程监控系统的研究_第4页
基于嵌入式internet技术的远程监控系统的研究_第5页
资源描述:

《基于嵌入式internet技术的远程监控系统的研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

基于嵌入式internet技术的远程监控系统的研究武汉理工大学硕士学位论文基于嵌入式Internet技术的远程监控系统的研究姓名:董军申请学位级别:硕士专业:控制理论与控制工程指导教师:黎洪生20040601武汉理工大学硕士学位论文 摘要本文对新兴的基于嵌入式Intemet技术的远程监控系统的关键技术进行了深入的研究,并研制了一个基于嵌入式Intemet技术、具有基本功能的远程监控系统。该系统包括一个嵌入式网关和若干数据采集卡。通过该网关,用户可由Intemet访问系统内的8/16位设备。S3C4510B是一款基于触tM7TDMI内核的、集成了许多外围设备的芯片。选用它作为核心器件设计了网关的硬件平台,并对硬件平台建立过程中的关键技术进行了探讨。深入研究分析了嵌入式IxClinux的特点和关键技术。针对嵌入式网关的硬件平台,对I.tClinux进行了修改和配置,建立了基于gClinux的软件开发环 境。并在系统软硬件平台的基础之上,实现了嵌入式网关的基本功能。嵌入式]ntemet技术将改变现有监控系统的体系结构,提高系统的可扩展性,降低成本。本文以所研制的监控系统为例,研究了采用嵌入式Intemet技术的远程监控系统的设计思想、方法和实现技术。最后的测试结果表明了本文研究成果的有效性。1关键词:$3C450B,远程监控,嵌入式Intemet,gClinux茎坚些三查兰堡圭兰生堡苎AbstractIn thisofandcontrolbasedonthesis,keytechnologymonitoringsystemsembeddedIntemetwasresearched.Basedonembedded technologydeeplyInternetremoteandcontrolwitllbasicfunctionstechnology.amonitoringsystemwaswasofanembeddedandseveraldatadeveloped,whichcomposedgatewaytheembeddedbit couldbeacquisitioncards.Throughgateway,8/16equipmentaccessedIntemet.byBasedARM7TDMI10Boncore,$3C45integratedmanyperipheralhardwareofthewas devices.TheembeddedgatewayplatformdevelopedbyastheofWas10Bembeddedtechnologycore.Keygatewaystaking$3C45introducedindetail.Wasresearched Thecharacteristicsandof_tClinuxkeytechnologydeeplyofthetheofofthehardwareandlightparticularityplatformanalyzed.InthetheWasembeddedintohardware embeddedplatform.Ongateway,gClinuxofembeddedwererealized.basicfunctionsbasisofgClinux,thegatewaywillthearchitectureofEmbeddedInternetmonitoringtechnologychange theandreducecost.theandcontrolsystem’Sexpansibilitysystems,enhanceasanandcontrolremotethe systemexample,thisdesignedmonitoringTakingwhenandthetechnologiesusingkeydesignthinking,methodpresentedpaper ofthetestresultshowedtheIntemetembeddedvaliditytechnology.Finally,theresearch.andIntemet,control,embeddedmonitoring Keywords:$3C4510B,remote“Clinux,Il武汉理工大学硕士学位论文第一章绪论1.1目的和意义所谓的嵌入式Internet技术是一种将嵌入式设备接入互联网的技术,是嵌入式技术飞速发展和Internet触角不断延伸的必然结果。目前,Internet网和骨干网技术飞速发展,使得基于分组交换技术的通信性能、质量和可靠性得到稳步提高。同时,高性能、低价格的嵌入式处理器不断涌现,嵌入式 操作系统被广泛应用,Internet开始向应用领域扩展,出现了连入互联网的嵌入式系统,Internet的发展已经进入嵌入式Internet时代…。过去的嵌入式设备大多采用8/16位单片机,它们被广泛应用于仪器仪表、数据采集和显示、过程控制、工业自动化、家庭自动化等领域中。这些设备虽然可以通过RS-485、CAN等轻型总线构成各种远程监控系统,但是这样的监控系统一般传输距离较短,覆盖半径有限。在Internet飞速发展的今天,如何使得这些8/16位设备上网,从而实现基于Internet的远程数据采集、远程控制和故障诊断等功能,已经成为一个热点问题。和传统的远程监控系统相比,将这些设备连接到Internet上构成基于嵌入式Internet的网络监控系统,具有如下的优点“1: ??大大扩展了数据传输范围。Internet是多样异种异构网络的集合体,因此数据在传输时可以跨越异种网络的限制。只要Internet延伸到的地方,数据都能到达。??所能传输的数据信号,不必再局限于单一的数据信息,包括声音、图像在内的多媒体信息也将得到支持。??由于通信协议的公开性,可以使用一些通用的应用程序来读取信息,如web浏览器。??用户可以根据各自的需要定义不同的视图界面,有利于进行显现和操作。因为相同的数据信息对于不同的用户将会产生不同的需要,如运行人员主要用于监视与控制系统正常运行、管理人员将根据收集到的信息进行决策 等。武汉理工大学硕士学位论文??数据传输的速度以及传输质量得到了进一步的提高和保证。1.2嵌入式系统概述嵌入式系统技术并不神秘,它源自于八十到九十年代的8位单片机技术。它是计算机技术向传统行业扩展渗透的产物,是计算机技术在各种控制对象中的具体应用。嵌入式系统多指深藏于工业系统、武器系统或一些机电仪表、设备、消费电子产品内部,完成一种或多种特定功能的计算机系统,是软硬件的紧密结合体。和通用的计算机系统相比,嵌入式系统具有以下特点…:??嵌入式系统通常面向特定应用。嵌入式微处理器大多工作在为特定用 户群设计的系统中,通常具有功耗低、体积小、集成度高的特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而使嵌入式系统设计趋于小型化,移动能力和与网络的互连能力也越来越强。??嵌入式系统的软件通常以固件形式存在。为了提高执行速度和系统可靠性,嵌入式系统的软件一般固化在存储器芯片或微处理器的片内存储器中,而不是存储在磁盘等外部载体中。??嵌入式系统需要特定的开发环境和开发工具。嵌入式系统本身基本不具备自举开发能力,即使设计完成后用户也很难直接对其中的程序功能进行修改,必须利用特定的开发环境和开发工具。嵌入式系统一般由嵌入式处理器、外围硬件设备、嵌入式操作系统以及 特定的应用程序四部分组成,用于对其它设备进行控制、监视或管理等功能。作为嵌入式系统的核心器件,嵌入式处理器主要分为以下四种。1:??嵌入式微处理器MPU它的基础是通用计算机中的CPU,一般装配在专门设计的电路板上,仅仅保留与嵌入式应用有关的功能,通常电路板上只包括必须的ROM、RAivl、总线接口、各种外设等器件。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。以内核的体系架构来分,目前市场上的系列等。??嵌入式微控制器MCU2 武汉理工大学硕士学位论文又称单片机,也就是一块芯片中集成了整个计算机系统,它~般以某种微处理器内核为核心,并集成TROM/EPROM、FLASH等各种功能和外设。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括器小、而且成本和功耗低,因而是目前嵌入式工业的主流。??DSP处理器对系统结构和指令进行了特殊设计,使其适合DSP算法,编译效率较高,指令执行速度也较快。它采用哈佛结构和流水线技术,特别适合于信号的实时处理等领域。但是相对而言,控制能力较弱。嵌入式DSP处理器比较有代表性的产品是Texas 等。??片上系统SOC是在一个硅片上实现一个更为复杂的系统,代表了以后硬件设计和实现的趋势。它的核心是各种IP功能模块,用户可购买相应的IP模块,从而构成符合自身需要的专用芯片。SOC的目标是更专用,不是通用的。它要求刚刚合用、最低的成本代价、最高的集成度。以它为核心的产品将因此能够更快上市、成本更低、功能更丰富、体积更小、功耗更低。未来的嵌入式处理器的竞争将异常激烈,不但要集成更加丰富的新型外设接口,也不能忽略了功耗,还要提供更强的计算能力以及集成各种特殊的协处理器例如DSP运算、多媒体硬件部件等。同时,嵌入式微处理器、控制器、DSP之间的差别也会越来越小,之间相互渗透,目前,很多高档的 微处理器集成了DSP模块,而高档的DSP也开始集成微处理器模块就是这种趋势的体现。实际上,目前高档的MCU和MPU之间的界限己经十分地模糊了。早期简单的嵌入式系统都不使用操作系统,一般采用前后台的程序设计方法。主函数通常被编写为一个无穷循环,而实时性要求较高的部分则采用中断来实现。这对于简单的应用已经足够,但随着控制对象变得越来越复杂,硬件提供的条件越来越好,引入嵌入式操作系统也就成了必然的选择。引入嵌入式操作系统的优点有:??可以使得开发者集中精力在本领域,减少对底层软硬件的关注。??通过操作系统提供的API函数的支持,减少了重复劳动,加快了开发3 武汉理工大学硕士学位论文进度并提高开发程序的稳定性。目前,市场上主要的嵌入式操作系统有以下几种Ⅲ:??VxWorks是由美国风河公司开发的一套具有微内核、高性能、可伸缩的实时操作系统。它支持广泛的网络通信协议,并能够根据用户的需求进行组合,其开放式的结构和对工业标准的支持使开发者只需做最少的工作即可设计出有效的适合于不同用户要求的系统,是目前嵌入式系统领域使用最广泛,市场占有率最高的产品。??QNX是一个实时的可扩充的操作系统。QNX同样采用微内核体系结构,其特点是为所有软件模块提供内存保护,这些模块包括文件管理器、I/0管 理器、协议栈、图形子系统和各种驱动程序。它们在各自独立受保护的空间运行,每个模块与内核解耦,因此不会因某个模块问题使系统崩溃,微内核仅提供调度,进程通信,初始中断旬柄等基本服务,其它服务可根据用户的需求进行组合与裁剪。??3COM公司的PalmOS在PDA市场上占有很大的份额,PalmOS操作系统以事件为驱动,同时具有操作简单,方便快捷的特点,是一个完整的电子产品。它不仅仅具有普通嵌入式操作系统的特性,而且系统本身也逐渐向高端发展,比如提供对TCP/IP网络协议的支持、对红外线通讯的支持、先进的声音功能、扩大的动态内存堆、动态菜单以及自定义控件等等。它有开放的应用程序接口,开发商可以根据需要自行开发所需要的程序。 ??WindowsCE操作系统是微软公司在嵌入式系统领域推出的产品。它起步较晚,但是借助于它在桌面操作系统方面的优势,同样也占领了嵌入式市场的一部分份额。它一方面继承了微软其他操作系统的优点,同时考虑到了掌上电脑自身的特点,对系统进行了精简。但这些专用操作系统都是商业化产品,其高昂的价格使许多开发低端产品的小公司望而却步;而且,源代码的封闭性也大大限制了开发者的积极性。目前,已有不少开放源代码的操作系统。uC/OS―II是由美国人JeanJ.Labrosse开发的实时嵌入式操作系统,目品已经使用uC/OS― II作为操作系统。它其实只是一个实时操作系统内核,全部核心代码只有8.3k,包括进程调度、时钟管理、内存管理、和进程间的通4武汉理工大学硕士学位论文讯和同步功能。但是它的功能相对较弱,比较适合于8/16单片机的系统开发。嵌入式Linux,它是Linux在嵌入式系统领域应用的结果。Linux是一个Benedict年轻的类UNIX的操作系统。芬兰学生LinusTorvalds是其缔造者。Public它支持GNU License,并公开源代码供所有人任意获取和修改,得到了全世界程序员的热心传播和修改,日趋完善,已经成为可以和商业系统媲美的操作系统,并逐渐向嵌入式领域渗透。目前主流的嵌入式hinux有VistaLinux等”1。这其中,uClinUX是目gClinux,RT―Linux,以及Monta前唯一一种能够支持没有MMU处理器的嵌入式Linux,它继承了Linux的优点:??内核小巧而精致??具有非常好的网络性能??免费、公开源码,可修改性很强并支持多种体系结构??可应用于多种硬件平台 ??开发工具如gcc、gdb等,高效而且免费它已经被移植到许多不同体系结构的处理器上,包括本课题所选用的$3C4510B处理器。考虑到价格、开发环境等因素,最终选择gClinux作为本系统的软件开发平台。1.3国内外的研究现状对处理器的运算速度、RAM的容量等有较高的要求。然而,在嵌入式系统中大量使用的是8/16位单片机,它们的硬件资源极为有限,难以满足接入互联网的要求。因此,如何解决好这个矛盾,就是嵌入式Internet技术需要解决的主要问题。 目前,嵌入式Internet的解决方案可以归纳为以下几种。…:??8/16位MCU+网卡芯片+精简的TCP/IP协议在8/16位低速处理器的嵌入式接入方案中实现协议TCP/IP,关键在于分析系统的需求,根据上层需要的不同服务简化TCP/IP协议,并将TCP/IP协议的一些处理机制做相应删减。…。在具体实现的过程中,硬件上往往通过处理接挂在Internet上。软件上则通过大幅度的裁减TCP/IP协议中为保障通讯质5武汉理工大学硕士学位论文量以及其它~些附加的功能如SNMP,路由协议等等从而实现简单的上网 功能。采用该种解决方案的具体硬件实现方案已经有很多种,它们均采用8/16位嵌入式处理器,实现了较为简单的功能。m州“…。软件实现比较典型的则有uIP“21和1wIP““。它们开放源代码,且移植十分地方便。此种方案的主要缺点是往往必须采用高速的8/16位架构的单片机。而且,限于8/16位单片机自身资源的制约,往往所实现的只是一个简单的模型,很难再继续添加新的功能。同时为了提高系统的效率和速度,系统软件往往和底层的硬件结合的十分紧密,程序很难移植到不同体系结构的单片机中。??8/1 6位MCU+TCP/IP协议栈芯片由专用的高速的8位/16位MCU加上固化了TCP/IP协议栈的芯片来组成实际的应用系统核心“”。和上一种方案相比较,主要的不同在于,它将TCP/IPTCP/IP协议固化在硬件中,从而提高系统的性能。SCENIX单片机加上SCENIXStack便是这种实现方式的典型例子。此种方案的实现较上~种简单,但系统缺乏灵活性,软件的升级也很不方便。??高档32位MCU+商用RTOS采用32位高档单片机取代8/16位处理器,对嵌入式设备进行改造,并引 入商用的实时操作系统。目前应用于32位MCU的商用嵌入式操作系统有统提供的API函数进行软件开发。这种方案能够实现各种复杂的上网功能,但软硬件成本太高,对开发人员的要求也比较高,实用价值不大。??MCU+内部轻型网络+专用网关采用内部专用网络女URS一485、CAN总线等把一批单片机连接在一起,然后再连接到特殊的网关上,由该网关负责将内部专用网络上的信息转化为TCP/IP协议数据包,然后发到网上实现信息传输。这样,只需增加一个直接访问挂接在网关下的8/16位嵌入式设备。该种方案具有很高的性价比和实用价值,可以用于远程监控系统的实现。本文所述的远程监控系统采用的就是这种方案。 6武汉理工大学硕士学位论文1.4论文的主要工作本论文的主要工作包括如下几个方面:??探讨了嵌入式Internet的几种实现方案,并指出了它们的优缺点。??提出了一种基于嵌入式Internet技术的远程监控系统的总体设计方案,并设计了一个采用嵌入式网关技术,具有基本功能的远程监控系统。??采用AT89C51设计了作为下位机的数据采集卡包括其硬件以及软件的具体实现。它通过RS一485总线和上位嵌入式网关,即$3C4510B网关进行通讯。 ??采用$3C45IOB芯片设计了作为监控系统核心的嵌入式网关的硬件电路,包括与各种外围接口电路的设计,女NEthernet、Flash、SDR川V!等。??在嵌入式网关的硬件平台上,建立了基于uClinux的软件开发环境,并在此基础上,通过“Clinux提供的功能强大的API函数,实现了嵌入式网关的基本功能,包括与下位数据采集卡的串口通讯等等。――.――一垫坚里三查兰堡圭兰堡笙苎第二章深入分析pcI.nux2.1iflUX简介pcI 作为一种广受欢迎的操作系统,Linux除了应用于桌面和服务器领域外,kernel己经被广泛地应用于嵌入式系统开发中。∞1inux是在Linux2.0之后出现的一个Linux的变种,它的目标是将Linux应用于没有内存管理单元MemoryManagement约的开放源代码项目,现由Lineo公司维护。在“Clinux这个单词中,儿表示Micro,C表示Control,“C1就是“针对微控制领域而设计的Linux系统”o“。心linux针对没有MMU的处理器,对标准Linux进行了修改,提供了与 它一方面继承了Linux的大部分优点:例如稳定性、各种网络协议栈的支持以及不同类型的文件系统支持等等,另一方面,它广泛地应用于嵌入式领域,内核精简~般小于512k,并已经被移植到常用的嵌入式微控制器上,例AT91x、如Motorola公司的DragonSamsung$3C4510B和S3C44BOX上等。2.2cIiunux的内存管理标准Linux是针对有内存管理单元MMU的处理器而设计的,它所支持的众多处理器无论是X86、MIPS或是ARM,都是包含内存管理单元的。gClinux贝1]恰恰相反。和大多数现代操作系统一样,标准Linux的内存管理机 制都是建立在MMU单元基础之上的。一般而言,比较高档的32位处理器都包含有MMU单元,它的主要功能有两个:1.将虚拟地址转换成物理地址2。控制存储器存取权限就标准Linux而言,最复杂、最难予理解的就是它的内存管理机制,而且内存管理和其它的机制如进程管理混杂在一起。而这种复杂的内存管理机制都是建立在MMU单元基础之上的,如逻辑地址一线性地址一物理地址的转换机制、内存单元存储权限的控制、页面的换入换出机制和交换空间的数据结构管理等等【6J。.8武汉理工大学硕士学位论文 而在嵌入式领域,没有MMU的处理器是相当普遍的。这是因为,一方面MMU在处理器中会占用相当大比例的硅片面积,而硅片的面积决定了处理器的价格。基于成本和尺寸的考虑,没有MMU会更适合于对价格比较敏感的嵌入式设备的应用。由于没有了MMU单元,以上所说的这些建立在MMU之上的复杂的内存管理机制统统没有了。和标准的Linux相比较,gClinux的内存管理简单了许多。gClinux对NOMMU的处理器采用了实地址管理策略,也就是说,和普通的8/16位单片机一样,在laClinux中所使用的都是实际的物理地址,没有虚拟地址的概念,更没有虚拟地址到实际物理地址的映射。这样一个进程在 执行前,系统必须为之分配足够的连续地址空间,然后全部载入主存储器中。开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少的内存,并且标记已使用的和未使用的内存。但是,和大多数8/16位单片机的开发不同,没有MMU并不等于没有内存管理。gClinux仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页。p.Clinux将整个物理内存划分为大小为4KB的页面,由数据结构page管理,有多少页面就有多少page结构。使用标准内核中的变型BuddySystem机制来管理空闲的物理页面。从内存的访问角度来看,开发人员的权利增大了,开发人员在编程时可以访问任意的地址空间,但与此同时系统的安全性也大为下降。但是,因为 嵌入式设备通常在某一特定的环境下实现特定的功能,内存管理的要求完全可以由开发人员考虑B41。2.3pC|.ntlx的进程管理在现代操作系统中,内存管理、进程调度等实际上是密切相关的。在标准进程和子进程拥有相同内容的数据段、代码段和用户堆栈。实际上,父进程只是复制了自己的PCB块,而代码段、数据、用户堆栈段内存空间并没有复制一份,而是与子进程共享。莛享的页面为只读属性,无论是子进程还是父进程试图修改页时,都会产生页面失效异常。并会调用内核的失效处理程序。该处理程序识别这是一个copy―on-write页,为其建立一个新的可写的副本【…。这种技术的实现依赖于MMU的支持,也就是前面所述的MMU的内存保护功 9武汉理工大学硕士学位论文进程。这意味着p.Clinux系统fork调用完成后,要么子进程代替父进程执行此时父进程已经sleep直到子进程调用exit退出,要么调用exec执行一个新的进程,这个时候将产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不能避免。当子进程执行exit或exec后,子进程使用wakeup把父进程唤醒,父进程继续往下执行o“。2.4小型化ⅡC|_nux的方法在嵌入式系统开发应用中,考虑到硬件的开发成本和系统的稳定性等因素,应该使得内核尽可能的小型化。和标准LinUX内核相比,gClinux本身 就小了很多。由前述可知,pClinux裁减了标准Linux内核中建立在MMU单元上的各种复杂机制,它在内存管理、进程管理等方面都简单很多。我们知道,肛Cfinux是公开源代码的软件。虽然用户可以通过修改gClinux的源代码来重新配置I_tClinux,但是这种办法对开发人员的要求较高,因为即使是一个参数的修改都有可能影响到系统的性能,必须在对系统有充分理解的基础上才能这样做。由于肛Clinux内核采用模块化的设计,即很多功能块可以独立地加上或者卸下,开发人员就可以在设计内核时把这些内核模块作为可选的选项在编译系统内核时指定从而减小内核的体积。所以尽管ijClinux采用的是宏内核结构,但是通过这种方法可以使它仍然具有良好的可裁减性,从而有效地弥补了宏内核的不足。较为常用的做法使用make menuconfig,在编译时仔细地选择嵌入式设备所需要的功能支持模块,同时删除不需要的功能模块,例如没有用到的设备驱动程序、文件系统等等。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减资源使用量。LLClinux内核有两种可选的运行方式:可以在Flash上直接运行,也可以加载到内存中运行。??FLASH运行方式:把内核的可执行映像烧写到FLASH上,系统启动时从FLASH的某个地址开始逐句执行。??内核加载方式:把内核的压缩文件存放在FLASH上,系统启动是读取 压缩文件在内存里解压,然后开始执行。前者可以减少内存的需要但是速度较慢。后者要求的内存较大,但运行速度则要快得多。因此,在内存比较紧张的情况下,可以采用前一种方式。lO武汉理工大学硕士学位论文文件系统简单的多,内核仅需要很少的支持代码,且它的超级块占用很少的存储空间,从而节省了宝贵的内存。romfs的缺点是不支持动态擦写保存,扯Clinux采用虚拟ram盘的方法存储系统的动态数据。¨Clinux还重写了一些应用程序库,如将功能强大而体积臃肿的glibc它编译的应用程序远小于标准的glibc生成文件的大小。而且,它还能支持理器。还有肛Clinux采用flat可执行文件格式,而不是标准Lil2UX所采用 的elf格式。flat格式对文件头和一些段信息作了简化,缩小了可执行文件的体积。在肛Clinux的开发中,有专门的工具将elf格式转换为flat格式。武汉理工大学硕士学位论文第三章监控系统平台设计3.1系统的总体设计方案系统由嵌入式网关和若干块数据采集卡构成,各采集卡经通信端口挂接在RS一485总线上,通过485电平转换器和网关的串口相连。本系统中以嵌入式网关作为上位机,各采集卡作为下位机执行上位机发出的命令来彼此通讯。监控系统的总体结构如图3.1所示:图3.1监控系统总体结构图 采用上述的结构,用户可以在任何地方通过Internet访问挂接在轻型RS。485网络上的下位机,读取相关的数据和发布命令。系统的工作原理如下图3.2所示[14】:8/16位设备用户嵌入式网关485网络TCP,IP服务l通讯部分IlI浏览器 应用I应用程序III应用程序l图3.2监控系统工作原理图其中,嵌入式网关作为承上启下的一个部分,它可以提供以下服务:??小型的嵌入式Web服务器,可通过浏览器直接访问挂接在它下面的8/16位设备。??防火墙,过滤掉不被允许的访问,提高系统的安全性。‘协议转换器,可以支持各种轻型的网络,如CAN总线等等。‘设备监视器,可以通过它对下位机的运行情况进行有效的监控。 和8/16位单片机实现的嵌入式网关相比,鉴于采用ARM7TDMI内核的$3C4510B芯片的强大的处理功能,可以使得整个系统的稳定性和安全性都大大提高。3.2下位单片机的软硬件设计数据采集卡作为下位机,它主要由电流电压转换电路、模数转换器作为数据采集卡的主控制器,AT89C51是内含4KFLASH的与8051兼容的单片机。数据采集卡原理框图如图3.3所示:IX5045卜Pl口fP。;_l__口__一 1划1:氅IRESETL――――斗89C51485总线医■k1P。|…'P“TxDRⅢ 爿’。。。M。。’‘。A。。。X’’’‘4。。8。。。7‘。E’。――闻图3.3数据采集卡原理框图目前,应用较多的轻型的网络主要有RS一485总线和各种现场总线,如CAN,PROFIBUS等。现场总线控制系统采用全新的系统结构,通过总线连接底层的现场设备和仪表,构成一个开放的、数字的控制网络。它功能强、可靠性好,但是价格也比较昂贵,适用于较大型的监控系统。对于中小型的控制系统,可以采用主从结构的RS-485总线。在本系统中,采用的是RS.485总线。 RS.485是一种常见的串行接口总线,它结构简单,成本低廉,是一种支持多节点、远距离和接收高灵敏度的总线标准。RS.485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,具有很强的抑制共模干扰的能力,在适当的波特率下通讯距离可以达到1000m以上。而且,采用RS一485总线的监测系统硬件结构简单,连线少,便于安装和调试。武汉理工大学硕士学位论文由变送器输出的-10mA~+10mA标准电流信号经电流/电压转换电路,隔离转换为一5V~+5v的电压信号。再经模数转换器进行转换为数字信号,转换完毕后将转换结果保存在6264芯片中。采集的数据通过RS一485总线发送出去。收发器采用487E,当本系统中负载较多时,因其阻抗 较大,总线上最多可以挂128个这样的收发器。而且,它还具有抑制瞬变电压的功能,可以防止因静电放电ESD对收发器造成的损坏,特别适用于远距离户外通信。当系统传输距离较远时,可在RS.485网络的两端并联了两个120欧的匹配电阻。通信线则采用两芯的屏蔽双绞线。RS一485标准只是一个物理层的通信接口标准,对上层通信协议没有规定,所以上层通讯协议必须由用户定义。在本系统中,通讯的波特率设定为19200比特/秒。系统采用主从方式通讯,即通讯只能由主机发起,从机收到命令后响应。从机从不主动申请,从机只能和主机进行通讯,从机之间不能相互通讯。采集模块中的AT89C51的串口以方式3接收上位机发出的命令和地址信号,此时SM2I。上传数据时SM20。主机采用查询方式接收数 据,从机采用中断方式响应上位机的命令和地址信号。主机发布命令同时启动下位机进行AD转换,然后依次发布各个数据采集卡的地址读取转换结果。每个数据采集卡有各自不同的地址。数据卡一旦收到上位网关发出的本机地址信号,则通过RS.485总线将数据送出。为了保证数据传送的正确性,可添加CRC校验码。下位机的程序采用C51语言开发。数据采集卡通讯程序流程图如图3.4所示:武汉理工大学硕士学位论文团图3.4数据采集卡通讯中断程序流程图nternet网关的硬件设计3.3嵌入式I 3.3.1网关总体设计方案在本系统中,上位机$3C4510B板卡通过网口接入到Intemet中。用户可以通过浏览器通过$3C4510B网关获得下位单片机所采集到的数据。$3C4510B板卡通过RS-485总线与下位机通讯。系统总体设计方案如图3.5所示:武汉理工大学硕士学位论文3.3.2网关处理器$3C4510B考虑到处理器的价格和开发工具及外围电路等因素,最终选择面向低端网络应用的ARM芯片。它价格便宜而且集成了许多外围电路,可以使得设计者快速地开发产品而不用再考虑复杂的外围时序电路。它所集成 的外围电路包括2个HDLC通道,2个通用串口,2个通用DMA,2个32位计时器,18个可编程的通用输入输出口。另外还包括一个可编程的中断控制器、有总线仲裁器和内存译码器[3】[16】。由于该处理器是本系统的核心,因此有必要对其作比较详细的介绍:口ARM7TDMI内核内核被业界公认为性价比较高的一款设计,是目前应用很广的32位高性能处61。理器11ARM7TDMl名字原意如下:T 16位压缩指令Thumb;D在片调试支持debug,允许处理器响应调试请求暂停:M增强型乘法器multiplier,与以前处理器相比性能更高,产生全64位结果;16武汉理工大学硕士学位论文I嵌入式ICE硬件,提供片上断点和调试点支持。它的主要特点有D8]:1指令流水线ARM7TDMI使用流水线以提高处理器指令的流动速度。流水线允许几个操作同时进行,以及处理和存储系统连续操作。ARM7TDMI使用3级流水 线,因此,指令的执行分三个阶段:取指、译码和执行【I”。指令流水线功能段如图3.6所示:从存储器取指指令所用的寄存器译码从寄存器组中读寄存器移位和ALU操作将寄存器写回到里岩寄存器组图3.6指令流水线功能划分ARM7TDMI流水线操作图3.7所示:1 23指令图3.7指令流水线示意图2存储器访I目A蹦7DMI内核是冯.诺依曼体系结构,使用单一32位数据总线传送指令和数据。只有加载、存储和交换指令可以访问存储器中的数据。数据可以是:8,67_字节、16位半字军1132位字。字必须是4字节边界对齐,半字必须以2字节边界对准。3嵌入式ICE―RT逻辑武汉理工大学硕士学位论文 蔓3ARM7TDMI核提供了集成的在片调试支持。可以使用嵌入式ICE―RT逻辑来编程断点和观察断点出现的条件。4触≈M7TDMI有如下两个指令集:1.32位ARM指令集2.16位Thumb指令集是通常使用的ARM指令集的子集。每条Thumb指令是16位长,有相应的对于处理器模型有相同效果的32位ARM指令集。与等价的32位代码相比,占用的存储器空间节省高达35%,然而保留了32位系统所有的优势。5该内核支持表3.1中的7种处理器模式:表3-1:ARM的7种处理器模式 处理器模式说明用户usr正常程序执行模式支持高速数据传送或通道处理FIQfiq用于通用中断处理IRQirq管理SVC操作系统保护模式中止abt实现虚拟存储器或存储器保护 未定义und支持硬件协处理器的软件仿真运行特权操作系统任务系统sys大多数应用程序在用户模式下执行。当处理器工作在用户模式时,正在执行的程序不能访问某些被保护的系统资源,也不能改变模式。除用户模式外的其他模式称为特权模式,它们可以自由地访问系统资源和改变模式。其中,除特权模式外,其余几种模式称为异常模式。当特定的异常出现时,进入相应的模式。每种模式都有某些附加的寄存器,以避免异常出现时用户模式的状态不可靠。特权模式有着和用户模式完全相同的寄存器,供需访问系统资源的操作系统任务使用,可以避免使用与异常模式有关的附加寄存器。6寄存器组织 ARM处理器共有37个寄存器,包括31个通用寄存器和6个状态寄存器。它将寄存器安排成部分重叠的组,每组处理器模式使用不同的寄存器组。其中31个通用寄存器包括不分组的R0~R7,分两组的R8~R12,分六组的R13~R14年【I程序计数器R15。六个状态寄存器为32位寄存器,但只使用了其中的十二位。lR武汉理工大学硕士学位论文◆系统管理器$3C4510B微处理器的系统管理器在整个芯片中起着十分重要的作用,它使用一组专用的特殊功能寄存器来产生访问外设必须的控制信号、地址信号和数据信号控制外部存储器的读写操作。同时,系统管理器也控制着六个 AROⅣf/SRAM原LASH组、41i'、DRM,SDRAM组和外部b'O组以及特殊功能寄存器的访问。系统管理器使用一组专用的特殊功能寄存器来控制外部存储器组的读写操作,通过对该组特殊功能寄存器编程,可以设定:??内存的类型??外部总线的宽度??控制线信号的时序??内存的地址??内存的范围各存储器组都被映射到64MB的地址空间。S3C4510B系统存储器映射图 如图3.8所示四:武汉理工大学硕士学位论文唧F阡一RESERVED―iBank◆16K字SpecialRegister7【or8KB IntemaISRAM+0.41Extemall,oBank3I4个外部Ⅳ0组占用连lExtemaII/OBank2l接的16K字空间,每个l BanklII,o组固定为4K字空间ExternaII/OExtemalI/OBank0监。赙mDRAM/SDRAMBank3九钧四四Bank2 DRAM/SDRAMDRAM/SDRAMBanklDRAM/SDRAMBank0DRAM/SRAM/FLASHBank54DRAM,SRAM,FLASHBankBank3DRAM/SRAM,FLASHBank2DRAM,SRAM丌LASH1 DRAM,SRAM,FLASHBankBank0DRAM/SRAM/FLASH姗姗0¨图3.8$3C4510系统存储器映射图由于ARM7TDMI采用7"32位地址总线,所有的地址都可以看作字节地址。发出字访问信号时,存储系统忽略低2位,发出半字访问信号时忽略低1位,所以只需将S3C4510B的地址总线和存储器的地址总线一一对应连接即可。在下面FLAsH的连接电路图中就是采用此种接法。s3c4510B地址总线变换图3.9所示:20 武汉理工大学硕士学位论文数据总线宽度配置8biffl6bi“32bit8bit●』二―――――一SA[21????0122bit16bit―-,f:---――一SA[22―11外部地址总线引脚,p乙22bit??―――。―-―。-。。。‘‘。。。。‘―― 22bitADDR『2I¨01I7厶―一SA[23¨2】32bit22bit‘。。。。。。。。。。。。。。。。。。。’。。。。一片片外系统地址总线:SA[25..01图3.9S3C4510B地址总线变换图◆重要引脚 $3C4510共有208只引脚。和8/16单片机相比,显然要复杂得多,但还是有规律可循的。其中,有些输入类型的引脚的电平设置直接关系Ns3c4510B的正常工作,在系统设计时需小心处理[17]【3】:LITTLEPin49:大小端模式选择引脚;高电平小端模式,低电平大端模式。陶瓷电容。TMODEPin63:测试模式。高电平芯片测试模式;地电平正常工作模式。用户一般不作芯片测试,该引脚下拉或接地,使芯片处于正常工作模式。nEWAITPin71:外部等待请求信号。该引脚上拉。BOSIZE1:0Pin74,Pin73:BANK0数据宽度选择。 CLKOENPin76:时钟输出允许/禁止。高电平时允许:低电平时禁止;XCLK:系统时钟源。nRESETPin82:系统复位引脚。低电平复位,当系统正常工作时,该引脚应处于高电平状态。CLKSELPin83:时钟选择。高电平时XCLK直接作为系统的工作时钟:低电平时xcLK经过PLL电路倍频后作为系统的工作时钟。ExtMREQPinl08:外部主机总线请求信号。在本系统中,该引脚上拉。在本系统中,这些引脚的连接方法如图3.10所示:茎坚里三查兰堡主兰垡堡奎――一.一kMREo ~”…一一面D133萋_~Ij”F『『∑3≥■图3.10$3C4510B连接电路图3.3.3SDRAM:接口电路作为SDRAM芯片,它也是目前应用较为普遍的SDR.AM芯片。它的存储容量为4BanksX1M×16,工作电压为3.3V。它的引脚定义如表3.2所示:表3-2HY57V641620引脚定义 引脚功能描述CLK时钟,芯片时钟输入CKE时钟使能,片内时钟信号控制/CS片选,禁止或使能除CLK,.CKE和DQM外的所有输入信号BA0-BAl用于片内四个组的选择A1l~AO 行地址:A11~A0,列地址:A7~Ao,.A10:自动预充电标志,RAS行地址锁存/CAS列地址锁存塾坚望三查堂堕主兰竺丝苎――一/Ⅵ屯写使能数据I/O屏蔽 LDQM,UDQM数据总线DQl5~DQ0VDD,VSS内部电路机输入缓冲电源/地输出缓冲电源/地VDDQ/VSSQNC不接接如图3.11所示【191:DQl5 38CLI£37’¨『CKE16WE岸SDRAS17l栅5.。卜撕咖 CAS■SDCAS1836RAS牟NC心Dc∞1940隧CS# NC掘m、…栅日015IDOM小】:『BEl39如]3:UDOMl篓黑2器cCASOs 28羞i蠢……l心∽A2l%lvDDlIxdDRAS41laW$2如D254 27Vss37DD363LVssQlVDt碱t12 9_V嚣Q2VDDQ24643vssQ3VDDQ3.5249节DDQ4V嚣Q4 盯57V64162口一SDCLK!:nDWZcj^¨ f图3。11SDRAM连接电路图3.3.4FLASH接口电路FLASH存储器用来存储p.Clinux及应用程序本身。本系统中采用23武汉理工大学硕士学位论文址空间从0X0开始,这样系统被复位以后就开始由该FLASH启动,执行FLASH中的程序,开始基本的设置和进行各种初始化。gClinux启动后,该[20]:图3.12SST39VFl60B连接电路图 3.3.5网络接口电路作为网络处理器,$3C4510B的一个重要特色就在于它所提供的以太网口。从硬件的角度讲,以太网接口电路由MAC控制和物理层接口组成。常见的以太网接口芯片如CS8900,RTL8019,其内部结构主要也是由这两部份组成。S3C4510B内嵌一个以太网控制器,它主要由MAC控制器和带缓冲的BDMA接口组成。这两部分分别由各自的特殊功能寄存器控制。MAC发送模块负责数据发送,而带缓冲的BDMA接口支持通过系统总线读/写操作,带有两个8位的总线数据收发器,同时可选择奇偶校验功能。MAC控制通过响应BDI的准备好信号从BDI接受数据并发送出去,或将接受到的数据发送武汉理工丈学硕士学位论文 给BDI。数据在以太网控制器的流程图如图3.13所示:图3.13$3C4510B以太网控制器的数据流程示意图和常见的以太网接口芯片不同,$3C4510B并未集成PHY层接口。我们RTL8201均有MII接口,因此连接十分简单,只需将相对应的引脚一一相连的初始状态作为与$3C4510B管理接口通信的PHY地址。为减少芯片的引脚数,RTL8201的LED引脚同时复用为PHY的地址引脚,因此弓I脚不能直接接电源和地。的网络接口中处理。嵌入式网关的网络接口原理如图3.14所示:图314嵌入式网关的网络接口原理图电路的具体连接如图3.15所示121】:Pm 岬3”JHE霉j了图3.15网络接口电路图3.3.6串行接口电路I/0口,每个串口可以在基于中断或者基于DMA模式下运行。也就是说,UART产生内部中断或者是DMA请求去传输CPU和串行I/O的之间的数据。$3C4510B的串口最重要的特性有:??可编程的波特率??支持红外串口收发??每帧可插入一个或者两个停止位??可选择的5、6、7、8比特 ??奇偶校验每个串口都有一个波特率产生器、发送器、接收器和控制单元。波特率产生器可以利用内部时钟也可以利用外部时钟。发送器和接收器有相互独立的缓冲寄存器和移位寄存器。因此可以支持全双工操作。本系统中,共使用了两个串口,嵌入式网关的端口1采用RS.232方式与PC机通讯,作为网关的终端输出信息并接受命令以便于程序的调试,电平电平转换芯片采用487E。串行接口电路如图3.16所示;武汉理工大学硕士学位论文一1 l孑\32||cj¨6rL|I14R×Dnln训l2TIITIOn豫7R10R1I ml1i;手≥886C3|l●0w||CIIljUC2??0NDOm|I巴.:__/M^j&轮 图3.16串行接口电路图3.3.7电源及电压变换电路电路板的供电直接关系到系统的稳定性,特别是对于高速PCB板。此电路板的工作电压为+5V和+3.3V,由于电源消耗功率较小,使用的是普通的的入口处和出口处加滤波电容进行滤波。另外,为了使系统具有良好的稳定性,在每个芯片的电源入口端都使用了0.1uF的独石电容以滤除高次谐波。电路连接如图3.17所示122】:。Ⅱ1图317电源部分接口电路图27武汉理工大学硕士学位论文 第四章嵌入式Internet网关的软件设计4.1系统开发环境的建立虽然采用I.tClinux开发嵌入式系统有很多优势,但在实际应用中开发人员还是会遇到很多方面的困难。诸如内核的移植、各种设备驱动的编写及稳定运行、开发过程中调试环境的建立等。因此为了实现应用系统开发,建立或拥有一个完备的I.tClinux开发环境是十分必要的。在嵌入式系统开发中,由于目标机的资源有限,通常采用交叉编译的方法。所谓交叉编译,就是在一个平台上生成可以在另一个平台上执行的代码。Linux 有RedHat8.0的PC机上建立起开发平台【31。首先从网上下载如下的工具链:arm??elf-binulitils??2.11―5.i386.rpm/,针对ARM体系结构的一些辅助工具,包括了链接器1d、汇编器as以及一些基本的目标文件处理工具。aml一elf-gcc一2.95.3.2.i386.rpm//针对ARM体系结构的gee编译器arm―elf-gdb一5.0??1.i386.rpm/,针对ARM体系结构的gdb调试器gertromfs一0.5.1一1.i386.rpm //产生romfs文件系统的应用工具,可以形成romfs文件系统HatPackageManager的缩写,是一种软件包管理程序,其中,rpm是Red可以将原本复杂的软件包安装程序,在Linux环境下轻松地利用单一操作完成。将下载的各个软件包保存在PC机的任一目录上。通过依次输入下面的命令来安装各个rpm包:aITfl.elf-binutils一2.1l一5.i386.rpmrioin.ivhrpm―ivh am]一elf-gcc一2.95.3―2.i386.rpmrpm??ivharm―elf-gdb一5.0一1.i386.rpmrpm.ivhgenromfs一0.5.1-1.i386.rpm执行完这些命令,基本的开发环境也就建立起来了。4.2对内核的修改和编译28武汉理工大学硕士学位论文于嵌入式操作系统的运行与硬件密切相关,而硬件的设计则会因应用场合的不同而千差万别。必须根据开发板的硬件做出适当的修改,也就是所谓的板级移植。1 xzvf首先下载uClinux??Samsung一2002038.tar.gz源码,执行tar解压完毕后生成uClinux―Samsung??20020318.tar.gz命令解压,Makefile,README,SOURCE等。其中:/bin存放用户最常用的基本程序/config存放pClinux的结构文件/freeswanLinux下的IPsec实现/images用于存放编译后生成的文件 /1ib存放各类库/linux.2.0.x存放linux.2.0版本的内核源文件/linux一2.4.x存放linux.2.4版本的内核源文件/tools存放工具说明文档和其他杂项/uClibc存放I_tClinux的库文件/user存放用户的各种应用程序/vendors存放有关各种处理器的文件然后根据电路板的硬件设计修改相应的配置。由于我们下载的laClinux司的网站上可以下载该开发板的原理图。必须根据本系统的硬件设计对p.Clinux进行相应的修改,包括系统的主时钟频率、系统存储器控制寄存器、 ROM7SRA^t伊LASHBank0控制寄存器的设置、Flash容量的设置、DRAM/SDRAMBank0控制寄存器的设置,SDRAM容量的设置等等。以本系统中外接的16M数据总线宽度为32的SDRAM为例。首先修改找到和s锄sung相关的部分,修改如下:武汉理工大学硕士学位论文ARCH|f[”$CONFIGSAMSUNG””y”】:thendefinebooICONFIGNOPGTCACHEY CPUdefineboolCONFIG32vCONFIGCPU26ndefinebooldefineboolCONFIGCPUARM7lOvCPUWlTHCACHEdefineboolCONFlGynCPUWITHMCRnqSTRUCTIONdefineCONFIG boolSERIALSAMSUNGdefineb001CONFIGyDRAMBASE0x00000000definehex‖DRAMdefinehexDRAMSIZE0x01000000SIZE的大小为16MMEM0x01000000definehexFLASHBASEFLASHSIZEOx00200000definehex 关硬件信息的定义在其中。在hardware_h中的SDRAM的相关内容修改如下:,++_$●十++++++++十●$$十++++,pControlMemoryRegismr+,SyStem/+++十十十-??$÷+÷++++++十+十+++++++/ROMBank0叫#defineDSRO2op#define #defineDSR.204#defineDSR.3O6#defineDSR4O8#defineDSR5010RAMBank0数据宽度为32位+/#defineDSDO312p#define DSDlO14#defineDSD2016#defineDSD3O18#defineDSX0020产EXTIOO+,#defineDSXl022武汉理工大学硕士学位论文#defineDSX2024 #defineDSX3O26#defineIDSOIDSXIIDSX21DSX3,$十$$$十$$++十十十●十十十+十+÷+十十十+÷+●#十+,pSDRAMCON0:SDRAMBank0ControlRegister+//+++++十+++++十+++++??$$$$??+++++++++++/#defineStRCO0xl7、#defineStRP0fOx38 SDRAMBASE0#defineR#defineSDRAMNEXT0f0x020000001620SDRAMBASE0#defineB0x000000001610#defineSDRAM#defineSCAN00x030 rsDRAMcON0-ft#definerSDRAMCON0_B#define0x0托efinerSDRAMCoNlrSDRAMCON2OxO#define0x0rSDRAMCON3#define menuco瓶g的方法来配修改完针对硬件电路的设置后,--Nc采用makemenuconfig,将不需置内核。此种方法简单直观,不容易出错。执行make要的功能统统去掉,生成尽可能小的内核,依次执行命令:makedepcleanmakemakelibonly usermakeonlyromfsmakemakeimage31武汉理工大学硕士学位论文make因为在调试过程中,可能要多次编译内核,因此可将以上指令编写为一 个脚本文件,脚本文件类似于DOS中的批处理文件。整个编译过程大概需要十几分钟,需耐心等待。在完成“Clinux内核的编译后,可以在ROM/SDRAM,FLASHBank0对应的FLASH中,当系统复位或上电时,内核自解压到SDRAM中并开始运行。4.3嵌入式web,q甚.务器软件设计4.3.1应用程序的添加和8/16位机的前后台式的开发流程不同,在本系统中应用程序是建立在uCljnuX软件平台之上的,可以充分地利用系统提供的强大功能来编写程序。在uC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭