USB设备的Bulk模式驱动程序设计2
2006-05-10 11:04
337 查看
USB中断服务程序
USB控制器产生单一中断,多个端口共享。每个端口产生ACK、NACK/ERROR中断。输出端口产生接收零字节包或短包中断。控制端口0接收设置包时产生中断。USB控制器产生USB事件中断,如帧起始(SOF)、挂起、恢复和复位。
USB中断服务程序执行下列步骤:
(1) 识别发生了USB中断的类型。
(2) 清除中断产生的条件。
(3) 读USB状态寄存器,获取当前配置、接口或帧起始时间戳状态信息。
(4) 向USB控制器消息队列或回调函数的接收消息队列发送一条消息。
USB标准事件处理程序
USB驱动器初始化后,启动USB标准事件处理程序负责处理枚举过程和异步USB事件。
事件处理程序使用控制端口0,直到完成枚举过程。当USB应用程序处于非活动状态时,除控制端口0以外端口均不可访问。事件处理程序在端口0上执行控制操作,响应USB标准请求,并负责通知USB应用程序枚举完成和接口活动状态,USB事件通过回调接口传递到USB外设应用程序。当对USB端口枚举操作完成,USB应用程序就可打开并使用USB端口。
处理一个USB任务的执行过程为:
(1) 读取USB控制器消息队列。
(2) 如果接收到设置包,则调用标准请求处理函数。
(3) 如果接收到事件,则调用USB事件处理函数。
(4) 确定当前状态和有效配置/接口。
(5) 更新USB控制器和端口数据结构。
(6) 重复(1)~(5)步骤。
USB回调接口程序
回调应用程序接口是向应用程序提供反馈信息的一种接口,包括向应用程序通知USB事件的消息,如复位、配置改变、接口改变、挂起、恢复和帧起始。使用USB的应用程序要以下列方式回应这些消息:
(1) 复位 关闭端口,等待枚举测试。
(2) 配置改变 关闭端口,按新配置打开端口。
(3) 接口改变 关闭端口,从新接口打开端口。
(4) 挂起 进入低功耗模式。
(5) 恢复 退出低功耗模式。
(6) 帧起始 执行应用程序规定的处理。
总结
本文提供了进行USB端口Bulk模式驱动程序设计的过程,实现在USB接口设备与Host主机之间进行高速数据传输,对于嵌入式环境以及windows多线程环境下的USB设备的高速数据传输同样适用。
USB控制器产生单一中断,多个端口共享。每个端口产生ACK、NACK/ERROR中断。输出端口产生接收零字节包或短包中断。控制端口0接收设置包时产生中断。USB控制器产生USB事件中断,如帧起始(SOF)、挂起、恢复和复位。
USB中断服务程序执行下列步骤:
(1) 识别发生了USB中断的类型。
(2) 清除中断产生的条件。
(3) 读USB状态寄存器,获取当前配置、接口或帧起始时间戳状态信息。
(4) 向USB控制器消息队列或回调函数的接收消息队列发送一条消息。
USB标准事件处理程序
USB驱动器初始化后,启动USB标准事件处理程序负责处理枚举过程和异步USB事件。
事件处理程序使用控制端口0,直到完成枚举过程。当USB应用程序处于非活动状态时,除控制端口0以外端口均不可访问。事件处理程序在端口0上执行控制操作,响应USB标准请求,并负责通知USB应用程序枚举完成和接口活动状态,USB事件通过回调接口传递到USB外设应用程序。当对USB端口枚举操作完成,USB应用程序就可打开并使用USB端口。
处理一个USB任务的执行过程为:
(1) 读取USB控制器消息队列。
(2) 如果接收到设置包,则调用标准请求处理函数。
(3) 如果接收到事件,则调用USB事件处理函数。
(4) 确定当前状态和有效配置/接口。
(5) 更新USB控制器和端口数据结构。
(6) 重复(1)~(5)步骤。
USB回调接口程序
回调应用程序接口是向应用程序提供反馈信息的一种接口,包括向应用程序通知USB事件的消息,如复位、配置改变、接口改变、挂起、恢复和帧起始。使用USB的应用程序要以下列方式回应这些消息:
(1) 复位 关闭端口,等待枚举测试。
(2) 配置改变 关闭端口,按新配置打开端口。
(3) 接口改变 关闭端口,从新接口打开端口。
(4) 挂起 进入低功耗模式。
(5) 恢复 退出低功耗模式。
(6) 帧起始 执行应用程序规定的处理。
总结
本文提供了进行USB端口Bulk模式驱动程序设计的过程,实现在USB接口设备与Host主机之间进行高速数据传输,对于嵌入式环境以及windows多线程环境下的USB设备的高速数据传输同样适用。
相关文章推荐
- USB设备的Bulk模式驱动程序设计
- USB设备的Bulk模式驱动程序设计
- USB设备的Bulk模式驱动程序设计
- USB设备的Bulk模式驱动程序设计1
- USB设备的Bulk模式驱动程序设计
- USB设备的Bulk模式驱动程序设计
- USB设备的Bulk模式驱动程序设计
- USB设备的Bulk模式驱动程序设计
- USB设备驱动程序设计
- [转载]USB HID设备驱动程序设计
- USB设备驱动程序的设计
- USB HID设备驱动程序设计
- 32位Windows操作系统下WDM型USB设备驱动程序设计
- Linux USB设备驱动程序设计 和 USB下载线驱动设计
- linux字符设备驱动程序的设计之休眠
- USB设备驱动程序导读
- USB协议浅析和USB设备设计简介
- linux字符设备驱动程序设计概述
- USB设备驱动程序导读(7)
- 11.LED驱动程序设计(1)-字符设备控制