VxWorks操作系统下的USB驱动详解
需积分: 9 98 浏览量
更新于2024-08-02
收藏 179KB DOC 举报
"本文主要总结了VxWorks操作系统下的USB驱动相关知识,涵盖了USB设备的物理特性、速度标准、连接方式、设备结构以及传输类型。此外,还介绍了VxWorks中的USB协议栈结构和数据传输流程。"
在VxWorks操作系统中,USB驱动涉及到的关键点如下:
1. **USB设备物理特性**:USB设备通过4条电缆连接,包括电源线、地线、两根数据线,以及一条脉冲线。设备的速度分为低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。USB规范经历了从USB1.1(1998年)到USB2.0(2000年)的发展。
2. **连接架构**:USB设备通过PCI总线连接到USB控制器,常见的控制器类型有OHCI(Open Host Controller Interface)、UHCI(Universal Host Controller Interface)和EHCI(Enhanced Host Controller Interface)。一个USB控制器最多能连接127个设备,且单条线缆长度不超过5米,但可以通过hub扩展至30米。
3. **主机-设备通信模式**:主机(Host)与USB设备间采用主-从模式工作,所有通信由主机发起,同一时刻只有一个设备能与主机进行通信。USB物理设备可抽象为一个或多个逻辑设备。
4. **USB逻辑设备层次**:逻辑设备包含配置(configuration)、接口(interface)和端点(endpoint)。端点是数据交换的终点,类似于网络编程中的套接字。管道(pipe)是驱动与设备端点之间数据传输的通道,包括设备端点、设备号、传输方向、带宽需求和延迟要求。
5. **传输类型**:USB支持四种传输方式:
- 控制传输:用于读写设备,所有设备的端点0默认用于控制管道。
- 同步传输:适用于定时的大批量数据传输,可能丢弃数据包。
- 批量传输:确保大批量数据到达,但实际速率可能低于理想值。
- 中断传输:用于异步小批量数据,如键盘或鼠标事件。
6. **VxWorks下的USB协议栈**:主要包括四层:客户驱动、USBD、HCD(Host Controller Driver)以及硬件层的USB主控制器。数据传输路径是客户驱动创建USB_IRP包,经USBD转换为URB包,再由HCD处理成HRB包,最终由硬件执行。
7. **带宽分配**:控制传输占用10%的可用带宽,批量传输则无法达到USB的最大理论速率,导致实际传输速度低于理想值。
VxWorks中的USB驱动设计和实现需要考虑到USB设备的物理特性、通信模式、传输类型以及协议栈的层次结构,以确保高效、可靠的数据传输。理解这些概念对于开发和调试VxWorks环境下的USB驱动至关重要。
2020-06-11 上传
2012-10-23 上传
2010-07-03 上传
2010-09-20 上传
2021-05-30 上传
2008-12-02 上传
2014-03-25 上传
jjcheng2008
- 粉丝: 2
- 资源: 11
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器