《嵌入式系统设计》教案.docx
- 文档编号:9632157
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:53
- 大小:1.25MB
《嵌入式系统设计》教案.docx
《《嵌入式系统设计》教案.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统设计》教案.docx(53页珍藏版)》请在冰豆网上搜索。
《嵌入式系统设计》教案
嵌入式系统设计教案
课程总学时:
32
讲课学时:
24
实验学时:
8
授课人:
杨词慧
南昌航空大学信息工程学院
1嵌入式系统概述
教学目的:
使学生对嵌入式系统的基本概念和体系结构、嵌入式处理器、嵌入式操作系统、嵌入式系统的历史、应用及发展趋势有一定的了解。
教学重点:
嵌入式系统的基本概念、嵌入式处理器和嵌入式操作系统。
教学难点:
嵌入式系统的体系结构、嵌入式处理器。
教学方法与教学手段:
课堂讲授,多媒体教学。
教学时间:
2课时。
教学内容
1.1嵌入式系统的基本概念
(1)嵌入式系统的定义
先举例说明生活中的各种嵌入式系统设备,如iPhone、小米手机、洗衣机、电压力锅等。
IEEE(国际电气和电子工程师协会)的定义:
嵌入式系统是用于控制、监视或者辅助操作机器和设备的装置(Devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。
微机学会的定义:
嵌入式系统是以嵌入式应用为目的的计算机系统,可分为系统级、板级和片级。
a)系统级:
各种类型的工控机、PC104等模块。
b)板级:
各种类型的带CPU的主板或OEM产品。
c)片级:
各种以单片机、DSP、微处理器为核心的产品。
一般定义:
嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。
(2)嵌入式系统的特点
a)专用、软硬件可剪裁配置。
b)低功耗、高可靠性、高稳定性。
c)软件代码矮小精悍。
d)代码可固化。
e)实时性。
f)弱交互性。
g)软件开发通常需要专门的开发工具、环境和方法。
h)要求开发、设计人员具有较高的技能。
i)具有较长的生命周期。
(3)嵌入式系统的分类
按嵌入式微处理器的位数可分为:
4位、8位、16位、32位和64位。
按实时性能可分为:
非实时系统和实时系统。
按软件结构可分为:
嵌入式单线程系统和嵌入式事件驱动系统。
按应用领域可分为:
信息家电类、消费电子类、医疗电子类、移动终端类、通信类、汽车电子类、工业控制类、航空电子类、军事电子类等。
1.2嵌入式系统的发展历史
(1)以单芯片为核心的可编程控制器形成的系统
1971年11月,Intel推出Intel4004。
随后出现Intel8080/8085、8086、Motorola的6800、68000,Zilog的Z80、Z8000。
以微处理器为核心构成的系统
单板机:
Intel的iSBC系列、Zilog的MCB等
将计算机做在一个芯片上,大部分应用于专业性强的工业控制系统中,没有操作系统的支持,系统结构和功能相对单一,处理效率较低,存储容量较小。
(2)以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统
CPU种类繁多,通用性较弱;系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好。
(3)以嵌入式操作系统为标志的嵌入式系统
嵌入式操作系统可运行于各种不同类型的微处理器上,兼容性好;操作系统内核小,效率高;具备文件和目录管理,支持多任务、网络应用,具备图形窗口和用户界面;有大量的应用程序接口API。
(4)以Internet为标志的嵌入式系统
嵌入式设备与Internet的结合。
1.3
嵌入式系统的体系结构
(1)体系结构
(2)硬件层
●嵌入式处理器:
ARM、DSP、FPGA
●存储器系统:
ROM、FLASH、SDRAM
●中断控制器、DMAC、定时器/计数器、UART、USB控制器、LCD控制器等
●I/O接口:
USB、I2C、SPI、CAN等
(3)中间层
●硬件抽象层(HardwareAbstractionLayer,HAL)。
位于操作系统内核与硬件电路之间的接口层,隐藏硬件接口细节。
●板级支持包(BoardSupportPackage,BSP)。
为上层的驱动程序提供访问硬件设备寄存器的函数包。
●设备驱动程序
1.4嵌入式处理器
(1)嵌入式处理器的分类
中高端的嵌入式微处理器(EmbeddedMicro-ProcessorUnit,EMPU)
低端的微控制器(MicrocontrollerUnit,MCU)
DSP处理器(DigitalSignalProcessor,DSP)
高度集成的片上系统(SystemonChip,SoC)
(2)嵌入式微处理器
由通用计算机中的CPU演变而来,只保留与嵌入式应用紧密相关的功能硬件,在工作温度、抗电磁干扰、可靠性、功耗等方面做了各种增强。
主要的嵌入式处理器类型:
ARM、MIPS、PowerPC、68000系列等。
特点
a)在设计中考虑低功耗。
b)采用可扩展的处理器结构。
处理器内部留有很多扩展接口。
c)具有很强的存储区保护功能。
d)提供丰富的调试功能。
e)对实时任务具有很强的支持能力。
(3)微控制器
俗称单片机,将整个计算机系统集成到一块芯片中。
以一种微处理器为核心,芯片内部集成Flash、RAM、总线逻辑、定时器/计数器、I/O口、串行口、PWM、A/D、D/A等。
最早的单片机:
1976年,Intel的8048,Motorola的68HC05、Zilog公司的Z80.
(4)DSP处理器
对系统结构和指令进行了特殊设计,使其适合DSP算法
高效乘累加运算、超标量操作、指令流水线
高效数据存取、硬件重复循环
确定性操作(程序执行时间可预测)
应用场合:
音视频编解码、数字滤波、FFT等
(5)片上系统
将整个系统做在一个芯片上
优点
a)通过改变内部工作电压,降低芯片功耗
b)减少芯片对外的引脚数,简化制造过程
c)减少外围驱动接口单元及电路板之间的信号传递,加快微处理器数据处理的速度
d)内嵌线路可避免信号传递时所造成的系统杂讯
联发科推出28nm双核处理器MT6572
a)代号武松,基于Cortex-A7架构
b)主频为1.2GHz
c)处理器上整合了Wi-Fi、FM收音机、GPS以及蓝牙四种功能
d)支持500万像素摄像头
(6)嵌入式处理器的发展趋势
a)内部结构
SoC设计,与DSP、Flash、FPGA融合;性能更强,集成更多的功能部件;双核或多核结构
b)功耗更低
c)可靠性更高
d)支持ISP、ISD
1.5嵌入式操作系统
(1)操作系统的概念及功能
操作系统。
是一组计算机程序的集合,用来有效地控制和管理计算机的硬件和软件资源,并为用户提供方便的应用接口。
功能:
处理器管理;存储器管理;设备管理;文件管理;用户接口
(2)操作系统的分类
按程序调度的方法分为
●顺序操作系统。
只含一个运行程序,独占CPU时间,顺序执行。
如DOS系统。
●分时操作系统。
系统内同时有多道程序运行。
如Unix系统。
●实时操作系统。
从应用角度,嵌入式操作系统可分为
●面向低端信息家电
●面向高端信息家电
●面向个人通信终端
●面向通信设备
●面向汽车电子
●面向工业控制
从实时性的角度,嵌入式操作系统可分为
●具有强实时特点的嵌入式操作系统
●具有弱实时特点的嵌入式操作系统
●没有实时特点的嵌入式操作系统
(3)实时操作系统(RTOS)
是具有实时性且能支持实时控制系统工作的操作系统,首要任务是调度一切可利用的资源来完成控制任务。
对现场不停监测,一旦有事件发生能立即处理。
与通用OS的区别:
实时性,代码尺寸小。
一般包括以下几个重要组成部分:
●实时内核:
任务管理、定时器管理、存储器管理、任务间通信与同步等。
●网络组件
●文件系统
●图形用户界面
IEEE的Unix委员会规定了实时操作系统须具备以下几个特点:
●支持异步事件的响应。
●中断和调度任务的优先机制。
●支持指令性计划占式调度。
●支持同步。
(4)常见的嵌入式操作系统
嵌入式Linux
●实时的嵌入式Linux:
如RT-Linux、KURT-Linux等。
RT-Linux将通常的Linux任务优先级设为最低。
●一般的嵌入式Linux:
如μCLinux。
●开源,内核小、效率高,可定制
μC/OS和μC/OS-II
●μC/OS-II(MicroControllerOperatingSystem)是由JeanJ.Labrosse开发的实时操作系统内核。
●已被移植到Intel、ARM、Motorola等公司的81种不同的处理器上。
●Labrosse用一年时间开发了μC/OS实时操作系统;1992年在《EmbeddedSystemProgramming》上发表介绍文章,并公布源代码;1993年写了《μC/OS,TheReal-TimeKernel》;书及源码推动了μC/OS-II的发展。
●μC/OS-II只是一个实时操作系统的内核,全部核心代码只有8.3KB。
●只包含进程调度、时钟管理、内存管理和进程间的通信与同步等基本功能。
WindowsCE
●多线程、完整优先权、多任务的32位嵌入式操作系统。
●基本内核大小至少为200KB。
VxWorks
●美国WindRiver公司于1983年设计
●是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。
●拥有良好的持续发展能力和高性能的内核及友好的用户开发环境。
●支持多种处理器,如ARM、x86、i960、SunSparc、MIPSRX000、PowerPC、StrongARM等。
●以良好的可靠性和实时性,广泛应用在通信、军事、航空、航天等领域。
●应用案例:
美国F-16、FA-18战斗机,B-2隐形轰炸机,“爱国者”导弹,1997年4月在火星登陆的火星探测器。
PalmOS
●32位嵌入式操作系统,由3Com公司的PalmComputing部门开发。
●在掌上电脑和PDA市场上占有很大的市场份额,曾占据90%的PDA市场份额。
●2010年04月29日惠普12亿美元收购Palm
QNX
●一个实时、可扩充的操作系统。
●部分遵循POSIX(可移植操作系统接口)相关标准。
●内核仅提供4种服务:
进程调度、进程间通信、底层网络通信和中断处理。
●内核非常小巧(QNX4.X约为12KB),运行速度极快。
iOS
●苹果推出,基于Darwin
●最新:
iOS8
Android
●Google开发的基于Linux平台的开源手机操作系统
DeltaOS
●是电子科技大学实时系统教研室和北京科银京成技术有限公司联合研制并开发的全中文嵌入式操作系统。
●绝大部分代码由C语言编写。
●已成功应用于通信、网络、信息家电等多个应用领域。
pSOS
ISI公司研发的产品。
模块化、高性能、完全可扩展。
1.6嵌入式系统的应用及发展趋势
(1)嵌入式系统的应用领域
●消费电子领域
●通信网络领域
●工业控制领域、机器人领域
●交通管理与汽车电子领域
●国防与航空航天领域
●医疗仪器领域
(2)嵌入式系统的发展趋势
●小型化、智能化、网络化、可视化
●多核技术的应用
●低功耗、绿色环保
●云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统中
●嵌入式系统软件将逐渐PC化
●融合趋势
⏹微控制器MCU与SoC的结合
⏹微控制器MCU与DSP的结合
⏹ARM与DSP的结合
⏹微控制器MCU与CPLD/FPGA的结合
●安全性
2
ARM体系结构
教学目的:
使学生对ARM设计思想、ARM处理器系列、ARM体系结构、ARM处理器模式、ARM内部寄存器、ARM体系的存储系统有一定的了解。
教学重点:
ARM设计思想、ARM体系结构、ARM处理器模式、ARM内部寄存器。
教学难点:
ARM处理器模式、ARM内部寄存器。
教学方法与教学手段:
课堂讲授,多媒体教学。
教学时间:
4课时。
教学内容
2.1ARM设计思想
(1)RISC
传统的CISC(ComplexInstructionSetComputing)指令集中,约20%指令占整个程序代码的80%。
RISC(ReducedInstructionSetComputing)是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。
RISC设计重点在于降低硬件执行指令的复杂度,而传统的CISC更侧重于硬件执行指令的功能性,使CISC指令变得复杂。
(2)RISC设计思想的实现
●指令集。
减少了指令种类,指令只实现简单的功能,指令长度固定。
●流水线。
指令的处理过程被拆分成几个更小的、能够被流水线并行执行的单元。
●寄存器。
更多通用寄存器,可存数据和地址,可为所有数据操作提供快速的局部存储访问。
●load-store结构。
处理器只处理寄存器中数据,用load和store指令完成寄存器和外存间的数据传送
(3)ARM的设计思想
●较小的核。
降低功耗
●高的代码密度。
考虑成本和物理尺寸限制
●较小的处理器内核管芯(Die)面积。
留给外设电路的空间较大
●硬件调试技术
(4)ARM微处理器的特点
●体积小,功耗低,成本低,性能高;
●支持Thumb/ARM指令集,兼容8/16位器件;
●大量使用寄存器,指令执行速度更快;
●大多数数据操作都在寄存器中完成;
●寻址方式灵活简单,执行效率高;
●指令长度固定。
2.2ARM体系结构分析
(1)包含典型的RISC体系结构特征
●统一寄存器文件加载/存储体系结构,数据处理操作只针对寄存器内容;
●简单寻址模式,所有加载/存储地址只通过寄存器内容和指令字段确定。
●指令长度固定,简化了指令译码。
(2)还提供
●可组合使用转换与算术或逻辑运算指令
●自动递增和自动递减寻址模式,可优化程序循环
●加载存储多个指令以最大化数据吞吐量
●几乎所有指令都采取条件执行的方式
(3)普林斯顿结构和哈佛结构
普林斯顿结构:
也称冯·诺伊曼结构,它将程序指令存储器和数据存储器合并在一起的存储结构。
ARM7系列基于普林斯顿结构。
哈佛结构:
将程序指令存储和数据存储分开的存储结构。
ARM9系列之后都基于哈佛结构。
(4)流水线
ARM7的三级流水线在执行单元完成了大量的工作,执行单元的工作往往占用多个时钟周期,从而成为系统性能的瓶颈。
ARM9采用哈佛架构,避免了数据访问了取指的总路线冲突,采用五级流水线设计。
五级流水线技术把三级流水线中的执行单元进一步细化,减少了在每个时钟周期内必须完成的工作量,进而允许使用较高的时钟频率。
无论三级流水线还是五级流水线,在以下情况下都会发生阻塞:
●多周期指令、跳转分支指令
●中断发生
●
相邻指令之间的寄存器冲突:
如果当前指令(A)的目的操作数寄存器和下一条指令(B)的源操作数寄存器一致,B指令就需要等A回写之后才能译码。
(5)ARM体系结构的版本
2.3ARM处理器系列
(1)ARM处理器系列
●经典ARM处理器:
ARM7、ARM9、ARM10、ARM11
●Cortex-A系列处理器:
Cortex-A15、Cortex-A9、Cortex-A8、Cortex-A7、Cortex-A5
●Cortex-R系列处理器:
Cortex-R7、Cortex-R5、Cortex-R4
●Cortex-M系列处理器:
Cortex-M4、Cortex-M3、Cortex-M1、Cortex-M0+、Cortex-M0、CMSDK、CMSIS
●SecurCore处理器
(2)
ARM内核版本命名规则
(3)ARM7系列微处理器
a)主要特点
●最高主频:
130MIPS(MillionInstructionsPerSecond);
●功耗低;
●代码密度高,兼容16位的微处理器;
●可得到广泛的操作系统和实时操作系统支持;
●众多的开发工具,优秀的调试机制;
●采用3级流水线结构;
●提供0.25μm、0.18μm和0.13μm的生产工艺。
b)冯·诺伊曼结构:
数据和指令使用同一条总线。
c)包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T四种类型,适用于不同的市场要求
d)ARM7TDMI
●ARM公司最早为业界普遍认可并广泛应用的处理器核。
●T:
Thumb;D:
Debug;M:
Multiplier;I:
EmbeddedICElogic。
e)ARM7TDMI-S
●是ARM7TDMI的可综合(synthesizable)版本(软核)。
●ARM以“软”核的方式把ARM7TDMI核授权给处理器厂商,处理器厂商可进行修改和综合。
这就是ARM7TDMI-S。
●综合出的整个核比“硬”核大50%,电源效率降低50%。
f)ARM7EJ-S
●是可综合的、带有增强型DSP(E变种)和Java加速功能(J变种)的32位RISC嵌入式处理器。
●主要用于数字音频播放器、带Java功能的无线手持设备、喷墨打印机、数码相机和PDA等方面。
g)ARM720T
●专为使用WindowsCE、SymbianOS操作系统平台设计。
●主要用于数字音频播放器、喷墨打印机和数码相机等。
(4)ARM9系列微处理器
a)主要特点
●5级整数流水线;
●单一的32位AMBA(AdvancedMicrocontrollerBusArchitecture)总线接口;
●MMU支持WindowsCE、SymbianOS、Linux等;
●支持实时操作系统,包括VxWorks;
●统一的数据Cache和指令Cache;
●提供0.25μm、0.18μm和0.13μm的生产工艺。
b)包括ARM9TDMI、ARM920T、ARM940T和ARM9E四种类型。
后三种含有Cache。
c)采用Harvard体系结构
●指令与数据分开存储。
●采用指令快存和数据快存。
d)在相同工艺条件下,ARM9TDMI的处理能力是ARM7TDMI的两倍。
e)ARM920T
●MotorolaMC9328MX1和SamsungS3C2410X处理器都采用ARM920T核心。
●主要应用于通信终端、3G基带和应用处理器、基于OS的平台设备、数码相机、音频/视频解码和机顶盒等。
f)ARM940T
●与ARM920T相比,实现了一个更小的D-Cache、I-Cache和MPU。
适于不需运行操作系统的平台。
g)ARM9E
●使用单一的处理器核,提供微控制器、DSP、Java应用系统的解决方案;
●DSP指令集;
●在0.13μm工艺下,主频可达300MIPS的性能;
●集成实时跟踪调试功能;
●可选的VFP9浮点处理协处理器;
●高性能的AHB(AdvancedHighperformanceBus)。
(5)ARM10系列微处理器
a)主要特点
●6级流水线;
●在典型的0.13μm工艺下,主频可达400MIPS的性能;
●单一的32位AMBA总线接口;
●MMU支持WindowsCE、SymbianOS、Linux等;
●统一的数据Cache和指令Cache;
●提供0.25μm、0.18μm和0.13μm的生产工艺;
●并行读取/写入部件。
b)包括:
ARM1020、ARM10200、ARM1020E、ARM1022E、ARM1026EJ-S。
c)使用ARM10TDMI处理器核,采用ARMv5T结构。
d)ARM10TDMI
●在相同工艺条件下,处理能力是ARM9TDMI的两倍;
●采用提高时钟频率、6级流水线、转移预测逻辑、64位存储器和无阻塞的存/取逻辑等措施提升性能。
e)ARM10E。
新节能模式,64位Load/Store体系,与ARM10TDMI相比具有的特点
●DSP指令集;
●可选的VFP10浮点处理协处理器;
●在实时控制和三维图像处理时,主频可达650MFLPS(百万次浮点运算每秒)。
(6)ARM11系列微处理器
●ARM1156T2-S内核、ARM1156T2F-S内核、ARM1176JZ-S内核和ARM11JZF-S内核
●ARM1156T2-S内核和ARM1156T2F-S内核
●基于ARMv6指令集体系结构;
●是首批含有ARMThumb-2内核技术的产品。
(7)Cortex-A系列微处理器
●适于高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用领域。
●支持传统ARM、Thumb指令集和新的高性能紧凑型Thumb-2指令集。
●移动互联网的支持
⏹低功率设计,支持AdobeFlash10.1
⏹高性能NEON引擎,广泛支持媒体编解码器
●高性能
⏹Cortex-A15:
为新一代移动基础结构应用和无线基础结构应用提供高性能的解决方案。
⏹Cortex-A9。
800MHz-2GHz的频率,作单核处理器或1-4核多核合成处理器,每内核可提供5000DMIPS的性能。
⏹Cortex-A8。
单核解决方案,可提供经济有效的高性能,在600MHz-1GHz的频率下,提供的性能超过2000DMIPS。
⏹Cortex-A5低成本实现,在400-800MHz的频率下,提供的性能超过1200DMIPS,是尺寸最小、功耗最低的ARM多核处理器。
●多核技术:
Cortex-A15、Cortex-A5和Cortex-A9处理器都支持ARM第二代多核技术。
●高级扩展
⏹Thumb-2,提供最佳代码大小和性能。
⏹TrustZone,安全扩展,提供可信计算。
⏹Jazelle技术,提高执行环境(如Java、.Net、MSIL、Python和Perl)速度。
(8)Cortex-R系列微处理器
●为具有严格的实时响应限制的深层嵌入式系统提供高性能计算解决方案。
⏹快速。
以高时钟频率获得高处理性能。
⏹确定性。
处理在所有场合都必须符合硬实时限制。
⏹安全。
系统必须可靠且可信。
⏹成本效益。
在处理器及其内存系统中都具有竞争力的成本和功耗。
●应用领域
⏹智能手机
⏹企业系统:
硬盘驱动器、联网和打印
⏹消费电子:
机顶盒、数字电视和播放器
⏹医疗行业、工业和汽车行业的可靠系统
●功能集
(9)Cortex-M系列微处理器
●向上兼容的高能效、易于使用的处理器
●针对成本和功耗敏感的MCU和终端应用的混合信号设备进行过优化。
●更低的功耗,更长的电池寿命。
●
高密度指令集,更小的代码,更低的硅成本。
(10)SecurCore系列微处理器
●为安全要求较高应用设计。
智能卡
⏹SIM、ID、银行业、付费电视、公共交通、电子政务
2.4ARM处理器模式
(1)32位ARM处理器工作状态
32位ARM处理器有三种工作状态
●ARM状态。
对应32位ARM指令集
●Thumb状态。
对应16位Thumb指令集
●Jazelle状态。
对应8位的Jazelle指令集
用于在处理器指令层次对JAVA加速
只有进入特定的状态,相应的指令集才有效。
CPSR的J(Jazelle)和T(Thumb)位反映程序的状态。
Thumb-2
●与现有ARM和Thumb解决方案向后兼容,同时扩展了Thumb指令集的可用功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统设计 嵌入式 系统 设计 教案