飞思卡尔高端ColdFire USB模块:EHCI数据结构简化实现
需积分: 10 160 浏览量
更新于2024-07-09
收藏 1.6MB PDF 举报
"EHCI数据结构的实现-飞思卡尔USB模块.pdf"
这篇文档详细介绍了飞思卡尔高端ColdFire系列中的USB模块,特别是针对EHCI(Enhanced Host Controller Interface)数据结构的实现。对于那些英语阅读有困难的工程师来说,这是一个非常友好的中文文档。文档的作者是Melissa Hunter,主要探讨了如何简化EHCI数据结构,以便在嵌入式系统中更有效地支持特定类型的USB设备,如鼠标。
文档首先介绍了引言,指出ColdFire系列的某些高端产品如MCF532x、MCF5253和MCF5445x包含与EHCI兼容的USB主机控制器或双模式(移动USB, OTG USB)控制器。双模式模块可以灵活地设置为USB主机、USB设备或移动USB设备。在主机模式下,所有USB模块遵循EHCI规范,该规范定义了控制USB数据传输的寄存器集合和数据结构。
文档的主要内容围绕简化EHCI数据结构展开,以适应嵌入式系统的需要。它指出,尽管EHCI规范是为了PC设计的,能支持一个端口上的多种设备,但嵌入式系统可能只需要处理特定的USB设备。文档通过实例展示了如何构建一个简单的驱动程序,使系统能够与一种类型的设备(如鼠标)通信,而当插入其他类型的设备时,驱动程序会返回错误。
文档详细分析了以下几个关键的数据结构:
1. **队列首部(QH)**:QH是管理USB事务的关键数据结构,包含设备的配置信息。文档中详细解释了QH的不同部分:
- **队列首部平行链路指针(Offset: 0x00)**:用于指向下个QH或ITD。
- **端点特性(Offset: 0x04)**:包含端点号、传输类型等信息。
- **端点性能(Offset: 0x08)**:关于传输速度和突发传输能力的信息。
- **当前qTD指针(Offset: 0x0C)**:指向当前正在执行的传输描述符。
- **qTD覆盖区域(Overlay Area)(Offset: 0x10-0x2C)**:用于存储qTD信息。
2. **队列元素传输描述符(qTD)**:qTD是实际传输数据的结构,描述了传输的细节,如数据缓冲区地址、数据长度和状态信息。
由于目标是简化,文档没有涵盖所有EHCI特性,如同步传输和SPLIT事务。这意味着,同一时间仅支持一个设备连接到端口,并且不涉及与USB 2.0集线器交互的全速或低速设备的SPLIT事务。这些简化意味着一些EHCI数据结构可以被忽略,而其他结构的某些字段则无需填充。
这篇文档为开发者提供了一个基础的框架,以理解并实现针对特定USB设备的简单驱动程序,降低了在嵌入式系统中应用EHCI规范的复杂性。它要求读者对基本的USB规范有一定的了解,以更好地理解文档中阐述的简化方法。
2020-05-30 上传
2023-07-30 上传
2023-09-18 上传
2024-04-08 上传
2023-06-08 上传
2023-06-03 上传
2023-06-10 上传
2023-07-27 上传
baidu_28702845
- 粉丝: 0
- 资源: 4
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储