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

本文介绍了USB的Bulk传输模式,包括其工作原理、传输过程中的Token、Data和handshake封包,以及如何通过自定义USBCDC和Massstorage实现Bulk传输。特别提到驱动程序在其中的作用和使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章来源:大大通

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 

登录大大通,查看更多相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值