對于在客戶軟件層的插補運算,必須將電機的運動使能、方向、速度和運動步數信息發往數控木工雕刻機底層的單片機,實現發送的通訊方式是通過USB傳輸,USB傳輸速度快,可以滿足插補運算過程中的大量插補數據傳輸的需求。
(1)電路連接圖
系統采用AT89S52控制PDIUSBD12傳輸數據,并將控制信號實時輸出。其電路連接示意圖如下圖所示。USB支持4種傳輸類型:中斷,控制,塊和同步。雕刻機系統可靠性是關鍵,在滿足數據傳輸速度要求的前提下,系統采用了控制傳輸和中斷傳輸兩種傳輸方式。
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設備建立通訊