阅读:1389回复:1
关于USB MASS UFI Command的相关问题
请教一下大家,如果USB Device返回CSW时超过13个字节,PC端会有什么反应啊?会不会Reset我的Device
|
|
沙发#
发布于:2008-09-23 14:29
目前做USB大容量存储器件驱动时遇到一个问题。项目的主要目的是利用公司芯片上的USB Device控制器来实现USB大容量存储,也就是优盘了,使用Bulk-only方式传输。目前在枚举阶段能够通过,PC端也可以识别出Inquiry命令传回的数据。但是问题是公司的USB控制器的Bulk-In端点每次送出至少要15个字节的数据,如果少于15个字节,DMA传输就会Hang住,而且没有FIFO填充数据方式,只能用DMA传输。因为Universal Serial Bus Mass Storage Class UFI Command Specification里面的Command Status Wrapper(CSW,规定13个字节长度)和Read Capacity等命令需要传输的数据没有15个字节,所以我现在用的方法是不足15个字节的补0到15个字节再发送,这样像CSW这些数据传输就不符合规范了。
我现在想问的是如果我发送这些不规范的数据,Host端会不会Reset我的器件呢?也就是如果我发送的数据不符合规范,主机端的驱动是不是不认? PS:我在模拟CD-ROM时,如果发送不规范数据,从调试信息上来看是没有Reset动作的,但是我把Inquiry传回的数据的DeviceType改为优盘时,每次Inquiry或READ10命令后就会有Reset的动作,目前还找不到原因 谢谢。 |
|