USB通信技术 USB通信技术

USB通信技术

  • 期刊名字:北京广播学院学报(自然科学版)
  • 文件大小:402kb
  • 论文作者:张希英,樊光辉,李传珍
  • 作者单位:北京广播学院
  • 更新时间:2020-10-30
  • 下载次数:
论文简介

552004年12月.北京广播学院学报(自然科学版)Dece.2004第11卷第4期JOURNAL OF BEIJING BROADCASTING INSTITUTEVol.11 ,No.4( SCIENCE AND TECHNOLOGY )USB通信技术张希英樊光辉李传珍(北京广播学院信息工程学院北京100024)摘要:本文讲述了USB通信技术。首先叙述了采用USB总线的优点及其协议规范版本变动再次描述了USB系统的结构、通信数据流模型接下来详细讲述了USB的通信传输基础两种通信方式控制传输、中断传输、批量传输、同步传输四种传输类型以及USB设备的枚举过程。最后是关于USB设备端固件程序的设计思想并以PDIUSBD12为例给出了固件程序设计流程图。关键词:USB事务;传输枚举中图分类号:TN911文献标识码 A文章编号:1007- 8819( 2004 )4 - 0055-111概述2规范的版本不管是计算机还是连接的外围设备,在新品USB有多种规范的版本经过多次版本的更开发时保持兼容性是必须的考虑。即使是革命性新后,USB1.0发表于1996 年1月。USB1.1 则的新外围设备,也必须使用到所连接计算机提供修订了1.0版本的问题,并且新增-个新的传输的接口。当设计一个外围设备的接口时,下列是.类型(中断传输2 USB2.0在 2000年4月发表,该外围设备应该具备的特性:新增了高速模式。对于支持USB1.1规范的设备.●稳定性:具备自动查错与除错的功能使错最高传输率可达12Mb/s而支持USB2. 0规范的误的发生率几乎为零。设备最高速率可达480Mb/so●便宜让大部分的用户都有能力购买●省电在便携式计算机上节省电池的消耗。3 USB 系统结构, 有弹性:让许多不同种类的外围设备都可以使用这个接口。●一个USB系统主要被定义为三个部分:●快速此接口不可以成为传输的瓶颈。●USB的互连;●容易使用:用户容易安装、设置与使用。●USB的设备;●操作系统的支持:如果操作系统支持此接●USB的主机。口开发者就不必要自行开发底层的驱动程序来中国煤化工设备与主机之间进行使用此接口。YHCNMHG据在USB主机与USBUSB就是一个符合上述所有条件所开发出设备之间的流动。在任何USB系统中,只有一个来的最新外围设备接口。主机。USB和主机系统的接口称作主机控制器,主机控制器可由硬件、固件和软件综合实现。收稿日期2004-06-08USB的主机通过主机控制器与USB设备进行交56北京广播学院学报(自然科学版)第11卷互。图1展示了USB通信模型之间基本的信息流与互连关系:客户功能部件↑USB系统USB设备主机控制器USB总线接口0W2O逻辑的信 息流+→实际的信 息流态查询和控制命令的发送,也可用于用户自定义4USB通信基础的命令的发送。中断传输:用于小批量的点式的,非连续性的数据传输的场合,它是低速设备可以传输数据4.1传输基础的唯一方法。USB通信可以分为两类:配置通信、应用通批量传输用于批量的非实时的数据传输,信。在配置通信中主机通知设备然后使它准备即那些需要一次传 输较多的数据,但传输过程对好交换数据。大部分这类通信发生在上电或连接时间要求不严格的传输类型。时主机检测到外设的时候。应用通信出现在主机同步传输:适用于那些要求数据连续,实时的应用程序与一个检测到的外设交换数据的时的,以固定的数据率产生传送的场合。候。这些是实现设备目的的通信。例如:对键盘传输( transfers )和事务( transactions )是经常来说应用通信是发送按键数据给主机,告诉-一个提到的两个概念分清这两个概念是设计USB外应用程序显示-个特性或执行其他动作。设的关键。传输是指一次完整的发出请求到该请求被完整的处理结束的整个过程。事务是传输中4.2传输类型的一个基本元素或者叫-个传输的内建模块。USB共有四种类型传输方式:分别为控制传每一次传输由一个或多个事务组成。事务又由包输中断传输,批量传输和同步传输。控制传输:组成而包还包含-个包识别器( PID),-个错误用于主机对USB外设的配置,,对USB设备的状校验位以及有时还有其他信息。如图2所示。传输事务中国煤化工记号包数据包jMYHCNMHGPID其他信息CRC图2第4期张希英等:USB通信技术.57事务按照它们的目的和数据流方向可以分为段有主机发出SETUP令牌然后主机又发出数三种类型SETUP事务、IN事务、OUT事务。它据包,由该数据包指出本次请求的具体的内容。们都是由一个令牌阶段,一个数据阶段和一个握.在握手阶段指出本次事务是否成功。各种事务的手阶段组成。对于SETUP事务来说,在令牌阶组成如图3所示。总线空闲SETUPDATAOpATAO或DATA1NAKSTALLDATAO或DATA1NAK STALLACK一+总线空闲一总线空闲- +总线空闲SETUP事务IN事务OUT事务图3IN事务是从一个设备接收数据,OUT事务压。集线器端口的两根信号线(D+和D- )的每是发送数据给其他一个设备。( IN和OUT事务-根都有一个15k的下拉电阻,而一个设备在D的命名是从主机的角度出发的,在一个IN事务+(为全速设备)和D-(为低速设备)都有一个中数据是从外设传输的主机的在一个OUT事1.5k的上拉电阻。当一个设备插入到一个端口务中数据是从主机传输到外设的。在一个Setup中时,设备的上拉电阻使信号线为高使得集线器事务中数据也是从主机传输到外设的,但一个可以检测到一个设备连接.上了。Setup事务是一个特殊情况,因为它启动一个控4.3.3主机知道了这个新设备制传输。任何事务都可以用IN或OUT事务,但每个集线器使用它的中断流程来报告发生在只有控制传输可以使用Setup事务。在应用程序可以与一个设备通信之前主机集线器上的事件。当主机知道了这个事件,它给需要知道设备支持哪些传输类型和终端。主机也集线器发送一个Get_ Port_ Status 请求来了解更必须分配一个地址给设备。主机通过一个被称为多的知识。返回的信息告诉主机--个设备是什么时候连接的。枚举的信息交换来完成这些工作。4.3.4集线器重 新设置这个设备4.3 USB 设备的枚举过程当主机知道有-一个新的设备时,主机控制器枚举是使得主机的设备驱动程序能与这个设给集线器发送一一个 Set_ Port_ Feature 请求,请求备通信的最基本的信息交换。该过程可以由以下集线器来重新设置端口。集线器使得设备的动作完成:USB数据线处于重启状态至少10ms4.3.1一个设备连到一个 USB端口4.3.5_ 集线器在设备和总线之间建立一个或者系统上电时有一个设备已经插入到一个中国煤化工端口中了。这个端口可以在主机的根集线器上或MHCNMHG_ Port_ Status请求来者在连接主机下游的集线器上。集线器正常给这验证设备是否激起重启状态。返回的数据的一位个端口供电这个设备正处于上电状态。表示设备是否仍然处于重启状态。当集线器已经4.3.2集线器检测到这个设备释放了重启状态,设备就处于默认状态了。设备集线器监视着它的每一个端口的信号线的电的USB寄存器已经处于它们的默认状态,设备已58北京广播学院学报(自然科学版)第11卷经准备好通过终端0的默认流程来响应控制传统INF文件中的信息中的销售商和产品ID、发布輸。设备现在可以能与主机通信,使用默认地址号和类信息相匹配。在驱动程序被载入以后,它0h。经常请求设备来重新发送描述符或者发送应用于这个设备的类描述符。4.3.6集线器检测设备速度或者在重启之前或者在重启之后集线器通4.3.11主机的设 备驱动选择一个配置过检查两个信号线的电压来检测设备的速度。集在从描述符了解了设备后,设备驱动程序发线器通过测试那根信号线在空闲时有更高的电压送一个Set_Configuration命令来请求希望的配来检测一个设备的速度。集线器发送信息给主置号。设备读取这个请求并且设置它的配置来匹机,以响应下一个Get_ Port_ Status 请求。配它。设备现在处于配置状态并且设备的接口4.3.7主机发送 一个Get_ Descriptor 请求来已经被使能。主机枚举是通过给端点0发送包含标准获取默认流程的最大包的大小主机发送请求给设备地址0、终端0。因为主USB请求的控制传输.所有的USB设备必须支机-次只列举一个设备,只有一个设备将响应寻持控制传输标准USB请求和端点0。对一一个成址设备地址0的通信。最大包的大小是这个描述功的枚举来说,设备必须对每一个请求响应返回符的第8位,因此主机只需要读取头8B。-个请求的信息以及采取其他请求的动作。USB设Windows主机请求64B但在仅接收-一个包后它备的枚举过程是在缺省的控制管道进行的每-就开始了状态阶段。在完成状态阶段时,主机请步都是在控制传输的SETUP阶段提出请求的。求集线器来重启这个设备。这里不需要重启,因而具体的请求在SETUP事务的数据阶段中,用为设备应该可以用响应下--个设置阶段的动作来户可读取并根据USB协议来分析该请求然后根处理任何时候的主机放弃-个控制传输情况。据分析的结果进入该控制传输的数据阶段。在USB设备的枚举过程中,主机要读取USB设备4.3.8主机分配一 个地址的设备描述符配置描述符接口描述符和端点描主机控制器通过发送一个Set_ Address 请求述符。来分配一个单独的地址给设备。设备读取这个请求返回一个确认并且保存新的地址。这个设备5固件设计现在处于一个地址状态。从这现在开始的所有通信使用这个新地址。为了实现.上述的枚举过程在设备端需要固件4.3.9主机知道了设备的能力程序的支持。下 面以PDIUSBD12为例讲述- -下主机给新地址发送- 一个Get_ Descriptor 请求固件的设计方法。PDIUSBD12 的固件设计成完来读取这个设备描述符这次读取整个部分。全的中断驱动,当PDIUSBD12 检测到有相应的这个描述符是-个数据结构包括终端0的最事务发生时就中断CPU处理器调用中断服务程大包的大小,设备支持的配置号,以及关于这个设备的其他信息。主机把这些信息应用在其后的通D12的固件程序可采用图4的积木式结构:信中。主机然后通过请求在设备描述符规定的一主程序 检查中断源、处理USB总线事件等等个或多个配置描述符来了解这个设备。中国煤化工厂商请求.4.3.10主机分配和载入一 个设备驱动FYHCNMHG_中国服务程序在主机已经从它的描述符中知道了能够知道的所有信息后,它开始在一个设备启动中查找最PDIUSBD12命令接口合适的匹配来管理与设备的通信。在选择- - 个驱硬件抽象层动时,Windows尽量去与从设备得到的、保存在系图4第4期张希英等:USB通信技术.59硬件抽象层这是固件中的最低层代码,它执标志位。在读取D12的数据后.先要利用行对PDIUSBD12和硬件与I/O相关的访问。当Acknowlege命令对主机进行回应,然后再清除与其它CPU平台接口时这部分代码需要修改或D12的缓存。这两个命令处理顺序不能交换,因增加。为在没有回应主机前不能够清除掉D12的缓存,PDIUSBD12命令接口利用这些命令实现对这样就不能接收新的数据。D12的控制。开始中断服务程序:处理USB的各种事务。这是固件程序设计的重点,当D12接收到主机交换数↓据的中断请求时D12便中断CPU进入中断服务程序。在中断服务程序中首先检查引起中断的中标志位清零断源进入相应的处理程序进行中断处理。标准请求:USB设备必须对这11种标准请求做出响应这11种标准代码可以查询设备的能Select Control Out力和状态以及选择配置。当收到请求时程序通Endpoint过解析接收到的请求把要发送的数据存放到发送缓冲器中。设备不必执行每一个请求;它只需要以一种可以理解的方式对请求做出响应。Read Buffer.厂商请求:一个供应商也可以与特定设备进行的传输控制而定义请求。主程序完成D12的初始化。在USB通信过程中需要处理多种事务,有些.Acknowledge aSetup事务的处理需要特别注意,设计者往往忽视下面on Control In and .分别介绍。Control Out5.1 D12初始化过程1.D12的中断寄存器清零Clear Buffer2. Set Address Enable3. Set Endpoint Enable4. Disconnect保存bmRequestType.5.延时1~2秒钟bRequest、wValue、6.ConnectwLength5.2 Setup Transaction 处理流程对于Setup Transaction 的处理需要注意,在读取D12的FIFO数据前必须要选择端点,为了调用数据包角析函数使以后的SetupPacket数据包能够被接收要用中国煤化工Acknowledge Setup命令使能Control In 和MHCNMHG_Control Out端点。当D12接收到一个数据包时结束一个内部端点缓存满标志有效。后续的数据包将不能够被接收必须通过ClearBuffer命令来清除60北京广播学院学报(自然科学版)第11卷. 5.3 Control In Transaction处理流程Control In handler标志位清零< 发送标志位有效?二es," 发送0长度数据包wLength=0?发送标志位清零LengthYes发送最大长度数据包paxPacketSize?发送剩杀数孤选撣端点、把数据写入D12|使缓冲区有效| Control In handler结束在Control In Transaction处理过程中注意,备的小的元素:首先是整个设备然后是每个配.要发送的数据是端点0能传送的最大数据包的整置接着是每个配置的接口,最后是每个接口的终数倍时在传送完所有的数据后必须向主机发送端。对于字符串描述符是可选的。关于描述符是零长度数据包。设计者可以配置的,可以根据设备的通信能力和要求来定义需要的描述符。5.4 Get Descriptor命令处理流程在列举过程中,被请求的描述符逐步涉及设Get Descriptor<获取 设备描述符?发送设备描述符发送该配置所有描获取配置描述符?述符<获取字 符串描述符发送字符 串描沭符中国煤化工MYHCNMHG出错,返回STALLGet Descriptor 结束第4期张希英等:USB通信技术.61下面为D12的描述符定义:const unsigned char Device_ Descriptor[ ]= {// device descriptor : 18 bytes0x12 ,//device_ bL ength0x01 ,//bDescriptor0x10 ,//bcdUSBL//bcdU JSBM0xff,//bDeviceClass0xff ,//bDeviceSusbcalss//bDeviceProtocal0x08 ,//bMaxPacketSize0x71 ,//idVendorL0x04 ,//idVendorM0x00 ,//idProductL//idProductM0x30 ,//bcdDevicel//bcdDeviceM// iManufacturer//iProduct//iSerialNumber//bNumConfigurations};const unsigned char Configuration - Descripto[ ]= {//Configuration[ )escriptor 9 bytes0x09 ,//config - bLength0x02 ,//bDescritptorType0x2e,//wTotalLengthL//wTotalLengthM0x01,//bNumInterfaces//bConfigurationValue0x00,//iConfiguration Value0xc0 ,//bmAttributes100 ,//MaxPower Max. Power is 100x2 = 200mA中国煤化工// InterfaceDescriptor 9 bytesMHCNMHG//interface - bLength//inter bDesccriptorType//bInterfaceNumber//bAlternateSetting62北京广播学院学报(自然科学版)第11卷0x04,// bNumEndpoints0xff,//bInterfaceCalss0xff ,//bInterfaceSubclass//bInterfaceProtocal0x00 ,//ilnterface//EndpointDescriptor1 .7 bytes0x07 ,//endpt1 - bLength0x05 ,//endpt1 - bDescriptorType0x01 ,//endpt1 - bmAttributes iendpoint 1 is bulk transmit0x10 ,//dndpt1 - MaxPacketSizeL//endpt1 - MaxPacketSizeM endpoint 1 max buffer is 16 bytes//endpt1 - bInterval ; 10 msec polling the endpoint 10x81 ,//endpt1 - bEndpointAddress iendpoint 1 is out endpoint0x02 ,//endpt1 - bmAttributes endpoint 1 is bulk transmit0x10,//endpt1 - MaxPacketSizeL//EndpointDescriptor2 7 bytes//endpt22 - bLength//endpt22 - bDescriptorType0x82 ,//endpt22 - bEdnpointAddress//endpt22 - bmAttributes0x40,//endpt22 - MaxPacketSizeL0x00,//endpt22 - MaxpacketsizeM//endpt22 - bInterval .//endpt22 - bDexscriptorType0x02,//endpt22 - bmAgtttributes0x40 ,//endpt22 - MaxPackasSiroL中国煤化工//endpt22 - Maxp0x00//endpt22 - bInteTYHCNMHG}const unsigned char String - Descripto[ ]= {第4期张希英等:USB通信技术.63//StringDescriptor0x04 ,//str- Length0x03 ,//str- Type .0x09 ,//str - propertyL0x04//str - propertyM}:5.5 Set Address命令处理流程的IN事务,,如果设备没有要发送到主机的数据Set Address时这时设备进入挂起状态为了避免这种情况出现当没有数据要发送时可以发送零长度的数据↓报。设置新的地址同时利用D12开发时有两个突出的优点软连接和GoodLink接口。所谓的软连接就是把发送0长度的数据包D12内部集成的1.5K的上拉电阻连接到数据线D+上通过此特性可以使设备CPU有充足的时Set Address结束间进行初始化同时也避免频繁的插拔USB数据通过这个请求主机指定以后与设备通信的地线。GoodLink 接口可以连接发光二极管,当设备址。值字段是要设置的设备的新的地址。允许值枚举成功后发光二极管常亮,当D12进行传送数为1到127。当上电或连接后集线器使能一个端据时发光二极管闪烁。口端口使用默认地址0直到它从主机接收到一5.6 Main IN端点处理流程个Set_ Address 请求。这个请求和大部分的其他请求不同因为设备直到通过发送零长度数据包系统中把D12的主端点作为通信IN端点,完成请求的状态阶段后才执行这个请求。主机发当主机从D12读取数据时,系 统控制器把要传送送状态阶段标志包到默认地址,因为设备必须在的数据写入D12的主端点缓存中。因为对于D12改变地址之前发送这个包。完成这个请求后,所的主端点来说每一次通信最 大数据帧为64个字有通信都使用这个新地址。一个使用默认地址0节所以在处理函数中首先判断要发送的数据长的设备处于默认状态。在完成Set_ Address 请求度是否大于64 ,如果系统没有要发送的数据,当设置一个非0的新地址后,设备进入地址状态。收到主端点的IN中断时,必须发送0长度的数一个设备必须在接收到请求后的50毫秒内发送据帧,否则D12将会进入挂起状态。当发送的数交换包并且它必须在完成状态阶段后的2毫秒据长度小于64时通过-次中断就可以把数据传送到主机。内完成请求。另外要注意的是当USB设备接收主机发送清除中断标志位Wlength>=64中国煤化工TYHCNMHGWlength-=0二写入D120个字节写入DI2 Wlength个字节←结束92北京广播学院学报(自然科学版)第11卷The Exploration of Information Management in TVSeries' Producing and ManufacturingWANG Can LIANG Zheng-li( Media Management School , Beiing Broadcasting Institute , Beijing 100024 P R China )Abstract : the information - technology - based Management Information System had been widelyapplied in various fields of enterprise manufacturing. TV Series is a kind of special commodity ,thus introducing the management information technology into TV Series' manufacturing , whichis rooted in media market , may enhance the performance and efficiency of management in TVSeries' producing. This article analyzes the business processof TV Series' producing and poses anidea of a management information system ,MIS - TVS , which adaptable to TV Series .manufacturing.Key word :TV - Series ; Business Administration ; Management Information System ; MRP- II( Manufacture Resources Planning )(责任编辑韩月珍)(上接第64页)USB Communication TechnologyZHANG Xi - ying FAN Guang - hui LI Chuan - zhen( Information Technology Schol , Beijing Broadcasting Institute , Beijing 100024 P. R. China)Abstract : This paper introduced USB communication technology. Firstly , This paper describedthe virtue of the USB and protocol alteration about the USB ; Secondly ,described the structure ofthe USB system and communication module of the USB ; Thirdly , introduced the transferringbase of the USB communication ,two communication modes ,control transfers ,interrupttransfers,bulk transfers , synchronous transfers and中国煤化工umeration processof USB ;Lastly , this paper introduced the design ofevice and show the.MYHCNMHG"flow chart of the software about the USB chip - PDIUSBDI2 .Key words : USB ; transactions ; transfers ; enumeration(责任编辑龙学锋)

论文截图
上一条:IPv6技术
下一条:交互电视技术
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。