嵌入式系统概述及ARM系列微处理器简介_第1页
嵌入式系统概述及ARM系列微处理器简介_第2页
嵌入式系统概述及ARM系列微处理器简介_第3页
嵌入式系统概述及ARM系列微处理器简介_第4页
嵌入式系统概述及ARM系列微处理器简介_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统原理及应用

第1章嵌入式系统概述

及ARM系列微处理器简介

航天工程的先驱、美国加州理工学院的冯·卡门教授:

科学家研究已有的世界,工程师创造未有的世界

一个人的能力

不在于学会了多少知识

而在于学会了使用多少知识2024/6/163爱逃课、爱淘课世界一流大学的公开课课程要求MIT算法导论8`~17`Stanford人与计算机的互动(开始)Stanford编程方法学16-21-28只有提早觉醒的大学生才能找到好工作!/s/blog_5e8facd20100cpc3.html笔试(开卷或闭卷),成绩按照考试60~70%,平时及实验30~40%计算。出勤率10%(具有否决权)作业10%实验和实验报告10%~20%(具有否决权)AcademicHonesty.au/cgi-bin/WebObjects/Courses.woa/wa/selectUnitFromCourseDetails?courseID=14033&idunit=30939&strUnitOutlineSelect=ucQCF157%7Cuv1%7Cov51%7Cct13TP1%7Csn2011%7Cui1.1嵌入式系统简介

1.1.1嵌入式系统定义被称为“嵌入式系统设计的第一本教科书”,由美国普林斯顿大学电子工程系教授WayneWolf编著的《ComputersasComponents:PrinciplesofEmbeddedComputingSystemDesign》一书中指出:“不严格地说,它是任意包含一个可编程计算机的设备,但这个设备不是作为通用计算机而设计的。因此,一台个人电脑并不能称之为嵌入式计算系统,…。但是,一台包含了微处理器的传真机或时钟就可以算是一种嵌入式计算系统。”一般认为该书中所说的嵌入式计算系统,就是我们通常所说的嵌入式系统,也称为嵌入式计算机系统。也有把嵌入式系统称为:一种用于控制、监视或协助特定机器和设备正常运行的计算机。嵌入式系统目前被国内计算机界普遍认同的定义是:

以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。由嵌入式系统的定义可以看出,嵌入式系统明显的特点有:

·

嵌入式系统是一个专用计算机系统,有微处理器,可编程;

·

嵌入式系统有明确的应用目的;

·

嵌入式系统作为机器或设备的组成部分被使用。

1.1.2嵌入式系统发展历程嵌入式系统发展历程与微处理器发展历程密切相关。虽然在1971年Intel公司生产出世界上第一片4位集成电路微处理器Intel4004之前,也有许多计算机系统是作为某种专门的用途与具体产品结合在一起被使用,也被称为嵌入式系统,但是由于体积较大,使用不方便等原因并没有得到广泛的应用。Intel4004微处理器当时是为嵌入到计算器设计的。20世纪70年代之后,处理器的位数从8位、16位、32位发展到64位。可以将微处理器分为通用微处理器和专门用于嵌入式系统的专用微处理器。嵌入式系统专用微处理器可以分为单片机、嵌入式微处理器、数字信号处理器和片上系统。嵌入式系统发展历程中,出现过无操作系统控制的嵌入式系统,如8位单片机直接使用汇编语言或C语言编程;小型操作系统控制的嵌入式系统,如使用μC/OS-II的系统;大型操作系统控制的嵌入式系统,如使用WindowsCE的系统。1.1.3嵌入式系统应用举例嵌入式技术无处不在

各种使用嵌入式技术的电子产品,如:MP3、PDA、手机、智能玩具,网络家电、智能家电、车载电子设备等。在工业和服务领域中,大量嵌入式技术也已经应用于工业控制、数控机床、智能工具、工业机器人、服务机器人等各个行业,正在逐渐改变着传统的工业生产和服务方式。嵌入式系统的应用领域通信设备汽车电子数字消费类工业控制仪器仪表数字医疗设备信息家电“嵌入”无处不在嵌入式视频服务器现代化家庭智能玩具与机器人嵌入式技术应用——工业控制工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础;阿富汗参加反恐作战的“赫耳墨斯”价值4万美元,可携带2架摄像机,发挥了很好作用。军事侦察2002年11月28日,以色列一选举投票点,发生枪击事件,造成至少7人死亡,数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体.反恐防暴微型飞行器---“黑寡妇”空中飞行器嵌入式系统与机器人技术图:卡耐基梅隆大学和瑞士EPFL研制的机器人控制器(采用卡西欧PDA和WindowsCE)

基于WinCE的移动机器人平台基于RTLinux的仿人机器人高48cm

重:6kg

灵活性:20DOF操作系统:RT-Linux

接口形式:USB1.0(12Mbps)响应周期:1ms

能源:DC24Vx6.2A(150W)制造:富士通基于VXworks的火星探路者2004年“勇气号”再次登陆火星汽车电子产品(18个嵌入式控制模块)——CAN总线网络VOLVOS80汽车的CAN总线网络

嵌入式应用——汽车电子马达控制器车灯嵌入式系统示例——汽车控制系统尾灯控制系统后车门控制系统前车门控制系统座椅控制系统发动器控制系统所有的控制系统都是一个完整的嵌入式系统1.1.4嵌入式系统特点⑴与应用密切相关⑵实时性⑶复杂的算法⑷制造成本⑸功耗⑹开发和调试⑺可靠性⑻体积1.2嵌入式系统组成1.2.1嵌入式系统硬件组成举例图1.1是某实验开发板的组成,使用了S3C2410A微处理器,微处理器内部集成了许多控制器、接口和设备,微处理器芯片外部连接了一些设备、控制器和接口。

1.2.2嵌入式系统软件组成简介

图1.2嵌入式系统软件组成图1.2中板级支持包(BoardSupportPackage,BSP)和硬件抽象层(HardwareAbstractLayer,HAL),与PC机的基本输入/输出系统(BasicInputOutputSystem,BIOS)相似。不同的嵌入式微处理器、不同的硬件平台或不同的操作系统,BSP/HAL也不同。如果设计的产品不要求实时性,可以选择非实时操作系统。1.3嵌入式微处理器

1.3.1嵌入式微处理器分类按处理器的应用领域,广义上将其分为4类,如图1.3所示。⒈嵌入式微控制器嵌入式微控制器(EmbeddedMicrocontrollerUnit,EMU),通常也称微控制器(MicroControllerUnit,MCU)或单片机。⒉嵌入式数字信号处理器嵌入式数字信号处理器(EmbeddedDigitalSignalProcessor,EDSP),有时也简称DSP,是专门用于嵌入式系统的数字信号处理器。嵌入式DSP是对普通DSP的系统结构和指令系统进行了特殊设计,使其更适合DSP算法、编译效率更高、执行速度更快。嵌入式DSP有两个发展来源,一是DSP的处理器经过单片化、EMC(电磁兼容)改造、增加片内外设而成;二是在通用单片机或SOC(片上系统)中,增加DSP协处理器。嵌入式DSP在数字滤波、FFT(FastFourierTransform,快速傅里叶变换)、频谱分析等仪器上,使用较为广泛。⒊嵌入式微处理器嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU),也称嵌入式微处理器单元。嵌入式微处理器通常可以分为以下2类。⑴通用微处理器

⑵嵌入式微处理器这类微处理器是专门为嵌入式应用而设计的,通常狭义上所讲的嵌入式微处理器就是专门指这种类型的微处理器。⒋嵌入式片上系统嵌入式片上系统(EmbeddedSystemOnChip,ESOC),简称SOC,有时也写作SoC。1.3.2主流嵌入式微处理器介绍⒈ARM/StrongARMARM是英文AcornRISCMachine的缩写,Acorn是英国剑桥的一个计算机公司,1985年开发出第一代ARMRISC处理器原型。1990年,Acorn将公司名称改为AdvancedRISCMachineLimited(先进RISC机器公司),缩写仍为ARM。ARM公司的32位嵌入式RISC处理器,在低功耗、低成本和高性能的嵌入式系统应用领域占据领先地位。ARM公司是全球领先的16/32位RISC微处理器知识产权(IntellectualProperty,IP)设计供应商,ARM公司通过转让高性能、低成本、低功耗的RISC处理器、外围和系统芯片技术给合作伙伴,使他们能够用这些技术生产各具特色的芯片。ARM公司并不生产芯片,而是通过转让设计许可证,由合作伙伴生产各种型号的微处理器芯片。目前ARM的合作伙伴在全世界已经超过100个,许多著名半导体公司与ARM公司有着合作关系。⒉MIPSMIPS是MicroprocessorwithoutInterlockedPipelineStages的缩写,意思为内部无互锁流水线微处理器。MIPS也是一种处理器的内核标准。MIPS体系结构具有良好的可扩展性,并且能够满足超低功耗微处理器的需求。MIPS处理器源于20世纪80年代初,由美国斯坦福大学电机系Hennessy教授领导的研究小组研制出来。MIPS计算机公司1984年成立于硅谷。1992年,SGI收购了MIPS计算机公司。1998年MIPS脱离SGI,成为MIPS技术公司。MIPS技术公司是一家设计和制造高性能、高档次的嵌入式32/64位微处理器的公司,在RISC处理器方面占有重要地位。近年来,MIPS公司开发了高性能、低功耗的32位处理器内核MIPS3224KE系列,产品广泛用于机顶盒、DVD刻录机、MODEM、IP电话、数码相机、蜂窝电话、视频游戏机、路由器、激光打印机、复印机、扫描仪等产品。2007年,MIPS公司推出了MIPS3274K内核产品,是当时嵌入式市场运行速度最快的处理器内核,主频速度为1GHz。⒊PowerPCPowerPC微处理器早期由IBM、Motorola和Apple公司共同投资开发,生产了PowerPC601(1994年)、602(1995年)、604(1995年)和620(1997年)。此后PowerPC微处理器由IBM公司和Motorola公司分别生产。迄今为止,Motorola公司共生产了6代产品,它们是G1、G2、G3、G4、G5和G6,Motorola公司生产的PowerPC微处理器芯片产品编号前有“MPC”前缀,如G5中的MPC855T,G6中的MPC860DE~MPC860P等。2004年,Motorola公司分拆半导体部门,组建了新公司Freescale(飞思卡尔),由该公司继续MPC微处理器的技术支持和新产品研发。目前,IBM公司的PowerPC微处理器芯片产品有4个系列,分别是4XX综合处理器、4XX处理器核、7XX高性能32位微处理器和9XX超高性能64位微处理器。PowerPC系列微处理器的品种较多,既有通用处理器,又有嵌入式控制器和内核,应用范围也非常广泛,从高端工作站、服务器到桌面计算系统,从消费类电子产品到大型通信设备,都有着广泛的应用。⒋其他嵌入式微处理器Intel公司基于x86处理器核的嵌入式微处理器GeodeSP1SC10、Motorola公司的68xxx、Compaq公司的Alpha、HP公司的PARISC、Sun公司的Sparc等嵌入式微处理器也有着广泛的应用。ARM处理器的使用量1.4嵌入式操作系统介绍1.4.1嵌入式操作系统主要特点⒈实时性⒉可移植⒊内核小型化⒋可裁剪1.4.2主流嵌入式操作系统简介嵌入式操作系统嵌入式LinuxµcLinuxWindowsCEVxWorksSymbianOSPalmOSQNXOSEC/OS-IIOSENucleusPLUS

1、嵌入式LinuxLinux主要特点有:开放源码;内核小、功能强大、运行稳定、效率高;易于定制裁剪;可移植到数十种微处理器上;支持大量的外围硬件设备,驱动程序丰富;有大量的开发工具,良好的开发环境;沿用了UNIX的发展方式,遵循国际标准,众多第三方软硬件厂商支持;对以太网、千兆以太网、无线网络、令牌网、光纤网、卫星网等多种联网方式提供了全面的支持;在图像处理、文件管理及多任务支持等方面,Linux也提供了较强的支持。⒉μC/OS-ⅡμC/OS是源码公开的实时嵌入式操作系统。μC/OS-Ⅱ提供了嵌入式系统的基本功能,其核心代码短小精干。μC/OS-Ⅱ对于大型商用嵌入式系统而言,相比还是有些简单。μC/OS-Ⅱ主要特点包括:源码公开、可移植性强(采用ANSIC编写)、可固化、可裁剪、占先式、多任务,稳定性和可靠性都很强。μC/OS-Ⅱ已经被移植到许多微处理器上运行,如ARM系列、Intel的8051、80x86系列、Motorola的PowerPC和68xxx、68HC11等系列⒊WindowsCEWindowsCE是一个简洁、高效率的多平台操作系统,它不是桌面windows系统的削减版本,而是从整体上为有限资源的平台设计的多线程、完全优先级、多任务的操作系统。操作系统内核占据最少200KBROM空间。⒋VxWorksVxWorks是目前使用最广泛、市场占有率最高的商用嵌入式操作系统,可以移植到多种处理器,如x86、Motorola68xxx、MIPSRXxxx、PowerPC、StrongARM、ARM等。VxWorks具有多达1800个功能强大的应用程序接口(API),系统的可靠性非常高。

5、QNXQNX是一个实时的、可扩展的操作系统。它部分遵循了POSIX协议。POSIX(PortableOperatingSystemInterface)表示可移植操作系统接口。QNX提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理。QNX内核小巧,大约为12KB,运行速度极快。

⒍PalmOSPalmOS是3COM公司PalmComputing掌上电脑公司的产品,在PDA市场占有很大的份额。PalmOS具有开放的操作系统应用程序接口(API),开发商可以根据需要自己开发所需的应用程序。目前大约有3500个应用程序可以在PalmOS上运行,这使得Palm的功能不断增多,这些软件广泛地应用在计算机、游戏机、电子宠物等电子消费产品上。⒎SymbianOS主要特点有:支持TCP、IPv4、IPv6、蓝牙等协议标准;支持多任务、面向对象基于组件方式的2G、2.5G和3G系统及应用开发;支持互联网连接和浏览及内容下载;支持Unicode等。⒏其他操作系统另外,国外的TinyOS(美国伯克利大学)、OS-9(Microwave公司)以及国内的DeltaOS(科银京成公司)、HopenOS(凯思集团)和EEOS(中科院计算所)的嵌入式操作系统,也较为知名。1.5ARM系列嵌入式微处理器简介目前采用ARM知识产权核的微处理器,即基于ARM核的微处理器,以功耗低、体积小、高性价比以及根据嵌入对象的不同,可以进行功能上扩展的优势,得到了广泛的应用。ARM处理器核当前的7个系列产品为:ARM7、ARM9、ARM9E、ARM10E、SecurCore、ARM11及Cortex,是目前应用最为广泛的。1.5.1

ARM系列处理器核的命名规则与性能⒈ARM系列处理器核体系结构的命名规则基于ARM的微处理器芯片,一般是由不同的处理器核、多个功能模块和可扩展模块组成。功能模块分别由字母T、D、M、I、E、J、F、S等表示。可扩展模块一般有:DMAC、中断控制器、实时时钟、脉宽调制定时器、LCD控制器、存储器控制器、UART、看门狗定时器、GPIO、功耗管理模块等,这些可扩展模块可以由芯片商选择。ARM处理器核通常指由不同的CPU内核和功能模块所组成的核。命名规则通常表示如下:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}ARM微处理器系列ARM系列产品表示ARM926EJ-SFamilynumber7:ARM79:ARM910:ARM1011:ARM11Memorysystem2:Cache,MMU,ProcessID4:Cache,MPU6:Writebuffer,nocacheMemorysize0:Cachesize(4-128KB)2:Reducedcachesize6:TCMSynthesizableExtensionsE:DSPextensionJ:JazelleextensionT:Thumbsupport…标志含义说明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试使处理器能够停止,以响应调试请求M支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbeddedICE提供片上断点和调试点EDSP指令增加了DSP算法处理器指令:16位乘加指令,饱和的带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件命名规则还有一些附加的信息:

·ARM7TDMI之后设计、开发的内核,即使不标出“TDMI”,也默认包含了支持TDMI的功能模块;

·JTAG是由IEEE1149.1标准,即测试访问端口和边界扫描结构来描述的,它是ARM与测试设备之间,接收和发送处理器内核调试信息的一系列协议;

·

内嵌的在线调试宏单元是建立在处理器内部,用来设置断点和观察点的硬件调试点。另外,对于2005年以后ARM公司投入市场的ARMv7体系结构的处理器核,命名规则有所改变,名称以“ARMCortex”开头,之后附加字母“-A”、“-R”或“-M”,表示该处理器核的适用领域,随后还有一个数字,表示产品顺序号,如ARMCortex-A8、ARMCortex-M3、ARMCortex-R4。⒉ARM系列处理器核的性能目前在用的ARM系列处理器核的品种共有20多种,共同点是:字长32位、RISC结构、附加16位的Thumb指令集。这些核得到了众多嵌入式操作系统的支持。表1-3中列出了ARM系列中一些典型的核以及它们的主要性能。表1-3中系列一栏的ARMSecurCore系列是一个专门的系列,命名规则有所不同。这个系列是专为安全需要而设计的,提供了完善的32位RISC技术安全解决方案的支持。该系列采用软内核技术以提供最大限度的灵活性,可以防止外部对其扫描探测;提供了可以防止攻击的安全特性;带有灵活的保护单元,以确保操作系统和应用数据的安全。表1-3中MMU表示存储器管理单元,MPU表示存储器保护单元。表1-3中DSP与命名规则中后缀字母“E”对应,表示支持增强型DSP指令。表1-3中ARM11系列的ARM1176JZ(F)-S处理器使用了TrustZone技术,该技术为ARM处理器提供了一个安全的虚拟处理器,为运行公开的操作系统,如Linux、PalmOS、SymbianOS和WindowsCE等的系统提供了保障安全的基础。对于电子支付和数字版权管理之类的应用服务,提供了可靠的安全措施。表1-3中Jazelle表示含有Java加速器,提供了直接执行Java指令的功能。在相同的功耗下,使用Jazelle比使用传统Java虚拟机的性能高出8倍,并能将现行Java代码应用的功耗降低80%以上。从ARM11系列开始,处理器体系结构中增添了Jazelle-RCT(RuntimeCompilerTarget,运行时编译器目标)技术。对Java程序的即时编译和预编译,可以节省30%以上的代码存储空间。表1-3中Thumb表示含有Thumb指令解码器。ARM体系结构除了支持执行效率很高的32位ARM指令集外,含有Thumb指令解码器的处理器还支持16位的Thumb指令集。Thumb指令集是ARM指令集的一个功能上的子集,具有32位指令代码的优势,同时可节省30%~40%的代码存储空间。ARM1156T2(F)-S是首批含有ARMThumb-2内核的产品,支持Thumb-2指令集。Thumb-2(第二代Thumb结构)技术具有功耗更低、性能更高、占用代码存储空间更少的优点。另外,ARM公司还生产了向量浮点(VectorFloatingPoint)运算系列VFP9-S、VFP10处理器。ARM公司与其他合作伙伴还生产了StrongARM、XScale等系列产品。1.5.2ARM指令集结构版本和变异⒈ARM指令集结构版本和变异ARM指令集(有些资料也称指令系统)结构从它最初被开发出来到现在,已经有了非常重要的发展,并且在以后将继续发展。到2006年年底,在所有的ARM实现中存在的指令,已经被定义为多个指令集版本,版本号从1到7。许多版本带有表示变异的字母,用于表示在该版本中收集了指定的附加的指令。例如表示变异的字母M,表示只增加了4条长乘、长乘累加指令;而表示变异的字母T,表示增加了全部Thumb指令集。由于ARM指令集结构版本1~3目前已经不使用,正在使用的版本4~7的描述,见表1-4。ARM体系结构的发展版本版本变种系列号处理器核V1V1ARM1ARM1V2V2ARM2ARM2V2aARM2aSARM3ARM3V3V3ARM6ARM6、ARM600、ARM610ARM7ARM7、ARM700、ARM710V4V4TARM7TDMI、ARM710T、ARM720T、ARM740TV4ARM8StrongARM、ARM8、ARM810V4TARM9ARM9TDMI、ARM920T、ARM940TV5V5TEARM9E-SARM10ARM10TDMI、ARM1020EV6V6ARM11ARM11、ARM11562-S、ARM1156T2F-S、ARM11JZF-SV7V7ARMCortexARMCortex-A8、ARMCortex-R4、ARMCortex-M3⒉变异简介⑴Thumb指令集(T变异)ARM指令集结构用字母T表示版本变异,出现字母T表示该版本中扩展了Thumb指令集。Thumb指令集是对ARM指令集中部分指令重新编码的一个指令集。ARM指令集指令长度为32位,Thumb指令集指令长度为16位。使用Thumb指令集的代码密度,比使用ARM指令集的代码密度更高。有两个Thumb指令

温馨提示

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

评论

0/150

提交评论