• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于同步異構(gòu)DSP的CLA模塊的脈沖均分算法研究*

    2020-03-10 08:34:04梁磊磊何高清
    機(jī)電工程 2020年2期
    關(guān)鍵詞:脈沖數(shù)均分實時性

    梁磊磊,何高清

    (合肥工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 合肥 230009)

    0 引 言

    插補(bǔ)算法的質(zhì)量直接影響數(shù)控系統(tǒng)的精度和速度, 是數(shù)控機(jī)床的重要技術(shù)指標(biāo)。插補(bǔ)器是數(shù)控系統(tǒng)用來完成運動軌跡擬合的程序或硬件。數(shù)控系統(tǒng)的插補(bǔ)算法大致分為:脈沖當(dāng)量法與數(shù)字積分法[1]。(1)脈沖當(dāng)量法適用對速度與精度要求不高,以步進(jìn)電機(jī)為主要控制對象的開環(huán)數(shù)控系統(tǒng)[2];而現(xiàn)在的數(shù)控系統(tǒng)大都采用數(shù)字積分法插補(bǔ),相較于脈沖當(dāng)量插補(bǔ),數(shù)字積分法擁有更高的插補(bǔ)速度與精度。(2)數(shù)字積分法包括粗插補(bǔ)與精插補(bǔ),其中粗插補(bǔ)是將給定的軌跡分割為較大的段,完成插補(bǔ)的預(yù)處理;精插補(bǔ)是將粗插補(bǔ)算出的直線段再細(xì)分,進(jìn)行插補(bǔ)運算,并形成最后的脈沖輸出,從而精確地控制電機(jī)的運動。精插補(bǔ)的關(guān)鍵在于實現(xiàn)輸出脈沖的均勻化,若只采用CPU完成精插補(bǔ),則會消耗CPU大量的時間資源,影響其他通訊與控制程序的執(zhí)行,降低系統(tǒng)的實時性。為了提高系統(tǒng)的實時性,同時完成輸出脈沖均勻化的運動控制,當(dāng)前主流的解決方案是由主CPU完成粗插補(bǔ),再由CPLD、FPGA或運動控制卡等模塊,獨立完成精插補(bǔ)程序[3-8]。但是,這種結(jié)構(gòu)增加了控制系統(tǒng)的硬件與軟件的復(fù)雜度,開發(fā)難度大,不利于在空間要求高的緊湊型數(shù)控系統(tǒng)中使用。

    本研究提出一種基于同步異構(gòu)DSP的CLA模塊的脈沖均分插補(bǔ)器(CLA是TMS320F28377芯片中可以獨立于CPU運行的內(nèi)嵌模塊,通過主控制器與CLA模塊并行處理任務(wù),即主控制器發(fā)送指令觸發(fā)CLA軟中斷,CLA模塊上運行脈沖均分算法執(zhí)行精插補(bǔ)器的任務(wù),輸出脈沖;這種結(jié)構(gòu)無需外接其他控制組件,可降低系統(tǒng)的復(fù)雜度,提高系統(tǒng)的可靠性與實時性[9])。

    1 CLA模塊原理與特性

    內(nèi)置于同步異構(gòu)DSP的模塊,通過引入并行處理的功能,擴(kuò)展了主CPU的能力,用于對時間要求嚴(yán)格的控制,實現(xiàn)了更快的系統(tǒng)響應(yīng)和更高頻率的控制回路;通過將CLA用于對時間敏感的關(guān)鍵任務(wù),可以釋放主CPU去執(zhí)行其他系統(tǒng)任務(wù)和通信,從而提高了系統(tǒng)的實時性。

    目前,為了實現(xiàn)精插補(bǔ)過程中,保持輸出脈沖的均勻化,同時不降低系統(tǒng)的實時性,往往采用CPU外接運動控制模塊來實現(xiàn)。相較于傳統(tǒng)的解決方案,采用同步異構(gòu)數(shù)字信號處理器的CLA模塊來實現(xiàn)脈沖均分算法,具有以下優(yōu)勢:

    (1)CLA模塊與CPU共用系統(tǒng)時鐘源,即擁有相同的時鐘速率,無需為外置模塊配置獨立的時鐘信號源;

    (2)CLA模塊建立于獨立的構(gòu)架,其任務(wù)由CPU軟件觸發(fā)或由硬件中斷觸發(fā),無需配置復(fù)雜的數(shù)據(jù)與控制總線;

    (3)CLA模塊擁有GPIO等外設(shè)的操作權(quán)限,這些權(quán)限由CPU分配給CLA,因此CLA可以繞過CPU直接控制CPIO,不必通過CPU來控制運動控制模塊輸出脈沖,減少了消息傳遞的跨度,提高了系統(tǒng)的可靠性與實時性;

    (4)CLA模塊與CPU的程序都可以采用C語言編寫,且可以在相同的開發(fā)環(huán)境下進(jìn)行程序的編寫、調(diào)試與下載,降低了開發(fā)難度,提高了開發(fā)效率與系統(tǒng)的可維護(hù)性。而如DSP+FPGA、ARM+CPLD等方案,需要針對每個主芯片,采用不同的開發(fā)方式與環(huán)境[10],難度較大的VHDL等硬件描述語言,更是增加了控制系統(tǒng)的研發(fā)成本與時間。

    2 精插補(bǔ)脈沖均勻化算法的設(shè)計

    精插補(bǔ)脈沖均勻化算法是服務(wù)于數(shù)字積分法的精插補(bǔ)部分。由于計算機(jī)系統(tǒng)是離散的,在精插補(bǔ)的過程中,直線段細(xì)分的結(jié)果可能得不到整型數(shù),導(dǎo)致計算機(jī)無法處理。在計算機(jī)中,最直接的方法是對結(jié)果進(jìn)行取整,但這樣會導(dǎo)致在每個插補(bǔ)周期脈沖周期偏小,即脈沖周期內(nèi)會有一段時間沒有脈沖產(chǎn)生,即為空行程,從而導(dǎo)致了脈沖不均勻,會對電機(jī)運行的穩(wěn)定性產(chǎn)生消極的影響。

    以插補(bǔ)周期為4 ms, GPIO輸出脈沖最小翻轉(zhuǎn)時間為1 us為例,則有:

    (1)

    式中:Nmax—插補(bǔ)周期內(nèi)的最大脈沖數(shù);T1—插補(bǔ)周期時間;Tmin—輸出脈沖最小翻轉(zhuǎn)時間。

    插補(bǔ)周期內(nèi)的脈沖周期為:

    (2)

    式中:N—插補(bǔ)周期內(nèi)輸出的脈沖數(shù)量。

    脈沖輸出的時間占插補(bǔ)周期的比值可以量化輸出脈沖均勻化的水平,其值愈小,則輸出脈沖愈不均勻,其數(shù)學(xué)表述為:

    (3)

    式中:μ—脈沖不均勻水平;δ—脈沖均勻化水平。

    通過式(3),可得脈沖不均勻水平μ與脈沖數(shù)N的關(guān)系,如圖1所示。

    圖1 脈沖不均勻水平μ與脈沖數(shù)N的關(guān)系

    由圖1可知:在脈沖數(shù)N=1 001時,脈沖不均勻水平μ可達(dá)到最高值0.499 5;且在N的多數(shù)取值中都出現(xiàn)了脈沖不均勻現(xiàn)象,故有必要采取算法消除脈沖不均勻的現(xiàn)象。

    通常情況下,若輸出脈沖的周期變化小于驅(qū)動器允許脈沖輸入的最小周期時,就可以認(rèn)為輸出脈沖周期是均勻的。以此為依據(jù),在插補(bǔ)周期內(nèi),設(shè)置2個脈沖周期,兩者之間相差1個輸出脈沖最小周期,即驅(qū)動器允許脈沖輸入的最高頻率為 500 kHz,則有方程組:

    (4)

    解得:

    (5)

    式中:TP1—脈沖周期1;N1—周期為TP1的脈沖數(shù);TP2—插補(bǔ)周期2;N2—周期為TP2的脈沖數(shù)。

    將TB=2 us與T1=4 ms代入式(5),可得:

    (6)

    本文通過設(shè)置這2個插補(bǔ)周期TP1與TP2,進(jìn)行精插補(bǔ)運算,可以在算法層面徹底消除脈沖輸出脈沖不均勻的現(xiàn)象。

    3 基于CLA模塊的脈沖均分算法實現(xiàn)

    基于同步異構(gòu)DSP的CLA模塊,本文構(gòu)建的雙脈沖周期精插補(bǔ)脈沖均勻化算法的硬件系統(tǒng)結(jié)構(gòu)圖如圖2所示。

    圖2 硬件系統(tǒng)結(jié)構(gòu)

    由圖2可知:控制系統(tǒng)同時為CPU與CLA提供時鐘源與存儲空間,通過主CPU配置定時器2的定時中斷,為CLA模塊提供插補(bǔ)的基準(zhǔn)頻率,觸發(fā)CLA模塊來執(zhí)行精插補(bǔ)運算。同時,控制系統(tǒng)分配給CLA模塊控制GPIO的權(quán)限,用來輸出插補(bǔ)的脈沖。

    TMS320F28377的定時器1的定時中斷周期設(shè)置為4 ms,用于提供插補(bǔ)周期,由主CPU來執(zhí)行該中斷服務(wù)程序;定時器2的定時中斷周期為1 us,為最小脈沖的電平翻轉(zhuǎn)時間,即基準(zhǔn)頻率,由此得出精插補(bǔ)器輸出的最小脈沖周期為2 us。

    CLA的插補(bǔ)任務(wù)由定時中斷來觸發(fā),在定時器2的每個定時中斷服務(wù)程序中,CLA可以選擇脈沖的發(fā)送使能或停止,從而控制輸出脈沖的周期;執(zhí)行精插補(bǔ)程序變量存儲在CPU與CLA的共享內(nèi)存區(qū)域,CPU與CLA都可以直接讀取與修改這些變量,以加快數(shù)據(jù)傳輸?shù)乃俣取?/p>

    在每個插補(bǔ)周期中,精插補(bǔ)中2個插補(bǔ)周期的長度與脈沖數(shù),由主CPU計算得出,再傳遞給CLA,這部分的C語言源程序如下:

    PulseA=2 000/N;

    PulseB=PA+1;

    CountA=(PulseA+1)*N-2000;

    CountB=2 000-PulseA*N;

    其中:N—插補(bǔ)周期內(nèi)需要輸出的脈沖數(shù);PulseA—脈沖的電平翻轉(zhuǎn)時間1;PulseB—脈沖的電平翻轉(zhuǎn)時間2;CountA—翻轉(zhuǎn)時間為PulseA的脈沖計數(shù);CountB—翻轉(zhuǎn)時間為PulseB的脈沖計數(shù)。

    使用CLA模塊,實現(xiàn)脈沖均分算法的流程簡圖如圖3所示。

    圖3 脈沖均分算法的流程簡圖

    由圖3可知:CLA通過接受主CPU通過共享內(nèi)存?zhèn)鬟f過來的參數(shù),來執(zhí)行精插補(bǔ)。

    當(dāng)一個插補(bǔ)周期開始時,設(shè)置運行位為真,CLA便以定時器2的定時中斷為基準(zhǔn),開始執(zhí)行2個插補(bǔ)周期與脈沖數(shù)的插補(bǔ)指令,插補(bǔ)完成以后,以狀態(tài)位置位來通知主CPU當(dāng)前的插補(bǔ)周期任務(wù)已經(jīng)完成,CLA接著開始等待下一個插補(bǔ)周期的任務(wù)。

    4 仿真與實驗

    本文使用CCS(code composer studio)軟件的在線調(diào)試功能,以TMS320F28377S為硬件實驗平臺,在插補(bǔ)周期為,GPIO輸出脈沖的最小周期為的條件下,選取插補(bǔ)周期內(nèi)輸出的脈沖數(shù)N=1 001與667這兩個會導(dǎo)致脈沖不均勻水平較大的取值,進(jìn)行單脈沖周期精插補(bǔ)算法,并與基于CLA的雙脈沖周期精插補(bǔ)算法進(jìn)行對比實驗。

    當(dāng)N=1 001時,使用單脈沖周期精插補(bǔ)算法后,脈沖在插補(bǔ)周期內(nèi)的分布情況如圖4所示(這種情況下脈沖分布的不均勻程度最嚴(yán)重,空行程時間占據(jù)了脈沖周期的49.95%)。

    圖4 當(dāng)N=1 001時使用單脈沖周期精插補(bǔ)算法后脈沖在插補(bǔ)周期內(nèi)的分布情況

    由圖4可知:在整個插補(bǔ)周期內(nèi),脈沖只分布在0~2 ms這一時間段,在該時間段內(nèi)已經(jīng)輸出了1 001個脈沖;在2 ms~4 ms時間段內(nèi)沒有脈沖輸出,即空行程時間占脈沖周期的比例約為50%。由此可見,在誤差允許的范圍內(nèi),該結(jié)果與理論結(jié)果(空行程時間占據(jù)了脈沖周期的49.95%)相符合。

    當(dāng)N=667時,使用單脈沖周期精插補(bǔ)算法后,脈沖在插補(bǔ)周期內(nèi)的分布情況如圖5所示。

    圖5 當(dāng)N=667時使用單脈沖周期精插補(bǔ)算法后脈沖在插補(bǔ)周期內(nèi)的分布情況

    由圖5可知:在整個插補(bǔ)周期內(nèi),閑置時間占據(jù)了脈沖周期的比例約為1.33/4=33.25%。由此可見,在誤差允許的范圍內(nèi),該結(jié)果與由式(3)得出的理論值33.33%相符合。

    這些實驗結(jié)果證明,采用單脈沖周期精插補(bǔ)算法會出現(xiàn)輸出脈沖分布不均勻的情況。

    理論上,采用改進(jìn)的雙脈沖周期精插補(bǔ)脈沖均勻化算法后,在的取值范圍內(nèi),脈沖輸出時間都會占據(jù)整個插補(bǔ)周期的100%,從而可以消除輸出脈沖不均勻的現(xiàn)象。

    由式(6)可得,當(dāng)N=1 001、667時,脈沖均分算法的運行參數(shù)如表1所示。

    表1 當(dāng)N=1 001、667時脈沖均分算法的運行參數(shù)

    當(dāng)N=1 001時,使用雙脈沖周期精插補(bǔ)算法后,脈沖在插補(bǔ)周期內(nèi)的分布情況如圖6所示。

    當(dāng)N=667時,使用雙脈沖周期精插補(bǔ)算法后,脈沖在插補(bǔ)周期內(nèi)的分布情況如圖7所示。

    圖6 當(dāng)N=1 001時使用雙脈沖周期精插補(bǔ)算法后脈沖在插補(bǔ)周期內(nèi)的分布情況

    圖7 當(dāng)N=667時使用雙脈沖周期精插補(bǔ)算法后脈沖在插補(bǔ)周期內(nèi)的分布情況

    從圖(6,7)可以看出:在N=1 001與667的情況下,輸出脈沖占據(jù)了插補(bǔ)周期的全部時間,沒有空行程,達(dá)到了輸出脈沖均勻化的效果。

    當(dāng)N=1 001,使用雙脈沖周期精插補(bǔ)算法時,脈沖在插補(bǔ)周期起始時間段的輸出波形如圖8所示。

    圖8 N=1 001時使用雙脈沖周期精插補(bǔ)算法時脈沖在插補(bǔ)周期起始時間段的輸出波形

    由圖8可知:當(dāng)N=1 001時,輸出脈沖由起始2個周期為2 us的脈沖與后續(xù)周期為4 us的脈沖組成。

    當(dāng)N=667,使用雙脈沖周期精插補(bǔ)算法時,脈沖在插補(bǔ)周期起始時間段的輸出波形如圖9所示。

    圖9 N=667時使用雙脈沖周期精插補(bǔ)算法時脈沖在插補(bǔ)周期起始時間段的輸出波形

    由圖9可知:當(dāng)N=667,輸出脈沖由起始1個周期為4 us的脈沖與后續(xù)周期為6 us的脈沖組成。

    將以上結(jié)果與表1中的數(shù)據(jù)相比較可知,脈沖均分算法的實際輸出結(jié)果與理論的一致,說明該算法在實際硬件中能夠正確運行,且達(dá)到了預(yù)期的效果。同時,實驗結(jié)果說明了能夠基于同步異構(gòu)DSP的CLA模塊的硬件結(jié)構(gòu),實現(xiàn)雙脈沖周期精插補(bǔ)脈沖均分算法,使插補(bǔ)周期中沒有閑置的空行程,達(dá)到了輸出脈沖均勻化的目的。

    5 結(jié)束語

    本研究通過脈沖均分算法,借助同步異構(gòu)DSP的CPU與CLA協(xié)同處理任務(wù)的能力,設(shè)計了數(shù)控系統(tǒng)中用于運動控制的精插補(bǔ)器,實現(xiàn)了插補(bǔ)過程中脈沖的均勻化輸出。

    該系統(tǒng)硬件與軟件結(jié)構(gòu)簡單、穩(wěn)定可靠,可以在不借助外部邏輯電路的情況下(如CPLD、FPGA等),達(dá)到與之相同的效率與實時性。

    筆者在研究過程中發(fā)現(xiàn)該系統(tǒng)還有不足之處,即只在CLA上實現(xiàn)了精插補(bǔ),粗插補(bǔ)還是由主CPU來完成。因此,在今后的研究中,可以將粗插補(bǔ)器也移植到CLA中,以進(jìn)一步提高硬件的使用效率與系統(tǒng)的實時性,達(dá)到更好的效果。

    猜你喜歡
    脈沖數(shù)均分實時性
    基于規(guī)則實時性的端云動態(tài)分配方法研究
    柔性喂絲機(jī)均分盤CFD分析和優(yōu)化設(shè)計
    煙草科技(2020年10期)2020-11-07 10:38:00
    某型組合導(dǎo)航系統(tǒng)故障分析及預(yù)防
    高精度電子體溫計設(shè)計與實現(xiàn)
    檢定電能表的圈數(shù)設(shè)定問題探討
    基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
    面積均分線的推廣
    航空電子AFDX與AVB傳輸實時性抗干擾對比
    單簧管基礎(chǔ)練習(xí)新探
    音樂探索(2015年3期)2015-12-05 11:59:58
    一種車載Profibus總線系統(tǒng)的實時性分析
    新化县| 区。| 柳河县| 两当县| 明溪县| 蓬莱市| 太和县| 阳新县| 新乐市| 肥乡县| 萝北县| 淮安市| 彭泽县| 建瓯市| 类乌齐县| 珠海市| 运城市| 大洼县| 海林市| 侯马市| 塔城市| 察隅县| 定陶县| 威海市| 灵宝市| 惠州市| 革吉县| 南澳县| 东乌| 兴义市| 金溪县| 静海县| 禄丰县| 石城县| 孟村| 榆树市| 广安市| 金门县| 日喀则市| 高邑县| 孟州市|