发新话题
打印

USB总线上数据传输

USB总线上数据传输


USB总线上数据传输
1 Q* ^' Z, t5 r8 n+ S    1.传输类型 ' M; q. B3 ~) P  x" S
    为了满足不同设备的需要,即既要满足数据传输量大的设备,又要满足数据传输量小但要求反应快的设备,USB规范规定了四种传输类型,即控制传输、等时(Isochronous)传输、中断传输和数据块(Bulk)传输。 9 G7 u4 n/ W7 G* }) B0 ?
    控制传输用于主机与设备之间的控制、状态、配置等信息的传输。为主机与设备之间提供一个控制通道。例如,设备接入时,主机将通过控制传输对设备进行配置。
) Y' [8 w# Z; J5 I& I( `; H1 o    等时传输用于有周期性和传输速率不变的数据传输。它要求在USB的带宽中预先分配一定的量。该类传输没有差错校验,因而不能保证传输的正确性。音频系统、计算机一电话集成系统等采用这种传输类型。
7 O! ]+ H+ g$ u- D    中断传输用于数据传输量小,无周期性,但对响应时间敏感且要求马上响应的数据传输。采用中断传输的典型的例子是鼠标、键盘、游戏棒等人机输入设备。
. w! J  m( H% c. L    数据块传输支持像打印机、扫描仪、数码相机等设备。这些设备与主机问传输的数据量很大。这种传输具有采用硬件方法的错误检测,并能重试传输,以保证传输的可靠性。此外,块传输所占的带宽是可以变化的,取决于总线上其他传输的情况。 ' v0 E- P. N9 M! M( i3 x/ d
    2.基于时间片的传输
3 s5 M+ a0 d: p. Y  }! m    在USB总线上数据的传送是以帧(Frame)为单位进行的,即发送方需要按照一定的格式对要传送的数据进行组织,加上一些附加信息组织成帧;接收方按照同样的格式来接收和理解帧。帧的传送时间与选定的数据传输速率有关:对于全速和低速,一帧为1 ms,而对于高速,一帧为125μs(称为微帧)。
8 o9 ?# [7 S. G6 h; U6 M    一帧中能实现的最大数据传输量,即所能传输的最大字节数称为带宽。USB采用共享带宽分配方案,如图10.30所示。
% r0 h6 {& `+ T5 `( d: H7 J2 n# Q1 Z3 H

% i) P, q0 i& k2 j# d/ f' c! Q( {- U- N" d+ Y9 c% G

$ h( b* g! k8 M6 QUSB允许等时和中断传输占用高达90%的带宽,剩下的10%的带宽用于控制传输,块传输仅在带宽满足要求的情况下才会出现。由此可见,USB的数据传输是基于时间片的。显然,某一类型的传输在一帧中所能传输的数据是有限的。为此,在USB系统中引入了传输、事务(Transaction)和事务处理的概念。所谓传输,就是要传输的通常具有某种实际意义的一批数据,例如,要打印的一页数据。所谓事务,是指在一帧中所能传输的部分,例如,对于块传输,一个事务最多只能容纳64个字节。因此,一个超出事务传输能力的传输需要分解成若干个事务。在一帧中,一个事务是通过一次事务处理来实现的。通常,一次事务处理由三个阶段组成:令牌包阶段、数据包阶段和握手包阶段。这里又提出了包(Packet)的概念,包是帧的基本成分。这里的三种包被用于事务处理,或者说包是事务处理的构成单位。还有其他类型的包,比如,表示帧开始的SOF包。每一种包都有自己特定的格式。例如,在事务处理中真正完成数据传输的数据包由包标识PID、要传送的数据和CRC校验码三部分组成。 ( [# x8 H* Z0 [4 G8 T# c" X3 g
    图10.31所示较形象地表示了USB传输所涉及到的层次。
1 l' l% R1 y% U" l" l/ D+ s9 Y2 T* x) b5 S1 ?



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题