81
www.njyangqs.com www.njyangqs.com 现现现现现现现现现现现 现现现现现现现现现现现 ( ( 2 2 ) ) 1 第6第 第第第第第第

第 6 章 微机总线标准

  • Upload
    renate

  • View
    89

  • Download
    6

Embed Size (px)

DESCRIPTION

第 6 章 微机总线标准. 6.1 总线概述. 6.1.1 总线标准的概念与特性. ◆ 总线:是在模块和模块之间或设备与设备之间的一组进行互连和传输信息的 信号线 ,信息包括指令、数据和地址。. ◆ 总线标准 指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。. 总线标准的特性. 1 .物理特性 : 2 .功能特性 : 3 .电器特性 : 4 .时间特性 :. 总线物理连接方式 ( 电缆式、蚀刻式),总线根数、插头和插座形状,引脚排列等。. 描述一组总线中每一根线的功能。. - PowerPoint PPT Presentation

Citation preview

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

1

第 6 章 微机总线标准

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

2

6.1.1 总线标准的概念与特性

◆ 总线:是在模块和模块之间或设备与设备之间的一组进行互连和传输信息的信号线信号线,信息包括指令、数据和地址。

6.1 总线概述

◆ 总线标准 指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

3

1 .物理特性 :

2 .功能特性 :

3 .电器特性 :

4 .时间特性 :

总线物理连接方式 ( 电缆式、蚀刻式),总线根数、插头和插座形状,引脚排列等。描述一组总线中每一根线的功能。

定义每一根线在什么时候有效,这和总线操作的时序有关。

定义每根线上信号的传递方向以及有效电平范围。一般定义送入 CPU 的信号为输入信号,从 CPU 中送出的信号是输出信号。低电平有效的信号用信号名后带低电平有效的信号用信号名后带 ## 来来表示。如表示。如 CS#CS#、、 REQ#REQ#

总线标准的特性总线标准的特性

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

4

6.1.2 总线的分类

1) 按总线功能或信号类型划分为: 数据总线数据总线:双向三态逻辑,线宽表示了总线

数据传输的能力。 地址总线地址总线:单向三态逻辑,线宽决定了系统

的寻址能力。 控制总线控制总线:就某根来说是单向或双向。控制

总线最能体现总线特点,决定总线功能的强弱和适应性。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

5

2) 按总线的分级结构分为: CPUCPU 总线总线:微机系统中速度最快的总线,主要在

CPU 内部,连接 CPU 内部部件,在 CPU 周围的小范围内也分布该总线,提供系统原始的控制和命令。

局部总线局部总线:在系统总线和 CPU 总线之间的一级总线,提供 CPU 和主板器件之间以及 CPU 到高速外设之间的快速信息通道。

系统总线系统总线:也称为 I/O 总线,是传统的通过总线扩展卡连接外部设备的总线。由于速度慢,其功能已经被局部总线替代。

通信总线通信总线:也称为外部总线,是微机与微机,微机与外设之间进行通信的总线。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

6

6.1.3 总线的主要性能参数

1 .总线频率: MHz 表示的工作频率,是总线速率的一个重要参数。2 .总线宽度:指数据总线的位数。

3 .总线的数据传输率 总线的数据传输率总线的数据传输率 =(=( 总线宽度总线宽度 /8/8位位 )×)× 总线频总线频

率率 例: PCI 总线的总线频率为 33.3MHz ,总线宽度为 64 位的情况下,总线数据传输率为 266MB/s

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

7

6.1.4 总线操作和总线传送控制 一、总线操作的 4 个阶段 1 .总线请求和仲裁阶段总线请求和仲裁阶段:

主模块向总线仲裁机构提出总线使用申请,总线仲裁机构决定使用总线的主模块。2 .寻址阶段寻址阶段: 拥有总线使用权的主模块发出本次要访问的从模块的地址及有关命令,该从模块被选中并启动。3 .数据传送阶段数据传送阶段: 主模块和从模块间进行双(单)向数据传送。4 .结束阶段结束阶段: 主、从模块均撤出总线。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

8

二、总线传送控制1 .同步方式

优点: 1 )电路简单 2 )适合高速设备的数据传输缺点:高速设备和低速设备间只能用低速设备的

速度来传输数据

主clk

2 .半同步方式

主clk

从wait/ready

wait/ready 信号是单向的,不是互锁的。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

9

总线读周期读周期分成两个子周期• 寻址子周期• 数据传送子周期在两子周期之间,退出总线,从设备准备数据。

4 .分离方式

clk

addressdata

主 从

3 .异步方式 REQ

ACK

• 比同步方式慢• 总线频带窄• 总线传输周期长

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

10

6.2 PCI 总线

6.2.1 PCI6.2.1 PCI 总线的特点总线的特点

1)独立于处理器2) 传输效率高3) 多总线共存4) 支持突发传输 5) 支持总线主控方

6) 采用同步操作 7) 支持两种电压下的扩展卡 8) 具有即插即用功能 9) 合理的管脚安排 10) 预留扩展空间

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

11

6.2.2 PCI6.2.2 PCI 信号定义 信号定义

1.1. 系统接口信号系统接口信号

CLK IN: PCI 系统总线时钟 最高最高 33MHz/66MHz33MHz/66MHz ,最低,最低 0Hz0Hz 。。PCIPCI 大部分信号在大部分信号在 CLKCLK 的上升沿有效的上升沿有效。。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

12

C/BE[3:0]# T/S :它们是总线命令和字节使能多路复用信号线

PAR T/S :针对 AD[31:00]和 C/BE[3:0]# 进行奇偶校验的校验位

在在 FRAME#FRAME# 有效的第有效的第 11 个时钟,个时钟, AD[31:00]AD[31:00] 上传上传送的是送的是 3232 位地址,称为位地址,称为地址期地址期 。 。

在在 IRDY#IRDY#和和 TRDY#TRDY# 同时有效时,同时有效时, AD[31:00]AD[31:00] 上上传送的为传送的为 3232 位数据,称为位数据,称为数据期数据期。。

2.2. 地址与数据接口信号地址与数据接口信号

AD[31:00] T/S :它们是地址、数据多路复用的输入 / 输出信号

地址期内是总线命令,数据期内是字节使能信号。地址期内是总线命令,数据期内是字节使能信号。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

13

3.3. 接口控制信号接口控制信号 FRAME# S/T/S :帧周期信号

IRDY# S/T/S :主设备准备好信号 TRDY# S/T/S :从设备准备好信号 STOP# S/T/S :从设备发出的要求主设备终止当前的

数据传送的信号。 LOCK# S/T/S :锁定信号 IDSEL IN :初始化设备选择信号,访问配置空间的

时候作为片选 DEVSEL# S/T/S :设备选择信号,由常规访问期间

被选中的从设备驱动

FRAME#FRAME# 信号无效表示传输进入最后一个数据期。 信号无效表示传输进入最后一个数据期。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

14

4.4. 仲裁接口信号仲裁接口信号

REQ# T/S :总线占用请求信号 GNT# T/S :总线占用允许信号

5.5.错误报告接口信号错误报告接口信号

PERR# S/T/S :数据奇偶校验错误报告信号 SERR# O/D :系统错误报告信号 6.6. 中断接口信号中断接口信号

PCI有 4条中断线,分别是INTA#、 INTB#、 INTC#、 INTD# ,电平触发,多功能设备可以任意选择一个或多个中断线,单功能设备只能用 INTA# 。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

15

7. 647. 64 位总线扩展信号位总线扩展信号

AD[63:32] T/S :扩展的 32 位地址和数据多路复用线 C/BE[7:4]# T/S :总线命令和字节使能多路复用扩展

信号线 REQ64# S/T/S, 64 位传输请求信号 ACK64# S/T/S: 64 位传输允许信号 PAR64 T/S :奇偶双字节校验

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

16

6.2.3 PCI6.2.3 PCI 插槽和插槽和 PCIPCI 扩展卡扩展卡 1. PCI 插槽

5V 32 位插槽

5V 64 位插槽

3.3V 32 位插槽

3.3V 64 位插槽

连 接卡口

a. 4种 PCI 卡插槽

A1

外 内

A49A52

B1 B49 B52

A62

B621.27

3.8277.48

b. 5V32 位 PCI 插槽

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

17

2.PCI 插卡

IC

ICIC

1.91

60.96 12.741.6

80

外边

里边

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

18

6.2.4 PCI6.2.4 PCI 总线命令总线命令 PCI 总线命令表

C/BE[3:0]# 命令类型说明 C/BE[3:0]# 命令类型说明0000 中断响应 1000 保留0001 特殊周期 1001 保留0010 I/O读 (从 I/O端口地址中读数

据 )1010 配置读

0011 I/O写 (向 I/O端口地址中写数据 )

1011 配置写0100 保留 1100 存储器多行读0101 保留 1101 双地址周期0110 存储器读 ( 从内存空间映像中读数 ) 1110 存储器行读0111 存储器写 ( 向内存空间映像中写 ) 1111 存储器写并无效

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

19

6.2.5 PCI6.2.5 PCI 总线协议 总线协议 11.. PCIPCI 总线的传输控制遵循的管理规则:总线的传输控制遵循的管理规则:(1) FRAME#和 IRDY# 定义了总线的忙 /闲状态。

1111 空闲、空闲、 0000 数据、数据、 1010 最后一个数据、最后一个数据、 0101 等待状态等待状态。。

(2) 一旦 FRAME# 信号被置为无效,在同一传输期间不能重新设置。(3) 除非设置 IRDY# 信号,一般情况下不能设置FRAME# 信号无效。

(4) 一旦主设备设置了 IRDY# 信号,直到当前数据期结束为止,主设备一般不能改变 IRDY# 信号和FRAME# 信号的状态。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

20

22.. PCIPCI 总线的寻址(采用分散地址译码技术)总线的寻址(采用分散地址译码技术)

表 3.4 AD[1:0]和 C/BE[3:0]#对应关系表AD1 AD0 C/BE3# C/BE2# C/BE1# C/BE0#

0 0 × × × 0

0 1 × × 0 1

1 0 × 0 1 1

1 1 0 1 1 1

(1) I/O 地址空间 在在 I/OI/O 地址空间,地址空间, 3232位位 ADAD 线全部被用来提供线全部被用来提供

一个完整的地址编码(字节地址)。一个完整的地址编码(字节地址)。 AD[1:0]AD[1:0]和和 C/BE[3:0]C/BE[3:0] 指明传输的最低有效字节指明传输的最低有效字节

。。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

21

(2) 内存地址空间

(3) 配置地址空间

31 01

双字边界对齐的起始地址2

00 地址递增01 Cache 行切换1X 保留

7 01

双字边界对齐的起始地址2

00 选择该设备01 访问该桥路后设备1X 保留

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

22

33 .字节使能 .字节使能

44.. PCIPCI 总线的驱动与过渡 总线的驱动与过渡

PCI 总线上不能进行字节的交换。但是,具有 64位通道的主设备可以进行 DWORD (双字)的交换。 主设备可以在每个新数据期开始的时钟前沿每个新数据期开始的时钟前沿改变字节使能信号,且在整个数据期中保持不变。 读缓冲中的数据可以不考虑字节使能信号,而传送所有的字节。

在每个地址(数据)期中,所有的 AD 线都必须被驱动到稳定的状态(数据),包括那些字节使能信号表明无效的字节所对应的 AD 线。

从一个设备驱动总线到另一个设备驱动 PCI 总线之间设置一个过渡期过渡期,又称为交换周期,以防止总线访问冲突。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

23

55 .设备选择 .设备选择

CLK

FRAME#

IRDY#

TRDY#

DEVSEL#

1 2 3 4 5 6 7 8

FAST MED SLOW ……

设备选择的时序关系

注意 DEVSEL#与 FRAME#、 TRDY# 的关系,无 DEVSEL#信号时的处理。DEVSEL# 由从设备共享使用,并由被选中的从设备驱动。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

24

6.2.6 PCI6.2.6 PCI 总线数据传输过程总线数据传输过程

11 .总线上的读操作 .总线上的读操作

CLK

FRAME#

1 2 3 4 5 6 7 8 9

AD

C/BE#

IRDY#

TRDY#

DEVSEL#

ADDRESSADDRESS DATA1DATA1 DATA2DATA2 DATA3DATA3

BUSCMDBUSCMD BE#sBE#s

地址期 数据期 数据期 数据期PCI 读操作时序

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

25

22 .总线上的写操作 .总线上的写操作

CLK

FRAME#

1 2 3 4 5 6 7 8 9

AD

C/BE#

IRDY#

TRDY#

DEVSEL#

ADDRESADDRESSS

DATA2DATA2DATA1DATA1 DATA3DATA3

BUSCMDBUSCMD

地址期 数据期数据期 数据期

PCI写操作时序

BEs1BEs1 BEs2BEs2 BEs3BEs3

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

26

3 .传输的终止过程 (1) 由主设备提出的终止

(2) 由从设备提出的终止

• 传输结束传输结束

•超时超时 (GNT#(GNT# 信号在内部延时计数器满后仍无效信号在内部延时计数器满后仍无效 ))

•死锁后重试死锁后重试•断开(断开( 88 个时钟周期内从设备不能对主设备做个时钟周期内从设备不能对主设备做

出响应)。出响应)。

撤消撤消 FRAME#FRAME# ,建立,建立 IRDY#IRDY# ,直到,直到TRDY#TRDY# 有效后传输完最后一个数据有效后传输完最后一个数据

发出发出 STOP#STOP# 信号并保持其有效,直到信号并保持其有效,直到FRAME#FRAME# 撤消为止。撤消为止。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

27

PCI 总线上的所有传输操作中, FRAME#、 IRDY#、 TRDY#和 STOP# 遵循的规则:• 当当 STOP#STOP# 信号有效时,信号有效时, FRAME#FRAME# 应该在其后的应该在其后的

2~32~3 个时钟周期内尽快撤消,但撤消时应使个时钟周期内尽快撤消,但撤消时应使IRDY#IRDY# 有效,从设备应无条件的保持有效,从设备应无条件的保持 STOP#STOP# 的的有效状态直到有效状态直到 FRAME#FRAME# 撤消为止。撤消为止。 FRAME#FRAME# 撤撤消后,消后, STOP#STOP# 也应该紧跟着撤消。也应该紧跟着撤消。

• 在任何时钟的上升沿,如果在任何时钟的上升沿,如果 STOP#STOP#和和 TRDY#TRDY# 同同时有效,就表示是传输的最后周期,时有效,就表示是传输的最后周期, IRDY#IRDY# 要在要在下一个时钟的上升沿之前撤消,表示传输的结束下一个时钟的上升沿之前撤消,表示传输的结束。。

• 对于被目标设备终止的传输,主设备要继续完成对于被目标设备终止的传输,主设备要继续完成它,就必须用下一个未传输的数据的地址来重试它,就必须用下一个未传输的数据的地址来重试访问。访问。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

28

6.2.7 6.2.7 总线仲裁总线仲裁 PCI 总线采用集中式的同步仲裁方法

中央仲裁器

PCI 主设备 A

PCI 主设备 B

REQ# REQ#

GNT#GNT#

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

29

CLK

FRAME#

1 2 3 4 5 6 7

AD

GNT#-B

IRDY#

TRDY#

GNT#-A

地址地址 数据数据

A 存取

B 存取 两个主设备之间的 PCI 总线仲裁

REQ#-B

REQ#-A

地址地址数据数据

c

a b

d e

f g

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

30

1、 PCI 设备的配置空间

定义一个 PCI 总线配置空间的目的在于提供一套适当的配置措施,使之实现完全的设备再定位而无需用户干预安装、配置和引导无需用户干预安装、配置和引导,并由与设备无关的软件进行系统地址映射。 所有 PCI 设备都必须实现 PCI 协议规定必需的配置寄存器,以便系统加电的时候利用这些寄存器的信息来进行系统配置。对 PCI 的配置访问实际上就是访问设备的配置寄存器。

在系统启动的时候由 BIOS 代码执行设备配置。一旦即插即用 OS (如 Windows2000/XP )启动后,控制就传递给 OS, OS 接管设备管理。

6.2.8 PCI6.2.8 PCI 总线配置总线配置

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

31

2 、配置空间头区域及功能

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

32

(1) 设备识别设备识别 头区域有 7 个寄存器(字段)用于设备的识别。(2) 设备控制设备控制 表现在命令寄存器为发出和响应 PCI 总线命令提供了对设备粗略的控制。 (3) 设备状态设备状态 状态寄存器用于记录 PCI 总线有关操作的状态信息。注意:该寄存器的有些位是只可清不注意:该寄存器的有些位是只可清不可置,对这些位的写,被解释为对该位清零。可置,对这些位的写,被解释为对该位清零。例如,为了清位 14而不影响其他位,应向该寄存器写 0100 0000 0000 0000B

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

33

(4)基址寄存器基址寄存器 PCI 设备的配置空间可以在微处理器决定的地址空间中浮动,以便简化设备的配置过程。系系统初始化代码在引导操作系统之前,必须建立统初始化代码在引导操作系统之前,必须建立一个统一的地址映射关系,以确定系统中有多一个统一的地址映射关系,以确定系统中有多少存储器和少存储器和 I/OI/O 控制器,它们需要占用多少地控制器,它们需要占用多少地址空间。址空间。当确定这些信息之后,系统初始化代码便可以把 I/O 控制器映射到合理的地址空间并引导系统。 为了使这种映射能够做到与相应的设备无关,在配置空间的头区域中安排了一组供映射时使用的基址寄存器。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

34

10

I/O空间指针

规范规定每个规范规定每个 I/OI/O基地基地址下的端口数不得大于址下的端口数不得大于 256256。。

31 2 1 0

基 地 址

0预取使能

存储空间指针0000 32 位地址空间任意映射0101 32 位地址空间 1M字节以内映射(已经不用)10 10 64 位地址空间任意映射 1111 保留

31(63) 3 2 1 0

基 地 址

保留

返回

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

35

具体实现的过程中,除了低四位满足上述要求外,高位部分实际设置位数视映射多大地址空间范围而定,根据地址范围,决定高多少位需要设置,这些位被设置成可写,高位部分的其它位用硬件使其为 0 ,并只可读。基地址设置过程:

系统初始化程序向基地址寄存器写全 1

系统初始化程序读出基地址寄存器的内容

系统初始化程序判断设备需要的地址空间大小

系统初始化程序分配基地址并写回到该基地址寄存器

如设备需要使用如设备需要使用 1MB1MB 的存储空间,硬件实现基地址寄存的存储空间,硬件实现基地址寄存器的时候应该使位器的时候应该使位 00 ,位,位 44~位~位 1919 由硬件使其保持为由硬件使其保持为 00

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

36

举例 1 :系统初始化向基址寄存器写全 1 后读出的值=FFF00000h• 位 0=0 ,表示是一个存储器地址空间映射• 位 [2:1]=00b ,它是 32 位存储器映射• 位 3=0 ,表示它不是预取存储器。• 位 [31:4] 第一个为 1 的是位 20 ,表示映射的存储空间为 220= 1MB 。这意味着存储映射的基地址应该起始于1MB、 2MB、 3MB 等的边界上。

系统经过权衡后再向该基址寄存器写入实际映射的空系统经过权衡后再向该基址寄存器写入实际映射的空间基址,该基址应该是间基址,该基址应该是 1MB1MB边界的,如:边界的,如:FFF00000H, FFE00000H, FE000000HFFF00000H, FFE00000H, FE000000H 等。等。问:问: FFF10000HFFF10000H 地址能不能做该设备存储基址?地址能不能做该设备存储基址?

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

37

举例 2 :基址寄存器的值 =FFFFFF01h

• 位 0=1 ,表示是一个 I/O 地址空间映射• 位 [31:2]第一个为 1 的是位 8 ,表示映射的 I/O空间为28= 256 。这意味着 I/O映射的基地址应该是 256 的整数倍。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

38

最大 / 最小映射地址空间是多少?最大最大 // 最小存储映射地址空间最小存储映射地址空间最小存储映射地址空间 =16字节( 24 )最大存储映射地址空间 =2GB( 231 )最大最大 // 最小最小 I/OI/O 映射地址空间映射地址空间最小 I/O映射地址空间 =4字节( 22 )最大存储映射地址空间 =256字节(协议规定)

转前

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

39

扩展 ROM 访问允许

31 11 10 1 0

基 地 址 保 留

扩展 ROM基地址寄存器

扩展 ROM基地址 =FFFF0001h• 位 0=1 ,表示扩展 ROM 访问允许• 位 [31:11]第一个为 1 的是位 16 ,表示映射的存储空间为 64K。这意味着 ROM映射的基地址应该起始于 64KB 的边界

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

40

(5) 头区域中其它寄存器头区域中其它寄存器 中断引脚寄存器中断引脚寄存器 8 位只读寄存器,指明设备使用了 PCI 的哪个中断引脚。 1 代表 INTA#, 2为INTB#……中断请求线寄存器中断请求线寄存器 8 位可读 /写寄存器,指明设备的中断引脚和PC 机的 8259A 的哪个中断输入线连。Min_Gnt/Max_latMin_Gnt/Max_lat 寄存器寄存器 Min_Gnt 用来指定设备需要多长的突发传输时间。 Max_lat 用来表示对 PCI 总线进行访问的频繁程度。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

41

2 .配置空间的访问 (1) (1) 配置空间访问时目标设备的选择 配置空间访问时目标设备的选择 对于某一 PCI 设备,1)1) 只有当输入它的只有当输入它的 IDSELIDSEL 信号有效信号有效,,2)2) 并且在地址期内并且在地址期内 AD[1AD[1::0]0]为为 0000 时时,, 才能被作为配置访问的目标设备。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

42

(2) (2) 配置空间访问的类型 配置空间访问的类型 · 0· 0 类配置空间访问类配置空间访问 对(正在运行的)当前当前 PCI 总线上的目标设备配置寄存器所进行的访问。

被配置访问的目标设备必须在地址期采样到其IDSEL 输入信号有效,且 AD[1∶0]必须为 00。

地址期地址期, AD[1AD[1∶∶0]0] 必须为必须为 0000; AD[10∶8] 用于选择物理设备的八种功能之一 ; AD [7∶2]为选择该功能设备的配置寄存器号 ( 双字号)。 AD[31:11]可用于连接各设备的 IDSEL 信号

数据期数据期, AD[31∶0] 传送的是配置读 /写数据。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

43

· 11 类配置空间访问类配置空间访问 对(通过 PCI/PCI桥连接的)下一级下一级 PCI 总

线上的目标设备 (配置寄存器 )所进行的访问。

地址期 ,地址期 , AD[1AD[1∶∶0]0] 必须为必须为 0101; AD[10∶8] 作为选择物理设备的八种功能之一 。 AD[7∶2]为选择该功能设备的配置寄存器号; AD[15∶11] 用于存放第二级总线上被选中设备的 IDSEL 号, AD[23∶16] 放总线号。

桥片中也有桥配置空间寄存器,存放有总线号和次级总线号等信息。

一旦 PCI/PCI桥检测到 1 类配置访问,就有三种情况,须分别进行处理。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

44

桥桥 AA

桥桥 BB设备设备

设备设备

CPUCPU总线总线

PCIPCI总线总线00PCIPCI总线总线11

•如果要访问的总线号既不同于桥的第二级总线号,也不在桥的第二级总线号的下级总线范围内,那么桥将忽略本次访问。

•如果总线号不同于桥的第二级总线,但在桥的第二级总线号的下级总线范围内,那么桥将本次访问作为 1 类配置访问传递给第二级总线。配置命令从第一级传递到第二级 C/BE# 总线。

• 如果总线号与桥的第二级总线号相同,那么桥将本次访问作为 0 类配置访问传递给第二级总线。 AD[10:2]直接从桥的第一级传递到第二级 AD 总线。 AD[15:11 ] 的设备号用于决定第二级总线上哪个设备的 IDSEL 信号被设置有效。配置命令从第一级传递到第二级 C/BE# 总线。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

45

针对 x86兼容的系统, PCI 协议定义了将处理器发出的 I/O 访问识别为配置访问,或将处理器发出的存储器访问转换为配置访问的转换机构,称为配配置机构置机构。

(3) 配置访问的访问方法

配置机构是利用两个 32 位的 I/O端口寄存器来访问PCI 设备的配置空间的。• 配置地址地址端口寄存器( I/O 地址为 0CF8H~0CFBH)• 配置数据数据端口寄存器( I/O 地址为 0CFCH~0CFFH) 第一步,将要访问的总线号、设备号、功能号和第一步,将要访问的总线号、设备号、功能号和寄存器号写到配置地址端口寄存器。(寄存器号写到配置地址端口寄存器。( 3232 位写) 位写) 第二步,执行一次对配置数据端口寄存器的读第二步,执行一次对配置数据端口寄存器的读 //写写。 。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

46

6.2.9 PCI BIOS6.2.9 PCI BIOS

初始化程序只能通过 PCI BIOS才能访问 PCI配置寄存器。 PCI BIOS再通过配置地址端口寄存器和配置数据端口寄存器实现其功能。

11、、 1616位位 PCI BIOSPCI BIOS 的调用的调用 通过 INT 1AH实现: AH=B1H, AL 为子功能号。22、、 3232位位 PCI BIOSPCI BIOS 的调用的调用 确认 32位 BIOS 是否存在; 确认 BIOS 是否支持 PCI BIOS ,取得 PCI BIOS 入口地址; 通过对 PCI BIOS 入口地址的远程调用来实现:AH=B1H, AL 为子功能号。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

47

6.3 通用串行总线 USB

1. USB 的硬件 USB 主控制器 / 根集线器 主控制器负责将并行数据转换成串行,并将数据传给根集线器主控制器负责将并行数据转换成串行,并将数据传给根集线器。根集线器控制。根集线器控制 USBUSB端口的电源,激活和禁止端口,识别与端端口的电源,激活和禁止端口,识别与端口相连的设备,设置和报告与每个端口相连的状态事件。口相连的设备,设置和报告与每个端口相连的状态事件。 USB集线器 (USB Hub)

完成完成 USBUSB 设备的添加(扩展)、删除和电源管理等。设备的添加(扩展)、删除和电源管理等。 USB 设备 HUBHUB 设备和功能设备(外设),外设含一定数量独立的寄存器设备和功能设备(外设),外设含一定数量独立的寄存器端口(端点)。外设有一个惟一的地址。通过这个地址和端点号端口(端点)。外设有一个惟一的地址。通过这个地址和端点号,主机软件可以和每个端点通信。数据的传送是在主机软件和,主机软件可以和每个端点通信。数据的传送是在主机软件和USBUSB 设备的端点之间进行的。设备的端点之间进行的。

6.3.1 USB 系统组成

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

48

USB 设备驱动程序 在在 USBUSB 外设中,通过外设中,通过 I/OI/O 请求包将请求发送给请求包将请求发送给USBUSB 设备中的设备中的 USBUSB (从)控制器。(从)控制器。

USB驱动程序 在主机中,当设置在主机中,当设置 USBUSB 设备时读取描述器以获取设备时读取描述器以获取USBUSB 设备的特征,并根据这些特征,在发生请求时设备的特征,并根据这些特征,在发生请求时组织数据传输。 组织数据传输。 USBUSB驱动程序可以是捆绑在操作系驱动程序可以是捆绑在操作系统中,也可以是以可装载的驱动程序形式加入到操作统中,也可以是以可装载的驱动程序形式加入到操作系统中。系统中。

USB 主控制器驱动程序 完成对完成对 USBUSB事务交换的调度,并通过根事务交换的调度,并通过根 HubHub 或其或其他的他的 HubHub完成对交换的初始化。完成对交换的初始化。

2. USB 的软件

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

49

3. USB 的拓扑结构 PCI 总线

宿主机

USB 主控制器 /根Hub

高速电话

高速

显示器高速集线器

高速麦克风 扬声器

高速

扬声器

高速

键盘

高速

低速麦克风 麦克风

低速高 速=480Mb/s全速 =12Mb/s低速 =1.5Mb/s

USB 的层次拓扑图

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

50

6.3.2 USB 系统的接口信号和电气特性 1. 接口信号线

高 /全 / 低速USB收发器 (

主机或集线器端口 )

高 /全速USB收发器( 主机端口或高速设备 )

+5vdc

D+D-

地 15KΩ

15KΩ

+3.0~3.6vdc

1.5KΩD+

D-

高 /全 / 低速USB收发器( 主机或集线

器端口 )

低速 USB收发器 ( 低

速设备 )

+5vdc

D+D-

地 15KΩ

15KΩ

+3.0~3.6vdc

1.5KΩD+

D-

USB集成器和设备的电阻连接

USB 数 据线

USB 数据线

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

51

USBUSB常用信号电平(全速设备,低速设备电平相反) 常用信号电平(全速设备,低速设备电平相反) 总线状态 信 号 电 平

发送端 接受器端差分“ 1” D+>2.8V并且 D-<0.3V (D+)-(D-)>200mV 并

且 D+>2.0V

差分“ 0” D->2.8V并且 D+<0.3V (D-)-(D+)>200mV 并且 D->2.0V

单端点0(SE0)

D+和 D-<0.3V D+和 D-<0.8V

数据 J状态 差分“ 1”(不是逻辑1)

差分“ 1”

数据 K状态 差分“ 0”(不是逻辑0)

差分“ 0”

恢复状态 数据 K状态 数据 K状态闲置状态 N.A. D+>2.7V并且 D-

<0.8V

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

52

总线状态 发送端 接收端“高速差分 1” 360mV≤D+≤440mV; -

10mV≤D-≤10mV

“高速差分 0” 360mV≤D-≤440mV; -10mV≤D+≤10mV

高速 J状态 “高速差分 1” “高速差分 1”

高速 K状态 “高速差分 0” “高速差分 0”

Chirp J状态 700mV≤D+- D-≤1100mV

Chirp K状态 -900mV≤D+- D-≤-500mV

高速闲置 (Idle)状态

NA -10mV≤(D-, D+)≤10mV

高速包开始(HSSOP)

数据线从高速闲置状态转换到高速 J状态或高速 K状态

高速包结束(HSEOP)

数据线从高速 J状态或高速 K状态转换到高速闲置状态

高速高速 USBUSB 总线状态与其信号电平总线状态与其信号电平

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

53

设备接入到端口上的过程设备接入到端口上的过程

设备从端口上断开过程设备从端口上断开过程

D+和 D- 的电压全部下降到 0.8V 并维持 2.5s

连接连接状态状态

断开断开状态状态

数据包传送结束过程数据包传送结束过程保持信号线 2 个位传输时间的 SE0 状态,之后保持 1 个位传输时间的 J 状态。

传送传送状态状态

闲置闲置状态状态

D+或 D- 的电压上升到 2.5(2.7)V

断开断开状态状态

闲置闲置状态状态

维持 2.5s以上

连接连接状态状态

信号线跳变到其反向逻辑电平

数据数据KK 状状态态

闲置闲置状态状态

数据包传送开始过程数据包传送开始过程差分数据线按传送数据变换

传送传送状态状态

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

54

高高 //全速设备被接入的判断全速设备被接入的判断1. D+ 线电压上升,则首先判断为全速设备。2. 主机在识别到一个新设备后要求集线器复位 (Reset)

连接端口,此时数据线进入 E0 状态至少 10ms 。3. 复位期间,高速设备会发出一个 Chirp K ,集线器检测到该 chirtp 后,会回应一串 ChirpK与 J 。

4. 得到这个 Chirp KJKJKJ 序列后,设备断开 D+ 线上的上拉电阻,使能高速终端,进入高速缺省状态。

5. 如果在复位期间集线器一直没有检测到 Chirp K ,则说明接入的是全速设备。

6. 如果高速设备发出 Chirp K 后一直得不到集线器回应的 Chirp KJKJKJ 序列,则说明集线器不支持高速设备,则设备依然回到全速状态。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

55

2. 电气特性 对地电源电压为 4.75~5.25V ,设备吸入的最大电流值为 500mA 。第一次被主机检测到时,设备吸入的电流 <100mA

• 自给供电• 总线供给

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

56

3.NRZI编码

原始数据

空闲

填充数据

填充位

NRZI码

0 0 0 1 1 1 1 1 1 0 1 1 0 1 1

0 0 0 1 1 1 1 1 1 0 1 1 0 1 1

位填充和 NRZI编码

0 0 0 1 1 1 1 1 1 1 1 0 1 1

NRZI 的编码方法不需独立的时钟信号和数据一起发送,电平跳变代表电平跳变代表““ 0”0” ,,没有电平跳变代表没有电平跳变代表““ 1”1” 。在数据被编码前,在数据流中每每 66 个连续的个连续的““ 1”1” 后插入后插入 11 个个““ 0”0” ,从而强迫 NRZI码发生变化,也顺便让收发双放对准一次时钟,接收端必须去掉这个插入的“ 0” 。

演示演示

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

57

6.3.3 USB 数据流类型和传输类型 ◆ USBUSB 数据流类型有四种:数据流类型有四种:控制信号流、块数据流、中断数据流、实时数据流。

◆ USBUSB有有 44种基本的传输类型 种基本的传输类型

2 .批传输批传输:单 / 双向,用于大批数据大批数据传输,要求准确,出错重传。时间性不强。

1 .控制传输控制传输: 双向,用于配置设备或特殊用途用于配置设备或特殊用途,发生错误需重传。 当 USB 主机检测时,设备必须要用端点 0完成和主机交换信息的控制传送。

3 .中断传输中断传输 :单向入主机,用于随机少量随机少量传送。采用查询中断方式,出错下一查询周期重新传。4 .等时传输等时传输:单 / 双向,用于连续实时连续实时的数据传输,时间性强,但出错无需重传。传输速率固定。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

58

6.3.4 USB交换的包格式标志包 数据包 握手包

一次交换(事务处理)等时传输无握手包

交换完毕,进入帧结束间隔区帧结束间隔区发送方把 D+和 D- 上的电压降低到 0.8V 以下,并保持 2 个位的传输时间,然后维持 1 个位传输时间的 J状态表示包结束,之后进入闲置状态。

每次交换均由主机发起每次交换均由主机发起,对中断传输,亦由主机发送查询包取得中断信息。

帧结束间隔区

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

59

表 3.6 包的类型 (阴影部分是 USB2.0 规范 )PID 类

型PID 名称 PID[3:0] 描述

标志包

OUT 0001b 具有 PID 、类型检查、设备地址、端点号和 CRC域的宿主到功能设备的发送包

IN 1001b 功能设备到宿主的接收包,具有和发送包一样的域

SOF 0101b 帧开始包SETUP 1101b 主机发给设备的设置包,用于控制传

输的设置。

数据包

DATA0 0011b 数据包 0

DATA1 1011b 数据包 1

DATA2 0111b 为帧中高速、高带宽的等时交换的数据包

MDATA 1111b 为分离的高速和高带宽等时交换中的数据包

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

60

握手包

ACK 0010b 接收设备发的接受数据正确的应答包

NAK 1010b 接收设备无法接受数据或没有数据返回个宿主

STALL 1110b 设备已经被挂起,需要主机插手解决故障

NYET 0110b 接收器无应答

特殊包

PRE 1100b (Token)预告包,预告下面将以低速方式和低速设备通信

ERR 1100b (Handshake) 分离交换错误的握手信号

SPLIT 1000b 高速分离交换标志

PING 0100b 为批或控制端点传输而设置的高速流控制探测

Reserved 0000b 保留

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

61

包的一般格式

SYNC PID 包特定信息 CRC

8 位 (32位 )

8 位 n 位 5 位或 16位

SYNCSYNC ::同步序列

PIDPID ::包标识别,发送从低位到高位

所有数据发发送都时从低位开始向高位发送数据为 10000000B(1.1版本 )

PID0 PID1LSb

PID2 PID3 PID0#PID1#PID2# PID3#MSb

低 4 位放PID

高 4 位放 PID 的反码

数据为 10000000000000000000000000000000B(2.0版本 )

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

62

1. 包的种类及格式 (1) (1) 帧开始包(帧开始包( SOFSOF )(一帧持续时间为)(一帧持续时间为 1ms1ms))

SYNC PID FRAME NUMBER CRC

8/32 位

帧开始包格式

8 位 11 位 5 位

编码

数据 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1LSb MSb

演示

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

63

SYCN PID ADDR ENDP CRC

8/32位

接受和发送包的格式

8 位 7 位 4 位 5 位

(2) (2) 接受包(接受包( ININ ))

(3)(3) 发送包(发送包( OUTOUT ))

接受交换包括了全部 4种传输类型接受交换接受交换 :根 Hub广播接受包目标设备返回数据包根 Hub 发握手包。(等时传输无握手包等时传输无握手包)

发送交换发送交换 :根 Hub广播发送包根 Hub 发数据包目标设备发握手包(批传输才有握手包批传输才有握手包)

发送交换包括了除中断传输外的其他 3种传输类型

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

64

2 .数据包

DATA CRCSYNC PID8 位

USB 1.1 数据包格式

8 位 0~8184位 (1023B) 16 位

SYNC PID DATA CRC

32 位

USB 2.0 数据包格式

8 位 0~8192位 (1024B) 16 位

(4)(4) 设置包(设置包( SETUPSETUP )) 控制传输开始由主机发设置包,后面可能由一个或多个 IN或 OUT交换,或只包含一个从端点传到主机的状态

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

65

SYCN PID8/32 位

握手包的格式

8 位3 .握手包

4 .特殊包数据接受方发向数据发送方

• 只有 SYNC和 PID 组成• 主机主机希望与低速设备进行低速传输的时候发此包• PID域应该高速(全速)发送。• PID 之后,在低速数据包传输之前要延迟 4 个高

速字节时间• 低速设备只支持控制传输与中断传输• 与低速设备交换数据只有 8字节

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

66

6.3.5 USB 设备状态和总线枚举 主 机

HUB设

1.1 设备接入 [[ 连接状态连接状态 ]]

1.2 通知有设备接入2 检测 Hub,确认有接入

3 使能该端口,发 RESET 命令

4 发 RESET 信号,供电 [[ 上电状态上电状态 ]]

5.1 利用默认端点 0 读设备描述器

6.2 分发地址 [[ 地址状态地址状态 ]]7.2 读配置信息

7.1 按地址读设备配置信息

8.2 写配置信息 [[配置状态配置状态 ]]

8.1 按地址设设备配置信息

6.1 给设备分发地址

5.2 读设备描述器 [[ 地址默认状态地址默认状态 ]]

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

67

USB On-The-Go(OTG) 是对 USB 2.0规范的有益的扩充。这类设备既可以作为 USB 设备与 PC 机相连,又可以作为USB 主机连接其它 USB 设备。因此,这类设备可以抛弃 PC ,直接进行设备与设备之间的点对点 (pear to pear) 通信。 USB On-The-Go 在 USB 规范基础上增加了以下几点• 双重功能。设备既可用作主机也可用作外设双重功能。设备既可用作主机也可用作外设• 主机交流协议主机交流协议 HNP HNP 用于转换用于转换 USB USB 主机和外设功能主机和外设功能•对话请求协议对话请求协议•除小和大功率之外增加了微功率选择除小和大功率之外增加了微功率选择•超小连接器超小连接器

6.3.6 USB2.0 的补充—— OTG技术

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

68

USB On-The-Go 设备定义了一个新的称之为 mini-AB 的袖珍插孔,它能接入 mini-A 和mini-B 插头。连接器的不同定义设备的初始功能初始功能。

VBUS

D+D-

GNDID

‘1’: Slave B 设备

‘0’: Master A 设备

mini-B 插头mini-A 插头

VCCVCC

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

69

两个 OTG RTR(主 / 从双角色 ) 设备相连,可以用主机交流协议 (HNP)随时切换主机角色。步骤如下:

1. A 设备发出 SET_FEATURE 命令后, B 设备可请求总线控制权。

2. A 设备挂起总线,通知 B 设备可占用总线。3. B 设备发送信号,断开 A 设备连接。4. A 设备启动 D+ 线本方的上拉电阻,将 D+置高。此时 A 设备成为外设, B 设备成为主机。

5. B 设备完成对总线控制后,启动 D+ 线本方的上拉电阻,放弃对总线的控制。

6. 在以上电平变换的同时,通过软件实现真正的对总线的控制权变化。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

70

1. 分清开发的设备类型• 嵌入式 USB 主机• USB Hub• 基于 HID(人机接口设备 )的 USB 设备• USB OTG 设备

2. 选择合适的控制芯片• 内嵌 USB 模块和嵌入式 CPU核的 SOC 芯片• 内嵌单片机内核的 USB 控制芯片• 可与其它嵌入式 CPU相连的单独 USB 控制芯片

6.3.7 开发具有 USB 功能的设备的先期准备

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

71

3. 一般的开发步骤1) 根据选择的器件和要实现的功能,设计相关电路。2)编制软件(根据不同应用,设计其中部分或全部软

件)。- - 设备驱动程序设备驱动程序 ((对对 USBUSB 设备,或设备,或 OTGOTG 设备设备 ))- USB- USB 主机设备的控制程序(对主机或主机设备的控制程序(对主机或 OTGOTG 设备,设备,如完成枚举功能等)如完成枚举功能等)- - 主机和设备的角色切换驱动(对主机和设备的角色切换驱动(对 OTGOTG 设备)设备)- - 编写相关的编写相关的 PCPC端软件端软件

4.目前常见的控制芯片• OTG 芯片: ISP1362, OTG243• 主机 / 设备芯片: SL811HS, ISP1161• 设备芯片: PDIUSBD12, ISP1581• HUB 芯片: GL652USB

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

72

6.4.1 PCI-Express6.4.1 PCI-Express 总线的主要性能特点总线的主要性能特点 6.4 PCI-Express 总线

PCI Express 为互连设备提供高速、高性能、点对点、双 / 单工、差动信令链路。数据从一组信号线上发送,而在另一组信号线上接收。采用设备间的点对点串行连接。 将两台设备连接在一起的一个 PCI Express 互连称

为一条链路。一条 ×1 的链路有一条通道,即每个方向上有一对差动信号,共 4 个信号。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

73

11 、串行的点对点互连、串行的点对点互连22 、使用差动信号、使用差动信号33 、使用交换器来互连多台设备 、使用交换器来互连多台设备 44 、采用基于数据包的协议 、采用基于数据包的协议 55 、具有更高的数据传输速率(、具有更高的数据传输速率( 2.5Gbit/s2.5Gbit/s 的单向的单向

单线连接传输速率单线连接传输速率 )) 66 、拥有存储器地址空间、、拥有存储器地址空间、 IOIO 地址空间和配置地址空间和配置

地址空间 地址空间 77 、采用层次结构、采用层次结构88 、热插拔支持、热插拔支持99 、与、与 PCIPCI 兼容的软件模型兼容的软件模型

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

74

6.4.2 PCI-Express 总线结构

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

75

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

76

(( 11 )根联合体)根联合体 集成了多种控制器,替 CPU产生事务请求,它还可以代表 CPU 发起配置事务请求、生成存储器和 I/O 请求和锁定事务请求。 根联合体发送数据包离开其端口,或从其端口接收数据并转发至存储器。 根联合体初始化用来形成请求者或完成者的设备 ID ,通常由总线号、设备号和功能号组成。根联合体的总线、设备及功能号都被初始化全为 0 。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

77

(( 22 )交换器)交换器 交换器利用基于存储器、 I/O 或配置地址的路由方法转发数据包。 交换器根据下面 3种路由机制之一转发这些数据包:地址路由、 ID 路由或隐式路由。 交换器能实现两种仲裁机制:端口仲裁和VC 仲裁,并且依据仲裁机制确定将入端口数据包转发至出端口的优先级。交换器支持锁定请求。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

78

(( 33 )端点)端点 端点可以作为请求者发起事务,或者作为完成者对事务做出响应。 端点有 PCI Express端点和传统端点两种。传统端点支持 I/O事务,而且可以作为完成者支持锁定事务语义,还可以利用消息请求产生传统中断信号,但另外还必须支持产生利用存储器写事务的 MSI 。 PCI Express端点必须在可预取存储地址空间内支持 64 位存储器寻址能力。 两种类型的端点都实现了 0 类 PCI配置头,并且作为完成者对配置事务做出响应。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

79

6.4.3 PCI Express事务简介

事务:事务:为请求者和完成者之间完成一次信息传送需要完成的一系列一个或多个数据包传送的过程。

PCI Express事务可以分成4大类:存储器事务存储器事务、 I/OI/O事务事务、配置事务配置事务和消息事务消息事务。

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

80

6.4.4 PCI-Express 的层次结构 PCI Express 设备 A

设备核心

事务层

数据链路层

PCI Express 设备 B

物理层

发送 接收

PCI Express核心逻辑接口

设备核心

事务层

数据链路层

物理层

发送 接收

PCI Express核心逻辑接口

www.njyangqs.comwww.njyangqs.com

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

81

(( 11 )设备核心)设备核心 //软件层软件层 设备核心是由根联合体核心逻辑或诸如以太网控制器、 SCSI 控制器、 USB 控制器等端点核心逻辑组成。 设备核心逻辑与本地软件一起提供 PCI Express 设备生成 TLP所需的必要信息。(( 22 )事务层)事务层 事务层主要负责生成出站 TLP流量和接收入站TLP流量。 (( 33 )数据链路层)数据链路层 数据链路层的主要功能是保证在各链路上发送和接收数据包时数据的完整性。(( 44 )物理层)物理层 TLP和 DLLP 类型的数据包从数据链路层发送至物理层,并通过物理链路传送。物理层也从链路上接收数据包并将其发送至数据链路层。