Linux那些事儿之我是EHCI 引子

来源:互联网 发布:电脑桌面提醒软件 编辑:程序博客网 时间:2024/05/17 04:04

转眼之间,到了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)去管理。


-----------------------转至http://blog.csdn.net/fudan_abc/article/details/2010929

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四十岁以后体力和耐力差怎么办 打篮球一打比赛就紧张怎么办 耐克空军鞋鞋底边胶掉了怎么办 鞋底踩到老鼠胶怎么办 头蒙怎么办最快最有效 备孕老公压力大怎么办 宝宝太兴奋不睡怎么办 我很烦只睡三小时觉怎么办才好 柯基精力太旺盛怎么办 孩子学习熬夜精力不足怎么办 肺癌晚期吃不下饭怎么办 这俩天吃药太多肝肾功能不好怎么办 跑步跑得头疼晕怎么办 吃完辣的想吐怎么办 体育生暑假训练太累怎么办 高强度运动后性功能不好怎么办 运动后第二天全身酸痛怎么办 运动后心慌想吐怎么办 激素停后全身疼怎么办 运动完头晕想吐怎么办 跑了步全身酸痛怎么办 运动后全身没力气怎么办 学完游泳不会换气怎么办 猫不吃饭精神不好怎么办 运动完头晕目眩想吐怎么办 酒后第二天恶心想吐怎么办 剧烈运动后肌肉酸痛怎么办 剧烈运动后吐了怎么办 长跑后头晕想吐怎么办 运动后一直想吐怎么办 跑多了恶心想吐怎么办 剧烈运动恶心想吐怎么办 长跑之后 恶心想吐怎么办 喝咖啡后绞心痛怎么办 牛奶喝多了胃胀怎么办 运动后大量出汗头晕怎么办 屁股出汗淹的特别痛怎么办 运动完感觉很累怎么办 跑步后感觉很累怎么办 输液多了伤脾胃怎么办 运动完后特别晕怎么办