关于嵌入式系统.docx

上传人:b****7 文档编号:8759012 上传时间:2023-02-01 格式:DOCX 页数:14 大小:48.12KB
下载 相关 举报
关于嵌入式系统.docx_第1页
第1页 / 共14页
关于嵌入式系统.docx_第2页
第2页 / 共14页
关于嵌入式系统.docx_第3页
第3页 / 共14页
关于嵌入式系统.docx_第4页
第4页 / 共14页
关于嵌入式系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

关于嵌入式系统.docx

《关于嵌入式系统.docx》由会员分享,可在线阅读,更多相关《关于嵌入式系统.docx(14页珍藏版)》请在冰豆网上搜索。

关于嵌入式系统.docx

关于嵌入式系统

一、什么是嵌入式系统

嵌入式系统是“以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。

它与通用计算机技术的最大差异是必须支持硬件裁减和软件裁减,以适应应用系统对体积、功能、功耗、可靠性、成本等的特殊要求。

二、嵌入式系统开发的4个层次

嵌入式系统的开发可分为4个层次:

硬件层、驱动层、操作系统层和应用层。

1、硬件层

硬件层开发的主要工作是根据应用的需求,选择适合的嵌入式处理器芯片,配置相应的接口电路,为嵌入式应用构建一个硬件平台。

嵌入式系统的核心是嵌入式处理器。

嵌入式处理器一般可分为嵌入式微处理器(EMPU)、嵌入式微控制器(EMCU)、嵌入式DSP处理器(EDSP)、嵌入式片上系统(ESoC)4类。

嵌入式微处理器(MicroProcessorUnit)

嵌入式微处理器是从通用计算机的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体系结构用于嵌入式系统的嵌入式微处理器产品。

嵌入式微控制器(MicroControllerUnit)

嵌入式微控制器的典型代表是单片机,将CPU和计算机的外围功能单元(如:

存储器、I/O口、定时计数器、中断系统等)集成在一块芯片上。

与嵌入式微处理器相比,单片机的最大特点是单片化,体积大大减小,功耗和成本更低。

由于单片机的片内资源丰富,特别适用于控制场合,所以国外都称之为“微控制器”。

嵌入式微控制器的品种数量繁多,表1-1列出了目前流行的代表产品。

表1-1目前流行的嵌入式微控制器

厂商

内核

代表产品

Atmel

爱特梅尔

ARM7/9

AVR8/32

SAM7/SAM9

AVR8/AVR32

MICROCHIP

微芯

PICmicro

MIPS

PIC12/PIC16/PIC18

PIC32

FreeScale

飞思卡尔

C08/S08

MC68H908

ST

意法半导体

ARM

STR720/740

NXP

恩智浦

Cotex-M3

LPC1500

TI

德州仪器

C24x

ARM

TMS320C2000

MSP430F/470F

Renesas

瑞萨

SH2/4

H8/SuperH

嵌入式DSP处理器(DigitalSignalProcessor)

DSP是专门用于信号处理的处理器,在系统结构和指令算法方面进行了特殊的设计,具有很高的编译效率和指令执行速度。

DSP算法正在大量进入嵌入式领域,DSP应用正在逐步从在通用单片机中以普通指令实现DSP功能过渡到采用嵌入式DSP处理器。

推动嵌入式DSP处理器发展的主要因素是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实显示等。

这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。

嵌入式DSP处理器比较有代表性的产品是TexasInstruments的TMS320系列,包括用于控制的C2000系列、移动通信的C5000系列,以及性能更高的C6000系列。

此外CEVA公司的CEVA-XDSPs,CEVA-TeakLiteDSPs系列具有专用的视频指令和一个功能强大的三维DMA,广泛用于便携式多媒体SoC的视频处理;ADI公司的ADSP-BF54x系列Blackfin处理器,适合那些要求现场可升级、本地存储和显示能力至关重要的多种工业应用,包括工业自动化、无线基础设施、无线电信设备和交换机等应用。

嵌入式片上系统(SystemOnChip)

SoC设计技术始于20世纪90年代中期,它使用专用集成电路ASIC芯片设计。

嵌入式片上系统从整个系统性能要求出发,把微处理器、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片上实现整个系统的功能。

SoC是一种基于IP(IntellectualProperty)核嵌入式系统级芯片设计技术,它将许多功能模块集成在一个芯片上。

如ARMRISC、MIPSRISC、DSP或其他的微处理器核心,加上通信的接口单元,例如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等,这些单元以往都是依照其各自功能做成一个个独立的处理芯片。

SoC的最大特点是实现了软硬件的无缝结合,片内嵌入了操作系统的代码模块。

SoC具有极高的综合性,可以应用VHDL等硬件描述语言,实现一个复杂的系统。

由于绝大部分系统构件都在片内,所以整个系统特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性和设计生产效率。

SoC可以分为通用和专用两类。

通用系列现在几乎每个半导体制造商都在生产。

如TI的达芬奇处理器系列及OMAP处理器系列;飞思卡尔的i.MX系列及QorIQ系列,NXP的NPX系列,Intel的CE4000系列等;而专用SoC一般专门用于某个或某类系统中,不为一般用户所知。

2、驱动层

它是介于嵌入式硬件和上层软件之间的一个底层软件开发包,主要目的是屏蔽下层硬件。

该层一般拥有两部分功能。

一是系统引导,包括嵌入式处理器和基本芯片的初始化;二是提供设备的驱动接口,负责嵌入式系统与外设的信息交互。

驱动层程序一般包括硬件抽象层(HAL)、板级支持包(BSP)和设备驱动程序。

硬件抽象层:

硬件抽象层(HardwareAbstractionLayer,HAL)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。

也就是说,可通过程序来控制所有硬件电路如CPU、I/O、Memory等的操作。

这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。

板级支持包:

板级支持包(BoardSupportPackage,BSP)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。

BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP。

设备驱动程序:

系统中安装设备后,只有在安装相应的设备驱动程序之后才能使用。

驱动程序为上层软件提供了设备的操作接口,上层软件只需要调用驱动程序提供的接口,而不用理会设备内部操作。

驱动程序的好坏直接影响着系统的性能。

3、操作系统层

嵌入式操作系统是嵌入式系统极为重要的组成部分,其通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。

嵌入式操作系统可以分为实时操作系统(RealTimeOperateSystem,RTOS)和分时操作系统。

分时操作系统对软件的执行时间的要求并不严格,时间上的延误或者时序上的错误一般不会造成灾难性的后果。

实时操作系统首要任务是尽一切可能完成实时控制任务,其次再着眼于提高计算机系统的使用效率。

实时性需要调度一切可利用的资源完成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。

实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。

限定时间的范围很广可以从微秒级(如信号处理)到分级(如联机查询系统)。

对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。

目前常用的嵌入式操作系统

WindowsCE

微软公司的WindowsCE操作系统在1996年发布了第一个版本WindowsCE1.0起,到2005年发布WindowsCE.NET5.0版本,2006年发布WindowsCE6.0。

2007年起WindowsCE更名为“WindowsEmbeddedCE,提供了新版“WindowsEmbeddedCE6.0R2,2009年发布WindowsEmbeddedCE7.0,目前WindowsEmbeddedCE的主要应用领域为智能终端等消费电子类产品..此外,微软公司的WindowsEmbedded产品线还有多种,各自面向POS,通信,工业控制、医疗等不同的嵌入式应用领域。

现代的嵌入式操作系统与嵌入式操作系统的定制或配置工具紧密联系,构成了嵌入式操作系统的集成开发环境。

就WindowsCE来讲,你无法买到WindowsCE这个操作系统,但可以买到PlatformBuilderforCE.NET4.2的集成环境(简称PB),利用它可以裁减和定制出一个符合自己需要的WindowsCE.NET4.2的操作系统。

因此,我们说的嵌入式操作系统实际上完全是由自己定制出来的,为在WindowsCE上进行应用软件开发,微软公司提供了EmbeddedVisualBasic(EVB)、EmbeddedVisualC++(EVC)、VisualStudio.NET等工具,它们是专门针对WindowsCE操作系统的开发工具。

把WindowsCE操作系统中软件开发包SDK导出后安装在EVC下,就可以变成专门针对这种设备或者系统的开发工具了。

VS.NET中的VB.NET和C#也提供了对以WindowsCE为操作系统的智能设备开发的支持,但要求这些设备支持微软公司的.NETCompactFramework.。

嵌入式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、PalmOS、SymbainOS等。

对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。

操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。

据说,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。

CPLD

CPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。

是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统

FPGA

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在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主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而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、基于ARM

3.2、基于驱动层的嵌入式应用工程师

基于驱动层的嵌入式应用设计:

技术基础:

硬件基础:

数字逻辑电路基础、微机原理、单片机原理、接口技术。

软件基础:

C语言程序设计、汇编语言程序设计

初学者的平台选择:

1、Stellaris(群星)系列微控制器

硬件平台:

Stellaris(群星)系列微控制器

周立功单片机发展有限公司的EasyARM1138EasyARM2103

北京达盛科技有限公司的EXP-LM3S811EXP-LM3S6952

LuminaryMicro公司设计、经销、出售基于ARMCortexTM-M3的微控制器(MCU)。

作为ARM的Cortex-M3技术的主要合伙人,LuminaryMicro已经向业界推出了首颗Cortex-M3处理器的芯片,用8/16位的成本获得了32位的性能。

LuminaryMicro的Stellaris系列微控制器包含运行在50MHz频率下的ARMCortex-M3MCU内核、嵌入式Flash和SRAM、一个低压降的稳压器、集成的掉电复位和上电复位功能、模拟比较器、10位ADC、SSI、GPIO、看门狗和通用定时器、UART、I2C、运动控制PWM以及正交编码器(quadratureencoder)输入。

提供的外设直接通向管脚,不需要特性复用,这个丰富的特性集非常适合楼宇和家庭自动化、工厂自动化和控制、工控电源设备、步进电机、有刷和无刷DC马达、和AC感应电动机等应用。

ARMCortex-M3处理器(Stellaris驱动库)

软件开发平台:

RealViewMDK

RealViewMDK是ARM公司最先推出的基于微控制器的专业嵌入式开发工具。

它采用了ARM的最新编译工具RVCT(RealViewCompilationTools),集成了KeilμVision集成开发环境(IDE),因此特别易于使用,同时具备非常高的性能。

与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

因此,RealViewMDK是ARM软件开发的首选工具。

2、凌阳十六位单片机

精简开发板-61板

随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,DigitalSignalProcessing)等领域。

凌阳的16位单片机就是为适应这种发展而设计的。

它的CPU内核采用凌阳最新推出的μ’nSPTM(MicrocontrollerandSignalProcessor)16位微处理器芯片(以下简称μ’nSPTM)。

围绕μ’nSPTM所形成的16位μ’nSPTM系列单片机(以下简称μ’nSPTM家族)采用的是模块式集成结构,它以μ’nSPTM内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,另外,μ’nSPTM的指令系统提供

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

当前位置:首页 > 高等教育 > 工学

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

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