浅谈 USB Bulk 深入浅出 (2) - USB Bulk 装置设定

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 传输使用。

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论