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