DSP+FPGA在高速高精運(yùn)動(dòng)控制器中的應(yīng)用
運(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é)省了開發(fā)周期但缺乏靈活性,難以勝任高要求運(yùn)作環(huán)境,而且運(yùn)算能力有限。
DSP的數(shù)據(jù)運(yùn)算處理功能強(qiáng)大,即使在很復(fù)雜的控制中,采樣周期也可以取得很小,控制效果更接近于連續(xù)系統(tǒng)。把DSP與PC的各自優(yōu)勢結(jié)合將是高性能數(shù)控系統(tǒng)的發(fā)展趨勢。本運(yùn)動(dòng)控制器采用TI公司的高性能浮點(diǎn)DSP作為主控芯片,通過ISA接口與PC協(xié)調(diào)并進(jìn)行數(shù)據(jù)交換,以PC計(jì)算機(jī)作為基本平臺(tái),以DSP高速運(yùn)動(dòng)控制卡作細(xì)插補(bǔ)、伺服控制的核心,對直線電機(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軸輸出,采用光柵尺對輸入計(jì)數(shù),16位并行高速DA輸出,運(yùn)動(dòng)定位精度要求達(dá)到10nm,響應(yīng)時(shí)間<100ns。
高速直線電機(jī)是本系統(tǒng)的控制對象,它具有加速快(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ù)長度為28位的計(jì)數(shù)器才能滿足定位的精度要求,同時(shí)計(jì)數(shù)頻率很高。一般的通用計(jì)數(shù)器參數(shù)無法達(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ì)采用DSP+FPGA的形式,由DSP主控芯片作為中央處理模塊,F(xiàn)PGA作為反饋計(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系列芯片是美國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)行了簡化和改進(jìn)。在結(jié)構(gòu)上的改進(jìn)主要包括可變寬度的存儲(chǔ)器接口、更快速的指令周期時(shí)間、可設(shè)置優(yōu)先級(jí)的雙通道DMA處理器、靈活的引導(dǎo)程序裝入方式、可重新定位的中斷向量表以及可選的邊緣/電平觸發(fā)中斷方式等。
對TMS320C32的開發(fā)可以用匯編語言,也可以用C語言。使用匯編語言的優(yōu)點(diǎn)在于運(yùn)行速度快、可以充分利用芯片的硬件特性,但開發(fā)速度較慢,程序的可讀性差;而C語言的優(yōu)勢在于編程容易、調(diào)試快速、可讀性好,可以大大縮短開發(fā)周期,但C語言對于其片內(nèi)的沒有映射地址的特殊功能寄存器不能操作,如IF和IE,AR0~AR7等。
DSP的數(shù)據(jù)運(yùn)算處理功能強(qiáng)大,即使在很復(fù)雜的控制中,采樣周期也可以取得很小,控制效果更接近于連續(xù)系統(tǒng)。把DSP與PC的各自優(yōu)勢結(jié)合將是高性能數(shù)控系統(tǒng)的發(fā)展趨勢。本運(yùn)動(dòng)控制器采用TI公司的高性能浮點(diǎn)DSP作為主控芯片,通過ISA接口與PC協(xié)調(diào)并進(jìn)行數(shù)據(jù)交換,以PC計(jì)算機(jī)作為基本平臺(tái),以DSP高速運(yùn)動(dòng)控制卡作細(xì)插補(bǔ)、伺服控制的核心,對直線電機(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軸輸出,采用光柵尺對輸入計(jì)數(shù),16位并行高速DA輸出,運(yùn)動(dòng)定位精度要求達(dá)到10nm,響應(yīng)時(shí)間<100ns。
高速直線電機(jī)是本系統(tǒng)的控制對象,它具有加速快(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ù)長度為28位的計(jì)數(shù)器才能滿足定位的精度要求,同時(shí)計(jì)數(shù)頻率很高。一般的通用計(jì)數(shù)器參數(shù)無法達(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ì)采用DSP+FPGA的形式,由DSP主控芯片作為中央處理模塊,F(xiàn)PGA作為反饋計(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系列芯片是美國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)行了簡化和改進(jìn)。在結(jié)構(gòu)上的改進(jìn)主要包括可變寬度的存儲(chǔ)器接口、更快速的指令周期時(shí)間、可設(shè)置優(yōu)先級(jí)的雙通道DMA處理器、靈活的引導(dǎo)程序裝入方式、可重新定位的中斷向量表以及可選的邊緣/電平觸發(fā)中斷方式等。
對TMS320C32的開發(fā)可以用匯編語言,也可以用C語言。使用匯編語言的優(yōu)點(diǎn)在于運(yùn)行速度快、可以充分利用芯片的硬件特性,但開發(fā)速度較慢,程序的可讀性差;而C語言的優(yōu)勢在于編程容易、調(diào)試快速、可讀性好,可以大大縮短開發(fā)周期,但C語言對于其片內(nèi)的沒有映射地址的特殊功能寄存器不能操作,如IF和IE,AR0~AR7等。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。