版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章 微型计算机总线 10.1 总线技术概述 10.2 ISA总线 10.3 PCI总线与PCI-Express总线 10.4 USB总线 10.1 总线技术概述 10.1.1 总线的标准 总线标准主要包括以下几个部分:机械结构规范:模块尺寸、总线插头、边沿联接器插座等规格及位置。性能规范:总线每根线(引脚)信号名称与功能,它们相互作用的协议(例如定时关系)。电气规范:每根信号线工作时的有效电平、动态转换时间、负载能力、各电气性能的额定值及最大值。 10.1.2 总线的指标1. 总线宽度同时传输的数据位数位数越多,一次传输的信息就越多ISA总线宽度16位,EISA:16位,PCI:32位,
2、PCI-2:64位。2. 总线频率总线通常都有一个基本时钟,总线上其他信号都以这个时钟为基准这个时钟的频率也是总线工作的最高频率。时钟的频率越高,单位时间内传输的数据量就越大。ISA总线、EISA总线的时钟频率为8MHz,PCI总线为33.3MHz,PCI-总线2可达66MHz。 总线带宽与总线数据传输速率带宽:总线上单位时间内传输信息的总量,等于总线宽度乘上总线频率。B(ISA)= 2(字节数据宽)8(MHz)= 16MB/sB(PCI)=4(字节数据宽)33.3(MHz) = 133MB/s数据传输速率:总线上单位时间内传输数据信号的总量,等于带宽除以每个数据传输使用的总线周期数。 数据传
3、输速率(ISA)= 16MB/s 2= 8MB/s 数据传输速率(PCI)= 133MB/s 1= 133MB/s10.1.3 总线的分类1. 系统总线初期微型计算机的结构比较简单,它的总线连接了微处理器、存储器、接口电路和输入/输出设备,构成了完整的“计算机系统”,这样的总线称为“系统总线”。这种系统总线实际上就是微处理器芯片总线(片内总线)的延伸。图10-12 局部总线大量设备连接到系统总线上时:“争用”总线的可能性增加,容易产生数据传输“瓶颈效应”,总线性能下降总线连接设备多,负载重,也会增加传输延迟为了解决这个矛盾,在CPU高速外设之间增加了一条直接通路,该通路称为“局部总线”使用局部
4、总线后,系统内有多条不同级别的总线,形成了“分级总线结构”。不同传输要求的设备“分类”连接在不同性能的总线上,合理地分配系统资源,满足不同设备的不同需要。局部总线信号独立于CPU, 处理器的更换不会影响系统结构。 3. 通信总线(外总线)通信总线又称为外总线,用于微机系统与微机系统,微机与外部设备(如打印机、硬盘设备)、仪器仪表之间的通信通道。这种总线的数据传输可以是并行的(如打印机),也可以是串行的,数据传输速率低于系统内部的总线。有多种不同的通信总线标准,例如,串行通信的RS232C、USB总线,用于硬磁盘接口的IDE、SCSI总线,用于连接仪器仪表的IEE-488、VXI,用于并行打印机
5、的Centronics等。 10.1.4 总线的数据传输信息是在两个或两个以上模块(或称为设备)之间传送的传送信息的主动方称为主模块,传送信息的被动方称为从模块。除了特殊情况外,信息的传送都是在主模块与一个从模块之间进行。总线上同一时刻仅有一个主模块占用着总线。 1. 总线数据传输的过程一次总线传输过程划分为若干阶段: 总线申请与总线裁决:主模块申请总线,以便取得总线的控制权。 多个主模块同时申请总线使用权时,根据某种算法作出裁定,把总线的控制权赋予某个设备,这一任务由总线控制器完成。 寻址:主模块取得总线控制权后,由该模块进行寻址(目的地址),通知被访问的从模块进行信息传输。 传送数据:根据
6、读写方式确定信息流向,一次传输可以传送一个数据,也可以传送多个数据。 错误检测 2. 总线传输的定时方式在总线上进行信息传送必须使得信息传送双方(主与从)相互同步。每一位的信息从什么时间开始每一个数据从哪一位开始每一个数据块从哪一个数据开始有三种定时方法: 同步传输异步传输半同步传输(1)同步传输信息传送在一个公共时钟的控制下进行总线所有事件都在时钟周期的开始时发生,而不是由发送方或接收方决定。同步方式要求总线上的所有设备都能按照严格的时间关系实施数据传输。 (2)异步传输 为了能用不同速度的模块组成系统,有时也采用异步方式控制数据传输。异步传输没有统一的时钟信号,它通过一对握手(Handsh
7、aking)信号线(请求Request,响应Acknowledge)在发送方和接收方之间进行联络。主设备发出传输请求,从设备准备就绪后发出应答信号,此后传输开始。异步方式的数据传输时间随着设备响应速度的不同而变化。CPU对存储器传统的读写是一种异步传输方式。CPU(主模块)将存储器地址放到地址总线上,发出读信号。存储器从模块识别地址,在延迟若干时间后,将数据和应答信号放到总线上。 异步传输下的读传输时序图10-2(3)半同步传输进行半同步传输时,各信号仍以公共时钟为基准,数据的开始时间由时钟信号和握手信号共同确定。总线上各操作之间的时间间隔可以变化,但仅允许为公共时钟周期的整数倍。半同步方式在
8、同步的前提下,允许设备的某些不一致性,具有较大的灵活性,因此得到了广泛的使用。ISA总线属于这种类型。3. 数据传输类型总线上的数据传输有单周期方式和突发数据传输(Burst)两种方式。单周期方式在获得一次总线使用权后只能传送一个数据,如果需要传输多个数据,就要多次申请使用总线。突发方式下,获得一次总线使用权可以连续进行多个数据的传输:寻址阶段主设备发送数据块的首地址,后续的数据在首地址的基础上按一定的规则(如自动加1)寻址。这种传输方式总线的利用率高PCI总线支持突发数据传输方式。4. 错误检测由于外界或者自身存在着各种随机出现的干扰因素,总线上传输的信息可能产生错误。需要错误检测电路发现或
9、纠正出现的错误,由专用的总线信号来报告出现的错误。最常用也是最简单的错误检测方法是奇偶校验。总线进行高速和大批量信息传输时,常采用循环冗余校验(Cycle Redundancy Checking, CRC)的错误校验方式。 10.2 ISA总线 ISA(Industrial Standard Architecture, 工业标准体系结构)总线起源于IBM-PC微型计算机的出现。 ISA 插槽由基本的62线8位插槽和扩展的36线插槽两部分组成。ISA总线主要的性能指标:24位地址线,可直接寻址的内存容量为16MB,I/O地址空间0100H03FFH; 8/16位数据线,62+36引脚;工作频率8
10、MHz,带宽16MB/s,数据传输速率8MB/s;中断功能及DMA功能;10.2.1 ISA总线信号 10.2.2 ISA总线扩展卡由于ISA总线的开放特性,许多厂商设计制造了各种ISA总线的I/O接口,比如AD数据采集卡。为了避免地址发生冲突,ISA卡设计时采用跳线开关(switch),允许对卡的I/O起始地址(BASE)进行选择。图10-4为ISA PCL818接口卡的部分地址设定。用户必须自己调整好switch,使BASE位于所使用计算机I/O的空闲位置,然后根据BASE地址访问该ISA卡各种资源。 图10-410.3 PCI总线与PCI-Express总线 PCI总线的英文全称是 Pe
11、ripheral Component Interconnect,即外部设备互连。 1991年下半年首先由Intel公司提出。对高速率数据传输的需求推动了PCI的产生。PCI总线支持64位数据传输、多总线主控和线性突发方式(Burst),数据传输率为133MB/s。10.3.1 PCI的特点1 突发总线传输PCI支持突发的数据传输模式,满足新型处理器高速缓冲存储器(Cache)与内存之间的读写。线性突发传输能够更有效地运用总线的带宽去传输数据,以减少无谓的寻址操作。 2 支持总线主控方式和同步操作挂接在PCI总线上的设备有“主控”和“从控”二类。PCI总线允许多处理器系统中任何一个处理器或其他有
12、总线主控能力的设备成为总线主控设备。PCI允许微处理器和总线主控制器同时操作,微处理器内部的操作和总线操作可以同时进行。3 独立于处理器PCI是一种独立于处理器的总线标准,支持多种处理器,适用于多种不同的系统。在PCI总线构成的系统中,接口和外围设备的设计是针对PCI而不是CPU的,当CPU因为过时而更换时,接口和外围设备仍然可以正常使用。4 即插即用PCI具有即插即用(Plug and Play) 、自动配置的功能。总线的接口卡上都设有“配置寄存器”,系统加电时用程序给这些设备分配端口地址等系统资源,可以避免它们使用时发生冲突。新推出的PCI 2.2版支持热插拔(Hot Plug)。5 适合
13、于各种机型PCI局部总线不仅为桌面(台式)电脑提供合理的局部总线设计,同时也适用于便携式电脑和服务器。支持3.3V的电源环境,延长电池寿命,为电脑小型化创造了良好的实现条件。6 多总线共存PCI总线通过“桥”芯片进行不同标准信号之间的转换。使用“Host-PCI”桥连接处理器和PCI总线使用“PCI-ISA/EISA”桥连接PCI和ISA/EISA。这一特点使得多种总线可以共存于一个系统中。 10.3.2 PCI总线系统结构“Host-PCI”桥实现了PCI总线的全部驱动控制,主要解决I/O设备同CPU的连接问题。另一类“桥”用于生成“多级总线”结构,例如“PCI-ISA/EISA”、“PCI
14、-USB”、“PCI-PCI”等。多级总线把不同传输速度,不同传输方式的设备分门别类地连接到各自“适合”的总线上,使得不同类型的设备共存于一个系统,合理地分配资源,协调地运转。 图10-510.3.3 PCI总线信号PCI信号线分为必备的和可选的两大类主设备至少需要49条必备信号从设备需要47条必备信号信号类型定义:IN 输入,是一标准的只作输入的信号。OUT 输出,是一标准的输出驱动信号。T/S 双向的三态输入/输出信号。S/T/S 持续的并且低电平有效的三态信号。在某一时刻只能属于一个主设备并被其驱动。OD 漏极开路,以线或形式允许多个设备共同驱动。 图10-61. 系统信号CLK IN:
15、时钟信号,最高33MHz/66MHz,为所有PCI传输提供时序基准;RTS# IN:复位信号。2. 地址和数据信号AD 31: 0,T/S,地址和数据分时复用信号。地址期:FRAME#有效,发送32位物理地址;数据期:IRDY#和TRDY#同时有效,32位数据信号;C/BE 3: 0 #,T/S,总线命令和字节有效复用信号线,传输命令或字节选择信号。PAR,T/S, 对AD 31: 0 和C/BE 3: 0 # 的奇偶校验位。 3. 接口控制FRAME #,S/T/S,FRAME #有效预示总线传输的开始,由当前主设备驱动IRDY #,S/T/S,主设备准备好信号TRDY#,S/T/S,从设备
16、准备好信号STOP#,S/T/S, STOP#有效表示当前从设备要求主设备停止数据传送LOCK #,S/T/S,LOCK#有效时,当前的主、从设备将独占总线资源IDSEL ,IN,初始化设备选择,参数配置读写时,用作片选信号DEVSEL # ,S/T/S,设备选择,它有效表示总线上某一从设备已被选中 4. 仲裁信号REQ#,T/S,请求信号,任何主设备请求占有总线必须发出该请求,由PCI主控制器仲裁。每个PCI总线主设备都有一根独用的REQ#信号。GNT#,T/S,允许信号,PCI主控制器批准主设备请求后,发回给主设备。与REQ#信号一样,每个PCI总线主设备都有一根独用的GNT#信号。5.
17、出错报告信号PERR#,S/T/S,奇偶校验错信号,由数据接收设备发出。SERR#,O/D,系统错误信号,报告地址奇偶错等可能引起灾难性后果的系统错误。 6. 中断信号INTA#,O/D,中断请求信号,该信号允许与时钟信号不同步。INTB#, INTC#, INTD#,O/D,多功能设备的中断请求信号。10.3.4 PCI总线周期和地址空间1. PCI总线周期PCI上基本的总线传输机制是突发成组传输一个突发分组传输由一个地址期和多个数据期组成图10-7一次典型的读操作过程: (1)主设备获得总线使用权后:将FRAME#置为有效,在C/BE#上发送PCI总线命令在AD031上发送地址信号,PCI
18、总线进入“地址期”将IRDY#信号置为有效,表示主设备已经就绪在BE#03上发送字节选择命令 (2)从设备:从C/BE#获知主设备的读命令在地址期中从AD上得到存储器或IO地址被选中的设备发出DESEL#有效信号表示响应同时,从设备内部的读操作开始进行要求的数据读出后,将TRDY#置为有效,将读出的数据送往AD信号线,PCI总线进入“数据期”。主设备在主时钟信号的控制下,从AD上读入需要的数据。 (3)如果主设备需要执行突发总线周期(默认方式),则将FRAME#和IRDY#信号保持有效。从设备在这二个信号的控制下,将下一组数据送往AD信号线,进入下一个数据期。如果从设备不能在下一个时钟周期如期
19、送出数据,则将TRDY#信号置为无效,数据传输将产生停顿。(4)主设备在发出最后一组数据的读命令之后:将FRAME#信号置为无效,表示数据传输即将结束。在最后一项数据传输后,主设备撤销IRDY信号从设备撤销TRDY#和DEVSEL#信号,一次PCI突发总线传输结束。总线控制器发现FRAME#信号结束后,开始下一次总线仲裁。总线的仲裁和总线上的数据传输是同时进行的。 2. PCI的地址空间PCI总线定义了三个物理地址空间:内存地址空间、I/O地址空间和配置地址空间。PCI总线的每个设备都有自己的地址译码电路,不需要进行统一译码。PCI支持正向和负向两种类型的地址译码:正向译码:每个设备都监听地址
20、总线,判断访问地址是否落在它的地址范围,如果是,使DELSEL#有效以示应答,响应速度较快。负向译码:没有一个设备作出响应时,由一个指定的设备(负向译码设备)作出响应。它要等到总线上其他所有设备都拒绝之后才能行动,速度较慢。10.3.5 PCI配置空间1. PCI头标区信息1. PCI头标区信息PCI配置空间是长度为256字节的一段内存空间,前64个字节包含PCI接口的信息,64255的地址空间存放设备特定的一些信息。(1)制造商标识(vendor ID):由PCI 组织给PCI设备制造厂家的惟一编码,子系统制造商标识(subsystem vendor ID)也由该组织给出。(2)设备标识(d
21、evice ID):生产厂对这个产品的编号,类似的还有子系统标识(subsystem ID)。操作系统根据子系统制造商标识和子系统标识识别设备类型,装载对应的驱动程序。 (3)分类码(class code):代表该卡上设备的功能,如网卡、硬盘卡、扩展桥、多媒体卡等,它们都对应一个惟一的编码。(4)基地址寄存器05(base address registers):第0位是只读位,为0表示申请存储器空间,用12位表示存储空间的类型。第0位为1时表示申请IO空间。第431位用来表示申请地址空间的大小,用其中可读写的位数表示。存储空间的大小由基地址寄存器的可读写位数指定,分配的位置则由系统统一安排。由
22、于有6个基地址寄存器,PCI设备最多可以申请6段地址空间。 图10-9例:申请32位地址空间内1MB存储空间:位3120为可读写寄存器(写入分配到存储空间地址高位)位194为只读寄存器,内容固定为零位21为00(只读),表示申请32位地址空间内的存储空间位0为0 (只读) ,表示申请存储器空间当一块PCI卡上具备一个以上功能时,应指定为多功能卡,每个功能都要有一个自己的配置空间。每个功能可以是不同的设备标识(device ID)、功能类型、存储器和I/O地址空间及中断资源。配置空间的头类型(header type)用于指明是单功能卡或多功能卡。头类型的第七位为1时代表多功能卡。访问配置空间时,
23、3位地址用于指定功能号,因此每块卡最多可支持8个功能部件。由于PCI总线上只有4条中断请求线,因而多功能卡最多只能有4个中断源。 2. 访问配置空间 通过BIOS调用“INT 1AH”可以获取PCI的配置信息,AH置为功能号0B1H,AL中为子功能号:(1) PCI _BIOS _PRESENT功能:查看PCI BIOS是否存在,若存在,版本号为多少。入口:AL=01H出口:EDX=“PCI”ASCII字符串 AH=存在状态 00= 存在 01=不存在 BX=版本号(2) FIND_PCIDEVICE查找指定厂商和设备号的PCI板卡的位置。调用该函数后,用户可以利用该函数返回的总线号去调用RE
24、AD _CONFIG和WRITE_CONFIG函数访问设备配置空间。入口:AL=02H CX=设备ID值(065535) DX=厂商ID值(065534) SI=索引号(0n)出口:AH=返回代码:SUCCESSFUL(=0) , DEVICE_NOT_FOUND, BAD_VENDOR_ID BH=总线号(0255) BL=设备号(高5位),功能号(低3位) CF=完成状态,1=错误, 0=成功。 (3) FIND_PCI_CLASS_CODE入口:AL=03H查找指定类代码和索引的PCI设备的位置。在其后可调用READ_CONFIG和WRITE_CONFIG函数去访问设备配置空间。(4)G
25、ENERATE_SPECIAL_CYCLE在PCI总线上产生特殊的周期入口: AL=06H BH=总线号(0255) EDX=特殊周期的数据出口: AH=返回代码:SUCCESSFUL(=0),FUNCTION_NOT_SUPPORTED CF=完成状态,1=错误, 0=成功。 (5) READ_CONFIG_BYTE按字节读取配置空间数据。入口:AL=08H BH=总线号(0255) BL=设备号(高5位),功能号(低3位) DI=寄存器号(0255)出口:AH=返回代码(SUCCESSFUL=0) CX=读到的字节 CF=完成状态,1=错误, 0=成功。 (6) READ_CONFIG_W
26、ORD/READ_CONFIG_DWORD按字/双字读取配置空间入口: AL=09H / 0AH BH=总线号(0255) BL=设备号(高5位),功能号(低3位) DI=寄存器号(0, 2, 4, 254)/(0, 4, 8, 252)出口:AH=返回代码:SUCCESSFUL(=0), BAD_REGISTER_NUMBER CX/ECX=读取的字/双字 CF=完成状态,1=错误, 0=成功。(7)WRITE_CONFIG_BYTE/ WRITE_CONFIG_WORD/ WRITE_CONFIG_DWORD对设备的配置空间按字节/字/双字进行写入口: AL=0BH/0CH/0DH BH=
27、总线号(0255) BL=设备号(高5位),功能号(低3位) DI=寄存器号 (0255) CL/CX/ECX=要写字的字节/字/双字出口:AH=返回代码:SUCCESSFUL, BAD_REGISTER_NUMBER CF=完成状态,1=错误, 0=成功。 希望自己编程访问本机PCI接口卡数据时,可以首先用如下程序得到该卡的I/O地址: (假设设备标识为0440H,生产厂标识为5333H )MOV AH, 0B1H;MOV AL, 02H;MOV CX, 0440H; DEVICE ID,显卡设备标识MOV DX , 5333H; VENDOR ID,生产厂商标识MOV SI, 0;INT
28、1AH; 得到总线号,设备号,功能号JC ERROR; 错误时转ERRORMOV AH, 0B1H;MOV AL, 09H;MOV DI, 10H; PCI基址寄存器INT 1AH;AND AH, AH;JNZ ERRORAND CX, 0FFF0H ; D3D0为标志位MOV AX, CX;ERROR : ; 出错处理10.3.6 PCI总线设备开发及S5933为了推广PCI总线,降低PCI的使用难度,PCI SIG提供了一套PCI系统开发工具,许多元件制造商也纷纷推出PCI协议控制芯片,AMCC公司生产的S5933X就是这类芯片。S5933X是在PCI总线与用户应用电路之间完成PCI协议转
29、换的芯片,使用户能像ISA总线那样轻松完成接口电路设计。它提供了3个物理总线接口:PCI总线接口、外加总线接口和可选的NV(非易失)存储器接口。数据传送可以在PCI总线与外加总线之间进行,也可以在PCI总线与NV存储器之间进行。PCI总线与外加总线之间的数据传送可以按以下三种方式进行。PASSTHRU:用户可将PCI板上的I/O空间和存储空间映射到系统中。PASS-THRU方式不支持主控(Master),仅支持从控方式(Slaver)。MAILBOXES:供PC机与PCI板上微处理器之间传输参数用,速度很低。FIFO:先进先出队列及控制电路,数据写入FIFO后,按写入的先后顺序读出,供PCI板
30、上进行大量数据传输用,S5933也用该功能模块来支持主控DMA。 PCI规范允许PCI设备自带一个ROM,在系统上电(POST)访问配置空间时,将该扩展ROM拷贝入RAM并加以执行。S5933的NV存储器接口提供了这类功能。 10.3.7 PCI-Express总线在PCI总线长达十几年的使用过程中,PC机的应用领域不断扩大、外围设备性能与工作速度迅速提升,而PCI总线本身的性能却停滞不前,使得PCI已经不能满足新一代高性能PC机的需要。在物理层面上,PCI Express总线以差分信号和串行传输为其基本模式,在软件层面上却又与原有的PCI总线兼容。由于PCI Express总线的优异性能,它
31、正在成为新一代主流总线。 1PCI-Express总线信号(1)采用差分信号PCI Express总线采用差分信号传输,用一对(2根)信号线传递一位二进制信息,峰峰值为0.8V1.2V。差分信号可以有效地克服 “共模干扰”的影响。采用差分信号后,信号线上的电压降低了,信号“翻转”所花费的时间相应缩短,数据传输速度得到提高。低电位信号同时还减少了信号之间的相互干扰和信号自身对外部的干扰。 (2)全双工通讯 PCI Express用两对(4根)信号线实现一位二进制信息的“全双工”数据传送。(3)采用点对点连接 PCI Express采用点对点连接方式,每个设备都有自己的专用连接,比起PCI总线的共
32、享并行方式,它不存在设备对信道的竞争,不需要进行总线仲裁,简化了总线管理(4)串行/并行灵活组合的传送方式 使用2对信号线时,PCI-Express可以进行一位二进制的“全双工”串行通讯,称为PCI-Express1。 允许对信号线的数目进行扩充,使用两组(4对/8根)信号线时,可以同时进行2位二进制信号的“并行”双向通讯,带宽比1增加了一倍。 信号线可以扩充为2/4/8/12/16/32组,分别称为PCI Express2、4、8、12、16及32,灵活地实现串行/并行组合式的数据通讯。 PCI-Express1的单向信号传输速率为2.5Gbps,除去编码损耗,实际带宽约为250MBps,双
33、向可达500MBps,比33MHz PCI总线的速度快一倍左右。PCI Express16单向就能够提供4GBps的带宽,远远超过AGP 8X的2.1GB/S的带宽。即将推出的PCI-Express2.0规范将时钟信号频率提高为5Gbps,数据传输速率进一步得到提升。 目前台式PC机中提供的PCI Express总线有1和16两种。16可以取代AGP供连接显卡使用。 2PCI-Express的层次结构 PCI Express总线采用分层设计,与PCI总线的寻址方式兼容,现有的应用程序和驱动程序可以不加改变地在PCI Express总线上使用。 PCI-Express从下到上分别为:物理层(Ph
34、ysical Layer)、数据链路层(Link Layer)、处理层(Transaction Layer)和软件层(Software Layer)。 物理层决定总线接口的物理特性,如点对点串行连接、差分信号驱动、热拨插、可配置带宽等。使用信号的跳变来同步,不需要使用单独的同步时钟信号。 数据链路层的主要职责就是确保数据包的完整性,确保数据包可靠、正确地传输。它在数据包前添加序列号和在数据包后添加冗余校验码。 处理层的作用主要是接收从软件层送来的读、写请求,建立一个请求包传送到数据链路层。处理层同时接收从数据链路层传来的响应包,并与原始的软件请求关联。 处理层包括4个地址空间,其中3个是PCI
35、接口原有的,如内存、I/O和配置地址空间,另外一个是PCI Express接口新增加的,它就是信息空间。 3使用交换器实现设备互连 由PCI Express总线构建的系统包括根组件(Root Complex)、交换器(Switch)和各种终端设备。 根组件可以集成在存储控制中心(MCH)芯片中,用于处理器和内存子系统与I/O设备之间的连接。 在PCI Express架构中新增加的设备是交换器(Switch),它取代了原有架构中的I/O桥接器,用来连接各种设备或PCI Express扩展插槽。交换器可以提供2个或多个端口,每个端口可以连接一个PCI Express设备,实现多个设备的互连。 4支
36、持与PCI兼容的地址空间 PCI Express支持与PCI相同的内存、I/O和配置地址空间,而且还将PCI的配置空间从256B扩大到4KB。原有的应用程序和PCI设备的驱动程序,不加修改地就可以在PCI Express总线系统中运行。 PCI Express总线提供了一个新的信息地址空间,这可以使PCI Express设备相互交换信息。一部分信息是PCI Express的标准信息,用来出错报告、中断以及电源管理中的信息交换。而另一部分的信息由设备开发商定义。 10.4 USB总线 10.4.1 概述传统的接口电路,每增加一种设备,就需要为它准备一种接口或插座,还要为它们准备各自的驱动程序。这
37、些接口、插座、驱动程序各不相同,给使用和维护带来了困难。由Intel等公司开发的USB总线(Universal Serial BUS,通用串行总线)采用通用的连接器,使用热插拔技术以及相应的软件,使得外设的连接、使用大大地简化,受到了普遍的欢迎,已经成为流行的外设接口。 USB协议版本及传输速度 USB协议目前的版本是USB2.0,它允许三种传输速度:高速(HIGH-SPEED)480Mb/s 全速(FULL-SPEED)12Mb/s低速(LOW-SPEED)1.5Mb/s后两种传输速度兼容USB1.1标准(1.1版本中的“高速”在2.0版本中改称为“全速”)。不同传送速度的设备可以相互通信。
38、 2. 接口信号及电气特性USB总线使用一个4针的标准插头支持热插拔(Hot Plug In)和即插即用(Plug &Play)为低功耗装置提供电源,+5V时最大可提供500mA的电流。差分方式传输信号,半双工方式。管脚信号名称导线颜色1VBUS红2D-白3D+绿4GND黑外壳屏蔽多股线传输类型 (1)控制传输: 一个USB设备接入总线后,USB主机询问该设备的类型,为该设备分配地址,这个“配置”设备的过程称为控制传输。 (2)中断传输 键盘、鼠标等低速设备的数据传输是“断续”进行的,这些设备的信号传输使用“中断传输”方式。 USB主机通过定时查询的方法了解这些设备有无传输要求。通过设置查询时
39、间间隔,可以把对设备响应的延迟控制在允许范围之内。中断传输仅仅使用于输入设备, 这里的“中断”与第6章所叙述的外部设备中断在含义上是不同的,USB设备没有主动向主机申请“中断”的权利。 (3)批量传输 供打印机、数码相机、扫描仪等中高速设备使用。这些设备传输的数据通常是“成批”的,而且是不定期的。 (4)实时传输 主要用于视频、音频等对传输速度有严格要求的外部设备。对于这一类设备来说,传输的“实时”性比“正确”性更显得重要。为了“快”,它宁可部分地牺牲传输的“正确”性。 传输类型低速全速高速控制24/8832/8,16,32,6415872/64中断0.8/1864/16424576/1102
40、4批量不支持1216/8,16,32,6453248/512实时不支持1023/1102324576/11024表10-4 各种传输类型的速度/数据包大小 4. USB的特点 USB容易使用。用户将USB设备连接到计算机上后,系统会自动检测该设备,安装相应的驱动程序。只有当系统找不到适当的驱动程序时,才会要求用户提供驱动程序。系统安装驱动程序时,用户不用设置任何选项; USB支持热插拔,用户不用关闭计算机就可插拔USB设备; 不同的USB设备使用相同的接口。USB接口的价格低、能耗低并且稳定性好; USB的特点 USB总线可以提供5V最大500mA的电源给USB设备,大部分的USB设备可不用自
41、带电源; 传输速度快,USB提供三种传输速度,最高速度可达480Mb/S; 富有弹性,USB有四种传输类型,可以满足不同特点外部设备的需要;10.4.2 USB 总线的构成1. USB硬件(1)USB主控制器/根集线器USB主控制器是硬件、固件和软件的联合体。主控制器负责USB总线上的数据传输,进行数据格式的转换。根集线器集成在主系统中,提供多个接入端口。根集线器检测外设的连接和断开,执行主控制器发出的请求并在设备和主控制器之间传递数据。USB主控制器和根集线器合称为USB主机(HOST)。USB主机的作用: 检测USB设备的加入或去除状态;管理主机与USB设备之间的数据流;管理主机与USB设
42、备之间的控制流;收集USB设备的状态与活动属性。除了根集线器,USB总线上还可以连接附加的集线器。每个集线器可以提供2个、4个或7个接入点,连接更多的USB设备。可以把集线器与外部设备集成在一起,更方便地扩充系统。(2) USB设备(Device)为主机提供单个功能的设备称为“功能件”(FUNCTION)。“功能件”和Hub都称为USB“设备”。复合的“设备”有一个Hub和一个或多个“功能件”。每个集线器和“功能件”都有惟一的地址(1127)。允许最多连接5层集线器,总共127个外设和集线器(包括根集线器)。2. USB 总线拓扑结构 USB的物理连接是一个层次型的星形结构,集线器(Hub)位
43、于每个星型结构的中心。星形结构的每一段都是主机、集线器或某一功能件之间的连接。图10-133.设备地址和端点 USB总线上的每个设备都有一个由主机分配的惟一地址,用7位二进制表示。一个新的USB设备连接到系统时,使用默认的0号地址与USB主机通讯。配置过程结束后,由主机分配一个1127之内的地址,USB设备和集线器(包括根集线器)的总数不能超过127个。 每个设备还有一个或多个端点(Endpoint),端点编号在015之间,用4位二进制表示。USB设备用不同的端点号代表对该设备不同类型的传输要求。4.管道 管道是主机软件和设备端点之间的一个逻辑连接,是主机和设备交换数据的通道。一个设备可以同时
44、使用多个管道,设备移除后,与该设备所连的所有管道也被移除。 USB总线为多个设备所共享,因此,不同设备和主机软件传输的信息在总线上会交织在一起,但某一管道中传输的数据只属于连接该管道两端的主机软件和设备端点所拥有。 5. 总线信号和数据编码 USB总线采用NRZI-0(Non Return to Zero Invert-0,不归零翻转-0)编码对二进制数字信号进行“调制”。它定义电压跳变为“0”,电压保持不变为“1”。NRZI-0编码最终在D+,D-信号线上以差分的形式传输 总线状态信号电平D+D-MaxMinMaxMin全速低速差分 13.62.80.30.0全速低速差分00.30.03.6
45、2.8高速 差分 10.440.360.01-0.01高速 差分 00.01-0.010.440.36低速空闲0.83.62.7全速空闲2.70.8高速空闲0.01-0.010.01-0.01复位0.30.3包结束标志(EOP)0.30.310.4.3 USB事务与USB帧 USB主机与设备之间的一次基本的信息传送过程称为“事务(Transaction)”。有三种类型的事务:设置事务:USB主机对新接入的设备进行询问、分配设备地址等操作;输入事务:USB设备把数据/信息送往主机; 输出事务:USB设备接收来自主机的数据/信息。 1事务的组成每个事务通常需要在USB主机和设备之间先后传输以下三种
46、类型的“包”: 令牌包(Token,也称作标志):令牌包是一个事务的第一个包,由主机发往需要与它通讯的从设备。令牌包包含有从设备的地址、端点号、传输方向和本次事务的类型。数据包:根据事务的不同类型,数据包可以由主机发往从设备,也可以由从设备发往主机。数据包最大长度为1024B,如果需要传输的数据超过1024B,则需要划分为几个事务来完成。握手包(Handleshake):数据包传送结束后,由数据接收方向数据发送方回送一个握手包,提供数据是否正常接收的反馈信息。如果有错误,需要重发。不同类型传输的组成传输类型阶段(Stage)相位(Phase,包)传输类型阶段(Stage,事务)相位(Phase
47、,包)控制设置标志(TOKEN,令牌)批量数据(输入或输出)标志数据(Data)数据握手(Handshake)握手数据(输入或输出)标志中断数据(输入或输出)标志数据数据握手握手状态(输入或输出)标志实时数据(输入或输出)标志数据数据握手2USB帧 USB主机把总线时间划分为一个个等长的的时间片,每一个时间片称为帧(低速和全速)或微帧(高速)。帧的长度为1ms,微帧的长度为125s。每个帧由SOF(Start Of Frame)包引导,然后多个连续的事务。 USB主机负责管理总线上的数据传输,它每隔1ms就发送一个SOF信息包,以此来控制总线上的数据传输。高速传输时,再将一帧分隔成8个125s
48、的微帧。低速设备收不到SOF包。 USB帧/USB微帧3USB包格式USB包是是数据传送的基本方式,USB共有三种类型的包:标志包:USB的传输总是首先由主机发出标志包开始。标志包中有设备地址码、端口号、传输方向和传输类型等信息。数据包:其次是数据源向数据目的地发送的数据(Data)包或者发送无数据传送的指示信息,数据包可以携带的数据最多为1023B。握手包:最后是数据接收方向数据发送方回送一个握手包,提供数据是否正常接收的反馈信息。如果有错误,需要重发。除了同步传输之外,其他传输类型都需要握手(Handshake)包。几个不同目标的包可以合在一起,共享总线。 图10-16 USB包格式包类型
49、名字PID3: 0PID7: 0描 述令牌OUT000111100001主机到设备事务的端点地址IN100101101001设备到主机事务的端点地址SOF010110100101帧开始标记和帧编号SETUP110100101101主机到设备的setup事务的端点地址数据DATA0001111000011有偶同步位的数据包DATA1101101001011有奇同步位的数据包DATA2011110000111实时传输数据包使用(高速)MDATA111100001111实时、中断高速传输时使用握手(交换)ACK001011010010接收器接收到无错误数据包NAK101001011010接收器不能接
50、收数据或者发送者不能发送数据STALL111000011110一个控制请求不支持或端点被终止特殊PRE110000111100主机发送的先导,允许到低速设备的下游通信PID码 (1) 令牌包格式 在SETUP、OUT及IN令牌包中,包标识(PID)各不相同,其余部分格式相同。这些包均由主机发往指定设备的指定端点。 主机需要设置设备时,发送SETUP令牌包到指定设备及端点,开始一次控制传输。主机需要向设备发送数据时,先向设备发送OUT令牌包,然后发送数据包,从而向设备发送数据。主机需要接收设备数据时,先向设备发送IN令牌包,设备接收到IN包后,向主机发送数据包,完成设备向主机的数据传输。 图10
51、17 令牌包格式 (2) 数据包格式 DATA0和DATA1数据包除标识(PID)不同外,其余格式相同。一次数据传输中需要多个数据传输事务时,则交替使用DATA0和DATA1数据包。根据不同的传输方式,数据包的发送方可能是主机,也可能是设备。 数据包中既没有地址和端点的信息,也没有数据传输方向的信息,这些都要依赖于数据包前的令牌包中的相关内容,这也就是为什么一次事务中的包必需连续传送,而不能被中断的原因。令牌包数据包握手包10.4.4 批量传输、中断传输和实时传输 1 批量传输 批量传输使用在对传输速度没有严格要求的场合,只有全速和高速设备才可以使用批量传输。批量传输可以传送大量的数据而不会阻
52、塞总线,它可以让其他类型的传输先执行。图10-20 批量或中断输入事务 (1)主机如果无错误地收到设备发来的数据包,则向设备回复一个确认包(ACK),一次输入事务完成。所要求的数据量已经传输完、或者一个数据包的信息少于最大数据、或收到一个零长度的数据包时,批量传输结束。 (2) 如果主机收到的数据错误,则不向设备回复任何信息。设备收不到主机的确认包,会产生超时状态,输入事务处理结束。稍后主机可能会重新启动一次新的输入事务来读取数据。 (3)如果设备忙,不能返回数据时,回送非确认包(NAK)。 (4) 设备进入错误状态,不能返回数据时,发送停止包(STALL)。图10-21 批量或中断输出事务
53、2 中断传输 中断传输用于要求在规定时间内完成数据传输的场合,传输结构和批量传输相同。中断传输以查询方式工作,主机要不断地查询USB设备有无传输要求。中断传输能够保证最大延迟,即事务之间的时间。查询周期为:高速125s4s;全速1ms255ms;低速10ms255ms。3 实时传输 实时传输也称为同步传输,它要求以固定速率或者在限定时间内传输数据,并且可以容忍偶尔的传输错误。例如,传输实时声音和视频信号时,为了声音和和图像的连续播放,需要保证一定的传输速度,并且不能中断,偶有错误也不会影响收听和收看。 10.4.5 控制传输 1 设置阶段 设置阶段主机向设备发出一个设备请求。过程:主机向设备发
54、出SETUP令牌包,然后发出DATA0数据包,数据包中包含一个8字节的请求;设备收到数据包后回答主机一个确认包,设置阶段结束。2 数据阶段 数据阶段用来传输具体的数据,如设备的描述符、设备的报告等。可以没有数据阶段,或者有一个或多个数据输入或数据输出事务。数据阶段的第一个数据包使用DATA1,以后交替使用DATA0和DATA1数据包。3 状态阶段 数据阶段的接收方回应数据发送方一个应答信号。 状态阶段报告整个控制传输是否成功的信息。 使用和数据阶段相反方向的事务。状态阶段使用DATA1数据包。 10.4.6 USB设备的检测和配置 1 描述符 记录USB设备特性的一组信息称为“描述符”,这些信息按照规定的格式表示和存储。 每个设备的特性通过一组“描述符”反映出来。所有的USB设备都必须对标准的USB请求码中USB描述符请求作出响应。2 USB设备的检测和配置过程 (1)集线器的D+和D-线上各有一个15K的下拉电阻,没有USB设备连上时,D+和D-线都为低电平。全速和高速设备在D+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省绵阳市平武县2024-2025学年七年级上学期1月期末考试道德与法治试卷(含答案)
- 湖南省株洲市2025届高三年级教学质量统一检测数学试题(含答案)
- 重大版小学英语(2012版)三年级下册期末试卷(含答案含听力原文无音频)
- 2024高端红酒进口及分销业务承包合同
- 2024施工建筑垃圾外运及环保处理一体化项目管理合同3篇
- 2024环保设备采购及运行维护合同
- 2024年运输服务合同详细条款
- 2024版住宅区前期物业管理服务协议范本版B版
- 2025年度GRC防火板采购合同模板3篇
- 2024石子销售合同范例:违约责任、争议解决
- 垃圾中转站运营管理投标方案
- 广东省广州市2023年七年级上学期语文期末试卷(附答案)
- 建设工程见证取样管理规范
- 车载智能计算芯片白皮书
- 亚硝酸钠安全标签
- 土建工程定额计价之建筑工程定额
- 学校安全工作汇报PPT
- 成都大熊猫基地英文导游词-四川大熊猫基地解说词
- 一年级语文上册《两件宝》教案1
- 咨询公司工作总结(共5篇)
- GB/T 38836-2020农村三格式户厕建设技术规范
评论
0/150
提交评论