Upload
maili
View
187
Download
0
Embed Size (px)
DESCRIPTION
C H A P T E R. 2. 嵌入式硬件基础. 本节提要. 1. 嵌入式系统硬件基础. 2. 嵌入式系统开发环境. 3. 嵌入式系统硬件开发流程. 4. 芯片封装知识简介. 如人的大脑,决定了硬件的操作模式。通过良好的操作系统以及应用程序,把硬件功能发挥到极至。. 嵌入式系统软件部分. 如人的手、脚、神经等部位,决定了嵌入式系统的先天功能。如运算能力和 I/O 接口等。. 嵌入式系统硬件部分. 嵌入式系统硬件基础. RISC 和 CISC 冯 · 诺依曼体系结构和哈佛体系结构 流水线 嵌入式微处理器体系结果 总线 - PowerPoint PPT Presentation
Citation preview
2C H A P T E R
嵌入式硬件基础
本节提要
1111
3333
2222
4444
嵌入式系统硬件基础
嵌入式系统开发环境
嵌入式系统硬件开发流程
芯片封装知识简介
嵌入式系统硬件部分
嵌入式系统软件部分
如人的大脑,决定了硬件的操作模式。通过良好的操作系统以及应用程序,把硬件功能发挥到极至。
如人的手、脚、神经等部位,决定了嵌入式系统的先天功能。如运算能力和 I/O 接口等。
RISC 和 CISC 冯·诺依曼体系结构和哈佛体系结构 流水线 嵌入式微处理器体系结果 总线 高速输入输出接口 输入输出设备 存储器
嵌入式系统硬件基础
CISC 和 RISCCISC :复杂指令集( Complex Instruction Set Computer)
具有大量的指令和寻址方式,指令长度可变
8/2 原则: 80% 的程序只使用 20% 的指令
大多数程序只使用少量的指令就能够运行。
RISC :精简指令集( Reduced Instruction Set Computer)
只包含最有用的指令,指令长度固定
确保数据通道快速执行每一条指令
使 CPU 硬件结构设计变得更为简单
CISC 与 RISC 的数据通道
IF ID REG ALU MEM开始 退出
IF ID ALU MEM REG
微操作通道
开始 退出
单通数据通道
RISC : Load/Store 结构
CISC :寻址方式复杂
CISC 的背景和特点 背景 : 存储资源紧缺 , 强调编译优化 增强指令功能,设置一些功能复杂的指令,
把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统来实现
为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少
寻址方式复杂多样,操作数可来自寄存器,也可来自存储器
采用微程序控制,执行每条指令均需完成一个微指令序列
CPI > 5,指令越复杂, CPI 越大。
CISC 的主要缺点 指令使用频度不均衡。
高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。
大量复杂指令的控制逻辑不规整,不适于 VLSI 工艺 VLSI 的出现,使单芯片处理机希望采用规整的硬联逻辑
实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。 ( 微码的存控速度比 CPU 慢 5-10 倍 ) 。
软硬功能分配 复杂指令增加硬件的复杂度,使指令执行周期大大加长,
直接访存次数增多,数据重复利用率低。 不利于先进指令级并行技术的采用
流水线技术
RISC 基本设计思想 减小 CPI: CPUtime=Instr_Count * CPI * Clock_cy
cle 精简指令集:保留最基本的 , 去掉复杂、使用频
度不高的指令 采用 Load/Store 结构,有助于减少指令格式,
统一存储器访问方式 采用硬接线控制代替微程序控制
RISC: 减少指令平均执行周期数 CPUtime= Instr_Count *CPI * Clock_cycle
ICRISC > IC CISC, 30%---40%
CCRISC < CCCISC
CPIRISC < CPICISC , 20% 超标量、超流水线、 VLIW 等系统结构, 目
标在于减小 CPI , 可使 CPI<1
RISC 的提出与发展 Load/Store 结构提出: CDC6600(1963)--CRAY1(19
76) RISC 思想最早在 IBM 公司提出,但不叫 RISC , I
BM801 处理器是公认体现 RISC 思想的机器。 1980 年, Berkeley 的 Patterson 和 Dizel 提出 RISC
名词,并研制了 RISC-, 实验样机。 1981 年 Stenford 的 Hennessy 研制 MIPS 芯片。 85 年后推出商品化 RISC: MIPS1(1986) 和 SPARC
V1(1987)
典型的高性能 RISC 处理器 SUN 公司的 SPARC(1987)
MIPS 公司的 SGI:MIPS(1986)
HP 公司的 PA-RISC,
IBM, Motorola 公司的 PowerPC
DEC 、 Compac 公司的 Alpha AXP
IBM 的 RS6000(1990)第一台 Superscalar RISC 机
CISC 与 RISC 的对比类别 CISC RISC
指令系统 指令数量很多 较少,通常少于 100执行时间 有些指令执行时间很长,如
整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器
没有较长执行时间的指令
编码长度 编码长度可变, 1-15 字节 编码长度固定,通常为 4个字节
寻址方式 寻址方式多样 简单寻址操作 可以对存储器和寄存器进行
算术和逻辑操作只能对寄存器对行算术和逻辑操作, Load/Store 体系结构
编译 难以用优化编译器生成高效的目标代码程序
采用优化编译技术,生成高效的目标代码程序
冯 ·诺依曼体系结构
冯 ·诺依曼体系结构
指令寄存器
控制器
数据通道输入 输出
中央处理器
存储器
程序
指令 0指令 1指令 2指令 3指令 4
数据
数据 0数据 1数据 2
哈佛体系结构
指令寄存器
控制器
数据通道输入 输出
CPU
程序存储器
指令 0指令 1指令 2
数据存储器
数据 0数据 1数据 2
地址
指令
地址
数据
流水线技术流水线 (Pipeline) 技术:几个指令可以并行执行
• 提高了 CPU 的运行效率• 内部信息流要求通畅流动
译码取指 执行 add
译码取指 执行 sub
译码取指 执行 cmp
时间
Add
Sub
Cmp
指令流水线—以 ARM 为例 为增加处理器指令流的速度, ARM7 系列使用 3级流水线 .
允许多个操作同时处理,比逐条指令执行要快。
PC 指向正被取指的指令,而非正在执行的指令
Fetch
Decode
Execute
从存储器中读取指令
解码指令
寄存器读(从寄存器 Bank )移位及 ALU 操作寄存器写(到寄存器 Bank )
PC PC
PC - 4 PC-2
PC - 8 PC - 4
ARM Thumb
最佳流水线
该例中用 6个时钟周期执行了 6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
操作
周期 1 2 3 4 5 6
ADD
SUB
MOV
AND
ORR
EOR
CMP
RSB
Fetch Decode Execute
Fetch Decode Execute
Fetch Decode Execute
Fetch Decode Execute
Fetch Decode Execute
Decode Execute
Fetch Decode
Fetch
Fetch
LDR 流水线举例
该例中,用 6周期执行了 4条指令 指令周期数 (CPI) = 1.5
周期 操作
1 2 3 4 5 6
ADD
SUB
LDR
MOV
AND
ORR
Fetch Decode Execute
Fetch Decode Execute
Fetch Decode Execute Data Writeback
Fetch Decode Execute
Fetch Decode
Fetch
分支流水线举例
流水线被阻断 注意 :内核运行在 ARM 状态
周期 1 2 3 4 5
0x8000 BL
0x8004 X
0x8008 XX
0x8FEC ADD
0x8FF0 SUB
0x8FF4 MOV
地址 操作
Fetch Decode Execute
Fetch Decode Execute
Fetch Decode
Fetch
Fetch Decode Execute Linkret Adjust
Fetch Decode
Fetch
超标量执行超标量 (Superscalar) 执行:超标量 CPU 采用多条流水线结构
执行 1
取指
指令
译码 2
译码 1
执行 2
执行 1
取指
译码 2
译码 1
执行 2
流水线1
流水线2
数据回写
高速缓存( CACHE )1 、为什么采用高速缓存
微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。
2、高速缓存的工作原理
高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。
CPU
高速缓存控制器
CACHE
主存
数据
数据
地址
总线和总线桥
CPU 低速设备
桥
数据
高速总线
存储器 高速设备 键盘
低速总线
ARM 公司提出的 AMBA总线标准
嵌入式处理器体系结构 按体系结构的不同可分为五大类
ARM MIPS POWER PC X86 SH 系列
EMBEDDED MICROPROCESSOR UNIT(EMPU)
MIPS RISC SH/HP RISCARM RISC X86POWER PC
AR
Mx
AR
Mxx
Str
on
gA
RM
XS
cale
AR
M7
AR
M9
AR
M9E
AR
M10
E
AR
M11
32 B
it
64 B
it
M4K
4Kx
Pro
24K
5Kx
20K
c
SH
1
SH
2
SH
3
SH
4
SH
5
186/
386/
486
Mo
toro
la
IBM
603e
e300
e500
PP
C40
5
PP
C44
0
32 B
it
64 B
it
Inte
l
AM
D
VIA
Tra
nsm
eta
Geo
de
Neh
emia
h
Eff
iceo
n
ARM 公司的 ARM RISC 处理器 ARM 7 Thumb 家族 ARM 9 Thumb 家族 ARM 10 Thumb 家族 ARM 11 Thumb 家族
Intel StrongARM
StrongARM 110 StrongARM 1100 StrongARM 1110 StrongARM 1111
INTEL 的 Xscale架构处理器• 基于 ARM V5TE 体系结构• 兼容 ARM V5TE ISA 指令集(不支持浮点
指令集)• 在处理器内核周围提供了
• 指令和数据存储器管理单元• 指令、数据和微小数据缓存• 写缓冲、挂起缓冲和分支目标缓冲器• 电源管理• 性能监控• 调试• JTAG 单元以及协处理器接口• MAC协处理器• 内核存储总线
MIPS
从 1986 年推出 R2000 处理器以来, MIPS陆续推出 R3000 、 R4000 、 R8000 等。
之后 ,MIPS 公司的战略发生变化,把重点放在嵌入式系统。
1999 年, MIPS 公司发布了 MIPS32 和 MIPS64 体系结构标准,集成了原来所有的 MIPS 指令集,并且增加了许多更强大的功能。
此后 MIPS 公司又陆续开发了高性能、低功耗的 32位和 64 位处理器内核。
MIPS RISC
MIPS
在MIPS 的 32位内核中 4K系列对应于 SOC 应用设计; M4K系列内核是为在下一代消费电子、网络、宽带应用中越
来越受欢迎的多 CPU SOC所设计; 4KE系列具有目前 32位通用嵌入式处理器中最高的 DMIPS/MHz 性能指标;
4KS 系列由于采用了特殊的 SmartMIPS 体系结构,特别适用于需要安全数据传输的领域,比如网络、智能卡等;
5K和 20Kc系列属于MIPS 的 64位内核 5K能提供 1.4DMIPS/MHz的性能以及最低 350MHz的运行
速率。 20Kc是当今最快的可授权嵌入式处理器内核。一般运行在 6
00MHz,具有 7 段流水线的 20Kc内核,能提供 1.2GFLOPS的峰值浮点运算能力。
MIPS
在嵌入式处理器市场中,基于 MIPS内核的处理器占据了相当大的数量
2002 年,一共付运了 8700万片采用 MIPS内核的嵌入式处理器,份额仅次于 ARM 位居全球第二。
在目前快速增长的比如 Cable Modem 、 DSL Modem 、 DVD录像机等领域内, MIPS 的市场份额位居第一。
MIPS 的合作伙伴包括了 AMD , IDT , NEC , TI ,SONY 等众多厂商
PowerPC 体系结构 Motorola半导体(现 Freescale半导体)联合
IBM 以及苹果电脑 IBM
PowerPC750 PowerPCG3
Motorola MPC MC
X86 体系结构 Intel X86 体系结构 AMD 最新的 X86 体系结构嵌入式处理器产品为 Geode 系列处理器
CISC 指令集
SH 体系结构 SH(SuperH) 系列是由前日立半导体公司(现
Renesas 公司)推出的嵌入式处理器 SH 系列的 CPU 指令格式是固定的,只有一
个字长,绝大多数指令是单周期完成的,即使是复杂的乘加指令也仅需 2 个时钟周期
为了克服内存访问的瓶颈, SH 的 CPU 简化寻址方式,采用 Load/Store(装载 / 存储 ) 结构,并且在片内设置高速缓存,以减少访问内存的时间
1999 年底, SH 系列累计生产达 1.18亿片。 SH 系列投入市场后,用量最多的是工业,占总量
的 36% ,第二位是办公自动化,占总量的 26%;第三位是消费领域;再其次的是通信领域。
此外,汽车导航、定位、控制系统,也是 SH 系列不小的一个市场。
在美国, SH 系列占有较大的市场份额 型号
SH1-4 ( 32 位) SH5(64 位 )
总线 总线的主要参数有
总线的带宽 总线的位宽 总线的工作时钟频率
总线机制 微处理器( CPU )是嵌入式系统硬件平台的核心构件,但不是全部。按照冯 ·诺依曼体系结构思想,计算机的硬件是由 CPU 、存储器和 I/O 设备三部分组成的。总线是把 CPU与存储器、 I/O 设备相连接的信息通道,但总线并不仅仅指的是一束信号线,而应包含相应的通信协议。按照使用场合的不同,总线分成芯片级总线( CPU总线)、板卡级总线(内总线)和系统级总线(外总线)。
ISA
IBM 公司于 1981 年推出的基于 8 位机 PC/XT 的总线,称为 PC 总线。
IBM 公司于 1984 年推出了 16 位 PC 机 PC/AT ,其总线称为 AT 总线。然而 IBM 公司从未公布过他们的 AT 总线规格。
由 Intel 公司, IEEE 和 EISA 集团联合开发了与IBM/AT 原装机总线意义相近的 ISA 总线,即 8/16 位的“工业标准结构” (ISA-Industry Standard Architecture) 总线。
6.66MHZ 至 26.66MHZ ,典型 8MHz EISA 总线, 32 位
PCI
1991 年下半年, Intel 公司首先提出了 PCI 的概念。
Intel 联合 IBM 、 Compaq 、 AST 、 HP 、 DEC 等100 多家公司成立了 PCI 集团,其英文全称为: Peripheral Component Interconnect Special Interest Group(外围部件互连专业组 ) ,简称 PCISIG 。
93 年发布 PCI2.0 , 32 位, 33MHz 。 5 个以上 PCI插槽
AGP (图形加速处理) 90 年代后期, PCI-X , 64 位 /66MHz
PCI-力不从心 南桥 /北桥
Intel 440 系列以后 PCI地位大大降低
3GIO-PCI Express
PCI VS. PCI Express
PCI
PCI Express
CPCI
CPCI ( Compact PCI ) PICMG协会于 1994 提出来的一种总线接口标准,面向嵌入式设备
解决了 VME 与 PCI总线不兼容问题,与 PCI 完全兼容
高可靠性( 99.999% )、低价位 热插拔( hot swap )
PC104
PC104 是一种专门为嵌入式控制而定义的工业控制总线,实质上就是一种紧凑型的 IEEE-P996 ( ISA )。
PC104 有两个版本, 8 位和 16 位,分别与 PC 和 PC/AT 相对应。 PC104PLUS 则与 PCI 总线相对应。
I2C PHILIPS 开发了一种用于内部 IC 控制的简单的双向两线串行总线 I2C(Inter-Integrated Circuit )
最高速率 100Kbps , 25英尺,最多可支持 40 个设备
数据线
时钟线
CAN ( Controller Area Network )
80 年代末,由德国 Bosch 公司最先提出 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络。
发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入 CAN 控制装置。
使用 CSMA/CD协议 40米以内, 1Mbps; 10Km , 5Kbps;理论上可
以支持无限多个设备 可靠性高,误码率为 10-11
抗电磁干扰性强
高速输入与输出接口 IrDA/FastIrDA ( Infrared Data Association
) 红外线发光二极管
发射 硅晶 PIN光检二极管
接受 控制电路 IrDA 1.0 和 1.1装置的通讯距离可达 1 公尺,误
码率为 10-9 ,光源外围的最大亮度为 10klux (勒克斯)
红外传输特点 距离
小于一米 低速
9.6~115K bps 高速
1~4M bps 工业高速
16M bps
红外芯片接口
Bluetooth 接口 功耗低
100M , 100mW 10M , 2.5mW 1M , 1mW
2.4-2.4835 GHz ( 使用 ISM 频段 ) 优势 : 世界范围内可用 劣势 : 与 IEEE 802.11b产品相互干扰
声音和数据传输,总带宽为 1Mbps 成本低
低于 US$5/蓝牙芯片
蓝牙和红外线的比较:
篮牙接口 红外接口
传输距离 10米 1米
传输特性 可以以任何角度传输 只能在一定角度 (15 度 )内进行传输
安全机制 具有完整安全机制 安全性底
移动性 可以在嵌入式系统移动时进行传输
需要在静止状态下进行传输
传输速率1Mbps 4Mbps
价格 5美元 1~ 2美元
USB ( Universal Serial Bus ) IBM 、 Compaq 、 Nortel 、 NEC 、 Intel 以
及 Microsoft 联合 距离 <5 米, Hub<30米 树拓扑结构, 127 个点, 4 线( 2根电源线,
2根数据线) 低速 USB1.1 , 1.5 M bps USB 2.0 速率高达 480Mbps 支持热插拔和即插即用
Ethernet/Fast Ethernet
802.3 10M/100M Ethernet 100m , RJ45 接口 MAC层协议
CSMA/CD
IEEE1394
起源于 APPLE 公司 1986 年提出的 FireWire MPU 与多媒体设备连接接口 20~400M bps ,高速串行总线 P1394b 1.6Gbps, 100米 支持 63 个器件,长度 <4.5米 热插拔,即插即用 Sony : iLink; TI : Lynx
Apple : FireWire
LCD显示器 Liquid Crystal Display ,液晶显示器 液晶介于固态和液态 液晶棒状分子在外加电场的作用下排列状态
发生变化,使得通过液晶显示器件的光被调制,从而在显示屏上呈现出不同颜色。每个显示象素都可以单独被电场控制。
适用于低压、微功耗电路
段式液晶 常见段式液晶的每字为 8 段组成,即 8 字和一
点,只能显示数字和部分字母。 字符型液晶
字符型液晶是用于显示字符和数字的 图形点阵式液晶
又将其分为 TN 、 STN ( DSTN )、 TFT 等几类
LCD显示器类型
触摸屏 嵌入式系统中的触摸屏分为电阻式、电容式和电感
式三种 其中电阻式触摸屏最为常用
电阻触摸屏的工作部分一般由三部分组成,两层透明的阻性导体层、两层导体之间的隔离层、电极
触摸屏工作时,上下导体层相当于电阻网络,当某一层电极加上电压时,会在该网络上形成电压梯度。
如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。
电容式触摸屏 电容式触摸屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂一层 ITO (氧化铟锡) ,四个角引出四个电极 。
当用户触摸电容屏时,由于人体电场,用户手指和工作面形成一个耦合电容,
因为工作面上接有高频信号,于是手指会吸收一个很小的电流,这个电流分别从屏的四个角上的电极中流出,
理论上流经四个电极的电流与手指头到四角的距离成比例,控制器通过对四个电流比例的精密计算,得出位置
电感式触摸屏 电感式触摸屏的工作原理是在触摸笔中安装
LC 谐振线圈 通过改变与安装有激励线圈及感应线圈的触摸屏之间的空间距离,使电磁场发生变化从而计算出触点的位置
存储器系统
寄存器
高速缓存 SRAM
主存储器 DRAM
本地存储器 Flash 、ROM 、磁盘
网络存储器 Flash 、ROM 、磁盘
时钟周期
0
1—10
50—100
20000000
分层结构
存储器种类RAM :随机存取存储器, SRAM :静态随机存储器, DRAM :动态随机存储器
1 ) SRAM 比 DRAM 快
2 ) SRAM 比 DRAM 耗电多
3 ) DRAM 存储密度比 SRAM 高得多
4 ) DRM 需要周期性刷新
ROM :只读存储器
EPROM
EEPROM
FLASH :闪存
闪速存储器 (FLASH)
相对传统的 EPROM 芯片,这种芯片可以用电气的方法快速地擦写
由于快擦写存储器不需要存储电容器,故其集成度更高,制造成本低于 DRAM
它使用方便,既具有 SRAM读写的灵活性和较快的访问速度,又具有 ROM 在断电后可不丢失信息的特点,所以快擦写存储器技术发展十分迅速
NOR 技术 NOR 技术闪速存储器是最早出现的 Flash Memory,目前仍是多数供应商支持的技术架构,它源于传统的 EPROM器件。
与其它 Flash Memory技术相比,具有可靠性高、随机读取速度快的优势。
在擦除和编程操作较少而直接执行代码的场合,尤其是代码(指令)存储的应用中广泛使用。
由于 NOR 技术 Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中, NOR 技术显得力不从心。
NAND 技术 NAND 技术 Flash Memory具有以下特点:
以页为单位进行读和编程操作, 1页为 256或 512字节;以块为单位进行擦除操作, 1块为 4K 、 8K或 16K字节。具有快编程和快擦除的功能,其块擦除时间是 2ms;而NOR 技术的块擦除时间达到几百 ms 。
数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。
芯片尺寸小,引脚少,是位成本 (bit cost) 最低的固态存储器,突破了每兆字节 1元的价格限制。
芯片包含有失效块,其数目最大可达到 3~35块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将失效块在地址映射表中屏蔽起来。
基于 NAND 的存储器可以取代硬盘或其它块设备。
常见的存储器扩充装置 CF 扩充装 Compact Flash
所有 Windows CE 支持
常见的存储器扩充装置 SD 扩充装置( Secure Digital )
Panasonic Scandisk Toshiba
常见的存储器扩充装置 Memory Stick
Sony
本节提要
1111
3333
2222
4444
嵌入式系统硬件基础
嵌入式系统开发环境
嵌入式系统硬件开发流程
芯片封装知识简介
嵌入式系统的开发——流程
需求分析及规格说明选择主要芯片
确定编程语言
选择开发环境
RTOS 的使用选择开发方案
设计与调试
测试与集成
测试工具与其他辅助设备
产品
嵌入式系统的开发—设计与调试
设计
生产
编译器
链接器
调试器IDE
操作系统
软件开发与测试
评估板
仿真器
逻辑分析仪 边界扫描测试仪
示波器
开发环境 什么是嵌入式开发环境:
源程序
编译器
目标文件
链接器
可重定位程序
定位器
可执行文件
编译器 / 汇编器 / 链接定位器调试器 / 仿真器主机( Host )及其工作平台实时操作系统(可选)目标评估系统(可选)测试工具(软件 / 硬件 / 协议等,可选)其他辅助设备(可选)
典型的开发环境
ARM 的编译器( 1 ) ADS1.2
ARM 公司出品 IDE环境,包括
ARM/Thumb汇编器: armasm ANSI C 编译器 - armcc 和 tcc ISO / Embedded C++ 编译器 - armcpp and tcpp 链接器 – armlink Windows 集成开发环境 – CodeWarrior 格式转换器 – fromelf 库管理器 - armar 调试器
模拟调试器: ARMulator JTAG 调试: AXD (与 Multi-ICE 配合)
支持所有 ARM内核,最新版本: RealView2.0
ARM 的编译器( 2 ) EW-ARM
瑞典 IRA 公司出品 著名的嵌入式工具提供商,以提供编译器 / 协议栈 / 统一建模工具著称
主要产品: Embeded Workbench ( EW )、 Make APP 、 Visual State 等
EW-ARM :针对 ARM 的集成开发环境: C/C++ 编译器 C-SPY 模拟调试器 ROM-Monitor 多种级别代码优化方法,满足用户在速度、文件大小方面的要求 内建 ARM 特性优化器 支持多种断点模式 支持 Nucleus, VxWorks 等 RTOS
Greenhills GNU
嵌入式系统的调试( 1 ) 嵌入式系统的调试有四种基本方法
模拟调试( Simulator ) 软件调试( Debugger ) BDM/JTAG 调试( BDM/JTAG Debugger ) 全仿真调试( Emulator )
嵌入式系统的调试( 2 ) 模拟调试( Simulator) 调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。 优点:简单方便,不需要目标板,成本低 缺点:功能非常有限,无法实时调试
大多数调试工具都提供 Simulator功能
嵌入式系统的调试( 3) 软件调试( Debugger) 主机和目标板通过某种接口(通常是串口)连接,主机
上提供调试界面,待调试软件下载到目标板上运行。 这种方式的先决条件是要在 Host 和 Target之间建立起通信联系(目标板上称为监控程序 Monitor ) 优点:纯软件,价格较低,简单,软件调试能力较强 缺点:需要事先烧制 Monitor (往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。
PC TargetMonitor串
口
嵌入式系统的调试( 4 ) BDM/JTAG调试 这种方式有一个硬件调试体。该硬件调试体与目标板通过
BDM、 JTAG 等调试接口相连,与主机通过串口、并口、网口或 USB 口相连。待调试软件通过 BDM/JTAG 调试器下载到目标板上运行。 优点:方便、简单,无须制作 Monitor ,软硬件均可调试 缺点:需要目标板,且目标板工作基本正常(至少 MCU工作正常),仅适用于有调试接口的芯片
TargetPC 接口
BDM/JTAG Debugger
嵌入式系统的调试( 5 ) 全仿真调试( Emulator ) 这种方式用仿真器完全取代目标板上的 MCU ,因而目标
系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或 USB 口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板( Stand alone )。 优点:功能非常强大,软硬件均可做到完全实时在线调试
缺点:价格昂贵。
ARM的调试方式 模拟调试
SDT2.52: ARMulator ADS1.2 : ARMulator Trace32 : Simulator EW-ARM : C-spy
软件调试 ADS1.2 : Angel (串口) SDT2.52 Angel (串口)
JTAG 调试 ARM : Multi-ICE, 简易型仿真器 Trace32-ICD for ARM Hitex : Tanto for ARM
全仿真调试 Trace32-FIRE/ICE
ARM调试工具 Multi-ICE
ARM 公司出品 与 ADS配套使用 支持不同的 ARM 内核 另有 Multi-trace 模块可选
选择实时操作系统 RTOS 对于复杂的嵌入式系统应考虑使用 RTOS RTOS 的作用:
提供 API (应用编程接口):操作系统为应用程序员提供可供调用的 API,允许程序员致力于应用程序的开发
简化系统设计:实时嵌入式系统比非实时系统更难设计 . 使用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理
实验平台如下支持 ARM 的实时操作系统: uC/OS Linux
嵌入式系统编程语言 Data from Japan ITRON survey for new embedded
systemsType of Processors
0%
10%
20%
30%
40%
50%
60%
70%
4-bits 8-bits 16-bits 32-bits 64-bits Special
1998-991999-00
2000-01
Programming Languages
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
Assemblelanguage
C language C++ Java Others
1998-99
1999-00
2000-01
本节提要
1111
3333
2222
4444
嵌入式系统硬件基础
嵌入式系统开发环境
嵌入式系统硬件开发流程
芯片封装知识简介
嵌入式系统硬件方案分析与设计 三个阶段:
系统方案分析与设计 PCB 的仿真设计 PCB 的调试与测试
系统方案分析与设计阶段 根据系统所要完成的功能,选择合适的处理
器和外围器件,完成系统的功能框图设计和原理图设计
PCB仿真设计阶段 需要在 EDA仿真设计平台下,对 PCB板上
的信号完整性、 EMI 等进行仿真,根据仿真结果来对 PCB 进行合理的布局布线,完成 PCB 的设计
PCB 的加工 对加工完成的 PCB 进行调试和测试,完成整
个系统硬件的设计
以一个便携式 GPS导航系统的开发实例来说明整个系统设计的流程
需求 便携式 GPS 导航系统是一个手持的电池供
电系统,需要完成以下功能 能够存储电子地图信息并在 LCD 显示屏上显
示 能够接收 GPS 信号,根据 GPS 收到的信息可
以确定当前在地图中所处的位置 给定起点和终点可以计算出合理的行进路线 可以通过以太网下载更新电子地图或系统软件 有 USB 主端接口,满足 USB1.1 规范,可以挂
接键盘、鼠标和存储设备等
分析 根据系统功能,可以确定该系统需要有以下的内存
和功能接口 32MB Flash 存储器,用于存储电子地图信息 4MB Flash 存储器,用于存储系统软件 64MB SDRAM ,用作系统运行内存 TFT-LCD 接口,支持 16 位颜色, 6.4英寸 TFT-LCD
显示屏 RS232 接口,用于与 GPS模块通讯 10M 以太网接口 USB 主端接口 支持 6.4英寸四线电阻式触摸屏
处理器的选择 嵌入式系统设计的差异性极大,因此选择是多样化的 选择:
PXA255 是 Intel 公司采用 XScale 微体系结构开发的一款嵌入式处理器,主要面向手持多媒体应用
特性 高性能、低功耗的 XScale 处理器核,时钟频率按不同型号分为 200M
Hz 、 300MHz 和 400MHz 系统总线速度比 PXA250 提高一倍,当内核工作在 400MHz 时系统总
线频率为 200MHz 采用 0.18 微米工艺制造, 17 mm x 17 mm x 1.75mm , 256 脚 PBGA封装
采用 Intel 多媒体处理技术 增强型存储器控制器,支持 2.5V/ 3.3V 、 16/ 32 位的存储器 支持MMC/ SD卡和 PCMCIA/ CF卡 提供 920Kbps蓝牙接口
外围部件 存储器控制器。可为多种存储器芯片提供可编程的控制信号。支持 4 个 SDRAM 分区, 6 个 SRAM 、 SSRAM 、FLASH 、 ROM 、 SROM静态片选和 2 个 PCMCIA或COMPACT FLASH槽
时钟和电源控制器。时钟可由 3.6864MHz 和一个可选的32.768KHz两种晶体驱动。 3.6864MHz晶体驱动一个核心锁相环和一个外围锁相环。 32.768KHz晶体产生一个硬件复位后选定的可选时钟源,用于驱动实时时钟 (RTC) 、电源管理控制器和中断控制器
USB从端设备控制器。支持多达 16 个终结点,提供一个内部产生的 48MHz 时钟
DMA 控制器。提供 16 个优先级不同的通道,用于响应来自片内外围部件和片外设备的数据传输请求
液晶控制器。提供支持双扫描无源阵列彩显( DSTN ,俗称伪彩)或有源阵列彩显( TFT ,俗称真彩)屏的接口。最大支持显示分辨率为 1024×1024像素
AC97 控制器。支持 AC97 2.0修订版本的多媒体数字信号编解码器,为立体 PCM输入输出、 Modem输入输出和单一的麦克风输入都提供了单独的 16 位通道
I2S 控制器。为标准 I2S 多媒体数字信号编解码器提供了串行连接。 I2S 控制器引脚与 AC97 控制器引脚复用
MMC 控制器。提供到标准存储卡的串行接口 , 数据传输速率最高可达 20Mbps
高速红外 (FIR) 通讯端口。基于 4Mbps 的红外数据协会 (IrDA) 规格,工作于半双工模式下
同步串行协议端口 (SSP) 控制器。提供 7.2Kbps 到 1.84Mbps 的全双工同步串行接口。 SSP 接口支持 National Semiconductor 的 Microwire协议、 Texas Instruments 的同步串行协议( SSP )和 Motorola 的 SPI协议
I2C总线接口单元。提供 2 个引脚的通用串行通讯端口,其中一个引脚用于数据和地址,另一个用于时钟
通用 I/O引脚。每个引脚都可以独立地编程定义为输入或输出 4 个 UART 。每一个 UART都能用作低速红外收发
全功能 UART (FFUART) :可编程波特率最大为 230Kbps ,提供完整的 modem 控制引脚
蓝牙 UART (BTUART) :可编程波特率最高可达 921Kbps ,提供部分 modem 控制引脚
标准 UART (STUART) :可编程波特率最高可达 230Kbps ,不提供任何 modem 控制引脚,但可通过 GPIO引脚提供
硬件 UART (HWUART) :它带有硬件流控制,提供部分 modem控制引脚,其编程可调的波特率可高达 921.6Kbps 。硬件 UART的引脚与 PCMCIA 的控制引脚复用
实时时钟。实时时钟可提供恒定频率的输出,它带有可编程闹钟寄存器,可用于从休眠模式中唤醒处理器
OS 定时器。可用于提供一个带有 4 个寄存器的 3.6864MHz参考计数器。这些寄存器可用于产生中断,其中一个还能用于产生看门狗中断
脉冲宽度调制 (PWM) 。其频率和占空比可以独立编程 中断控制。中断控制器可以通过屏蔽寄存器禁用或启用单个中断源 网络同步串行协议端口 (NSSP) 。该端口可用于连接其他的网络 AS
IC
为什么选择 PXA255? ① 处理器性能
不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和 I/O子系统
可能会升级的系统,可以考虑在完成目前作业的情况下还能够有一定的性能余量处理器
便携式 GPS导航系统在显示和路线计算方面对处理器的性能要求都比较高,而 PXA255则具有较高的处理性能,系统时钟频率可以达到 400MHz ,外围总线频率可以达到 100MHz ,能够较好的完成该系统所要求的功能
② 集成外围接口 内部有集成的 LCD 控制器,可以直接支持 16 位颜色的 TFT-LCD显示屏
有多个 UART 通讯口,可以方便的扩出与 GPS 模块通讯的 RS232通讯口
使系统的设计变得相对简单 ③ 功耗
当工作在 400MHz 时钟频率运行模式下, PXA255 的功耗的典型值仅为 411mW
如果降低工作频率,处理器的功耗会变得更低 PXA255还提供了加速模式、运行模式、待机模式和睡眠模式这四种工作模式,可以方便的进行电源管理
在相应的开发板上做前期的试验评估,确保在软硬件方面都能够满足设计的要求
外围器件的选择 Micron 公司的 MT48LC16M16A2 是位宽为 1
6 位,容量为 32MB 的 SDRAM 。系统中采用两片 MT48LC16M16A2 来组成所需要的 32 位宽、 32MB 的运行内存。
Intel 公司的 TE28F160C3T 和 28F128J3C 是两款 NOR型闪存。系统中分别采用两片 TE28F160C3T 和两片 28F128J3C 来用作系统程序的存储器和电子地图的存储器。
10M 以太网接口可以通过 CirrusLogic 公司的 CS8900A 来提供
CS8900A 是用于嵌入式设备的低成本以太局域网控制器。它的高度集成设计使其不再需要其它以太网控制器所必需的昂贵外部器件。CS8900A包括片上 RAM , 10Base-T传输和接收滤波器,以及带 24毫安驱动的直接 ISA-总线接口
Cypress 公司的 SL811HS 可用来提供系统中所需的满足 USB1.1 规范的 USB 主端接口。
SL811HS 是一个既可以作为 USB 主端也可以作为 USB从端,既可以工作在全速模式( 12Mbps )也可以工作在低速模式( 1.5Mbps )的嵌入式 USB 主端 /从端控制器
它可以直接与多种总线挂接,如嵌入式处理器的数据总线、 ISA总线和 PCMCIA总线等
TI 公司的 ADS7843E 是一款高性能低功耗的四线电阻式触摸屏控制器
通过它系统可以方便的挂接四线电阻式触摸屏
内部集成一个 12 位分辨率的模数转换器( ADC ),最高转换速度可以达到 125KHz ,并通过串行口与处理器进行通讯
电源方案的设计 两种基本的直流 / 直流变换的电源供电方式
线性稳压电源 开关稳压电源
线性稳压电源 优点就是电路结构简单,可靠性高,所需电路元件数量
少,电源纹波小 一个致命的弱点就是效率低,功耗大
开关稳压电源 优点就是转换效率高,一般可以达到 80%以上 升降压比较灵活
便携式 GPS导航系统是一个电池供电的手持系统 尽量使用高转换效率的开关稳压电源来实现系统的供电
便携式GPS导航系统
锂离子电池
DS2762
电池电量检测器及电池保护器
MAX1586B
多路电源管理器芯片
MAX745
锂离子电池充电器
0. 8-1. 3VPXA255核心电源
内置备用电源
1. 3VPXA255锁相环电源
3. 3VPXA255外围接口电源
3. 3V系统外围电路电源
备用电源 实时时钟备用电源
MAX771
12V输出升压型开关稳压器
12VLCD背光逆变器电源
整体框架图
PXA255
实时时钟(DS1339)
RS232通讯接口
SDRAM存储器
TFT-LCD接口
Fl ash存储器
系统休眠键 复位键
电源及电源管理
USB主端控制器
(SL811HS)
触摸屏控制器
(ADS7843E)
四线电阻触摸屏
数据总线
电源及状态指示灯
32
32
8数字电位器
背光亮度调节
以太网控制器
CS8900A( )
32
嵌入式系统硬件仿真设计 Cadence PSD PCB仿真设计平台 为例
创建 PXA255 原理图库
Concept-HDL 原理图输入界面
Allegro PCB布局布线工具界面
PCB板层设定界面
SPECCTRAQuest仿真设计工具界面
数据线 D7 的拓扑结构
数据线 D7 的仿真波形
常用的终端匹配方法
加入串连电阻终端后数据线 D7
加入串连电阻终端后数据线 D7 的仿真波形
系统实际工作时的照片
开始新工程
编辑源代码
交叉编译连接
仿真调试
程序下载
台式/笔记本式PC机
并口
JTAG仿真器
网络接口JTAG接口USB接口串口
0
ARM300开发板
串口
USB接口
以太网口
ARMSDT
Debug
ArmDvk
ARM7处理器执行
监测结果
超级终端
基于ARM平台的开发流程结束
嵌入式软件开发流程
Bonus
讨论实例:嵌入式网络视频播放器 ( 1 )协同设计问题 ( 2 )硬件设计实现
嵌入式网络视频播放器
Modem ADSL
远程服务器
PSTNEthernet
控制器
串口 1 串口 2 VGA in
VGA out
Audio out
多媒体终端
设置终端 (NoteBook)LCD + Key Board
串口 3
嵌入式网络视频播放器外部接口示意图
嵌入式网络视频播放器硬件结构框图
UART
处理器 PXA27x
16MB SDRAM
4MBFlash
CF卡扩展槽 Up to 12
8MB UART
电源管理
时钟管理
调试接口
以太网控制器
以太网接口Modem
控制器
设置终端
FPGAXC2S100
UART
Up to 256MB SDRAM
MPEG-4解码 EM8630
视频切换模块控制信号 VGA
音频
多媒体终端
本节提要
1111
3333
2222
4444
嵌入式系统硬件基础
嵌入式系统开发环境
嵌入式系统硬件开发流程
芯片封装知识简介
芯片封装知识简介 芯片封装
安装半导体集成电路芯片用的外壳 安放、固定、密封、保持芯片和增强电热性能 内部芯片与外部电路的连接
封装考虑的主要因素 芯片面积与封装面积之比尽量接近 1:1 基于散热的要求,封装越薄越好 引脚尽量短,引脚间距尽量大 要便于安装
发展历史 上世纪 60 年代末期到现在,经历了金属圆管壳→扁平陶瓷管壳→双列陶瓷管壳、双列塑封→陶瓷 QFP管壳、塑料 QFP→陶瓷、塑料 LCC→陶瓷 PGA管壳的封装,目前正在进入 BGA 、 μBGA 、 CSP 的封装阶段。
芯片封装知识简介 IC 制造
图纸设计 实物制造
前工程 后工程
IC封装 引脚插入型
DIP/SIP/ZIP/PGA 表面实装型
SOP/QFP/SOJ/TCP/BGA/CSP/MCM
DIP: Dual Inline PackageSIP: Single Inline PackageZIP: Zigzag Inline PackagePGA: Pin Grid Array Package
SOP: Small Outline PackageQFP: Quad Flat PackageSOJ: Small Outline J-leaded packageTCP: Tape Carrier PackageBGA: Ball Grid Array PackageCSP: Chip Size/Scale PackageMCM: Multi Chip Model
芯片封装知识简介 双列直插式 (Dual Inline Package, DIP)
8088 CPU 绝大多数中小规模 IC 均采用这种封装形式,引
脚 <100 芯片面积和封装面积之比大
Intel CPU 4004
芯片封装知识简介 塑料方型扁平式 (Plastic Quad Flat Package, PQFP) 塑料扁平式( Plastic Flat Package , PFP )
间距小,管脚细,管脚数 >100 专用工具(表面安装设备 SMD )装卸 高频使用、可靠性高,封装面积小
芯片封装知识简介 引脚网格阵列( Pin Grid Array , PGA )
专用 PGA插槽 操作方便,可靠性高,但电耗大 Intel CPU中 80286 、 80386 和某些 486 ZIF ( Zero Insertion Force )插座, 486 以后
芯片封装知识简介 球状网格阵列( Ball Grid Array , BGA )
>100MHz, Crosstalk, >208Pin BGA封装引脚数虽然增多,但引脚间距大于 QFP 传输延迟小,散热性能好 ( 可控塌陷封装法 ) 共面焊接,可靠性提高 1.5mm,1.27mm,1.0mm
芯片封装知识简介 芯片级封装( Chip Scale Package , CSP )
体积小,重量轻 引脚多 电、热、气密性能好