数控木工雕刻机的数控系统的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固件要求