利用嵌入式USB主控进行设计

发布者:atech123最新更新时间:2013-10-26 来源: dzsc关键字:USB主控  映射关系  系统处理器 手机看文章 扫描二维码
随时随地手机看文章

      USB(通用串行总线)于1995年面世,目前已发展成为一种解决个人计算机与外设连接问题的事实标准。由于USB的应用极为广泛,因此对嵌入式系统的总线外部扩展与连接应用来说,它也有着巨大的吸引力。

      如今,集成USB主控后,嵌入式产品(如测试设备等)就可以和各种价格低廉、获取方便的外设实现连接,如键盘、鼠标和打印机。对同时扮演USB主端、外设(从端)双重角色的USB主控装置的需求,在移动装置迅速流行的推动下也在不断增长。具有双重身份的这些装置,可以让PDA、打印机等传统USB外设在无PC的情况下直接实现相互通信。

      USB之所以广受欢迎,其原因主要在于使用的方便性。消费者不论何时、把何种USB装置插入PC中,它都可以实现无缝工作。这种即插即用能力的实现,离不开各式各样的USB主端装置以及Microsoft Windows中驱动软件的有力支持,但在嵌入式应用环境中却还找不到这样的支持。

      我们从不同层次上对USB通信流进行考察,就会发现完整的USB主控系统要包含如下三种基本要素:

      传统的USB主控设计将整个主控系统划分为主端控制器(host controller)和控制器之外的整套USB软件。图1示出了USB主控系统组成单元与传统的主机体系结构间的映射关系。

      主端控制器一般制作成单独的一块芯片,其中包括了物理和数据链路层硬件(如USB收发器)、SIE(串行接口引擎)等,以及一个可以附加到系统处理器上的总线接口。USB固件(主控栈和装置驱动)驻留在带有USB主端控制器的系统处理器中。

      USB硬件和固件的分离反映了一个现实:USB从根本上来说是一种PC总线的外部扩展机制。从USB固件的角度来看,PC提供了无穷无尽的系统资源。此外,PC行业已经实现标准化,统一于一个OS平台——Microsoft Windows,而这一操作系统天生就具备支持USB主控栈和装置驱动的能力。由于拥有极为丰富的系统资源和软件支持,所以传统的USB主控体系结构是PC应用的一种理想的解决方案。

      相形之下,嵌入式系统的设计者们若要把传统的USB主控移植到嵌入式装置中,却需要理清多方面的问题。嵌入式设计的挑战,根源在于把USB固件与嵌入式应用及其基础计算平台集成为一体时所需解决的复杂问题。

      首先,嵌入式装置一般带有的系统资源(系统处理器和存储器)容量有限。在系统处理器上运行USB主控固件,不仅会占用目标应用的资源,而且还会造成对应用固件的大量反复写入和优化。

      其次,嵌入式应用一般要对实时事件作出明确的响应。把USB固件添加到系统中,就会增加复杂性,导致在实时应用的设计和调试中出现更多中断和实时事件。

      最后,嵌入式市场具有种类繁多的处理器和实时操作系统。将USB固件开发和移植到任何特定处理器/实时操作系统平台的努力都将花费大量时间,而且需要工作人员在USB技术上具有很高的专业技能。由于USB规范的内容繁多,因此,对于一个设计周期为6~12个月的典型嵌入式项目来说,学习过程实在过长,也过于艰深。

      克服嵌入式装置中USB主控设计的复杂性问题,方法之一就是把与USB即插即用能力相关的智能揉入USB主端控制器本身之中。要做到这一点,所采取的办法是:

      该设计方法,可以为我们带来一个无需系统处理器干预就能处理USB主控活动的USB主端控制器。它不仅让系统资源的消耗降至最低,而且也将通过系统总线的USB数据流减至最小。

      这种设计方法的另一个好处则是简化了所生成的API。API的设计将简单易行,并且独立于处理器和实时操作系统,从而有效地降低了API集移植和集成的难度。

      相应的,任何一种专用USB装置驱动都可以由这一不大的API集开发而成。为了进一步降低USB主控实现的复杂程度,USB装置的驱动也应该以独立于处理器/实时操作系统的API形式建立,并呈现给系统设计者。装置驱动API可让已有的和新出现的嵌入式应用很快集成USB主控功能。

      Atmel公司的AT43USB370 USB主控/功能处理器的设计,采用了上文提到的设计方法,其目标就是将复杂的USB问题屏蔽掉。下面的实例将向读者表明,利用AT43USB370 海量存储装置驱动API,开发一个海量存储器应用只需少数几个步骤即可。设计目标是从相连的USB储存装置的根目录下读取一个文件。

      file://step1: 等待装置完成盘点 
      connectStatus = MS_Get_Final_Stat(); 
      DeviceAddr = connectStatus.Dev_Addr; file://装置地址 
      DriveNum = connectStatus.Part_Num;//分区数 
      // Step2:获取根目录的内容 (ID 0x00) 
      cmdResponse = Get_Dir(DeviceAddr,DriveNum,0x00); 
      CommandId = cmdResponse.CmdId; 
      getDirStatus = MS_Get_Final_Stat(); file://等待目录信息 
      if (getDirStatus.Get_Cmd_Id == CommandId) 
      { 
      file://目录信息采取getDirStatus.pDir_Buff结构 
      } 
      // Step 3:为文件内容安排缓冲 
      int* pMSC_File =(int*)malloc(0x00008023*(sizeof (unsigned char))); 
      // Step 4:将文件内容读到缓冲器内 
      // ID据报为 0x0000F17C,大小= 0x8023 
      cmdResponse = Read_File(DeviceAddr,DriveNum , 
      0x0000F17C,pMSC_File, 0x00008023); 
      CommandId = sreadIntCmdResponse.CmdId; 
      readStatus = MS_Get_Final_Stat(); 
      if (readStatus.Get_Cmd_Id == CommandId) 
      { 
      file://文件已被拷贝到pMSC_File缓冲中 
      }

      总而言之,USB的即插即用功能需要充分的固件支持。嵌入式环境中USB主控和装置驱动固件的缺乏会导致产品开发周期的延长。因此,在选择嵌入式USB主控时,固件的体系结构和可用性应该作为重点来考虑。设计完善的嵌入式主控应该将消耗的系统资源降至最低,让传输到系统处理器的USB往来数据流量、中断等减至最少,让所呈现的API集简单化,并将复杂的USB协议问题隐藏起来。

关键字:USB主控  映射关系  系统处理器 引用地址:利用嵌入式USB主控进行设计

上一篇:基于USB的数据采集系统设计及实现
下一篇:基于Linux的USB主/从设备之间的三种通信方式

推荐阅读最新更新时间:2024-05-02 22:49

利用多媒体处理器构建基于IP网络的智能安全监控系统
在安全意识日益增强的今天,像银行、办公室、商店、居民公寓以及公众场合对高质量的视频监控设备的需求正在不断增长。为了满足出这些需求,数字视频录像机(DVR)、IP网络和IP摄像机提供了比传统的模拟摄像机/VCR录像系统高得多的灵活性、可升级性和图像质量。基于IP系统的数字化的固有特征,也能够把更多的智能嵌入到从能够实现最大带宽的先进音视频编解码芯片到具有运动检测/跟踪和面部识别的先进图像分析功能的各类系统芯片中。 从VCR到DVR 在过去十年中,安全监控系统经历了巨大的改变。尽管目前仍有不少的将复合视频信号用同轴电缆传送到中央控制/监控台的模拟摄像机,但目前控制台系统中的一系列传统的VCR设备已经被基于PC的DVR所取代。这
[嵌入式]
飞思卡尔微处理器打造更经济实用的泊车辅助系统
32位MPC5604E MCU集成了以太网连接和视频压缩功能,有助于降低成本并为更广泛的车型提供更加安全、高效的泊车功能 2011年6月13日,德州奥斯汀市讯 —飞思卡尔半导体 日前推出新的32位Qorivva微控制器(MCU),该产品基于Power Architecture®技术,目的是使过去只有在豪华汽车中才能见到的环绕摄像泊车辅助系统变得更加经济适用并普及到更广泛的车型中。 Qorivva MPC5604E 32位MCU通过快速以太网传输高分辨率的压缩视频数据,可以提供360度车周全景,从而实现更加安全、简便地泊车。 汽车通常需要4或5条低压差分信号电缆来传输视频数据,每条电缆的价格约合10美元。 对视频信号进行压缩
[单片机]
Linux 3.11操作系统支持更多ARM处理器
    随着ARM处理器的盛行,Linux系统内核也在逐步加大对ARM处理器的支持力度,Linux 3.11版本中除了Xen、KVM虚拟化将支持64-bit ARM平台之外,还有其它不少细节上的完善。   Linux 3.11操作系统将正式支持瑞芯微RK3xxx系列,包括最新的RK3168、RK3188等等,国产的ARM芯片正在得到越来越广泛的关注。   德州仪器基于Cortex-A15架构的KeyStone系列也已经进入支持列表。   PCI总线方面,开发人员正在尝试使其不再与特定的SoC代码相关联,而是让ARM PCI主控制器驱动直接成为可载入的内核模块。   此外还有其它大量关于ARM平台驱动、跨平台的相关支持,都在陆续添加中
[手机便携]
俄罗斯公布全新国产PC电脑:自研4核ARM处理器+魔改Linux系统加持
因为一些客观情况,俄罗斯加快了研制国产PC的步伐,以满足需求和替代进口。日前,名为MIG Akinak的新款PC产品问世,硬件和软件均由俄罗斯本土打造。 核心CPU名为Skif (Scythian),64bit ARM架构,采用4核Cortex-A53 CPU+PowerVR Series8XE GE8300 GPU+双核DSP设计,频率1.8GHz,功耗仅24W。 其他配置方面,8GB~64GB LPDDR4内存、32GB/64GB eMMC硬盘,可通过microSD卡或者SATA II扩展2TB。预留的M.2不能接SSD,只能接Wi-Fi/蓝牙无线模块、蜂窝数据模块等。 系统预装基于Linux的Alt发行版
[家用电子]
俄罗斯公布全新国产PC电脑:自研4核ARM<font color='red'>处理器</font>+魔改Linux<font color='red'>系统</font>加持
龙芯3A5000国产处理器成功用于3D打印系统
4 月 27 日消息,国产芯片公司龙芯中科官宣,日前,龙芯 3A5000 与北京太尔时代科技有限公司(以下简称“太尔时代”)的 3D 打印系统完成了产品兼容适配工作,标志着龙芯平台在三维打印领域有了新的突破。 龙芯中科表示,自主指令系统 LoongArch 推出以来,公司一直在积极推进龙芯 5000 平台的生态适配,此次 3D 打印的迁移适配工作是龙芯自主生态建设的全新技术体验。 本次与龙芯中科技术合作,太尔时代开发团队根据龙芯 LoongArch 构架和国产操作系统,配置了全新的工具链和交叉编译环境,重新编译各个库,并着重优化浮点运算能力,解决了在国产 CPU 的硬件环境下的稳定性和兼容性问题,同时充分发挥了国产龙芯 C
[嵌入式]
基于NiosII的SOPC多处理器系统设计方法
  两个或多个微处理器一起工作来完成某个任务的系统称为“多处理器系统”。传统基于单片机的多处理器系统结构复杂,可靠性差;而基于32位的嵌入式软核处理器NiosII的SOPC(可编程片上系统)多处理器系统解决方案,从根本上改变了多处理器系统的设计理念和方法。使用Altera公司的NiosII软核处理器和SOPC Builder工具,可以快速地设计和建立共享资源的多处理器系统。多处理器系统一般用于工作站和使用分载(load-sharing)的复杂算法(称为“对称多处理器SMP”)的高端PC计算。对于大部分嵌入式系统,当SMP的开销太大时,使用多个处理器执行不同的任务,实现不同的功能正引起越来越多的关注。Altera公司的FPGA为开发非
[单片机]
基于NiosII的SOPC多<font color='red'>处理器</font><font color='red'>系统</font>设计方法
基于LPC2106微处理器实现微型足球机器人控制系统的设计
:关慧贞,刘赞,魏永,王兰兰 以应用为的嵌入式系统,已经深入到生活的各个方面。相对于其它领域,智能机器人系统可以说是嵌入式系统应用最典型、最广泛的领域之一。本文对嵌入式系统在足够机器人底层控制系统中的应用进行研究和设计。 1 足球机器人系统 足球机器人是视觉、模式识别、决策对策、自动控制、、智能体设计与电力传动、多智能体合作等多项技术的结合体,是一个典型的智能机器人系统。足球机器人比赛集高科技、娱乐、竞技于一体,虽历时不长,但已经成为国际上广泛开展的高技术对抗活动,引起社会广泛的关注。研究与开发足球机器人系统,参加机器人足球赛是研究智能机器人,跟踪国际高科技理论技术的理想切入点,同时也是嵌入式计算机系统理论联系实际的
[机器人]
凤凰微电子获得ARM7TDMI处理器授权用于MEGAFLASH SIM卡片上系统
中国新兴fabless公司借助ARM DesignStart Program量产先进片上系统 中国上海,2007年5月17日 ——ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)今天宣布,中国本土新兴fabless设计公司凤凰微电子(中国)有限公司(凤凰微电子)通过ARM 代工厂计划获得ARM7TDMI 处理器授权。凤凰微电子新型片上系统现已上市,是为megaflash SIM卡应用而设计的,并已获得了中国本土运营商的支持。凤凰微电子通过ARM DesignStart Program开始基于ARM技术的设计,现在正在将其已经验证的研发成果推向市场。 ARM DesignStart Program起步于2005年4月,已
[焦点新闻]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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