打印

有这样的USB功能吗

[复制链接]
3495|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chasedreamsl|  楼主 | 2011-6-3 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chasedreamsl 于 2011-6-3 19:57 编辑

采用USB协议,像CDC类那样主从机可以自由通信,但CDC类要求提供INF文件。
假如采用HID,如果是全速设备速度好像很慢1s才发送64000B数据。如果不用INF实现无驱同时又能CDC那样通信,是否有其它USB类可以实现?

相关帖子

沙发
icecut| | 2011-6-3 10:52 | 只看该作者
libusb库...还要安装驱动....

鱼和熊掌不能兼得...本来usb就不是个简单东西

使用特权

评论回复
板凳
adams.gh| | 2011-6-3 11:04 | 只看该作者
可以用mass storage类 ,定义私有SCSI指令做数据通信。

使用特权

评论回复
地板
chasedreamsl|  楼主 | 2011-6-3 11:06 | 只看该作者
呵呵。是不简单。也没想像中难。 我说的免驱是指微软自带的驱动,USB 插上后自己能找到驱动,不需要人为去加载什么协助安装驱动。(如CDC虚拟串口类就是还要外加一个INF文件,虽然驱动也是微软提供的。)

使用特权

评论回复
5
chasedreamsl|  楼主 | 2011-6-3 11:26 | 只看该作者
3# adams.gh
大容量类中的SCSI指令可以实时交互数据吗?
我对这方面不了解,SCSI在网络上看都是一种接口。这方面的资料可以给个吗。

使用特权

评论回复
6
icecut| | 2011-6-3 11:39 | 只看该作者
cdc类也有地雷,希望你别遇到.反正我是撞地雷了...

使用特权

评论回复
7
icecut| | 2011-6-3 11:42 | 只看该作者
免驱动不是高性能.高性能就不能免驱动.

cdc类速度本来就不高,要想每秒几十兆,还是虚拟成硬盘或者u盘,读特定文件,就是做相应传输...这个速度快.

可以免驱动,但是下层实现恐怕代码量不少,还没有例程.

使用特权

评论回复
8
chasedreamsl|  楼主 | 2011-6-3 11:42 | 只看该作者
CDC类的有做过。,它要安装INF。已经排除在现在方案外了。

使用特权

评论回复
9
chasedreamsl|  楼主 | 2011-6-3 11:44 | 只看该作者
感觉mass storage 类的实时性不好。都要主机要数据是发命令到设备里取数据? 这样设备要发数据的话就不行了。不知道理解对不?

使用特权

评论回复
10
chasedreamsl|  楼主 | 2011-6-3 11:47 | 只看该作者
7# icecut
呵呵。每秒几十兆,要求不要这么高。

使用特权

评论回复
11
icecut| | 2011-6-3 16:43 | 只看该作者
感觉mass storage 类的实时性不好。都要主机要数据是发命令到设备里取数据? 这样设备要发数据的话就不行了。不知道理解对不?
chasedreamsl 发表于 2011-6-3 11:44


理解的很对.

但是usb不支持你所谓的device mast来发数据.

上位机永远读,直到有数据.延迟不超过1ms

使用特权

评论回复
12
dudf| | 2011-6-3 17:50 | 只看该作者
2# icecut

使用特权

评论回复
13
icecut| | 2011-6-3 18:02 | 只看该作者
12# dudf 骗人....

任何数据传输都是由host 的in token开始....

device只有听话的份,想反抗?直接挂死

使用特权

评论回复
14
chasedreamsl|  楼主 | 2011-6-3 19:49 | 只看该作者
11# icecut
如果是HID有中断传输。这样设备就可以主动发送数据。 按你说的看,HID可能会更合适。HID全速也可以保证在1ms内数据发送。谢谢你啦。

使用特权

评论回复
15
icecut| | 2011-6-3 22:20 | 只看该作者
14# chasedreamsl
中断传输是因为usb为中断传输留一定的时隙,保证在每个周期都读中断固定次数.这不是真正的中断传输....仅仅是名字而已.
如果是fullspeed,延迟可以做到1/8ms

使用特权

评论回复
16
chasedreamsl|  楼主 | 2011-6-3 22:53 | 只看该作者
15# icecut
呵呵。理解你的意思。主机在你定义的时间内去轮询有没有数据发送。

使用特权

评论回复
17
chasedreamsl|  楼主 | 2011-6-3 22:55 | 只看该作者
不过人的1/8ms是哪里来的。这个还真不知道。也不知道1/8ms是怎么设置的。应该是高速设备里面吧。全速的只能到1ms了。

使用特权

评论回复
18
icecut| | 2011-6-3 22:58 | 只看该作者
low speed就是1毫秒.2.0协议增加了一个微帧.至于fullspeed,我记不清了.full有2种,1.1协议的和2.0协议的.不太一样

使用特权

评论回复
19
chasedreamsl|  楼主 | 2011-6-3 23:24 | 只看该作者
明天放假。先休息。有空去核对下。icecut,谢谢了。

使用特权

评论回复
20
adams.gh| | 2011-6-5 00:12 | 只看该作者
9# chasedreamsl


可以做一个hid+msc的composite设备。hid打报告,mass storage class 做大数据包传输。
这样也是无驱,调win api 就行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

78

帖子

1

粉丝