USB嵌入式主机控制器设计

最新更新时间:2012-04-18来源: 互联网关键字:USB  嵌入式  主机控制器 手机看文章 扫描二维码
随时随地手机看文章

USB嵌入式主机控制器设计

过去USB仅应用于个人计算机其在嵌入式系统领域的巨大潜力尚未开发USB在嵌入式系统中的应用包括KVM开关数码相机PDA打印机机顶盒及移动电话。

  什么是嵌入式系统嵌入式系统被定义为硬件和固件--独立的或作为更大型系统的一部分--通常带有某种操作系统操作系统可以是Windows CEVxWorks或由“自编代码”构成的更简单系统根据上述定义可以认为任何带有处理器的电子装置均可以作为USB嵌入式主机。

  嵌入式系统的设计挑战

  在基于PC的系统中三种主要部件需要USB操作它们是通常作为PCI子系统部分的主机控制器USB堆栈以及USB类驱动器。

  主机控制器是集成主板芯片组的部分USB堆栈则包含主板芯片以及UCHI通用主机控制器接口OHCI开放主机控制器接口的驱动程序以及USB驱动程序(usbd.sys)实现基于PC的USB需要以上所有领域的专门技术。

  在USB嵌入式系统中其主要组成部分与PC系统类似这些组成部分为嵌入式主机控制器芯片带OHCI堆栈的实时操作系统(RTOS)以及专用驱动程序。

  现有很多可供选择的主机控制器芯片有些带有处理器有些则以寄存器为基础此处组成部分设备的选择将会影响如下两个层面。

  很多公司可提供RTOS最好选择一个处理器和与之配合工作的RTOS然后在其上添加应用代码如果没有真正的RTOS某些控制器带有可构造应用的“框架”以下介绍这种框架的示例以及如何在其上构造应用。

  在PC上实现USB时PC具有丰富的可用资源其中包括高达512MB字节的存储器20-60GB的硬盘以及2GHz或速度更快的微处理器此外五年多来WindowsMAC OS以及Unix等操作系统一直支持USB世界上有数以百计或数以千计的工程师在设计基于PC的USB应用程序和设备驱动程序。

  而另一方面嵌入式系统通常只有不超过64K的存储器以及运行于12MHz - 33MHz范围内的处理器没有硬盘由于USB对于嵌入式系统相对较新因此可能只有为数不多的工程师拥有这方面的经验。

  赛普拉斯EZ-Host控制器

  赛普拉斯EZ-Host器件拥有两个“串行接口引擎”每个引擎包含两个USB端口因此无需使用额外的硬件EZ-Host便可控制四个USB设备。

  EZ-Host器件具有固件结构可管理大多数USB主机的详细要求该结构的另一个特点是支持网络集线器键盘/集线器组合部件常常出现这样的问题是带有集线器的键盘还是带有键盘的集线器答案是带有键盘的集线器因此要了解位于集线器后的键盘需要提供集线器支持幸好框架代码包含对集线器的支持。

  以下章节将介绍框架和某些框架操作示例以及如何将其与应用代码接口。

  框架概述

  EZ-Host框架包含所有实现USB主机功能所必需的固件其中包含任务时序设备列举带宽分配以及功率管理。

  另一方面应用程序是固件控制专用USB设备并将其数据传递给最终应用。

  框架的核心是TD处理器TD处理器的运作基于称作“任务描述器”(TD)的数据结构使用其信息与USB硬件尤其是“串行接口引擎”(SIE)进行通信需要注意的是每个SIE控制两个端口而且每个SIE具有一个TD处理器。

  EZ-Host框架使用了多种数据结构实现来其操作这些结构包括TD和USB“请求模块”(URB)。

  任务描述器是传递给硬件的数据结构包含特定硬件接口如SIE的数据字段端口编号终点数收发数据缓冲器长度数据包ID编码以及URB结构指示器。

  URB包含TD所需的逻辑信息该逻辑信息包括USB设备缓冲器安装软件包以及USB设备结构指示器。

  在进行USB事务处理时URB含有事务处理分配及其装入的数据结构而后URB提交给TD处理器TD处理器将URB加入TD列表空闲时TD处理器处理TD列表安排传输时序并将设定好的TD传送给EZ-Host硬件进行处理。

图1所示为基本的USB控制传输该图表为TD处理器处理USB传输的示例


图1USB控制传输

  为了执行控制转移可以使用框架函数send_request( )send_request( )函数将分配一个传递给TD处理器的URB结构。

  URB应该包含有关设置状态的信息并且借助参数传递给send_request( )URB需要如下信息。

  请求类型 - 表示USB请求类型的字节该字节包含表示传输方向传输类型以及传输接受者的位

  请求 - 11种标准USB请求之一这些请求包括

  Clear_FeatureGet_ConfigurationGet_DescriptorGet
  _InterfaceGet_StatusSet_AddressSet_ConfigurationSet
  _DescriptorSet_FeatureSet_InterfaceSynch_Frame

  值 - 特殊请求字段

  索引 - 特殊请求字段

  长度 - 有关数据缓冲器的大小

  一旦载入用于URB的设置信息便可将其它设备信息装入URB如地址速度终点数以及传输方向还有表示传输类型的字节和“回调”函数指示器使用回调函数可以在框架内进行某些并行操作可在硬件处理USB操作的同时执行其它任务TD需要USB传输类型信息这样框架可以安排正确的传输类型的时序同样地与批量或中断传输相反框架一次只允许进行一个控制传输操作。

  装入所有的URB信息之后将URB提交给TD处理器TD处理器是框架的组成部分它与硬件直接通信处理有关传输的低级详细资料TD完成任务后TD处理器将项目控制转换为原始调用指定的“回调”函数转换为 send_request( ) 函数 。


图2send_request( )函数

  以下的图3所示为调用带回调函数的send_request( )在此例中我们使用控制传输以获得某键盘的国家代码在get_country_code( )函数中可看到send_request( )的调用注意send_request( )调用中的最后一个参数是回调函数在TD处理器确定硬件完成此次处理后执行该函数这种情况下回调函数将获得返回的数据缓冲器将其与HID描述器结构相匹配并存取与国家代码相对应的字节此后URB被释放。 


图3调用和回调函数

  EZ-Host框架值得注意的最后一个特点是设备驱动程序的使用在执行过程中设备驱动程序将执行三个功能停止启动和运行启动某设备驱动程序时便是运行它的run( )函数该函数对某些数值进行初始化并分配一个用于数据传输的重现URB对于鼠标或键盘该URB将每隔10毫秒发生一次数据传输完成后TD处理器将控制转换为 interrupt_in_complete( )函数通过检查URB可以得知数据是来自键盘还是来自鼠标这种回调函数负责将键盘或鼠标数据发送至应用层面以下是用于数据传输的回调函数示例。


图4中断传输回调函数

  当某驱动程序停止时其重现URB从TD列表中除去并释放此外消息传送至应用层面除去相关的设备如果与停止驱动程序相关的设备是集线器则与该集线器相连的所有设备也被移除并且其驱动程序停止当然如果这些移除的设备中有集线器则与该集线器相连的设备将以同样方式移除。

关键字:USB  嵌入式  主机控制器 编辑:神话 引用地址:USB嵌入式主机控制器设计

上一篇:USB入门总结
下一篇:USB的结构框架

推荐阅读最新更新时间:2023-10-12 20:39

基于FPGA的嵌入式系统USB接口设计
设计基于 FPGA 的IP-BX电话应用系统,用于传统的电话网络(PSTN)与PC机之间的 接口 连接。USB2.0 接口 器件EZ-USB FX2 CY7C68013A-56工作在slave FIFO模式,为基于 FPGA 的 嵌入式 系统与PC机之间提供数据和命令通道,从而可满足PC机与FPGA之间数据与命令的高速传输,实现PSTN与PC机之间的电话通信。硬件调试结果表明系统工作稳定,通话质量满足要求。 关键词:接口;FPGA;USB2.0;slave FIFO 通用串行 总线 USB(Universal Serial Bus)是应用于PC领域的接口技术,已得到广泛应用。USB2.0已成为目前电脑中的标准扩展接口。
[模拟电子]
USB协议深入分析 设备描述符配置包
设备描述符配置包 http://blog.csdn.net/caimouse/article/details/1558975 在USB通讯里,从主控器发出来的第一个配置包就是设备描述符配置包,目的只有一个,就是获取插入的USB属性,以便加载合适的驱动程序。现在就来详细地分析一下设备描述符包的定义。 在USB2.0的协议里找到9.3 USB Device Requests里就找到这个结构的定义,这里我使用C的定义结构如下: typedef struct _USB_SETUP_PACKET { REQUEST_TYPE bmRequestType; BYTE bRequest;
[单片机]
基于OMAP架构的嵌入式指纹识别系统设计与应用
  引言   生物认证技术是信息时代的重要产物之一。人体生物特征具有唯一性与稳定性,因此,人们开发了指纹、脸型、语音、虹膜、遗传基因(DNA)结构等多种生物特征识别技术。在各种生物特征中,指纹的特征性能优异,指纹识别技术也正日趋成熟。因此,针对汽车安防领域的市场需求,本文设计了一种基于OMAP架构的嵌入式指纹识别系统。该系统识别率高、处理速度快、可扩展性强,必然有着广阔的应用前景和研究价值。   开放式多媒体应用平台OMAP   TI公司的OMAP(Open Multimedia Applications Platform)平台是基于DSP的开放式多媒体应用平台。它采用双核结构,把高性能低功耗的DSP核与控制性能
[安防电子]
基于USB2.0集成芯片的H.264解码器芯片设计
H.264/AVC标准具有一系列优于MPEG4和H.263的新特性,在相同的重建图像质量下,H.264比H.263节约50%左右的码率。但是节约码率的代价是增加了算法复杂度。由于仅用软件已经无法实现实时地解码过程。所以必须利用硬件加速,这正是本解码器设计的初衷。 虽然H.264相较同质量的H.263图像,码率节约一半,但是由于本解码器的目标是解决H.264的高清图像(1080i)的解码工作,同时也要适用于普遍的视频外设,所以选用的接口既需要完成高速的码流源文件的传输工作也要易于插拔。而USB接口恰好符合这两个条件。高质量的源码文件数据量较大,对传输接口要求较高。并且在FPGA的仿真环境下,USB接口还要担负起向PC上位机回
[单片机]
ST在嵌入式技术大会上展示机器人模型和嵌式系统解决方案
随着物联网(IoT)逐渐融入人们的生活,联网的嵌入式系统变得日益重要。横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)在2017 年嵌入式技术大会暨展览会(ET2017)上展示了其最新的嵌入式系统解决方案,包括由各种意法半导体芯片组成的机器人模型。 工业机器人和家用机器人是高集成度的嵌入式系统,其计算能力、实时响应和高精度感知力需要使用多种半导体芯片,意法半导体拥有研制机器人所需的全部半导体产品。在ET2017展会上,意法半导体展出了一个人形机器人模型。该机器人能够测量机器人与障碍物的距离,检测停止、转向、手臂伸缩等姿势动作,检测温度变化和气
[嵌入式]
ST在<font color='red'>嵌入式</font>技术大会上展示机器人模型和嵌式系统解决方案
基于电话网的嵌入式远程控制器的设计
1 引言 随着工业自动化水平的提高,远程控制成了应用越来越多的控制手段,常用的远程控制方式有基于以太网、GPRS、GSM短消息、电话网等。电话网络是覆盖面最广的网络,且电话通信的费用低廉,这就为利用电话网进行远程控制提供了可能。本控制器采用性价比较高的单片机AT89C51作为中控CPU控制 MT8870对电话按键的双音多频信号进行解码,来实现通过对电话按键的操作来控制远端的被控对象,通过可录放语音芯片ISD1110来播放提示语音。设计实现了操作简单、安装方便,低成本的嵌入式远程控制器。该控制器能够检测电话振铃信号,自动模拟摘机,操作者根据语音提示就可以很方便的查询被控对象的运行状态,操作电话按键就可以改变被控对象的运行状态。
[单片机]
基于电话网的<font color='red'>嵌入式</font>远程<font color='red'>控制器</font>的设计
USB接口的数字摄像系统设计
    摘要: 讨论了基于USB(Universal Serial Bus)接口的数字摄像系统的实现。该系统使用CYPRESS公司的EZ_USB系列芯片,并利用其开发板来实现数字摄像系统。该系统完全符合USB1.1协议,是一个新型的多媒体设备。     关键词: USB 摄像系统 I2C总线 固件 USB作为一种新的扩展接口,主要致力于计算机-电话一体化和应用类消费产品。它的数据传输率比标冲串/并口高。USB总线具有时分复用的特点,多个不同速度的USB外设可以通过集线器同时连接到同一台计算机的同一个USB口上,在USB总线带宽允许的情况下,多个外设可以同时工作而不相互影响。USB传输速率适用于中
[应用]
STM32F107 USB作为device的插拔检测
在USB的协议里,只有主机和HUB具有设备移出检测功能,作为从设备(device)往往不具有设备断开连接的检测,需要自己设计一种检测机制,判断USB主设备是否与之断开。STM32的USB是OTG设备,既可以作为主机也可以作为设备,当其作为设备通过USB与PC通信时,可能会需要STM32检测是否与PC断开连接,这时候不可以向PC发数据,在PC连接上时,可以继续USB通信。 检测USB断开连接的方法有多种,USB在断开时会有SUSPEND中断,但是USB总线上没有数据时,主机也可以将其挂起,产生SUSPEND中断,所以这种方法不可靠,另外就是PC定时向USB device发送数据,当USB device没有收到数据时即可认
[单片机]
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved