一種數(shù)控系統(tǒng)及其輸出控制方法
【專利摘要】本發(fā)明公開的數(shù)控系統(tǒng)輸出控制方法,通過現(xiàn)場可編程門陣列接收數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);將脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算;當(dāng)判斷除法運(yùn)算的結(jié)果無余數(shù)時(shí),以除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,在此次插補(bǔ)周期開始時(shí),進(jìn)行參數(shù)更新并輸出;當(dāng)判斷除法運(yùn)算的結(jié)果有余數(shù)時(shí),以除法運(yùn)算得到的商加上余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,在此次插補(bǔ)周期開始時(shí),進(jìn)行參數(shù)更新并輸出;由上述過程得到一個(gè)插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)而可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,從而完成對負(fù)載精準(zhǔn)控制的使命。
【專利說明】一種數(shù)控系統(tǒng)及其輸出控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)控系統(tǒng)【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)控系統(tǒng)及其輸出控制方法。
【背景技術(shù)】
[0002]數(shù)控系統(tǒng)是用數(shù)字信號(hào)對電機(jī)進(jìn)行控制的加工系統(tǒng)?,F(xiàn)有技術(shù)中的基礎(chǔ)方案如圖1所示,數(shù)控系統(tǒng)100包括:ARM處理器101、數(shù)字信號(hào)處理器(digital signal processing,簡稱 DSP) 102 及現(xiàn)場可編程門陣列(Field — Programmable Gate Array,簡稱 FPGA) 103 ;其所帶負(fù)載包括:電機(jī)驅(qū)動(dòng)器104及電機(jī)105。
[0003]假設(shè)電機(jī)驅(qū)動(dòng)器104和電機(jī)105都已確定的情況下,且所開發(fā)的零件的加工程序一致,那么加工的效果就直接取決于數(shù)控系統(tǒng)100輸出的脈沖信號(hào)Pulse+/Pulse-的實(shí)際效果是否精準(zhǔn)實(shí)時(shí)平滑。
[0004]現(xiàn)有技術(shù)由DSP102決定參數(shù)收發(fā)同步。DSP102把每個(gè)插補(bǔ)周期的參數(shù)運(yùn)算好,根據(jù)其內(nèi)部定時(shí)每隔一個(gè)插補(bǔ)周期把這些參數(shù)向FPGA103更新一次,同時(shí)讀取FPGA103處理后的被控端反饋參數(shù)。FPGA103根據(jù)DSP102發(fā)來的信號(hào)來實(shí)現(xiàn)自身的參數(shù)同步。但是DSP102本身實(shí)時(shí)性不足,時(shí)間誤差范圍大概在IOOOns到IOus之間;且DSP102和FPGA103是兩個(gè)獨(dú)立的運(yùn)行環(huán)境,在參考時(shí)間上無法達(dá)到嚴(yán)格同步,這可能導(dǎo)致FPGA103對輸出信號(hào)的誤差累積。這兩點(diǎn)的不足是由系統(tǒng)硬件決定的,即使DSP102和FPGA103共用相同的時(shí)鐘也無法解決。所以現(xiàn)有方案無法精確解決FPGA103 —個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期的問題,從而不可能完成對所述負(fù)載精準(zhǔn)控制的使命。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供了一種數(shù)控系統(tǒng)及其輸出控制方法,以解決現(xiàn)有技術(shù)中控制不精準(zhǔn)的問題。
[0006]為了實(shí)現(xiàn)上述目的,現(xiàn)提出的方案如下:
[0007]一種數(shù)控系統(tǒng)輸出控制方法,應(yīng)用于數(shù)控系統(tǒng),所述數(shù)控系統(tǒng)包括:ARM處理器、數(shù)字信號(hào)處理器及現(xiàn)場可編程門陣列;所述數(shù)控系統(tǒng)輸出控制方法包括:
[0008]所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);
[0009]所述現(xiàn)場可編程門陣列將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算;
[0010]所述現(xiàn)場可編程門陣列判斷所述除法運(yùn)算的結(jié)果是否有余數(shù);
[0011]當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),所述現(xiàn)場可編程門陣列在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0012]當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出。
[0013]優(yōu)選的,所述預(yù)設(shè)的分配規(guī)則為:將所述余數(shù)從第一個(gè)脈沖開始逐一進(jìn)行分配,直至把所述余數(shù)分配完。
[0014]優(yōu)選的,在所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù)步驟之前還包括:
[0015]所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器;
[0016]所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);所述插補(bǔ)參數(shù)包括所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù)。
[0017]優(yōu)選的,所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào)的步驟包括:所述數(shù)字信號(hào)處理器在所述周期同步信號(hào)的某一信號(hào)沿輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);
[0018]所述現(xiàn)場可編程門陣列以所述周期同步信號(hào)的另外一個(gè)信號(hào)沿作為此次插補(bǔ)周期的開始時(shí)間。
[0019]優(yōu)選的,所述周期同步信號(hào)為占空比50%、周期為Ims的時(shí)鐘信號(hào)。
[0020]優(yōu)選的,在所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器的步驟之前還包括:
[0021]所述現(xiàn)場可編程門陣列由其內(nèi)部的計(jì)數(shù)器電路進(jìn)行定時(shí),生成所述周期同步信號(hào)。
[0022]一種數(shù)控系統(tǒng),包括:
[0023]ARM 處理器;
[0024]一端與所述ARM處理器相連的數(shù)字信號(hào)處理器;
[0025]一端與所述數(shù)字信號(hào)處理器的另一端相連的現(xiàn)場可編程門陣列,用于接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù),將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算,判斷所述除法運(yùn)算的結(jié)果是否有余數(shù),當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)7TT參數(shù)更新并輸出。
[0026]優(yōu)選的,所述數(shù)字信號(hào)處理器包括:輸出插補(bǔ)參數(shù)并讀取反饋信號(hào)的EMIFA并口。
[0027]優(yōu)選的,所述現(xiàn)場可編程門陣列還用于:輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器;
[0028]所述數(shù)字信號(hào)處理器還包括:接收所述周期同步信號(hào)的硬中斷或者中斷級別較高的中斷口 ;所述數(shù)字信號(hào)處理器還用于:根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);所述插補(bǔ)參數(shù)包括所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù)。
[0029]優(yōu)選的,所述現(xiàn)場可編程門陣列還包括:進(jìn)行定時(shí),使所述現(xiàn)場可編程門陣列生成所述周期同步信號(hào)的計(jì)數(shù)器電路。
[0030]從上述的技術(shù)方案可以看出,本發(fā)明公開的數(shù)控系統(tǒng)輸出控制方法,通過現(xiàn)場可編程門陣列接收數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);并將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算;然后當(dāng)判斷所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;當(dāng)判斷所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;由上述過程得到一個(gè)插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)而可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,從而完成對所述負(fù)載精準(zhǔn)控制的使命。
【專利附圖】
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1為現(xiàn)有技術(shù)的數(shù)控系統(tǒng)結(jié)構(gòu)示意圖;
[0033]圖2為本發(fā)明實(shí)施例公開的數(shù)控系統(tǒng)輸出控制方法流程圖;
[0034]圖3為本發(fā)明另一實(shí)施例公開的數(shù)控系統(tǒng)輸出控制方法流程圖;
[0035]圖4為本發(fā)明另一實(shí)施例公開的數(shù)控系統(tǒng)輸出控制方法流程圖;
[0036]圖5為本發(fā)明另一實(shí)施例公開的數(shù)控系統(tǒng)結(jié)構(gòu)示意圖;
[0037]圖6為本發(fā)明另一實(shí)施例公開的數(shù)控系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0039]本發(fā)明提供了一種數(shù)控系統(tǒng)輸出控制方法,以解決現(xiàn)有技術(shù)中控制不精準(zhǔn)的問題。
[0040]所述數(shù)控系統(tǒng)輸出控制方法應(yīng)用于數(shù)控系統(tǒng),所述數(shù)控系統(tǒng)包括:ARM處理器、數(shù)字信號(hào)處理器及現(xiàn)場可編程門陣列;所述數(shù)控系統(tǒng)輸出控制方法如圖2所示,包括:
[0041]S101、所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);
[0042]所述脈沖個(gè)數(shù)為所述數(shù)字信號(hào)處理器運(yùn)算好的結(jié)果,所述現(xiàn)場可編程門陣列接收所述脈沖個(gè)數(shù),為后續(xù)步驟做準(zhǔn)備。
[0043]S102、所述現(xiàn)場可編程門陣列將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算;
[0044]所述現(xiàn)場可編程門陣列內(nèi)存儲(chǔ)有此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù),具體的,可根據(jù)實(shí)際需要調(diào)整為某一個(gè)固定的值,此處視其具體的應(yīng)用環(huán)境而定;所述現(xiàn)場可編程門陣列將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),根據(jù)除法運(yùn)算算出此插補(bǔ)周期內(nèi)的每個(gè)脈沖實(shí)際所需的精確周期寬度。
[0045]S103、所述現(xiàn)場可編程門陣列判斷所述除法運(yùn)算的結(jié)果是否有余數(shù);
[0046]根據(jù)所述除法運(yùn)算的結(jié)果是否有余數(shù),可以應(yīng)用不同的處理方式,以得到此插補(bǔ)周期內(nèi)的每個(gè)脈沖實(shí)際所需的精確周期寬度。
[0047]S104、當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)更新并輸出;
[0048]具體的,當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),則所述現(xiàn)場可編程門陣列在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0049]當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),說明此插補(bǔ)周期內(nèi)的所述每個(gè)脈沖的周期寬度正好為整數(shù),整個(gè)插補(bǔ)周期的脈沖輸出時(shí)間,嚴(yán)格精準(zhǔn)等同于插補(bǔ)周期時(shí)長。
[0050]S105、當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)更新并輸出;
[0051]具體的,當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0052]當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),說明整個(gè)插補(bǔ)周期時(shí)長無法以整數(shù)形式均分給所述每個(gè)脈沖,所述現(xiàn)場可編程門陣列將所述余數(shù)按照所述預(yù)設(shè)的分配規(guī)則分配給某幾個(gè)脈沖,以使整個(gè)插補(bǔ)周期的脈沖輸出時(shí)間,嚴(yán)格精準(zhǔn)等同于插補(bǔ)周期時(shí)長。
[0053]本實(shí)施例公開的數(shù)控系統(tǒng)輸出控制方法,由上述過程得到一個(gè)插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)而可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,從而完成對所述負(fù)載精準(zhǔn)控制的使命。
[0054]優(yōu)選的,所述預(yù)設(shè)的分配規(guī)則為:將所述余數(shù)從第一個(gè)脈沖開始逐一進(jìn)行分配,直至把所述余數(shù)分配完;
[0055]當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),將所述余數(shù)從第一個(gè)脈沖開始,逐一進(jìn)行分配,每個(gè)脈沖多分配一個(gè)時(shí)鐘周期,直至把所述余數(shù)分配完。如此處理下來,在同一個(gè)插補(bǔ)周期內(nèi),大的脈沖寬度和小的脈沖寬度只相差一個(gè)時(shí)鐘周期。
[0056]值得說明的是,在具體的實(shí)施過程中,所述預(yù)設(shè)的分配規(guī)則并不一定限定為上述形式,只要能夠?qū)⑺鲇鄶?shù)分配給某幾個(gè)脈沖,使整個(gè)插補(bǔ)周期的脈沖輸出時(shí)間,嚴(yán)格精準(zhǔn)等同于插補(bǔ)周期時(shí)長,進(jìn)而可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,完成對所述負(fù)載精準(zhǔn)控制的使命即可。
[0057]本發(fā)明另一實(shí)施例還提供了一種數(shù)控系統(tǒng)輸出控制方法,具體的,如圖3所示,包括:
[0058]S201、所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器;
[0059]具體的,所述數(shù)控系統(tǒng)所控制的被控系統(tǒng),如加工系統(tǒng)或者運(yùn)動(dòng)系統(tǒng),一般都含有多個(gè)驅(qū)動(dòng)軸,所述現(xiàn)場可編程門陣列通過所述現(xiàn)場可編程門陣列內(nèi)部各軸控制多個(gè)所述驅(qū)動(dòng)軸;相應(yīng)的,所述現(xiàn)場可編程門陣列內(nèi)部各軸具體是指:所述現(xiàn)場可編程門陣列內(nèi)部的分別對應(yīng)控制各個(gè)所述驅(qū)動(dòng)軸的各個(gè)模塊。
[0060]所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器,從而使得整個(gè)數(shù)控系統(tǒng)獲得精準(zhǔn)穩(wěn)定的同步信息;在后續(xù)步驟中所述現(xiàn)場可編程門陣列內(nèi)部各軸可以根據(jù)所述周期同步信號(hào)同時(shí)進(jìn)行參數(shù)更新,以確保所述現(xiàn)場可編程門陣列內(nèi)部的同步工作;同時(shí)所述數(shù)字信號(hào)處理器及所述現(xiàn)場可編程門陣列內(nèi)部各軸同時(shí)接收到所述周期同步信號(hào),也消除了所述現(xiàn)場可編程門陣列與所述數(shù)字信號(hào)處理器之間的誤差累計(jì)。
[0061]S202、所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);
[0062]具體的,所述插補(bǔ)參數(shù)包括所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);所述反饋信號(hào)指所述現(xiàn)場可編程門陣列處理后的被控端反饋信號(hào);
[0063]所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取所述反饋信號(hào),使得所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào)進(jìn)行工作,避免了所述數(shù)字信號(hào)處理器的實(shí)時(shí)性差的問題。
[0064]S203、所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);
[0065]S204、所述現(xiàn)場可編程門陣列將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算;
[0066]S205、所述現(xiàn)場可編程門陣列判斷所述除法運(yùn)算的結(jié)果是否有余數(shù);
[0067]S206、當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)更新并輸出;
[0068]具體的,當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),則所述現(xiàn)場可編程門陣列在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0069]S207、當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)更新并輸出;
[0070]具體的,當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出。
[0071]本實(shí)施例公開的數(shù)控系統(tǒng)輸出控制方法,不僅可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,完成對所述負(fù)載精準(zhǔn)控制的使命;同時(shí),根據(jù)所述周期同步信號(hào),控制所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào)進(jìn)行工作,避免了所述數(shù)字信號(hào)處理器的實(shí)時(shí)性差的問題,也確保了所述現(xiàn)場可編程門陣列內(nèi)部的同步工作,保證了所述數(shù)控系統(tǒng)對于被控系統(tǒng)的所有驅(qū)動(dòng)軸的同步、精準(zhǔn)且平滑的控制;同時(shí)也消除了與所述數(shù)字信號(hào)處理器之間的累積誤差,使得所述數(shù)控系統(tǒng)能夠輸出同步、精準(zhǔn)且平滑的脈沖信號(hào)。
[0072]優(yōu)選的,步驟S202中,所述數(shù)字信號(hào)處理器具體在所述周期同步信號(hào)的某一信號(hào)沿輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);
[0073]步驟S206中,當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),所述現(xiàn)場可編程門陣列在所述周期同步信號(hào)的另外一個(gè)信號(hào)沿,以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0074]步驟S207中,當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在所述周期同步信號(hào)的另外一個(gè)信號(hào)沿,以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0075]所述數(shù)字信號(hào)處理器在所述周期同步信號(hào)的某一信號(hào)沿,如上升沿或下降沿,輸出插補(bǔ)參數(shù)并讀取反饋信號(hào),所述現(xiàn)場可編程門陣列接收所述插補(bǔ)參數(shù)后進(jìn)行除法運(yùn)算,然后在所述周期同步信號(hào)的另外一個(gè)信號(hào)沿,如果所述信號(hào)處理器采用上升沿,則此處采用下降沿,如果所述信號(hào)處理器采用下降沿,則此處采用上升沿,進(jìn)行參數(shù)的更新并輸出,使得所述數(shù)字信號(hào)處理器及所述現(xiàn)場可編程門陣列均根據(jù)所述周期同步信號(hào)工作,消除了兩者之間的時(shí)間誤差,使得所述數(shù)控系統(tǒng)能夠輸出同步、精準(zhǔn)且平滑的脈沖信號(hào)。
[0076]值得說明的是,在具體的應(yīng)用環(huán)境中,關(guān)于信號(hào)沿的采用,可以視具體環(huán)境而定,只要保證所述信號(hào)處理器輸出插補(bǔ)參數(shù)并讀取反饋信號(hào)所采用的信號(hào)沿,與所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)的更新并輸出所采用的信號(hào)沿相反即可。
[0077]優(yōu)選的,所述周期同步信號(hào)為占空比50%、周期為Ims的時(shí)鐘信號(hào)。
[0078]值得說明的是,所述周期同步信號(hào)的占空比并沒有嚴(yán)格要求,周期也沒嚴(yán)格要求。這兩個(gè)值的設(shè)定標(biāo)準(zhǔn)是:在所述數(shù)字信號(hào)處理器和可編程邏輯器件能對其信號(hào)處理得過來的范圍內(nèi),可根據(jù)其實(shí)際需要進(jìn)行調(diào)整,根據(jù)其應(yīng)用環(huán)境而定,此處只是一種示例,并不做限定。
[0079]本發(fā)明另一實(shí)施例還提供了一種數(shù)控系統(tǒng)輸出控制方法,具體的,如圖4所示,包括:
[0080]S301、所述現(xiàn)場可編程門陣列由其內(nèi)部的計(jì)數(shù)器電路進(jìn)行定時(shí),生成所述周期同步號(hào);
[0081]所述現(xiàn)場可編程門陣列由其內(nèi)部的所述計(jì)數(shù)器電路進(jìn)行定時(shí)實(shí)現(xiàn)同步,生成的所述周期同步信號(hào)精準(zhǔn)可靠。
[0082]S302、所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器;
[0083]S303、所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);所述插補(bǔ)參數(shù)包括所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);
[0084]S304、所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);
[0085]S305、所述現(xiàn)場可編程門陣列將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算;
[0086]S306、所述現(xiàn)場可編程門陣列判斷所述除法運(yùn)算的結(jié)果是否有余數(shù);
[0087]S307、當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)更新并輸出;
[0088]具體的,當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),則所述現(xiàn)場可編程門陣列在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0089]S308、當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列進(jìn)行參數(shù)更新并輸出;
[0090]具體的,當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出。
[0091]本實(shí)施例公開的數(shù)控系統(tǒng)輸出控制方法,不僅可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,完成對所述負(fù)載精準(zhǔn)控制的使命;同時(shí),通過所述硬件定時(shí),生成精準(zhǔn)可靠的所述周期同步信號(hào),消除了與所述數(shù)字信號(hào)處理器之間的累積誤差,使得所述數(shù)控系統(tǒng)能夠輸出同步、精準(zhǔn)且平滑的脈沖信號(hào)。
[0092]本發(fā)明另一實(shí)施例還提供了一種數(shù)控系統(tǒng),具體的,如圖5所示,包括:
[0093]ARM 處理器 501;
[0094]一端與ARM處理器501相連的數(shù)字信號(hào)處理器502 ;
[0095]一端與數(shù)字信號(hào)處理器502的另一端相連的現(xiàn)場可編程門陣列503。
[0096]具體的工作原理為:
[0097]ARM處理器501實(shí)現(xiàn)人機(jī)界面和G代碼編解碼;數(shù)字信號(hào)處理器502實(shí)現(xiàn)插補(bǔ)處理,把插補(bǔ)周期期間伺服軸所需的脈沖個(gè)數(shù)等參數(shù)發(fā)送給現(xiàn)場可編程門陣列503 ;現(xiàn)場可編程門陣列503接收數(shù)字信號(hào)處理器502輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù),將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算,判斷所述除法運(yùn)算的結(jié)果是否有余數(shù),當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出。
[0098]本實(shí)施例公開的數(shù)控系統(tǒng),由現(xiàn)場可編程門陣列503采用上述除法運(yùn)算的過程,得到一個(gè)插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)而可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,從而完成對所述負(fù)載精準(zhǔn)控制的使命。
[0099]優(yōu)選的,數(shù)字信號(hào)處理器502包括:輸出插補(bǔ)參數(shù)并讀取反饋信號(hào)的EMIFA并口。
[0100]優(yōu)選的,現(xiàn)場可編程門陣列503還用于:輸出周期同步信號(hào)至現(xiàn)場可編程門陣列503內(nèi)部各軸及數(shù)字信號(hào)處理器502 ;
[0101]如圖6所示,數(shù)字信號(hào)處理器502還包括:接收所述周期同步信號(hào)的硬中斷或者中斷級別較高的中斷口 ;數(shù)字信號(hào)處理器502還用于:根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);所述插補(bǔ)參數(shù)包括所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù);所述反饋信號(hào)指所述現(xiàn)場可編程門陣列處理后的被控端反饋信號(hào)。
[0102]具體的,數(shù)字信號(hào)處理器502可以在所述周期同步信號(hào)的某一信號(hào)沿輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),現(xiàn)場可編程門陣列503在所述周期同步信號(hào)的另外一個(gè)信號(hào)沿,以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),現(xiàn)場可編程門陣列503根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在所述周期同步信號(hào)的另外一個(gè)信號(hào)沿,以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;
[0103]如此處理下來,則每個(gè)脈沖的寬度都均勻了,同一個(gè)插補(bǔ)周期內(nèi),大的脈沖寬度和小的只相差一個(gè)時(shí)鐘周期。通過現(xiàn)場可編程門陣列503內(nèi)的計(jì)數(shù)器進(jìn)行控制,當(dāng)輸出完所需的脈沖數(shù)的時(shí)候,正好走過一個(gè)同步插補(bǔ)周期的時(shí)鐘數(shù)。另外,因?yàn)楝F(xiàn)場可編程門陣列503內(nèi)部各軸,即其內(nèi)部分別對應(yīng)控制各個(gè)被控系統(tǒng)驅(qū)動(dòng)軸的各個(gè)模塊,都在相同的周期同步信號(hào)沿進(jìn)行同步和更新,從而達(dá)到了對于所述被控系統(tǒng)所有驅(qū)動(dòng)軸的同步、精準(zhǔn)、平滑控制。
[0104]數(shù)字信號(hào)處理器502采用EMIFA并口輸出插補(bǔ)參數(shù)并讀取反饋信號(hào),采用硬中斷或者中斷級別較高的中斷口接收所述周期同步信號(hào),其硬件功能強(qiáng)大、結(jié)構(gòu)合理;使得對實(shí)時(shí)性要求不高的工作可以交由ARM處理器501和數(shù)字信號(hào)處理器502處理,對實(shí)時(shí)與精準(zhǔn)控制要求極高的工作交由現(xiàn)場可編程門陣列503處理,進(jìn)而使整個(gè)系統(tǒng)能夠達(dá)到實(shí)時(shí)精準(zhǔn)平滑的控制目的。
[0105]優(yōu)選的,現(xiàn)場可編程門陣列503還包括:進(jìn)行定時(shí),使所述現(xiàn)場可編程門陣列生成所述周期同步信號(hào)的計(jì)數(shù)器電路。
[0106]現(xiàn)場可編程門陣列503由其內(nèi)部的所述計(jì)數(shù)器電路進(jìn)行定時(shí)實(shí)現(xiàn)同步,生成的所述周期同步信號(hào)精準(zhǔn)可靠。
[0107]具體的,現(xiàn)場可編程門陣列503采用上述實(shí)施例所述的除法運(yùn)算,得到一個(gè)插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)而可以精準(zhǔn)的確定一個(gè)插補(bǔ)周期包含有多少個(gè)時(shí)鐘周期,使所述數(shù)控系統(tǒng)輸出的所述脈沖信號(hào)的控制精度能夠達(dá)到現(xiàn)場可編程門陣列503內(nèi)部時(shí)鐘的一個(gè)時(shí)鐘周期,從而完成對所述負(fù)載精準(zhǔn)控制的使命?,F(xiàn)場可編程門陣列503內(nèi)部的所述計(jì)數(shù)器電路輸出的內(nèi)部時(shí)鐘頻率f若為100MHz,則所述數(shù)控系統(tǒng)能達(dá)到的精度為t=1000/f=10ns ;若其內(nèi)部時(shí)鐘頻率f提升到200MHz,則精度提升到5ns ;此處并不做限定,在具體的應(yīng)用環(huán)境中可以使其具體情況而定。
[0108]本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
[0109]對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種數(shù)控系統(tǒng)輸出控制方法,其特征在于,應(yīng)用于數(shù)控系統(tǒng),所述數(shù)控系統(tǒng)包括:ARM處理器、數(shù)字信號(hào)處理器及現(xiàn)場可編程門陣列;所述數(shù)控系統(tǒng)輸出控制方法包括: 所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù); 所述現(xiàn)場可編程門陣列將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算; 所述現(xiàn)場可編程門陣列判斷所述除法運(yùn)算的結(jié)果是否有余數(shù); 當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),所述現(xiàn)場可編程門陣列在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出; 當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),所述現(xiàn)場可編程門陣列根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出。
2.根據(jù)權(quán)利要求1所述的數(shù)控系統(tǒng)輸出控制方法,其特征在于,所述預(yù)設(shè)的分配規(guī)則為:將所述余數(shù)從第一個(gè)脈沖開始逐一進(jìn)行分配,直至把所述余數(shù)分配完。
3.根據(jù)權(quán)利要求1所述的數(shù)控系統(tǒng)輸出控制方法,其特征在于,在所述現(xiàn)場可編程門陣列接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù)步驟之前還包括: 所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器; 所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);所述插補(bǔ)參數(shù)包括所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù)。
4.根據(jù)權(quán)利要求2所述的數(shù)控系統(tǒng)輸出控制方法,其特征在于,所述數(shù)字信號(hào)處理器根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào)的步驟包括:所述數(shù)字信號(hào)處理器在所述周期同步信號(hào)的某一信號(hào)沿輸出插補(bǔ)參數(shù)并讀取反饋信號(hào); 所述現(xiàn)場可編程門陣列以所述周期同步信號(hào)的另外一個(gè)信號(hào)沿作為此次插補(bǔ)周期的開始時(shí)間。
5.根據(jù)權(quán)利要求3所述的數(shù)控系統(tǒng)輸出控制方法,其特征在于,所述周期同步信號(hào)為占空比50%、周期為Ims的時(shí)鐘信號(hào)。
6.根據(jù)權(quán)利要求2所述的數(shù)控系統(tǒng)輸出控制方法,其特征在于,在所述現(xiàn)場可編程門陣列輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器的步驟之前還包括: 所述現(xiàn)場可編程門陣列由其內(nèi)部的計(jì)數(shù)器電路進(jìn)行定時(shí),生成所述周期同步信號(hào)。
7.—種數(shù)控系統(tǒng),其特征在于,包括: ARM處理器; 一端與所述ARM處理器相連的數(shù)字信號(hào)處理器; 一端與所述數(shù)字信號(hào)處理器的另一端相連的現(xiàn)場可編程門陣列,用于接收所述數(shù)字信號(hào)處理器輸出的一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù),將所述脈沖個(gè)數(shù)作為除數(shù),將此插補(bǔ)周期內(nèi)的時(shí)鐘周期數(shù)作為被除數(shù),做除法運(yùn)算,判斷所述除法運(yùn)算的結(jié)果是否有余數(shù),當(dāng)所述除法運(yùn)算的結(jié)果無余數(shù)時(shí),在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出;當(dāng)所述除法運(yùn)算的結(jié)果有余數(shù)時(shí),根據(jù)預(yù)設(shè)的分配規(guī)則將所述余數(shù)分配給某幾個(gè)脈沖,在此次插補(bǔ)周期開始時(shí),以所述除法運(yùn)算得到的商加上所述余數(shù)分配所得的值作為此次插補(bǔ)周期內(nèi)的每個(gè)脈沖的周期寬度,進(jìn)行參數(shù)更新并輸出。
8.根據(jù)權(quán)利要求7所述的數(shù)控系統(tǒng),其特征在于,所述數(shù)字信號(hào)處理器包括:輸出插補(bǔ)參數(shù)并讀取反饋信號(hào)的EMIFA并口。
9.根據(jù)權(quán)利要求7所述的數(shù)控系統(tǒng),其特征在于,所述現(xiàn)場可編程門陣列還用于:輸出周期同步信號(hào)至所述現(xiàn)場可編程門陣列內(nèi)部各軸及所述數(shù)字信號(hào)處理器; 所述數(shù)字信號(hào)處理器還包括:接收所述周期同步信號(hào)的硬中斷或者中斷級別較高的中斷口 ;所述數(shù)字信號(hào)處理器還用于:根據(jù)所述周期同步信號(hào),輸出插補(bǔ)參數(shù)并讀取反饋信號(hào);所述插補(bǔ)參數(shù)包括 所述一個(gè)插補(bǔ)周期內(nèi)的脈沖個(gè)數(shù)。
10.根據(jù)權(quán)利要求7所述的數(shù)控系統(tǒng),其特征在于,所述現(xiàn)場可編程門陣列還包括:進(jìn)行定時(shí),使所述現(xiàn)場可編程門陣列生成所述周期同步信號(hào)的計(jì)數(shù)器電路。
【文檔編號(hào)】G05B19/4103GK103838183SQ201410112177
【公開日】2014年6月4日 申請日期:2014年3月24日 優(yōu)先權(quán)日:2014年3月24日
【發(fā)明者】禤大祥 申請人:深圳市英威騰電氣股份有限公司