Linux那些事儿之我是EHCI 引子
来源:互联网 发布:郑州百知 编辑:程序博客网 时间:2024/04/29 20:07
转眼之间,到了2008年,先祝大家新年快乐,希望新的一年里好运连连,工资猛涨。好久没有写了,一个原因在于,作为一个PHD学生,难免要做一些读paper写paper的琐事,另一个原因就是自己太懒了。大哥甲一如既往,坚持的写作,着实让人钦佩。此时此刻,我情不自禁,作诗一首,北飘奇男子,江南大丈夫。海上常常生明月,江湖就此一枝花。不服不行。
这里主要就linux ehci host controller这部分的代码,谈谈我自己理解。不当之处,请多指正。参考资料,ehci spec和linux-2.6.22.1内核。我尽量少贴代码,把问题讨论清楚。
现在开说,要进行usb传输,得有一个usb host controller, usb主控制器。它与插入系统的USB 设备进行相互操作,并负责处理USB 设备与系统其它部分通信所必需的所有低层次细节。
一个usb2.0主控器如图所示
usb 2.0定义了低速(ls),全速(fs),高速(hs)传输。EHCI仅仅支持高速传输,所以它必须还要有一个companion HC,如(UHCI)来支持低速和全速设备,情况时这样的:
1), fs/ls 设备插入到root hub port,会由companion HC(uhci/ohci)发现并管理设备;
2),fs/ls 设备插入到usb 2.0 hub(not root hub),那么由ehci 通过split transaction和transanction translation(tt)支持fs/ls 设备。
比如,当一个usb设备插入root hub port时,先要做一件routing的事情。所有的root hub port默认是被EHCI占有的,所以,EHCI和插入的usb设备通信,看是不是hs设备,如果是好说。如果不是,EHCI就放弃这个port的占有权,让给companion HC(uhci/ohci)去管理。
- Linux那些事儿之我是EHCI 引子
- Linux那些事儿之我是EHCI 引子
- Linux那些事儿之我是EHCI 引子
- Linux那些事儿之我是Hub(引子)
- Linux那些事儿之我是Sysfs--引子
- Linux那些事儿之我是UHCI-引子
- Linux那些事儿之我是Hub(引子)
- Linux那些事儿之我是Sysfs--引子
- Linux那些事儿之我是Sysfs--引子
- Linux那些事儿之我是Sysfs--引子
- Linux那些事儿之我是EHCI(1) 接口体系
- Linux那些事儿之我是EHCI(2) 套路
- Linux那些事儿之我是EHCI(1) 接口体系
- Linux那些事儿之我是EHCI(2) 套路
- Linux那些事儿之我是EHCI(2) 套路
- Linux那些事儿之我是EHCI(1) 接口体系
- Linux那些事儿之我是EHCI(2) 套路
- Linux那些事儿之我是U盘--引子
- 暂停Windows文件保护
- 我奋斗了18年才和你坐在一起喝咖啡
- MySpace.cn 使用的Javascript验证正则表达式
- petshop4中profile的配置
- 一个中国留学生的好朋友---oohcool.com网页版中文msn
- Linux那些事儿之我是EHCI 引子
- 约瑟夫环
- spring+struts+hibernate常见异常总结--邵京国
- 靓,不知你现在怎么样,身体是否健康,转眼一年过去了,又到了你的生日,希望你永远幸福
- 2008.1.2
- 史上最简单的Hibernate入门简介
- 用AJAX开发智能Web应用程序之高级篇-邵京国
- 01.03病毒预警:闪屏感染者感染exe文件令其失效
- 我的模式之路一:策略模式(Strategy)学习