1、嵌入式系统原理与应用嵌入式系统原理与应用全册配套课件全册配套课件嵌入式系统原理与应用Principle and Application of Embedded Computing System教材和参考资料(1)1 何宾编著,Cortex M3可编程片上系统原理及应用,北京:化学工业出版社,2012;2 何宾编著,可编程片上系统PSOC设计指南,北京:化学工业出版社,2011;3 何宾编著,PSOC模拟与数字电路设计指南,北京:化学工业出版社,2012; 4 何宾编著,8051片上可编程系统原理及应用,北京:化学工业出版社,2012;5 宋岩译,Joseph Yiu原著,ARM Cortex-
2、M3权威指南,北京:北京航空航天大学出版社,2009;教材和参考资料(2)6 Alex Doboli, Edward H. Currie, Introduction to Mixed-Signal, Embedded Design, New York: Springer,2011; 7 Micrim, C/OS-III and the Cypress PSoC5 processors, http:/ Cypress, CY8CKIT-050 PSoC5 Development Kit Guide, http:/ Cypress, CY8CKIT-050 PSoC5 Development Ki
3、t QUICK START GUIDE, http:/ Cypress, PSoC5: CY8C55 Family Datasheet, http:/ 第1章 嵌入式系统与可编程片上系统 第2章 PSOC5 中央处理器与存储器 第3章 Cortex-M3指令与Proteus软件 第4章 PSOC5公共资源与编程调试接口 第5章 PSoC Creator软件与C/OS-3操作系统 第6章 PSOC5可编程数字子系统 第7章 PSOC5可编程模拟子系统实验安排 实验1 Protues Cortex-M3仿真实验 实验2 PSOC Creator程序设计实验 实验3 PSOC5导入C/OS-3实验
4、实验4 PSOC5可编程数字系统实验 实验5 PSOC5可编程模拟系统实验 实验6 PSOC5课程综合实验实验箱CY8CKIT-050 PSoC 5LP 开发套件实验板CY8CKIT-050 PSoC 5LP 开发套件课程考核 平时出勤:10% 课程实验:60% (实验出勤和实验报告) 理论考试:30%课件与资料下载 百度云盘下载课件和实验指导书v 链接: http:/ v 密码: 27ak第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PS
5、OC)概述 第7节 PSOC5设计流程 第8节 PSOC5结构,功能与器件第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PSOC)概述 第7节 PSOC5设计流程 第8节 PSOC5结构,功能与器件第1节 嵌入式系统的应用发展与展望 嵌入式系统的概念v 一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统;v 根据英国电器工程师协会的定义,为控制、监视或辅助设备、机器或用于工厂运作的设备;v 与个人计算机(PC)等的通用计算机系统不同
6、,嵌入式系统通常执行的是带有特定要求的预先定义的任务; v Computer v.s. Computing Devices 嵌入式系统的应用v 物联网(Internet of Things)的发展和应用的3大驱动力之一v 智能设备(手机/手表/眼镜/腕带/家电/服装,.)智能手机之Apple篇 Apple iPhone 5 v iPhone 5S or iPhone 5Cv iPhone 6 or iPhone 6 plus CPU:Apple A8 OS:iOS8 智能手机之Samsung篇 Galaxy Note 2 v Galaxy Note 3v Galaxy Note 4 CPU:S
7、amsung Exynos xxxx OS:Android 4.x.x Screen:Super AMOLED智能手机之Microsoft篇 Nokia Lumia 920 v Nokia Lumia 1020v Nokia Lumia 930 CPU:Qualcomm MSMxxxx OS:Windows Phone 8.x智能手表之Apple篇 iWatch CPU: Apple S1 OS: Watch OS(iOS-based)智能手表之Motorola篇 MOTOACTV v GPS Fittness Tracker and MP3 Player CPU: OMAP3 OS: And
8、roid 2.3v Moto 360 CPU: OMAP3 OS: Android Wear Wireless Qi charging智能手表之Sony篇 SmartWatch CPU:ARM Cortex-M3 OS:C/OS-IIv SmartWatch 2 CPU:ARM Cortex-M4 OS:Android UIv SmartWatch 3 CPU:Snapdragon 400 OS:Android Wear智能手表之Samsung篇 Gear CPU: Exynos xxxx OS: Android Screen: Super AMOLEDv Gear 2 CPU: Exynos
9、 3250 OS: Tizen Screen: Super AMOLEDv Gear S CPU: Samsung Exynos xxxx OS: Tizen Screen: Curved Super AMOLED智能眼镜 Google Glass CPU: OMAP 4430 OS: Android Screen: Prism Projector第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PSOC)概述 第7节 PSOC5设计流程 第8
10、节 PSOC5结构,功能与器件嵌入式处理器(Embedded Processor) ARM (Advanced RISC Machines) MIPS (Microprocessor w/o Interlocked Pipeline Stages) X86 MPU (Micro Processor Unit) MCU (Micro Controller Unit) DSP (Digital Signal Processor) FPGA (Field Programmable Gate Array) SOC (System on Chip) PSOC (Programmable System o
11、n Chip)ARM处理器 ARM公司是芯片设计公司,自身并不生产处理器,而是将设计授权给需要处理器的公司,由其自行生产或者代工。 ARM公司对外进行授权,分为内核授权和架构授权,v 内核授权对ARM架构有任何更改的设计,如Samsung和TI。v Qualcomm,Apple,Nvidia,Microsoft和Marvell是架构授权,自行设计基于ARM架构的处理器。ARM架构(1)ARM架构(4) 经典ARM处理器v ARM7;ARM9;ARM11 嵌入式Cortex处理器v Cortex-M0/M0+;Cortex-M1;Cortex-M3;Cortex-M4,Cortex-M7v Co
12、rtex-R4;Cortex-R5;Cortex-R7 应用Cortex处理器v Cortex-A5;Cortex-A7;Cortex-A8v Cortex-A9;Cortex-A15ARM嵌入式处理器(1) Cortex-R系列 v 面向实时应用的卓越性能,则面向深层嵌入式实时应用,对低功耗、良好中断行为、性能及与现有高兼容性进行折中;v 典型应用:汽车制动系统; 动力传动解决方案;大容量存储控制器;网络和打印 Cortex-M系列 v 面向确定性的微控制器应用,针对微控制器领域,既需快速且具有高确定性的中断管理,又需将门数和功耗控制最低;v 典型应用:微控制器;混合信号设备;智能传感器;汽
13、车电子;安全气囊;PSOC5 (Cortex-M3)ARM架构(2)ARM架构(3)ARM mbed IoT Device Platformmbed OS ArchitectureARM嵌入式处理器(2) Cortex-A 系列 v 开放式操作系统的高性能处理器v 在先进工艺节点中实现高达 2GHz+ 标准频率的卓越性能,v 支持下一代的移动 Internet 设备。具有单核和多核种类,最多提供4个具有可选 NEON多媒体处理模块和先进浮点执行单元的处理单元。 应用v 智能手机;智能本和上网本;电子书阅读器v 数字电视;家用网关;各种其他产品 BeagleBone 开发板(Cortex A8)
14、ARM专用处理器 SecurCore v 面向高安全性应用的处理器;旨在满足特定市场的苛刻需求。v 在安全市场中用于手机SIM卡和证件应用,集成多种既可为用户提供卓越性能,又能检测和避免安全攻击的技术。 FPGA Cores v 面向 FPGA 的处理器;在保持与传统 ARM 设备兼容的同时,使用户产品快速上市。v 具有独立于构造的特性,因此开发人员可以根据应用选择相应的目标设备,而不会被绑定于特定供应商。MIPS处理器 MISP TechnologiesImagination Technologiesv 提供业内最为丰富的低功率、高性能嵌入式微处理器内核,在全球各地用于数亿件产品。v Ima
15、gination针对每个独特设计需求开发从入门级到业内最高性能水平的各种处理器内核。v MIPS针对正在引入下一代嵌入式设计的高增长市场,包括数码产品应用和越来越多的移动应用、宽带接入与联网,以及最新通信应用。v 2012年5月推出其新一代Aptiv处理器内核。Aptiv由3个新的处理器系列组成,包括入门级、中级和高端处理器内核解决方案,涵盖多种应用要求。MIPS架构Aptiv处理器内核 microAptivv 高效紧凑实时嵌入的MIPS32 Release 3内核,采用micro MIPS代码压缩指令集架构。集成DSP和SIMD功能,满足多种微控制器和入门级嵌入系统的信号处理要求。 inte
16、rAptivv MIPS32 Release 3多重处理器内核带有多线程平衡9阶段管道,具有领先性能效率。适于需优化成本和功率的高度并行应用。 proAptivv 超标量深度乱序MIPS32 Release 3处理器内核的CoreMark /MHz得分在目前可获许可IP内核最高,具有领先硅效率。可选择单内核和多内核产品,适于联网消费电子产品的应用处理和联网应用的控制平面处理。经典内核系列 提供业内最为丰富的低功率、高性能嵌入式微处理器内核,在全球各地用于数亿件产品。v MIPS32 1074Kv MIPS32 1004Kv MIPS32 74Kv MIPS32 34Kv MIPS32 24Kv
17、 MIPS32 M4K/4Kv MIPS32 M14K硬IP内核 采用最新设计方法、标准单元库和内存开发的Imagination Technologies硬IP内核代表了最先进的硬件IP。v 硬内核面积很小,为用户节约很多成本,在同等性能级别中的内核中脱颖而出。v 搭配可靠的开发环境,大幅缩短SoC实施时间。v M4K Hard IP Coresv 4Kc Hard IP Corev 4KEc Hard IP Coresv 24KEc Hard IP CoresX86架构 X86架构的发展(1978年迄今)v Intel 4004 - Intel 8008 -Intel 8080 - Inte
18、l 8086 v 1981年IBM PC选用Intel 8086,使得X86PC标准平台,成为史上最成功的CPU架构。v 其他公司也制造x86 CPU,如Cyrix(VIA收购)、AMD、IBM、IDT以及Transmeta。 除Intel外最成功的制造商是AMD,其早先产品Athlon系列处理器的市场份额仅次于Intel Pentium。 少数台湾公司生产386/486 CPU用于工控 86Duino ZERO开发板(Vortex86EX CPU):昭营科技Intel Embedded Intel Atomv D410;D425;N455;D525;N450;D510v Z6xx;E6xx;
19、 E6x5C: (CPU+FPGA) SOC;v N2000;D2000:白色家电v Z2460 (Medfield):SOC ;手机应用v Z2000;Z2580:SOC; Z3xxx Intel Quark(586架构) 伽利略(Galileo)开发板(400MHz Quark X1000) 爱迪生(Edison)开发板(500MHz Atom+100MHz Quark)AMD Embedded G-series APUv 主频:615MHz1.65GHzv TDP:4.518Wv 单核或双核 Geode v LX600/700/800/900v 主频:366600MHzv TDP:2.8
20、5.1W第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PSOC)概述 第7节 PSOC5设计流程 第8节 PSOC5结构,功能与器件嵌入式操作系统(Embedded OS) Android C/OS C/Linux Meego/Tizen Symbian iOS Windows Phone/Mobile/Embedded WindriverAndroid Androidv 以Linux为基础的半开源操作系统,主要用于移动终端,由Google
21、领头成立的开放手持设备联盟 (Open Handset Alliance - OHA)持续领导与开发中。v 其内核属于Linux内核的分支,具有典型的Linux周期和功能,除此之外,Google为能让Linux在移动设备上良好的运行,对其进行修改和扩充。Android硬件支持(1) Android的开放性和可移植性,广泛用在电子产品上:v 智能手机,上网本,平板电脑,PC,笔记本电脑,TV,机顶盒(STB),MP3/MP4播放器,掌上游戏机,家用主机,电子手表,电子收音机,耳机,汽车设备,导航仪,CD/VCD/DVD播放机,以及其他设备。 Android大多搭载在使用了ARM架构的硬件设备上。
22、v 也有支持X86架构终端产品,Google TV;v Lenovo K800等智能手机和平板电脑;v 也支持MIPS架构的智能手机和平板电脑。Android硬件支持(2) Apple公司的iOS设备,iPhone,iPod Touch,iPad均可安装Android,且可以通过双系统启动工具Open iBoot或iDroid来运行Android。 微软公司的Windows Mobile、Windows Phone系列产品也同样可以。 另外Android亦已成功移植到WebOS系统的HP TouchPad以及Meego系统的Nokia N9等终端设备。Android应用程序的开发 对于不同的软
23、件开发包,使用的编程语言也不同。v 在早期的Android应用程序开发中,通常通过在Android SDK中使用Java作为编程语言来开发应用程序。v 开发者亦可以通过在Android NDK (Android Native开发包)中使用C或C+语言来作为编程语言开发应用程序。v 同时Google还推出适合初学者编程使用的Google Simple语言,该语言类似微软公司的Visual Basic语言。v Google还推出Google App Inventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。Android版本VersionCode nameRelease date
24、API levelDistribution2.2FroyoMay 20, 201080.7%2.3.32.3.7GingerbreadFeb. 9, 20111013.6%4.0.34.0.4Ice Cream SandwichDec.16, 20111510.6%4.1.xJelly BeanJul. 9, 20121626.5%4.2.xJelly BeanNov. 13, 20121719.8%4.3Jelly BeanJul. 24, 2013187.9%4.4KitKatOct. 31, 20131920.9%下一代版本:Android L;专用版本:Android WearC/OS
25、 C/OS是Micrium公司专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。v 一种公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统,商业应用需要付费。v 1992 年Jean J. Labrosse 在嵌入式系统编程杂志的5月和6月刊上刊登的文章连载发布,并把C/OS 的源码发布在该杂志的BBS上。 C/OS-III C/OS-III是可升级可固化抢占的基于优先级的实时内核。v 对任务个数无限制。支持现代实时内核的大部分功能,例如:资源管理,同步,任务间的通信等等。v 独有的特色功能,例如:完备的运行时间测量性能,直接发送信号或消息到任务,任务可同时等待多个内核对象等
26、。 C/OS-III 最主要的目标是提供一流的实时内核,以适应快速更新的嵌入式产品。v 使用像C/OS-III 具有雄厚基础和稳定框架的商业实时内核,能够处理日益复杂的嵌入式设计。 第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PSOC)概述 第7节 PSOC5设计流程 第8节 PSOC5结构,功能与器件嵌入式平台(1) 正在开发的集成硬件器件和软件架构的嵌入式平台,能够更好更快创建复杂嵌入式系统。 完整的嵌入式设计平台 v 包括通信接口,
27、数据处理单元,特定的系统 I/O以及集成的系统设计软件。v 与硬件无缝集合,在开发,分析,控制和通讯方面都具有很高的灵活性。嵌入式平台(2) 满足特定嵌入式需求的片上系统(System on Chip - SOC)和系统模块(System on Module - SOM)。v SOC和SOM在封装和模块中包括嵌入式系统所需的所有电路。SOC和SOM包含嵌入式系统的3个主要部分。v 如:视频/音频数字信号处理(Digital Signal Processing - DSP),无线电解决方案,网络解决方案以及在芯片/模块上实现完整的运算平台。v 模块计算机(Computer on Module -
28、 COM)作为特殊SOM,将整个电脑或嵌入式系统集成到独立的设备中。v SOC和SOM常以通用标准设备提供,也可设计成针对某些特定功能的。可重配置的处理架构(1) 先进的嵌入式系统方案中更多采用可编程逻辑(CPL)。嵌入式处理和可编程逻辑(CPL)广泛应用于: v 更快更可靠的I/O响应 v 故障预测和提高安全性的机器监测 v 音频和图像处理 v 无线通信和网络通信 v 对模拟和数字信号的滤波以提供更加准确的测量结果 v 与智能传感器和其它子系统之间的数字通信 v I/O 级的预处理以减小数据传输量 可重配置的处理架构(2)移动设备和云计算(1) 下一代嵌入式系统利用最新的移动设备和云计算技术
29、。 v 移动计算不是新概念。从计算器到Osborne1便携电脑,移动数据,移动运算和移动通讯历经近40年由概念变为现实。 v 科技与创新的完美结合将智能手机从商业工具变为功能完善易用的移动电脑。 移动软件(网络及本地)组成的工程生态系统能够带来更多的扩展并提高手机的通用功能。 目前此领域还没有赢家,移动计算领域还远没有达到类似PC的Win(dows+In)tel的通用架构。 移动设备和云计算(2) 移动科技的另一主要技术是云计算。对嵌入式应用来说,提供优势: v 数据的聚合 若系统的各子系统距离数千公里,可能要考虑云数据存储。 v 获取数据 某些情况下,正在设计的嵌入式系统很难通过直接获得数据
30、。v 减轻运算负担 云计算提供几乎无限的运算资源,单一终端可从需要庞大运算量的软件中解放出来。移动设备和云计算(3) 嵌入式系统安全 v 允许远程控制的嵌入式系统必然会引入一些附加的风险。最严重的就是系统的安全问题。v 安全,从本质上来说,是需要折衷的,越是安全的系统越是需要花费更多的时间和金钱,并会损失一定的简便性。 多平台支持 v 新技术的不断涌现使用对多平台的支持成为一个合理的选择。v 在每一个跨平台的应用中,都会有一些常见的缺点,也会有一些需要考虑的方面。 第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌
31、入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PSOC)概述 第7节 PSOC5设计流程 第8节 PSOC5结构,功能与器件微控制器(MCU) 微控制器(Micro Controller Unit - MCU)v 带有外设的微处理器(Micro Processing Unit - MPU)系统,如:台式电脑的CPU就是1个微处理器(MPU)系统。v 响应来自输入输出(I/O)管脚、定时器、通信模块等的输入,同时对信息进行操作控制产生合适的输出信号。v I/O管脚能读取来自其它设备的按钮和状态信息,也能够输出信号打开灯、运行电机和驱动显示设备。v 定时器、通信模块和数模
32、转换(ADC/DAC)模块能执行特殊任务,如:与PC机通信,读取温度信息等。微控制器(MCU) 微观上说,MCU是集成数量众多电子开关的设备。v 如程序员将复杂操作简化为逻辑和算术运算完成任务,v MCU设计者必须决定使用何种电子设备完成任务,例如:晶体管,场效应管(FET)和二极管等。v MCU在2进制下工作,如:1/0,逻辑高/逻辑低,开/关。 Cypress公司的MCU称为可编程片上系统(Programmable System on Chip - PSoC)v 单芯片上包含MPU内核、足够的模拟子系统和数字子系统资源,实现1个系统时几乎无需外部电路。微控制器(MCU) MPU的CPU通常
33、需要和其它部件相连接,才能使其发挥作用。MPU通常使用的功能部件:v 中央处理单元(Central Processing Unit - CPU)v 高速缓存(Cache)v 随机访问存储器(Random Access Memory- RAM)v 硬盘(Hardware Drive)中央处理器高速缓存随机访问存储器硬盘中央处理单元(CPU) 中央处理单元(Central Processing Unit - CPU)是系统的大脑,如何与各种不同空间的存储器交换信息。v 同时执行逻辑指令,如最基本和最通用:加、减、逻辑或、逻辑与、逻辑异或、移位、移动和复制。v 某些处理器可能执行更加复杂的操作,都是
34、由最基本的操作的组合。 CPU由众多子系统构成,其中最重要的是程序计数器(Program Counter - PC),指令译码器和算术逻辑单元(Arithmetic Logic Unit - ALU)。中央处理单元(CPU) 程序计数器(PC)指向Flash存储器指定地址,返回指令和数据。PC确定送到指令译码器内的Flash中的字段。v 指令译码器包含译码逻辑,对从Flash返回数据进行翻译,确定程序将执行的指令,告诉CPU下一步逻辑操作。 CPU不仅实现运算操作,也修改程序运行的地址。v 若不是顺序执行指令,比如:遇到调转指令,则PC加载新运行指令地址,并从指向Flash新地址位置的地方执行
35、程序。v 若指令需CPU执行一些运算,则相关数据将送到ALU中。 此外,CPU也能根据接收指令对外设进行控制。高速缓存,RAM,硬盘 高速缓存(Cache)v 从位置和访问速度来说,高速缓存最接近CPU。有时将Cache直接与CPU集成在同一芯片或同一封装。 随机访问存储器(Random Access Memory - RAM)v 从CPU访问速度来看,访问RAM比访问Cache要慢。 硬盘(Hardware Drive)v 从速度来看,硬盘是系统中最慢和最大的存储部分。用来保存程序,并由非易失性的存储介质构成。微控制器(MCU)编程语言 任何厂商CPU,无论采用何种结构,均具有共同特点:v
36、依靠程序计数器(PC)来控制程序运行,正基于此,其本质也是串行执行的;v 在2进制状态下工作,也即通常所说的在PC的控制下,运行二进制组成的机器代码,控制CPU各个功能部件的运行。 CPU内各功能部件,完成所要求的操作。机器语言的运行效率是最高的。v 机器语言指令由:操作码和操作数构成。微控制器(MCU)编程语言 操作码告诉CPU所需要执行的操作;v 操作数是执行操作所针对的对象。包括:立即数,寄存器和存储器等,通过访问这些对象来获得所需要操作的对象。 如:对于8051,机器语言指令7D25,表示要实现数据传输操作,7D是操作码,25是操作对象,其表示将十六进制数#25,送到R5寄存器中。 程
37、序员太难理解纯粹意义上的机器语言,为什么?v 程序员是CPU的操作者,不是CPU设计者,根本不可能从2进制代码排列中看出机器语言描述的逻辑操作行为。微控制器(MCU)编程语言 为帮助程序员理解CPU操作,通过汇编语言助记符指令来帮助程序员设计指令来控制CPU的运行。v 汇编语言助记符指令通过汇编器被翻译成机器语言指令。 用汇编助记符描述机器指令的形式:v 标号: 助记符 操作数 ;注释 标号用来表示一行指令 助记符表示所要执行的逻辑操作行为 操作数为逻辑操作行为所操作具体对象微控制器(MCU)编程语言 用汇编语言来描述机器指令7D25:MOV R5, #25v MOV表示数据移动操作,R5表示
38、目标操作数,#25表示源操作数;此汇编指令表示,将立即数25复制到R5寄存器中。 助记符来描述CPU的操作,比机器语言更加容易理解和记忆。v 汇编语言的基础是机器语言,使用汇编语言的程序员必须清楚CPU指令集,寄存器单元和存储器映射等硬件规则。v 其执行效率基本与机器语言一样,但汇编语言编程效率很低。v 不了解CPU内部结构,汇编语言编程并不比使用机器指令好。微控制器(MCU)编程语言 许多软件开发平台支持使用C等高级语言对硬件编程;v C语言不能直接在CPU上运行,必须先通过编译器(Compiler)转换成机器语言,才能在CPU上运行。v 使用高级语言编写的代码运行效率不可能比用汇编语言高,
39、v 若使C语言代码和汇编语言有一样高的执行效率,只能优化C语言代码,或使用C语言和汇编语言混合编程,满足代码长度和运行时间的设计要求。 众多厂商提供硬件的应用程序接口(Application Program Interface - API)函数,无需知道硬件实现细节,只需关心如何编写代码驱动硬件,大大提高程序设计效率。第1章 嵌入式系统与片上可编程系统 第1节 嵌入式系统的应用 第2节 嵌入式处理器的发展 第3节 嵌入式操作系统的发展 第4节 嵌入式系统的展望 第5节 微控制器(MCU)基础 第6节 可编程片上系统(PSOC)概述 第7节 PSOC5设计流程 第8节 PSOC5结构,功能与器件
40、可编程片上系统(PSOC)概述 当今嵌入式处理器无处不在。在过去数十年间:v 市场要求不断地降低嵌入式系统的成本;v 要求嵌入式处理器处理及控制能力不断的提高; 上述推动使得嵌入式处理器的功能变得越来越复杂。v 市场出现越来越多的片上可编程系统,设计者就不会感到奇怪。PSoC在单芯片上集成CPU、模拟和数字子系统。 Cypress公司率先在单芯片上实现完整的模拟和数字系统的集成,其典型产品:PSoC1、PSoC3,PSoC4和PSoC5。PSOC发展概述 PSoC3,PSOC4和PSoC5芯片内部分别集成8051硬核,ARM Cortex-M0和ARM Cortex-M3硬核,受到业界高度关注
41、。v 以PSoC芯片和PSoC Creator软件为代表的硬件设计平台和软件设计工具,引领嵌入式系统设计的发展方向。 PSoC设计方法的核心是以不同的数字和模拟IP(Intellectual Property)核为中心的系统级设计,体现对嵌入式设计者的重基础和宽专业的要求。v PSoC集成度很高,涉及知识面也较宽,即宽专业,要想能完成PSoC设计,要求设计者有良好的基础理论,即重基础。 PSOC嵌入式系统设计 PSoC嵌入式系统设计的优点: v 定制v 降低元件成本v 硬件加速 定制v 使用者能够灵活选择所要连接的外设和控制器。v 使用者能够设计出独一无二的外设,并可直接和总线连接。v 对于非
42、标外设,易于使用PSoC内嵌的通用数字块(Universal Digital Block - UDB)定制非标外设。PSOC嵌入式系统设计 降低元件成本v PSoC的功能多样性,以前需使用很多元件实现的系统,现在可使用PSoC单芯片实现。v 减少设计使用的元件的数量,不但降低元件的成本,而且大大减小电路板的尺寸,提高系统可靠性。 硬件加速v 选择PSoC的重要原因:PSoC能在硬件和软件之间进行折中,使嵌入式系统获得最大的效率和性能。v 使用现代硬件设计工具,易于将软件瓶颈转为硬件处理。 PSOC嵌入式系统设计 PSoC是高度集成的硬件/软件可编程的MCU。在PSoC平台上充满设计的创意。与C
43、ortex-M3在软件和硬件设计上的区别项目项目PSoC5ARM Cortex-M3硬件集成大量软件和硬件可配置的模拟模块。虽有部分模拟模块,但功能简单,不能随意配置。内部根据用户要求可定制IP核。无用户定制IP核功能。 端口功能丰富,可配置模拟/数字功能、驱动能力等。端口功能单一。引脚可以和内部模块任意连接。引脚固定,不能修改引脚和内部模块的连接方式。软件汇编,C语言编程。汇编,C语言编程。预建立/用户定制元件驱动函数自动生成。无元件驱动函数自动生成。PSoC设计背景 嵌入式系统的3个主要模块:v 处理器v 数字(外设和逻辑)v 模拟(用于与传感器和控制器的物理接口) 根据硬件接口要求,由3
44、个模块构成硬件平台。在此硬件设计上构建软件,执行所要求的处理和控制功能。v 按照传统设计方法,一旦定制的软件和硬件开始运行,需要进行修改或更新时,成为令使用者异常痛苦的事情。v 众所周知,这也是一件耗钱和耗时的工作。PSoC设计背景 嵌入式系统设计者需要其设计在市场上超过其竞争对手,快速占领市场。v 市场上的消费电子产品的激烈竞争,彻底明白市场对嵌入式系统设计者的重要性。v 获取市场优势,知识和投资中尽可能重用,即重复使用,降低设计成本和缩短设计周期,这是所有设计者最喜欢的。v 此结构和设计平台是灵活和可扩展的。设计者希望设计工具支持直至出厂前的重要更改。 充分利用工业标准的生态设计,对嵌入式
45、系统设计至关重要。 PSoC设计背景 嵌入式系统设计发展到今天,充分利用众多的嵌入式开发社区和标准工具。v 充分利用资源少走弯路,享受嵌入式设计的乐趣。v 设计归结:较长的设计周期,较高的市场要求变化机率和不同的需求。v 任何设计变化都将导致设计周期延长。 缩短设计周期,拥有财富优势;降低不确定性,获取早期消费者的反馈信息,快速改进产品,成为市场的领导者。 IP核复用 片上系统(SoC)设计在单芯片内部将不同功能的IP核连接在一起,满足不同的应用要求。v 设计规模巨大功能复杂,设计这无法从头开始设计。v 设计中尽可能使用现有模块,无现成模块可以使用时,才需要自行设计新模块。 电子设计自动化(E
46、DA)使用者称现有模块为IP核。源自:v 前1个设计创建的模块v SoC生产厂商的提供v 第3方IP厂商的提供IP核复用 IP核是反复验证的特定功能的宏模块,与芯片制造工艺无关,可移植到不同的半导体工艺中。v SoC的IP核设计是解决方案中非常重要的任务,提供的IP核的资源数目体现厂商实力。PSoC提供的IP核越丰富,用户设计就越方便,其市场占用率就越高。 IP核已成为系统设计的基本单元,并作为独立设计成果被交换、转让和销售。v IP核分为软核、硬核和固核3类。从实现成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用使用性最高。软核 软核在EDA领域指的是综合前的寄存器传输级(RTL)模型
47、;v 在现场可编程门列阵(FPGA)设计中指的是电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。 软核经过功能仿真,需经综合及布局布线才能使用。v 优点是灵活性高、可移植性强,允许用户自配置;v 缺点是其预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。 软核是IP核应用最广泛的形式。固核 固核在EDA领域指的是带有平面规划信息的网表;v 在SoC设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。 将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。v 和软核相比,固核设计灵活性稍差,但可靠性有较大提高。
48、目前,固核也是IP核的主流形式之一。硬核 硬核指经验证的设计版图;在PSoC中指布局和工艺固定、经过前端和后端验证的设计,使用者不能对其修改。v 首先系统设计对各模块的时序要求很严格,不允许打乱已有的物理版图;v 其次保护知识产权要求,不允许使用者对其有任何改动。 IP硬核的不许修改特点使其复用有一定困难,只能用于某些特定应用,使用范围较窄。v 如:PSoC5内部集成ARM Cortex-M3硬核。设计重用 设计重用是非常重要的设计思想,比IP核复用有更高灵活性。v 使得设计方法进入崭新阶段,是众多厂商的最高理想境界。 设计重用非常吸引人,但目前解决方式仅是迫使在项目的另一部分加入定制的开发,
49、不能根本上解决问题。v IP核重用利益最大化的方法是将软件和硬件作为同等地位的合作者,无需使得软硬件的任何一方了解对方的具体实现。 实现此目的的方法是,在定义硬件IP核的时候,也要考虑软件和开发工具,在应用程序和硬件间的接口方便高效,同时,无需深入了解对方。设计重用 很久前提出设计重用作为一个正在完成项目(从时间和预算方面)的必要的部分。v 并不是新思想,目的就是使得设计无需修改(或尽可能少的修改)可在不同平台之间使用。 设计重用至今都没有完全实现, 通常做法v 单纯硬件:MPU核,可重用IP核外设,硬件加速器等;v 软件:实时操作系统(RTOS),协议栈,实时库等等;v 设计复用,而不是全部
50、软件和硬件的复用。设计重用 PSoC Creator软件很好实施设计重用的思想,将其变为现实。v 生成硬件IP时,也同时提供相应所需要的软件API函数,使得设计更容易运行,以更快速度完成,更易维护和便携。 使用HDL开发IP核,对其进行综合、仿真、验证、编写测试平台、编写文档。v 为IP核使用者在开发工具中提供相同工具,当用户在其设计中例化需使用的IP核时,为例化IP核生成相应的API函数。 设计重用 PSoC5由嵌入式处理器(Cortex-M3)、可编程的数字阵列和高精度的模拟资源构成。v PSoC Creator具备设计重用功能,对硬件模块或元件使用API函数封装,简化软件代码开发,同时加