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)
上一篇:JTAG接口的结构组成
上一篇:RTC模块的软件设计
热门点击