由於非PC硬件对于USB主机功能的需求不断地增长。对於可携式消费电子产品(如手机)也一样如此,另外USB主机功能在家庭娱乐产品(如机顶盒、游戏机)中也越来越普及。以下简单实现的电路演示了如何将存储到一个闪存驱动器中的视频内容处理成可用于显示器上观看。它还详细介绍了如何克服添加支持Linux系统USB驱动的难题,从而可轻松地将不同的USB外设连接到嵌入式USB主机内。
图1所示为视频处理电路的基本结构。硬件要求包括:
- 德州仪器基于AM3359的DevKit8600开发平台
- 1个VGA 8000适配器
- 1个桥接板
- 1个FTDI的FT313H EVM模块
- 12V供电
- 1个4端口的高速USB集线器
- 1个USB键盘
- 1个高速USB闪存驱动(带媒体播放器和快速启动脚本拷贝到根文件夹)
图1:基于USB的视频处理电路的功能模块图
AM3359 500-mhz微处理器有一个ARM cortex-a8 32位精简指令集的核,非常适合目前的多媒体应用。通常微控制器/微处理器如果是被用在这里描述的这类应用,需要有特别为他们而写的驱动,使他们可以操作连接的USB设备。这会引起不必要的技术问题,特别是对于没有这方面经验的工程师,会延长开发时间。然而,FT313H设计用于结合基于Linux的处理器,可以在AM3359上访问本地主机堆栈。该设备处理USB协议,数据调度等等,使AM3359的处理能力集中在基本任务上。由于支持分包传输,主机IC可以处理从集线器传来的键盘和闪存的USB数据,支持HID类和大量存储类。大量存储类允许执行批量传输模式 – 这点很重要,因为视频应用需要能保持的快速传输速率。
FT313H专为轻松集成设计的, 有效吻合系统处理器总线。此外,由于其强大的性能,它被证明是涉及到大量数据传输的高度优化的文件传输应用。这480兆位/ usb2.0-兼容 IC为系统设计增加了高速USB主控连接功能,实现与大容量存储设备的快速数据传输接口,还可通过其支持的标准USB类驱动连接无线设备,实现模块化系统扩展。板级互连包括一个通用的8或16位总线,NOR存储器,或SRAM存储器接口。它的电池充电检测功能意味着,和此类主电源应用一样,它还可以应用于电池供电的便携式应用–可控制供给外部硬件工作/充电模式的电流。
示例中的闪存驱动电路,与连接FT313H,能够向AM3359传输需要处理的数据。数据再由AM3359输出到显示器。通过在电路中集成一个高速USB主控芯片,微控制器/微处理器获取了本来不具备的访问USB外设的能力。由于系统是基于Linux的,所有本地USB类驱动程序都可用,不需要开发HID或集线器类驱动程序。直接存储器DMA传输通过限制需要从总线提取数据的指令的数量,进一步加快数据搬移。
电路设置如下。接上12伏电源,将USB 集线器插入到FT313H EVM模块的下行端口,然后将键盘和闪存插入集线器上的USB端口 。下一步把显示器连接到VGA端口并且打开显示器。等到显示器上出现登录界面,使用USB键盘输入字符‘root’(所有小写),按回车键登录嵌入式Linux。通过键盘你再发出下一条命令‘cd /media/sda1’(但在‘cd’之后一定要加一个空格)。最后通过键盘发出‘./play demo.avi’命令来停止播放。要停止播放,只需关闭电源12伏供电。
这个电路中的演示平台(可以接入DevKit8600平台,VGA适配器,桥接板和EVM模块),产品编号为UMFT313EV。它可以方便的在市场上买到并集成到嵌入式系统做为设计的原型验证。
凭藉着对於大量数据传输的需求,市场仍殷切期盼着USB高速主机解决方案。这里讨论的电路展示了FT313H与微处理器/微控制器单元集成,为系统设计添加USB功能时的性能。它展示了将USB主控芯片集成到基于Linux的系统设计所带来的操作便利性,使系统的微控制器/微处理器可以受益于本地驱动支持。这意味着,可以直接实现开发,避免驱动开发的障碍。