1.76k likes | 1.94k Views
嵌入式系统_硬件基础. 授课教师:黄俭. 嵌入式系统概述. 1. 嵌入式处理器简介. 2. 3. 嵌入式操作系统. 4. ARM 处理器介绍. 5. 嵌入式硬件设计. 嵌入式教学—先修课程. C 语言 数字电路 单片机原理 微机原理 操作系统. 嵌入式系统概念. 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
E N D
嵌入式系统_硬件基础 授课教师:黄俭
嵌入式系统概述 1 嵌入式处理器简介 2 3 嵌入式操作系统 4 ARM处理器介绍 5 嵌入式硬件设计
嵌入式教学—先修课程 • C语言 • 数字电路 • 单片机原理 • 微机原理 • 操作系统
嵌入式系统概念 • 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 • 广义定义:任何一个非计算机的计算系统
嵌入式系统的应用领域 • 移动电脑 • 手机 • 信息家电 • MP3、MP4播放器 • 数码相机 • 机顶盒。。。。
嵌入式系统的应用领域 军事国防 消费电子 军事电子 工业控制 信息家电 工控设备 智能玩具 嵌入式应用 智能仪器 通信设备 汽车电子 移动存储 网络设备 电子商务 网络
嵌入式系统的家庭应用 • 家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。
工业控制 • 工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础;
嵌入式系统概念 • 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 • 广义定义:任何一个非计算机的计算系统
嵌入式系统应用类型 • 常规计算 • 控制系统 • 信号处理 • 通信与网络 平均每个家庭使用255个嵌入式处理器,每个汽车需要35个。50亿个嵌入式处理器在使用,约占94%市场,Intel Pentiun,Power PC等CPU约占6%。
嵌入式系统特点 对用户而言: • 任务简单:完成单个任务或几个任务 • 要求严格: • 体积、价格、功耗、市场时间 • 实时与交互,要求安全可靠
嵌入式系统特点 对开发者而言: • 软硬件协同开发并行开发 • 多种处理器的选型 • 实时操作系统(RTOS)的多样性 • 与台式机相比,可利用的系统资源比较少 • 要求特殊的开发工具,调试比较困难 • 软硬件都要求比较健壮
嵌入式系统的几个重要特征: (1)系统内核小 • 由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。 • 比如ENEA公司的OSE分布式系统,内核只有5K,而Windows的内核则要大得多。 • 我们用的2410-S平台,移植的linux2.4.18内核不包括文件系统845k,包括之后也不到2M。
嵌入式系统的几个重要特征: (2)专用性强 • 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。 • 即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。 • 同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。
嵌入式系统的几个重要特征: (3)系统精简 • 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全。
嵌入式系统的几个重要特征: (4)高实时性OS • 这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。
嵌入式系统的几个重要特征: (5)嵌入式软件开发走向标准化 • 嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。 • 为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
嵌入式系统的几个重要特征: (6)嵌入式系统需要开发工具和环境 • 由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。 • 这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。 • 开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。
嵌入式系统的几个重要特征: (7)嵌入式系统是知识集成系统 • 嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm OS之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的VxWorks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。
嵌入式系统 单片机系统 • 目前嵌入式系统的主流是以32位嵌入式微处理器为核心的硬件设计和基于实时操作系统(RTOS)的软件设计; • 单片机系统多为4位、8位、16位机,不适合运行操作系统,难以进行复杂的运算及处理功能; • 嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计; • 嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基本相同。
嵌入式技术是后PC时代技术的春天 • 我们不仅拥有放在桌上处理文档、进行工作管理的计算机,而且有拥有很多从大到小的嵌入式技术电子产品: • MP3、PDA、手机、智能玩具,网络家电等; • 智能车载电子设备,安全监控、GPS、倒车雷达等。 • 电话、TV、INTERNET、PLAY、KEY、无线集成; • 嵌入式技术也广泛应用于工业控制、数控机床、智能工具、工业机器人、服务机器人等各个行业,正在逐渐改变着传统的工业生产和服务方式。
嵌入式微处理器 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点: • 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。 • 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 • 可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。 • 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式微控制器(Microcontroller Unit) • 嵌入式微控制器的典型代表是单片机,这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。 • 单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。 • 微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。 • 微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。
嵌入式DSP处理器(Digital Signal Processing) • DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、频谱分析等各种仪器上DSP获得了大规模的应用。 • DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。 1982年世界上诞生了首枚DSP芯片。在语音合成和编码解码器中得到了广泛应用。 DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。 • 目前最为广泛应用的嵌入式DSP处理器是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。
嵌入式微处理器(Micro Processor Unit) • MPU嵌入式微处理器是由通用计算机中的CPU演变而来的。 • 与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。 • 和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/StrongARM系列等
嵌入式微处理器(2) • 目前在嵌入式领域,主要有以下几个系列的嵌入式微处理器: ARM系列,X86系列,MIPS系列,Motorola系列 • 就目前情况而言,X86结构还是运行Windows操作系统的最佳平台。比如微软公司最近热推的Windows CE就可以很稳定的运行在X86结构上。因此我们可以说,X86结构借助微软的强大影响力,也将会在嵌入式系统领域占有举足轻重的地位。 • MIPS公司也是一家从事嵌入式处理器设计的厂商,它主要设计高性能的32位和64位处理器。 • PowerPC内核被Motorola应用于嵌入式领域,已经成为通信领域中使用最为广泛的处理器内核。
嵌入式片上系统(System On Chip )(1) • SoC 就是System on Chip ,SoC嵌入式系统微处理器就是一种电路系统。 • 它结合了许多功能区块,将功能做在一个芯片上,像是ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,像是通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。 • SoC是追求产品系统最大包容的集成器件,SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。
嵌入式片上系统(System On Chip )(2) • 运用VHDL等硬件描述语言不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。 • 由于SOC往往是专用的,所以大部分都不为用户所知,如 Philips的Smart XA。Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。 • SOC芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。
常用嵌入式处理器 • ARM/StrongARM /XSCALE • MIPS • Power PC • X86 • 68K/Coldfire
常用嵌入式处理器-ARM • ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。ARM公司通过转让高性能、低成本的、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。ARM已经成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。ARM处理器有三个主要的特点:小体积、低功耗、低成本而高性能;16/32位指令集;全球众多的合作伙伴。ARM处理器目前有五个系列的产品:ARM7、ARM9、ARM9E、ARM10和SecurCore。
常用嵌入式处理器- MIPS • MIPS是Microprocessor Without Interlocked Pipeline Stages缩写,是一种处理器内核的标准,它是由MIPS技术公司开发的。MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。 MIPS公司设计RISC处理器始于80年代初;1986年推出R2000处理器;1988年推出R3000处理器;1991年推出第一款64位商用微处理器R4000之后,又陆续推出R8000(1994)、R10000(于1996年)和R12000(于1997年)等型号。之后,MIPS战略发生变化,把重点放在嵌入式系统。1999年,MIPS公司发布了MIPS32和MIPS64标准,为未来的MIPS处理器的开发奠定了基础。新的架构集成了原来所有的MIPS指令,并且增加了许多更强大的功能。2000年,MIPS公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。MIPS的定位很广,在高端有64位的20Kc家族,在低端市场有Smart MIPS。
常用嵌入式处理器- Power PC • Power PC 架构的特点是可伸缩型号,方便灵活。Power PC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。 目前,Power PC独立微处理器与嵌入式微处理器的主频从25MHz~700MHz不等,它们的能量消耗、大小、整合程度、价格差异悬殊,主要产品模块有主频350MHz~700MHz Power PC 750CX和750Cxe以及主频400MHz的Power PC 440GP等。Power PC的处理器都用在电信、金融等领域。
常用嵌入式处理器- X86 • X86系列处理器是我们最熟悉的了,它起源于Intel架构的8086,在发展出286、386、486,直到现在的Pentium 4、Athlon和AMD的64位处理器Hammer。从嵌入式来看,486DX是当时和ARM、68K、MIPS和SuperH齐名的五大嵌入式处理器之一,8080是第一款主流的处理器。今天的Pentium和当初的8080使用相同的指令集,这虽然保持了兼容性,至少十年前写的程序在现在的机器上还能运行,但弊端是限制了CPU性能的提高。
常用嵌入式处理器- 68K/Coldfire • Motorola 68000(68K)是出现得比较早的一款嵌入式处理器,68K采用的是CISC结构,与现在的PC指令保持了二进制兼容。CISC是个人电脑常用的,Intel、AMD、VIA都采用CISC指令集,只有Apple电脑中的Power PC采用了RISC架构。最初使用的CISC指令集是有道理的,因为CISC指令数量少,执行效率很高,而且当时的CPU时钟频率不同,没有涉及到现在的超标量和超流水线的问题。RISC是精简指令集,每条指令长度都一样,有利于简化译码结构,减少处理器的晶体管数量,这对于嵌入式处理器来说是很重要的。 68K最初曾用在Apple2上,比Intel的8088还要早。SUN也把这款处理器用于其最早的工作站。现在68K芯片已经完全用于嵌入式系统了,1992年68K的销售量达到了两千万片,现在Motorola每年还能销售75万片。1994年,Motorola推出了基于RISC结构的68K/ColdFire系统微处理器。目前基于该架构的嵌入式微处理器主要有MCF5272,它基于第二代ColdFire V2核心。与所有ColdFire产品一样,MCF5272系统提供了优秀的编码密度,同时达到出色的系统性能水平。
嵌入式操作系统 嵌入式软件主要是嵌入式操作系统。早期的嵌入式系统很多都不用操作系统,它们只是为了实现某些特定功能,使用一个简单的循环控制对外界的控制请求进行处理,不具备现代操作系统的基本特征(如进程管理、存储管理、设备管理、网络通信等)。不可否认,这对一些简单的系统而言是足够的。但是,我们的系统越来越复杂,利用的范围越来越广泛的时候,缺少操作系统就成为了一个最大缺点,因为每设计个一项新的功能都可能需要从头开始设计,实际上增加了开发成本和系统的复杂度。C语言的实现使我们的操作系统开发变得越来越简单,可以利用C语言很快地写出一个小型的、稳定的操作系统。
嵌入式软件体系结构 • 无操作系统的情形 • 在嵌入式系统的发展初期,由于硬件的配置比较低,对于是否有系统软件的支持,要求还不是很强烈。在那个阶段,嵌入式软件的设计主要是以应用为核心,应用软件直接建立在硬件上,没有专门的操作系统。 • 有操作系统的情形
无操作系统的情形 • 循环轮询系统:(Polling Loop) • 最简单的软件结构,程序依次检查系统的每个输入条件,一旦条件成立就进行相应的处理。 Initialize(); while(1){ if(condition_1) action_1(); if(condition_2) action_2(); …… if(condition_n) acition_n(); }
事件驱动系统:(Event-Driven system) • 事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。 • 应用程序是一个无限循环,循环中调用相应的函数完成相应操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可看成前台行为(foreground)。 • 后台也可以叫做任务级,前台也叫中断级。
前后台系统(后台循环、前台中断) 后台 前台 ISR 时间 ISR ISR
嵌入式操作系统的基本功能 嵌入式操作系统的基本功能 • 在嵌入式操作系统中一般使用微内核(micro-kernel)体系结构,其内核主要实现如下功能: • 多任务调度,系统设计人员只需设计任务,然后通过操作系统调度实现多任务的同时处理。 • 内存管理,微内核内存管理主要是提供内存页面的申请和释放工作。在没有操作系统的情况下,内存的申请和释放是由嵌入式应用程序本身完成;在有操作系统的情况下,嵌入式应用程序可以根据自己的需要申请内存空间,由操作系统统一分配。 • 硬件资源管理,操作系统的使用有个重要的方便性是操作系统可以提供一个硬件抽象层(Hardware Abstract Layer),通过驱动程序的方式方便嵌入式应用程序和硬件设备间的交互。通过硬件抽象层,可以避免几个任务同时访问一个硬件,保证对硬件访问的一致性。
主要的嵌入式操作系统 • Vxworks • Microsoft Windows CE • pSOS • QNX • Palm OS • μC/OS-II • Linux
VxWorks系统简介 • VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。 • VxWorks所具有的显著特点是: - 可靠性、实时性和可裁减性。 - 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。 • VxWorks基于微内核结构,由400多个相对独立、短小精悍的目标模块组成,用户可根据需要增加或删减适当模块来裁剪和配置系统。VxWorks的链接器可按应用的需要来动态链接目标模块。 它支持多种处理器,如x86,i960,Sun Sparc, Motorola MC68xxx,MIPS RX000, Power PC等。使用的是和UNIX不兼容的环境,大多数的VxWorks API是专用的。采用GNU的编译和调试器。
VxWorks概要 • 美国WindRiver System 公司:www.windriver.com • 微内核结构、实时操作系统; • 良好的可靠性和卓越的实时性; • 目前相对较好/较贵/市场占有率最高的商业嵌入式操作系统;