微机原理与接口第3章微机总线与标准接口课件_第1页
微机原理与接口第3章微机总线与标准接口课件_第2页
微机原理与接口第3章微机总线与标准接口课件_第3页
微机原理与接口第3章微机总线与标准接口课件_第4页
微机原理与接口第3章微机总线与标准接口课件_第5页
已阅读5页,还剩145页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章微机总线与接口标准

3.1总线与接口概述

3.1.1总线和接口及其标准的概念

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

1第3章微机总线与接口标准3.1总线与接口概述3.1◆总线标准指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。◆接口标准外设接口的规范,涉及接口信号线定义、信号传输速率、传输方向和拓扑结构,以及电气特性和机械特性等多个方面。2◆总线标准◆接口标准23.1.2总线的分类

1)按总线功能或信号类型划分为:

数据总线:双向三态逻辑,线宽表示了总线数据传输的能力。地址总线:单向三态逻辑,线宽决定了系统的寻址能力。控制总线:就某根来说是单向或双向。控制总线最能体现总线特点,决定总线功能的强弱和适应性。33.1.2总线的分类1)按总线功能或信号类型划分为:2)按总线的层次结构分为:

CPU总线:微机系统中速度最快的总线,主要在CPU内部,连接CPU内部部件,在CPU周围的小范围内也分布该总线,提供系统原始的控制和命令。局部总线:在系统总线和CPU总线之间的一级总线,提供CPU和主板器件之间以及CPU到高速外设之间的快速信息通道。系统总线:也称为I/O总线,是传统的通过总线扩展卡连接外部设备的总线。由于速度慢,其功能已经被局部总线替代。通信总线:也称为外部总线,是微机与微机,微机与外设之间进行通信的总线。42)按总线的层次结构分为:CPU总线:微机系统中速度最快3.1.3总线的主要性能参数1.总线频率:MHz表示的工作频率,是总线速率的一个重要参数。2.总线宽度:指数据总线的位数。3.总线的数据传输率

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

例:PCI总线的总线频率为33.3MHz,总线宽度为64位的情况下,总线数据传输率为266MB/s。53.1.3总线的主要性能参数1.总线频率:MHz表示的工作3.1.4总线标准的特性1.物理特性:2.功能特性:3.电器特性:4.时间特性:总线物理连接方式(电缆式、蚀刻式),总线根数、插头和插座形状,引脚排列等。描述一组总线中每一根线的功能。定义每一根线在什么时候有效,这和总线操作的时序有关。定义每根线上信号的传递方向以及有效电平范围。一般定义送入CPU的信号为输入信号,从CPU中送出的信号是输出信号。低电平有效的信号用信号名上一横线或信号名后带#来表示。如CS、REQ#63.1.4总线标准的特性1.物理特性:总线物理连接方式(电3.1.5总线操作和总线传送控制

一、总线操作的4个阶段

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

优点:1)电路简单2)适合高速设备的数据传输缺点:高速设备和低速设备间只能用低速设备的速度来传输数据主clk从2.半同步方式

主clk从wait/readywait/ready信号是单向的,不是互锁的。8二、总线传送控制1.同步方式优点:1)电路简单主clk从2总线读周期分成两个子周期寻址子周期数据传送子周期在两子周期之间,退出总线,从设备准备数据。4.分离方式clkaddressdata主从3.异步方式

REQACK比同步方式慢总线频带窄总线传输周期长9总线读周期分成两个子周期4.分离方式clkaddressda3.2ISA总线

C18外内A1B1A31B31C1D1D182.5410.16138.5图3.1ISA总线插槽示意图工业标准体系结构,在PC总线基础上发展而来,最高工作频率为8MHz,24根地址线,16位数据线,拥有大量接口卡,历经286、386、486和Pentium几代微机。103.2ISA总线C18外内A1B1A31B31C1D1DISA总线的信号

11ISA总线的信号113.3PCI总线

3.3.1PCI总线的特点

独立于处理器2)传输效率高3)多总线共存4)支持突发传输5)支持总线主控方式6)采用同步操作7)支持两种电压下的扩展卡8)具有即插即用功能9)合理的管脚安排10)预留扩展空间123.3PCI总线3.3.1PCI总线的特点独立于处3.3.2PCI信号定义系统接口信号

CLKIN:PCI系统总线时钟

最高33MHz/66MHz,最低0Hz。

PCI大部分信号在CLK的上升沿有效。133.3.2PCI信号定义系统接口信号13C/BE[3:0]#T/S:它们是总线命令和字节使能多路复用信号线PART/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位在FRAME#有效的第1个时钟,AD[31:00]上传送的是32位地址,称为地址期。在IRDY#和TRDY#同时有效时,AD[31:00]上传送的为32位数据,称为数据期。2.地址与数据接口信号AD[31:00]T/S:它们是地址、数据多路复用的输入/输出信号地址期内是总线命令,数据期内是字节使能信号。

14C/BE[3:0]#T/S:它们是总线命令和字节使能3.接口控制信号FRAME#S/T/S:帧周期信号

IRDY#S/T/S:主设备准备好信号TRDY#S/T/S:从设备准备好信号STOP#S/T/S:从设备发出的要求主设备终止当前的数据传送的信号。LOCK#S/T/S:锁定信号IDSELIN:初始化设备选择信号,访问配置空间的时候作为片选DEVSEL#S/T/S:设备选择信号,由常规访问期间被选中的从设备驱动FRAME#信号无效表示传输进入最后一个数据期。153.接口控制信号FRAME#信号无效表示传输进入最后一个数据4.仲裁接口信号REQ#T/S:总线占用请求信号GNT#T/S:总线占用允许信号5.错误报告接口信号PERR#S/T/S:数据奇偶校验错误报告信号SERR#O/D:系统错误报告信号6.中断接口信号PCI有4条中断线,分别是INTA#、INTB#、INTC#、INTD#,电平触发,多功能设备可以任意选择一个或多个中断线,单功能设备只能用INTA#。164.仲裁接口信号5.错误报告接口信号6.中断接口信号167.64位总线扩展信号AD[63:32]T/S:扩展的32位地址和数据多路复用线C/BE[7:4]#T/S:总线命令和字节使能多路复用扩展信号线REQ64#S/T/S,64位传输请求信号ACK64#S/T/S:64位传输允许信号PAR64T/S:奇偶双字节校验177.64位总线扩展信号173.3.3PCI插槽和PCI扩展卡

1.PCI插槽5V32位插槽5V64位插槽3.3V32位插槽3.3V64位插槽连接卡口a.4种PCI卡插槽A1外内A49A52B1B49B52A62B621.273.8277.48b.5V32位PCI插槽183.3.3PCI插槽和PCI扩展卡1.PCI插槽5V2.PCI插卡ICICIC1.9160.9612.741.680外边里边192.PCI插卡ICICIC1.9160.9612.741.3.3.4PCI总线命令

表3.3PCI总线命令表C/BE[3:0]#命令类型说明C/BE[3:0]#命令类型说明0000中断响应1000保留0001特殊周期1001保留0010I/O读(从I/O端口地址中读数据)1010配置读0011I/O写(向I/O端口地址中写数据)1011配置写0100保留1100存储器多行读0101保留1101双地址周期0110存储器读(从内存空间映像中读数)1110存储器行读0111存储器写(向内存空间映像中写)1111存储器写并无效203.3.4PCI总线命令表3.3PCI总线命令表C/3.3.5PCI总线协议1.PCI总线的传输控制遵循的管理规则:(1)FRAME#和IRDY#定义了总线的忙/闲状态。11空闲、00数据、10最后一个数据、01等待状态。(2)一旦FRAME#信号被置为无效,在同一传输期间不能重新设置。(3)除非设置IRDY#信号,一般情况下不能设置FRAME#信号无效。(4)一旦主设备设置了IRDY#信号,直到当前数据期结束为止,主设备一般不能改变IRDY#信号和FRAME#信号的状态。213.3.5PCI总线协议1.PCI总线的传输控制遵循的管2.PCI总线的寻址(采用分散地址译码技术)表3.4AD[1:0]和C/BE[3:0]#对应关系表AD1AD0C/BE3#C/BE2#C/BE1#C/BE0#00×××001××0110×011110111(1)I/O地址空间在I/O地址空间,32位AD线全部被用来提供一个完整的地址编码(字节地址)。

AD[1:0]和C/BE[3:0]指明传输的最低有效字节。222.PCI总线的寻址(采用分散地址译码技术)表3.4AD[(2)内存地址空间(3)配置地址空间3101双字边界对齐的起始地址200 地址递增01 Cache行切换1X 保留701双字边界对齐的起始地址200 选择该设备01 访问该桥路后设备1X 保留23(2)内存地址空间(3)配置地址空间3101双字边界3.字节使能4.PCI总线的驱动与过渡PCI总线上不能进行字节的交换。但是,具有64位通道的主设备可以进行DWORD(双字)的交换。主设备可以在每个新数据期开始的时钟前沿改变字节使能信号,且在整个数据期中保持不变。读缓冲中的数据可以不考虑字节使能信号,而传送所有的字节。在每个地址(数据)期中,所有的AD线都必须被驱动到稳定的状态(数据),包括那些字节使能信号表明无效的字节所对应的AD线。从一个设备驱动总线到另一个设备驱动PCI总线之间设置一个过渡期,又称为交换周期,以防止总线访问冲突。243.字节使能4.PCI总线的驱动与过渡PCI总5.设备选择CLKFRAME#IRDY#TRDY#DEVSEL#12345678FASTMEDSLOW……图3.6设备选择的时序关系注意DEVSEL#与FRAME#、TRDY#的关系,无DEVSEL#信号时的处理。DEVSEL#由从设备共享使用,并由被选中的从设备驱动。255.设备选择CLKFRAME#IRDY#TRDY#DEVS3.3.6PCI总线数据传输过程

1.总线上的读操作CLKFRAME#123456789ADC/BE#IRDY#TRDY#DEVSEL#ADDRESSDATA1DATA2DATA3BUSCMDBE#s地址期数据期数据期数据期PCI读操作时序263.3.6PCI总线数据传输过程1.总线上的读操作C2.总线上的写操作CLKFRAME#123456789ADC/BE#IRDY#TRDY#DEVSEL#ADDRESSDATA2DATA1DATA3BUSCMD地址期数据期数据期数据期PCI写操作时序BEs1BEs2BEs3272.总线上的写操作CLKFRAME#123456789AD3.传输的终止过程(1)由主设备提出的终止(2)由从设备提出的终止传输结束超时(GNT#信号在内部延时计数器满后仍无效)死锁后重试断开(8个时钟周期内从设备不能对主设备做出响应)。撤消FRAME#,建立IRDY#,直到TRDY#有效后传输完最后一个数据发出STOP#信号并保持其有效,直到FRAME#撤消为止。283.传输的终止过程(1)由主设备提出的终止(2)由PCI总线上的所有传输操作中,FRAME#、IRDY#、TRDY#和STOP#遵循的规则:当STOP#信号有效时,FRAME#应该在其后的2~3个时钟周期内尽快撤消,但撤消时应使IRDY#有效,从设备应无条件的保持STOP#的有效状态直到FRAME#撤消为止。FRAME#撤消后,STOP#也应该紧跟着撤消。在任何时钟的上升沿,如果STOP#和TRDY#同时有效,就表示是传输的最后周期,IRDY#要在下一个时钟的上升沿之前撤消,表示传输的结束。

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

29PCI总线上的所有传输操作中,FRAME#、IRDY#、TR3.3.7总线仲裁

PCI总线采用集中式的同步仲裁方法中央仲裁器PCI主设备APCI主设备BREQ#REQ#GNT#GNT#303.3.7总线仲裁PCI总线采用集中式的同步仲裁方法中央CLKFRAME#1234567ADGNT#-BIRDY#TRDY#GNT#-A地址数据A存取B存取两个主设备之间的PCI总线仲裁REQ#-BREQ#-A地址数据cabdefg31CLKFRAME#1234567ADGNT#-BIRDY#T1、PCI设备的配置空间定义一个PCI总线配置空间的目的在于提供一套适当的配置措施,使之实现完全的设备再定位而无需用户干预安装、配置和引导,并由与设备无关的软件进行系统地址映射。

所有PCI设备都必须实现PCI协议规定必需的配置寄存器,以便系统加电的时候利用这些寄存器的信息来进行系统配置。对PCI的配置访问实际上就是访问设备的配置寄存器。

在系统启动的时候由BIOS代码执行设备配置。一旦即插即用OS(如Windows2000/XP)启动后,控制就传递给OS,OS接管设备管理。3.3.8PCI总线配置321、PCI设备的配置空间定义一个PCI总线配置空间的目的2、配置空间头区域及功能332、配置空间头区域及功能33(1)设备识别

头区域有7个寄存器(字段)用于设备的识别。(2)设备控制表现在命令寄存器为发出和响应PCI总线命令提供了对设备粗略的控制。(3)设备状态

状态寄存器用于记录PCI总线有关操作的状态信息。注意:该寄存器的有些位是只可清不可置,对这些位的写,被解释为对该位清零。例如,为了清位14而不影响其他位,应向该寄存器写0100000000000000B

34(1)设备识别(2)设备控制(3)设备状态34(4)基址寄存器

PCI设备的配置空间可以在微处理器决定的地址空间中浮动,以便简化设备的配置过程。系统初始化代码在引导操作系统之前,必须建立一个统一的地址映射关系,以确定系统中有多少存储器和I/O控制器,它们需要占用多少地址空间。当确定这些信息之后,系统初始化代码便可以把I/O控制器映射到合理的地址空间并引导系统。为了使这种映射能够做到与相应的设备无关,在配置空间的头区域中安排了一组供映射时使用的基址寄存器。35(4)基址寄存器PCI设备的配置空间可以在微处理器决定的10I/O空间指针规范规定每个I/O基地址下的端口数不得大于256。31210基地址0预取使能存储空间指针0032位地址空间任意映射0132位地址空间1M字节以内映射(已经不用)10

64位地址空间任意映射

11

保留31(63)3210基地址保留返回3610I/O空间指针规范规定每个I/O基地址下的端口数具体实现的过程中,除了低四位由硬件满足上述要求外,高位部分实际设置位数视映射多大地址空间范围而定,根据地址范围,决定高多少位需要设置,这些位被设置成可写,高位部分的其它位用硬件使其为0,并只可读。基地址设置过程:系统初始化程序向基地址寄存器写全1系统初始化程序读出基地址寄存器的内容系统初始化程序判断设备需要的地址空间大小系统初始化程序分配基地址并写回到该基地址寄存器如设备需要使用1MB的存储空间,硬件实现基地址寄存器的时候应该使位0,位4~位19由硬件使其保持为037具体实现的过程中,除了低四位由硬件满足上述要求外,高位部分实举例1:系统初始化向基址寄存器写全1后读出的值=FFF00000h位0=0,表示是一个存储器地址空间映射位[2:1]=00b,它是32位存储器映射位3=0,表示它不是预取存储器。位[31:4]第一个为1的是位20,表示映射的存储空间为220=1MB。

这意味着存储映射的基地址应该起始于1MB、2MB、3MB等的边界上。系统经过权衡后再向该基址寄存器写入实际映射的空间基址,该基址应该是1MB边界的,如:FFF00000H,FFE00000H,FE000000H等。问:FFF10000H地址能不能做该设备存储基址?38举例1:系统初始化向基址寄存器写全1后读出的值=FFF000举例2:基址寄存器的值=FFFFFF01h位0=1,表示是一个I/O地址空间映射位[31:2]

第一个为1的是位8,表示映射的I/O空间为28=256。

这意味着I/O映射的基地址应该是256的整数倍。39举例2:基址寄存器的值=FFFFFF01h位0=1,表示是一最大/最小映射地址空间是多少?最大/最小存储映射地址空间最小存储映射地址空间=16字节(24)最大存储映射地址空间=2GB(231)最大/最小I/O映射地址空间最小I/O映射地址空间=4字节(22)最大存储映射地址空间=256字节(协议规定)转前40最大/最小映射地址空间是多少?最大/最小存储映射地址空间最小扩展ROM访问允许31111010基地址保留扩展ROM基地址寄存器扩展ROM基地址=FFFF0001h位0=1,表示扩展ROM访问允许位[31:11]

第一个为1的是位16,表示映射的存储空间为64K。

这意味着ROM映射的基地址应该起始于64KB的边界141扩展ROM访问允许31(5)头区域中其它寄存器

中断引脚寄存器

8位只读寄存器,指明设备使用了PCI的哪个中断引脚。1代表INTA#,2为INTB#……中断请求线寄存器

8位可读/写寄存器,指明设备的中断引脚和PC机的8259A的哪个中断输入线连。Min_Gnt/Max_lat寄存器

Min_Gnt用来指定设备需要多长的突发传输时间。Max_lat用来表示对PCI总线进行访问的频繁程度。42(5)头区域中其它寄存器中断引脚寄存器中断请求线寄存器2.配置空间的访问(1)配置空间访问时目标设备的选择对于某一PCI设备,1)只有当输入它的IDSEL信号有效,2)并且在地址期内AD[1:0]为00时,才能被作为配置访问的目标设备。

432.配置空间的访问(1)配置空间访问时目标设备的选择对(2)配置空间访问的类型·0类配置空间访问对(正在运行的)当前PCI总线上的目标设备配置寄存器所进行的访问。被配置访问的目标设备必须在地址期采样到其IDSEL输入信号有效,且AD[1∶0]必须为00。地址期,AD[1∶0]必须为00;AD[10∶8]用于选择物理设备的八种功能之一;AD[7∶2]为选择该功能设备的配置寄存器号(双字号)。AD[31:11]可用于连接各设备的IDSEL信号数据期,AD[31∶0]传送的是配置读/写数据。44(2)配置空间访问的类型·0类配置空间访问44·1类配置空间访问对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备(配置寄存器)所进行的访问。地址期,AD[1∶0]必须为01;AD[10∶8]作为选择物理设备的八种功能之一。AD[7∶2]为选择该功能设备的配置寄存器号;AD[15∶11]用于存放第二级总线上被选中设备的IDSEL号,AD[23∶16]放总线号。桥片中也有桥配置空间寄存器,存放有总线号和次级总线号等信息。一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分别进行处理。45·1类配置空间访问45桥A桥B设备设备CPU总线PCI总线0PCI总线1如果要访问的总线号既不同于桥的第二级总线号,也不在桥的第二级总线号的下级总线范围内,那么桥将忽略本次访问。如果总线号不同于桥的第二级总线,但在桥的第二级总线号的下级总线范围内,那么桥将本次访问作为1类配置访问传递给第二级总线。配置命令从第一级传递到第二级C/BE#总线。如果总线号与桥的第二级总线号相同,那么桥将本次访问作为0类配置访问传递给第二级总线。AD[10:2]直接从桥的第一级传递到第二级AD总线。AD[15:11]的设备号用于决定第二级总线上哪个设备的IDSEL信号被设置有效。配置命令从第一级传递到第二级C/BE#总线。46桥A桥B设备设备CPU总线PCI总线0PCI总线1如果要访问针对x86兼容的系统,PCI协议定义了将处理器发出的I/O访问识别为配置访问,或将处理器发出的存储器访问转换为配置访问的转换机构,称为配置机构。(3)配置访问的访问方法配置机构是利用两个32位的I/O端口寄存器来访问PCI设备的配置空间的。配置地址端口寄存器(I/O地址为0CF8H~0CFBH)配置数据端口寄存器(I/O地址为0CFCH~0CFFH)第一步,将要访问的总线号、设备号、功能号和双字号写到配置地址端口寄存器。(32位写)第二步,执行一次对配置数据端口寄存器的读/写。47针对x86兼容的系统,PCI协议定义了将处理器发出的3.3.9PCIBIOS

初始化程序只能通过PCIBIOS才能访问PCI配置寄存器。PCIBIOS再通过配置地址端口寄存器和配置数据端口寄存器实现其功能。1、16位PCIBIOS的调用

通过INT1AH实现:AH=B1H,AL为子功能号。2、32位PCIBIOS的调用

确认32位BIOS是否存在;确认BIOS是否支持PCIBIOS,取得PCIBIOS入口地址;通过对PCIBIOS入口地址的远程调用来实现:AH=B1H,AL为子功能号。483.3.9PCIBIOS初始化程序只能通过PC3.3.10PCI总线的继承者——PCIExpress1.主要关键技术:在两个设备之间点对点串行互联双通道,高带宽,传输速度快灵活扩展性低功耗,并有电源管理功能支持设备热拨插和热交换在软件层保持与PCI以及PCI-X总线兼容使用小型连接,节约空间,减少串扰采用类似于网络通信中的OSI分层模式,具有数据包和层协议架构493.3.10PCI总线的继承者——PCIExpress2.PCI-Express的拓扑结构北桥集成根组件终端PCIExpress-PCI桥终端终端终端终端终端端点PCI插槽交换器存储器502.PCI-Express的拓扑结构北桥集成根组件终端PC3.4.1USB系统组成1.USB的硬件USB主控制器/根集线器

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

USB集线器(USBHub)

完成USB设备的添加(扩展)、删除和电源管理等。

USB设备

HUB设备和功能设备(外设),外设含一定数量独立的寄存器端口(端点)。外设有一个惟一的地址。通过这个地址和端点号,主机软件可以和每个端点通信。数据的传送是在主机软件和USB设备的端点之间进行的。3.4通用串行总线USB

513.4.1USB系统组成1.USB的硬件USB主控制器USB设备驱动程序

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

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

完成对USB事务交换的调度,并通过根Hub或其他的Hub完成对交换的初始化。

2.USB的软件52USB设备驱动程序

在USB外设中,通过I/O请求包将3.USB的拓扑结构

PCI总线宿主机USB主控制器/根Hub高速电话高速显示器高速集线器高速麦克风扬声器高速扬声器高速键盘高速低速麦克风麦克风低速高速=480Mb/s全速=12Mb/s低速=1.5Mb/sUSB的层次拓扑图533.USB的拓扑结构PCI总线宿主机USB主控制器/根H3.4.2USB系统的接口信号和电气特性

1.接口信号线高/全/低速USB收发器(主机或集线器端口)高/全速USB收发器(主机端口或高速设备)+5vdcD+D-地15KΩ15KΩ+3.0~3.6vdc1.5KΩD+D-高/全/低速USB收发器(主机或集线器端口)低速USB收发器(低速设备)+5vdcD+D-地15KΩ15KΩ+3.0~3.6vdc1.5KΩD+D-USB集成器和设备的电阻连接USB数据线USB数据线543.4.2USB系统的接口信号和电气特性1.接口信号线USB常用信号电平(全速设备,低速设备电平相反)总线状态信号电平发送端接受器端差分“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.3VD+和D-<0.8V数据J状态差分“1”(不是逻辑1)差分“1”数据K状态差分“0”(不是逻辑0)差分“0”恢复状态数据K状态数据K状态闲置状态N.A.D+>2.7V并且D-<0.8V55USB常用信号电平(全速设备,低速设备电平相反)总线状态信总线状态发送端接收端高速差分“1”360mV≤D+≤440mV;-10mV≤D-≤10mV

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

高速J状态高速差分“1”高速差分“1”高速K状态高速差分“0”高速差分“0”ChirpJ状态700mV≤D+-D-≤1100mVChirpK状态-900mV≤D+-D-≤-500mV高速闲置(Idle)状态NA-10mV≤(D-,D+)≤10mV高速包开始(HSSOP)数据线从高速闲置状态转换到高速J状态或高速K状态高速包结束(HSEOP)数据线从高速J状态或高速K状态转换到高速闲置状态高速USB总线状态与其信号电平

56总线状态发送端接收端高速差分“1”360mV≤设备接入到端口上的过程设备从端口上断开过程D+和D-的电压全部下降到0.8V并维持2.5s连接状态断开状态数据包传送结束过程保持信号线2个位传输时间的SE0状态,之后保持1个位传输时间的J状态。传送状态闲置状态D+或D-的电压上升到2.5(2.7)V断开状态闲置状态维持2.5s以上连接状态信号线跳变到其反向逻辑电平数据K状态闲置状态数据包传送开始过程差分数据线按传送数据变换传送状态57设备接入到端口上的过程设备从端口上断开过程D+和D-的电压全高/全速设备被接入的判断D+线电压上升,则首先判断为全速设备。主机在识别到一个新设备后要求集线器复位(Reset)连接端口,此时数据线进入E0状态至少10ms。复位期间,高速设备会发出一个ChirpK,集线器检测到该chirtp后,会回应一串ChirpK与J。得到这个ChirpKJKJKJ序列后,设备断开D+线上的上拉电阻,使能高速终端,进入高速缺省状态。如果在复位期间集线器一直没有检测到ChirpK,则说明接入的是全速设备。如果高速设备发出ChirpK后一直得不到集线器回应的ChirpKJKJKJ序列,则说明集线器不支持高速设备,则设备依然回到全速状态。58高/全速设备被接入的判断D+线电压上升,则首先判断为全速设备2.电气特性对地电源电压为4.75~5.25V,设备吸入的最大电流值为500mA。第一次被主机检测到时,设备吸入的电流<100mA自给供电总线供给592.电气特性自给供电593.NRZI编码原始数据空闲填充数据填充位NRZI码000111111011011000111111011011位填充和NRZI编码00011111111011NRZI的编码方法不需独立的时钟信号和数据一起发送,电平跳变代表“0”,没有电平跳变代表“1”。在数据被编码前,在数据流中每6个连续的“1”后插入1个“0”,从而强迫NRZI码发生变化,也顺便让收发双放对准一次时钟,接收端必须去掉这个插入的“0”。

演示603.NRZI编码原始空闲填充填充位NRZI码003.4.3USB数据流类型和传输类型

USB数据流类型有四种:控制信号流、块数据流、中断数据流、实时数据流。

USB有4种基本的传输类型2.批传输:单/双向,用于大批数据传输,要求准确,出错重传。时间性不强。1.控制传输:双向,用于配置设备或特殊用途,发生错误需重传。当USB主机检测时,设备必须要用端点0完成和主机交换信息的控制传送。3.中断传输:单向入主机,用于随机少量传送。采用查询中断方式,出错下一查询周期重新传。4.等时传输:单/双向,用于连续实时的数据传输,时间性强,但出错无需重传。传输速率固定。613.4.3USB数据流类型和传输类型◆USB数据流类型3.4.4USB交换的包格式标志包数据包握手包一次交换(事务处理)等时传输无握手包交换完毕,进入帧结束间隔区发送方把D+和D-上的电压降低到0.8V以下,并保持2个位的传输时间,然后维持1个位传输时间的J状态表示包结束,之后进入闲置状态。每次交换均由主机发起,对中断传输,亦由主机发送查询包取得中断信息。帧结束间隔区623.4.4USB交换的包格式标志包数据包握手包一次交换(事表3.6包的类型(阴影部分是USB2.0规范)PID类型PID名称PID[3:0]描述标志包OUT0001b具有PID、类型检查、设备地址、端点号和CRC域的宿主到功能设备的发送包IN1001b功能设备到宿主的接收包,具有和发送包一样的域SOF0101b帧开始包SETUP1101b主机发给设备的设置包,用于控制传输的设置。数据包DATA00011b数据包0DATA11011b数据包1DATA20111b为帧中高速、高带宽的等时交换的数据包MDATA1111b为分离的高速和高带宽等时交换中的数据包63表3.6包的类型(阴影部分是USB2.0规范)PID类型P握手包ACK0010b接收设备发的接受数据正确的应答包NAK1010b接收设备无法接受数据或没有数据返回个宿主STALL1110b设备已经被挂起,需要主机插手解决故障NYET0110b接收器无应答特殊包PRE1100b(Token)预告包,预告下面将以低速方式和低速设备通信ERR1100b(Handshake)分离交换错误的握手信号SPLIT1000b高速分离交换标志PING0100b为批或控制端点传输而设置的高速流控制探测Reserved0000b保留64ACK0010b接收设备发的接受数据正确的应答包NAK101包的一般格式SYNCPID包特定信息CRC8位(32位)8位n位5位或16位SYNC:同步序列PID:包标识别,发送从低位到高位所有数据发发送都时从低位开始向高位发送数据为10000000B(1.1版本)PID0PID1LSbPID2PID3PID0#PID1#PID2#PID3#MSb低4位放PID高4位放PID的反码数据为10000000000000000000000000000000B(2.0版本)65包的一般格式SYNCPID包特定信息CRC8位(32位)1.包的种类及格式(1)帧开始包(SOF)(一帧持续时间为1ms)SYNCPIDFRAMENUMBERCRC8/32位帧开始包格式8位11位5位编码数据0000000110100101LSbMSb演示661.包的种类及格式(1)帧开始包(SOF)(一帧持续SYCNPIDADDRENDPCRC8/32位接受和发送包的格式8位7位4位5位(2)接受包(IN)(3)发送包(OUT)接受交换包括了全部4种传输类型接受交换:根Hub广播接受包目标设备返回数据包根Hub发握手包。(等时传输无握手包)发送交换:根Hub广播发送包根Hub发数据包目标设备发握手包(批传输才有握手包)发送交换包括了除中断传输外的其他3种传输类型67SYCNPIDADDRENDPCRC8/32位2.数据包DATACRCSYNCPID8位USB1.1数据包格式8位0~8184位(1023B)16位SYNCPIDDATACRC32位USB2.0数据包格式8位0~8192位(1024B)16位(4)设置包(SETUP)控制传输开始由主机发设置包,后面可能由一个或多个IN或OUT交换,或只包含一个从端点传到主机的状态682.数据包DATACRCSYNCPID8位USB1.1数据SYCNPID8/32位握手包的格式8位3.握手包

4.特殊包数据接受方发向数据发送方只有SYNC和PID组成主机希望与低速设备进行低速传输的时候发此包PID域应该高速(全速)发送。PID之后,在低速数据包传输之前要延迟4个高速字节时间低速设备只支持控制传输与中断传输与低速设备交换数据只有8字节69SYCNPID8/32位握手包的格式8位3.握手包43.4.5USB设备状态和总线枚举

主机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读设备描述器[地址默认状态]703.4.5USB设备状态和总线枚举主机1.1设备3.4.6USB2.0的补充——OTG技术USBOn-The-Go(OTG)是对USB2.0规范的有益的扩充。这类设备既可以作为USB设备与PC机相连,又可以作为USB主机连接其它USB设备。因此,这类设备可以抛弃PC,直接进行设备与设备之间的点对点(peartopear)通信。USBOn-The-Go在USB规范基础上增加了以下几点双重功能。设备既可用作主机也可用作外设主机交流协议HNP用于转换USB主机和外设功能对话请求协议除小和大功率之外增加了微功率选择超小连接器713.4.6USB2.0的补充——OTG技术USBUSBOn-The-Go设备定义了一个新的称之为mini-AB的袖珍插孔,它能接入mini-A和mini-B插头。连接器的不同定义设备的初始功能。VBUSD+D-GNDID‘1’:SlaveB设备‘0’:MasterA设备mini-B插头mini-A插头VCCVCC72USBOn-The-Go设备定义了一个新的称之为mini两个OTGRTR(主/从双角色)设备相连,可以用主机交流协议(HNP)随时切换主机角色。步骤如下:A设备发出SET_FEATURE命令后,B设备可请求总线控制权。A设备挂起总线,通知B设备可占用总线。B设备发送信号,断开A设备连接。A设备启动D+线本方的上拉电阻,将D+置高。此时A设备成为外设,B设备成为主机。B设备完成对总线控制后,启动D+线本方的上拉电阻,放弃对总线的控制。在以上电平变换的同时,通过软件实现真正的对总线的控制权变化。73两个OTGRTR(主/从双角色)设备相连,可以用主机交流协3.4.7开发具有USB功能的设备的先期准备1.分清开发的设备类型嵌入式USB主机USBHub基于HID(人机接口设备)的USB设备USBOTG设备2.选择合适的控制芯片内嵌USB模块和嵌入式CPU核的SOC芯片内嵌单片机内核的USB控制芯片可与其它嵌入式CPU相连的单独USB控制芯片743.4.7开发具有USB功能的设备的先期准备1.分清开发3.一般的开发步骤根据选择的器件和要实现的功能,设计相关电路。编制软件(根据不同应用,设计其中部分或全部软件)。

-设备驱动程序(对USB设备,或OTG设备)

-USB主机设备的控制程序(对主机或OTG设备,如完成枚举功能等)

-主机和设备的角色切换驱动(对OTG设备)

-编写相关的PC端软件4.目前常见的控制芯片OTG芯片:ISP1362,OTG243主机/设备芯片:SL811HS,ISP1161设备芯片:PDIUSBD12,ISP1581HUB芯片:GL652USB753.一般的开发步骤根据选择的器件和要实现的功能,设计相关电路第3章微机总线与接口标准

3.1总线与接口概述

3.1.1总线和接口及其标准的概念

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

76第3章微机总线与接口标准3.1总线与接口概述3.1◆总线标准指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。◆接口标准外设接口的规范,涉及接口信号线定义、信号传输速率、传输方向和拓扑结构,以及电气特性和机械特性等多个方面。77◆总线标准◆接口标准23.1.2总线的分类

1)按总线功能或信号类型划分为:

数据总线:双向三态逻辑,线宽表示了总线数据传输的能力。地址总线:单向三态逻辑,线宽决定了系统的寻址能力。控制总线:就某根来说是单向或双向。控制总线最能体现总线特点,决定总线功能的强弱和适应性。783.1.2总线的分类1)按总线功能或信号类型划分为:2)按总线的层次结构分为:

CPU总线:微机系统中速度最快的总线,主要在CPU内部,连接CPU内部部件,在CPU周围的小范围内也分布该总线,提供系统原始的控制和命令。局部总线:在系统总线和CPU总线之间的一级总线,提供CPU和主板器件之间以及CPU到高速外设之间的快速信息通道。系统总线:也称为I/O总线,是传统的通过总线扩展卡连接外部设备的总线。由于速度慢,其功能已经被局部总线替代。通信总线:也称为外部总线,是微机与微机,微机与外设之间进行通信的总线。792)按总线的层次结构分为:CPU总线:微机系统中速度最快3.1.3总线的主要性能参数1.总线频率:MHz表示的工作频率,是总线速率的一个重要参数。2.总线宽度:指数据总线的位数。3.总线的数据传输率

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

例:PCI总线的总线频率为33.3MHz,总线宽度为64位的情况下,总线数据传输率为266MB/s。803.1.3总线的主要性能参数1.总线频率:MHz表示的工作3.1.4总线标准的特性1.物理特性:2.功能特性:3.电器特性:4.时间特性:总线物理连接方式(电缆式、蚀刻式),总线根数、插头和插座形状,引脚排列等。描述一组总线中每一根线的功能。定义每一根线在什么时候有效,这和总线操作的时序有关。定义每根线上信号的传递方向以及有效电平范围。一般定义送入CPU的信号为输入信号,从CPU中送出的信号是输出信号。低电平有效的信号用信号名上一横线或信号名后带#来表示。如CS、REQ#813.1.4总线标准的特性1.物理特性:总线物理连接方式(电3.1.5总线操作和总线传送控制

一、总线操作的4个阶段

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

优点:1)电路简单2)适合高速设备的数据传输缺点:高速设备和低速设备间只能用低速设备的速度来传输数据主clk从2.半同步方式

主clk从wait/readywait/ready信号是单向的,不是互锁的。83二、总线传送控制1.同步方式优点:1)电路简单主clk从2总线读周期分成两个子周期寻址子周期数据传送子周期在两子周期之间,退出总线,从设备准备数据。4.分离方式clkaddressdata主从3.异步方式

REQACK比同步方式慢总线频带窄总线传输周期长84总线读周期分成两个子周期4.分离方式clkaddressda3.2ISA总线

C18外内A1B1A31B31C1D1D182.5410.16138.5图3.1ISA总线插槽示意图工业标准体系结构,在PC总线基础上发展而来,最高工作频率为8MHz,24根地址线,16位数据线,拥有大量接口卡,历经286、386、486和Pentium几代微机。853.2ISA总线C18外内A1B1A31B31C1D1DISA总线的信号

86ISA总线的信号113.3PCI总线

3.3.1PCI总线的特点

独立于处理器2)传输效率高3)多总线共存4)支持突发传输5)支持总线主控方式6)采用同步操作7)支持两种电压下的扩展卡8)具有即插即用功能9)合理的管脚安排10)预留扩展空间873.3PCI总线3.3.1PCI总线的特点独立于处3.3.2PCI信号定义系统接口信号

CLKIN:PCI系统总线时钟

最高33MHz/66MHz,最低0Hz。

PCI大部分信号在CLK的上升沿有效。883.3.2PCI信号定义系统接口信号13C/BE[3:0]#T/S:它们是总线命令和字节使能多路复用信号线PART/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位在FRAME#有效的第1个时钟,AD[31:00]上传送的是32位地址,称为地址期。在IRDY#和TRDY#同时有效时,AD[31:00]上传送的为32位数据,称为数据期。2.地址与数据接口信号AD[31:00]T/S:它们是地址、数据多路复用的输入/输出信号地址期内是总线命令,数据期内是字节使能信号。

89C/BE[3:0]#T/S:它们是总线命令和字节使能3.接口控制信号FRAME#S/T/S:帧周期信号

IRDY#S/T/S:主设备准备好信号TRDY#S/T/S:从设备准备好信号STOP#S/T/S:从设备发出的要求主设备终止当前的数据传送的信号。LOCK#S/T/S:锁定信号IDSELIN:初始化设备选择信号,访问配置空间的时候作为片选DEVSEL#S/T/S:设备选择信号,由常规访问期间被选中的从设备驱动FRAME#信号无效表示传输进入最后一个数据期。903.接口控制信号FRAME#信号无效表示传输进入最后一个数据4.仲裁接口信号REQ#T/S:总线占用请求信号GNT#T/S:总线占用允许信号5.错误报告接口信号PERR#S/T/S:数据奇偶校验错误报告信号SERR#O/D:系统错误报告信号6.中断接口信号PCI有4条中断线,分别是INTA#、INTB#、INTC#、INTD#,电平触发,多功能设备可以任意选择一个或多个中断线,单功能设备只能用INTA#。914.仲裁接口信号5.错误报告接口信号6.中断接口信号167.64位总线扩展信号AD[63:32]T/S:扩展的32位地址和数据多路复用线C/BE[7:4]#T/S:总线命令和字节使能多路复用扩展信号线REQ64#S/T/S,64位传输请求信号ACK64#S/T/S:64位传输允许信号PAR64T/S:奇偶双字节校验927.64位总线扩展信号173.3.3PCI插槽和PCI扩展卡

1.PCI插槽5V32位插槽5V64位插槽3.3V32位插槽3.3V64位插槽连接卡口a.4种PCI卡插槽A1外内A49A52B1B49B52A62B621.273.8277.48b.5V32位PCI插槽933.3.3PCI插槽和PCI扩展卡1.PCI插槽5V2.PCI插卡ICICIC1.9160.9612.741.680外边里边942.PCI插卡ICICIC1.9160.9612.741.3.3.4PCI总线命令

表3.3PCI总线命令表C/BE[3:0]#命令类型说明C/BE[3:0]#命令类型说明0000中断响应1000保留0001特殊周期1001保留0010I/O读(从I/O端口地址中读数据)1010配置读0011I/O写(向I/O端口地址中写数据)1011配置写0100保留1100存储器多行读0101保留1101双地址周期0110存储器读(从内存空间映像中读数)1110存储器行读0111存储器写(向内存空间映像中写)1111存储器写并无效953.3.4PCI总线命令表3.3PCI总线命令表C/3.3.5PCI总线协议1.PCI总线的传输控制遵循的管理规则:(1)FRAME#和IRDY#定义了总线的忙/闲状态。11空闲、00数据、10最后一个数据、01等待状态。(2)一旦FRAME#信号被置为无效,在同一传输期间不能重新设置。(3)除非设置IRDY#信号,一般情况下不能设置FRAME#信号无效。(4)一旦主设备设置了IRDY#信号,直到当前数据期结束为止,主设备一般不能改变IRDY#信号和FRAME#信号的状态。963.3.5PCI总线协议1.PCI总线的传输控制遵循的管2.PCI总线的寻址(采用分散地址译码技术)表3.4AD[1:0]和C/BE[3:0]#对应关系表AD1AD0C/BE3#C/BE2#C/BE1#C/BE0#00×××001××0110×011110111(1)I/O地址空间在I/O地址空间,32位AD线全部被用来提供一个完整的地址编码(字节地址)。

AD[1:0]和C/BE[3:0]指明传输的最低有效字节。972.PCI总线的寻址(采用分散地址译码技术)表3.4AD[(2)内存地址空间(3)配置地址空间3101双字边界对齐的起始地址200 地址递增01 Cache行切换1X 保留701双字边界对齐的起始地址200 选择该设备01 访问该桥路后设备1X 保留98(2)内存地址空间(3)配置地址空间3101双字边界3.字节使能4.PCI总线的驱动与过渡PCI总线上不能进行字节的交换。但是,具有64位通道的主设备可以进行DWORD(双字)的交换。主设备可以在每个新数据期开始的时钟前沿改变字节使能信号,且在整个数据期中保持不变。读缓冲中的数据可以不考虑字节使能信号,而传送所有的字节。在每个地址(数据)期中,所有的AD线都必须被驱动到稳定的状态(数据),包括那些字节使能信号表明无效的字节所对应的AD线。从一个设备驱动总线到另一个设备驱动PCI总线之间设置一个过渡期,又称为交换周期,以防止总线访问冲突。993.字节使能4.PCI总线的驱动与过渡PCI总5.设备选择CLKFRAME#IRDY#TRDY#DEVSEL#12345678FASTMEDSLOW……图3.6设备选择的时序关系注意DEVSEL#与FRAME#、TRDY#的关系,无DEVSEL#信号时的处理。DEVSEL#由从设备共享使用,并由被选中的从设备驱动。1005.设备选择CLKFRAME#IRDY#TRDY#DEVS3.3.6PCI总线数据传输过程

1.总线上的读操作CLKFRAME#123456789ADC/BE#IRDY#TRDY#DEVSEL#ADDRESSDATA1DATA2DATA3BUSCMDBE#s地址期数据期数据期数据期PCI读操作时序1013.3.6PCI总线数据传输过程1.总线上的读操作C2.总线上的写操作CLKFRAME#123456789ADC/BE#IRDY#TRDY#DEVSEL#ADDRESSDATA2DATA1DATA3BUSCMD地址期数据期数据期数据期PCI写操作时序BEs1BEs2BEs31022.总线上的写操作CLKFRAME#123456789AD3.传输的终止过程(1)由主设备提出的终止(2)由从设备提出的终止传输结束超时(GNT#信号在内部延时计数器满后仍无效)死锁后重试断开(8个时钟周期内从设备不能对主设备做出响应)。撤消FRAME#,建立IRDY#,直到TRDY#有效后传输完最后一个数据发出STOP#信号并保持其有效,直到FRAME#撤消为止。1033.传输的终止过程(1)由主设备提出的终止(2)由PCI总线上的所有传输操作中,FRAME#、IRDY#、TRDY#和STOP#遵循的规则:当STOP#信号有效时,FRAME#应该在其后的2~3个时钟周期内尽快撤消,但撤消时应使IRDY#有效,从设备应无条件的保持STOP#的有效状态直到FRAME#撤消为止。FRAME#撤消后,STOP#也应该紧跟着撤消。在任何时钟的上升沿,如果STOP#和TRDY#同时有效,就表示是传输的最后周期,IRDY#要在下一个时钟的上升沿之前撤消,表示传输的结束。

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

104PCI总线上的所有传输操作中,FRAME#、IRDY#、TR3.3.7总线仲裁

PCI总线采用集中式的同步仲裁方法中央仲裁器PCI主设备APCI主设备BREQ#REQ#GNT#GNT#1053.3.7总线仲裁PCI总线采用集中式的同步仲裁方法中央CLKFRAME#1234567ADGNT#-BIRDY#TRDY#GNT#-A地址数据A存取B存取两个主设备之间的PCI总线仲裁REQ#-BREQ#-A地址数据cabdefg106CLKFRAME#1234567ADGNT#-BIRDY#T1、PCI设备的配置空间定义一个PCI总线配置空间的目的在于提供一套适当的配置措施,使之实现完全的设备再定位而无需用户干预安装、配置和引导,并由与设备无关的软件进行系统地址映射。

所有PCI设备都必须实现PCI协议规定必需的配置寄存器,以便系统加电的时候利用这些寄存器的信息来进行系统配置。对PCI的配置访问实际上就是访问设备的配置寄存器。

在系统启动的时候由BIOS代码执行设备配置。一旦即插即用OS(如Windows2000/XP)启动后,控制就传递给OS,OS接管设备管理。3.3.8PCI总线配置1071、PCI设备的配置空间定义一个PCI总线配置空间的目的2、配置空间头区域及功能1082、配置空间头区域及功能33(1)设备识别

头区域有7个寄存器(字段)用于设备的识别。(2)设备控制表现在命令寄存器为发出和响应PCI总线命令提供了对设备粗略的控制。(3)设备状态

状态寄存器用于记录PCI总线有关操作的状态信息。注意:该寄存器的有些位是只可清不可置,对这些位的写,被解释为对该位清零。例如,为了清位14而不影响其他位,应向该寄存器写0100000000000000B

109(1)设备识别(2)设备控制(3)设备状态34(4)基址寄存器

PCI设备的配置空间可以在微处理器决定的地址空间中浮动,以便简化设备的配置过程。系统初始化代码在引导操作系统之前,必须建立一个统一的地址映射关系,以确定系统中有多少存储器和I/O控制器,它们需要占用多少地址空间。当确定这些信息之后,系统初始化代码便可以把I/O控制器映射到合理的地址空间并引导系统。为了使这种映射能够做到与相应的设备无关,在配置空间的头区域中安排了一组供映射时使用的基址寄存器。110(4)基址寄存器PCI设备的配置空间可以在微处理器决定的10I/O空间指针规范规定每个I/O基地址下的端口数不得大于256。31210基地址0预取使能存储空间指针0032位地址空间任意映射0132位地址空间1M字节以内映射(已经不用)10

64位地址空间任意映射

11

保留31(63)3210基地址保留返回11110I/O空间指针规范规定每个I/O基地址下的端口数具体实现的过程中,除了低四位由硬件满足上述要求外,高位部分实际设置位数视映射多大地址空间范围而定,根据地址范围,决定高多少位需要设置,这些位被设置成可写,高位部分的其它位用硬件使其为0,并只可读。基地址设置过程:系统初始化程序向基地址寄存器写全1系统初始化程序读出基地址寄存器的内容系统初始化程序判断设备需要的地址空间大小系统初始化程序分配基地址并写回到该基地址寄存器如设备需要使用1MB的存储空间,硬件实现基地址寄存器的时候应该使位0,位4~位19由硬件使其保持为0112具体实现的过程中,除了低四位由硬件满足上述要求外,高位部分实举例1:系统初始化向基址寄存器写全1后读出的值=FFF00000h位0=0,表示是一个存储器地址空间映射位[2:1]=00b,它是32位存储器映射位3=0,表示它不是预取存储器。位[31:4]第一个为1的是位20,表示映射的存储空间为220=1MB。

这意味着存储映射的基地址应该起始于1MB、2MB、3MB等的边界上。系统经过权衡后再向该基址寄存器写入实际映射的空间基址,该基址应该是1MB边界的,如:FFF00000H,FFE00000H,FE000000H等。问:FFF10000H地址能不能做该设备存储基址?113举例1:系统初始化向基址寄存器写全1后读出的值=FFF000举例2:基址寄存器的值=FFFFFF01h位0=1,表示是一个I/O地址空间映射位[31:2]

第一个为1的是位8,表示映射的I/O空间为28=256。

这意味着I/O映射的基地址应该是256的整数倍。114举例2:基址寄存器的值=FFFFFF01h位0=1,表示是一最大/最小映射地址空间是多少?最大/最小存储映射地址空间最小存储映射地址空间=16字节(24)最大存储映射地址空间=2GB(231)最大/最小I/O映射地址空间最小I/O映射地址空间=4字节(22)最大存储映射地址空间=256字节(协议规定)转前115最大/最小映射地址空间是多少?最大/最小存储映射地址空间最小扩展ROM访问允许31111010基地址保留扩展ROM基地址寄存器扩展ROM基地址=FFFF0001h位0=1,表示扩展ROM访问允许位[31:11]

第一个为1的是位16,表示映射的存储空间为64K。

这意味着ROM映射的基地址应该起始于64KB的边界1116扩展ROM访问允许31(5)头区域中其它寄存器

中断引脚寄存器

8位只读寄存器,指明设备使用了PCI的哪个中断引脚。1代表INTA#,2为INTB#……中断请求线寄存器

8位可读/写寄存器,指明设备的中断引脚和PC机的8259A的哪个中断输入线连。Min_Gnt/Max_lat寄存器

Min_Gnt用来指定设备需要多长的突发传输时间。Max_lat用来表示对PCI总线进行访问的频繁程度。117(5)头区域中其它寄存器中断引脚寄存器中断请求线寄存器2.配置空间的访问(1)配置空间访问时目标设备的选择对于某一PCI设备,1)只有当输入它的IDSEL信号有效,2)并且在地址期内AD[1:0]为00时,才能被作为配置访问的目标设备。

1182.配置空间的访问(1)配置空间访问时目标设备的选择对(2)配置空间访问的类型·0类配置空间访问对(正在运行的)当前PCI总线上的目标设备配置寄存器所进行的访问。被配置访问的目标设备必须在地址期采样到其IDSEL输入信号有效,且AD[1∶0]必须为00。地址期,AD[1∶0]必须为00;AD[10∶8]用于选择物理设备的八种功能之一;AD[7∶2]为选择该功能设备的配置寄存器号(双字号)。AD[31:11]可用于连接各设备的IDSEL信号数据期,AD[31∶0]传送的是配置读/写数据。119(2)配置空间访问的类型·0类配置空间访问44·1类配置空间访问对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备(配置寄存器)所进行的访问。地址期,AD[1∶0]必须为01;AD[10∶8]作为选择物理设备的八种功能之一。AD[7∶2]为选择该功能设备的配置寄存器号;AD[15∶11]用于存放第二级总线上被选中设备的IDSEL号,AD[23∶16]放总线号。桥片中也有桥配置空间寄存器,存放有总线号和次级总线号等信息。一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分别进行处理。120·1类配置空间访问45桥A桥B设备设备CPU总线PCI总线0PCI总线1如果要访问的总线号既不同于桥的第二级总线号,也不在桥的第二级总线号的下级总线范围内,那么桥将忽略本次访问。如果总线号不同于桥的第二级总线,但在桥的第二级总线号的下级总线范围内,那么桥将本次访问作为1类配置访问传递给第二级总线。配置命令从第一级传递到第二级C/BE#总线。如果总线号与桥的第二级总线号相同,那么桥将本次访问作为0类配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论