可重用嵌入式USB主机驱动的设计与实现
发布时间:2020-05-08 07:55
【摘要】: USB是一种“主从”(主机/外设)结构的通用串行总线技术,具有简单灵活、高带宽、可靠性强、易于扩展和热插拔等优点,传统的USB主机大都位于PC上,USB设备只能连接PC进行应用。随着消费类电子产品的飞速发展,越来越多的嵌入式系统中集成了USB主机控制器,这就要求在嵌入式设备上实现一套USB主机驱动程序。 传统意义上的USB驱动程序开发都是针对USB外设驱动的开发,主控制器驱动大部分由操作系统来提供。在USB主机开发领域中,基于桌面的两大主流操作系统中,Windows不公开源码而Linux的代码却不方便移植;而在嵌入式操作系统中,诸如μCOS,VxWorks和QNX等OS的USB主机协议栈也是不公开的。因此,对于芯片设计和方案提供厂商来说,自主实现一整套通用性强且方便移植的USB主机驱动程序将会有更大的意义。 另外,在大多数自行开发的嵌入式USB系统软件中,底层驱动程序、操作系统和应用程序的界线往往是不清晰的,这样增加了软件的耦合度,一旦硬件和操作系统发生变更时,维护成本和风险大大增加,更降低了代码的可重用性。 在这种背景下,本文提出通过对现在较新版本Linux中的USB主机驱动程序进行裁减和移植,结合嵌入式系统的特点,设计出一套可重用性高,通用性强的嵌入式USB主机驱动程序。 本文先学习了USB主机系统的软硬件结构,在此基础上研究了Linux中USB的主机驱动架构,对移植的难度进行了分析。然后基于可重用的思想设计出了嵌入式系统中USB主机驱动的软件架构。接下来本文通过裁减和修改核心数据结构,替换OS接口等方法对Linux中USB主机驱动进行移植。 最后本文将USB主机驱动应用在一个高性能的嵌入式系统机顶盒中,实现对于大容量存储设备的支持。并通过测试给出了此USB主机驱动在可重用性、功能性和稳定性上的验证结论。
【图文】:
图 3-4 USB 主机驱动的软件目录结构. 3-4 Software Tree Structure of USB Host D看到,,/usb 位于/bus 下,说明 USB 是目录:/host_base 对应于主机驱动部分 USB 主机系统部分与硬件无关的代存放 OTG 驱动与设备无关的代码(O设备的实现协议[17]);/peripheral_base使用),相应的存放外设驱动与设备 USB 控制器,存放于 USB 主机控制 下,/device、 /usbd 、/hcd 分别对应目中为了支持 USB 大容量存储设备立/mass_stor 用于存放对应于这种类存放 usb 总线驱动程序,是整个 USB于不同类型(OHCI 等)的 USB 主机控制体硬件寄存器级的操作无关,所有硬件
【学位授予单位】:上海交通大学
【学位级别】:硕士
【学位授予年份】:2007
【分类号】:TP336
本文编号:2654366
【图文】:
图 3-4 USB 主机驱动的软件目录结构. 3-4 Software Tree Structure of USB Host D看到,,/usb 位于/bus 下,说明 USB 是目录:/host_base 对应于主机驱动部分 USB 主机系统部分与硬件无关的代存放 OTG 驱动与设备无关的代码(O设备的实现协议[17]);/peripheral_base使用),相应的存放外设驱动与设备 USB 控制器,存放于 USB 主机控制 下,/device、 /usbd 、/hcd 分别对应目中为了支持 USB 大容量存储设备立/mass_stor 用于存放对应于这种类存放 usb 总线驱动程序,是整个 USB于不同类型(OHCI 等)的 USB 主机控制体硬件寄存器级的操作无关,所有硬件
【学位授予单位】:上海交通大学
【学位级别】:硕士
【学位授予年份】:2007
【分类号】:TP336
【引证文献】
相关硕士学位论文 前2条
1 韩超;基于ARM的嵌入式USB/以太网转换器的设计与实现[D];安徽大学;2010年
2 王凤林;基于WCDMA的无线传感器网络的应用研究[D];苏州大学;2010年
本文编号:2654366
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2654366.html