嵌入式系统原理与应用EMB-1 嵌入式系统与片上可编程系统PPT课件.ppt_第1页
嵌入式系统原理与应用EMB-1 嵌入式系统与片上可编程系统PPT课件.ppt_第2页
嵌入式系统原理与应用EMB-1 嵌入式系统与片上可编程系统PPT课件.ppt_第3页
嵌入式系统原理与应用EMB-1 嵌入式系统与片上可编程系统PPT课件.ppt_第4页
嵌入式系统原理与应用EMB-1 嵌入式系统与片上可编程系统PPT课件.ppt_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,第1节嵌入式系统的应用发展与展望,嵌入式系统的概念一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统;根据英国电器工程师协会的定义,为控制、监视或辅助设备、机器或用于工厂运作的设备;与个人计算机(PC)等的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务;Computerv.s.ComputingDevices嵌入式系统的应用物联网(InternetofThings)的发展和应用的3大驱动力之一智能设备(手机/手表/眼镜/腕带/家电/服装,.),智能手机之Apple篇,AppleiPhone5iPhone5SoriPhone5CiPhone6oriPhone6plusCPU:AppleA8OS:iOS8,智能手机之Samsung篇,GalaxyNote2GalaxyNote3GalaxyNote4CPU:SamsungExynosxxxxOS:Android4.x.xScreen:SuperAMOLED,智能手机之Microsoft篇,NokiaLumia920NokiaLumia1020NokiaLumia930CPU:QualcommMSMxxxxOS:WindowsPhone8.x,智能手表之Apple篇,iWatchCPU:AppleS1OS:WatchOS(iOS-based),智能手表之Motorola篇,MOTOACTVGPSFittnessTrackerandMP3PlayerCPU:OMAP3OS:Android2.3Moto360CPU:OMAP3OS:AndroidWearWirelessQicharging,智能手表之Sony篇,SmartWatchCPU:ARMCortex-M3OS:C/OS-IISmartWatch2CPU:ARMCortex-M4OS:AndroidUISmartWatch3CPU:Snapdragon400OS:AndroidWear,智能手表之Samsung篇,GearCPU:ExynosxxxxOS:AndroidScreen:SuperAMOLEDGear2CPU:Exynos3250OS:TizenScreen:SuperAMOLEDGearSCPU:SamsungExynosxxxxOS:TizenScreen:CurvedSuperAMOLED,智能眼镜,GoogleGlassCPU:OMAP4430OS:AndroidScreen:PrismProjector,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,嵌入式处理器(EmbeddedProcessor),ARM(AdvancedRISCMachines)MIPS(Microprocessorw/oInterlockedPipelineStages)X86MPU(MicroProcessorUnit)MCU(MicroControllerUnit)DSP(DigitalSignalProcessor)FPGA(FieldProgrammableGateArray)SOC(SystemonChip)PSOC(ProgrammableSystemonChip),ARM处理器,ARM公司是芯片设计公司,自身并不生产处理器,而是将设计授权给需要处理器的公司,由其自行生产或者代工。ARM公司对外进行授权,分为内核授权和架构授权,内核授权对ARM架构有任何更改的设计,如Samsung和TI。Qualcomm,Apple,Nvidia,Microsoft和Marvell是架构授权,自行设计基于ARM架构的处理器。,ARM架构(1),ARM架构(4),经典ARM处理器ARM7;ARM9;ARM11嵌入式Cortex处理器Cortex-M0/M0+;Cortex-M1;Cortex-M3;Cortex-M4,Cortex-M7Cortex-R4;Cortex-R5;Cortex-R7应用Cortex处理器Cortex-A5;Cortex-A7;Cortex-A8Cortex-A9;Cortex-A15,ARM嵌入式处理器(1),Cortex-R系列面向实时应用的卓越性能,则面向深层嵌入式实时应用,对低功耗、良好中断行为、性能及与现有高兼容性进行折中;典型应用:汽车制动系统;动力传动解决方案;大容量存储控制器;网络和打印Cortex-M系列面向确定性的微控制器应用,针对微控制器领域,既需快速且具有高确定性的中断管理,又需将门数和功耗控制最低;典型应用:微控制器;混合信号设备;智能传感器;汽车电子;安全气囊;PSOC5(Cortex-M3),ARM架构(2),ARM架构(3),ARMmbedIoTDevicePlatform,mbedOSArchitecture,ARM嵌入式处理器(2),Cortex-A系列开放式操作系统的高性能处理器在先进工艺节点中实现高达2GHz+标准频率的卓越性能,支持下一代的移动Internet设备。具有单核和多核种类,最多提供4个具有可选NEON多媒体处理模块和先进浮点执行单元的处理单元。应用智能手机;智能本和上网本;电子书阅读器数字电视;家用网关;各种其他产品BeagleBone开发板(CortexA8),ARM专用处理器,SecurCore面向高安全性应用的处理器;旨在满足特定市场的苛刻需求。在安全市场中用于手机SIM卡和证件应用,集成多种既可为用户提供卓越性能,又能检测和避免安全攻击的技术。FPGACores面向FPGA的处理器;在保持与传统ARM设备兼容的同时,使用户产品快速上市。具有独立于构造的特性,因此开发人员可以根据应用选择相应的目标设备,而不会被绑定于特定供应商。,MIPS处理器,MISPTechnologiesImaginationTechnologies提供业内最为丰富的低功率、高性能嵌入式微处理器内核,在全球各地用于数亿件产品。Imagination针对每个独特设计需求开发从入门级到业内最高性能水平的各种处理器内核。MIPS针对正在引入下一代嵌入式设计的高增长市场,包括数码产品应用和越来越多的移动应用、宽带接入与联网,以及最新通信应用。2012年5月推出其新一代Aptiv处理器内核。Aptiv由3个新的处理器系列组成,包括入门级、中级和高端处理器内核解决方案,涵盖多种应用要求。,MIPS架构,Aptiv处理器内核,microAptiv高效紧凑实时嵌入的MIPS32Release3内核,采用microMIPS代码压缩指令集架构。集成DSP和SIMD功能,满足多种微控制器和入门级嵌入系统的信号处理要求。interAptivMIPS32Release3多重处理器内核带有多线程平衡9阶段管道,具有领先性能效率。适于需优化成本和功率的高度并行应用。proAptiv超标量深度乱序MIPS32Release3处理器内核的CoreMark/MHz得分在目前可获许可IP内核最高,具有领先硅效率。可选择单内核和多内核产品,适于联网消费电子产品的应用处理和联网应用的控制平面处理。,经典内核系列,提供业内最为丰富的低功率、高性能嵌入式微处理器内核,在全球各地用于数亿件产品。MIPS321074KMIPS321004KMIPS3274KMIPS3234KMIPS3224KMIPS32M4K/4KMIPS32M14K,硬IP内核,采用最新设计方法、标准单元库和内存开发的ImaginationTechnologies硬IP内核代表了最先进的硬件IP。硬内核面积很小,为用户节约很多成本,在同等性能级别中的内核中脱颖而出。搭配可靠的开发环境,大幅缩短SoC实施时间。M4KHardIPCores4KcHardIPCore4KEcHardIPCores24KEcHardIPCores,X86架构,X86架构的发展(1978年迄今)Intel4004-Intel8008-Intel8080-Intel80861981年IBMPC选用Intel8086,使得X86PC标准平台,成为史上最成功的CPU架构。其他公司也制造x86CPU,如Cyrix(VIA收购)、AMD、IBM、IDT以及Transmeta。除Intel外最成功的制造商是AMD,其早先产品Athlon系列处理器的市场份额仅次于IntelPentium。少数台湾公司生产386/486CPU用于工控86DuinoZERO开发板(Vortex86EXCPU):昭营科技,IntelEmbedded,IntelAtomD410;D425;N455;D525;N450;D510Z6xx;E6xx;E6x5C:(CPU+FPGA)SOC;N2000;D2000:白色家电Z2460(Medfield):SOC;手机应用Z2000;Z2580:SOC;Z3xxxIntelQuark(586架构)伽利略(Galileo)开发板(400MHzQuarkX1000)爱迪生(Edison)开发板(500MHzAtom+100MHzQuark),AMDEmbedded,G-seriesAPU主频:615MHz1.65GHzTDP:4.518W单核或双核GeodeLX600/700/800/900主频:366600MHzTDP:2.85.1W,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,嵌入式操作系统(EmbeddedOS),AndroidC/OSC/LinuxMeego/TizenSymbianiOSWindowsPhone/Mobile/EmbeddedWindriver,Android,Android以Linux为基础的半开源操作系统,主要用于移动终端,由Google领头成立的开放手持设备联盟(OpenHandsetAlliance-OHA)持续领导与开发中。其内核属于Linux内核的分支,具有典型的Linux周期和功能,除此之外,Google为能让Linux在移动设备上良好的运行,对其进行修改和扩充。,Android硬件支持(1),Android的开放性和可移植性,广泛用在电子产品上:智能手机,上网本,平板电脑,PC,笔记本电脑,TV,机顶盒(STB),MP3/MP4播放器,掌上游戏机,家用主机,电子手表,电子收音机,耳机,汽车设备,导航仪,CD/VCD/DVD播放机,以及其他设备。Android大多搭载在使用了ARM架构的硬件设备上。也有支持X86架构终端产品,GoogleTV;LenovoK800等智能手机和平板电脑;也支持MIPS架构的智能手机和平板电脑。,Android硬件支持(2),Apple公司的iOS设备,iPhone,iPodTouch,iPad均可安装Android,且可以通过双系统启动工具OpeniBoot或iDroid来运行Android。微软公司的WindowsMobile、WindowsPhone系列产品也同样可以。另外Android亦已成功移植到WebOS系统的HPTouchPad以及Meego系统的NokiaN9等终端设备。,Android应用程序的开发,对于不同的软件开发包,使用的编程语言也不同。在早期的Android应用程序开发中,通常通过在AndroidSDK中使用Java作为编程语言来开发应用程序。开发者亦可以通过在AndroidNDK(AndroidNative开发包)中使用C或C+语言来作为编程语言开发应用程序。同时Google还推出适合初学者编程使用的GoogleSimple语言,该语言类似微软公司的VisualBasic语言。Google还推出GoogleAppInventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。,Android版本,下一代版本:AndroidL;专用版本:AndroidWear,C/OS,C/OS是Micrium公司专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。一种公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统,商业应用需要付费。1992年JeanJ.Labrosse在嵌入式系统编程杂志的5月和6月刊上刊登的文章连载发布,并把C/OS的源码发布在该杂志的BBS上。,C/OS-III,C/OS-III是可升级可固化抢占的基于优先级的实时内核。对任务个数无限制。支持现代实时内核的大部分功能,例如:资源管理,同步,任务间的通信等等。独有的特色功能,例如:完备的运行时间测量性能,直接发送信号或消息到任务,任务可同时等待多个内核对象等。C/OS-III最主要的目标是提供一流的实时内核,以适应快速更新的嵌入式产品。使用像C/OS-III具有雄厚基础和稳定框架的商业实时内核,能够处理日益复杂的嵌入式设计。,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,嵌入式平台(1),正在开发的集成硬件器件和软件架构的嵌入式平台,能够更好更快创建复杂嵌入式系统。完整的嵌入式设计平台包括通信接口,数据处理单元,特定的系统I/O以及集成的系统设计软件。与硬件无缝集合,在开发,分析,控制和通讯方面都具有很高的灵活性。,嵌入式平台(2),满足特定嵌入式需求的片上系统(SystemonChip-SOC)和系统模块(SystemonModule-SOM)。SOC和SOM在封装和模块中包括嵌入式系统所需的所有电路。SOC和SOM包含嵌入式系统的3个主要部分。如:视频/音频数字信号处理(DigitalSignalProcessing-DSP),无线电解决方案,网络解决方案以及在芯片/模块上实现完整的运算平台。模块计算机(ComputeronModule-COM)作为特殊SOM,将整个电脑或嵌入式系统集成到独立的设备中。SOC和SOM常以通用标准设备提供,也可设计成针对某些特定功能的。,可重配置的处理架构(1),先进的嵌入式系统方案中更多采用可编程逻辑(CPL)。嵌入式处理和可编程逻辑(CPL)广泛应用于:更快更可靠的I/O响应故障预测和提高安全性的机器监测音频和图像处理无线通信和网络通信对模拟和数字信号的滤波以提供更加准确的测量结果与智能传感器和其它子系统之间的数字通信I/O级的预处理以减小数据传输量,可重配置的处理架构(2),移动设备和云计算(1),下一代嵌入式系统利用最新的移动设备和云计算技术。移动计算不是新概念。从计算器到Osborne1便携电脑,移动数据,移动运算和移动通讯历经近40年由概念变为现实。科技与创新的完美结合将智能手机从商业工具变为功能完善易用的移动电脑。移动软件(网络及本地)组成的工程生态系统能够带来更多的扩展并提高手机的通用功能。目前此领域还没有赢家,移动计算领域还远没有达到类似PC的Win(dows+In)tel的通用架构。,移动设备和云计算(2),移动科技的另一主要技术是云计算。对嵌入式应用来说,提供优势:数据的聚合若系统的各子系统距离数千公里,可能要考虑云数据存储。获取数据某些情况下,正在设计的嵌入式系统很难通过直接获得数据。减轻运算负担云计算提供几乎无限的运算资源,单一终端可从需要庞大运算量的软件中解放出来。,移动设备和云计算(3),嵌入式系统安全允许远程控制的嵌入式系统必然会引入一些附加的风险。最严重的就是系统的安全问题。安全,从本质上来说,是需要折衷的,越是安全的系统越是需要花费更多的时间和金钱,并会损失一定的简便性。多平台支持新技术的不断涌现使用对多平台的支持成为一个合理的选择。在每一个跨平台的应用中,都会有一些常见的缺点,也会有一些需要考虑的方面。,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,微控制器(MCU),微控制器(MicroControllerUnit-MCU)带有外设的微处理器(MicroProcessingUnit-MPU)系统,如:台式电脑的CPU就是1个微处理器(MPU)系统。响应来自输入输出(I/O)管脚、定时器、通信模块等的输入,同时对信息进行操作控制产生合适的输出信号。I/O管脚能读取来自其它设备的按钮和状态信息,也能够输出信号打开灯、运行电机和驱动显示设备。定时器、通信模块和数模转换(ADC/DAC)模块能执行特殊任务,如:与PC机通信,读取温度信息等。,微控制器(MCU),微观上说,MCU是集成数量众多电子开关的设备。如程序员将复杂操作简化为逻辑和算术运算完成任务,MCU设计者必须决定使用何种电子设备完成任务,例如:晶体管,场效应管(FET)和二极管等。MCU在2进制下工作,如:1/0,逻辑高/逻辑低,开/关。Cypress公司的MCU称为可编程片上系统(ProgrammableSystemonChip-PSoC)单芯片上包含MPU内核、足够的模拟子系统和数字子系统资源,实现1个系统时几乎无需外部电路。,微控制器(MCU),MPU的CPU通常需要和其它部件相连接,才能使其发挥作用。MPU通常使用的功能部件:中央处理单元(CentralProcessingUnit-CPU)高速缓存(Cache)随机访问存储器(RandomAccessMemory-RAM)硬盘(HardwareDrive),中央处理单元(CPU),中央处理单元(CentralProcessingUnit-CPU)是系统的大脑,如何与各种不同空间的存储器交换信息。同时执行逻辑指令,如最基本和最通用:加、减、逻辑或、逻辑与、逻辑异或、移位、移动和复制。某些处理器可能执行更加复杂的操作,都是由最基本的操作的组合。CPU由众多子系统构成,其中最重要的是程序计数器(ProgramCounter-PC),指令译码器和算术逻辑单元(ArithmeticLogicUnit-ALU)。,中央处理单元(CPU),程序计数器(PC)指向Flash存储器指定地址,返回指令和数据。PC确定送到指令译码器内的Flash中的字段。指令译码器包含译码逻辑,对从Flash返回数据进行翻译,确定程序将执行的指令,告诉CPU下一步逻辑操作。CPU不仅实现运算操作,也修改程序运行的地址。若不是顺序执行指令,比如:遇到调转指令,则PC加载新运行指令地址,并从指向Flash新地址位置的地方执行程序。若指令需CPU执行一些运算,则相关数据将送到ALU中。此外,CPU也能根据接收指令对外设进行控制。,高速缓存,RAM,硬盘,高速缓存(Cache)从位置和访问速度来说,高速缓存最接近CPU。有时将Cache直接与CPU集成在同一芯片或同一封装。随机访问存储器(RandomAccessMemory-RAM)从CPU访问速度来看,访问RAM比访问Cache要慢。硬盘(HardwareDrive)从速度来看,硬盘是系统中最慢和最大的存储部分。用来保存程序,并由非易失性的存储介质构成。,微控制器(MCU)编程语言,任何厂商CPU,无论采用何种结构,均具有共同特点:依靠程序计数器(PC)来控制程序运行,正基于此,其本质也是串行执行的;在2进制状态下工作,也即通常所说的在PC的控制下,运行二进制组成的机器代码,控制CPU各个功能部件的运行。CPU内各功能部件,完成所要求的操作。机器语言的运行效率是最高的。机器语言指令由:操作码和操作数构成。,微控制器(MCU)编程语言,操作码告诉CPU所需要执行的操作;操作数是执行操作所针对的对象。包括:立即数,寄存器和存储器等,通过访问这些对象来获得所需要操作的对象。如:对于8051,机器语言指令7D25,表示要实现数据传输操作,7D是操作码,25是操作对象,其表示将十六进制数#25,送到R5寄存器中。程序员太难理解纯粹意义上的机器语言,为什么?程序员是CPU的操作者,不是CPU设计者,根本不可能从2进制代码排列中看出机器语言描述的逻辑操作行为。,微控制器(MCU)编程语言,为帮助程序员理解CPU操作,通过汇编语言助记符指令来帮助程序员设计指令来控制CPU的运行。汇编语言助记符指令通过汇编器被翻译成机器语言指令。用汇编助记符描述机器指令的形式:标号:助记符操作数;注释标号用来表示一行指令助记符表示所要执行的逻辑操作行为操作数为逻辑操作行为所操作具体对象,微控制器(MCU)编程语言,用汇编语言来描述机器指令7D25:MOVR5,#25MOV表示数据移动操作,R5表示目标操作数,#25表示源操作数;此汇编指令表示,将立即数25复制到R5寄存器中。助记符来描述CPU的操作,比机器语言更加容易理解和记忆。汇编语言的基础是机器语言,使用汇编语言的程序员必须清楚CPU指令集,寄存器单元和存储器映射等硬件规则。其执行效率基本与机器语言一样,但汇编语言编程效率很低。不了解CPU内部结构,汇编语言编程并不比使用机器指令好。,微控制器(MCU)编程语言,许多软件开发平台支持使用C等高级语言对硬件编程;C语言不能直接在CPU上运行,必须先通过编译器(Compiler)转换成机器语言,才能在CPU上运行。使用高级语言编写的代码运行效率不可能比用汇编语言高,若使C语言代码和汇编语言有一样高的执行效率,只能优化C语言代码,或使用C语言和汇编语言混合编程,满足代码长度和运行时间的设计要求。众多厂商提供硬件的应用程序接口(ApplicationProgramInterface-API)函数,无需知道硬件实现细节,只需关心如何编写代码驱动硬件,大大提高程序设计效率。,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,可编程片上系统(PSOC)概述,当今嵌入式处理器无处不在。在过去数十年间:市场要求不断地降低嵌入式系统的成本;要求嵌入式处理器处理及控制能力不断的提高;上述推动使得嵌入式处理器的功能变得越来越复杂。市场出现越来越多的片上可编程系统,设计者就不会感到奇怪。PSoC在单芯片上集成CPU、模拟和数字子系统。Cypress公司率先在单芯片上实现完整的模拟和数字系统的集成,其典型产品:PSoC1、PSoC3,PSoC4和PSoC5。,PSOC发展概述,PSoC3,PSOC4和PSoC5芯片内部分别集成8051硬核,ARMCortex-M0和ARMCortex-M3硬核,受到业界高度关注。以PSoC芯片和PSoCCreator软件为代表的硬件设计平台和软件设计工具,引领嵌入式系统设计的发展方向。PSoC设计方法的核心是以不同的数字和模拟IP(IntellectualProperty)核为中心的系统级设计,体现对嵌入式设计者的重基础和宽专业的要求。PSoC集成度很高,涉及知识面也较宽,即宽专业,要想能完成PSoC设计,要求设计者有良好的基础理论,即重基础。,PSOC嵌入式系统设计,PSoC嵌入式系统设计的优点:定制降低元件成本硬件加速定制使用者能够灵活选择所要连接的外设和控制器。使用者能够设计出独一无二的外设,并可直接和总线连接。对于非标外设,易于使用PSoC内嵌的通用数字块(UniversalDigitalBlock-UDB)定制非标外设。,PSOC嵌入式系统设计,降低元件成本PSoC的功能多样性,以前需使用很多元件实现的系统,现在可使用PSoC单芯片实现。减少设计使用的元件的数量,不但降低元件的成本,而且大大减小电路板的尺寸,提高系统可靠性。硬件加速选择PSoC的重要原因:PSoC能在硬件和软件之间进行折中,使嵌入式系统获得最大的效率和性能。使用现代硬件设计工具,易于将软件瓶颈转为硬件处理。,PSOC嵌入式系统设计,PSoC是高度集成的硬件/软件可编程的MCU。在PSoC平台上充满设计的创意。与Cortex-M3在软件和硬件设计上的区别,PSoC设计背景,嵌入式系统的3个主要模块:处理器数字(外设和逻辑)模拟(用于与传感器和控制器的物理接口)根据硬件接口要求,由3个模块构成硬件平台。在此硬件设计上构建软件,执行所要求的处理和控制功能。按照传统设计方法,一旦定制的软件和硬件开始运行,需要进行修改或更新时,成为令使用者异常痛苦的事情。众所周知,这也是一件耗钱和耗时的工作。,PSoC设计背景,嵌入式系统设计者需要其设计在市场上超过其竞争对手,快速占领市场。市场上的消费电子产品的激烈竞争,彻底明白市场对嵌入式系统设计者的重要性。获取市场优势,知识和投资中尽可能重用,即重复使用,降低设计成本和缩短设计周期,这是所有设计者最喜欢的。此结构和设计平台是灵活和可扩展的。设计者希望设计工具支持直至出厂前的重要更改。充分利用工业标准的生态设计,对嵌入式系统设计至关重要。,PSoC设计背景,嵌入式系统设计发展到今天,充分利用众多的嵌入式开发社区和标准工具。充分利用资源少走弯路,享受嵌入式设计的乐趣。设计归结:较长的设计周期,较高的市场要求变化机率和不同的需求。任何设计变化都将导致设计周期延长。缩短设计周期,拥有财富优势;降低不确定性,获取早期消费者的反馈信息,快速改进产品,成为市场的领导者。,IP核复用,片上系统(SoC)设计在单芯片内部将不同功能的IP核连接在一起,满足不同的应用要求。设计规模巨大功能复杂,设计这无法从头开始设计。设计中尽可能使用现有模块,无现成模块可以使用时,才需要自行设计新模块。电子设计自动化(EDA)使用者称现有模块为IP核。源自:前1个设计创建的模块SoC生产厂商的提供第3方IP厂商的提供,IP核复用,IP核是反复验证的特定功能的宏模块,与芯片制造工艺无关,可移植到不同的半导体工艺中。SoC的IP核设计是解决方案中非常重要的任务,提供的IP核的资源数目体现厂商实力。PSoC提供的IP核越丰富,用户设计就越方便,其市场占用率就越高。IP核已成为系统设计的基本单元,并作为独立设计成果被交换、转让和销售。IP核分为软核、硬核和固核3类。从实现成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用使用性最高。,软核,软核在EDA领域指的是综合前的寄存器传输级(RTL)模型;在现场可编程门列阵(FPGA)设计中指的是电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核经过功能仿真,需经综合及布局布线才能使用。优点是灵活性高、可移植性强,允许用户自配置;缺点是其预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。,固核,固核在EDA领域指的是带有平面规划信息的网表;在SoC设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核设计灵活性稍差,但可靠性有较大提高。目前,固核也是IP核的主流形式之一。,硬核,硬核指经验证的设计版图;在PSoC中指布局和工艺固定、经过前端和后端验证的设计,使用者不能对其修改。首先系统设计对各模块的时序要求很严格,不允许打乱已有的物理版图;其次保护知识产权要求,不允许使用者对其有任何改动。IP硬核的不许修改特点使其复用有一定困难,只能用于某些特定应用,使用范围较窄。如:PSoC5内部集成ARMCortex-M3硬核。,设计重用,设计重用是非常重要的设计思想,比IP核复用有更高灵活性。使得设计方法进入崭新阶段,是众多厂商的最高理想境界。设计重用非常吸引人,但目前解决方式仅是迫使在项目的另一部分加入定制的开发,不能根本上解决问题。IP核重用利益最大化的方法是将软件和硬件作为同等地位的合作者,无需使得软硬件的任何一方了解对方的具体实现。实现此目的的方法是,在定义硬件IP核的时候,也要考虑软件和开发工具,在应用程序和硬件间的接口方便高效,同时,无需深入了解对方。,设计重用,很久前提出设计重用作为一个正在完成项目(从时间和预算方面)的必要的部分。并不是新思想,目的就是使得设计无需修改(或尽可能少的修改)可在不同平台之间使用。设计重用至今都没有完全实现,通常做法单纯硬件:MPU核,可重用IP核外设,硬件加速器等;软件:实时操作系统(RTOS),协议栈,实时库等等;设计复用,而不是全部软件和硬件的复用。,设计重用,PSoCCreator软件很好实施设计重用的思想,将其变为现实。生成硬件IP时,也同时提供相应所需要的软件API函数,使得设计更容易运行,以更快速度完成,更易维护和便携。使用HDL开发IP核,对其进行综合、仿真、验证、编写测试平台、编写文档。为IP核使用者在开发工具中提供相同工具,当用户在其设计中例化需使用的IP核时,为例化IP核生成相应的API函数。,设计重用,PSoC5由嵌入式处理器(Cortex-M3)、可编程的数字阵列和高精度的模拟资源构成。PSoCCreator具备设计重用功能,对硬件模块或元件使用API函数封装,简化软件代码开发,同时加速设计过程。PSoCCreator提供原理图获取接口,在原理图界面内使用者从模拟和数字元件库中拖拽元件创建设计。元件由在原理图界面内可见符号或其它原理图的实现构成。使用者建立设计时,软件由元件名字产生相应API函数。PSoCCreator元件都是参数化的,重要设置选项,如UART流控和波特率,参数化图形设置实现,将不必要的功能从设置选项中删除。,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,PSOC5软硬件协同设计流程,硬件设计流程,此处的”硬件“和常规“硬件”概念不同。PSoC5芯片内,利用芯片内CPU、存储器、数字子系统、模拟子系统等IP核资源,通过数字和模拟总线将IP核连接在一起,在硅片上实现定制功能的数模混合嵌入式系统。基于PSoC芯片内的硬件设计,采用原理图和硬件描述语言(HDL)的混合设计方法实现。原理图设计方法从空白背景开始,允许设计者在空白的背景下构建硬件系统,过程就是在空白背景上放置不同功能IP核,用线连接的过程。,硬件设计流程,构建硬件系统的方法:通用外设;串行通信模块标准模拟模块;布尔原语层次化元件(如用户根据特殊要求定制的)用户创建寄存器传输级(RTL)描述HDL设计方法PSoC芯片提供的IP核不能满足设计需求时,设计者使用HDL和PSoCCreator的相应功能实现定制的要求。设计在验证完后,可使用原理图的设计方法,将此IP核添加到设计中。,硬件设计流程,使用原理图和HDL完成设计实现后,使用PSoCCreator的软件工具对硬件设计进行处理,处理过程:综合;映射;布局布线;比特流生成器;API生成器综合自动将系统从行为级描述综合为寄存器传输级描述。行为级综合的输入为系统的行为级描述,输出为寄存器传输级描述的数据通路。映射将设计中的逻辑描述映射到PSoC内相对应的功能单元中。,硬件设计流程,布局布线调用布局布线器,根据用户约束和物理约束,对设计模块进行实际布局,并根据设计连接,对布局后的模块进行布线。顺序是:先模拟部分,后数字部分。位(比特)流生成器当布局布线完成后,生成用于创建配置的设置信息,写到当前设计的工程目录下的GeneratedFile文件夹下。在建立整个工程时将使用这些信息。API生成器根据硬件设计流程使用的IP核资源,为这些IP核资源自动生成和软件的应用程序接口(API)函数。,软件设计流程,软件设计是在PSoC5构建的硬件平台基础上实现。使用PSoCCreator实现软件设计。PSoC5内嵌ARMCortex-M3内核。PSoCCreator自带CodeSourcery的SourceryG简化版本的GNU开发工具。嵌入式应用二进制接口(EmbeddedApplicationBinaryInterface-EABI)用于开发无操作系统(OS)的ARM嵌入式开发。ARMEABI描述可连接目标代码,库目标代码,可执行文件影像;如何连接,执行和调试,以及目标代码生成过程,与C,C+语言接口的规范,编译连接工具的基础规范。,软件设计流程,作为EABI的组成部分过程调用规范,可执行文件格式规范,C/C+ABI规范和调试格式规范。用户通过C编辑器完成.C/.C+文件的编写。并通过调用GNU编译器套装GCC,即:arm-none-eabi-gcc.exe生成目标文件。用户通过汇编语言编辑器完成遵循GNU汇编语法的.s汇编文件的编写。并通过调用GNU的汇编器,即:arm-none-eabi-as.exe选项生成目标文件.o。,软件设计流程,硬件设计流程生成API,通过调用GNU编译器套装(GCC),即:arm-none-eabi-gcc.exe选项生成目标文件.o。调用归档器,即:arm-none-eabi-ar选项生成库文件.a。用户应用程序生成的.o目标文件、API生成的库.a文件,以及其它库.a文件等,通过调用GNU编译器和.ld链接脚本文件,即:arm-none-eabi-gcc.exe选项生成可加载和可链接的文件.elf。,软件设计流程,.elf通过调用下面:arm-none-eabi-objcopy选项生成Intel格式的十六进制文件.ihex。通过调用下面:cyhextool生成可以编程PSoC5的十六进制编程文件.hex。通过PSoCCreator提供的编程工具将生成的.hex文件下载到PSoC5内,调用调试器完成最后的设计。,第1章嵌入式系统与片上可编程系统,第1节嵌入式系统的应用第2节嵌入式处理器的发展第3节嵌入式操作系统的发展第4节嵌入式系统的展望第5节微控制器(MCU)基础第6节可编程片上系统(PSOC)概述第7节PSOC5设计流程第8节PSOC5结构,功能与器件,PSOC5结构,PSOC5构成,CPU系统Cortex-M3内核,嵌套向量中断控制器(NVIC),高速缓存控制器,PHUB和DMA控制器。低功耗32位CPU(包含1个高效哈佛(Harvard)三级流水线核和1个固定4GB存储器映射)。支持16/32位Thumb-2指令集。不同类型的存储单元SRAM、Flash和EEPROM。系统集成特性时钟、丰富特性的电源系统和多功能的输入和输出(I/O)。,PSOC5构成,数字系统可配置的通用数字块(UDB)和指定功能外设(如CAN和USB)。模拟系统:可配置的开关电容(SC)和连续时间(CT)模块,高达20位的-ADC,8位ADC(可配置成12位操作),数个SARADC,可程控增益放大器(PGA)等。调试接口通过JTAG、串行线调试器(SWD)和单个线查看器(SWV),对系统进行编程和调试。,数字系统结构与功能,数字系统结构与功能,通过数字系统互联(DSI)将外设数字信号连接到任意引脚。通过小规模快速低功耗UDB阵列提供灵活的功能。PSoCCreator提供标准数字外设库(UART,SPI,LIN,PRS,CRC,定时器,计数器,PWM,AND,OR等),并映射到UDB阵列上。使用者在图形化设计界面中使用布尔原语函数创建数字电路。UDB包含可编程阵列逻辑(PAL)和可编程逻辑设备(PLD),同时和小规模状态机引擎一起支持不同外设。也可配置指定功能数字块,包含:16位定时器、计数器和PWM块,I2C主/从/多主设备,全速USB和CAN2.0b。,DSI与中断控制器/DMAC的连接,外设,I/O和UDB与定时器连接,模拟系统结构与功能,模拟系统功能,可配置模拟布线结构(模拟全局/本地,模拟复用总线);高分辨率-ADC;2个SARADC;4个DAC,提供电压或电流输出;4个CMP,可选择连接到可配置的查表(LUT)输出;4个可配置开关电容/连续时间(SC/CT)模块,实现放大器、增益缓冲、可编程增益放大器、跨导放大器和混频器的功能;4个O

温馨提示

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

评论

0/150

提交评论