[OHCI]数据结构
2015-11-01 17:17
309 查看
简述
USB OHCI需要通过Host Controller和Host Controller Driver来对USB bus的使用进行仲裁。OHCI的在Endpoint之间的仲裁有两个级别,第一个级别是从ED的List的级别进行仲裁,每一类ED有一个List来维护,在List内,每一个ED是有相同级别的。这里的这种方式的仲裁,需要回顾下OHCI的框架。HCD用一个叫做HcPeriodicStart的时间,来决定在一个Frame内多久后开始Periodic传输。而在Non Periodic传输时,Bus是服务于Control和Bulk传输的,而在Periodic传输时,会优先考虑Interrupt传输。
OHCI架构中提到过TD的Done Queue,当一个TD的所有数据都传送完毕,TD将从ED剥离,链接到Done Queue,Host Controller Driver然后会处理Done Queue,并提供complete信息给这次传输的发起者。看来这里是相当于一个流控的作用了。
Endpoint Descriptor
Transfer Descriptor
TD,是一段数据缓存(0到8192 bytes),用来从ED取数据或向ED发送数据。TD分为两类:General(用于Control, Bulk, Interrupt传输)和Isochronous。
General TD
16byte的结构来描述一个General TD。Isochronous TD
32byte的结构来描述一个Isochronous TD。相关文章推荐
- JavaScript描述数据结构与算法——队列
- 【项目2-3 - 上三角矩阵——第9周】
- 数据结构实践项目——树和二叉树(2)
- 数据结构与算法经典习题解答
- 【项目2 -2- 对称矩阵压缩存储的实现与应用——第9周】
- 哈夫曼编码及解码
- poj2449 Remmarguts' Date
- LeetCode Implement Stack using Queues (数据结构)
- LeetCode Implement Queue using Stacks (数据结构)
- 数据结构单链表前驱结点的寻找过程,仅用一个结点指针即可完成
- 数据结构实践——用二叉树求解代数表达式
- 队列的链式表示和实现(数据结构)
- 【数组项目2-1 - 对称矩阵压缩存储的实现与应用——第九周】
- 栈的顺序表示和实现(数据结构)
- 数据结构 - 知识导图
- 线性表的链式表示和实现(数据结构)
- 平衡二叉树各种算法详解一:红黑树
- Java记录 -48- Java数据结构-链表
- 红黑树详解
- 数据结构实验二