请教usb协议中的data toggle 事件是怎么回事

USB通信协议——错误检查
> USB通信协议——错误检查
USB通信协议——错误检查
通过来作数据传输的期间,可能会由硬件来检测若干错误现象。当然,通过驱动器、传送器以及缆线等的规范,所构建出的硬件,基本上发生错误的几率很小。因此,在稍前所介绍过,用来设计整合至数据交易协议的握手封包,可以确认出封包已经被成功地接收到。此外,涵盖位的USB封包也可使得接收器能确实地辨识所接收到的数据是否与传送出去的数据相符合。此外,如果需要多个数据交易,数据紧密连接(data toggle)位将会保持传送器与接收器同步,以确保没有数据交易已经完全地被遗漏掉。而由USB所支持的的机制包含了:  ·封包错误辨识;  ·假的EOP;  ·总线超时(tlme-out),没有响应;  ·数据紧密连接。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一用户操作:
正在加载...
USBD_STATUS
The USBD_STATUS data type defines USB status values for USB requests.
typedef LONG USBD_STATUS;
The most significant 4 bits of USB status values are defined in the following table.
ValueMeaning
00 (USBD_STATUS_SUCCESS)
Request was completed with success.
01 (USBD_STATUS_PENDING)
Request is pending.
10 or 11 (USBD_STATUS_ERROR)
Request was completed with an error.
The least significant 28 bits of USB status values are defined in the following table.
ValueCodeMeaning
USBD_STATUS_CRC
0xC0000001
CRC error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_BTSTUFF
0xC0000002
BTS error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_DATA_TOGGLE_MISMATCH
0xC0000003
Data toggle mismatch.
USBD_STATUS_STALL_PID
0xC0000004
The device returned a stall packet identifier (defined for backward compatibility with the USB 1.0)
USBD_STATUS_DEV_NOT_RESPONDING
0xC0000005
The device is not responding (defined for backward compatibility with the USB 1.0).
USBD_STATUS_PID_CHECK_FAILURE
0xC0000006
The device returned a packet identifier check failure (defined for backward compatibility with the USB 1.0).
USBD_STATUS_UNEXPECTED_PID
0xC0000007
The device returned an unexpected packet identifier error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_DATA_OVERRUN
0xC0000008
The device returned a data overrun error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_DATA_UNDERRUN
0xC0000009
The device returned a data underrun error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_RESERVED1
0xC000000A
USBD_STATUS_RESERVED2
0xC000000B
USBD_STATUS_BUFFER_OVERRUN
0xC000000C
The device returned a buffer overrun error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_BUFFER_UNDERRUN
0xC000000D
The device returned a buffer underrun error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_NOT_ACCESSED
0xC000000F
The USB stack could not access the device (defined for backward compatibility with the USB 1.0).
USBD_STATUS_FIFO
0xC0000010
The device returned a FIFO error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_XACT_ERROR
0xC0000011
The device returned a transaction error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_BABBLE_DETECTED
0xC0000012
The device returned a babble detected error (defined for backward compatibility with the USB 1.0).
USBD_STATUS_DATA_BUFFER_ERROR
0xC0000013
Hardware status codes that range from 0x to 0x000000FF (defined for backward compatibility with the USB 1.0 stack).
USBD_STATUS_NO_PING_RESPONSE
0xC0000014
No response was received from the device for a ping packet sent by the host.
USBD_STATUS_INVALID_STREAM_TYPE
0xC0000015
The stream type is invalid for the endpoint.
USBD_STATUS_INVALID_STREAM_ID
0xC0000016
The stream identifier is invalid.
USBD_STATUS_ENDPOINT_HALTED
0xC0000030
A transfer was submitted to an endpoint that is stalled.
USBD_STATUS_INVALID_URB_FUNCTION
Invalid URB function.
USBD_STATUS_INVALID_PARAMETER
Invalid parameter.
USBD_STATUS_ERROR_BUSY
The client driver caused an error by attempting to close an endpoint, interface, or configuration handle with outstanding transfers.
USBD_STATUS_REQUEST_FAILED
The hub driver cannot complete a URB request.
USBD_STATUS_INVALID_PIPE_HANDLE
Invalid pipe handle.
USBD_STATUS_NO_BANDWIDTH
There was not enough bandwidth to open a requested endpoint.
USBD_STATUS_INTERNAL_HC_ERROR
Unspecified host controller error.
USBD_STATUS_ERROR_SHORT_TRANSFER
The transfer ended with a short packet, but the USBD_SHORT_TRANSFER_OK bit is not set for the pipe.
USBD_STATUS_BAD_START_FRAME
0xC0000A00
The requested start frame is not within a range of
USBD_ISO_START_FRAME_RANGE frames of the current USB frame. Whenever this error occurs, the system sets the stall bit on the pipe.
USBD_STATUS_ISOCH_REQUEST_FAILED
0xC0000B00
The host controller returns this error whenever all packets in an isochronous transfer complete with an error.
USBD_STATUS_FRAME_CONTROL_OWNED
0xC0000C00
The hub driver returns this error whenever the frame length control for the host controller is being used by a driver other than the host controller driver.
USBD_STATUS_FRAME_CONTROL_NOT_OWNED
0xC0000D00
The hub driver returns this error if the caller does not own frame length control and attempts to release or modify the host controller frame length.
USBD_STATUS_NOT_SUPPORTED
0xC0000E00
The request was not supported.
USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR
0xC0000F00
Invalid configuration descriptor.
USBD_STATUS_INSUFFICIENT_RESOURCES
0xC0001000
Insufficient resources.
USBD_STATUS_SET_CONFIG_FAILED
0xC0002000
An attempt to change the device configuration failed.
USBD_STATUS_BUFFER_TOO_SMALL
0xC0003000
The buffer is too small.
USBD_STATUS_INTERFACE_NOT_FOUND
0xC0004000
The interface was not found.
USBD_STATUS_INAVLID_PIPE_FLAGS
0xC0005000
Invalid pipe flags.
USBD_STATUS_TIMEOUT
0xC0006000
The request timed out.
USBD_STATUS_DEVICE_GONE
0xC0007000
The device is no longer present in the system.
USBD_STATUS_STATUS_NOT_MAPPED
0xC0008000
The device bus address is not mapped to system memory.
USBD_STATUS_HUB_INTERNAL_ERROR
0xC0009000
The hub driver returns this error whenever it intercepted a URB that was targeted at some other device.
USBD_STATUS_CANCELED
0xC0010000
The USB stack reports this error whenever it completed a transfer because of an AbortPipe request from the client driver.
USBD_STATUS_ISO_NOT_ACCESSED_BY_HW
0xC0020000
The host controller did not access the transfer descriptor (TD) that is associated with this packet. The USB stack reports this error in the packet status field of an isochronous transfer packet.
USBD_STATUS_ISO_TD_ERROR
0xC0030000
The host controller reported an error in the transfer descriptor (TD). The USB stack reports this error in the packet status field of an isochronous transfer packet.
USBD_STATUS_ISO_NA_LATE_USBPORT
0xC0040000
The client driver submitted the packet on time, but the packet failed to reach the miniport driver on time. The USB stack reports this error in the packet status field of an isochronous transfer packet.
USBD_STATUS_ISO_NOT_ACCESSED_LATE
0xC0050000
The client driver did not submit the packet on time. The USB stack reports this error in the packet status field of an isochronous transfer packet.
USBD_STATUS_BAD_DESCRIPTOR
0xC0100000
Invalid descriptor.
USBD_STATUS_BAD_DESCRIPTOR_BLEN
0xC0100001
Invalid descriptor length.
USBD_STATUS_BAD_DESCRIPTOR_TYPE
0xC0100002
Invalid descriptor type.
USBD_STATUS_BAD_INTERFACE_DESCRIPTOR
0xC0100003
Invalid interface descriptor.
USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR
0xC0100004
Invalid endpoint descriptor.
USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR
0xC0100005
Invalid interface association descriptor.
USBD_STATUS_BAD_CONFIG_DESC_LENGTH
0xC0100006
Invalid configuration descriptor length.
USBD_STATUS_BAD_NUMBER_OF_INTERFACES
0xC0100007
Invalid number of interfaces.
USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS
0xC0100008
Invalid number of endpoints.
USBD_STATUS_BAD_ENDPOINT_ADDRESS
0xC0100009
Invalid endpoint address.
Related topics君,已阅读到文档的结尾了呢~~
usb 协议层
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
usb 协议层
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
USB2.0协议规范
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口usb 协议层_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
usb 协议层
上传于||文档简介
&&u​s​b​ ​协​议​层
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩15页未读,继续阅读
你可能喜欢

我要回帖

更多关于 data toggle 事件 的文章

 

随机推荐