一种基于USB协议的数据采集系统02.pdf
《一种基于USB协议的数据采集系统02.pdf》由会员分享,可在线阅读,更多相关《一种基于USB协议的数据采集系统02.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、USB协议及其接口实现罗钧桂杰出(重庆大学光电技术及系统国家教育部重点实验室400044)摘要U SB总线接口现已被广泛应用于高速或大量数据存贮的系统中,文章从U SB总线协议出发,对通用串行总线的原理、特点做了详细的论述,并从协议应用角度以philips的U SB接口芯片PD I U SBD12为例讨论了U SB主机端和设备端开发的基本方法。关键词U SB协议外设主机USB Protocol and Its I mplement of USB InterfaceL uoJunGui Jiechu(OT ES L aboratory,Chongqing U niv,Chongqing 4000
2、44,China)AbstractU SB interface has been w idely used in the system required high speed or mass storage.It discussesthe principle and characteristic of universal serial bus to begin w ith protocol of universal serial bus,and discussesthe ways to development of U SB host and device interface w ith a
3、example of PhilipsU SB interface chipset in theviewpoint of protocol application.Key wordsU SBProtocolDeviceHost1引言111USB总线协议概述U SB总线属一种轮讯方式的总线,主机控制器初始化所有的数据传输,并按制定好的原则传输数据12。每一总线执行动作最多传送三个数据包。在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向(由主机到设备或由设备到主机)、U SB设备地址和端口地址的U SB数据包,这个数据包通常称为令牌包(token packet)。然后发送端开始发送包含信
4、息的数据包或表明没有数据传送。U SB设备从解码后的数据包的适当位置取出属于自己的数据,接收端也要相应发送一个握手的数据包表明是否传送成功(同步传输除外)。3种数据包的格式如表1所示。发送端和接收端之间的U SB数据传输模型可描述为一个通道(pipe)。U SB有两种类型的通道:流和消息。流的数据不像消息的数据,它没有U SB所定义的表1数据包格式类型令牌包数据包握手包区P I D ADDR ENDP CRCP I D DATA CRCP I D位数bits8745808192168结构,流通道的作用在于可由系统的传输进度动态控制,这样就保证了同步,并防止由于使用握手包应答信号而造成的硬件缓冲
5、区的欠载或溢出以及由此造成的交换率下降。通道包含数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)等信息。多数通道在U SB设备设置后就形成了。U SB中有一个特殊的通道缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。在物理结构上,设备通过Hub连到主机上。但在逻辑上,主机是直接与各个逻辑设备通信的,就好像它们是直接被连到主机上一样。一个U SB逻辑设备对U SB系统来说就是一个端点集合。端点可以根据它们实现的接口来分类。U SB系统软件通过一个缺省的控制通道来管理设备。而客户软件用通道束管理接口。通道束的一端为第25卷第4期增刊仪器
6、仪表学报2004年8月本文系重庆市科技攻关项目(200113013)。端点,一端为缓冲区。客户软件要求通信数据在主机上的一个缓冲和U SB设备上的一个端点之间进行。主机控制器或U SB设备(取决于数据传送方向)将数据打包后在U SB上传。由主机控制器(HC)协调何时用总线访问在U SB上传递数据。一个客户软件一般都通过I?O请求包(IRP)来要求数据传送。然后,或者等待,或者当传送完成后被通知。IRP的细节是由操作系统来指定的。客户软件提出与设备上的端点建立某个方向的数据传送的请求,IRP就可简单地理解为这个请求。一个客户软件可以要求一个通道回送所有的IRP。当关于IRP的总线传送结束时,无论
7、它是成功地完成,还是出现错误,客户软件都将获得通知说IRP完成了。112USB数据传输方式U SB体系结构包括4种基本的数据传输方式4。(1)同步传输:占用大量U SB带宽,以稳定的速率发送和接收实时的信息,例如语音数据的传输,又被称为实时流传输。(2)控制传输:在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制;它是双向传输,传输数据量小,但要求交付无损且强调实时效果。(3)中断传输:用于少量的、分散的、不可预知的数据传输。用来描述或匹配人的感觉或对特征反应的回馈。(4)批量传输:用于大量数据传送和接受,且没有对带宽和时间间隔的严格要求。如对打印机和扫描仪的数据传输。U SB
8、实行一种分块的带宽分配方案,如果外设超过当前带宽分配或等待时间要求,那么将拒绝访问。在中断和同步传输中可使用高达90%的总线带宽,剩余10%被保留用于控制传输。批量传输只能在带宽有效时进行。113传输过程的数据切换同步和重试在多事务中数据发送器和接收器之间的数据序列同步很重要,U SB提供了一种机制以保证这种同步。这种机制提供一种保证发送器和接收器正确地解释事务的握手时相的方法。同步通过DATAO和DATA 1的包标志符(P ID),以及分别从属于数据发送器和接收器的切换时序位的使用而完成:仅在接收器能接受数据并且收到带有正确的数据P ID的无错数据包的时候,接收器时序位才切换;而仅在数据发送
9、器收到合法的ACK握手的时候,发送器时序位才切换。数据发送器和接收器必须在事务开始的时候同步它们的时序位。使用的同步机制随着事务类型而变化。同步传输不支持数据切换同步。控制传送使用建立标记初始化主机和功能部件的时序位。如图1所示。主机向功能部件发送建立包,其后跟着输出事务。圆圈里的数代表发送器和接收器的时序位。功能部件必须接受数据并返回ACK。当功能部件接受事务的时候,它必须设置其时序位,以便主机和功能部件的时序位在建立事务的最后都等于1。图1建立初始化图2说明了有两个成功的事务的情况。在每个事务中,接收器比较发送器的时序位(在数据包P ID中编码为DATA 0和DATA 1)和接收器的时序位
10、。如果数据不能被接受,接收器必须发出NAK,并且,发送器和接收器的时序位保持不变。如果数据能被接受,并且接收器的时序位和P ID相匹配,则数据被接受,并且时序位被切换。没有数据包的两时相的事务不会使发送器和接收器改变其时序位。图2连续的传送图3说明了如果数据不能被接受,或者得到的数据包被损坏,接收器将根据情况发出NAK或STALL握手信号,或者超时(Timeout),并且,接收器将不切换其时序位。事务被返回NAK,然后被重试的情况。任何非ACK握手或是超时都将产生类似的重试动作。没有收到ACK握手的发送器,将不切换其时序位。其结果是失败的数据包事务使得发送器和接收器的时序位同步并不切换。然后事
11、务将被重试,如果成功,将引发发送器和接收器时序位的切换。发送器是根据其收到ACK握手确切地知道事务是否成功的最后并且唯一代理。图4所示的是丢失或者损坏的ACK握手使得发送器和接收器之间的暂时716第4期增刊U SB协议及其接口实现失去同步的情况处理。这里发送器在发出合法的数据包,且接收机成功地收到;但是ACK握手损坏。在事务i的最后,由它们各自的时序位间的失配可看出发送器和接收器暂时失去了同步。接收器已经收到了正确的数据,但是,发送器不知道它是否成功地发送了数据。在下一个事务中,发送器将重发使用DATA 0 P ID的先前的数据。接收器时序位和数据P ID将不匹配,于是接收器知道它以前接受了这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 USB 协议 数据 采集 系统 02
限制150内