最近看OHCI的内容和相应代码,有个问题困惑我,ED,TD,done queue 这些东西是干吗用的,为什么要引进这些个概念?我觉得我可以不用queue,来一个中断处理一个TD。硬件ED,TD,done queue这些概念是为了减少中断次数吗?假设要传512字节,那么不用链的话就... 全文

2008-04-14 22:45 来自版块 - USB驱动开发

之前在公司里写过两个usb devie芯片 的固件代码,现在要做usb host的代码,当然是嵌入式的。找到一点EHCI 和OHCI的代码,和我之前写的device代码相差挺多,host和devie相差那么大吗?然后我看了一些资料协议,感觉两者的区别不时很大阿。下面据我所理解的,... 全文

2008-04-06 14:30 来自版块 - USB驱动开发

我用usb芯片net2272作的程序,程序是bulk方式。原先是把数据搬送的操作放在中断里的,数据搬送完全正常。但是考虑到一次中断处理要512B,时间太长。所以改成在thread里搬送数据。但是实验发现,我只有在thread里把搬送数据的那段代码关临界区(中断全部屏蔽)才能搬数据... 全文

2007-11-15 22:15 来自版块 - USB驱动开发

我想问一下,控制传输的时候,当pc发一个in token,请求长度为60B,但是设备端由于没来得及有buffer放这些数据或者来不及凑齐这些数据,假设只有30B数据,他会立即发30B数据上去,然后等下一次再收30B发上去吗?还是一定要凑齐满之后才发上去。我看到一本书上讲的意思,好... 全文

2007-10-16 21:34 来自版块 - USB驱动开发

自己写的usb设备端程序枚举,数据收发都可以了。但是今天把usb口插到另外一个pc端的usb口,竟然枚举不成功了。这是为什么呢?我想我的设备端驱动应该是没问题的,而且pc端的usb口肯定没问题,因为我的u盘插在上面能用。那是为什么呢? 我很疑惑,难道windows驱动的问题???

2007-10-16 21:24 来自版块 - USB驱动开发

好几个月了,在公司里一直在搞设备端的usb,现在对usb理解相对来说比较深刻了,写得程序的枚举,接受,发送 功能也基本实现了,但离最终目标还有很长一段。但现在又有新的困惑,还请大家指教。我用的芯片是net2272。实际上芯片都差不多,大家完全可以忽略它的影响。第一个问题,数据发送... 全文

2007-09-30 15:27 来自版块 - USB驱动开发

今天想到这个问题。然后插了点资料。我们平常称得枚举实际上应该叫总线枚举(bus enumation),在usb2.0官方白皮书中定义为Detecting and identifying USB devices.更详细的定义是 Bus enumeration is the acti... 全文

2007-09-28 22:07 来自版块 - USB驱动开发

看了usb的协议,远程唤醒好像是usb来唤醒pc的,那usb如何来唤醒连接他的mcu呢?是不是在isr中发个信号给mcu,把它弄醒呢?但我想你mcu都睡着了,还能执行我usb的isr吗?概念还真乱那!!

2007-08-03 22:11 来自版块 - USB驱动开发

我想问一下,usb的控制传输仅仅是在一开始的枚举阶段才有吗,之后就结束了,然后进行数据传输的时候,是不会存在控制传输的阶段了吗?因为之前我是这样认为的,但现在看到hid类设备等有一些get_report之类的命令,但他应该也属于控制传输,但是好像是一直存在的,pc端会一直轮询。所... 全文

2007-07-15 20:18 来自版块 - USB驱动开发

我知道,当usb传输时,usb的数据包大小大于端点大小时,usb会自动分包。那我想问的是党usb的数据包大小小于端点大小时,usb会怎么办?譬如,数据包64byte,端点128byte的,usb会自动在端点里填充两个数据包马?这个是需要自己做,还是硬件自动帮你做的?谢谢

2007-07-03 21:39 来自版块 - USB驱动开发

我有个问题,我现在在用usb2.0的芯片net2272,怎么样让他只使用1.1的功能呢?我觉得光把设备描述符中的那bcdUSB码0200改成0110,只是修改了显示出来的一些信息,内在的并没有改。因为它有个寄存器读出来的还是high speed。但这个寄存器是只读的,查了一下也没... 全文

2007-05-28 21:56 来自版块 - USB驱动开发


返回顶部