论文部分内容阅读
本论文研究在以Motorola coldfire 5307为CPU的硬件平台以及uClinux操作系统构成的软件平台共同组成的嵌入式Web服务器上,采用Cypress公司的SL811HS USB主机接口芯片实现的USB主机接口技术。 通用串行总线(USB)是一种高传输速率的串行接口总线,由于它具有即插即用、易于扩展和高传输速率的特点,被广为应用于各种计算机外设、数字设备以及工业领域之中。 目前国内对USB进行研究的人己经相当多,但大多是在Windows平台下进行的,而对嵌入式操作系统特别是uClinux环境下USB的研究并不多,随着近年嵌入式系统的使用范围日广,USB接口在嵌入式系统中的研究也越来越深入。传统意义的USB开发,仅仅是对USB外设的开发,USB底层驱动程序和USB主控制器驱动程序都由Windows等操作系统提供,而我们在嵌入式Web服务器上实现的USB主机接口,是在开放源代码的uClinux环境下自行开发的专门针对Hid设备类鼠标和MassStorage类优盘等USB设备的USB底层驱动程序和主控制驱动程序,实现了USB主机的嵌入式化,为USB在移动设备领域和各种嵌入式系统等没有PC的领域中的广泛应用打下坚实基础。 论文首先分析了嵌入式系统的特点及嵌入式系统中USB主机接口技术的发展趋势,介绍了自行研制开发的基于嵌入式Web服务器的USB主机接口的硬件、软件总体结构及开发环境,阐述了在嵌入式系统中实现USB主机接口驱动的设计方法。 论文在详细剖析USB接口协议的基础上,在uClinux环境下对USB子系统进行了分析,其中详细分析了USB的文件系统、USB子系统的软件结构、操作系统内核与驱动程序的关系,给出在此系统中进行驱动程序开发的原理及思想。 论文最后从介绍USB设备类入手,通过对USB体系结构的深入研究,在uClinux系统中实现了USB的Hid设备类鼠标和MassStorage设备类优盘驱动的编写和添加。在uClinux的嵌入式系统中实现USB主机接口,必须在操作系统中实现一个USB的协议栈。在栈的基础上,再叠加设备类驱动,最后在设备类驱动上面实现设备应用。从uClinux操作系统中实现的USB协议栈与Windows系统中实现的USB协议栈的最大区别就是设备类的完整性。在uClinux系统中因受资源的有限性和应用需求的实际性制约,并不需要把所有的设备类都实现。只要根据不同的应用需求,在可裁减的在某一单一系统中实现设备类即可。对于我们的嵌入式Web服务器项目而言,只需添加USB的Hid类鼠标和MassStorage类优盘设备驱动程序即可。