嵌入式硬件系统
嵌入式硬件系统
教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社
嵌入式硬件系统的基本组成
嵌入式微处理器(核心)
体系结构
可采用冯•诺依曼(Von Neumann)结构或哈佛(Harvard)结构
冯•诺依曼结构
指令和数据存放在 同一存储空间 中,统一编址
指令和数据通过同一条总线访问
哈佛结构
程序和数据存储在 不同 的存储空间中,独立编制、独立访问
设置两条总线(程序总线和数据总线),从而使数据的吞吐率提高了一倍
指令系统
可采用精简指令集系统RISC(Reduced Instruction Set Computer)或复杂指令集系统CISC(Complex Instruction Set Computer)
按用途分为嵌入式DSP和通用的嵌入式微处理器
为满足应用领域的需要,嵌入式微处理器的指令集一般要针对特定领域的应用进行 剪裁和扩充
嵌入式微处理器特点
基础是通用的微处理器 ,具有体积小、质量轻、成本低、功耗低、集成度高、工作温度宽、抗电磁干扰、可靠性高等特性
集成度
嵌入式微处理器是 面向应用 的,其片内所包含的 组件的数目和种类 是由它的市场定位决定的
体系结构
算术格式(Arithmetic Format)
由于低成本和低功耗的限制,大多数的嵌入式微处理器使用 定点运算 ;采用 软件模拟 的方式实现浮点运算,会占用更多的处理器时间
功能单元(Functional Units)
通常包括不止一个的功能单元,典型的是包含一个ALU、移位器和MAC,处理器通常用一条指令完成乘法操作
流水线(Pipeline)
通常采用 单周期执行指令 ,可能导致比较长的流水线
指令集
为满足应用领域的需要,嵌入式微处理器的指令集一般要针对特定领域的应用进行 剪裁和扩充
性能
低端(低价、低性能)
应用在对性能要求不高但对价格和功耗有严格要求的应用系统中
中端(低功耗)
可达到较好的性能(如150MIPS 左右),采用增加时钟频率、加深流水深度、增加Cache及一些额外的功能块来提高性能,并保持低功耗
高端
用于高强度计算的应用,使用单指令执行乘法操作、每个周期执行多条指令、多处理器来达到更高的并行度
功耗和管理
大多数嵌入式系统有功耗的限制(特别是电池供电的系统),它们不支持使用风扇和其他冷却设备
采用降低工作电压、提供不同的时钟频率、关闭暂时不使用的功能块来降低功耗
成本
处理器的价格的影响因素
- 处理器的特点:功能块的数目、总线类型等
- 片上存储器的大小
- 芯片的引脚数和封装形式:如 PQFP(Plastic Quad Flat Package) 通常比 BGA(Ball Grid Array Package) 便宜
- 芯片大小(die size):取决于制造的工艺水平
- 代码密度(code density):代码存储器的大小将影响价格,不同种类的处理器结构(CISC/RISC/ VLIW )有不同的代码密度
主流的嵌入式微处理器
ARM系列
- ARM(Advanced RISC Machine) 公司是一家专门从事芯片IP设计与授权业务的英国公司
- ARM 内核是一种32位RISC微处理器,具有功耗低、性价比高、代码密度高等三大特色
- ARM 公司提供 CPU 内核的设计,然后授权给芯片厂商进行二次设计及生产
MIPS系列
- 无互锁流水级的微处理器 (Microprocessor without interlocked piped stages)
- MIPS处理器是由斯坦福(Stanford)大学John Hennery教授领导的研究小组研制出来的
- 1984年MIPS计算机公司成立,和ARM公司一样,MIPS公司本身并不从事芯片的生产活动(只进行设计)
PowerPC系列
主要应用在通信、消费电子及工业控制、军用装备等领域
Super H系列等
由瑞萨科技公司(Renesas Technology Corp)开发的用于高性能价格比、小型化和高性能功耗比(MIPS/W)的嵌入式RISC处理器
嵌入式系统总线
总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道
按相对于CPU的位置划分
片内总线:连接CPU内部各主要功能部件(其选择取决于CPU Core)
片外总线:CPU与存储器(RAM和ROM)和I/O接口之间进行信息交换的通道(其选择取决于应用)
按功能划分
数据总线、地址总线、控制总线
主要参数
总线宽度
又称总线位宽,指的是总线能同时传送数据的位数。如16位总线就是具有16位数据传送能力
总线频率
总线工作速度的一个重要参数,工作频率越高,速度越快
通常单位为 MHz
总线带宽
又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量
总线带宽越宽,传输率越高。通常单位为 MB/s
总线带宽 = (总线宽度 / 8) × 总线频率
一个微处理器系统可能含有多条总线,通过 桥 互连
AMBA 总线
AMBA(Advanced Microcontroller Bus Architecture)是 ARM 公司研发的一种总线规范,目前为3.0 版本
在AMBA总线规范中,定义了3种总线:
AHB(Advanced High-performance Bus)
高级高性能总线,用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作
ASB(Advanced System Bus)
高级系统总线,也用于高性能系统模块的连接,支持突发模式数据传输,后来由AHB总线替代
APB(Advanced Peripheral Bus)
高级外设总线,用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线
嵌入式存储系统
嵌入式系统的存储结构
高速缓存 Cache
高速缓冲存储器中存放的是当前使用得最多的程序代码和数据,即主存中部分内容的副本
在嵌入式系统中 Cache 全部都集成在嵌入式微处理器内
可分为数据 Cache、指令 Cache 或混合 Cache
不同的处理器其 Cache 的大小不一样
一般32位的嵌入式微处理器都内置 Cache
写入方法
通写 (Write Through)
写Cache时,Cache与对应内存内容同步更新
回写 (Write Back)
写Cache时,只有写入Cache内容移出时才更新对应内存内容
主存
大多数嵌入式系统的 代码和数据 都存储在处理器可 直接访问 的存储空间即主存中
嵌入式系统的主存可位于 SoC 内和 SoC 外,片内存储器存储容量小、速度快,片外存储器容量大
主存储器的特点是速度快,可以做主存的存储器有:
ROM类:Nor Flash、EPROM、E2PROM、PROM等
RAM类:SRAM、DRAM、SDRAM等
外存
外存是处理器 不能直接访问 的存储器,用来存放各种信息
相对主存而言具有价格低、容量大的特点
嵌入式系统中除部分采用硬盘外,大多数采用电子盘做外存
在嵌入式系统中常用的外存有:
NandFlash、DOC(Disk On Chip)、CF(Compact Flash)、SD(Secure Digital)、MMC(Multi MediaCard)等
NandFlash 和 Nor Flash
NandFlash 是Flash Memory(快闪存储器或快速擦写存储器)的一种
NandFlash 可独立成为外存,也可组成其他各种类型的电子盘如USB盘、CF、SD和MMC存储卡等
NandFlash 的基本操作包括读、写、块擦除、读相关寄存器、器件复位等
NandFlash 具有容量大、读写速度快、芯片面积小等特点,主要用于外存
Nor Flash 具有随机存储速度快、电压低、功耗低、稳定性高等特点,主要用于主存
输入/输出接口和设备组成
- 嵌入式系统的大多数输入/输出接口和部分设备已经与嵌入式微处理器集成在一起
- 输入/输出接口主要包括–中断控制器、DMA、串行和并行接口
- 设备主要有定时器(Timers)、计数器(counters)、看门狗(watchdog timers)、RTC(实时时钟)、UARTs、PWM(Pulse width modulator)、AD/DA、显示器、键盘和网络等
- ARM CPU的I/O端口是存储器映射的编制方式,对I/O端口的访问与对内存的访问方式一样