Windows USB 驱动程序接口
系统中的USB的驱动程序完成许多的工作。
实际上对于一些HID的USB设 备,象键盘,鼠标和游戏操纵杆之类的设备可以自动的被系统识别并且支持.而除此之外的设备就需要自己写一个驱动程序来完成硬件和软件之间的联系。在核心模 式(kernel mode)下,驱动程序用IOCTL来组织和操作一些由其他部分发过来的要求和命令。而IOCTL又是通过URB(USB request blocks)来实现数据的传送的。
在正式的介绍USB的驱动程序之前,先还是来看看USB的物理和逻辑结构。
传输方式
在USB的数据传送的方式下,有四种的传输方式:控制(Control)同步 (isochronous)中断(interrupt)大量(bulk)。如果你是从硬件开始来设计整个的系统,你还要正确选择传送的方式,而作为一个驱 动程序的书写者,就只需要弄清楚他是采用的什么工作方式就行了。
通常所有的传送方式下的主动权都在PC边,也就是host边。
控制(Control)方式传送:控制传送是双向传送,数据量通常较小。USB系统软 件用来主要进行查询、配置和给USB设备发送通用的命令。控制传送方式可以包括8、16、32和64字节的数据,这依赖于设备和传输速度。控制传输典型地 用在主计算机和USB外设之间的端点(Endpoint)0之间的传输,但是指定供应商的控制传输可能用到其它的端点。
同步(isochronous)方式传送:同步传 输提供了确定的带宽和间隔时间(latency)。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。例如执行 即时通话的网络电话应用时,使用同步传输模式是很好的选择。同步数据要求确定的带宽值和确定的最大传送次数。对于同步传送来说,即时的数据传递比完美的精 度和数据的完整性更重要一些。
中断(interrupt)方式传送:中断方式传输主要用于定时查询设备是否有中断数 据要传送。设备的端点模式器的结构决定了它的查询频率,从1到255ms之间。这种传输方式典型的应用在少量的分散的、不可预测数据的传输。键盘、操纵杆 和鼠标就属于这一类型。中断方式传送是单向的并且对于host来说只有输入的方式。
大量(bulk)传送:主要应用在数据大量传送传送和接受数据上,同时又没有带宽和间隔时间要求的情况下,要求保证传输。打印机和扫描仪属于这种类型。这种类型的设备适合于传输非常慢和大量被延迟的传输,可以等到所有其它类型的数据的传送完成之后再传送和接收数据。
USB将其有效的带宽分成各个不同的桢(frame),每桢通常是1ms时间长。每个 设备每桢只能传送一个同步的传送包。在完成了系统的配置信息和连接之后,USB的host就会对不同的传送点和传送方式做一个统筹安排,用来适应整个的 USB的带宽。通常情况下,同步方式和中断方式的传送会占据整个带宽的90%,剩下的就安排给控制方式传送数据。
关键字:Windows USB 驱动程序 接口 传输方式
编辑:神话 引用地址:Windows USB 驱动程序接口及传输方式
推荐阅读最新更新时间:2023-10-12 20:39
基于USB接口的无线数据传输系统的设计
引言
通信是信息的交换平台,在人们的工作和日常生活中起着重要的作用。传统的通信技术是通过数据线和串口/并口将设备连接在一起,这样就存在布线困难和其它不方便的因素。而且传统的RS232串口通迅和并口通讯都存在传输速度低、接口的连接过于复杂等不足。本文所设计的基于USB接口的无线数据传输系统利用了USB接口的高传输速率、即插即用等优点,并结合了无线数据传输技术,实现了计算机之间的无线数据通讯,解决了传统通信技术带给我们的不便。
系统硬件设计
基于USB接口的无线数据传输系统总体方案如图1所示,该系统由发射和接收两部分组成。其中,发射(接收)系统由单片机控制射频发射模块和单片机控制USB芯片两部分组成。系统的工作过程为:主机
[嵌入式]
Windows CE下串行通信的实现
摘要:Windows CE是微软公司推出的一种嵌入式的操作系统、用于系统资源有限的小型设备。它采用模块化的结构,支持多种外部接口,包括最常用的RS232串行接口。本文就Windows CE系统串行接口的编程进行讨论,并给出与GPS设备的接口程序。
关键词:Windows CE 串行通信 GPS
1 Windows CE简介
Windows CE是一种小型的、基于ROM的、具有Win32子集API的操作系统。它的优势在于小尺寸、Win32 API子集和对多平台的支持能力。在Windows CE下编程需要注意的是,Windows CE设备的资源很少,存储器、显示器都很小,接口也比较少,而且根据实际情况变化很大。另外,Windo
[嵌入式]
利用ASP实现气象短信USSD接口访问
引言
多年来,气象短信业务已成为重要的气象公共服务形式,实用、便捷、权威是其在竞争激烈的信息服务业站稳脚跟的重要因素,它在指导人们生产生活及社会防灾减灾中已经发挥重要作用。因受国家对信息业管理多重限制,用户获取气象短信的方式目前主要靠上行指令的方式,用户需要记住繁琐的指令以及SP特服号码,不方便用户操作,尤其是定制业务,需要二次确认过程,大大增加了用户操作的复杂度。USSD(非结构化补充数据业务)是一种新兴的交互式短信平台技术,通过USSD方式进行操作,直观便捷,用户轻松即可完成相关需求。笔者根据山东移动气象短信平台现状,利用ASP脚本程序与USSD网关进行链接,可以实现数据传输,完成相关业务操作,并根据相
[网络通信]
从USB获得高效的双轨电源
设计5V以外 电源 的小功率USB电路时,您必须确定是使用独立电池,还是使用来自主机的小型电源。如果电路需要大于5V的双轨电源(如采用了基于运放的仪表 放大器 ),或必须用于便携计算机如笔记本电脑上,则问题就更复杂了。 USB2.0标准规定了对连接设备的功率要求,即耗电最大100mA,视为小功率;耗电最大500mA,则视为大功率。本文所述电路原用于一个热致发光(TL)仪器设计,设计中的 微控制器 、USB接口控制器,以及10个运放均作为小功率器件,从一个USB端口获得全部电源。 设备的运行需要有高性能、低噪声拾取,使系统射频辐射尽可能低。在搭建电路以前,做过仿真与验证,然后用于TL系统。本设计的吸引力在于,由于它采
[电源管理]
液晶显示屏模块1602驱动程序源代码
液晶显示屏模块1602驱动程序源代码
//lcd1602 drive program for 51 mcu //designed by Wangchao //2006-6-14
#i nclude "reg52.h" /********************************************************************/ //lcd part #define LINE1 0 #define LINE2 1 #define LINE1_HEAD 0x80 #define LINE2_HEAD 0xC0 #define LCD_DELAY_TIME 40 #define
[单片机]
ARM和WinCE6.0下nRF24L01的驱动设计
引言
nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM频段的单片无线收发器芯片。它在无线数据通讯、无线门禁、遥感勘测、工业传感器和玩具中都有应用。
随着测控技术的发展,nRF24L01与单片机组成的系统进行无线测控的实例已经有很多,如基于nRF24L01的无线温度监测系统、基于nRF24 L01的近距离无线数据传输系统等等。近年来,随着ARM和嵌入式WinCE系统的迅速发展,由于在WinCE系统下nRF24L01和ARM的通信缺乏驱动,致使两者之间不能直接通信,一般的解决方法是借助于第三方单片机的串行口来进行两者的通信。这种方式的不足之处在于,由于要借助于第三方单片机,使得成本增加且通信速度下降。nRF
[单片机]
3.点亮第一盏LED灯
看懂原理图——编写驱动程序 LED模块: 由图可知,LED阳极串联一个电阻(起到限流的作用),连接VCC,阴极连接P2口,点亮一盏LED需要对相应的IO赋予低电平(因为阳极VCC相当于高电平) 给某个引脚取名: sbit 变量名=地址值 (例如sbit led=P2^0,即为将P20口命名为led,而不能写成P2.0) 程序: #include reg51.h sbit led=P2^0;//第一盏led灯 void main() { while(1) { led=0;//设置led为低电平 } }
[单片机]
莱迪思推出业界首款集成USB的小型嵌入式视觉FPGA
— 业界首款拥有硬核USB的人工智能&嵌入式视觉应用FPGA,拓展小型、低功耗FPGA产品系列 — 中国上海——2023年9月27日—— 莱迪思半导体公司,低功耗可编程器件的领先供应商,今日宣布推出莱迪思CrossLinkU™-NX FPGA产品系列,这是业界首款同级产品中集成USB器件功能的FPGA。 CrossLinkU-NX FPGA通过硬核USB控制器和物理层(PHY)、独特的低功耗待机模式和一整套参考设计,加速设计配备了USB的系统并简化散热管理。CrossLinkU-NX FPGA拓展了莱迪思在嵌入式视觉传感器与USB主机接口领域的领先地位,旨在满足不断增长的客户需求,简化计算、工业、汽车和消费电子市场应用中
[嵌入式]