位置:51电子网 » 技术资料 » 接口电路

USB标准要求

发布时间:2008/12/23 0:00:00 访问次数:1028

  在usb接口的通信协议中,由于主机取得绝对的主控权,所以对于设备而言,只有“听命行事”。因此,主机与设备之间就必须遵循某种已沟通的特定命令格式,以达到通信的目的。这个命令的格式就是usb规范中所制定的“标准要求”。这个标准要求的设置、清楚与取得都须通过控制传输的数据交易来达成。

  在控制传输设置层的数据交易中包含了令牌封包→数据封包→握手封包这3个封包阶段。其中的数据封包就是放置“标准要求”的地方。它是一个8字节的data1数据封包。表1列出了标准要求的要求形态内容。

  表1 执行设置层数据交易时,标准要求的要求形态内容

  事实上,表1的8字节放置于跟随在setup令牌封包后的数据封包字段内。除此之外,表1的数据格式还须与表2的“标准要求”配合在一起才金额以执行完整的标准要求。

  表2内的8字节放置于跟随在setup令牌封包后的数据封包字段内。为了取得这8字节的标准设各要求,一般的usb单片机通常使用一个数组或特定的fifo来存储这个重要的setup数据;而在ez-usb ex单片机中,使用定义为setup[7]数组来加以存储。

  表2 标准要求的格式

  若以之前所举的get_descriptor为例,就可以了解一个设备要求执行的过程。可以从图41和表2了解到brequest的类型,而在此图中以get_descriptor为例,利用wvalueh字段值延伸至device(设备)、conπguration(配置)以及string(字符串)等取得描述符标准要求,即分别为取得设备描述符、取得配置描述符以及取得字符串描述符等的标准要求。

  综合了描述符与设各要求的章节,可以归纳一些重点,也就是说,这些设各要求与描述符在控制传输时,放置于何处呢?用户可以了解到设各要求放置于设置层的数据封包内的数据域位中:

  设置层→数据封包→数据域位→设备要求

  而描述符则放置于数据层的数据封包的数据域位中:

  数据层→数据封包→数据域位→描述符

  因此,用户必须执行一个完整的控制读取或写人传输,才可执行标准要求,以及取得真正所要的描述符内容。可以这样说,标准要求是个“命令”,而描述符所内含的内容才是所要取得的“数据”。当然,这个数据层可以根据描述符的数目,而以8字节为一组的方式,依序读取数个数据层的数据封包内的数据域位内含值。图2为控制传输的意义与目的。

  换句话说,对于控制读取传输而言,setup封包(设置层),其后所跟随的数据封包的内含值,为所要设置的标准设各要求。在in封包(数据层),其后所跟随的即为所要接收的设各的各种描述符。而out令牌封包(状态层),其后所跟随的数据封包的内含值为空的,以说明整个控制传输已经结束了。

  以下,针对bmrequesttype[4:0]位,再区分为3种类型:标准设备要求、标准配置要求以及标准端点要求。这些标准要求与各个描述符有相当大的关系。

  图1 标准要求的架构示意图

  图2 控制传输的意义与目的

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



  在usb接口的通信协议中,由于主机取得绝对的主控权,所以对于设备而言,只有“听命行事”。因此,主机与设备之间就必须遵循某种已沟通的特定命令格式,以达到通信的目的。这个命令的格式就是usb规范中所制定的“标准要求”。这个标准要求的设置、清楚与取得都须通过控制传输的数据交易来达成。

  在控制传输设置层的数据交易中包含了令牌封包→数据封包→握手封包这3个封包阶段。其中的数据封包就是放置“标准要求”的地方。它是一个8字节的data1数据封包。表1列出了标准要求的要求形态内容。

  表1 执行设置层数据交易时,标准要求的要求形态内容

  事实上,表1的8字节放置于跟随在setup令牌封包后的数据封包字段内。除此之外,表1的数据格式还须与表2的“标准要求”配合在一起才金额以执行完整的标准要求。

  表2内的8字节放置于跟随在setup令牌封包后的数据封包字段内。为了取得这8字节的标准设各要求,一般的usb单片机通常使用一个数组或特定的fifo来存储这个重要的setup数据;而在ez-usb ex单片机中,使用定义为setup[7]数组来加以存储。

  表2 标准要求的格式

  若以之前所举的get_descriptor为例,就可以了解一个设备要求执行的过程。可以从图41和表2了解到brequest的类型,而在此图中以get_descriptor为例,利用wvalueh字段值延伸至device(设备)、conπguration(配置)以及string(字符串)等取得描述符标准要求,即分别为取得设备描述符、取得配置描述符以及取得字符串描述符等的标准要求。

  综合了描述符与设各要求的章节,可以归纳一些重点,也就是说,这些设各要求与描述符在控制传输时,放置于何处呢?用户可以了解到设各要求放置于设置层的数据封包内的数据域位中:

  设置层→数据封包→数据域位→设备要求

  而描述符则放置于数据层的数据封包的数据域位中:

  数据层→数据封包→数据域位→描述符

  因此,用户必须执行一个完整的控制读取或写人传输,才可执行标准要求,以及取得真正所要的描述符内容。可以这样说,标准要求是个“命令”,而描述符所内含的内容才是所要取得的“数据”。当然,这个数据层可以根据描述符的数目,而以8字节为一组的方式,依序读取数个数据层的数据封包内的数据域位内含值。图2为控制传输的意义与目的。

  换句话说,对于控制读取传输而言,setup封包(设置层),其后所跟随的数据封包的内含值,为所要设置的标准设各要求。在in封包(数据层),其后所跟随的即为所要接收的设各的各种描述符。而out令牌封包(状态层),其后所跟随的数据封包的内含值为空的,以说明整个控制传输已经结束了。

  以下,针对bmrequesttype[4:0]位,再区分为3种类型:标准设备要求、标准配置要求以及标准端点要求。这些标准要求与各个描述符有相当大的关系。

  图1 标准要求的架构示意图

  图2 控制传输的意义与目的

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!