經(jīng)過前期數(shù)據(jù)處理過后,我們已經(jīng)得到每個具有完整加減速段的脈沖數(shù)PS,和每個小段的脈沖數(shù)Px、Py、Pz、Pl,這些數(shù)據(jù)由多軸數(shù)控雕銑機(jī)系統(tǒng)的MCU通過USB接口讀入SDRAM后再送給FPGA執(zhí)行。而初速度v0,加速度α(該系統(tǒng)采用的是設(shè)定恒定加速度的加減速方式),以及設(shè)定加工速度即最大速度Vmax則從鍵盤輸入,通過MCU顯示到液晶屏上,并通過16位的數(shù)據(jù)總線送給FPGA。
最終送入FPGA執(zhí)行的數(shù)據(jù),由原始的每小段的數(shù)據(jù)x、y、z轉(zhuǎn)換成Px、Py、Pz、Pl、Ps。MCU和FPGA的數(shù)據(jù)傳送通過16位的數(shù)據(jù)總線來完成,通過對FPGA的編程,生成一級數(shù)據(jù)緩存,當(dāng)ARM檢測到緩存為空且自身有數(shù)據(jù)要向FPGA傳輸?shù)臅r候,MCU便向FPGA的緩存中寫入下一小段數(shù)據(jù),其接口方式相當(dāng)于MCU在讀寫一個外部存儲器。當(dāng)FPGA的下一級功能執(zhí)行模塊完成其功能處于空閑狀態(tài)時,如果緩存中有數(shù)據(jù)就立刻來執(zhí)行,并清空緩存,MCU繼續(xù)送下一段數(shù)據(jù)。緩存的作用不僅方便MCU和FPGA的數(shù)據(jù)傳輸,并且16位由總線送入的數(shù)據(jù)全部轉(zhuǎn)換成并行的數(shù)據(jù)后等待FPGA的下一級功能模塊的讀取,大大縮短了FPGA的下一級功能模塊讀取并開始執(zhí)行下一小段數(shù)據(jù)的時間,消除了FPGA執(zhí)行完當(dāng)前數(shù)據(jù)后等待MCU再次送下一數(shù)據(jù)的時間,在FPGA中對前后兩段數(shù)據(jù)的銜接處理可以完全看成是連續(xù)的,以至于對外部電機(jī)的連續(xù)運(yùn)動不會造成絲毫的影響。