关于嵌入式系统.doc_第1页
关于嵌入式系统.doc_第2页
关于嵌入式系统.doc_第3页
关于嵌入式系统.doc_第4页
关于嵌入式系统.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

一、什么是嵌入式系统嵌入式系统是“以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。它与通用计算机技术的最大差异是必须支持硬件裁减和软件裁减,以适应应用系统对体积、功能、功耗、可靠性、成本等的特殊要求。二、嵌入式系统开发的4个层次嵌入式系统的开发可分为4个层次:硬件层、驱动层、操作系统层和应用层。1、硬件层硬件层开发的主要工作是根据应用的需求,选择适合的嵌入式处理器芯片,配置相应的接口电路,为嵌入式应用构建一个硬件平台。嵌入式系统的核心是嵌入式处理器。嵌入式处理器一般可分为嵌入式微处理器(EMPU)、嵌入式微控制器(EMCU)、嵌入式DSP处理器(EDSP)、嵌入式片上系统(ESoC)4类。 嵌入式微处理器(MicroProcessor Unit)嵌入式微处理器是从通用计算机的CPU 演变过来的。其特征是具有32 位以上的处理器,具有较高的性能,其价格也相应较高。与通用计算机的CPU 不同的是,它在实际应用中只保留与应用紧密相关的功能硬件,去除其它的冗余部分,以最低的功耗和资源实现应用系统的需要。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低等优点。但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机,如STD-BUS、PC104等。近年来,德国、日本的一些公司又开发出了类似火柴盒式、名片大小的嵌入式计算机系列OEM产品。目前主要的嵌入式微处理器有:ARM,PowerPC、MIPS、Atom 等系列。其中ARM是专门为各类嵌入式系统开发的嵌入式微处理器;PowerPC是 1990年代初期由摩托罗拉与IBM合作共同开发的通用型嵌入式CPU的架构。设计上更强调低耗电、非桌面功能。目前.从世界上最高速的巨型机(HPC)、网络路由器、通信设备、火星探测器、机顶盒到游戏机都在使用着PowerPC 架构的微处理机;MIPS处理器是20多年前由斯坦福大学开发的RISC体系结构发展而来, MIPS科技公司以IP(知识产权)授权方式向半导体厂家及嵌入式系统制造商提供MIPS-Based内核设计。我国龙芯系列采用的是MIPS体系结构;而Atom (凌动)是Intel将x86体系结构用于嵌入式系统的嵌入式微处理器产品。 嵌入式微控制器(MicroController Unit)嵌入式微控制器的典型代表是单片机,将CPU 和计算机的外围功能单元(如:存储器、I/O 口、定时计数器、中断系统等)集成在一块芯片上。与嵌入式微处理器相比,单片机的最大特点是单片化,体积大大减小,功耗和成本更低。由于单片机的片内资源丰富,特别适用于控制场合,所以国外都称之为“微控制器”。嵌入式微控制器的品种数量繁多,表1-1列出了目前流行的代表产品。表1-1 目前流行的嵌入式微控制器厂商内核代表产品Atmel爱特梅尔ARM7/9AVR8/32SAM7/SAM9AVR8/AVR32MICROCHIP微芯PICmicroMIPSPIC12/PIC16/PIC18PIC32FreeScale飞思卡尔C08/S08MC68H908ST意法半导体ARMSTR720/740NXP恩智浦Cotex-M3LPC1500TI德州仪器C24xARMTMS320C2000MSP430F/470FRenesas瑞萨SH 2/4H8/SuperH 嵌入式DSP 处理器(Digital Signal Processor)DSP 是专门用于信号处理的处理器,在系统结构和指令算法方面进行了特殊的设计,具有很高的编译效率和指令执行速度。DSP算法正在大量进入嵌入式领域,DSP应用正在逐步从在通用单片机中以普通指令实现DSP功能过渡到采用嵌入式DSP处理器。推动嵌入式DSP处理器发展的主要因素是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL 接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。嵌入式DSP处理器比较有代表性的产品是Texas Instruments的TMS320系列,包括用于控制的C2000系列、移动通信的C5000系列,以及性能更高的C6000系列。此外CEVA公司的CEVA-X DSPs,CEVA-TeakLite DSPs系列具有专用的视频指令和一个功能强大的三维DMA,广泛用于便携式多媒体SoC的视频处理;ADI公司的ADSP-BF54x系列Blackfin处理器, 适合那些要求现场可升级、本地存储和显示能力至关重要的多种工业应用,包括工业自动化、无线基础设施、无线电信设备和交换机等应用。 嵌入式片上系统(System On Chip)SoC设计技术始于20世纪90年代中期,它使用专用集成电路ASIC芯片设计。嵌入式片上系统从整个系统性能要求出发,把微处理器、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片上实现整个系统的功能。SoC是一种基于IP(Intellectual Property)核嵌入式系统级芯片设计技术,它将许多功能模块集成在一个芯片上。如ARM RISC、MIPS RISC、DSP或其他的微处理器核心,加上通信的接口单元,例如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等,这些单元以往都是依照其各自功能做成一个个独立的处理芯片。SoC 的最大特点是实现了软硬件的无缝结合,片内嵌入了操作系统的代码模块。SoC 具有极高的综合性,可以应用VHDL 等硬件描述语言,实现一个复杂的系统。由于绝大部分系统构件都在片内,所以整个系统特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性和设计生产效率。SoC可以分为通用和专用两类。通用系列现在几乎每个半导体制造商都在生产。如TI的达芬奇处理器系列及OMAP处理器系列;飞思卡尔的i.MX系列及QorIQ系列, NXP的NPX系列, Intel的CE4000系列等;而专用SoC一般专门用于某个或某类系统中,不为一般用户所知。2、驱动层它是介于嵌入式硬件和上层软件之间的一个底层软件开发包,主要目的是屏蔽下层硬件。该层一般拥有两部分功能。一是系统引导,包括嵌入式处理器和基本芯片的初始化;二是提供设备的驱动接口,负责嵌入式系统与外设的信息交互。驱动层程序一般包括硬件抽象层(HAL)、板级支持包(BSP)和设备驱动程序。 硬件抽象层:硬件抽象层(Hardware Abstraction Layer,HAL)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。也就是说,可通过程序来控制所有硬件电路如CPU、I/O、Memory等的操作。这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。 板级支持包:板级支持包(Board Support Package,BSP)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP。 设备驱动程序:系统中安装设备后,只有在安装相应的设备驱动程序之后才能使用。驱动程序为上层软件提供了设备的操作接口,上层软件只需要调用驱动程序提供的接口,而不用理会设备内部操作。驱动程序的好坏直接影响着系统的性能。3、操作系统层嵌入式操作系统是嵌入式系统极为重要的组成部分,其通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。嵌入式操作系统可以分为实时操作系统(Real Time Operate System,RTOS)和分时操作系统。分时操作系统对软件的执行时间的要求并不严格,时间上的延误或者时序上的错误一般不会造成灾难性的后果。实时操作系统首要任务是尽一切可能完成实时控制任务,其次再着眼于提高计算机系统的使用效率。实时性需要调度一切可利用的资源完成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分级(如联机查询系统)。对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。目前常用的嵌入式操作系统 Windows CE微软公司的Windows CE操作系统在1996年发布了第一个版本Windows CE 1.0起,到2005年发布Windows CE.NET5.0版本, 2006年发布 Windows CE 6.0。2007年起Windows CE更名为“Windows Embedded CE, 提供了新版“Windows Embedded CE 6.0 R2, 2009年发布 Windows Embedded CE 7.0,目前 Windows Embedded CE 的主要应用领域为智能终端等消费电子类产品. 此外,微软公司的Windows Embedded产品线还有多种,各自面向POS,通信,工业控制、医疗等不同的嵌入式应用领域。现代的嵌入式操作系统与嵌入式操作系统的定制或配置工具紧密联系,构成了嵌入式操作系统的集成开发环境。就Windows CE来讲,你无法买到Windows CE这个操作系统,但可以买到Platform Builder for CE.NET 4.2的集成环境(简称PB),利用它可以裁减和定制出一个符合自己需要的Windows CE.NET 4.2的操作系统。因此,我们说的嵌入式操作系统实际上完全是由自己定制出来的,为在Windows CE上进行应用软件开发,微软公司提供了Embedded Visual Basic(EVB)、Embedded Visual C+(EVC)、Visual Studio.NET等工具,它们是专门针对Windows CE操作系统的开发工具。把Windows CE操作系统中软件开发包SDK导出后安装在EVC下,就可以变成专门针对这种设备或者系统的开发工具了。VS.NET中的VB.NET和C#也提供了对以Windows CE为操作系统的智能设备开发的支持,但要求这些设备支持微软公司的.NET Compact Framework.。 嵌入式Linux Linux从1991年问世到现在,已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,而且在新兴的嵌入式操作系统领域内也获得了飞速发展。嵌入式Linux是指对标准Linux经过小型化裁减处理后,能够固化在容量只有几KB或者几MB的存储芯片或者单片机中,适合于特定嵌入式应用场合的专用Linux操作系统。Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种处理器体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行。Linux内核高效和稳定已经在各个领域内得到了大量事实的验证,Linux内核设计非常精巧,分成进程调度、内存管理、进程通信、虚拟文件系统和网络接口等五大部分,其独特的模块机制可以根据用户的需要,实时地将某些模块插入内核或从内核中移走。这些特性使得Linux系统内核可以裁减的非常小巧,很适合嵌入式系统的需要。Linux是开放源代码的自由操作系统,它为用户提供了最大限度的自由度。其软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到。嵌入式Linux为开发者提供了一套完整的开发工具,它利用GNU的gcc做编译器,用gdb、kgdb、xgdb做调试工具,能够很方便的实现从操作系统内核到用户态应用软件各个级别的调试。Linux支持所有标准的Internet的网络协议,并很容易移植到嵌入式系统中。此外,Linux还支持ext2、fat16、fat32、romfs等文件系统。由于上述这些优良特性,目前,嵌入式Linux占据了很大的市场份额。常用的嵌入式Linux操作系统有:uCLinux、RTLinux、ETLinux、Embedix、XLinux等。 其他嵌入式操作系统其他嵌入式操作系统还有:uC/OS、eCOS、FreeRTOS、VxWorks、pSOS、Palm OS、Symbain OS等。对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花几百人年才能搞定。因此这部分工作相对来讲没有太大意义。4、应用层应用层的基本任务是开发最终运行在目标机上的应用软件,如嵌入式游戏、家电控制软件、多媒体播放软件等。三、嵌入式工程师的目标定位对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后认真学习相关的知识,不管哪一层,学好了,学精了,都会很有前途的。1、嵌入式硬件工程师嵌入式硬件工程师要求具有较强的硬件设计能力,能够根据应用的需求,选择适合的嵌入式处理器芯片,配置相应的接口电路,为嵌入式应用构建一个硬件平台。嵌入式硬件层的开发可能有两种模式:模式一是基于EMPU(嵌入式处理器)、EMCU(嵌入式微控制器)或EDSP嵌入式处理器的开发设计。主要工作:根据应用的需求,进行接口的配置。硬件基础:微机原理、单片机原理、接口技术。软件基础:要掌握SCH和PCB的辅助设计工具。我们的学生应该具有这个模式下的硬件层的开发能力。模式二基于CPLD、FPGA或SoC(嵌入式片上系统)的开发设计。主要工作:进行逻辑电路的设计和接口的设计。硬件基础:数字逻辑电路基础、微机原理、单片机原理、接口技术。软件基础:要掌握辅助设计工具和硬件描述语言(VDHL)。SCH和PCB的辅助设计工具有Protel、ORCAD、PowperPCB等。Protel在国际上不通用,只是国内通用,ORCAD和PowperPCB适用更广一些。如果想走得高些或到台资、日资、美资公司及国内需要对外交流的大公司的话,应该学习ORCAD或PowperPCB。CPLD常用的设计软件有Alter公司的Maxplus2和Xilinx公司的ISE。CPLDCPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统FPGAFPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA与CPLD的辨别和分类FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。 将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。 FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。 CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。 CPLD保密性好,FPGA保密性差。 一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。超高速集成电路硬件描述语言(VHDL):VHDL语言是一种用于电路设计的高级语言,主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。适合于:电子、通信、自动化、机电一体、信息工程类专业的学生。2、嵌入式驱动工程师嵌入式驱动层的开发可能有两种模式:模式一:不兼容操作系统的驱动设计,这是一种低层次的开发设计。模式二:兼容操作系统的驱动设计,这是一种高层次的开发设计。一个优秀的驱动工程师不仅要能看懂电路图,还必须十分精通对操作系统内核,以使其所写的驱动程序能够兼容操作系统。不至于在系统调用时,独占操作系统时间片,而使其它任务不能运行。比较适合:电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。3、嵌入式应用工程师嵌入式应用工程师的任务是根据应用的需求,设计一个完整的应用系统。要成为一个优秀的嵌入式应用工程师,必须动手做,踏踏实实地做一些课题,才会有进步。按照设计的平台不同,有多种不同的定位。3.1、基于硬件层的嵌入式应用工程师基于硬件层的嵌入式应用设计包括两大内容:一是硬件设计:要根据应用的需求,选择适合的嵌入式处理器芯片,配置相应的接口电路,为嵌入式应用构建一个硬件平台。二是软件设计:开发最终运行在目标机上的应用程序。技术基础:硬件基础:数字逻辑电路基础、微机原理、单片机原理、接口技术。要掌握SCH和PCB的辅助设计工具。软件基础:C语言程序设计、汇编语言程序设计要掌握程序设计的开发环境初学者的平台选择:1、基于51单片机2、基于ARM3.2、基于驱动层的嵌入式应用工程师基于驱动层的嵌入式应用设计:技术基础:硬件基础:数字逻辑电路基础、微机原理、单片机原理、接口技术。软件基础:C语言程序设计、汇编语言程序设计初学者的平台选择:1、Stellaris(群星)系列微控制器硬件平台:Stellaris(群星)系列微控制器周立功单片机发展有限公司的 EasyARM1138 EasyARM2103北京达盛科技有限公司的 EXP-LM3S811 EXP-LM3S6952Luminary Micro公司设计、经销、出售基于ARM CortexTM-M3的微控制器(MCU)。作为ARM的Cortex-M3技术的主要合伙人,Luminary Micro已经向业界推出了首颗Cortex-M3处理器的芯片,用8/16位的成本获得了32位的性能。Luminary Micro的Stellaris系列微控制器包含运行在50MHz频率下的ARM Cortex-M3 MCU内核、嵌入式Flash和SRAM、一个低压降的稳压器、集成的掉电复位和上电复位功能、模拟比较器、10位ADC、SSI、GPIO、看门狗和通用定时器、UART、I2C、运动控制PWM以及正交编码器(quadrature encoder)输入。提供的外设直接通向管脚,不需要特性复用,这个丰富的特性集非常适合楼宇和家庭自动化、工厂自动化和控制、工控电源设备、步进电机、有刷和无刷DC马达、和AC感应电动机等应用。ARM Cortex-M3 处理器(Stellaris驱动库)软件开发平台:RealViewMDKRealView MDK是ARM公司最先推出的基于微控制器的专业嵌入式开发工具。它采用了ARM 的最新编译工具RVCT(RealView Compilation Tools),集成了Keil Vision集成开发环境(IDE),因此特别易于使用,同时具备非常高的性能。与ARM之前的工具包ADS 等相比,RealView 编译器的最新版本可将性能改善超过20%。因此,RealView MDK是ARM软件开发的首选工具。2、凌阳十六位单片机精简开发板-61板随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSPTM(Microcontroller and Signal Processor)16位微处理器芯片(以下简称nSPTM)。围绕nSPTM所形成的16位nSPTM系列单片机(以下简称nSPTM家族)采用的是模块式集成结构,它以nSPTM内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,另外,nSPTM的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得nSPTM家族运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。3.3、基于操作系统层的嵌入式应用工程师基于操作系统层的嵌入式应用设计:在操作系统环境下进行应用程序的开发设计。按照选用的操作系统不同,有不同的定位。3.3.1 基于Linux的嵌入式应用设计3.3.2 基于WINCE的嵌入式应用设计这个层次相对来讲较为容易的,主要需要C语言或Jave程序设计能力。如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。初学者的平台选择:建议选择: 友善之臂 mini2440+ LCD触摸屏套件+512M存储器硬件基础:数字逻辑电路基础、微机原理、单片机原理、接口技术。软件基础:C语言程序设计、汇编语言程序设计实际的嵌入式系统应用软件建立在系统的主任务(Main Task)基础之上。用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能开发。在用户应用程序中,也可创建用户自己的任务。任务之间的协调主要依赖于系统的消息队列。实际构建嵌入式系统时,并不一定需要操作系统和应用编程接口API。即使使用,也可以根据应用需求配置和剪裁。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。四、嵌入式应用系统的开发步骤嵌入式应用系统开发过程一般分为以下五个步骤:方案论证,硬件系统的设计,系统软件的设计,系统仿真调试和脱机运行。1、方案论证确定开发题目后,首先要进行方案调研,这个过程至关重要,制定出一个好的方案,会使后面的开发工作较为顺利。调研工作主要解决以下几个问题: 了解用户的需求,确定设计规模和总体框架。“以应用为中心”是嵌入式系统的基本特点,在开发设计嵌入式系统时,必须充分体现“以应用为中心”这一特点,这就需要充分了解用户的需求。首先,必须明确要设计的系统是用来干什么的,需要具备哪些功能?由此可以设定系统由哪些功能模块构成,从而确定系统的设计规模和总体框架。其次,必须明确该系统的使用者是谁?他希望如何使用?画出使用流程图。由此可以确定系统的控制流程和软件模块。 摸清软硬件技术难度,明确技术主攻问题。系统的设计规模和框架出来以后,明确了系统由哪些(软硬件)功能模块构成,各个功能模块的实现存在有哪些技术难度,从而明确了技术的主攻问题。 针对主攻问题开展调研工作,查找中外有关资料,确定初步方案。如果存在有技术的难度问题,就要通过查找资料、调研分析,确定解决的初步方案。 嵌入式应用开发技术是软硬件结合的技术,方案设计要权衡任务的软硬件分工。有时硬件设计会影响到软件程序结构。如果系统中增加某个硬件接口芯片,而给系统程序的模块化带来了可能和方便,那么这个硬件开销是值得的。在无碍大局的情况下,以软件代替硬件正是计算机技术的长处。 尽量采纳可借鉴的成熟技术,减少重复性劳动。2、硬件系统的设计嵌入式应用系统的设计可划分为两部分:一部分是与微处理器直接接口的数字电路范围的电路芯片的设计。如存储器和并行接口的扩展,定时系统、中断系统扩展,一般的外部设备的接口,甚至于 A/D、 D/A芯片的接口。另一部分是与模拟电路相关的电路设计,包括信号整形、变换、隔离和选用传感器;输出通道中的隔离和驱动以及执行元件的选用。应用系统的设计应注意以下几个方面:

温馨提示

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

评论

0/150

提交评论