文章来源:大大通
1 USB Bulk 是什么
USB 是即插即用使用差动信号的装置界面,是以 端点 ( Endpoint ),做为传输装置的输出入端,透过不同的端点 ( Endpoint ) 和模式,来进行与装置的沟通,USB Bulk 就是USB 四种传输模式之一的批量资料传输 ( Bulk ) 的端点传输
1.1 传输方块图
USB 传输方块图,如‘图1.1.1’( 注1 ), 其中 IRP是 I/O Request Packet ,由图所示Bulk 传输是使用 1个或多个的 IN / OUT 资料传输 (Transaction ),一个 USB 的资料传输通常会有 3 个阶段 Token , Data , handshake的封包
‘图1.1.1’( 注1 )
2 USB Bulk 装置设定
一般自定义的 Bulk 是需要 driver 的,或是强制指定使用 Windows 内建的 driver ,但强制指定的方式,可能只能用于 底层 driver 呼叫,例如 BUS hound
‘图2.1.1’( 注1 )
所以来说一般自定义的 Bulk,一般是改写 USBCDC,或者可以是直接使用 USBCDC 和 Mass storage 来做为 Bulk 的传输装置。若是直接从中断的 Endpoint 改成 Bulk 的 Endpoint ,还需要修改要传输的封包大小,另外 Class 要宣告成 0xFF 自定义的,
Sub Class 和 protocol 一般就设定成 0x00 就可以了。之后用 BUS hound 的 Endpoint 来传输,就是 简易修改之后 的Bulk 传输,但一般的 driver 可能就无法使用此方式,与你的 USB device 沟通。若是使用 USBCDC ,电脑就可以透过一个 USB to Com port 的装置,直接从 电脑端利用此 Comport 与 Device 的 USB Endpoint 来做 Bulk传输使用。若是使用 USB Mass storage ,则 Device 就会形成一个虚拟的 USB Disk ,在传输档案的过程,就是从电脑端利用此 USB Disk 与 Device 的 USB Endpoint 来做 Bulk 传输使用。
3 参考资料
注1 : 作者: USB ORG ( Compaq ,Hewlett-Packard ,Intel ,Lucent,Microsoft,NEC,Philips );
出处 : USB 2.0 Specification | USB-IF
登录大大通,查看更多相关内容