内容发布更新时间 : 2025/2/24 19:32:05星期一 下面是文章的全部内容请认真阅读。
域要求的数量还少,而且不是短包,则 EOB域应该在突发的最后包中被置位。当设备发送一个短包时,EOB域可以被置位。
对于非同步OUT和控制端点,这个域应该被设为0.
对于同步端点这个域被用来确认这是在当前服务周期中最后一次突发的最后包。LPF能被设备和主机置位。当这个DP源或目标是同步端点时候的使用请参考8.12.6章。
Endpoint Number (Ept Num). = 这个域决定DP源或者DP的接收方(哪个设备端点) Setup (S). = 这个区域被主机置位指示DP是一个建立数据包。这个域只能被主机置位。 Data Length = 这个域用来指示不包含CRC-32的DPP数据的字节数
Data Block. = 这个区域包含DPP中的数据。字节中这个区域的大小由Data Length值指示。
8.7 同步时间戳包(ITP)
ITPs的类型域值为Isochronous Timestamp Packet,ITPs被用来从主机到所有活动的设备发送时间戳(广播)。ITPs不带有地址或路由信息,而是通过集线器在U0状态下广播给所有它们的下游端口链路。设备不应该应答ITP。ITPs为同步传输被用来提供主机时序信息给设备。注意任何设备或集线器可以接收一个ITP。只要链路已经在U0状态,主机就应该在根端口链路上发送一个ITP。只有主机能初始化一个ITP发送。主机不应该为发送ITP而使一个根端口链路进入U0。如果根端口链路在U0状态,主机应该在时间戳范围内的每个总线周期发送一个ITP。当主机根端口链路从查询状态进入U0,
33
主机应该发送带有同步时间戳开始(tIsochronousTimestampStart)的ITPs。 ITP可以在一次突发中的包之间发送。如果设备收到一个带有链路控制字DL标志置位的ITP,时间戳值可以允许严重错误,可以被设备忽略。
ITP格式解析:
Isochronous Timestamp (ITS). 同步时间戳区域被用来确认从主机发送ITP以来的当前时间值,时间戳域被分为2个子域:
Bits 13:0 26:14
description
总线间隔计数。当前毫秒计数值的1/8。计数值达到0x3FFF时归0,然后继续增加。
Delta. (间隔)=从当前ITP包的开始到上一个总线周期边缘之间的时间。这个值是一些
tIsochTimestampGranularity单元数。被使用的值应该指定最接近前一个总线周期边界的间隔
注意:如果包是精确的从总线轮询周期边缘开始的,那么间隔时间被设为0.
Bus Interval Adjustment Control 这个域指定了控制总线轮询周期调整机理的设备地址。一旦上电,复位或设备断开连接,主机要设置次域为0。
8.8 三个参数地址信息
数据包和大部分事务包提供使用一个由三个域构成的地址访问指定数据流的权限。它们是设备地址、端点号和方向域。
34
一旦复位和上电,设备地址默认值为0,应该在枚举过程期间被主机用1到127之间的值来编程。设备地址0保留成默认地址,不能分配给任何其他使用。
设备除去必须的默认端点号为0的默认控制端点外,可以支持最大值达到15个IN和15个OUT端点(由方向域指示)。
8.9 路由字符域
路由字符是在下游导向(向下游端口方向发送)的包中一个20位的域,集线器使用其进行路由选择,将包传递到指定的下游端口。它由一串下游端口号(每个集线器4位)组成,集线器使用它到达设备。集线器使用集线器深度值Hub Depth乘以4作为在路由字符域中要定位的偏移值,集线器用它来决定下游端口号。集线器深度值在枚