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
Application of Movement-Control System Based on DSP and FPGA
Zhu Xian-xin , Huang Tao , Deng Qi-hui, Lu Luo-xian
(WuHan University of Technology,Institute of Intellegent Information System,
Wuhan, 430070, China)
Abstract: Digital signals processor can process numerical simulation reliability, provides favorable environment for delevlopment, and FPGA(field
programmable gate array) can collocated flexible.This paper describes movement-control system based on TMS320C32 and FPGA. It smoothes motional curve through algorithm of B-Spline interpolation and controls motional process by means of PID.
Key words: 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的各自?xún)?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ì)采用DSP+FPGA的形式,由DSP主控芯片作為中央處理模塊,FPGA作為反饋計(jì)數(shù)模塊且負(fù)責(zé)板上的部分邏輯譯碼工作,PC通信接口模塊采用雙口RAM,輸出模塊用D/A轉(zhuǎn)換器實(shí)現(xiàn),如圖1所示具温。
1.1 DSP模塊
基于DSP的運(yùn)動(dòng)控制系統(tǒng)一般采用TI公司的TMS320C24x系列芯片,但24x系列是16位定點(diǎn)處理器,運(yùn)算能力有限。不能滿足本系統(tǒng)規(guī)劃的高速高精要求,為此,我們選用了TI公司的TMS320C32 DSP作為主控芯片筐赔。
TMS320C3X系列芯片是美國(guó)TI公司推出的第一代浮點(diǎn)DSP芯片,具有豐富的指令集铣猩、很高的運(yùn)算速度、較大的錄址空間和較高的性?xún)r(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.2 FPGA模塊
該部分主要功能為一個(gè)4通道的針對(duì)光柵尺的脈沖計(jì)數(shù)器,此外,還承擔(dān)部分地址譯碼的工作苛豺。但由于脈沖計(jì)數(shù)頻率高,計(jì)數(shù)量大,所以必須選擇高容量、高性能的可編程邏輯器件俄耸。
ALTERA FLEX(Flexibl Logic Element Matrix)10K系列FPGA,規(guī)模從一萬(wàn)門(mén)到十萬(wàn)門(mén),可提供720~5392個(gè)觸發(fā)器及6144~24576位RAM,提供30ns翅昏、40ns及50ns等幾個(gè)速率等級(jí),可適應(yīng)18~105MHz的信號(hào)處理速率。ALTERA FLEX10K系列FPGA主要由輸入輸出單元IOE惊钮、掩埋陣列EAB访芙、邏輯陣列LAB及內(nèi)部連線組成。EAB是在輸入和輸出端口加有寄存器的RAM塊,其容量可靈活變化计员。所以,EAB不僅可以用于存儲(chǔ)器,還可以事先寫(xiě)入查表值來(lái)用它構(gòu)成如乘法器薯替、糾錯(cuò)邏輯等電路。當(dāng)用于RAM時(shí),EAB可配制成多種形式的字寬和容量假仙。
LAB主要用于邏輯電路設(shè)計(jì),一個(gè)LAB包括8個(gè)邏輯單元LE,每一個(gè)LAB提供4個(gè)控制信號(hào)及其反相信號(hào),其中兩個(gè)可用于時(shí)鐘信號(hào)救辖。每一個(gè)LE包括組合邏輯及一個(gè)可編程觸發(fā)器。觸發(fā)器可被配成D,T,JK,RS等各種形式氮唯。IOE提供全局的時(shí)鐘及清零信號(hào)輸入端口,還提供具有可編程性的各種輸入輸出端口,如低噪聲端口酥宴、高速端口等。
FLEX10K系列芯片是ALTERA公司新近推出的PLD產(chǎn)品。與ALTERA公司先前推出的MAX7000系列EPLD相比,FLEX10K(以下簡(jiǎn)稱(chēng)10K)系列具有更加豐富的內(nèi)部資源(最多可達(dá)10萬(wàn)門(mén)),更加充裕的可配置的I/O管腳(最多達(dá)406條)拙寡。再加上其低廉的價(jià)格,使得10K系列芯片受到越來(lái)越多用戶的歡迎。
基于以上原因,我們?cè)诒痉桨钢胁捎肁LTERA FLEX10K10,并且考慮到以后設(shè)計(jì)的連續(xù)性,我們可以無(wú)須更改硬件電路,就可以更換性能更高的琳水、相同尺寸肆糕、相同管腳配置的ALTERA FLEX
10K20。
1.3 PC通信接口模塊
該模塊選用16位的ISA總線與PC相連,CY7C133雙口RAM用作數(shù)據(jù)緩沖在孝。
因?yàn)镮SA總線的使用十分靈活,方便,而且I/O操作比較簡(jiǎn)單诚啃。雖然ISA總線的引腳多但并不是都要用到的,關(guān)鍵是幾個(gè)固定引腳的應(yīng)用,例如:I/O CH RDY、I/OR私沮、I/OW始赎、ALE、數(shù)據(jù)線和地址線,結(jié)合起來(lái)就實(shí)現(xiàn)通信仔燕。
在本系統(tǒng)中,雙口RAM的 PC端地址線并沒(méi)有直接采用ISA過(guò)來(lái)的地址線,而是由FPGA內(nèi)部地址計(jì)數(shù)器給定造垛。這是因?yàn)?ISA總線上大部分地址都已經(jīng)被PC系統(tǒng)分配好,直接把2K的雙口RAM數(shù)據(jù)空間映射到ISA總線上并不現(xiàn)實(shí);而且控制系統(tǒng)與PC交換的數(shù)據(jù)基本上是一系列加工點(diǎn)的坐標(biāo)參數(shù),采用順序訪問(wèn)對(duì)性能沒(méi)有影響低腕。因此采用地址計(jì)數(shù)器方式的順序訪問(wèn),完全能夠達(dá)到設(shè)計(jì)的要求杰泡。
具體做法是:ISA地址線的A2~A9接到地址比較器74LS688,與設(shè)定好的地址作比較,74LS688的片選信號(hào)由ISA的IOR和IOW的“與”提供(IOR和IOW在ISA總線訪問(wèn)端口時(shí)低有效),A0,A1接到FPGA,用于選擇FPGA內(nèi)部4個(gè)功能不同的寄存器。ISA的ALE用于觸發(fā)FPGA 內(nèi)部邏輯功能,鎖存ISA總線過(guò)來(lái)的信號(hào)颖怕。
當(dāng)訪問(wèn)地址清零寄存器時(shí),地址計(jì)數(shù)值清零朋丢;當(dāng)訪問(wèn)地址增加寄存器時(shí),地址計(jì)數(shù)值增加“1”。如此類(lèi)推,訪問(wèn)不同的寄存器就對(duì)地址計(jì)數(shù)值完成不同的操作,把地址計(jì)數(shù)值直接作為地址送給雙口RAM,就可以實(shí)現(xiàn)ISA總線訪問(wèn)雙口RAM了剔撮。
1.4 輸出模塊
輸出模塊采用模擬輸出,經(jīng)外部放大驅(qū)動(dòng)電機(jī)的方案请癣。D/A轉(zhuǎn)換芯片選擇DAC7744。
DAC7744是高性能的4通道16位高速D/A,主要特點(diǎn)如下:
- 輸出通道:獨(dú)立4 路
- 輸出信號(hào)范圍:0~5V母边;0~10V*砍倾;±5V;±10V
- 輸出阻抗:≤2Ω
- D/A轉(zhuǎn)換器件:DAC7744
- D/A轉(zhuǎn)換分辨率:16位
- D/A轉(zhuǎn)換碼制:二進(jìn)制原碼(單極性) 二進(jìn)制偏移碼(雙極性)
- D/A轉(zhuǎn)換時(shí)間:≤1uS
- D/A轉(zhuǎn)換綜合誤差:≤0.02?? FSR
- 電壓輸出方式負(fù)載能力:5mA/每路
存儲(chǔ)模塊用于存儲(chǔ)系統(tǒng)程序和數(shù)據(jù),主要由SRAM(2片CY7C1021)和FLASH(AM29F400B)組成经聊。
外圍存儲(chǔ)電路如圖3所示:
2. 軟件設(shè)計(jì)
該運(yùn)動(dòng)控制卡應(yīng)用時(shí)插在工控機(jī)的ISA槽上,與上位機(jī)配合工作唱棍。首先在上位NC機(jī)輸入加工曲線,由上位機(jī)做粗插補(bǔ),然后把數(shù)據(jù)通過(guò)ISA接口傳遞給控制卡∈仄控制卡對(duì)接收到的數(shù)據(jù)再做細(xì)插補(bǔ)--采用三次B樣條插值,然后發(fā)送給DA,驅(qū)動(dòng)電機(jī)運(yùn)動(dòng)估喷。DSP通過(guò)FPGA進(jìn)行脈沖計(jì)數(shù),讀出直線電機(jī)光柵尺的反饋信息,然后采用離散PID控制算法調(diào)整,以便于電機(jī)運(yùn)動(dòng)控制的最優(yōu)化。
運(yùn)動(dòng)控制算法的核心是先用B樣條插值法把目標(biāo)點(diǎn)進(jìn)一步細(xì)化,使運(yùn)動(dòng)曲線更平滑,然后在運(yùn)動(dòng)過(guò)程中采用PID算法進(jìn)行調(diào)整,最終達(dá)到高速高精的設(shè)計(jì)要求澈灼。
2.1 B樣條插值
目前許多先進(jìn)的CAD/CAM系統(tǒng)都采用了B樣條曲線竞川。其特點(diǎn)是,可用統(tǒng)一的數(shù)學(xué)形式精確表示分析曲線(如直線,圓錐曲線等)和自由曲線(如均勻B樣條曲線等),因而便于用統(tǒng)一的數(shù)據(jù)庫(kù)管理、存儲(chǔ),程序量可以大大減少叁熔;非均勻B樣條曲線定義中的權(quán)因子使外形設(shè)計(jì)更加靈活方便,設(shè)計(jì)人員通過(guò)調(diào)整具有直觀幾何意義的點(diǎn)委乌、線、面元素即可達(dá)到預(yù)期的效果。
本系統(tǒng)采用三次B樣條曲線作為精插補(bǔ)算法,該算法應(yīng)用在控制卡中可以得到比較滿意的效果遭贸。計(jì)算過(guò)程中只需要相鄰4個(gè)點(diǎn)的位置數(shù)據(jù),就可以構(gòu)造出平滑的曲線戈咳。公式以坐標(biāo)分量形式表示為:
2.2 PID控制
在控制領(lǐng)域中,PID控制算法是一種常用的算法,PID是比例,積分,微分的縮寫(xiě)。PID的合理的參數(shù)估計(jì)壕吹、比較,可以通過(guò)MATLAB的傳遞函數(shù)模型仿真來(lái)得到著蛙。
由于該系統(tǒng)是數(shù)字系統(tǒng),采用的都是數(shù)字量,所以必須把PID算法離散化才能使用。又由于系統(tǒng)的存儲(chǔ)空間有限,算法的存儲(chǔ)空間開(kāi)銷(xiāo)不能太大,所以采用了離散化的增量式PID算法耳贬。該算法在運(yùn)算過(guò)程中只需要保留最近3次的誤差數(shù)據(jù),就能夠推導(dǎo)出下一次的輸出量,節(jié)省了大量的數(shù)據(jù)空間,提高了運(yùn)算速度,有很強(qiáng)實(shí)用價(jià)值踏堡。
公式如下:
μ( k ),μ( k-1 )分別是k和k-1時(shí)刻的輸出量,在系統(tǒng)中體現(xiàn)為DA的輸出量。
e( k ),e( k-1 ),e( k-2 )分別是k,k-1,k-2 時(shí)刻的偏差值,在系統(tǒng)中體現(xiàn)為該時(shí)刻實(shí)際位置與目標(biāo)位置的偏差咒劲。
是PID公式的常量,不同的數(shù)值代表著PID系統(tǒng)的微分今伏、積分、比例調(diào)節(jié)作用的強(qiáng)度和效果轴布。
3. 小結(jié)
在開(kāi)放式數(shù)控系統(tǒng)中應(yīng)用基于DSP+FPGA的運(yùn)動(dòng)控制卡,DSP承擔(dān)了CNC系統(tǒng)中實(shí)時(shí)性要求較高的模塊功能癌越。利用DSP高速運(yùn)算能力和實(shí)時(shí)信號(hào)處理能力,采用先進(jìn)的Bspline插補(bǔ)算法,使該DSP運(yùn)動(dòng)控制卡具有高速、高精度的性能,結(jié)合FPGA芯片的先進(jìn)技術(shù),使該運(yùn)動(dòng)控制卡的集成性兜充、可靠性大大提高淋渤。本運(yùn)動(dòng)控制卡目前是基于ISA總線設(shè)計(jì)的,今后將考慮把該系統(tǒng)移植到PCI總線上,將能進(jìn)一步提高系統(tǒng)的處理速度能力,適應(yīng)更高要求。
參考文獻(xiàn):
[1]TMS320C3x User's Guide, Texas Instruments, 2001
[2]TMS320C3x General-Purpose Applications, Texas Instruments, 2001
[3]孫家廣. 計(jì)算機(jī)圖形學(xué). 清華大學(xué)出版社
[4]解旭輝. 超精機(jī)床數(shù)控系統(tǒng)與伺服控制技術(shù)研究[D]. 長(zhǎng)沙:國(guó)防科技大學(xué) 1997
[5]來(lái)曉嵐, 趙佳明, 盧煥章. DSP+FPGA實(shí)時(shí)信號(hào)處理系統(tǒng), 電子技術(shù)應(yīng)用 2002年7期
[6]胡育文, 陳宏, 顧毅康. 基于DSP的電機(jī)控制器設(shè)計(jì)中的幾個(gè)問(wèn)題. 中國(guó)自動(dòng)化學(xué)會(huì) 1999
年10期
[7]潘日紅, 潘日晶. 周期B樣條曲線的快速遞推升階方法. 福建師范大學(xué)學(xué)報(bào)(自然科學(xué)版)
2001年04期
[8]劉金琨. 先進(jìn)PID控制及其MATLAB仿真. 電子工業(yè)出版社 2003
作者簡(jiǎn)介:
朱顯新(1977-),男,湖北人,碩士研究生,主要研究方向:嵌入式系統(tǒng)應(yīng)用
黃濤(1968-),男,湖北人,副教授,主要研究方向:嵌入式系統(tǒng)應(yīng)用
鄧啟輝(1979-),男,廣東人,碩士研究生,主要研究方向:信號(hào)處理
盧珞先(1962-),女,湖北人,副教授,主要研究方向:信號(hào)處理
聯(lián)系方式:
地址:武漢理工大學(xué)馬房山校區(qū)286信箱 朱顯新
郵編:430070
電子郵箱:Insighter@(暫不可見(jiàn))
聲明:本網(wǎng)站所收集的部分公開(kāi)資料來(lái)源于互聯(lián)網(wǎng)雄睦,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享荷十,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議娇裁。本站部分作品是由網(wǎng)友自主投稿和發(fā)布从秃、編輯整理上傳,對(duì)此類(lèi)作品本站僅提供交流平臺(tái)荞篙,不為其版權(quán)負(fù)責(zé)泽衬。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片殿姑、文字如涉及作品版權(quán)問(wèn)題树碱,請(qǐng)第一時(shí)間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國(guó)家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容变秦,以保證您的權(quán)益成榜!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暫無(wú)反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力役寡,智啟未來(lái)新篇章
- 定義制造業(yè)未來(lái)的數(shù)控加工中心技術(shù)專(zhuān)題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專(zhuān)題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專(zhuān)題
- 精密智能機(jī)床款拣,助力制造升級(jí)技術(shù)專(zhuān)題
- 汽車(chē)輕量化驅(qū)動(dòng)下的零部件加工應(yīng)用專(zhuān)題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專(zhuān)題
- 航空航天發(fā)動(dòng)機(jī)解決方案專(zhuān)題
- 高效齒輪加工生產(chǎn)技術(shù)方案專(zhuān)題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專(zhuān)題