
摘 要:針對制約數控系統處理速度提高的瓶頸,利用專用集成電路(Application Specific Integrated Circuit,ASIC)技術設計具有獨立功能的硬件芯片,用于承擔相應的數控功能的思路得到了應用,有效地提高了數控機床綜合加工能力。本文主要論述了在Maxplus2_10.0開發平臺上,運用硬件描述語言VHDL設計逐點比較法直線插補程序和逐點比較法圓弧插補程序。
關鍵詞:插補算法;現場可編程邏輯門陣列;超高速集成電路硬件描述語言
隨著微處理器技術的進步,數控系統的計算和控制精度已經不是主要問題,處理速度也得到了較大幅度的提高。但對于利用純軟件完成數控系統功能來說,執行控制程序需要一定的時間,相對一定運行頻率的微處理器而言,速度的提高不是無限制的。特別是對于超高速加工場合,隨著數控設備中關鍵功能部件的技術突破,如果繼續采用全軟件方法來實現數控加工功能,其速度和加工效率將無法得到進一步提高。因此,針對制約數控系統處理速度提高的瓶頸,利用專用集成電路(Application Specific Integrated Circuit,ASIC)技術設計具有獨立功能的硬件芯片,用于承擔相應的數控功能的思路得到了應用,有效地提高了數控機床綜合加工能力。自從20世紀70年代可編程邏輯器件得以廣泛應用以來,先后有多種復雜度不同的PLD 器件問世。其中現場可編程門陣列(Field Programmable Gate Array,FPGA)是目前規模最大、資源最多的一類,用于實現復雜的邏輯功能。
一、該設計所做的主要工作
1.逐點比較法插補原理
本次設計涉及到逐點比較法(直線插補和圓弧插補)原理。由于篇幅限制,這里只簡單說明逐點比較法直線插補算法原理中偏差函數的設計(下面章節中也只講這種插補方法)。
逐點比較法直線插補算法原理中偏差函數的表達最為重要。程序通過對偏差函數值的判斷輸出X軸或Y軸的脈沖進給信號。采用遞推算式求取偏差函數值,設第i次插補后,偏差函數為Fi=XeYi-XiYe,若Fi≥0,刀具應向(+X)方向進給一步,新動點坐標值為Xi+1=Xi+1、Yi+1=Yi,則新偏差函數為Fi+1=Fi-Ye;當Fi<0時,刀具應向(+Y)方向進給一步,新的動點坐標值為Xi+1=Xi、Yi+1=Yi+1,則新偏差函數為Fi+1=Fi+Xe。最后進行總步長數法判別,控制刀具到達終點。
2.逐點比較法直線插補程序設計
給出逐點比較法第一象限直線插補程序流程圖,其中Xe、Ye是X軸、Y軸的終點坐標值,Jf是偏差函數值,TOTAL_CNT是總步長數。其次給出數字積分法第一象限圓弧插補程序流程圖,其中JVX、JVY分別是XY軸的被積函數寄存器,JRX、JRY分別是XY軸的余數寄存器,JX、JY分別是XY軸的總步長數寄存器。逐點比較法直線插補程序設計流程圖:
二、主要成果
將逐點比較法直線插補程序按照VHDL語言編寫格式輸入到Maxplus2軟件中,并仿真波形,可得到XY兩軸的脈沖進給信號輸出情況。這里初始化要插補的直線終點坐標為(5,7),起點為原點,直線在第一象限。X軸方向脈沖進給個數為5個,Y軸方向脈沖進給個數為7個。且各軸的進給脈沖先后順序如圖2所示,符合理論推導的結果。
本次設計研究,對我校教師的學習能力、設計動手能力是一次提高,同時也能提高學生對時序邏輯電路的認識。針對插補原理單獨設計程序,使學生了解VHDL(硬件描述語言)在FPGA(可編程邏輯門陣列)的使用方法,能開拓學生的視野。