基于VxW0rks操作系统的USB 2.0驱动分析

发布者:数字狂想最新更新时间:2011-06-13 关键字:VxW0rks操作系统  USB  2.0  驱动分析 手机看文章 扫描二维码
随时随地手机看文章
  引 言   
 
  通用串行总线(universal setial bus)是一种计算机外围串行通信接口,具有高速数据传输、热插拔、即插即用(PnP)、成本低等特点。随着USB规范的日趋完善和成熟,测量仪器中也已经开始使用LISB作为其标准的外围接口。VxWorks操作系统以其良好的可靠性和卓越的实时性在仪器仪表领域得到了广泛应用,本文针对Vx-works操作系统下最新的USB 2.O驱动程序进行了分析,为基于VxWorks的仪器仪表使用USB 2.0总线提供了技术参考,并结合作者开发某仪器过程中遇到的问题,给出了使用注意事项。

1 USB 2.0驱动程序模型结构   

USB体系结构是基于主从结构的,USB的驱动程序设计指的是主机端的驱动程序。图1给出了VxWorks操作系统下USB主驱动栈各模块之间的功能关系。

在栈最底层的是硬件:USB主控制器(USB host con-troller),USB主控制器在嵌入式主机系统中控制USB,实现USB主机功能。目前,USB控制器主要有3类:   

(1)(UHCI,universal host controlle interface)通用的主控制器,由Intel最先设计并制定相应规范;   

(2)(OHCI,open host controller interface)开放的主控制器,由Microsoft,C2ompaq和National Semicondtlctor最先设计并制定相应规范;   

(3)(EHCI,enhanced host controller interface)增强的主控制器,该控制器支持USB2.O。

每一主控制器在其上都有相对应的主控制器驱动程序(HCD),这些设备驱动程序与底层的硬件相关,为上层提供统一的功能接口。

USB主机驱动(USBD)与底层硬件无关,通过HCD与底层控制器通信。USBD管理连接到主机上的每一个USB连接,并提供高层与USB设备通信的通道。除此之外,USB[)还自动对USB设备进行电源管理和分配带宽。在USB系统中,集线器(HUB)对USB系统的正常操作起到关键性作用,因此USBD直接对集线器进行控制。这就意味着USBD还具有控制USB设备和集线器动态插拔的能力。

在主机栈的最顶层是USB设备驱动程序。设备驱动程序依赖USBD提供的通信通道,驱动连接到USB系统中的USB设备。

OSAL为LJSB主机栈提供了与VxWorks操作系统相关的操作,包括任务管理、互斥及信号灯、内存分配以及系统时钟。

通过图1的结构,可以看出USB主机栈的设计关键是USB主机驱动(USBD)的设计,USBD为USB设备驱动程序提供标准的USBD API;为主机控制器驱动提供HCDAPI。

2 USB主机栈启动过程   

USB主机栈的启动分为3步:   

(1)初始化LJSB主机驱动(USBD);   

(2)加载USB主控制器驱动(HCD);   

(3)加载USB设备驱动程序。

集成开发环境(IDE)下可以通过工具进行配置,其步骤如下所述:   

(1)包含USB主机栈USB Host Stack组件,通过在工程中包含USB主机栈完成对USBD的支持。在系统启动时对USB主机驱动进行初始化需要包含USBHostStack Init组件;   

(2)包含主机控制器(HC),根据具体设计选用相应的控制器。一般在嵌入式模块的手册中都有其模块控制器的类别。在系统启动时对主机控制器进行初始化需要包含相应控制器的初始化组件;   

(3)包含设备驱动,根据设计的需求选择相应的设备驱动。

通过上述配置生成的VxWorks系统中带有USB主机栈,可以完成USB2.0主机功能。3 USB主机驱动(USBD)分析在使用USBD提供的接口之前,首先需要对USBD进行初始化,USBD的初始化分为3步,其步骤如下:   

(1)调用USBD的入口函数lasbdInit(),usbdInit初始化USBD用到的数据结构;   

(2)调用13SB集线器(HUB)的初始化函数lasbHu-blnit(),初始化集线器驱动的数据结构;  

(3)使用函数usbHCDlnit()挂接相应的主机驱动器。

对于每一个挂接到USBD上的主机驱动程序,集线器驱动程序都会为其创建一个优先级为100的任务来监视USB总线上的事件。这个任务一直处于睡眠状态,一旦集线器上的某一个端口状态发生改变,该任务立即被激活。由于该任务的优先级为100,可以立刻获得资源变为运行状态将总线状态告知USBD。

USB设备类驱动需要首先在USBD中注册,USBD为每一个设备类维护着一个设备类结构,它的定义如下:

当USB设备插入或拔出USB系统时,集线器驱动程序将USB设备插入或拔出的信息通知USBD,USBD)根据得到设备信息(例如:设备类号,子类号,协议号等)查找设备驱动程序列表,查找到该设备的驱动程序后,调用USB设备的相应函数,进行设备的相应操作。 当一个设备类不在系统中使用时,通过撤销函数来撤销注册,该操作的实质是删除相应设备类的设备类结构。

4结束语   

本文介绍的VxWorks操作系统下USB2.0驱动程序已经成功在国内某高性能频谱分析仪中使用,在使用过程中有以下几点注意事项:   

(1)通过分析USB主机栈启动过程,可以对USB主机栈原理进行研究;   

(2)为考虑USB系统的可移植性,VxWorks提供的源程序并没有基于平台做处理。当使用X86平台时,需要修改相应的PCI设置以适应X86平台下的PCI机制。具体方法:修改usbPciStub.c定义:

(3)在使用EHC时,一定要注意系统中使用的USBI.1的控制器是什么类型,并将相应的驱动程序组件加到VxWorks的Image中。

关键字:VxW0rks操作系统  USB  2.0  驱动分析 引用地址:基于VxW0rks操作系统的USB 2.0驱动分析

上一篇:USB3.0的物理层测试解决方案
下一篇:简谈现场总线与DCS的网络集成

推荐阅读最新更新时间:2024-05-02 21:26

USB总线正在同步相量丈量单位中的操纵
  1 引行   同步相量测量单位(PMU)测量装配取上位较量争辩机之间的通信速度普遍较低,没有克没有及将测量数据及时传送到上位机进行分解处置处罚,通信接口已成为整个体系机能提高的一个瓶颈,是以有必要使用一种传输速度、时延、稳定性均能满足同步相量测量数据传输的通用接口。   采取USB接口作为上位机取下位机的通信接口体例可以解决这些题目。操纵USB接口中止传输速度年夜,时延小,没有对率极低的特面去完成及时相量数据的传输。正在USB接口的实践操纵中,驱动法度圭臬标准的斥地是最为困难的局部,由于USB接口降生较晚,而今尚未成为多半单片微机的标准设备,借需求使用专门的接口芯片进行跟尾,用户必须编写相应的驱动法度圭臬标准将数据转化为
[嵌入式]
USB接口电路保护设计方案
PPTC(聚正温度系数)装置是对电脑及有关装置提供电流过载保护的一种既可靠又经济的解决方案。由于这种装置设有各种尺寸和功率范围,让电路设计者可以选择最合适的款式以满足电路设计和USB规范的需求。   现时的USB技术使得各种能够自行识别的外部设备与电脑联接,并自行装载驱动程序以运行新的装置。而一般即插即用装置,需要有电源的USB接口进行数据传输并提供电源。当发生短路或连接了受损设备时,如受损的电缆或联接头插入USB接口时,必须对USB集线器及主机装置提供有效保护。由于这种情况在PC或集线器的使用过程中经常发生,USB规范中要求对装置进行可复式电流过载保护,特别指出"PPTCs"是理想的保护技术。   USB装置可归类为向USB提供额
[嵌入式]
硕盟USB3.0 转RJ45千兆免驱网卡
产品介绍 硕盟SM-A44是一款USB3.0转RJ45千兆网口转换器。这是一种高性能和低开销的解决方案。转换USB端口到10 / 100/ 1000M以太网端口可以让您的笔记本,台式机电脑能够通过USB接口连接千兆端口快速访问以太网网络。无需购买昂贵的千兆网络接口和备件的PCI或CardBus插槽,只需使用现有的USB端口,就可以升级您的网络连接速度。 接口功能说明 1.支持1000Mbps/100Mbps/10Mbps有线以太网连接网络; 2.不需要额外的驱动程序软件,自动驱动程序安装; 3.支持双绞线交叉检测和自动校正USB总线电源(没有外部电源) 4.USB供电,不需要额外的电源供电 5.支持计算机系统 Windows:
[嵌入式]
USB-C和PD标准的演进 – 对设计工程师来说是把双刃剑
USB-C(Type-C) 已经成为街谈巷议的热门话题,重要的原因是因其能够实现更高的性能,为用户提供便利,并为希望为其设备供电或传输数据的设计人员和制造商提供易用性。 然而,USB-C不仅仅是如从USB 1.1到USB 2.0,或USB 3.0到最新的USB 3.1发展的标准的最新进展。USB-C还是关于物理接口设计的-它正成为流行的物理接口! 事实上,所有迹象正在表明USB-C正成为众多领先制造商和设备类型的默认接口。但是从设计的角度来管理对USB-C的更新可能会带来复杂的挑战。 对于工程师来说,设计具有不断发展的USB规范和物理形式的产品并非易事。他们也很难把有限的资源花在一个项目上,并核实它的功能和特性,而
[嵌入式]
<font color='red'>USB</font>-C和PD标准的演进 – 对设计工程师来说是把双刃剑
驱动USB认证模块在电子商务中的应用
摘要:USB作为一种新型的接口技术在电子商务平台有其独特的优势。本文主要介绍关于无驱动型USB产品HID接口的设计过程,讨论产品的软硬件开发过程中的一些问题,给出参考示例代码。 关键词:USB 人机接口设备(HID) 电子商务 安全认证 接口技术 USB是由Compaq(康柏)、DEC、IBM、Intel、NEC、微软以及Northern Telecom(北京电讯)等公司于1994年11月共同提出的,自1995年在Comdex上亮相以来至今已广泛地为各PC厂家所支持,近年来应用日益广泛。 但是,国内的USB产品还是相对较少。首先,是硬件开发系统的问题,国内没有自己USB芯片产品,所有的关于USB接口方面的芯片全部由国外供给,
[应用]
USB电脑数字电视技术(PCTV)
电视作为一种最为广泛的信息传播媒体正迅速走进数字化时代。 特别是基于无线传输的地面数字电视, 更使移动数字电视成为可能, 实现电视无处不在. 它不仅将刷新电视媒介的概念。 更将极大地改变我们的生活方式, 因而成为近年来年技术及产业发展的热点。 数字电视, 特别是移动数字电视, 的终端形式是多样化的。 而电脑 (包括笔记本电脑, 台式电脑, 掌上电脑等)则是数字电视的一种重要的终端形式。 本文全面介绍电脑电视(PCTV)的概念, 技术, 以及国内外发展状况。 一 数字电视及移动数字电视 数字电视指的是从电视音视频信源, 到传输, 再到接收处理及显示全面数字化的电视广播系统。 具体来说, 信源数字化 - 利用先进的音视频信号数
[嵌入式]
USB电话,一种省钱的新玩意儿
日前,基于Skype软件的电话甚为风行,因为它可通过电脑拨打电话到对方座机,不分长短途,只须付本地电话费。但是碍于它必须通过头戴耳机,且需要对电脑进行操作才能完成,方便性大打折扣。在此次国际集成电路展(IIC-China)上,我们看到来自台湾地区的松翰科技推出一系列针对此类应用的USB电话令人眼前一亮。 松翰科技展示的USB电话只需将USB连接线的一头插入电脑,一头插入USB电话,用户就可手拿USB电话通话,感觉与普通电话一样。他们还在针对该应用拓展了系列方案,包括USB VOIP带显示方案、USB VOIP不带显示方案、内置U盘USB电话方案、USB VOIP+无绳电话方案、USB VOIP加PSTN电话方案,并且拓展到视频的
[焦点新闻]
意法半导体(ST)发布USB Type-C和电力传输接口
中国,2016年1月14日 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了一款新的USB Type-C和电力传输接口芯片解决方案。目前,电脑、手机、平板电脑、电视机、机顶盒、游戏机、各种消费电子产品、工控设备以及物联网装置在办公室和家庭里随处可见,然而不同类型的充电器、电源线、数据线相互缠绕,往往使得办公室和居室显得很凌乱,而意法半导体的接口芯片则有助于解决这一困扰。 USB Type-C接口和新电力传输标准(Power Delivery)修改了USB子系统,将其从一个供电能力有限的数据接口,变成一个主要的供电接口、同
[嵌入式]
意法半导体(ST)发布<font color='red'>USB</font> Type-C和电力传输接口
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved