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