阅读:8683回复:47
USB Host 开发
USB HOST 开发之我见
由于usb的简便易用因而大量嵌入式设备开始使用usb,但是usb的开发并不是一帆风顺十分 简单。相反usb的开发是一件十分烦杂的事情,目前usb的开发正如火如荼,但大多涉及的都是 Device端的开发,基于Host的开发少之又少,究其原因就是因为开发难度太大,可用资源太少 很多公司刚开始时雄心勃勃,可后来却偃旗息鼓,最后不得不放弃。 本人做usb开发已有两年之余,幸运的是一开始接触的就是usb host端的开发,而且还成功 了,本人的项目主要是使用usb host进行硬盘备份,本人的两个项目均在VxWorks下实现,第一个 项目使用ISP1161,第二个项目使用ISP1561,为了不至于让我的工作成果湮没,本人愿意在收取 一定费用的情况下将它共享出来。本人提供的是c语言源代码,移植起来十分方便,因而我觉得 它还是有一点价值的。 本人联系方式cycloneriver@163.com 一并贴上对本开发十分有用的一个文档 |
|
最新喜欢:![]() |
沙发#
发布于:2007-03-01 17:14
支持
|
|
|
板凳#
发布于:2007-03-01 16:28
thanks!
|
|
地板#
发布于:2007-02-07 19:48
问PDA上的驱动开发与PC上的驱动开发有什么区别?
|
|
地下室#
发布于:2007-02-01 17:25
谢谢楼上,还想请教个问题:USB Host Controller的驱动是分层的,MDD和PDD层,帮助文档里说MDD层是通过ddsi来调用PDD层的,现在对两层之间的调用及协调工作情况很模糊,具体是怎么个调用方法呢,请多指点!多谢
|
|
5楼#
发布于:2007-01-22 14:37
借鉴一下ms的图:
USB HOST USB device +--------------+ | USB Client | | Driver | +--------------+ /|\ | USBDI Interface \|/ +--------------+ | USBD | | Driver | +--------------+ /|\ | HCD Interface \|/ +--------------+ | HCD (OHCD or| | UHCD) driver| +--------------+ /|\ | HC Interface \|/ +--------------------+ +----------------------------+ | Host controller HW | | USB Device (function) | +--------------------+ +----------------------------+ /|\ /|\ | | +------------------------------------------+ 通常我们所说的usb host,是指我们手中的设备可以接外设, 而usb device在ce中叫usb function. 具体说到你的pda.当pda作为device的时候,pc作为host,pda作为funciton,因此上图右边的部分在pda上,左边部分在pc上;反之,当pda作为host的时候,左边的程序在pda上,右边的程序在外设上! 因此楼上所说的client只是host协议栈中的一部分,跟设备扮演function功能毫无关系.而设备作为funciton设备所扮演的功能(u盘,serial或者rndis)有funtion自己的上层决定.也就是说,host的上层跟funtion上层是不同的上层 |
|
6楼#
发布于:2007-01-19 13:34
500jun老兄,你好,看到你的帖子,感觉对usb的开发明白了不少,但是还有很多疑惑,
说出来请老兄多指点下! 我要做一个PDA,PXA270+windows CE,要使此PDA同时具有UBS Host和USB device功能,也就是说我这个PDA通过usb线与PC机相连时应该能被PC机识别并能从PC上读PDA上的数据,另外我这个PDA还要具有USB Host口,来识别插在它host 口上的设备(鼠标等).首先我不清楚的是,当我的PDA作为device来用时其驱动的开发应该是属于你说的client驱动层吧,这一层是运行在PC机上还是运行在PDA上的呢?还有,你说开发USB Host时只要动第三层,即只要写好host 控制器的驱动就可以了,是这么理解的吗?当我想从我的PDA上通过USB host口来接一个外设时,所接的外设(如USB鼠标等)需要有驱动的,这个驱动应该是运行在我PDA上的吧?我的QQ:99129637,希望能多指导下啊 |
|
7楼#
发布于:2007-01-14 17:15
usb host主要包括3层:
1)client驱动层(对应MS 驱动,鼠标驱动,或者键盘驱动等等); 2)usbd层主要暴露底层host控制器驱动的接口,这样驱动层可以调用这些接口来进行数据传输;同时当有usb设备插入host时,由此层来负责加载对应的上层client驱动(如鼠标驱动等); 3)host控制器驱动主要有OHCI,UHCI,EHCI等驱动(即负责host控制器相关寄存器操作等)主要按相关规范(OHCI,UHCI,EHCI)负责组织,传送和接收由client驱动层的数据.因此,如果你需要编写host控制器驱动,就仅仅只需要修改第3层;但是,如果你的系统需要支持usb打印机,而你的client层没有该驱动,那么就需要编写打印机的client端驱动,该驱动位于第一层.一般来说,第2层是不需要也没必要修改. |
|
8楼#
发布于:2007-01-11 15:59
呵呵! 谢谢
|
|
9楼#
发布于:2007-01-08 16:39
ISP1161的host有原码
|
|
10楼#
发布于:2007-01-08 13:33
期待iing
|
|
|
11楼#
发布于:2007-01-08 13:32
期待ing
|
|
|
12楼#
发布于:2007-01-04 10:38
请教各位高手:
在哪可以找到OHCI的完整协议,及OHCI协议里各个寄存器的含义呀 小弟在此谢过了! |
|
13楼#
发布于:2005-05-11 10:27
各位GGJJ,我的毕业设计是做基于DSP的USB接口实现。
DSP 使用的是TMS320VC5409,USB接口 使用的是CY68013。 要画板和写程序 :( 并且也要扩展到:将该系统做成USB主设备。 :( 感觉很难!!!!!! 希望各位高手指导啊!!!!^_^ E-MAIL:renxiaoxie1982@163.com |
|
14楼#
发布于:2005-05-09 17:28
[quote] 目前我们的H.264还不够成熟,暂时也还没相应的产品。 1300跑264当然不太可能,TM系列的后续产品还是可以地吧 我并没负责这方面的,目前我的工作仅仅是让USB可以在上面动起来而已。 如果您确实对于我们公司很感兴趣,您可亲临我们的网站(www.starsecu.com) 枚举过程中我也是直接用EHCI模式, 除了无法识别非2.0的设备,还有其它不妥之处吗? Thank you in advance! [/quote] 你们公司做得还不错,想不到福建还有这样的公司 |
|
15楼#
发布于:2005-04-30 15:29
目前我们的H.264还不够成熟,暂时也还没相应的产品。 1300跑264当然不太可能,TM系列的后续产品还是可以地吧 我并没负责这方面的,目前我的工作仅仅是让USB可以在上面动起来而已。 如果您确实对于我们公司很感兴趣,您可亲临我们的网站(www.starsecu.com) 枚举过程中我也是直接用EHCI模式, 除了无法识别非2.0的设备,还有其它不妥之处吗? Thank you in advance! |
|
16楼#
发布于:2005-04-30 13:49
[quote]呵呵,原来是同行啊,你们的DVR是什么牌子的啊,现在都在搞h.264,你们怎么不搞h.264啊,现在H.265都出来了。EHCI是相对于USB2.0的硬件规范,UHCI和OHCI是相对于USB1.1的规范,USB2.0是要在USB1.1的基础上才可以跑的。 HTDVR不知你听说过没 我们应该早就是H.264了。有H.265标准了吗?这方面的我不清楚。 EHCI,UHCI,OHCI这些规范我知道啊,但是我根本就没去实现U/OHCI中的任何一个,单单只有EHCI,仍然是跑得好好的啊。 它们有什么必然的关系吗? 还请多多指教。 [/quote] TM1300好像是MPEG4的芯片啊,HTDVR没听说过,你们在哪里? UHCI/OHCI是针对full speed,EHCI是针对high speed USB枚举必然从full speed过渡到high speed, OK ! |
|
17楼#
发布于:2005-04-29 14:37
呵呵,原来是同行啊,你们的DVR是什么牌子的啊,现在都在搞h.264,你们怎么不搞h.264啊,现在H.265都出来了。EHCI是相对于USB2.0的硬件规范,UHCI和OHCI是相对于USB1.1的规范,USB2.0是要在USB1.1的基础上才可以跑的。 HTDVR不知你听说过没 我们应该早就是H.264了。有H.265标准了吗?这方面的我不清楚。 EHCI,UHCI,OHCI这些规范我知道啊,但是我根本就没去实现U/OHCI中的任何一个,单单只有EHCI,仍然是跑得好好的啊。 它们有什么必然的关系吗? 还请多多指教。 |
|
18楼#
发布于:2005-04-28 11:41
呵呵,原来是同行啊,你们的DVR是什么牌子的啊,现在都在搞h.264,你们怎么不搞h.264啊,现在H.265都出来了。EHCI是相对于USB2.0的硬件规范,UHCI和OHCI是相对于USB1.1的规范,USB2.0是要在USB1.1的基础上才可以跑的。
|
|
19楼#
发布于:2005-04-27 16:59
现在好不容易总算可以达到200+Mbps(未挂接文件系统),可是问题又来了,传输一会儿之后就收不到主机的中断没法再继续传输下去,这几天一直再改代码,竟然忘了及时测试和备份。:( 还得回头找了 我不明白为什么您说的EHCI得在OHCI或UHCI的基础上才行?您可以说说吗? 我的Boss才是做DVR的,我本人只是写写代码而已。 |
|
上一页
下一页