论文部分内容阅读
本文探讨了怎样在多媒体数字机顶盒系统中,增加对嵌入式USB(通用串行总线)主机接口的支持,以及相关的上层应用。首先,研究了目前国内外在嵌入式USB主机设计方面的最新进展和相关的USB产品,在此基础之上,探讨了两种实现USB主机接口的方案:(1)USB主机控制器+CPU,(2)(USB主机控制器+MCU)+CPU。综合考虑两种方案的优缺点之后,采用了方案(1)来实现该USB主机接口,并选用满足USB1.1协议标准的USB主机控制器芯片SL811HS来设计硬件电路。接下来,探讨了USB主机协议栈软件系统的实现,这是整个系统设计的难点和关键。在USB协议栈的结构上,目前的各种实现方案基本上都是类似的,包括windows和linux等PC机系统,它们普遍采用了分层结构。为了方便起见,设计实现时参照了linux较早版本的内核源代码中USB驱动系统的设计,并对它进行了适当的修改以满足嵌入式实时系统的要求。另外,由于最初的设计目的是在数字机顶盒上支持移动存储设备,所以协议栈中没有实现除MassStorage设备类外的其它设备类(如HID类),并且不支持ISO(同步传输)传输,但由于整个驱动系统的模块化很好,这些功能很容易扩展上去。最后,基于设计出来的USB主机接口硬件电路和相应的驱动系统,探讨了相关的上层应用,如基于DVB-S的文件播控系统、基于USB文件存储的MP3播放器设计、基于USB移动存储设备的机顶盒软件升级等等。同时,进行了相关的性能指标测试,并对比分析了两种USB主机接口实现方案,各种参数都达到了预期的设计要求。对于在设计过程中出现的各种问题,如超时干扰等,本文也在最后比较详细地加以分析,并列出了具体实现时对这些问题的相应解决方法。