《最新嵌入式课件PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式课件PPT课件.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式课件嵌入式课件1.1 嵌入式系统简介嵌入式系统已经广泛应用于各个科技领域和日常生活的每个角落,由于其本身的特性,使得我们很难发现它的存在。甚至一些从事嵌入式系统开发的科技人员也只知单片机,不知道嵌入式系统。本节从嵌入式系统的定义开始,阐述嵌入式系统的含义、特点等,以使读者加深对嵌入式系统的理解。1.1.1 嵌入式系统的定义1.1.2 嵌入式系统的组成1.1.3 嵌入式系统的特点1.1.4 嵌入式系统的应用1.1.5 嵌入式系统的发展2第1章 嵌入式系统设计基础 嵌入式系统的应用 MIT的David Clark首次提出的“后PC时代”(post-PC era)一词,指出个人计算机提供的只是
2、在这个过渡时期的解决方案,而非最佳的方式,最终发展的应用将不会停留在桌面上的个人计算机,而是从桌面上蔓延下来,进入用户的日常生活中。从技术层面来讲,将来的嵌入式系统应用将向软硬件系统集成、SOC设计、应用程序,以及内容服务这几个方面发展。系统:嵌入式操作系统除了老牌嵌入式操作系统厂商VxWORKs、QNX、Nucleus等之外,新兴的主要竞争产品有Palm OS、Windows CE、Linux等。其中Embedded Linux操作系统因为免费授权的特性,已经被很多国际型厂商采用。集成式芯片:SOC“系统单芯片”(System-On-Chip,SOC)研究的领域包括创新系统设计、系统平台建立
3、,以及相关硅知识产权(Silicon Intellectual Property,SIP)的设计、验证与集成等。应用软件嵌入式软件一般可以分为客户端的应用软件和服务器端的集成软件。服务器端的软件较为单一,客户端由于应用领域广泛,开发出的软件也是多种多样的。服务由于嵌入式产品的便携性,以及消费类电子产品输入输出的多媒体化,再加上嵌入式产品与网络的紧密结合,嵌入式产品相关的增值服务变得更加重要。9第1章 嵌入式系统设计基础嵌入式系统的发展 嵌入式系统的发展与通用计算机技术的发展密不可分,但是又有着自己独立发展的道路。由于应用目标的不同,使得这两种体系的发展方向有所不同。通用计算机系统的技术要求是高
4、速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。由于嵌入式计算机系统要嵌入到目标体系中,实现的是对目标的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。嵌入式系统的技术发展方向是与目标系统密切相关的嵌入性能、控制能力与控制的可靠性。Intel公司于1971年推出有史以来第一个4位微处理器4004,接着德州仪器与国家半导体公司也随后推出各自的4位微处理器。1974年Intel公司又推出了8位微处理器芯片8080,随后Zilog公司的Z-80、国家半导体公司的NSC800及Intel公司的8085等相继问世。第一个商品化的16位嵌入式系统微处理器
5、是德州仪器公司所推出的9940,因为它的功能少,而且指令集贫乏,并未引起很大的注意。大家比较熟悉的16位微处理器产品是Intel公司所开发的8086微处理器及Motorola公司所开发的68000微处理器。当时IBM所推出的个人计算机即是采用8086作为数据处理及控制核心。通用微处理器沿着8086/8088、80286、80386、80486、Pentium、Pentium II、Pentium III、Pentium 4的线路发展,主频从十几MHz到现在的3GHz,字长也从8086的16位发展到了现在AMD64和Pentium D的64位。整体微型计算机的运算能力和存储能力都实现了海量的增长
6、。10第1章 嵌入式系统设计基础嵌入式系统起源于微型计算机时代,然而,由于微型计算机的体积、价位、可靠性都无法满足嵌入式应用的要求。因此,嵌入式系统必须走独立发展道路,即单芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。在探索单片机的发展道路时,有过两种模式,即“模式”与“创新模式”。p“模式”本质上是通用计算机直接单芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;p“创新模式”则完全按嵌入式应用要求设计全新的、满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS
7、-51就是按照创新模式发展起来的单片形态的嵌入式系统(单片微型计算机)。MCS-51是在探索MCS-48的基础上,进行全面完善的嵌入式系统,它定位在具有可伸缩性并且低成本的产品控制单元,至今仍被广泛地使用。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。11第1章 嵌入式系统设计基础单片机的技术发展经历了SCM、MCU、SOC三大阶段。SCM阶段,即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道
8、路。MCU阶段,即微控制器(Micro Controller Unit)阶段,不断扩展各种外围电路与接口电路,增强智能化控制能力。单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。从2000年开始,以往的ASIC(专用集成电路,SOC的主要实现方式)设计已经逐渐被IP(Intellectual Property)或SIP(Silicon Intellectual Property)所替代。SIP称为硅知识产权,或半导体知识产权
9、(Semiconductor Intellectual Property),也就是芯片电路的制作方式或电路图等知识产权,在知识产权前面加上硅或半导体,是为了与一般所称的知识产权有所区分。目前最受市场欢迎的嵌入式处理器就是由ARM公司出品的ARM系列处理器。ARM公司只提供IP授权,并不自行制造处理器。由于它的ARM RISC结构微处理器有着低消耗功率、高运算性能,以及高度集成性等特性,使得许多芯片设计公司与芯片制造公司竞相向ARM公司购买ARM处理器的核心,作为自己公司微处理器芯片中的运算核心。ARM公司也因此成为全球最大的IP供应商。12第1章 嵌入式系统设计基础嵌入式计算机系统起源于微型机
10、时代,但很快就进入到独立发展的单片机时代。在单片机时代,嵌入式系统以器件的形式迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化,而计算机专业人员并没有真正进入单片机应用领域。因此,电子技术应用工程师以自己习惯的电子技术应用模式,从事单片机的应用开发。这种应用模式最重要的特点是:软、硬件的底层性和随意性;目标系统专业技术的密切相关性,以及缺少计算机工程设计方法的指导。虽然在单片机时代,计算机专业淡出了嵌入式系统领域,但随着后PC时代的到来,网络、通信技术的高速发展;同时,嵌入式系统软、硬件技术有了很大的提升,为计算机专业人员介入嵌入式系统应用开辟了广阔天地。计算
11、机专业人士的介入,形成的计算机应用模式带有明显的计算机的工程应用特点,即基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用。由于嵌入式系统最大、最广、最底层的应用是传统电子技术领域的智能化改造,因此,以通晓该专业的电子技术队伍为主,用最少的嵌入式系统软、硬件开销;以8位机为主,带有浓重的电子系统设计色彩的电子系统应用模式会长期存在下去。另外,计算机专业人员会越来越多地介入嵌入式系统应用,但限于专业知识的差异,其应用领域会集中在网络、通信、多媒体、电子商务等方面,不可能替代原来电子工程师在控制、仪器仪表、机械电子等方面的嵌入式应用。因此,客观存在的两种应用模式会长期并存下去,在不同的
12、领域中相互补充。电子系统设计模式应该从计算机应用设计模式中,学习计算机工程方法和嵌入式系统软件技术;计算机应用设计模式应该从电子系统设计模式中,了解嵌入式系统应用的电路系统特性、基本的外围电路设计方法和目标系统的基本要求等。13第1章 嵌入式系统设计基础1.2 嵌入式处理器嵌入式系统的核心部件是嵌入式处理器,据不完全统计,到2000年全世界嵌入式处理器的品种总量已经超过1000种,流行体系结构有30多个系列,其中8051体系的占了多半。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近百种。现在几乎每个半导体制造商都生产嵌入式处理器,而且越来越多的公司有自己
13、的处理器设计部门。嵌入式处理器的寻址空间一般从64KB到16MB,处理速度从0.1MIPS到2000MIPS,常用封装从8个引脚到144个引脚。1.2.1 嵌入式处理器的分类1.2.2 ARM微处理器1.2.3 Nios微处理器1.2.4 DSP1.2.5 嵌入式微处理器的选型原则14第1章 嵌入式系统设计基础嵌入式处理器的分类 微处理器可以分成几种不同的等级,一般用字符宽度来区分:8位微处理器大部分都是用在低端应用上,也包括了外围设备或是内存的控制器;16位微处理器通常用在比较精密的应用上,需要比较长的字符宽度来处理;32位微处理器,大部分是RISC的微处理器,则提供高性能的运算能力,以满足
14、需要大量运算的应用。但是从应用的角度来划分,嵌入式处理器包含了下面几种类型。1嵌入式微处理器(Embedded Microprocessor Unit,EMPU)嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的功能,这样可以大大减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。嵌入式微处理器又可分为C
15、ISC和RISC两类。大家熟悉的大多数台式PC都是使用CISC微处理器,如Intel的x86。RISC结构体系有两大主流:Silicon Graphics公司(硅谷图形公司)的MIPS技术;ARM公司的Advanced RISC Machines技术。此外,Hitachi(日立公司)也有自己的一套RISC技术SuperH。15第1章 嵌入式系统设计基础RISC和CISC是目前设计制造微处理器的两种典型技术,为达到高效的目的,采用的方法不同。它们的差异主要有以下几点。(1)指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来实
16、现。而CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。(2)存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。(3)程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。(4)中断:RISC机器在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断的。(5)CPU:由于RISC CPU包含较少的单元电路,因而面积小、功耗低;而CISC CPU包含丰富的电路单元,因而功能强、面积大、功耗大。(6
17、)设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器结构复杂,设计周期长。(7)易用性:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。(8)应用范围:RISC机器更适合于嵌入式应用;而CISC机器则更适合于通用计算机。16第1章 嵌入式系统设计基础2、嵌入式微控制器(Microcontroller Unit,MCU)嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM、RAM、总线逻辑、定时器等各种必要的功能
18、模块。与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。微控制器是目前嵌入式系统应用的主流。由于微控制器的片上资源一般比较丰富,适合于控制,因此称微控制器。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以最大限度地与应用需求相匹配,从而减小功耗和成本。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。另外,还有许
19、多半通用系列,如支持USB接口的MCU 8XC930/931、C540、C541。值得注意的是,近年来提供X86微处理器的著名厂商AMD公司,将Am186CC/CH/CU等嵌入式处理器也称为Microcontroller,Motorola公司把以Power PC为基础的PPC505和PPC555列入单片机行列,TI公司也将其TMS320C2XXX系列DSP作为MCU来推广应用。17第1章 嵌入式系统设计基础3嵌入式DSP(Embedded Digital Signal Processor,EDSP)DSP对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高
20、。在数字滤波、FFT、谱分析等方面,DSP算法正在大量进入嵌入式领域。推动嵌入式DSP发展的一个重要因素是嵌入式系统的智能化。例如,各种带有智能逻辑的消费类产品、生物信息识别终端、带有加解密算法的键盘、ADSL接入、实时语音压缩解压系统、虚拟现实显示,等等。这类智能化算法一般运算量都比较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。嵌入式DSP有两个发展来源,一是DSP经过单片化、EMC改造、增加片上外设成为嵌入式DSP,TI的TMS320C2000/C5000等属于此范畴;二是在通用单片机或片上系统(SOC)中增加DSP协处理器,例如Intel的MCS-296。嵌入式D
21、SP比较有代表性的产品是Texas Instruments的TMS320系列和Motorola的DSP56000系列。TMS320系列处理器包括用于控制的C2000系列,用于移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000,DSP56100,DSP56200和DSP56300等几个不同系列的处理器。DSP的设计者们把重点放在了处理连续的数据流上。如果嵌入式应用中强调对连续的数据流的处理及高精度复杂运算,则应该选用DSP器件。18第1章 嵌入式系统设计基础4嵌入式片上系统(System On Chip)随着VLSI设计的普及和半
22、导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就是SOC(System on-Chip)。各种通用处理器内核和其他外围设备都将成为SOC设计公司的标准库中的器件,用标准的VHDL等硬件描述语言描述。用户只需定义出整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作芯片样品。这样,整个嵌入式系统大部分都可以集成到一块芯片中去,应用系统的电路板将变得很简洁,这将有利于减小体积和功耗,提高系统的可靠性。SOC可以分为通用和专用两类。通用系列包括Motorola的M-Core、某些ARM系列器件、Echelon 和Motorola联合研制的Neuron芯片等。专用SOC一般专用于某
23、类系统中,不为一般用户所知。一个有代表性的产品是Philips的Smart XA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于Internet安全方面。19第1章 嵌入式系统设计基础ARM微处理器 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已广泛应用于工业控制、消
24、费类电子产品、通信系统、网络系统、无线系统等各个领域。1ARM微处理器的应用领域 工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。消费类电子产品:A
25、RM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。20第1章 嵌入式系统设计基础2ARM微处理器的特点,采用RISC架构的ARM微处理器具有如下特点:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定 3ARM微处理器系列 ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 SecurCor
26、e系列 Intel的StrongARM Intel的Xscale其中,ARM7、ARM9、ARM9E和ARM10E为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。如ARM7系列适用于工业控制、网络设备、移动电话等应用;ARM9、ARM9E和ARM10E系列则更适合无线设备、消费类电子产品的设计。SecurCore系列专门为安全要求较高的应用而设计。21第1章 嵌入式系统设计基础4ARM微处理器的应用选型从应用的角度出发,在选择ARM微处理器时所应考虑的主要问题有以下几个方面。ARM微处理器内核的选择。从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以
27、适应不同的应用领域,如果用户希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,如ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。系统的工作频率。系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz 233
28、MHz,ARM10最高可以达到700MHz。芯片内存储器的容量。大多数的ARM微处理器片内存储器的容量都不大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间。片内外围电路的选择。除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等。22第1章 嵌入式系统设计基础Nios微处理器Nios是Altera公司特有的基于通用FPGA构架的软CPU内核。在可编程逻辑器件中,用户使用CPU,绝大多数并不是为了追求
29、性能,而是为了PLD特有的灵活性和可定制性,同时也可以提高系统的集成度,这些正是Nios系统天生具备的。Nios是Altera公司开发的嵌入式CPU软内核,几乎可以在Altera所有的FPGA产品上实现。器 件设计软件说 明Stratix IIQuartus II最高性能,最高密度,特性丰富的平台,丰富的存储器资源Stratix高性能,高密度,性能丰富的平台,丰富的存储器资源Stratix GX高性能,带有高速穿行收发器的结构Cyclone 低成本,ASIC的替代品适合价格敏感的应用APEX II高密度,高性能平台,带有高速差分I/O标准的支持Mercury高性能,高带宽,中密度平台,包含有时
30、钟恢复(CDR)电路Excalibur高性能,硬核处理器方案APEX 20K高性能,中高密度平台FLEX 10K低成本,中低密度平台ACEX 1K低成本,中低密度平台HardCopy高密度,大批量,ASIC的替代品23第1章 嵌入式系统设计基础由于Nios处理器及其外设都是用HDL语言编写的,在FPGA内部利用通用的逻辑资源实现,所以在Altera的FPGA内部实现嵌入式系统具有极大的灵活性。凭借不错的性能和非常灵活的配置,Nios已经被许多客户接受。Nios常常被应用在一些集成度较高,对成本敏感,以及功耗要求不高的场合,如远程读表器和医疗诊断设备。Altera公司在Nios的基础上推出了其第
31、二代嵌入式处理器软核Nios II。与前一代相比,用户的配置和使用更加灵活,同时在占用逻辑资源和性能上都有明显的改善。Nios II处理器是一个通用的32位RISC处理器内核。其主要特点如下。完全的32位指令集、数据通道和地址空间;可配置的指令和数据Cache;32个通用寄存器;32个有优先级的外部中断源;单指令的3232乘除法,产生32位结果;多种片上外设,并能够与片外存储器和外设接口;具有硬件协助的调试模块,可以在IDE中控制处理器完成各种调试工作,如开始、停止、单步和跟踪,等等;在不同的Nios II系统中,指令集结构(ISA)完全兼容;性能达到150DMIPS以上Nios II处理器内
32、核有三种类型,用来满足不同设计的要求,分别是快速型、经济型和标准型。快速型Nios II内核(Nios II/f)具有最高的性能,经济型Nios II内核(Nios II/e)具有最低的资源占用,而标准型Nios II内核(Nios II/s)在性能和面积之问做了一个平衡。24第1章 嵌入式系统设计基础Nios处理器系统包括一个可配置的CPU软内核、FPGA片内的存储器和外设、片外的存储器和外设接口等。一个典型的Nios II处理器系统如图所示。在图中,整个Nios II处理器系统包括Nios II处理器内核(包括调试模块)、Avalon交换总线、片内用户逻辑和片上外设。25第1章 嵌入式系统
33、设计基础系统中的外设,如SDRAM控制器、片内ROM、三态门、UART、定时器、LCD显示驱动电路、通用I/O、以太网接口和Compact Flash接口等都是使用FPGA内部的逻辑单元和RAM资源实现的。Nios II是一个可灵活配置的软内核处理器。所谓可灵活配置是指,Altera提供的处理器不是一个固定的微控制器,用户可以根据性能或成本的要求,灵活地增加或裁减一些系统特性和外设。为了满足应用的要求,用户甚至可以在系统中放置多个Nios II处理器内核。由于应用领域的不同,不同用户的系统设计可能差别很大。要求用户根据自己的系统需求,选择合适的FPGA规模。在这些系统中,如果用户逻辑需要和Ni
34、os II处理器系统间相互通信,用户逻辑可以直接挂在片内的Avalon交换总线上,而且访问时序可以由用户自己定义。所谓软内核,是指Nios II是以一种“软”(加密网表)的设计形式交给客户使用的,它可以在几乎任何Altera的FPGA内部实现。用户根据应用的需要定制Nios II处理器的数量和类型,也可以自己定义需要的外设种类和数量,还可以自由分配外设的地址空问。用户甚至可以自己定制Nios II的指令,使得一些复杂的操作在用户指令中实现,这样可以提高某些特殊操作的性能。在Nios II系统的开发过程中,可以认为硬件细节对软件开发人员是透明的。Nios II的软件开发环境被称为Nios 集成开
35、发环境(Nios IDE)。Nios II IDE是基于Eclipse IDE和GNU C/C+编译器的,软件开发人员可以很容易地掌握此开发环境的操作,并利用它对Nios 系统的软件进行编译、仿真和调试。Nios II IDE同时提供了Flash Programmer的功能,在软件调试完成以后,可以通过Flash Programmer把应用程序烧到Flash ROM中,使得Nios系统在上电配置完成以后,自动从Flash中开始运行程序。26第1章 嵌入式系统设计基础DSP DSP(Digital Signal Processing)也就是常说的数字信号处理,它利用计算机或专用处理设备,以数字形
36、式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。DSP就是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点。在一个指令周期内可完成一次乘法和一次加法;程序和数据空间分开,可以同时访问指令和数据;片内具有快速RAM,通常可以通过独立的数据总线在两块中同时访问;具有低开销或无开销循环及跳转的硬件支持;快速的中断处理和硬件I/O支持;具有在单周期内操作的多个硬件地址产生器;可以并行执行多个操作;支持流水线操作,使取指、译码和执行等操作可以重叠执行。在近20年里
37、,DSP在信号处理、通信、雷达等许多领域得到广泛的应用。目前,DSP的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。它的主要应用有:信号处理、通信、语音、图形/图像、军事、仪器仪表、自动控制、医疗、家用电器。27第1章 嵌入式系统设计基础目前世界上生产DSP的公司主要有TI(德州仪器)公司,AD(美国模拟器件)公司,Technologics(朗讯技术)公司和Motorola(摩托罗拉)公司四大公司,而TI公司则是世界上最大的DSP供应商。著名的TMS320系列产品就是该公司的DSP产品。DSP的基本结构为哈佛结构,并结合了流水线操作、专业的硬件乘法器、特殊的DSP指令和快速的指令周期,
38、使得它非常适合于数字信号处理应用。在目前,现代通信技术的发展,特别是数字通信、移动通信和卫星通信的普及,数字音响的商业化,DSP的市场前景越来越好。以移动电话设备来说,通信流程大概是当手机通过天线收到射频信号后,将过滤后的高频信号送到混频器降为中频信号,再经过解调器变为低频或基频信号后,送至数字信号处理器处理,经过处理的信号再予以调节及解码,便可以通过扬声器送出,成为语音或是直接转换成各类数据。发话时,信号则通过相反的程序处理与送出,所以手机包含了射频系统与数字信号处理器再加上一般微处理器系统,成为一个高度集成的嵌入式系统。从现代通信等技术对DSP的要求来看,DSP芯片有以下几个发展趋势:向更
39、低功耗方向发展;向更高的性能方向发展;向定制DSP芯片方向发展;向集成化方向发展;提供更加完善的开发环境。28第1章 嵌入式系统设计基础嵌入式微处理器的选型原则 调查市场上已有的CPU供应商。CPU的处理速度。技术指标。处理器的低功耗。处理器的软件支持工具。处理器是否内置调试工具。处理器供应商是否提供评估板。选择一个嵌入式系统运行所需要的微处理器,在很多时候运算速度并不是最重要的考虑内容,有时候也必须考虑微处理器制造厂商对于该微处理器的支持态度,有些嵌入式系统产品一用就是几十年,如果过了五六年之后需要维修,却已经找不到该种微处理器的话,势必全部产品都要淘汰,所以许多专门生产嵌入式系统微处理器的
40、厂商,都会为嵌入式系统的微处理器留下足够的库存或是生产线,即使过好几年之后还可以找到相同型号的微处理器或者完全兼容的替代品。29第1章 嵌入式系统设计基础1.3 嵌入式操作系统提到桌面型计算机的操作系统,全世界超过九成的PC使用的是微软(Microsoft)公司的Windows操作系统,其他也有一些颇具知名度的操作系统,如苹果(Apple)公司的MacOS,工作站级计算机常用的Sun公司的Solaris,还有Linux或是FreeBSD等免费的操作系统。但是提到嵌入式系统中所使用的操作系统,一般用户就很少了解了。由于大型嵌入式系统需要完成复杂的功能,所以需要操作系统来完成各任务之间的调度。由于
41、桌面型操作系统的体积,以及实时性等特性不能满足嵌入式系统的要求,从而促进了嵌入式操作系统的发展 1.3.1 操作系统的概念和分类1.3.2 Linux1.3.3 C/OS1.3.4 Windows CE30第1章 嵌入式系统设计基础操作系统的概念和分类操作系统(OS,Operating System)的基本思想是隐藏底层不同硬件的差异,向在其上运行的应用程序提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必考虑不同硬件操作方式的差异。操作系统示意图如下所示。很多产品厂商选择购买操作系统,在此基础上开发自己的应用程序,形成产品。事实上,因为嵌入式系统是将所有程序,包括操作系
42、统、驱动程序、应用程序的程序代码全部烧写进ROM里执行,所以操作系统在这里的角色更像是一套函数库(Library)。操作系统主要完成三项任务:内存管理、多任务管理和外围设备管理。应用程序操作系统系统界面驱动程序硬件硬件硬件硬件31第1章 嵌入式系统设计基础嵌入式操作系统(Embedded Operating System)负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;它必须体现其所在系统的特征,能够通过加载/卸载某些模块来达到系统所要求的功能。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点。强稳定性,
43、弱交互性:嵌入式系统一旦开始运行就不需要用户过多的干预,这就要求负责系统管理的EOS具有很强的稳定性;较强的实时性:EOS实时性一般较强,可用于各种设备的控制当中;可伸缩性:开放、可伸缩性的体系结构;外设接口的统一性:提供各种设备驱动接口。嵌入式系统的操作系统核心通常要求体积要很小,因为硬件ROM的容量有限,除了应用程序之外,不希望操作系统占用太大的存储空间。事实上,嵌入式操作系统可以很小,只提供基本的管理功能和调度功能,缩小到10KB到20KB以内的嵌入式操作系统比比皆是,相信用惯微软的Windows系统的用户,可能会觉得不可思议。不同的应用场合会产生不同特点的嵌入式操作系统,但都会有一个核
44、心(Kernel)和一些系统服务(System Service)。操作系统必须提供一些系统服务供应用程序调用,包括文件系统、内存分配、I/O存取服务、中断服务、任务(Task)服务、时间(Timer)服务等,设备驱动程序(Device Driver)则是要建立在I/O存取和中断服务上的。有些嵌入式操作系统也会提供多种通信协议,以及用户接口函数库等。32第1章 嵌入式系统设计基础 实时操作系统(Real-Time Operating System,RTOS),是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分严格。目前国际较为知名的实时操作系
45、统有WindRiver的“VxWorks”、QNX的“NeutrinoRTOS”、Accelerated Technology的“Nucleus Plus”、Radisys的“OS/9”、Mentor Graphic的“VRTX”、LynuxWorks的“LynuxOS”,以及Embedded Linux厂商所提供的Embedded Linux版本,如TimeSys的“TimeSys Linux/Real Time”、FSMLabs的“RTLinux”、Lynux Works的“BlueCat RT”等。其产品主要应用于航天、国防、医疗、工业控制等领域,这些领域的设备需要高度精确的实时操作系统
46、,以确保系统任务的执行不会发生难以弥补的意外。目前,实时操作系统也开始向信息家电等消费类电子产品领域扩展。例如WindRiver的“VxWorks”原本从航天、国防领域起家,如今也应用在网络电话、视频转换器等消费类电子产品上。通用型操作系统:执行性能与反应速度比起实时操作系统,相对没有那么严格。目前较知名的有Microsoft的“Windows CE”、Palm source的“Palm OS”、Symbian的“Symbian OS”以及Embedded Linux厂商所提供的各式Embedded Linux版本,如Metrowerks的“Embedix”、TimeSys的“TimeSys
47、Linux/GPL”、LynuxWorks的“BlueCat Linux”、PalmPalm的“Tynux”等,其产品主要应用于手持式设备、各式联网家电、网络设备等领域。嵌入式操作系统的性能通常取决于核心程序,而核心的工作主要在任务管理(Task Management)、任务调度(Task Scheduling)、进程间的通信(IPC)、内存管理(Memory Management)。33第1章 嵌入式系统设计基础Linux Linux是目前最为流行的一款开放源代码的操作系统,从1991年问世到现在,不仅在PC平台,还在嵌入式应用中大放光彩,逐渐形成了与其他商业EOS抗衡的局面。目前正在开发的
48、嵌入式系统中,70%以上的项目选择Linux作为嵌入式操作系统。经过改造后的嵌入式Linux具有适合于嵌入式系统的特点。内核精简,高性能、稳定;良好的多任务支持;适用于不同的CPU体系架构:支持多种体系架构,如X86、ARM、MIPS、ALPHA、SPARC等;可伸缩的结构:可伸缩的结构使Linux适合于从简单到复杂的各种嵌入式应用;外设接口统一:以设备驱动程序的方式为应用提供统一的外设接口;开放源码,软件资源丰富:广泛的软件开发者的支持,价格低廉,结构灵活,适用面广;完整的技术文档,便于用户的二次开发。34第1章 嵌入式系统设计基础C/OS-C/OS-是Jean J.Labrosse在199
49、0年前后编写的一个实时操作系统内核。名称C/OS-II来源于术语Micro-Controller Operating System(微控制器操作系统)。它通常也称为MUCOS或者UCOS。严格地说,C/OS-只是一个实时操作系统内核,它仅仅包含了任务调度、任务管理、时间管理、内存管理和任务间通信和同步等基本功能,没有提供输入输出管理、文件管理、网络等额外的服务。但由于C/OS-良好的可扩展性和源码开放,这些功能完全可以由用户根据需要自己实现。C/OS-的目标是实现一个基于优先级调度的抢占式实时内核,并在这个内核之上提供最基本的系统服务,例如信号量、邮箱、消息队列、内存管理、中断管理等。虽然C/
50、OS-并不是一个商业实时操作系统,但C/OS-的稳定性和实用性却被数百个商业级的应用所验证,其应用领域包括便携式电话、运动控制卡、自动支付终端、交换机等。C/OS-获得广泛使用不仅仅是因为它的源码开放,还有一个重要原因,就是它的可移植性。C/OS-的大部分代码都是用C语言写成的,只有与处理器的硬件相关的一部分代码用汇编语言编写。可以说,C/OS-在最初设计时就考虑到了系统的可移植性,这一点和同样源码开放的Linux很不一样,后者在开始的时候只是用于x86体系结构,后来才将和硬件相关的代码单独提取出来。目前C/OS-支持ARM、PowerPC、MIPS、68k/ColdFire和x86等多种体系