对于在客户软件层的插补运算,必须将电机的运动使能、方向、速度和运动步数信息发往数控木工雕刻机底层的单片机,实现发送的通讯方式是通过USB传输,USB传输速度快,可以满足插补运算过程中的大量插补数据传输的需求。
(1)电路连接图
沐鸣2 系统采用AT89S52控制PDIUSBD12传输数据,并将控制信号实时输出。其电路连接示意图如下图所示。USB支持4种传输类型:中断,控制,块和同步。雕刻机系统可靠性是关键,在满足数据传输速度要求的前提下,系统采用了控制传输和中断传输两种传输方式。
沐鸣2 PDIUSBD12的固件设计成完全的中断驱动,采用KeilC51进行编写。USB的传输可在后台进行,它的基本思想是:后台ISR(中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现。整个单片机程序中,对电机的控制脉冲的输出的实时性要求最高,所以设定了定时器中断的级别为高级别,对于单片机内部的循环缓冲区,定时器中断程序检查循环缓冲区的填充情况,并在允许的时候重新打开低级的中断服务。
(3)USB设备驱动程序开发
开发USB接口设备驱动程序必须遵守WDM(Windows驱动程序模型)规范。WDM驱动程序有两个主要的初始化入口点)DriverEntry和AddDevice例程。DrvierEntry主要工作是把各种函数指针填入驱动程序对象,以注册其它回调例程。PnP管理器将为每个硬件实例调用一次AddDevice例程,AddDevice函数的主要工作是创建一个设备对象并把它连接到设备堆栈中。驱动程序与应用程序和硬件之间通信都是IRP(I/O请求包)完成的。在运行过程中,内核会调用不同的回调例程来完成不同的IRP。DriverUnload则是在设备卸载时的清除例程。
(4)USB应用程序开发
完成了USB固件程序开发和USB设备驱动程序开发后,就可以编写上层的USB主机客户程序,真正发挥USB设备的作用。应用程序通过访问API通信函数,使位于上层的应用程序与位于下层的设备驱动程序进行数据交换。
上一篇:数控雕铣机数控系统的插补运算
下一篇:数控雕铣机与USB设备建立通讯