數控木工雕刻機的數控系統的USB驅動程序的編寫,采用Mitmsoft公司的Windows2000DDK.并以VC++6.0作為輔助開發環境。其中USB主控制器驅動程序和USB總線驅動程序封裝在Windows操作系統內,由Microsoft公司提供,開發者只要編寫數控木工雕刻機的數控系統的USB設備驅動程序。USB設備驅動程序并不與硬件對話,需使用USB總線驅動程序接口(USBDI)和硬件設備進行通信。USBDI是WDM分層結構的一部分,提供了USB設備驅動程序訪問USB主機驅動程序棧的接口,I/O請求包(IRP)是驅動程序操作的核心。IRP是一個內核對象,它是一個預先定義的數據結構,帶有一組對它進行操作的I/O管理器例程,USBDI使用IRP管理USB設備驅動程序和USB主機驅動程序棧之間的通信。這些IRP、具有相同的主功能代碼IRP_MJ_INTERNAL_DEVICE_CONTROL,且其下一個I/O棧單元的Parameters.DeviceIoContro.lIoControlCode字段設置為USBI的內部IOCTL,以指明該IRP所實現的具體功能。通過調用IoBuildDeviceIoControlRequest函數實現IOCTL和IOCTLIRP。其中最主要的是IOCTL_INTERNAL_USB_SUB_SUBMIT_URB,它發出USB請求塊(URB)由USB類驅動程序處理。
下一篇:雕銑機數控系統的USB固件要求