老古开发网首页
导航:老古开发网首页文章索引文章分类计算机与外设→[嵌入式USB主机扩展应用]
| -文章搜索 - 最新文章 - |

嵌入式USB主机扩展应用

发布时间:2006年9月23日 点击次数:1017
来源:21control   作者:
 
1 综述

  移动数据交换和存储,是近年来IT行业的热点。如今,各式各样的移动存储设备有如雨后春笋般出现。从最早的存储量为几K、能存储用户个人信息的USB小钥匙,到容量可与PC硬盘媲美的USB活动硬盘,再到以Flash作为存储介质的真正能够“移动”起来的USB闪盘和优盘,直到今天大量的PC外设和多媒体家电中大量使用的数据存储器……可见,数据交换的可移动性和便捷性是整个数字化时代大厦的根基。移动数据交换刺激了IT业的发展,便利了人们的生活。

  与此同时,我们还应注意到这样一个问题:移动数据交换业,是伴随着通用串行总线(Universal Serial Bus,简称为USB)的成熟而兴起的。USB既是数据交换的媒介,又是其核心。可以这样说,没有USB,就不会有移动数据业务如此迅猛地发展。


  2 为什么要开发嵌入式的USB主机?

  从USB问世,到协议规范2.0版本,USB在不断自我完善,并走向成熟。从普通计算机用户,计算机工程师,到硬件芯片生产厂商,都已经完全认可了USB。厂商对于USB的硬件和软件支持的也越来越完备,现在开发一个USB外设产品,所需要投入的成本和时间大大降低了,几年前是没有办法做到这一点的。但是,随着USB应用领域的逐渐扩大,人们对于USB的期望也越来越高,希望USB能应用在各种计算机领域中,尤其是在移动数据领域中,希望能通过PDA等移动设备直接和USB外设通信,使得USB能应用在没有PC的领域中。

  非PC应用领域?

  这正是USB一个致命的弱点。USB的拓扑结构中居于核心地位的是Host(也称为主机),任何一次USB的数据传输都必须由主机来发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或是两个主机之间无法直接通信。而目前,大量的扮演主机角色的是个人电脑PC。因此,我们目前所买到和使用的USB移动设备,都是USB的外设(device),比如USB的移动硬盘、比如USB接口的数码相机等等。所有这些设备都只能在PC上使用,只能通过PC来进行相互的文件和数据交换。没有了PC,这些设备就“失灵”了(指数据交换的功能)。

  因此,“如何将USB应用到嵌入式领域?如何实现USB点对点的通信?”等问题,开始进入了USB开发者的讨论议程。正是在这种新的需求之下,USB 主机的嵌入式应用成了USB领域新的兴奋点。

  正是在这种背景下,业界和用户的需求呼唤USB主机实现嵌入式化,也就是开发和设计嵌入式的USB主机。


  3 嵌入式USB主机在数据存储和交换中的应用
  
  我们来看一幅图,如图1所示,这里有3个我们日常生活中可能碰到的场景:

  ● 朋友的移动硬盘上有一些好听得MP3歌曲,我想直接通过我的MP3播放器拷贝过来;

  ● 想换掉手机,买个PDA,手机里的电话本想直接复制到PDA中;

  ● 出门在外,用数码相机照了很多漂亮的风景,想在身边的打印机上直接打印出来;
  ……

                                                                         图 1

  这样的场景我们可能早已梦想着能够实现。图中的每一个设备都是一个USB的外设,现在的技术条件下,我们只能通过PC作为数码文件的“交换器”。比如第3中场景,我们首先是把数码相机连接到PC上,并且安装相应的驱动程序和用户界面,把数码相机存储盘上的内容复制到PC硬盘上。然后,把USB打印机连接到PC。最后,再把照片打印出来。整个过程,很是复杂,更是不方便。

  因此,有了嵌入式的USB主机,那么图1所示的场景将不再是梦想!这里,需要做的就是在MP3播
放器、数码相机里嵌入USB主机模块,使其由传统的USB外设成为USB主机,这样,这些嵌入式的主机就可以直接和移动硬盘、打印机等USB的外设连接,实现特定的功能。那么,而当我们需要再次把数码相机等连接到PC上时,就需要让其恢复USB外设的功能。

  可以预见,嵌入式USB 主机最大的市场和增长点在于移动家电,比如PDA与USB记忆棒传递数据、MP3之间传递歌曲、数码相机连接打印机。因此,具有很强的应用背景和市场前景。
 
  4 以嵌入式USB主机作为核心的USB On-The-Go

  USB On-The-Go,顾名思义,是USB应用在便携式移动设备领域中,因此,我们姑且将其翻译为“便携式USB”(或者“移动USB”),简记成USB OTG。符合USB OTG的设备完全抛开了PC,既可以作为Host,也可以作为外设,而与另一个OTG设备直接实现点对点(Pear to Pear)通信。因此,这类OTG设备也被称为是双角色设备(Dual-Role Device,简称为DRD),并能够根据接入设备的特性和数据传输过程中的情况,自动切换为Host或是外设。

  可见,USB OTG正是符合了图1所示的场景需求。

  我们注意到,USB OTG虽然是具备了更强大的功能,但是其核心仍然是嵌入式USB主机,只不过需要加入一个能够自动切换角色的功能。而这个新功能的实现,就要借助于USB OTG接口芯片的物理层来实现。而且,在很多场合下,不需要实现USB外设的功能,只需要实现USB主机功能。比如一个工业数据采集的领域中,我们需要使用USB优盘作为数据存储的载体,那么就要在项目中实现一个嵌入式的USB主机来采集数据,并且把数据存储到优盘中。这里,这个USB主机就不必实现外设的功能,因为其根本不用连接到PC。而且,很多USB方案的提供商,在设计USB OTG时,就是设计一个嵌入式的USB主机,然后通过软件实现角色切换的功能。

  可以说,嵌入式USB主机,是整个USB系统发展的未来和趋势。
  
       5 设计嵌入式USB主机
  
  传统意义的USB开发,仅仅是对USB外设的开发,USB底层驱动程序和USB主控制器驱动程序都由Windows等操作系统提供,有关这些驱动程序的细节过程都蒙着一层神秘的面纱。所以,要设计USB 主机,就须设计这两部分驱动程序,Windows源码不公开,这些细节资料就无从得到。

  因此,设计就要遵循USB主机的协议规范。可以阅览参考文献。具体的设计就要包括固件Firmware和硬件两大部分。

  硬件上首先要选择USB主机的接口芯片。现在比较成熟的有Cypress公司的SL811HS和Philips公司的ISP1161。并且选用一款合适的MCU和MPU来控制。那么这款MCU的选用需要比较讲究。因为,整个USB协议框架是非常复杂的。那么这就需要MCU具有足够的RAM,用以处理大量的数据缓冲区、大量的变量、数据存储等等。一般8KB的RAM是最最基本的要求,而且越大越好,当然,小到2K,也可以实现基本功能,但是已经非常捉襟见肘了。其次系统要有大量的程序存储区,一般Flash的需求大概在10~60KB左右。之所以有如此大的范围,这是因为USB定义很多的类,用以支持不同类型的USB外设。每一类就有其不同的驱动程序,因此,设计的嵌入式USB主机支持的类越多,那么需要的程序空间就越大。有个例子就是,要实现Mass Storage类就需要10K所有的Flash空间。

  固件方面,就是要实现完整的USB主机协议类,包括设备的上电检测、设备重起、分配地址、读取设备的各种描述符等基本的操作,更重要的是要实现每一类USB设备的协议栈。简单来说,每一类设备的协议栈,就是一个特定的驱动程序,传统的做法,我们是在PC上使用WDM来编制驱动程序。这里,在我们的嵌入式系统的开发环境里,我们就要像开发嵌入式的软件一样,可以用C语言、可以用汇编语言等来实现。限于篇幅所限,这里,无法进一步展开。笔者将在以后进一步展开讨论。

  笔者目前就已经设计出了一款USB主机的演示系统,选用的USB主机接口芯片是Cypress公司的SL811HS,MCU选用的是Motorola公司的16位单片机MC68HC912D60A。整个USB主机系统支持的是USB的Mass Storage类,也就是海量存储类,这一类是USB专门为支持磁盘存储功能设计的。因此,现在的结果是,这个嵌入式的USB主机能够具有同装有Windows 2000操作系统的PC一样的功能,能够直接对USB的移动存储设备进行读取,能够自动识别设备并把设备配置为标准的磁盘驱动器,因此能够直接进行文件的读取、格式化等一系列操作。为了通用,选用了朗科公司的USB优盘作为外设。目前整个系统可以直接对优盘进行操作,读取优盘中的文件、写文件到优盘中,等等。
  
  6 嵌入式USB主机的其他应用前景分析

  1. 以嵌入式USB主机做为核心的数据采集系统,可以应用在大量工业和民用领域中,比如城市轻轨铁路的数据采集黑匣子中。中国幅员辽阔,铁路线纵横驰骋,如果每辆机车上都安装一套这样的“黑匣子”系统,那么需求量将是非常大的,同时将带来很大的经济效益和市场前景。

  2. 嵌入式USB 主机作为USB的延伸,国外处于刚刚起步的阶段,仅有不多的半导体公司提供接口芯片,还没有完整的嵌入式USB 主机产品上市。厂家和USB论坛所能提供的Demo也限于依靠嵌入式操作系统WinCE和Linux等。国内的研究也刚开始起步。因此,项目研究具有一定的领先和前瞻性。

  3. 在开发USB 主机,编写底层驱动程序的同时,注意整个系统的可移植性,使得有关USB通信的各个任务模块化,尽量编写API。这样,就可以在不同的操作系统、不同的主控制器CPU上尽量方便的实现USB 主机的功能。这就可以为日后嵌入式USB 主机的产品化和进一步研究打好基础。这个工作有待进一步完善。

 
 
参考文献
1 马伟. OTG补充协议开辟USB的新篇章,电子产品世界,2002年6月A版
2 SL811HS Datasheet,Cypress,2001
3 Open Host Controller Interface Specification for USB,Compaq,Microsoft,National Semiconductor,
1999
4 Enhanced Host Controller Interface Specification for USB, Intel, 2001
5 USB Specification 1.1,1998

欢迎进入老古论坛进行讨论
[计算机与外设] 相关文章:
Micronas推出為Media PC參考設計的雙調諧器DVB-S2 PCI Express
简介:
  Micronas 與 CyberLink 共同合作,使用 MicSidewinder 2D-X 研發出可在基於電腦的衛星接收器上使用的 HDTV,MicSidewinder 2D-X 是一種供 PC OEM 和系統整合程式使用的 DVB-S2 調諧器卡參考設計。     Micronas目前推出的MicSidewinder(r) 2D-X 為一種雙調諧器 DVB-S2 PCI Express(r) 卡參考設計,適用於家庭劇院解決方案。每一個 MicSidewinder 2D-X 通道均支援新的 DVB-S2 標準,從而能發揮完整的 HDTV 品質,並支援傳統的 SDTV......

高速USB数据采集系统的设计
USB2.0特性及USB单片机
USB设备的调试与测试技巧
至强双核工作站提升计算与图形处理能力
LON总线的USB2.0接口卡的研制
华北工控推出一款基于PCI-E技术的高端主板
杰尔最新1394B芯片组使PC与1394B外设间的数据传输速度翻倍
笔记本电脑Li+电池保护及容量计量
凌华发表符合RoHS规范6U CompactPCI单板计算机
 
下一个:[综合电子]基于MCU与DSP的双机压电捷联惯导系统
简介:
引 言 近年来,广大科研工作者研究了各种减小电压捷联惯导系统的误差方法,使压电惯性器件的精度得到了极大的提高[1].本文介绍了一种实用的基于DSP实现的压电捷联惯导系统方案。 1 系统的硬件设计 整个压电捷联惯导系统分为三个部分:压电惯性组合部分;由ADS1251与ADuC834组成的信号接口与模数转换单元;由TMS320C54lO等构成的数据处理单元。系统框图如图1所示。 压电惯性组合采用专用压电陀螺及压电加速度计。由TI公司24位,20 kHz的A/D转换器ADSl251完成六路压电陀螺及压电加速度计的信号精确采样,实际采样速率为50......
 

上一个:[计算机与外设]USB2.0 高速主机适配卡的设计

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:否 执行时间:31毫秒