当前位置:文档之家› USB协议及其实现.pdf

USB协议及其实现.pdf


据包被损坏, 接收器将根据情况发出N K或 S A L A TL 握手信号, 或者超时( ieu)并且, Tm ot , 接收器将不切 换其时序位。 事务被返回N K, A 然后被重试的情况。 任 何非 A K握手或是超时都将产生类似的重试动作。 C 没有收到 A K握手的发送器, C 将不切换其时序位。其
亩x x C O ) )L百A0 A1I C))( K C ( O 1 R x - K x R > - >
传送i
传送i +l
( (1 0 1T T x- ( - ) R x > >D I xx ) 0) 于R ) 一
图 2 连续的传送
U B上传。由主机控制器( C 协调何时用总线访问在 S H ) U B上传递数据。 S 一个客户软件一般都通过1 / 0请求包 ( P 来要求数据传送。 I ) R 然后, 或者等待, 或者当传送完成 后被通知。R IP的细节是由操作系统来指定的。 客户软件
提出与设备上的端点建立某个方向的数据传送的请求,
位被切换 , 于是再一次同步了。
OTO AA DTO AA
( 0 C( 面 T T - (0 x RT > 0- 0 ) ) x 一 > 1 )
接口硬件的主要任务:
图 3 重试不被确认的事务
DT O AA DTO AA
te y t dvl m n o US hs ad v e efc wt a mpe P ips B efc ci e i te h w s ee p et B t d i i r e h x l o hl ' US itr e p t h a o o f o n e c n a i ea t f i n a h s n v w o t pooo api t n i pi o rtcl lai . e n f p c o K y rs B rtcl ei H s e w d US Pooo D v e ot o c
还可对指定设备进行控制, 如通道控制; 它是双向传输,
( i }C
图2 说明了有两个成功的事务的情况。在每个事 务 中, 接收器 比较发送器的时序位( 在数据包 PD中 I 编码为 D T O D T ) A A 和 A A1和接收器的时序位。如果 数据不能被接受, 接收器必须发出 N K, A 并且, 发送器 和接收器的时序位保持不变。 如果数据能被接受 , 并且 接收器的时序位和 PD相匹配, I 则数据被接受, 并且 时序位被切换。没有数据包的两时相的事务不会使发
U B实行一种分块的带宽分配方案, S 如果外设超过 当前带宽分配或等待时间要求, 那么将拒绝访问。 在中断 和同步传输中可使用高达 9 %的总线带宽, 1%被 0 剩余 0 保留用于控制传输。批量传输只能在带宽有效时进行。
13 传输过程的数据切换同步和重试 . 在多事务中数据发送器和接收器之间的数据序列 同步很重要, S U B提供 了一种机制以保证这种同步。
送器和接收器改变其时序位 。
DTO AA DM A
图 1 建立初始化
传输数据量小, 但要求交付无损且强调实时效果。 () 3 中断传输: 用于少量的、 分散的、 不可预知的数据 传输。用来描述或匹配人的感觉或对特征反应的回馈。 () : 4批量传输 用于大量数据传送和接受, 且没有 对带宽和时间间隔的严格要求。如对打印机和扫描仪 的数据传输。
特点做了详细的论述, 并从协议应用角度以 p i s U B接 口芯片 P I S D 2 hi 的 S l p D U B 1 为例讨论了 U B主机端和设 备端开发的 S
基本方法
关键 词
U S ¥
U B ooo a d I lme t U B trae S P tcl I mpe n o S I efc r n t s f n
这种机制提供一种保证发送器和接收器正确地解释事
务 的握 手时相 的方法 。同步通过 D T O 和 D T A A A A1
图3 说明了如果数据不能被接受, 或者得到的数
的包标志符(I )以及分别从属于数据发送器和接 PD ,
收器的切换时序位的使用而完成 : 仅在接收器能接受
数据并且收到带有正确的数据 PD的无错数据包的 I 时候, 接收器时序位才切换; 而仅在数据发送器收到合 法的 A K握手的时候, C 发送器时序位才切换。 数据发 送器和接收器必须在事务开始的时候同步它们的时序 位。 使用的同步机制随着事务类型而变化。 同步传输不 支持数据切换同步。控制传送使用建立标记初始化主 机和功能部件的时序位。如图 1 所示。
第 2 卷第 4 5 期增刊






20 0 4年 8 月
U B协议及其接 口实现‘ S
( 重庆大学 光电技术及系统国家教育部重点实验室 404) 004
摘要 US B总线接口现 已被广泛应用于高速或大量数据存贮的系统中, 文章从 US B总线协议出发 , 对通用串行总线的原理、
罗 钧 桂杰出
确的数据, 但是, 发送器不知道它是否成功地发送了数
2 S U B设备端的接口设计
U B设备端一般由硬件接口芯片和软件组成, S 目 前市场上 U B的接 口产品有两种: S 一种是集成 了 U B接口的单片机; S 另一种是专用的 U B接 口芯片。 S 前者由于集成了单片机, 因此控制电路比较简单。 目 如 前市场上比较流行的 C pes yr 公司的 E - S s ZU B系列 U B接口芯片, S 它内部嵌入了增强型的 MC -1 S5 兼容
统来说就是一个端点集合。端点可以根据它们实现的接 口来分类。US B系统软件通过一个缺省的控制通道来管
本文系重庆市科技攻关项 目(0 13 1) 20 103 ,
第4 期增刊
US B协议及其接 口实现
理设备。 而客户软件用通道束管理接口。 通道束的一端为 端点, 一端为缓冲区。 客户软件要求通信数据在主机上的 一个缓冲和US B设备上的一个端点之间进行。 主机控制 器或U B设备( S 取决于数据传送方向) 将数据打包后在
主机向功能部件发送建立包, 其后跟着输出事务。 圆圈里的数代表发送器和接收器的时序位。功能部件 必须接受数据并返回A K。 C 当功能部件接受事务的时 候, 它必须设置其时序位, 以便主机和功能部件的时序 位在建立事务的最后都等于 t o
主机
STP EU
设备
IP就可简单地理解为这个请求。一个客户软件可以要 R 求一个通道回送所有的I P R 。当关于 IP的总线传送结 R 束时, 无论它是成功地完成, 还是出现错误, 客户软件都
L o u G i c u u J n u J h i e
( T S brtr , og ig i, og ig 04 ,hn ) O E L oaoy C n qn U v C n qn 4 04C ia a h n h 0
A s at S i ef e be wdl ue i te t r u e h h e o m s s r e I d cse bt c r U B r c hs n e s n ss m qi d sed as a . i uss n a a e i y d h y e e r i p t g r t g t o s te ni e caat iio ui ra sr l t bg wt poooo u i r l i bs ad cse h pi p ad rc r t f v sl i bs ei i rtcl n es sr l , n d uss rcl n h e sc n e e a u o n h f v a e a u i s
息。流的数据不像消息的数据 , 它没有 US B所定义的
结构, 流通道的作用在于可由系统的传输进度动态控 制, 这样就保证了同步, 并防止由于使用握手包应答信
号而造成的硬件缓冲区的欠载或溢出以及由此造成的
交换率下降。通道包含数据带宽、 传送服务类型, 端口 特性( 如方向和缓冲区大小) 等信息。 多数通道在 U B S
位数
bt is
据〔2 每一总线执行动作最多传送三个数据包。 11 -。 在每 次传送开始时, 主机控制器发送一个描述传输运作的 种类、 方向( 由主机到设备或由设备到主机)U B设 ,S 备地址和端口地址的U B数据包, S 这个数据包通常称 为令牌包( kn kt。 ( e pce)然后发送端开始发送包含信 t o a 息的数据包或表明没有数据传送。 S U B设备从解码后 的数据包的适当位置取出属于 自己的数据, 接收端也 要相应发送一个握手的数据包表明是否传送成功( 同 步传输除外) 种数据包的格式如表 1 。3 所示。 发送端和接收端之间的 U B数据传输模型可描 S 述为一个通道(i )U B有两种类型的通道: p e. p S 流和消
表 1 数据包格式
1 引

类型

令牌 包
数据包
0-
握手包
PI D ADDR ENDP CRC PI DATA D CRC
1 6
81 2 9
11 S . B总线协议概述 U U B总线属一种轮讯方式的总线, S 主机控制器初 始化所有 的数据传输, 并按制定好 的原则传输数
将获得通知说 I P完成了。 R 12 S . U B数据传输方式
口飞、凶 -
DTO AA
① 、①
wenku.baidu.com
U B体系结构包括 4 S 种基本的数据传输方式「。 ‘ 〕
() 1同步传输: 占用大量 U B带宽, S 以稳定的速率 发送和接收实时的信息, 例如语音数据的传输 , 又被称 为实时流传输 。 () 2控制传输: 在设备连接时用来对设备进行设置,
结果是失败的数据包事务使得发送器和接收器的时序 位同步并不切换。然后事务将被重试 , 如果成功, 将引 发发送器和接收器时序位的切换 。
发送器是根据其收到 A K握手确切地知道事务 C 是否成功的最后并且唯一代理。图 4 所示的是丢失或
仪 器 仪 表 学 报
第2 卷 5
者损坏的A K握手使得发送器和接收器之间的暂时 C
失去同步的情况处理。这里发送器在发出合法的数据 包, 且接收机成功地收到; 但是 A K握手损坏。在事 C
14 S . B系统通信模型 U U B系统中的通信分层模型如图 5 S 所示。
务i 的最后, 由它们各 自的时序位间的失配可看出发 送器和接收器暂时失去了同步。接收器已经收到了正
( (( ( T 00 0 0 x R) } ) x N0 1 ' ' A) ( C A K C K )
微处理器, 因此开发起来比较方便 。 后者由于是专用集
据。 在下一个事务中, 发送器将重发使用 D T O A A PD I 的先前的数据。接收器时序位和数据 PD将不匹配, I 于是接收器知道它以前接受了这个数据。从而它丢弃 此数据包且不切换其时序位。然后接收器发放 A K, C 使得发送器知道被重试的事务成功了。 C A K的接收使 得发送器切换其时序位。在事务 i 的开头, +1 其时序
设备设置后就形成了。 B中有一个特殊的通道一缺 US
省控制通道, 它属于消息通道, 当设备一启动即存在, 从而为设备的设置、 查询状况和输人控制信息提供一个 人口。 在物理结构上, 设备通过H b连到主机上。 u 但在逻 辑上, 主机是直接与各个逻辑设备通信的, 就好像它们是
直接被连到主机上一样。一个U B逻辑设备对U B系 S S
相关主题