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

[11-20 15:54:36]   来源:http://www.88dzw.com  arm嵌入式   阅读:8241

文章摘要:USB已经成为设备和PC之间通信的标准方式,从通用设备(如闪存设备和鼠标)到专用设备,该标准几乎完全替代了其他的串行通信协议。USB外围设备彼此之间不能相互通信,它们只能与具有控制总线能力的USB主设备通信。直到最近,也只有PC具有主设备能力。但目前,许多微控制器也具有了嵌入式USB主设备的功能,这使得嵌入式应用可以连接更加广泛的USB外围设备。USB闪存驱动器是一种使用非常广泛的USB外围设备,它已经成为传递或存储大量数据的廉价介质,许多数据记录设备正是得益于它才得以发展。对于远程的长期数据记录,可以先采集,并存储在闪存驱动器中,然后带回到方便分析处理的地方。图1 具有嵌入式USB主设备功能

嵌入式应用中的USB主设备功能,标签:arm嵌入式系统,arm系统,http://www.88dzw.com

  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标志,但同样需要遵守额外的许可证限制。

[1] [2]  下一页


Tag:arm嵌入式arm嵌入式系统,arm系统arm嵌入式
分类导航
最新更新
热门排行