新闻  |   论坛  |   博客  |   在线研讨会
USB端口找到新居,落户嵌入式系统
tongxin | 2009-04-13 20:33:41    阅读:812   发布文章

安装过PC的人员都知道,通用串行接口(USB)具有与即插即用相似的性能。因而,将USB端口移植到嵌入式系统是一种方便的控制外部设备的办法。毕竟USB只有两条信号线和两条电源连接线,设计一个USB端口不会有什么困难吧。这一任务说起来简单,对设计者却有不少困难。不过,供应商可以提供从板卡到软件的一切帮助。
%A
%A        在一个嵌入式系统上添加USB端口的最简单的办法是采用基于Windows的计算机。很多单板机(图1)提供了内置的USB端口,并且运行Windows 软件。许多USB外设都装有现成可用的Windows驱动器。当你需要采用实时操作系统(RTOS)时,任务就会变得困难起来。若干家公司提供了能够简化USB端口设计的芯片和软件,还可以获得在片上系统添加端口的知识产权(IP)许可证。
%A
%A
%A
%A
%A
%A                                           图1  EBC-C3Plus等单板机提供了内置的USB主控端口
%A
%A        USB设备可以扮演主控或外设的双重角色。外设无需太高的智能度,但主USB端口却要求具备处理能力和控制软件。USB(OTG)规范考虑到让某些外设可以具备有限的主控功能,这样USB设备能在没有PC基主控器的情况下实现通信。
%A
%A        最新标准(USB 2.0)提供的总线速率是1.5Mbit/s(低速)、12Mbit/s(全速)和480Mbit/s(高速)。可惜,很多用户认为标有“USB 2.0”字样的设备一直在480Mbit/s的速率工作。但很多遵循USB 2.0的设备是在较慢的传输速率下工作。
%A
%A        在规划一个嵌入式应用时,你要确切知道使用什么USB设备――打印机、海量存储单元还是I/O控制器。然后,决定你需要多少端口,是否需要主控、外设还是两种端口都要。大多数嵌入式应用并不需要外设端口。
%A
%A        你在评估端口配置时,应该决定你的数据率需求。例如,虽然一个应用可以平均10Mbit/s的速率进行数据传输,但也可能需要以更高的速率传输突发性数据。请记住,要实现更高的数据传输,就需要在USB连接的两端采用更大的缓冲区。你可能需要将性能要求稍微降低一些以减少设计所需的昂贵缓冲。
%A
%A        如果你对数据率没有把握,可以从USB主控芯片厂商那里购买开发板,然后在PC上对你的应用进行模拟。主控芯片供应厂商包括TransDimensions,Cypress半导体,NEC和Philips半导体公司。以TransDimension为例,它提供2端口和3端口的主控芯片和软件。另外,很多公司也出售作为USB外设控制器的芯片。
%A
%A        主控制器芯片的支持软件有多种,从支持Philips ISP1561的基于Windows的驱动器,到支持TransDimension器件的多种RTOS软件。Cypress提供用于EZ主控IC的Linux和VxWorks驱动器。所有的USB主控端口都需要一个“堆栈”,它的简单含义是软件的分层布置,如图2所示。各层形成从底部物理层(连线和芯片)一直到顶部应用软件层的结构。
%A
%A%A
%A

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
最近文章
寂寞如雪
2009-05-19 19:01:18
夜色花
2009-05-19 18:56:22
没有爱可以重来
2009-05-19 18:54:59
推荐文章
最近访客