嵌入式应用中的USB主设备功能

发布者:CrystalDawn最新更新时间:2013-10-12 来源: dzsc关键字:嵌入式应用  USB  主设备功能 手机看文章 扫描二维码
随时随地手机看文章
    USB已经成为设备和PC之间通信的标准方式,从通用设备(如闪存设备和鼠标)到专用设备,该标准几乎完全替代了其他的串行通信协议。

  USB外围设备彼此之间不能相互通信,它们只能与具有控制总线能力的USB主设备通信。直到最近,也只有PC具有主设备能力。但目前,许多微控制器也具有了嵌入式USB主设备的功能,这使得嵌入式应用可以连接更加广泛的USB外围设备。

  USB闪存驱动器是一种使用非常广泛的USB外围设备,它已经成为传递或存储大量数据的廉价介质,许多数据记录设备正是得益于它才得以发展。对于远程的长期数据记录,可以先采集,并存储在闪存驱动器中,然后带回到方便分析处理的地方。


  图1 具有嵌入式USB主设备功能的微控制器PIC24FJ256GB1

  闪存驱动器也可以用于向PC中传输高速时间相关数据。PC是极好的数据分析工具,但实时能力有限。相反,嵌入式应用特别适合实时数据采集,但数据分析能力通常很弱。嵌入式实时数据记录仪可以在闪存驱动器上存储数据,然后把数据传输到PC上分析,这样二者的优势都得到了充分的发挥。

  嵌入式USB主设备的应用

  开始嵌入式设计的首要任务之一是选择微控制器。为了使用闪存驱动器,微控制器就必须具有嵌入式USB主设备的能力。如果微控制器具有USB OTG(On-The-Go)或USB双角色(Dual Role)功能,如Microchip公司的PIC24FJ256GB1微控制器,如图1所示,它也可以支持嵌入式USB主设备功能。USB外围设备,有时也称为USB设备模式,只能用作闪存驱动器等,而不能和其他USB外围设备通信。

  其次,设计者应该确信能有完整的开发工具。至少也需要一个器件编程器(如果有一个调试器是最好的)和一个C语言编译器,因为嵌入式USB主设备和运行在微控制器中的程序往往是用C语言而不是用汇编语言编写的。

  最后,设计者也应该了解哪些软件库是可以获得的,因为嵌入式设备发现闪存驱动器时的握手操作需要USB设备类、FAT32文件系统和其他库的支持。从头开始设计支持嵌入式USB主设备的工作会需要数月的时间,而一个由经过认证的协议栈组成的方案可以节省相当多的时间。

  为了使用闪存驱动器,嵌入式设备也需要一种USB海量存储类(Mass Storage Class)设备的终端驱动程序、硬件命令行接口,以及文件系统接口。通常,具有2Gb或更低存储空间的闪存驱动器使用FAT16文件系统,而更大容量的闪存驱动器将使用FAT32文件系统。

  设计要求

  一旦选定了微控制器,硬件设计就开始了。USB硬件设计需要遵循以下许多规则。

  ● 如果嵌入式主设备需要支持USB设备类,它对外围的供电就必须能够提供500mA的电流。

  ● 如果嵌入式主设备需要支持任何消耗电流超过100mA的设备,它也必须能够提供500mA的电流。

  ● 如果嵌入式主设备需支持消耗电流100mA或更低的设备,那么VBUS电压限制就可以降低到4.4V。然而,如果嵌入式主设备需支持消耗电流超过100mA的设备,那么VBUS电压限制是 4.75V,就和全功能主设备一样。

  ● 必须重新设计无须用户干预就可复位的过流保护机制。

  ● 从USB连接器到收发器之间的传输延迟必须在8ns之内。

  ● 嵌入式USB主设备在VBUS上的电容必须大于120μF,而且USB OTG设备在VBUS上的电容必须为1.0?6.8μF。

  除以上规则外,也必须仔细考虑采用嵌入式USB主设备应用的用户接口。USB外围设备通常用在PC上,万一发生错误就可以提供详细的错误信息。如果LED指示灯闪烁,用户能够知道连接失败了。USB规范也作了强制性的规定,经过认证的USB嵌入式主设备必须提供错误信息。换句话说,所有错误信息必须被明确地通知应用层,也就是告知用户。

  USB设备认证

  USB认证主要用于保证USB设备符合USB规范的要求。认证可以在各种独立的测试机构进行。一旦产品通过认证,生产商就被允许使用USB标志,但同样需要遵守额外的许可证限制。

  产品也可以不通过USB认证而直接进行生产和销售。没有USB认证,生产商可以声明自己的产品支持USB,但他不能在设备或包装上的任何地方使用USB标志。通常,取得USB嵌入式主设备认证是不太难的。

  通过USB通信

  实现USB嵌入式主设备的一个最大挑战就是要和各种各样的USB外围设备通信。虽然不是所有的闪存驱动器产品都通过了认证,但是如果在嵌入式设备中一种闪存驱动器可以正常使用,而另一种没有任何原因就不能使用时,用户是不会高兴的。

  如果闪存驱动器需要的上电时间是允许最大时间的两倍或一半,或由于主机以最大允许的速率轮询时闪存驱动器被锁住,以及因为闪存驱动器需要一种不同的SCSI命令序列来建立通信等,这都不会有任何问题。但如果这样的闪存驱动器在主设备上不能运行,在PC上却可以正常使用,用户会批*这一主设备。因此,确保进行广泛的测试,与多种没有进行认证的USB外围设备进行通信,即使它只是一个拇指大的闪存驱动器或一根电缆。

  虽然嵌入式USB主设备可以提供USB类级的支持,在进行设计和测试时,也应该考虑对特殊USB外围设备支持的限制,通过对VID(供应商ID)和PID(产品ID)的识别来保证产品能在设计的应用领域正常使用。这个ID列表是指USB执行者论坛所发布的目标外围设备列表(TPL),它是为了获得嵌入式主设备认证所必须服从的检查项目列表。完整的OTG认证实际上仅需要与TPL列表中的VID/PID标志的产品互操作。

关键字:嵌入式应用  USB  主设备功能 引用地址:嵌入式应用中的USB主设备功能

上一篇:用DNW通过USB烧uboot到nand
下一篇:USB固件程序的设计

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

s3c2440(2410) USB HOST不稳定的原因及解决方法
今天tpu拿出一块2440板子调试,发现尽管采取了种种措施,USBHOST总是会偶尔不工作.把UCLK通过CLKOUT0引出,用示波器查看,发现不工作的时候,UCLK根本就没有稳定下来.于是仔细思考,影响USB的有这几个地方: 外部晶振16.9344Mhz LOCKTIME寄存器的UPLL LOCKTIME UPLLCON CLKSLOW寄存器的UPLL开关 接下来逐个排除: 晶振是MPLL和UPLL公用,从来没听说过MPLL不稳定的. 怀疑LOCKTIME太大(0xffff),但改小了没有效果. 在UCLK不稳定的时候,重复设置UPLLCON是没有用的. 在UCLK不稳定的时候,开关UPLL,有效果!在UCLK
[单片机]
意法半导体STM32U5系列MCU上新 提高物联网和嵌入式应用性能和能效
意法半导体STM32U5系列MCU上新 提高物联网和嵌入式应用性能和能效 • Ajax Systems已使用 新STM32U5 MCU开发下一代无线安保和智能家居解决方案 • 新STM32U5系列MCU是首款获得NIST嵌入式随机数熵源认证的通用MCU 2023年3月3日,中国 - 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;)意法半导体近日宣布,其市场前沿的STM32 微控制器(MCU)产品家族再扩阵容,推出新款STM32U5芯片,在降低功耗的同时提高了性能,并延长了续航时间,提升了能效。 STM32U5产品已获得NIST嵌入式随机数熵源认证,
[单片机]
意法半导体STM32U5系列MCU上新  提高物联网和<font color='red'>嵌入式应用</font>性能和能效
曝iPhone 15 Pro支持USB 3.2:速度质变
3月24日消息,据MacRumors报道,iPhone 15系列全系标配USB-C接口,这里的USB-C本质上只是对接口形状的描述,具体的传输速率,还要看它支持什么规格的USB协议,一般要么是USB 2.0,要么是USB 3.X。目前iPhone用的是Lightning接口,支持的是USB 2.0协议。 对于即将到来的iPhone 15系列,爆料称iPhone 15 Pro至少会支持USB 3.2,而iPhone 15标准版支持USB 2.0。 众所周知,手机数据接口支持的USB协议不同,传输速率也会有很大差别。这次iPhone 15 Pro支持USB 3.2,传输速率一般能达到5Gbps,换算下来大概是500MB/s。而
[手机便携]
STM32 USB-HID的调试记录
1、使用USB 的鼠标方式进行。HID设备方式,即插即用。在输入端可以看到人体输入端; 2、HID设备,可以使用porthelper调试USB,BUS Hound抓取USB包。 资料参考1: http://www.openedv.com/posts/list/41451.htm 2.1 通过Bus Hound软件可以看到连接成功外设USB设备:(如下图所示) 2.2 鼠标按下后获取的数据,左键、右键还有翻页和空键。 2.3 USB调试器可以发现外接的设备。查找后界面如下。但是无法在接收区接收到数据。 将CC1101和USB-HID通信以及串口结合起来,做了简单的演示功能。 测试条件:PC机使用
[单片机]
STM32 <font color='red'>USB</font>-HID的调试记录
Synopsys的ARC HS处理器在高端嵌入式应用领域增强RISC和DSP性能
DesignWare ARC HS4x系列内嵌DSP将上代ARC HS内核的信号处理性能提升至两倍。 亮点: 新ARC HS4x和HS4xD处理器含双发射架构,与广受欢迎的ARC HS3x系列相比,可将RISC性能提升25%,同时还添加了2倍的DSP性能,并拥有节能的信号处理能力,适用于无线基带、声音/语音、中频段音频和嵌入式DSP应用 ARC HS4xD处理器实现了扩展的ARCv2DSP指令集架构(ISA),其中含150多条DSP指令,因而可加速信号处理算法 MetaWare 开发工具包简化了ARC处理器的编程,并增强了对双发射架构和DSP硬件的支持,从而最大程度地提升了性能,减小了代码量 最多支持4核的多核配
[半导体设计/制造]
带有线路补偿功能的车载USB充电器电路设计
  随着智能手机和平板电脑的普及以及随之而来的高功耗,此类设备的电池大多只能保持一天的使用。越来越多的场合和设备配备了一个或多个USB充电端口,而车载USB充电器是其中重要的组成部分。由于车身体积较大,车内线路较长,USB充电端口的电压可能随着线路的阻抗而减小从而造成充电电流不足。介绍了一种带有线路补偿功能的车载USB充电器的设计,使得USB充电端口的电压随着电流的增大而提高,实现了USB充电电压的恒定,保证了USB端口的充电电流。    DC/DC Buck 变换器 :设计主功率级采用了TI LM25117-Q1控制的同步Buck变换器。LM25117-Q1是一款汽车级产品,它提供了功率电路所需要的各种保护,包括可调节输入欠压,
[电源管理]
带有线路补偿<font color='red'>功能</font>的车载<font color='red'>USB</font>充电器电路设计
USB数据采集控制器在工业控制中的应用
1. USB数据采集控制器简介 LabJack U12是一个多功能USB数据采集控制器,它在同类产品中性价比最高。具有8个模拟输入通道,2个模拟输出通道和20个可编程数字输入输出通道。它已被广泛地应用于实验/试验设备、自动测试设备、及其它PC-Based系统中。是一个理想的OEM部件。 它还越来越多地应用于工业过程控制中。由它组成的PC-Based系统有所有PC-Based系统所固有的优点,如系统开发周期短,系统变更容易,用户界面漂亮、易操作,可以进行过程监视、报警、记录、打印,可以利用计算机的计算能力实现各种PLC无法实现的控制算法来进行复杂的过程控制,以及其他等等优点。结合本公司为其配置了其它各种外围设备和组态软件,系统开发
[嵌入式]
使用USB进行测试和测量的优势
USB由于具备下面几个优势,从而成为使用者开发测试和测量测量应用的简单选择。   真正的即插即用:使用标准的低成本线缆简单地将数据采集模块和PC的USB端口相连。当模块插入时,PC会自动识别该模块,并安装必要的软件来操作该模块。这种连接方式极大地减少了启动时间。 图1:典型的应用设置。   不再需要打开PC机箱来添加电路板、配置跳线开关和中断设置、搜索正确的设备驱动程序或者重启系统,而是简单地将传感器连接到模块上就不用管了。几分钟内,就可不断获取数据、温度、压力、声音等任何所需信息。 图2 :未隔离的USB数据采集模块在ESD、闪电、电源浪涌的时候可能损害系统并导致数据不正确。   更少地被PC的噪声影响:USB数
[模拟电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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