信息电器实验室实习报告_2.doc_第1页
信息电器实验室实习报告_2.doc_第2页
信息电器实验室实习报告_2.doc_第3页
信息电器实验室实习报告_2.doc_第4页
信息电器实验室实习报告_2.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息电器实验室实习报告 信息电器实验室实习报告此次实习,通过老师的指导和参阅了一些资料,我了解到信息电器实验室主要由三部分组成:交换机真实研发系统;高端嵌入式研发系统;pda模拟与研发系统。该实验室基于自主设计,它把工程技术应用中的开发环境与我们的专业知识体系紧密结合,形成了有一定特色的真实实验环境。java技术实验室可以为我们提供分布式网络系统的资源管理、 java服务器端的编程框架模式、中间件技术、java组件技术、java安全技术的研究等。根据我们技能学习的需要,它开设了三个层次的教学内容,满足我们由入门到提高的要求,以及培养我们的实际应用开发能力。让我们受益匪浅。另外无耻悲鄙下流的网学网总是抄六维论文网我了解到实验室建设的基本思路是二化三层次.中心化:面向全校的基础课程实验教学和相同相近实验课程归并整合为校级实验中心,可以挂靠某个系运行管理; 一体化:有条件的系要根据实际情况将现有的教研室与实验室合并于一体,二块牌子一套班子。三层次:第一层次:面向全校开放的公共服务体系:跨院跨学科的基础课或专业基础课校级实验教学中心;第二层次:原 则上为一个或几个学院开设专业基础课实验教学的院级中心实验室;第三层次:专业实验室。专业实验室分为教 学与科研两个体系。在体制上要力求做到:四位一体、模块组织、因人设所。 四位一体:专业建设、课程建设、学科建设、实验室建设。 模块组织:按研究方向(长期、稳定、特色明显)、学术带头人、梯队、研究生构建模块,进行项目论证和建设在刚进入这个专业时候我就从朋友那了解到嵌入式在如今社会中的重要性,以及其发展程度和速度。所以我一直以来就对嵌入式特别感兴趣,自然的这次实习我就把嵌入式系统实验作为了主要实习内容在该实验室,我们可以进行一些嵌入式系统软件与硬件的开发。本实验室以基于arm7内核的32位arm微控制器为对象,主要采用我们计算机学院自主开发的cs-ii型嵌入式arm实验箱为教学实验平台,同时配套有ads集成开发环境,支持汇编语言、c语言的程序设计,并且支持在线仿真调试。下面我对嵌入式做具体的介绍:一、嵌入式系统的定义根据ieee(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。 不过上述定义并不能充分体现出嵌入式系统的精髓,目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 这个定义上,可从几方面来理解嵌入式系统: 嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如palm之所以在pda领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。 嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几k到几十k微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。 实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难以给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有操作系统的嵌入式系统无耻悲鄙下流的网学网总是抄六维论文网,本文在进行分析和展望时,也沿用这一观点。 一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(i/o)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和windows系统的最大区别)。二 、嵌入式系统实验室的组成嵌入式系统实验室的主要仪器设备分为硬件和软件两大类。硬件资源主要有:cs-ii型arm教学实验箱、函数发生器、数字存储示波器和一些硬件组装设备。软件资源主要有:ads1.2集成开发环境、sdt集成开发环境、自主版权isp 程序下载软件、自主版权通信调试工具。三、嵌入式系统实验室硬件原理及功能cs-ii型嵌入式arm实验箱作为嵌入式系统实验的硬件开发平台,它为我们提供了强有力的硬件支持。由于它是以arm7为处理内核,具有嵌入式icert逻辑,调试开发非常方便。arm7主要应用于工业控制、internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用领域。arm7具有四个方面的性能特点:1、极低的功耗,适合对功耗要求较高的应用,如便携式产品。2、 能够提供0.9mips/mhz的三级流水线结构。代码密度高并兼容16位的thumb指令集;对操作系统的支持广泛,包括windows ce、linux、palm os等。3、 指令系统与arm9系列、arm9e系列和arm10e系列兼容,便于用户产品的升级换代。4、主频最高可达130mips,高速的运算处理能力能胜任绝大多数的复杂应用。cs-ii型嵌入式arm实验系统基于arm7 tdmi内核 risc 处理器,支持 cos-、vxworks、clinux操作系统,支持自主版权程序下载器及调试工具。四、嵌入式系统实验室软件原理1、ads集成开发环境目前,针对arm处理器核的c语言编译器有很多,如sdt、ads、iar、tasking和gcc等。据了解,目前在国内最流行的是sdt、ads和gcc。sdt和ads均为arm公司自己开发,ads为sdt的升级版,以后arm公司不再支持sdt,所以不会选择sdt。gcc虽然支持广泛,很多开发套件使用它作为编译器,但与ads相比较,其编译效率较低,这对充分发挥其芯片的性能有着很大的阻碍作用,所以最终使用ads编译程序和调试。本实验设备采用ads编译器,其全称为arm developer suite。ads由命令行开发工具、arm时实库、gui开发环境(code warrior和axd)、实用程序和支持软件组成。有了这些部件,我们就可以为arm系列的risc处理器编写和调试自己的开发应用程序了。ads支持汇编语言、标准c语言以及标准c+语言。2、isp 程序下载软件isp(in-system programming)即“在系统可编程”,指电路板上的空白器件可以编程写入最终的用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用isp方式擦除或再编程。由于我们的实验器件均集成到一块实验箱上,所以采用isp可以使我们的编程和在线调试变得简单容易。(1)isp的工作原理isp 的实现比较简单,一般通用的做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲,可以通过spi或其它的串行接口接收上位机传来的数据并写入存储器中。所以,即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。 (2)isp的优点 isp技术的优势是不需要编程器件就可以进行单片机的实验和开发。单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。3、通信调试工具常用的有串口调试助手(scomassistant) 3.0,它支持常用的400-38400bps波特率,能方便的在串口上以ascii码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期。五、嵌入式系统的特点这些年来掀起了嵌入式系统应用热潮的原因只要有几个方面:一是芯片技术的发展,使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。 从上面的定义,我们可以看出嵌入式系统的几个重要特征: 系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如enea公司的ose分布式系统,内核只有5k,而windows的内核?简直没有可比性。 专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。 系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 高实时性的系统软件(os)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。 嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配rtos(realtime operating system)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。六、嵌入式设计的软硬件选择1 硬件的选择1.1 嵌入式处理器的选择嵌入式系统的核心部件是各种类型的嵌入式处理器,目前据不完全统计,全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列。但与全球pc市场不同的是没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以32位的cpu而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因此选择是多样化的。设计者在选择处理器时要考虑的主要因素有:(1) 调查上市的cpu供应商。有些公司如motorola、 intel、amd很有名气,而有一些小的公司如qed(santaclara .ca)虽然名气很小,但也生产很优秀的微处理器。另外,有一些公司,如arm、mips等,只设计但并不生产cpu,他们把生产权授予世界各地的半导体制造商。arm是另外一种近年来在嵌入式系统有影响力的微处理器制造商,arm的设计非常适合于小的电源供电系统。apple在newton手持计算机中使用arm,另外有几款数字无线电话也在使用arm。(2) 处理器的处理速度。一个处理器的性能取决于多个方面的因素:时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。对于许多需用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和io子系统。如果你的设计是面向高性能的应用,那么建议你考虑某些新的处理器,其价格极为低 廉,如ibm和motorola 的power pc。以前intel 的 i960是销售极好的risc高性能芯片,但 是最近几年却遇到强劲的对手,让位于mips、sh以及后起之星arm。(3) 技术指标。当前,许多嵌入式处理器都集成了外围设备的功能,从而减少了芯片的数量,进而降低了整个系统的开发费用。开发人员首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(gl)就可以连接到处理器上。其次是考虑该处理器的一些支持芯片,如dma控制器,内存管理器,中断控制器,串行设备、时钟等的配套。值得注意的是,amd公司最近发布了一种am186cc的通信用处理器,内置采用国人熟悉的x86内核和四路 hdlc和一个usb外围控制器。,该处理器适合于多种通信应用领域,包括:isdn终端适配器、低端路由器、数字专线(xdsl)modem、usb外围设备、pbx应用、数字电话、数字环路载波以及电话系统。(4) 处理器的低工耗。嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、pda、手机、gps导航器、智能家电等消费类电子产品,这些产品中选购的微处理器典型的特点是要求高性能、低工耗。许多cpu生产厂家已经进入了这个领域。今天,用户可以买到一颗嵌入式的微处理器 ,其速度像笔记本中的 pentium一样快,而它仅使用普通电池供电,并且价格不足50美元。 典型的例子有nec、日立为hpc、palm pc而设计的vr4111和sh7707。digital的 strong arm 1100,在一个极小的200mhz主频封装中集成了彩色lcd控制器、pcmcia触屏接 口等6个接口(含usb、irda),而批量的价格也在40美元以内。(5) 处理器的软件支持工具。仅有一个处理器,没有较好的软件开发工具的支持,也是不行的,因此选择合适的软件开发工具对系统的实现会起到很好的作用。(6) 处理器是否内置调试工具。处理器如果内置调试工具可以大大大的缩小调试周期,降低调试的难度。(7) 处理器供应商是否提供评估板。许多处理器供应商可以提供评估板来验证你的理论是否正确,验证你的决策是否得当。1.2 硬件平台的选择(1) 规模。打算做一套?多套?还是规模生产?如果你的规模比较大,这时可以自己设计和制备硬件,这样可以降低成本。反之,最好从第三方购买主板和i/o板卡。(2) 目标市场的机会。如果想使产品尽快发售,以获得竞争力,此时要尽可能买成熟的硬件,反之,可以自己设计硬件,降低成本。(3) 软件对硬件的依赖性。是否软件可以在硬件没有到位的时候先行开发。2& 软件的选择2.1 操作系统的选择尽管嵌入式系统有着无比广阔的市场需求和发展前景,但嵌入式系统的发展多年来却经历了一个曲折和痛苦的历程。随着微处理器的产生,价格低廉、结构小巧的cpu和外设连接提供了稳定可靠的硬件架构,那么限制嵌入式系统发展的瓶颈就突出表现在了软件方面。从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有tornado/vxworkx、psosystem、neculeus和windowss ce、qnx、vrtx,以及沸沸扬扬的“女娲计划”,中国人自己的嵌入式操作系统hopen和现在谈论最多的嵌入式linux操作系统等等。可用于嵌入式系统软件开发的操作系统很多,但关键是如何选择一个适合你所开发项目的操作系统,我们认为应该从以下几点进行考虑:(1) 操作系统提供那些开发工具。有些实时操作系统(rtos)只支持该系统拱应商的开发工具。也就是说,还必须向操作系统供应商获取编译器、调试器等。而有些操作系统使用广泛且有第三方工具可用,因此,选择的余地比较大。如psosystem支持的工具有:prism+,全集成开发环境,含源代码调试器(spotlight),c/c+ 编译器 (e g diab),汇编器,连接器,c/c+ 开发环境 (sniff+),嵌入式系统监视工具 (esp),corba等。而tornado/vxworkx支持的工具有:远程源级调试器;浏览器;windsh 命令行接口;模块载入器;目标工具;windconfig 板基支持包配置;大约90个第三方嵌入式开发工具和扩展。(2) 操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题。它是关系到整个系统能否按期完工的一个关键因素。因此我们要选择那些可移植性程度高的操作系统。从而避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。(3) 操作系统的内存要求。均衡考虑是否需要额外花钱去购买ram或eeprom来迎合操作系统对内存的较大要求。有些操作系统对内存的要求是target dependent。如tornado/vxworkx,开发人员能按照应用需求分配所需的资源,而不是为操作系统分配资源。从需要几k字节存储区的嵌入设计到需求更多的操作系统功能的复杂的高端实时应用, 开发人员可任意选择多达80种不同的配置。(4)& 开发人员是否熟悉此操作系统及其提供的api。(5)& 操作系统是否有提供硬件的驱动程序,如网卡等。(6) 操作系统是否具有可剪裁性,即能否根据实际需要进行系统功能的剪裁。有些操作系统具有较强的可剪裁性,如嵌入式linux、tornado/vxworks等等。(7) 操作系统的实时性。实时性分为:软实时和硬实时。有些嵌入式操作系统只能提供软实时,如windowsce。作为微软大名鼎鼎的“维那斯”,microsoft windows ce 2.0 是32位,windows兼容,小内核,可伸缩实时操作系统,满足大部分嵌入式和非嵌入式应用的需要。但不够实时,属于软实时嵌入式操作系统。2.2 编程语言的选择(1) 通用性。随着微处理器技术的不断发展,其功能越来越具体,种类越来越多,但不同种类的微处理器都有自己专用的汇编语言。这就为系统开发者设置了一个巨大的障碍,使得系统编程更加困难,软件重用无法实现,而高级语言一般和具体机器的硬件结构联系较少,比较流行的高级语言对多数微处理器都有良好的支持,通用性较好(2) 可移植性程度。由于汇编语言和具体的微处理器密切相关,为某个微处理器设计的程序不能直接移植到另一个不同种类的微处理器上使用,因此,移植性差;而高级语言对所有微处理器都是通用的,因此,程序可以在不同的微处理器上运行,可移植性较好。这是实现软件重用的基础。(3) 执行效率。一般来说,越是高级的语言,其编译器和开销就越大,应用程序也就越大、越慢。但单纯依靠低级语言,如汇编语言来进行应用程序的开发,带来的问题是编程复杂、开发周期长。因此存在一个开发时间和运行性能间的权衡。(4) 可维护性。低级语言如汇编语言,可维护性不高。高级语言程序往往是模块化设计,各个模块之间的接口是固定的。因此,当系统出现问题时,可以很快地将问题定位到某个模块内,并尽快得到解决。另外,模块化设计也便于系统功能的扩充和升级。(5) 基本性能。在嵌入式系统开发过程中使用的语言种类很多,比较广泛应用的高级语言有:ada、c/c+、modula-2和java等。ada语言定义严格,易读易懂,有较丰富的库程序支持,目前在国防、航空、航天等相关领域应用比较广泛,未来仍将在这些领域占有重要地位。c语言具有广泛的库程序支持,目前在嵌入式系统中是应用最广泛的编程语言,在将来很长一段时间内仍将在嵌入式系统应用领域占重要地位。c+是一种面向对象的编程语言,目前在嵌入式系统设计也得到了广泛的应用,如gnu c+。visual c+,是一种集成开发环境,支持可视化编程,广泛应用于gui程序开发。但c与c+相比,c+的目标代码往往比较庞大和复杂,在嵌入式系统应用中应充分考虑这一因素。modula-2定义清晰,支持丰富,具有较好的模块化结构,在教学科研方面有较广泛的应用。虽然该语言的开发应用一直比较平缓,但近两年在欧洲有所复苏。java语言相对年轻,但有很强的跨平台特性,目前发展势头较为强劲。它的一次编程,到处可用的特性使得它在很多领域倍受欢迎。随着网络技术和嵌入式技术的不断发展,java及嵌入式java的应用也将越来越广泛2。2.3 开发工具的选择(1) 系统调试器的功能。系统调试特别是远程调试是一个重要的功能。(2) 支持库函数。许多开发系统提供大量使用的库函数和模板代码。如大家比较熟悉的c+编译器就带有标准的模板库,它提供了一套用于定义各种有用的集装、存储、搜寻、排序对象。(3) 编译器开发商是否持续升级编译器。(4) 连接程序是否支持所有的文件格式和符号格式。2.4 硬件调试工具的选择好的软件调试程序可以有效的发现大多数的错误。但是如果再选择一个好的硬件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种。(1) 实时在线仿真器(ice)。用户从仿真插头向ice看,ice应是一个可被控制的mcu。ice是通过一根短电缆连接到目标系统上的,该电缆的一端有一个插件,插到处理器的插座上,而处理器则插到这个插件上。ice支持常规的调试操作,如单步运行、断点、反汇编、内存检查、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论