DSP FPGA在高速高精運(yùn)動(dòng)控制器中的應(yīng)用
摘要:數(shù)字信號(hào)處理器具有高效的數(shù)值運(yùn)算能力,并能提供良好的開(kāi)發(fā)環(huán)境,而可編程邏輯器件具有高度靈活的可配置性。本文描述了通過(guò)采用tms320c32浮點(diǎn)dsp和可編程邏輯器件(fpga)的組合運(yùn)用來(lái)構(gòu)成高速高速高精運(yùn)動(dòng)控制器,該系統(tǒng)通過(guò)b樣條插值算法對(duì)運(yùn)動(dòng)曲線進(jìn)行平滑處理以及運(yùn)用離散pid算法對(duì)運(yùn)動(dòng)過(guò)程加以控制。
關(guān)鍵詞:運(yùn)動(dòng)控制;dsp;fpga;b樣條插值;pid
applicationofmovement-controlsystembasedondspandfpga
zhuxian-xin,huangtao,dengqi-hui,luluo-xian
(wuhanuniversityoftechnology,instituteofintellegentinformationsystem,wuhan,430070,china)
abstract:digitalsignalsprocessorcanprocessnumericalsimulationreliability,providesfavorableenvironmentfordelevlopment,andfpga(fieldprogrammablegatearray)cancollocatedflexible.thispaperdescribesmovement-controlsystembasedontms320c32andfpga.itsmoothesmotionalcurvethroughalgorithmofb-splineinterpolationandcontrolsmotionalprocessbymeansofpid.
keywords:movement-control;dsp;fpga;b-spline;pid
基金項(xiàng)目:863科技攻關(guān)項(xiàng)目,高速、高精運(yùn)動(dòng)控制器技術(shù)研究(2001aa423170)
運(yùn)動(dòng)控制卡已經(jīng)在數(shù)控機(jī)床、工業(yè)機(jī)器人、醫(yī)用設(shè)備、繪圖儀、ic電路制造設(shè)備、ic封裝等領(lǐng)域得到了廣泛運(yùn)用,取得了良好的效果。目前運(yùn)動(dòng)控制卡大部分采用8051系列的8位單片機(jī),雖然節(jié)省了開(kāi)發(fā)周期但缺乏靈活性,難以勝任高要求運(yùn)作環(huán)境,而且運(yùn)算能力有限。
dsp的數(shù)據(jù)運(yùn)算處理功能強(qiáng)大,即使在很復(fù)雜的控制中,采樣周期也可以取得很小,控制效果更接近于連續(xù)系統(tǒng)。把dsp與pc的各自優(yōu)勢(shì)結(jié)合將是高性能數(shù)控系統(tǒng)的發(fā)展趨勢(shì)。本運(yùn)動(dòng)控制器采用ti公司的高性能浮點(diǎn)dsp作為主控芯片,通過(guò)isa接口與pc協(xié)調(diào)并進(jìn)行數(shù)據(jù)交換,以pc計(jì)算機(jī)作為基本平臺(tái),以dsp高速運(yùn)動(dòng)控制卡作細(xì)插補(bǔ)、伺服控制的核心,對(duì)直線電機(jī)的運(yùn)動(dòng)進(jìn)行控制,取得了良好的實(shí)際應(yīng)用效果。
1.高速高精運(yùn)動(dòng)控制卡的主要硬件構(gòu)成
本運(yùn)動(dòng)控制系統(tǒng)的任務(wù)是控制直線電機(jī)的運(yùn)動(dòng),要求4軸輸入和4軸輸出,采用光柵尺對(duì)輸入記數(shù),16位并行高速da輸出,運(yùn)動(dòng)定位精度要求達(dá)到10nm,響應(yīng)時(shí)間<100ns。
高速直線電機(jī)是本系統(tǒng)的控制對(duì)象,它具有加速快(a>10g),運(yùn)動(dòng)速度高(v>300mm/s)的特點(diǎn)。要求控制系統(tǒng)有足夠短的響應(yīng)時(shí)間(<100ns)和足夠高的定位精度(10nm級(jí)),因而系統(tǒng)的核心cpu的處理能力及運(yùn)算能力必須滿足高速要求;此外,直線電機(jī)運(yùn)動(dòng)定位的核心是高精度的反饋控制裝置。直線電機(jī)的反饋控制裝置是光柵尺和高精度脈沖計(jì)數(shù)器,光柵尺發(fā)出與運(yùn)動(dòng)距離成線性關(guān)系的脈沖數(shù),脈沖計(jì)數(shù)器的計(jì)數(shù)值表示直線電機(jī)當(dāng)前的運(yùn)動(dòng)位置。經(jīng)計(jì)算,計(jì)數(shù)長(zhǎng)度為28位的計(jì)數(shù)器才能滿足定位的精度要求,同時(shí)計(jì)數(shù)頻率很高。一般的通用計(jì)數(shù)器參數(shù)無(wú)法達(dá)到,所以設(shè)計(jì)一個(gè)特殊計(jì)數(shù)器是必要的。為了方便設(shè)置目標(biāo)點(diǎn)的運(yùn)動(dòng)參數(shù),使運(yùn)動(dòng)控制卡具有比較好的人機(jī)交互功能,系統(tǒng)必須具有與pc機(jī)通信的功能。
綜合考慮上述要求,系統(tǒng)的設(shè)計(jì)采用dspfpga的形式,由dsp主控芯片作為中央處理模塊,fpga作為反饋計(jì)數(shù)模塊且負(fù)責(zé)板上的部分邏輯譯碼工作,pc通信接口模塊采用雙口ram,輸出模塊用d/a轉(zhuǎn)換器實(shí)現(xiàn),如圖1所示。
1.1dsp模塊
基于dsp的運(yùn)動(dòng)控制系統(tǒng)一般采用ti公司的tms320c24x系列芯片,但24x系列是16位定點(diǎn)處理器,運(yùn)算能力有限。不能滿足本系統(tǒng)規(guī)劃的高速高精要求,為此,我們選用了ti公司的tms320c32dsp作為主控芯片。
tms320c3x系列芯片是美國(guó)ti公司推出的第一代浮點(diǎn)dsp芯片,具有豐富的指令集、很高的運(yùn)算速度、較大的錄址空間和較高的性價(jià)比,在各領(lǐng)域得到了廣泛的應(yīng)用。tms320c32是tms320系列浮點(diǎn)數(shù)字信號(hào)處理器的新產(chǎn)品,在tms320c30和tms320c31的基礎(chǔ)上進(jìn)行了簡(jiǎn)化和改進(jìn)。在結(jié)構(gòu)上的改進(jìn)主要包括可變寬度的存儲(chǔ)器接口、更快速的指令周期時(shí)間、可設(shè)置優(yōu)先級(jí)的雙通道dma處理器、靈活的引導(dǎo)程序裝入方式、可重新定位的中斷向量表以及可選的邊緣/電平觸發(fā)中斷方式等。
對(duì)tms320c32的開(kāi)發(fā)可以用匯編語(yǔ)言,也可以用c語(yǔ)言。使用匯編語(yǔ)言的優(yōu)點(diǎn)在于運(yùn)行速度快、可以充分利用芯片的硬件特性,但開(kāi)發(fā)速度較慢,程序的可讀性差;而c語(yǔ)言的優(yōu)勢(shì)在于編程容易、調(diào)試快速、可讀性好,可以大大縮短開(kāi)發(fā)周期,但c語(yǔ)言對(duì)于其片內(nèi)的沒(méi)有映射地址的特殊功能寄存器不能操作,如if和ie,ar0~ar7等。
1.2fpga模塊
該部分主要功能為一個(gè)4通道的針對(duì)光柵尺的脈沖計(jì)數(shù)器,此外,還承擔(dān)部分地址譯碼的工作。但由于脈沖計(jì)數(shù)頻率高,計(jì)數(shù)量大,所以必須選擇高容量、高性能的可編程邏輯器件。
alteraflex(flexibllogicelementmatrix)10