基于OHCI协议的S3C2440 USB Host Driver之协议介绍(一)
来源:互联网 发布:石家庄编程培训 编辑:程序博客网 时间:2024/04/26 16:32
什么是OHCI
USB协议规定为四种传输类型--中断传输、控制传输、同步传输、批量传输。这里分为2种,周期传输和非周期传输。周期传输包括中断传输和同步传输,这是因为周期传输是要在1帧里的一段时间里必须进行的;非周期传输包括批量和控制传输,它们只要带宽空闲就可以传输。
在HC与HCD之间有2条通信渠道:第一条是在HC里的可操作寄存器;第二条是HCCA。
数据结构有2种:ED和TD
HCD负责分配ED和删除ED。HCD负责创建TD,HC负责删除TD。
ED包括HC与端点通信的必要信息,如MPS、端点地址,端点速度,数据流方向。ED链接成一个表。
一列TD链接在某个ED上,以ED作为锚点。TD包含了必要信息,描述了需要传输的数据包。信息有数据奇偶位,共享内存地址,完成状态代码。每一个TD描述了一个或多个数据包。每一个TD所描述的数据缓存可以从0到8192字节,是一个可以跨越页界限的物理页。
HC中的头指针指向批量和控制ED列表。HCD先初始化这些头指针,然后HC才可以访问。HCD需要先禁止HC处理指定的表,然后更新这些指针,再次使能HC。
HCCA中有指向中断ED表的头指针。第一个同步ED链接在最后一个中断ED上。有32个中断头指针。某一帧里,通过使用Frame Counter的低5位作为HCCA里的32个中断ED表的入口索引。
上图是一种情况,越接近于根,遍历的机会就越多,轮询率就越高。比如在根的一个ED。32个表都可以索引到,索引每帧都可以访问到。
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(一)
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(二)
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(三)
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(四)
- 基于OHCI的USB主机 —— OHCI(端点)
- 基于OHCI的USB主机 —— OHCI(HCCA)
- 高通平台USB host协议分析 之 一
- linux USB HOST之EHCI和OHCI
- 基于OHCI的USB主机 —— 背景介绍
- 1.2基于OHCI的USB主机 —— 背景介绍
- usb ohci driver porting
- 基于OHCI的ARM平台下USB HOST裸机驱动开发
- 基于OHCI的USB主机 —— 寄存器(初始化)
- 基于OHCI的USB主机 —— 寄存器(传输)
- 基于OHCI的USB主机 —— 寄存器(复位)
- 基于OHCI的USB主机 —— 寄存器(其它)
- 基于OHCI的USB主机 —— OHCI(传输描述符)
- 基于OHCI的USB主机 —— OHCI(基本流程)
- Linux下不安装Oracle客户端使用OCCI操作远程Oracle数据库
- 为文件分类,小程序-解决实际中分类问题。
- Hibernate应用的主要接口和类
- 可执行文件启动器(下)
- javascript高级程序设计总结之一
- 基于OHCI协议的S3C2440 USB Host Driver之协议介绍(一)
- Hibernate增删改查(通过id查询)
- 关于C语言指针和数组的深入探讨
- Hibernate学习 提供domain的默认构造器
- HQL查询
- javascript高级程序设计总结之二
- i 18 n 国际化
- 1830
- tcpdump用法详解