ARM嵌入式体系结构与接口技术2第1章嵌入式系统基础知识第2章ARM技术概述第3章ARM的指令系统第4章ARM汇编语言程序设计第5章ARMRealviewMDK集成开发环境第6章GPIO编程第7章ARM异常中断处理及编程第8章串行通信接口课程安排:3第9章存储器接口第10章定时器第11章A/D转换器第12章LCD接口设计第13章温度监测仪开发实例课程安排:第1章嵌入式系统基础知识51.1嵌入式系统概述1.2嵌入式系统的组成1.3嵌入式操作系统举例1.4嵌入式系统开发概述1.5小结本章课程:61.1.1嵌入式系统简介•计算机、通信、消费电子的一体化趋势•嵌入式系统定义:•嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。•三要素:嵌入性、专用性和计算机系统•硬件+软件•硬件:由嵌入式微处理器、外围硬件设备组成•软件:包括底层系统软件和用户应用软件•嵌入式系统应用领域:•消费电子、工业控制、网络设备、医疗电子、军事国防、航空航天1.1嵌入式系统概述71.1.2嵌入式系统的特点①专用、软硬件可剪裁可配置②低功耗、高可靠性、高稳定性③软件代码短小精悍④代码可固化⑤实时性⑥弱交互性⑦软件开发需要专门的开发工具和开发环境⑧要求开发、设计人员有较高的技能1.1嵌入式系统概述通用计算机与嵌入式系统对比特征通用计算机嵌入式系统形式和类型•看得见的计算机。按其体系结构、运算速度和结构规模等因素分为大、中、小型机和微机。•看不见的计算机。形式多样,应用领域广泛,按应用来分。组成•通用处理器、标准总线和外设。软件和硬件相对独立。•面向应用的嵌入式微处理器,总线和外部接口多集成在处理器内部。软件与硬件是紧密集成在一起的。开发方式•开发平台和运行平台都是通用计算机•采用交叉开发方式,开发平台一般是通用计算机,运行平台是嵌入式系统。二次开发性•应用程序可重新编制•大部分不能再编程91.1.3嵌入式系统的发展嵌入式系统发展的4个阶段:①以单芯片为核心的可编程控制器形式的系统②以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统③以嵌入式操作系统为标志的嵌入式系统④以Internet为标志的嵌入式系统1.1嵌入式系统概述101.1.3嵌入式系统的发展未来嵌入式系统的发展趋势:①小型化、智能化、网络化、可视化②多核技术的应用③低功耗(节能)、绿色环保④云计算、可重构、虚拟化等⑤平台化、标准化、系统可升级,代码可复用⑥嵌入式系统软件将逐渐PC化⑦融合趋势(软硬件融合,与互联网融合)⑧安全性1.1嵌入式系统概述物联网物联网是新一代信息技术的重要组成部分。顾名思义,物联网就是“物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。物联网的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。云计算云计算概念是由Google提出的,这是一个美丽的网络应用模式云计算旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助先进的商业模式把这强大的计算能力分布到终端用户手中云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。13图1-1嵌入式系统结构简图1.2嵌入式系统的组成应用软件嵌入式操作系统硬件设备嵌入式处理器外围设备141.2.1嵌入式系统硬件组成嵌入式处理器(CPU)是嵌入式系统的核心部分嵌入式处理器可以分为以下几大类:嵌入式微处理器(ARM、PowerPC、MIPS等)嵌入式微控制器嵌入式DSP处理器SOPC(可编程片上系统)外围设备存储设备(如RAM(SRAM,DRAM)、Flash等)通信设备(如RS-232接口、SPI接口、以太网接口等)显示设备(如显示屏等)1.2嵌入式系统的组成151.2.2嵌入式系统软件组成图1-2嵌入式系统软件组成图1.2嵌入式系统的组成应用层驱动层硬件层161.3.1商业版嵌入式操作系统1、VxWorks美国WindRiver公司一种嵌入式实时操作系统(RTOS)在当前市场占有率最高的嵌入式实时操作系统2、WindowsCE微软是基于掌上型电脑类的电子设备操作系统具有模块化、结构化和基干Win32应用程序接口以及与处理器无关等特点1.3嵌入式操作系统举例171.3.2开源版嵌入式操作系统嵌入式Linux(EmbeddedLinux)具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点嵌入式Linux主要版本uCLinux、RT-Linux、Embedix、XLinux、PoketLinux、红旗嵌入式Linux等1.3嵌入式操作系统举例18系统总体开发处理器选型,需要在成本和性能上做出选择开发环境的选择,包括嵌入式操作系统的选择以及开发工具的选择等嵌入式硬件开发嵌入式软件开发交叉编译交叉调试软件方式硬件方式1.4嵌入式系统开发概述191.4嵌入式系统开发概述嵌入式硬件基础知识(补充)嵌入式硬件开发流程芯片封装知识简介嵌入式系统硬件开发流程主要分为三个阶段:1、系统方案分析与设计2、PCB的仿真设计3、PCB的调试与测试1、系统方案分析与设计阶段根据系统所要完成的功能,选择合适的处理器和外围器件,完成系统的功能框图设计(1)处理器的选择处理性能资源功耗软件支持工具技术资料(芯片手册,设计指南、开发板)货源(2)外围器件的选择ARM芯片厂商AnalogDevices(ARM7/ARM9/Cortex-M3Family)ADuC7019,ADuC7020,ADuC7021,ADuC7022,ADuC7024,ADuC7025,ADuC7026,ADuC7027,ADuC7032,ADuC7033,ADuC7128,ADuC7129Atmel(ARM7/ARM9/Cortex-M3Family)AT91C140,AT91F40416,AT91F40816,AT91FR40162,AT91FR4042,AT91FR4081,AT91M40400,AT91M40800,AT91M40807,AT91M42800A,AT91M43300,AT91M55800A,AT91M63200,AT91R40008,AT91R40807,AT91RM3400,AT91SAM7S64,AT91SAM7SE256,AT91SAM7SE32,AT91SAM7SE512,AT91SAM7X128,AT91SAM7X256,AT91SAM7XC128,AT91SAM7XC256,AT91SAM9260,AT91SAM9261/3,AT91SAM9G20FreescaleSemiconductor(ARM7/ARM9/Cortex-M3Family)MAC7101,MAC7104,MAC7105,MAC7106,MAC7111,MAC7112,MAC7114,MAC7115,MAC7116,MAC7121,MAC7122,MAC7124,MAC7125,MAC7126,MAC7131,MAC7134,MAC7135,MAC7136,MAC7141,MAC7142,MAC7144LuminaryMicro(ARM7/ARM9/Cortex-M3Family)LM3S101,LM3S102,LM3S301,LM3S310,LM3S315,LM3S316,LM3S328,LM3S601,LM3S610,LM3S611,LM3S612,LM3S613,LM3S615,LM3S628,LM3S801,LM3S811,LM3S812,LM3S815,LM3S828NXP(foundedbyPhilips)(ARM7/ARM9/Cortex-M3Family)LPC2101,LPC2102,LPC2103,LPC2104,LPC2105,LPC2106,LPC2114,LPC2119,LPC2124,LPC2129,LPC2131,LPC2132,LPC2134,LPC2136,LPC2138,LPC2141,LPC2142,LPC2144,LPC2146,LPC2148,LPC2194,LPC2210,LPC2212,LPC2214,LPC2220,LPC2290,LPC2292,LPC2294,LPC2364,LPC2366,,LPC2880,LPC2888,LPC3180OKI(ARM7/ARM9/Cortex-M3Family)ML674000,ML674001,ML674002,ML674003,ML675001,ML675002,ML675003,ML67Q4050,ML67Q4051,ML67Q4060,ML67Q4061,ML696201,ML69Q6203Samsung(ARM7/ARM9/Cortex-M3Family)S3C2410A,S3C2440A,S3C44B0X,S3C4510B,S5PC210Sharp(ARM7/ARM9/Cortex-M3Family)LH75400,LH75401,LH75410,LH75411STMicroelectronics(ARM7/ARM9/Cortex-M3Family)STR710FZ1,STR710FZ2,STR711FR0,STR711FR1,STR711FR2,STR712FR0,STR712FR1,STR712FR2,STR715FR0,STR755FV2,STR910FM32,STR910FW32,STR911FM42,STR911FM44,STR912FW42,STR912FW44,STM32系列TI(ARM7/ARM9/Cortex-M3Family)TMS470R1A128,TMS470R1A256,TMS470R1A288,TMS470R1A384,TMS470R1A64,TMS470R1B1M,TMS470R1B512,TMS470R1B768,OMAP系列Intel的StrongARM和Xscale等一系列的产品:PXA250,PXA210PXA2500等2、PCB设计仿真阶段需要在EDA仿真设计平台下,设计系统原理图及PCB,并对PCB板上的信号完整性、EMI等进行仿真,根据仿真结果来对PCB进行合理的布局布线调整,完成PCB的设计原理图PCB图3、PCB的加工、测试对加工完成的PCB进行器件焊接、调试和测试,完成整个系统硬件的设计印制电路板设计软件——ProtelProtel(AltiumDesigner)是流行的PCB设计工具之一,大多数PCB生产厂家都接受Protel设计格式的PCB文件。Protel基本上包括以下5大功能:原理图设计PCB设计自动布线可编程逻辑器件(PLD)设计电路仿真器件设计更专业的PCB设计软件:CandenceAllegro单面板与多层板单面板用一块板子作为基础,在板上规划元件的布局,确定元件的接点,使用接线柱做接点,用导线把接点按电路要求进行连接。在板的一面布线,另一面装元件。双面板在电路板的两面都有布线。为了使用两面的导线,必须要在两面间有适当的电路连接才行。这种电路间的桥梁叫做过孔。过孔是在PCB上,充满或涂上金属的小洞,它可以与两面的导线相连接。多层板多层板使用数片双面板,并在每层板间放进一层绝缘层后压合。板子的层数就代表了有几层独立的布线层。在多层板PCB中,除了布置信号线的信号层外,有的层整层都直接连接地线或电源,我们称之为地线层或电源层。印制电路板设计的注意事项通常在设计印制电路板时,需要遵循以下设计