C H A P T E R

129
2 C H A P T E R 嵌嵌嵌嵌嵌嵌嵌

description

C H A P T E R. 2. 嵌入式硬件基础. 本节提要. 1. 嵌入式系统硬件基础. 2. 嵌入式系统开发环境. 3. 嵌入式系统硬件开发流程. 4. 芯片封装知识简介. 如人的大脑,决定了硬件的操作模式。通过良好的操作系统以及应用程序,把硬件功能发挥到极至。. 嵌入式系统软件部分. 如人的手、脚、神经等部位,决定了嵌入式系统的先天功能。如运算能力和 I/O 接口等。. 嵌入式系统硬件部分. 嵌入式系统硬件基础. RISC 和 CISC 冯 · 诺依曼体系结构和哈佛体系结构 流水线 嵌入式微处理器体系结果 总线 - PowerPoint PPT Presentation

Transcript of C H A P T E R

Page 1: C  H  A  P  T  E  R

2C H A P T E R

嵌入式硬件基础

Page 2: C  H  A  P  T  E  R

本节提要

1111

3333

2222

4444

嵌入式系统硬件基础

嵌入式系统开发环境

嵌入式系统硬件开发流程

芯片封装知识简介

Page 3: C  H  A  P  T  E  R

嵌入式系统硬件部分

嵌入式系统软件部分

如人的大脑,决定了硬件的操作模式。通过良好的操作系统以及应用程序,把硬件功能发挥到极至。

如人的手、脚、神经等部位,决定了嵌入式系统的先天功能。如运算能力和 I/O 接口等。

Page 4: C  H  A  P  T  E  R

RISC 和 CISC 冯·诺依曼体系结构和哈佛体系结构 流水线 嵌入式微处理器体系结果 总线 高速输入输出接口 输入输出设备 存储器

嵌入式系统硬件基础

Page 5: C  H  A  P  T  E  R

CISC 和 RISCCISC :复杂指令集( Complex Instruction Set Computer)

具有大量的指令和寻址方式,指令长度可变

8/2 原则: 80% 的程序只使用 20% 的指令

大多数程序只使用少量的指令就能够运行。

RISC :精简指令集( Reduced Instruction Set Computer)

只包含最有用的指令,指令长度固定

确保数据通道快速执行每一条指令

使 CPU 硬件结构设计变得更为简单

Page 6: C  H  A  P  T  E  R

CISC 与 RISC 的数据通道

IF ID REG ALU MEM开始 退出

IF ID ALU MEM REG

微操作通道

开始 退出

单通数据通道

RISC : Load/Store 结构

CISC :寻址方式复杂

Page 7: C  H  A  P  T  E  R

CISC 的背景和特点 背景 : 存储资源紧缺 , 强调编译优化 增强指令功能,设置一些功能复杂的指令,

把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统来实现

为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少

寻址方式复杂多样,操作数可来自寄存器,也可来自存储器

采用微程序控制,执行每条指令均需完成一个微指令序列

CPI > 5,指令越复杂, CPI 越大。

Page 8: C  H  A  P  T  E  R

CISC 的主要缺点 指令使用频度不均衡。

高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。

大量复杂指令的控制逻辑不规整,不适于 VLSI 工艺 VLSI 的出现,使单芯片处理机希望采用规整的硬联逻辑

实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。 ( 微码的存控速度比 CPU 慢 5-10 倍 ) 。

软硬功能分配 复杂指令增加硬件的复杂度,使指令执行周期大大加长,

直接访存次数增多,数据重复利用率低。 不利于先进指令级并行技术的采用

流水线技术

Page 9: C  H  A  P  T  E  R

RISC 基本设计思想 减小 CPI: CPUtime=Instr_Count * CPI * Clock_cy

cle 精简指令集:保留最基本的 , 去掉复杂、使用频

度不高的指令 采用 Load/Store 结构,有助于减少指令格式,

统一存储器访问方式 采用硬接线控制代替微程序控制

Page 10: C  H  A  P  T  E  R

RISC: 减少指令平均执行周期数 CPUtime= Instr_Count *CPI * Clock_cycle

ICRISC > IC CISC, 30%---40%

CCRISC < CCCISC

CPIRISC < CPICISC , 20% 超标量、超流水线、 VLIW 等系统结构, 目

标在于减小 CPI , 可使 CPI<1

Page 11: C  H  A  P  T  E  R

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)

Page 12: C  H  A  P  T  E  R

典型的高性能 RISC 处理器 SUN 公司的 SPARC(1987)

MIPS 公司的 SGI:MIPS(1986)

HP 公司的 PA-RISC,

IBM, Motorola 公司的 PowerPC

DEC 、 Compac 公司的 Alpha AXP

IBM 的 RS6000(1990)第一台 Superscalar RISC 机

Page 13: C  H  A  P  T  E  R

CISC 与 RISC 的对比类别 CISC RISC

指令系统 指令数量很多 较少,通常少于 100执行时间 有些指令执行时间很长,如

整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器

没有较长执行时间的指令

编码长度 编码长度可变, 1-15 字节 编码长度固定,通常为 4个字节

寻址方式 寻址方式多样 简单寻址操作 可以对存储器和寄存器进行

算术和逻辑操作只能对寄存器对行算术和逻辑操作, Load/Store 体系结构

编译 难以用优化编译器生成高效的目标代码程序

采用优化编译技术,生成高效的目标代码程序

Page 14: C  H  A  P  T  E  R

冯 ·诺依曼体系结构

Page 15: C  H  A  P  T  E  R

冯 ·诺依曼体系结构

指令寄存器

控制器

数据通道输入 输出

中央处理器

存储器

程序

指令 0指令 1指令 2指令 3指令 4

数据

数据 0数据 1数据 2

Page 16: C  H  A  P  T  E  R

哈佛体系结构

指令寄存器

控制器

数据通道输入 输出

CPU

程序存储器

指令 0指令 1指令 2

数据存储器

数据 0数据 1数据 2

地址

指令

地址

数据

Page 17: C  H  A  P  T  E  R

流水线技术流水线 (Pipeline) 技术:几个指令可以并行执行

• 提高了 CPU 的运行效率• 内部信息流要求通畅流动

译码取指 执行 add

译码取指 执行 sub

译码取指 执行 cmp

时间

Add

Sub

Cmp

Page 18: C  H  A  P  T  E  R

指令流水线—以 ARM 为例 为增加处理器指令流的速度, ARM7 系列使用 3级流水线 .

允许多个操作同时处理,比逐条指令执行要快。

PC 指向正被取指的指令,而非正在执行的指令

Fetch

Decode

Execute

从存储器中读取指令

解码指令

寄存器读(从寄存器 Bank )移位及 ALU 操作寄存器写(到寄存器 Bank )

PC PC

PC - 4 PC-2

PC - 8 PC - 4

ARM Thumb

Page 19: C  H  A  P  T  E  R

最佳流水线

该例中用 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

Page 20: C  H  A  P  T  E  R

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

Page 21: C  H  A  P  T  E  R

分支流水线举例

流水线被阻断 注意 :内核运行在 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

Page 22: C  H  A  P  T  E  R

超标量执行超标量 (Superscalar) 执行:超标量 CPU 采用多条流水线结构

执行 1

取指

指令

译码 2

译码 1

执行 2

执行 1

取指

译码 2

译码 1

执行 2

流水线1

流水线2

数据回写

Page 23: C  H  A  P  T  E  R

高速缓存( CACHE )1 、为什么采用高速缓存

微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。

2、高速缓存的工作原理

高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。

CPU

高速缓存控制器

CACHE

主存

数据

数据

地址

Page 24: C  H  A  P  T  E  R

总线和总线桥

CPU 低速设备

数据

高速总线

存储器 高速设备 键盘

低速总线

ARM 公司提出的 AMBA总线标准

Page 25: C  H  A  P  T  E  R

嵌入式处理器体系结构 按体系结构的不同可分为五大类

ARM MIPS POWER PC X86 SH 系列

Page 26: C  H  A  P  T  E  R

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

Page 27: C  H  A  P  T  E  R

ARM 公司的 ARM RISC 处理器 ARM 7 Thumb 家族 ARM 9 Thumb 家族 ARM 10 Thumb 家族 ARM 11 Thumb 家族

Page 28: C  H  A  P  T  E  R

Intel StrongARM

StrongARM 110 StrongARM 1100 StrongARM 1110 StrongARM 1111

Page 29: C  H  A  P  T  E  R

INTEL 的 Xscale架构处理器• 基于 ARM V5TE 体系结构• 兼容 ARM V5TE ISA 指令集(不支持浮点

指令集)• 在处理器内核周围提供了

• 指令和数据存储器管理单元• 指令、数据和微小数据缓存• 写缓冲、挂起缓冲和分支目标缓冲器• 电源管理• 性能监控• 调试• JTAG 单元以及协处理器接口• MAC协处理器• 内核存储总线

Page 30: C  H  A  P  T  E  R

MIPS

从 1986 年推出 R2000 处理器以来, MIPS陆续推出 R3000 、 R4000 、 R8000 等。

之后 ,MIPS 公司的战略发生变化,把重点放在嵌入式系统。

1999 年, MIPS 公司发布了 MIPS32 和 MIPS64 体系结构标准,集成了原来所有的 MIPS 指令集,并且增加了许多更强大的功能。

此后 MIPS 公司又陆续开发了高性能、低功耗的 32位和 64 位处理器内核。

Page 31: C  H  A  P  T  E  R

MIPS RISC

Page 32: C  H  A  P  T  E  R

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的峰值浮点运算能力。

Page 33: C  H  A  P  T  E  R

MIPS

在嵌入式处理器市场中,基于 MIPS内核的处理器占据了相当大的数量

2002 年,一共付运了 8700万片采用 MIPS内核的嵌入式处理器,份额仅次于 ARM 位居全球第二。

在目前快速增长的比如 Cable Modem 、 DSL Modem 、 DVD录像机等领域内, MIPS 的市场份额位居第一。

MIPS 的合作伙伴包括了 AMD , IDT , NEC , TI ,SONY 等众多厂商

Page 34: C  H  A  P  T  E  R

PowerPC 体系结构 Motorola半导体(现 Freescale半导体)联合

IBM 以及苹果电脑 IBM

PowerPC750 PowerPCG3

Motorola MPC MC

Page 35: C  H  A  P  T  E  R

X86 体系结构 Intel X86 体系结构 AMD 最新的 X86 体系结构嵌入式处理器产品为 Geode 系列处理器

CISC 指令集

Page 36: C  H  A  P  T  E  R

SH 体系结构 SH(SuperH) 系列是由前日立半导体公司(现

Renesas 公司)推出的嵌入式处理器 SH 系列的 CPU 指令格式是固定的,只有一

个字长,绝大多数指令是单周期完成的,即使是复杂的乘加指令也仅需 2 个时钟周期

为了克服内存访问的瓶颈, SH 的 CPU 简化寻址方式,采用 Load/Store(装载 / 存储 ) 结构,并且在片内设置高速缓存,以减少访问内存的时间

Page 37: C  H  A  P  T  E  R

1999 年底, SH 系列累计生产达 1.18亿片。 SH 系列投入市场后,用量最多的是工业,占总量

的 36% ,第二位是办公自动化,占总量的 26%;第三位是消费领域;再其次的是通信领域。

此外,汽车导航、定位、控制系统,也是 SH 系列不小的一个市场。

在美国, SH 系列占有较大的市场份额 型号

SH1-4 ( 32 位) SH5(64 位 )

Page 38: C  H  A  P  T  E  R

总线 总线的主要参数有

总线的带宽 总线的位宽 总线的工作时钟频率

Page 39: C  H  A  P  T  E  R

总线机制 微处理器( CPU )是嵌入式系统硬件平台的核心构件,但不是全部。按照冯 ·诺依曼体系结构思想,计算机的硬件是由 CPU 、存储器和 I/O 设备三部分组成的。总线是把 CPU与存储器、 I/O 设备相连接的信息通道,但总线并不仅仅指的是一束信号线,而应包含相应的通信协议。按照使用场合的不同,总线分成芯片级总线( CPU总线)、板卡级总线(内总线)和系统级总线(外总线)。

Page 40: C  H  A  P  T  E  R

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 位

Page 41: C  H  A  P  T  E  R

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

Page 42: C  H  A  P  T  E  R

PCI-力不从心 南桥 /北桥

Intel 440 系列以后 PCI地位大大降低

Page 43: C  H  A  P  T  E  R

3GIO-PCI Express

PCI VS. PCI Express

PCI

PCI Express

Page 44: C  H  A  P  T  E  R

CPCI

CPCI ( Compact PCI ) PICMG协会于 1994 提出来的一种总线接口标准,面向嵌入式设备

解决了 VME 与 PCI总线不兼容问题,与 PCI 完全兼容

高可靠性( 99.999% )、低价位 热插拔( hot swap )

Page 45: C  H  A  P  T  E  R

PC104

PC104 是一种专门为嵌入式控制而定义的工业控制总线,实质上就是一种紧凑型的 IEEE-P996 ( ISA )。

PC104 有两个版本, 8 位和 16 位,分别与 PC 和 PC/AT 相对应。 PC104PLUS 则与 PCI 总线相对应。

Page 46: C  H  A  P  T  E  R

I2C PHILIPS 开发了一种用于内部 IC 控制的简单的双向两线串行总线 I2C(Inter-Integrated Circuit )

最高速率 100Kbps , 25英尺,最多可支持 40 个设备

数据线

时钟线

Page 47: C  H  A  P  T  E  R

CAN ( Controller Area Network )

80 年代末,由德国 Bosch 公司最先提出 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络。

发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入 CAN 控制装置。

使用 CSMA/CD协议 40米以内, 1Mbps; 10Km , 5Kbps;理论上可

以支持无限多个设备 可靠性高,误码率为 10-11

抗电磁干扰性强

Page 48: C  H  A  P  T  E  R

高速输入与输出接口 IrDA/FastIrDA ( Infrared Data Association

) 红外线发光二极管

发射 硅晶 PIN光检二极管

接受 控制电路 IrDA 1.0 和 1.1装置的通讯距离可达 1 公尺,误

码率为 10-9 ,光源外围的最大亮度为 10klux (勒克斯)

Page 49: C  H  A  P  T  E  R

红外传输特点 距离

小于一米 低速

9.6~115K bps 高速

1~4M bps 工业高速

16M bps

Page 50: C  H  A  P  T  E  R

红外芯片接口

Page 51: C  H  A  P  T  E  R

Bluetooth 接口 功耗低

100M , 100mW 10M , 2.5mW 1M , 1mW

2.4-2.4835 GHz ( 使用 ISM 频段 ) 优势 : 世界范围内可用 劣势 : 与 IEEE 802.11b产品相互干扰

声音和数据传输,总带宽为 1Mbps 成本低

低于 US$5/蓝牙芯片

Page 52: C  H  A  P  T  E  R

蓝牙和红外线的比较:

篮牙接口 红外接口

传输距离 10米 1米

传输特性 可以以任何角度传输 只能在一定角度 (15 度 )内进行传输

安全机制 具有完整安全机制 安全性底

移动性 可以在嵌入式系统移动时进行传输

需要在静止状态下进行传输

传输速率1Mbps 4Mbps

价格 5美元 1~ 2美元

Page 53: C  H  A  P  T  E  R

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 支持热插拔和即插即用

Page 54: C  H  A  P  T  E  R

Ethernet/Fast Ethernet

802.3 10M/100M Ethernet 100m , RJ45 接口 MAC层协议

CSMA/CD

Page 55: C  H  A  P  T  E  R

IEEE1394

起源于 APPLE 公司 1986 年提出的 FireWire MPU 与多媒体设备连接接口 20~400M bps ,高速串行总线 P1394b 1.6Gbps, 100米 支持 63 个器件,长度 <4.5米 热插拔,即插即用 Sony : iLink; TI : Lynx

Apple : FireWire

Page 56: C  H  A  P  T  E  R

LCD显示器 Liquid Crystal Display ,液晶显示器 液晶介于固态和液态 液晶棒状分子在外加电场的作用下排列状态

发生变化,使得通过液晶显示器件的光被调制,从而在显示屏上呈现出不同颜色。每个显示象素都可以单独被电场控制。

适用于低压、微功耗电路

Page 57: C  H  A  P  T  E  R

段式液晶 常见段式液晶的每字为 8 段组成,即 8 字和一

点,只能显示数字和部分字母。 字符型液晶

字符型液晶是用于显示字符和数字的 图形点阵式液晶

又将其分为 TN 、 STN ( DSTN )、 TFT 等几类

LCD显示器类型

Page 58: C  H  A  P  T  E  R

触摸屏 嵌入式系统中的触摸屏分为电阻式、电容式和电感

式三种 其中电阻式触摸屏最为常用

电阻触摸屏的工作部分一般由三部分组成,两层透明的阻性导体层、两层导体之间的隔离层、电极

触摸屏工作时,上下导体层相当于电阻网络,当某一层电极加上电压时,会在该网络上形成电压梯度。

如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。

Page 59: C  H  A  P  T  E  R

电容式触摸屏 电容式触摸屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂一层 ITO (氧化铟锡) ,四个角引出四个电极 。

当用户触摸电容屏时,由于人体电场,用户手指和工作面形成一个耦合电容,

因为工作面上接有高频信号,于是手指会吸收一个很小的电流,这个电流分别从屏的四个角上的电极中流出,

理论上流经四个电极的电流与手指头到四角的距离成比例,控制器通过对四个电流比例的精密计算,得出位置

Page 60: C  H  A  P  T  E  R

电感式触摸屏 电感式触摸屏的工作原理是在触摸笔中安装

LC 谐振线圈 通过改变与安装有激励线圈及感应线圈的触摸屏之间的空间距离,使电磁场发生变化从而计算出触点的位置

Page 61: C  H  A  P  T  E  R

存储器系统

寄存器

高速缓存 SRAM

主存储器 DRAM

本地存储器 Flash 、ROM 、磁盘

网络存储器 Flash 、ROM 、磁盘

时钟周期

0

1—10

50—100

20000000

分层结构

Page 62: C  H  A  P  T  E  R

存储器种类RAM :随机存取存储器, SRAM :静态随机存储器, DRAM :动态随机存储器

1 ) SRAM 比 DRAM 快

2 ) SRAM 比 DRAM 耗电多

3 ) DRAM 存储密度比 SRAM 高得多

4 ) DRM 需要周期性刷新

ROM :只读存储器

EPROM

EEPROM

FLASH :闪存

Page 63: C  H  A  P  T  E  R

闪速存储器 (FLASH)

相对传统的 EPROM 芯片,这种芯片可以用电气的方法快速地擦写

由于快擦写存储器不需要存储电容器,故其集成度更高,制造成本低于 DRAM

它使用方便,既具有 SRAM读写的灵活性和较快的访问速度,又具有 ROM 在断电后可不丢失信息的特点,所以快擦写存储器技术发展十分迅速

Page 64: C  H  A  P  T  E  R

NOR 技术 NOR 技术闪速存储器是最早出现的 Flash Memory,目前仍是多数供应商支持的技术架构,它源于传统的 EPROM器件。

与其它 Flash Memory技术相比,具有可靠性高、随机读取速度快的优势。

在擦除和编程操作较少而直接执行代码的场合,尤其是代码(指令)存储的应用中广泛使用。

由于 NOR 技术 Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中, NOR 技术显得力不从心。

Page 65: C  H  A  P  T  E  R

NAND 技术 NAND 技术 Flash Memory具有以下特点:

以页为单位进行读和编程操作, 1页为 256或 512字节;以块为单位进行擦除操作, 1块为 4K 、 8K或 16K字节。具有快编程和快擦除的功能,其块擦除时间是 2ms;而NOR 技术的块擦除时间达到几百 ms 。

数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。

芯片尺寸小,引脚少,是位成本 (bit cost) 最低的固态存储器,突破了每兆字节 1元的价格限制。

芯片包含有失效块,其数目最大可达到 3~35块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将失效块在地址映射表中屏蔽起来。

基于 NAND 的存储器可以取代硬盘或其它块设备。

Page 66: C  H  A  P  T  E  R

常见的存储器扩充装置 CF 扩充装 Compact Flash

所有 Windows CE 支持

Page 67: C  H  A  P  T  E  R

常见的存储器扩充装置 SD 扩充装置( Secure Digital )

Panasonic Scandisk Toshiba

Page 68: C  H  A  P  T  E  R

常见的存储器扩充装置 Memory Stick

Sony

Page 69: C  H  A  P  T  E  R

本节提要

1111

3333

2222

4444

嵌入式系统硬件基础

嵌入式系统开发环境

嵌入式系统硬件开发流程

芯片封装知识简介

Page 70: C  H  A  P  T  E  R

嵌入式系统的开发——流程

需求分析及规格说明选择主要芯片

确定编程语言

选择开发环境

RTOS 的使用选择开发方案

设计与调试

测试与集成

测试工具与其他辅助设备

产品

Page 71: C  H  A  P  T  E  R

嵌入式系统的开发—设计与调试

设计

生产

编译器

链接器

调试器IDE

操作系统

软件开发与测试

评估板

仿真器

逻辑分析仪 边界扫描测试仪

示波器

Page 72: C  H  A  P  T  E  R

开发环境 什么是嵌入式开发环境:

源程序

编译器

目标文件

链接器

可重定位程序

定位器

可执行文件

编译器 / 汇编器 / 链接定位器调试器 / 仿真器主机( Host )及其工作平台实时操作系统(可选)目标评估系统(可选)测试工具(软件 / 硬件 / 协议等,可选)其他辅助设备(可选)

典型的开发环境

Page 73: C  H  A  P  T  E  R

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

Page 74: C  H  A  P  T  E  R

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

Page 75: C  H  A  P  T  E  R

嵌入式系统的调试( 1 ) 嵌入式系统的调试有四种基本方法

模拟调试( Simulator ) 软件调试( Debugger ) BDM/JTAG 调试( BDM/JTAG Debugger ) 全仿真调试( Emulator )

Page 76: C  H  A  P  T  E  R

嵌入式系统的调试( 2 ) 模拟调试( Simulator) 调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。 优点:简单方便,不需要目标板,成本低 缺点:功能非常有限,无法实时调试

大多数调试工具都提供 Simulator功能

Page 77: C  H  A  P  T  E  R

嵌入式系统的调试( 3) 软件调试( Debugger) 主机和目标板通过某种接口(通常是串口)连接,主机

上提供调试界面,待调试软件下载到目标板上运行。 这种方式的先决条件是要在 Host 和 Target之间建立起通信联系(目标板上称为监控程序 Monitor ) 优点:纯软件,价格较低,简单,软件调试能力较强 缺点:需要事先烧制 Monitor (往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。

PC TargetMonitor串

Page 78: C  H  A  P  T  E  R

嵌入式系统的调试( 4 ) BDM/JTAG调试 这种方式有一个硬件调试体。该硬件调试体与目标板通过

BDM、 JTAG 等调试接口相连,与主机通过串口、并口、网口或 USB 口相连。待调试软件通过 BDM/JTAG 调试器下载到目标板上运行。 优点:方便、简单,无须制作 Monitor ,软硬件均可调试 缺点:需要目标板,且目标板工作基本正常(至少 MCU工作正常),仅适用于有调试接口的芯片

TargetPC 接口

BDM/JTAG Debugger

Page 79: C  H  A  P  T  E  R

嵌入式系统的调试( 5 ) 全仿真调试( Emulator ) 这种方式用仿真器完全取代目标板上的 MCU ,因而目标

系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或 USB 口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板( Stand alone )。 优点:功能非常强大,软硬件均可做到完全实时在线调试

缺点:价格昂贵。

Page 80: C  H  A  P  T  E  R

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

Page 81: C  H  A  P  T  E  R

ARM调试工具 Multi-ICE

ARM 公司出品 与 ADS配套使用 支持不同的 ARM 内核 另有 Multi-trace 模块可选

Page 82: C  H  A  P  T  E  R

选择实时操作系统 RTOS 对于复杂的嵌入式系统应考虑使用 RTOS RTOS 的作用:

提供 API (应用编程接口):操作系统为应用程序员提供可供调用的 API,允许程序员致力于应用程序的开发

简化系统设计:实时嵌入式系统比非实时系统更难设计 . 使用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理

实验平台如下支持 ARM 的实时操作系统: uC/OS Linux

Page 83: C  H  A  P  T  E  R

嵌入式系统编程语言 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

Page 84: C  H  A  P  T  E  R

本节提要

1111

3333

2222

4444

嵌入式系统硬件基础

嵌入式系统开发环境

嵌入式系统硬件开发流程

芯片封装知识简介

Page 85: C  H  A  P  T  E  R

嵌入式系统硬件方案分析与设计 三个阶段:

系统方案分析与设计 PCB 的仿真设计 PCB 的调试与测试

Page 86: C  H  A  P  T  E  R

系统方案分析与设计阶段 根据系统所要完成的功能,选择合适的处理

器和外围器件,完成系统的功能框图设计和原理图设计

Page 87: C  H  A  P  T  E  R

PCB仿真设计阶段 需要在 EDA仿真设计平台下,对 PCB板上

的信号完整性、 EMI 等进行仿真,根据仿真结果来对 PCB 进行合理的布局布线,完成 PCB 的设计

Page 88: C  H  A  P  T  E  R

PCB 的加工 对加工完成的 PCB 进行调试和测试,完成整

个系统硬件的设计

Page 89: C  H  A  P  T  E  R

以一个便携式 GPS导航系统的开发实例来说明整个系统设计的流程

Page 90: C  H  A  P  T  E  R

需求 便携式 GPS 导航系统是一个手持的电池供

电系统,需要完成以下功能 能够存储电子地图信息并在 LCD 显示屏上显

示 能够接收 GPS 信号,根据 GPS 收到的信息可

以确定当前在地图中所处的位置 给定起点和终点可以计算出合理的行进路线 可以通过以太网下载更新电子地图或系统软件 有 USB 主端接口,满足 USB1.1 规范,可以挂

接键盘、鼠标和存储设备等

Page 91: C  H  A  P  T  E  R

分析 根据系统功能,可以确定该系统需要有以下的内存

和功能接口 32MB Flash 存储器,用于存储电子地图信息 4MB Flash 存储器,用于存储系统软件 64MB SDRAM ,用作系统运行内存 TFT-LCD 接口,支持 16 位颜色, 6.4英寸 TFT-LCD

显示屏 RS232 接口,用于与 GPS模块通讯 10M 以太网接口 USB 主端接口 支持 6.4英寸四线电阻式触摸屏

Page 92: C  H  A  P  T  E  R

处理器的选择 嵌入式系统设计的差异性极大,因此选择是多样化的 选择:

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蓝牙接口

Page 93: C  H  A  P  T  E  R

外围部件 存储器控制器。可为多种存储器芯片提供可编程的控制信号。支持 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像素

Page 94: C  H  A  P  T  E  R

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 个引脚的通用串行通讯端口,其中一个引脚用于数据和地址,另一个用于时钟

Page 95: C  H  A  P  T  E  R

通用 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

Page 96: C  H  A  P  T  E  R

为什么选择 PXA255? ① 处理器性能

不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和 I/O子系统

可能会升级的系统,可以考虑在完成目前作业的情况下还能够有一定的性能余量处理器

便携式 GPS导航系统在显示和路线计算方面对处理器的性能要求都比较高,而 PXA255则具有较高的处理性能,系统时钟频率可以达到 400MHz ,外围总线频率可以达到 100MHz ,能够较好的完成该系统所要求的功能

Page 97: C  H  A  P  T  E  R

② 集成外围接口 内部有集成的 LCD 控制器,可以直接支持 16 位颜色的 TFT-LCD显示屏

有多个 UART 通讯口,可以方便的扩出与 GPS 模块通讯的 RS232通讯口

使系统的设计变得相对简单 ③ 功耗

当工作在 400MHz 时钟频率运行模式下, PXA255 的功耗的典型值仅为 411mW

如果降低工作频率,处理器的功耗会变得更低 PXA255还提供了加速模式、运行模式、待机模式和睡眠模式这四种工作模式,可以方便的进行电源管理

在相应的开发板上做前期的试验评估,确保在软硬件方面都能够满足设计的要求

Page 98: C  H  A  P  T  E  R

外围器件的选择 Micron 公司的 MT48LC16M16A2 是位宽为 1

6 位,容量为 32MB 的 SDRAM 。系统中采用两片 MT48LC16M16A2 来组成所需要的 32 位宽、 32MB 的运行内存。

Intel 公司的 TE28F160C3T 和 28F128J3C 是两款 NOR型闪存。系统中分别采用两片 TE28F160C3T 和两片 28F128J3C 来用作系统程序的存储器和电子地图的存储器。

Page 99: C  H  A  P  T  E  R

10M 以太网接口可以通过 CirrusLogic 公司的 CS8900A 来提供

CS8900A 是用于嵌入式设备的低成本以太局域网控制器。它的高度集成设计使其不再需要其它以太网控制器所必需的昂贵外部器件。CS8900A包括片上 RAM , 10Base-T传输和接收滤波器,以及带 24毫安驱动的直接 ISA-总线接口

Page 100: C  H  A  P  T  E  R

Cypress 公司的 SL811HS 可用来提供系统中所需的满足 USB1.1 规范的 USB 主端接口。

SL811HS 是一个既可以作为 USB 主端也可以作为 USB从端,既可以工作在全速模式( 12Mbps )也可以工作在低速模式( 1.5Mbps )的嵌入式 USB 主端 /从端控制器

它可以直接与多种总线挂接,如嵌入式处理器的数据总线、 ISA总线和 PCMCIA总线等

Page 101: C  H  A  P  T  E  R

TI 公司的 ADS7843E 是一款高性能低功耗的四线电阻式触摸屏控制器

通过它系统可以方便的挂接四线电阻式触摸屏

内部集成一个 12 位分辨率的模数转换器( ADC ),最高转换速度可以达到 125KHz ,并通过串行口与处理器进行通讯

Page 102: C  H  A  P  T  E  R

电源方案的设计 两种基本的直流 / 直流变换的电源供电方式

线性稳压电源 开关稳压电源

线性稳压电源 优点就是电路结构简单,可靠性高,所需电路元件数量

少,电源纹波小 一个致命的弱点就是效率低,功耗大

开关稳压电源 优点就是转换效率高,一般可以达到 80%以上 升降压比较灵活

便携式 GPS导航系统是一个电池供电的手持系统 尽量使用高转换效率的开关稳压电源来实现系统的供电

Page 103: C  H  A  P  T  E  R

便携式GPS导航系统

锂离子电池

DS2762

电池电量检测器及电池保护器

MAX1586B

多路电源管理器芯片

MAX745

锂离子电池充电器

0. 8-1. 3VPXA255核心电源

内置备用电源

1. 3VPXA255锁相环电源

3. 3VPXA255外围接口电源

3. 3V系统外围电路电源

备用电源 实时时钟备用电源

MAX771

12V输出升压型开关稳压器

12VLCD背光逆变器电源

Page 104: C  H  A  P  T  E  R

整体框架图

PXA255

实时时钟(DS1339)

RS232通讯接口

SDRAM存储器

TFT-LCD接口

Fl ash存储器

系统休眠键 复位键

电源及电源管理

USB主端控制器

(SL811HS)

触摸屏控制器

(ADS7843E)

四线电阻触摸屏

数据总线

电源及状态指示灯

32

32

8数字电位器

背光亮度调节

以太网控制器

CS8900A( )

32

Page 105: C  H  A  P  T  E  R

嵌入式系统硬件仿真设计 Cadence PSD PCB仿真设计平台 为例

Page 106: C  H  A  P  T  E  R
Page 107: C  H  A  P  T  E  R

创建 PXA255 原理图库

Page 108: C  H  A  P  T  E  R

Concept-HDL 原理图输入界面

Page 109: C  H  A  P  T  E  R

Allegro PCB布局布线工具界面

Page 110: C  H  A  P  T  E  R

PCB板层设定界面

Page 111: C  H  A  P  T  E  R

SPECCTRAQuest仿真设计工具界面

Page 112: C  H  A  P  T  E  R

数据线 D7 的拓扑结构

Page 113: C  H  A  P  T  E  R

数据线 D7 的仿真波形

Page 114: C  H  A  P  T  E  R

常用的终端匹配方法

Page 115: C  H  A  P  T  E  R

加入串连电阻终端后数据线 D7

Page 116: C  H  A  P  T  E  R

加入串连电阻终端后数据线 D7 的仿真波形

Page 117: C  H  A  P  T  E  R

系统实际工作时的照片

Page 118: C  H  A  P  T  E  R

开始新工程

编辑源代码

交叉编译连接

仿真调试

程序下载

台式/笔记本式PC机

并口

JTAG仿真器

网络接口JTAG接口USB接口串口

0

ARM300开发板

串口

USB接口

以太网口

ARMSDT

Debug

ArmDvk

ARM7处理器执行

监测结果

超级终端

基于ARM平台的开发流程结束

嵌入式软件开发流程

Page 119: C  H  A  P  T  E  R

Bonus

讨论实例:嵌入式网络视频播放器 ( 1 )协同设计问题 ( 2 )硬件设计实现

Page 120: C  H  A  P  T  E  R

嵌入式网络视频播放器

Modem ADSL

远程服务器

PSTNEthernet

控制器

串口 1 串口 2 VGA in

VGA out

Audio out

多媒体终端

设置终端 (NoteBook)LCD + Key Board

串口 3

嵌入式网络视频播放器外部接口示意图

Page 121: C  H  A  P  T  E  R

嵌入式网络视频播放器硬件结构框图

UART

处理器 PXA27x

16MB SDRAM

4MBFlash

CF卡扩展槽 Up to 12

8MB UART

电源管理

时钟管理

调试接口

以太网控制器

以太网接口Modem

控制器

设置终端

FPGAXC2S100

UART

Up to 256MB SDRAM

MPEG-4解码 EM8630

视频切换模块控制信号 VGA

音频

多媒体终端

Page 122: C  H  A  P  T  E  R

本节提要

1111

3333

2222

4444

嵌入式系统硬件基础

嵌入式系统开发环境

嵌入式系统硬件开发流程

芯片封装知识简介

Page 123: C  H  A  P  T  E  R

芯片封装知识简介 芯片封装

安装半导体集成电路芯片用的外壳 安放、固定、密封、保持芯片和增强电热性能 内部芯片与外部电路的连接

封装考虑的主要因素 芯片面积与封装面积之比尽量接近 1:1 基于散热的要求,封装越薄越好 引脚尽量短,引脚间距尽量大 要便于安装

发展历史 上世纪 60 年代末期到现在,经历了金属圆管壳→扁平陶瓷管壳→双列陶瓷管壳、双列塑封→陶瓷 QFP管壳、塑料 QFP→陶瓷、塑料 LCC→陶瓷 PGA管壳的封装,目前正在进入 BGA 、 μBGA 、 CSP 的封装阶段。

Page 124: C  H  A  P  T  E  R

芯片封装知识简介 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

Page 125: C  H  A  P  T  E  R

芯片封装知识简介 双列直插式 (Dual Inline Package, DIP)

8088 CPU 绝大多数中小规模 IC 均采用这种封装形式,引

脚 <100 芯片面积和封装面积之比大

Intel CPU 4004

Page 126: C  H  A  P  T  E  R

芯片封装知识简介 塑料方型扁平式 (Plastic Quad Flat Package, PQFP) 塑料扁平式( Plastic Flat Package , PFP )

间距小,管脚细,管脚数 >100 专用工具(表面安装设备 SMD )装卸 高频使用、可靠性高,封装面积小

Page 127: C  H  A  P  T  E  R

芯片封装知识简介 引脚网格阵列( Pin Grid Array , PGA )

专用 PGA插槽 操作方便,可靠性高,但电耗大 Intel CPU中 80286 、 80386 和某些 486 ZIF ( Zero Insertion Force )插座, 486 以后

Page 128: C  H  A  P  T  E  R

芯片封装知识简介 球状网格阵列( Ball Grid Array , BGA )

>100MHz, Crosstalk, >208Pin BGA封装引脚数虽然增多,但引脚间距大于 QFP 传输延迟小,散热性能好 ( 可控塌陷封装法 ) 共面焊接,可靠性提高 1.5mm,1.27mm,1.0mm

Page 129: C  H  A  P  T  E  R

芯片封装知识简介 芯片级封装( Chip Scale Package , CSP )

体积小,重量轻 引脚多 电、热、气密性能好