"本文主要探讨了PC机端的驱动程序,特别是针对USB接口的主从设备驱动的配置和使用。作者曹放在其硕士学位论文中详细阐述了如何实现主动USB接口和从动USB接口,以及相关的驱动程序开发。"
在PC机端的驱动程序中,Windows操作系统提供了多种驱动程序模型。其中,VxD(Virtual X Driver)是一种早期的驱动程序模型,主要用于管理和控制硬件资源,运行在RING0级别,具有最高的硬件访问权限。而KMD(Kernel Mode Driver)则在Windows NT内核模式下运行,类似于VxD。随着技术的发展,WDM(WIN32 Driver Model)模型被引入,旨在简化驱动程序开发,减少驱动数量并降低复杂性,它支持Windows NT内核态驱动,适用于更多的硬件设备。
针对USB设备,有两种主要角色:Host(主机)和Slave(从属设备)。通常,PC机作为USB主机,而市场上的USB产品多数作为从属设备。主动USB接口允许单片机或其他嵌入式系统直接与USB设备交互,如读写U盘,实现外挂式存储,具有广阔的应用前景。为了实现这一功能,论文中选用华邦公司的W78E54B作为主CPU,Cypress公司的SL811HS作为USB主/从控制芯片,构建了主动和从动USB接口模块。
在主动USB接口的软件设计上,系统包括USB主机控制器驱动程序、核心驱动程序和用户软件,能够执行设备枚举、配置等任务。此外,系统支持Mass Storage类协议,建立了一个简化的FAT文件系统,能处理U盘上的文件读写操作。
对于从动USB接口,论文介绍了设备端单片机固件程序的设计,以及在PC主机端采用VC++、DDK和DriverStudio开发的设备驱动程序和用户应用程序,实现数据传输。
整个系统经过实际验证,运行稳定,代码简洁,具有良好的可移植性,可方便地迁移到其他单片机或DSP等嵌入式系统中。关键词涵盖了主动/从动USB接口、U盘和单片机,强调了在嵌入式系统中实现USB接口的重要性及其技术挑战。
这篇论文详细介绍了USB主从设备的实现,以及在不同角色下驱动程序的开发,为嵌入式系统开发者提供了一种实用的技术方案。