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

下载本文档

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

文档简介

第十二章总线与接口标准

12.1

通用串行总线USB

问题的提出:外设与PCU的连接存在接口标准各自独立、互不兼容、无法共享的头问题,并且安装、配置麻烦。其基本思路:采用通用连接器和自动配置及热插拔技术和相应的软件,实现资源共享和外设简单快速连接,提供设备共享接口来解决PC机与外部设备连接的通用性。针对这一问题的解决,提出了USB通用外设接口标准。USB(UniversalSerialBus)的中文含义是通用串行总线.USB以Intel公司为主,并有Compaq、Microsoft、IBM、DEC、IEC等公司共同开发,于1994年11月制定了第一个草案,1996年2月公布了USB1.0版本,目前,已发展到2.0版.1997年,微软在Windows97中开始外挂模块形式提供对USB的支持,1998后,随着Windows98中内置了对USB接口的支持模块,加上USB设备日益增多,USB逐渐流行起来。USB的主要优点:速度快。

USB有全速和低速两种方式,主模式为全速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为1.5Mbps。2000年9月即将推出的USB2.0协议将使其速率达到480Mbps,它非常适用于一些视频输入/输出产品,并很有可能替代SCSI接口标准。设备安装和配置容易。

安装USB设备不必再打开机箱,所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。实现成本低。

USB对系统与PC的集成进行了优化,适合于开发低成本的外设。易于扩展。通过使用Hub扩展可驳接多达127个外设。标准USB电缆长度为3米(低速为5米)。通过Hub或中继器可以使外设距离达到30米。使用灵活。

USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、块传输(bulk),以适应不同设备的需要。能够采用总线供电。

USB工作在5V电压下,总线提供最大达500mA电流。

一、USB的物理接口和电气特性1、接口信号线

USB总线(电缆)包含4根信号线,用以传送信号和提供电源。其中,D+和D-为信号线,传送信号,是一对双绞线;Vbus和GND是电源线,提供电源,如图12。20(a)所示。相应的的USB接口插头(座)也比较简单,只有4芯。两根信号线的D+线上,当设备在满速传输时,要求接1.5K

±5%的上拉电阻,并且在D+和D-线上分别接入串联电阻,其阻值为29~44,如图12。20(b)所示。……USB设备1.5K

3.0~3.6VD+D-VBusD+D-GNDVBusD+D-GND(a)(b)USB29~44

图12.20在满速传输时外接电阻的连接2、电气特性

USB主机或根Hub对设备提供的对地电源电压为4.75~5.25V,设备能吸入的最大电流值为500mA。USB设备的电源供给有两种方式:自给方式(设备自带电源)和总线供给方式。USBHub是前一种方式。

USB主机有一个独立于USB的电源管理系统(APM)。USB系统软件通过与主机电源管理系统交互来处理诸如挂起、唤醒等电源事件。二、USB设备及其描述器1.USB设备

USB设备分成Hub、功能设备两种。

Hub设备即集线器,是USB即插即用技术中的核心部分,完成USB设备的添加、插拔检测和电源管理等功能。Hub设备不仅能向下层设备提供电源和设置速度类型,而且能为其他USB设备提供扩展端口。(1)USBHUBUSBhub是USB实现即插即用的一个关键部分。每个USBhub有一个面向主机的端口,称为上游端口(UpstreamPort);同时还有几个用于和下端USB设备连接的端口,称为下游端口(DownstreamPort)。hub可以检测到下游端口是否有设备插入,同时也可以禁用某一个或某几个下游端口。每个下游端口可自由连接全速或低速设备。一个USB集线器由控制器(Controller)和中继器(Repeater)两部分组成。中继器是一个上游端口和下游端口之间的开关(Switch),由协议控制.它能由硬件产生复位(Reset),休眠(Suspend)和恢复(Resume)信号。控制器提供接口寄存器,用于和主机通信。根据集线器特定的状态,主机使用一定的控制命令可对集线器进行配置,检查各端口并对它们进行控制。下图是一个USB集线器的结构图。功能设备能在总线上发送和接收数据或控制信息,它是完成某项具体功能的硬件设备,如鼠标、键盘等。每个设备中有一个或多个逻辑连接点,称为端点(Endpoint)。端点在硬件上其实是一个有一定深度的FIFO。端点和主机共有四种形式的数据传输类型,在设备配置时每个端点指明它与主机进行何种类型的传输。所有设备都有一个端点0,主机与它通信,对设备进行配置和基本的控制。(2)功能设备2、端点在USB接口中再也不用考虑I/O地址空间、IRQ线及DMA通道的问题。只给每个USB外设分配一个逻辑地址,但并不指定分配任何系统资源。而USB外设本身应包含一不定期数量的独立的寄存器端口,并能由USB设备驱动程序直接操作。这些寄存器也就是USB设备的端点(Endpoint)。一个设备可以有多个端点,但所有的USB设备都必须有一个零端点以用于设置,完成Control类型传送。3、管道

USB支持功能性和控制性的数据传送,这些传送发生在主机软件和USB设备的端点之间,我们把USB设备的端点和主机软件的联合称为管道(Pipe)。因此,管道是从逻辑概念上来描述信息传输的通道。一个USB设备应有一个端点来支持接受数据的管道,还应有另一个端点来支持发送数据的管道。端点0所对应的管道。USB主机对外设的控制就是通过在与外设之间相连的默认管道发“外设请求”来实现的。可见,黠认管道主要用于控制类型的传输。4、USB设备描述器描述器:

描述器是一个有一定格式的数据结构。

USB设备是通过描述器来报告它的属性和特点的。每个USB设备都必须有设备描述器、设置描述器、接口描述器和端点描述器。这些描述器提供的信息包括目标USB设备的地址、要进行的传输类型、数据包的大小和带宽请求等。设备描述器

一个USB设备只有一个设备描述器,它包含了设备设置所用的默认管道的信息和设备的一般信息。设置描述器

一个USB设备有一个或多个设置描述器,例如,一个高电源设备可能也支持某种低电源方式,因此,两个供电方式便需要两种描述器。接口描述器

一种设置可能支持一个或多个接口。比如一个CD-ROM,因为有3种设备驱动器可能使用它,因此需要有3个接口,一个用于数据口,一个用于音频口,一个用于视频口。接口描述器提供的一般信息,也用于指定具体接口所支持的设置类型和用该接口通信时所用的端点描述器数,但不将零端点计数在内。端点描述器

一个接口可能含有一个或多个端点描述器,分别定义各自的通信点(如一个寄存器)。端点描述器包含的是它所支持的传输类型(4种)和最大传输速率。三、USB系统组成和拓扑结构1、USB系统的组成:

USB系统包括硬件和软件两部分。(1)USB硬件部分

USB系统的组成如图12.21所示。它包括USB主机、USB设备(Hub和功能设备)和连接电缆。

USB主机是一个带有USB主控制器的PC机,在USB系统中,只有1个主机,它是USB系统的主控者。

USB主控制器/根Hub(USBHostController/RootHub)分别完成对传输的初始化和设备的接入。主机控制器负责产生由主机软件高度的传输,然后再传给根Hub。USBHubs除了根Hub以外,为了接入更多的外部设备,系统还需要其他USBHubs。USBHubs可串在一起再并接到根Hub上。USB功能设备其作用在前面已讨论过。PCRootHub8x930Ax打印机8x930Ax数字相机8x930Ax游戏杆8x930Ax扬声器宿主USB

功能设备USB

功能设备USB

功能设备USB

功能设备USBHub图12.21USB系统的组成8x930Hx显示器(2)USB软件部分

USB设备驱动程序(UBSDeviceDrivers)通过I/O请求包(IRKPs)发出给USB设备的请求,而这些IRPs则完成对目标设备传输的设置。

USB驱动程序(UBSDriver)在设备设置时读取描述寄存器以获取USB设备的特征,并根据这些特征,在请求发生时组织数据传输。主控制器驱动程序(HostControllerDriver)完成对USB交换的调度,并通过根Hub或其他的Hub完成对交换的初始化。(3)数据流模型

简单的说,数据流发生在主机和USB设备之间,我们以常用的分层模型介绍USB系统的数据流。

主机分客户软件层(ClientSW),USB系统软件层(USBSystemSW)和USB主机控制器(HostController)。设备分USB总线接口层(USBBusInterfaceLayer),USB设备层(USBDeviceLayer)和功能层(FunctionLayer)。USB系统软件是指在某一操作系统上支持USB的软件,它独立于USB设备和客户软件。USB主机控制器是主机方的USB接口,它是软硬件的总称。

USB主机控制器USB系统软件层客户软件层总线接口层USB设备层功能层主机设备从图上我们可以看出,USB总线接口层提供主机和设备之间物理的连接。而从逻辑上看,USB设备层与USB系统软件层对应,它们完成USB设备一些基本的、共有的工作。功能层和客户软件层通信,它们实现单个USB设备特有的功能。在编程时,客户软件通过USB系统软件提供的编程接口操作对应的设备,而不是直接通过操作内存或I/O口来实现。所有USB设备只有在被主机承认并配置后才可进入系统工作。2、USB系统拓扑结构

USB协议定义了在USB系统中宿主Host与USB设备之间的连接和通信,其物理拓扑结构如图12.22所示。Host宿主HublHublNodeNodeHublHublNodeNodeNodeNodeNodeNode图12.22USB系统拓扑结构示意图第一层第二层第三层第四层

PC微机的USB拓扑结构中,USB设备具体连接方式如12.23所示。键盘显示器USB主机光笔鼠标音箱麦克风电话集线器集线器图12.23USB设备具体连接方式四、USB传输类型

USB数据流类型:USB支持控制信号流、块数据流、中断数据流、实时数据流等4种数据类型。

USB有4种基本的传输类型,它们是:1、控制传输控制(Control)传输是双向的,它的传输有2~3个阶段:

Setup阶段,Data阶段(可有可无)和Status阶段。在Setup阶段,主机送命令给设备;在Data阶段,传输的是Setup阶段所设定的数据;Status阶段,设备返回握手信号给主机。2、批传输批(Bulk)传输是单向,也可以是双向。它用于传送大批数据,这种数据的时间性不强,但要确保数据的正确性。

3、中断传输

中断(Interrupt)传输是单向的,且仅输入到主机,它用于不固定的、少量的数据传送。当设备需要主机为其服务时,向主机发送此类信息以通知主机,像键盘、鼠标之类的输入设备采用这种方式。USB的中断是Polling(查询)类型。4、等时传输

等时(Isochronous)(同步)传输可以单向也可以双向,用于传送连续性、实时的数据。以上4种传输类型的实际传输过程分别为:

控制传输类型:

总线空闲状态→主机发设置(Setup)标志→主机传送数据→端点返回成功信息→总线空闲状态。

块传输类型:

当端点处于可用状态,并且主机接收数据时,总线空闲状态→发送IN标志以示允许输入→端点发送数据→主机通知端点已成功收到→总线空闲状态。

中断传输类型:

当端点处于可用状态时,总线空闲状态→主机发IN标志以示允许输入→端点发送数据→端点返回成功信息→总线空闲状态。

等时传输类型:

总线空闲状态→主机发IN(或OUT)标志以示允许输入(或输出)→端点(主机)发送数据→总线空闲状态。五、USB数据传输过程

USB协议将每1ms划分为一帧。在全速传输时,一个帧最多可连续传输1500字节;在低速时,最多传输187个字节。帧主要作为一种给不同类型的传输分配带宽的手段。设备也可以利用常规的帧时序,于使它的活动与USB总线同步,这对于等时设备是很有意义的。在USB线路上传输的最小数据块是包。一个包由同步信号(SYNC),包ID(PID),有时还有一些数据和一些CRC校验字节组成。总共有四类10个PID,如下表2-1所列:

USB是一种查询(Polled)式的总线,每一次USB数据传输都是由USB主机控制器发起。数据传输的基本单元是事务(Transaction),它是主机和设备之间一个或多个包的离散交换。主机总是用一个令牌(TOKEN)包开始一个Transaction。令牌包指定一个设备地址和端点地址。所有设备对地址进行解码,与此地址匹配的设备的端点将与主机进行通信。在这之后是一个或多个数据包传输(有的Transaction也可不需要进行数据包传输),传输方向也由令牌指定。最后是沿数据传输的反方向发送一个握手(Handshake)包。

类型标志与意义令牌(TOKEN)OUT表示数据方向从主机到设备IN表示数据方向从设备到主机SOF表示这个包指示帧开始SETUP表示这是一个USB标准控制事务包数据(DATA)DATA0表示一个偶数据包DATA1表示一个奇数据包握手HANDSHAKEACK表示传输成功完成NAK一般表示器件正忙或暂时没有数据STALL一般表示传输有错误特殊PRE用于低速传输

USBPID说明Packet类型PID名称PID3PID2PID1PID0

TokenOUT0001TokenIN

1001TokenSOF

0101TokenSetup

1101DataDATA0

0

0

11DataDATA1

1

011HandshakeACK

0

010HandshakeNAK

1

010HandshakeStall

1

110SpecialPRE

1

100表12.9包的类型编码五、USB交换的包格式通过USB总线的传输包含一个或多个交换(Transaction),而交换又是所谓“包”组成的,包是组成USB交换的基本单位。USB总线上的每一次交换至少需要3个包才完成。标志包中有设备地址码、端点号、传输方向和传输类型等信息。包的种类及格式如下:

1、标志包(令牌包TokenPacket)USB总线是一种基于标志的总线协议,所以,所有的交换都以标志包(Token)为首部。PIDSYNCADDRENDPCRC8位8位7位4位5位图12.25标志(令牌)包格式SYNC:所有包的开始都是同步(SYNC)域,输入电路利用它来同步,以便有效数据到来时识别,长度为8位。

PID:包类型域,Token包有4种类型,它们是OUT,IN,Setup和SOF。ADDR:设备地址域,确定包的传输目的地。7个长度,可有128个地址。ENDP:端点域,确定包要传输到设备的哪个端点。4位长度,一个设备可有16个端点号。

CRC:检查域,5位长度,用于ADDR域和ENDP域的校验。下面分别讨论志包中的4种类型(1)帧开始包SOF(Start-of-FramePacket)USB的总线时间被划分为帧,一个帧周期可以描述为:在主机发帧开始标志(帧启动标志)后,总线处于工作状态,主机将发送和接收几个交换,交换完毕,然后进入帧结束间隔区,此时总线处空闲状态,等待下一个帧启动标志的到来,再开始下一帧。PIDSYNCFRAMENUMBERCRC8位8位11位5位图12.26帧开始(启动)包格式SOF

EOF间隙(FRAMEN-1)FRAMENFRAMEN+1SOFSOFSOF主机控制器有义务将USB时间划分为以1ms为单位的帧。主机控制器以每1ms间隙产生SOF(Start-of-Frame)标识以示新的一帧的开始(如图)。SOF标识是一帧的开始部份,在SOF标识之后主机控制器在该帧的余下时间内传输其它的东西。当主机控制器处于正常工作状态时,SOF标识必须以1ms为间隙连续的发送而不管其它的总线活动。当总线控制器处于不给总线提供能量的状态时,它不能产生SOF标识。当总线控制器不产生SOF标识时,它处于一种节能方式。帧序号具有以下各方面的作用:用于将两帧唯一的区别开,在每帧的结尾处加1;对于它的后继帧有效.

(2)接受包

(InPacket)

当系统软件要从设备中读取住处时,便使用接受包(IN),此时,包类型定义为IN类型。接受标志包包括PID类型域,类型检查域,USB设备地址,端点号,以及5位CRC字节。接受交换中,有4种USB传输类型,即中断传输、批传输、控制传输的数据、等时传输。

(3)发送包(OutPacket)

系统软件需要将数据传到目标USB设备时,便使用发(OUT),发送标志包包含有PID域,类型检查域,USB目标设备地址,端点号和5位的CRC字节。发送交换中,只有3种传输类型,即批传输、控制传输的数据、等时传输。

(4)设置包(SetupPacket)

在控制传输开始,由主机发设置包(Setup)。设置包只用于控制传输的设置。设置包传送主机的一个请求让目标设备完成.根据请求,设置包后面可能有一个或多个接受和发送交换执行,或者只包含一个从端点传向主机的状态。2、数据包(DataPacket)

若主机请求设备发送数据,则送INToken到设备某一端点,设备将以数据(Data)包形式加以响应。一个数据包包括PID域、数据域和CRC域3个部分,其格式如图12.27所示。SYNCPIDDATACRC8位8位PID0~1023位5位图12.27数据包格式3、握手包(HandshakePacket)握手包(Handshake)由设备用来报告交换的状态,通过3种不同类型的握手包可以传送不同的结果报告。握手包是由数据的接受方(可能是目标设备,也可能是根Hub)发向数据的发送方的。握手包有ACK、NAK和STALL三种类型应答包(ACK)表示接受数据正确。发送设备会收到一个ACK。无应答包(NAK)表示功能设备不能接受来自Host的数据,或者没有任何数据返回给Host。挂起包(STALL)表示功能设备无法完成数据传输,并且需要主机插手来解决故障,以使设备从挂起状态中恢复正常。SYNCPID8位8位图12.28握手包格式4、预告包当主机希望在低速方式下与低速设备通信时,主机将送预告包,作为开始包,然后与低速设备通信。六、USB

设备状态和总线枚举以下是USB设备从插到总线上到设备可用的整个枚举过程。当USB设备接到Hub上,该Hub就会通知主机发生了设备接入事件,设备进入了连接(Attached)状态,主机检测Hub,确认设备的接入事件和接入端口。主机知道了有新设备接入端,则将该端口使能,并传送一个重起(Reset)命令。Hub向端口送一个持续100ms的重起命令(Reset)信号,当Reset信号结束时,端口已使能,被打开。在RSB设备收到唯一地址前,可以通过设备的默认管道Pipe(即Endpoint0所对应的Pipe)。主机给USB设备分发一个唯一的地址,设备进入地址(Addressed)状态。7.主机读取设备的配置信息,主机以配置信息和USB设备的用途,向设备分发一个配置值。七、USB即插即用设备栈Windows驱动程序模型(WDM)重新定义驱动程序分层,以适应于即插即用系统。一个设备栈代表处理请求的驱动程序层次,如下图9-1所示,总线驱动程序控制对总线上的所有设备的访问上层类过滤驱动程序上层设备过滤驱动程序功能驱动程序下层类过滤驱动程序下层设备驱动过滤程序总线过滤驱动程序总线驱动程序更多的功能驱动程序和过滤驱动程序设备驱动程序的功能一个驱动程序可以做的工作有:初始化它自己创建和删除设备处理Win32打开和关闭文件句柄的请求处理Win32输入/输出(I/O)请求串行化对设备的访问访问硬件调用其他驱动程序取消I/O请求和超时I/O请求处理一个可热插拔的设备被加入或删除的情况处理电源管理请求

设备驱动程序在DOS中的位置,以及它如何起作:

应用程序Win32子系统I/O系统服务I/O管理器最高层驱动程序中间层驱动程序最低层驱动程序硬件抽象层(HAL)驱动程序栈内存管理器等用户态内核态终端用户IRP

FeaturesforCypress'sEZ-USBFX2:IntegratedUSB2.0MicrocontrollerAbletotransferdataatfullUSB2.0bandwidth:56MBytes/second4kendpointbuffersGeneralPurposeInterface(GPIF),amicrocodedstatemachine,whichservesasatiminggenerator/synchronizerfor‘glueless’interfaces(ATAPI,EPP,etc.)Supports8and16bitdatapathsFourintegratedFIFOsBringsglueFIFOsinsideforlowersystemcostAutomaticconversiontoandfrom16-bitbusesMasterorSlaveoperation

EasyinterfacetoASICandDSPICs3.3-voltoperationBuilt-in8051runningat12,24,or48MHzFullyfeatured—256bytesofregisterRAM,2UARTS,3timers,twodatapointers.Fast—fourclockspercycle.Soft:8051runsfrominternalRAM,whichis:DownloadedviaUSBorLoadedfromEEPROMUpto40generalpurposeI/O’sFIFOscanuseexternallysuppliedclockorasynchronousstrobesIntegratedI²Ccompatiblecontroller,runsat100or400kHzThreepackageoptions-128-pinTQFP,100-pinTQFP,and56-pinSSOP

TypicalApplications:xDSLModemsATAInterfaceMemoryCardReadersLegacyConversionDevicesCamerasScannersHomePNAWirelessLANMP3PlayersNetworking12.2高性能串行总线标准IEEE1394一、IEEE1394总线特征IEEE1394是Apple公司于1993年首先提出,用以取代SCSI的高速串行总线“FireWire”,后经IEEE协会于1995年12月正式接纳成为一个工业标准,全称为IEEE1394高性能串行总线标准(IEEE1394HighPerformanceSerialBUSStandard)。遵从IEEE1212控制和状态寄存器结构标准(ControlandStatusRegisterArchitect

温馨提示

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

评论

0/150

提交评论