基于DSP和FPGA的經(jīng)緯儀控制系統(tǒng)設(shè)計
摘 要: DSP和FPGA組成的伺服控制系統(tǒng)能夠滿足復(fù)雜的控制算法要求。通過對TI公司的DSP控制芯片TMS320F2812和ALTERA公司的FPGA芯片EP1C3T144的功能和特點分析,給出了一種基于DSP和FPGA的光電經(jīng)緯儀伺服控制電路的設(shè)計方案。增加了可靠性和精度。
關(guān)鍵詞: 光電經(jīng)緯儀;伺服跟蹤系統(tǒng);DSP;FPGA
光電經(jīng)緯儀作為一種高精度的空間位置測量設(shè)備,被廣泛應(yīng)用于海、陸、空武器測試靶場及天文觀測和武器引導(dǎo)控制系統(tǒng)。它利用激光、紅外、電視、雷達等探測器獲得運動目標在其視場內(nèi)與視場中心的偏差,再將它傳輸給伺服跟蹤系統(tǒng)進行校正跟蹤,使經(jīng)緯儀瞄準該目標并引導(dǎo)其他跟蹤設(shè)備,或者根據(jù)激光測距和經(jīng)緯儀本身的位置數(shù)據(jù)計算出運動目標的精確軌跡[1-2]。目前,隨著飛機、武器系統(tǒng)及測量系統(tǒng)的發(fā)展,安裝可靠、靈活、輕型的光電跟蹤設(shè)備已非常必要。采用嵌入式系統(tǒng),尤其是基于DSP和FPGA的嵌入式模塊,可以充分利用其自身優(yōu)點進行小型化、低功耗和高可靠性的系統(tǒng)設(shè)計。本文通過對光電經(jīng)緯儀的伺服跟蹤系統(tǒng)研究,設(shè)計了一種基于DSP和FPGA的光電經(jīng)緯儀伺服跟蹤系統(tǒng)。
1 硬件平臺構(gòu)造
目前經(jīng)緯儀伺服跟蹤系統(tǒng)主要基于PC/104結(jié)構(gòu),具體結(jié)構(gòu)如圖1所示。它是通過引導(dǎo)主控計算機對運動目標完成捕獲跟蹤功能。在實際的伺服系統(tǒng)應(yīng)用中,要在PC104上疊加多塊控制電路板才能較好地運行。這樣就會增加體積并降低系統(tǒng)的可靠性,且提高精度也很困難。
圖1所示的PC104伺服系統(tǒng)由多個功能模塊構(gòu)成,主要包括主機模塊、顯示控制模塊、數(shù)據(jù)采集和控制模塊。選用不同種類和數(shù)量的功能模塊通過堆疊式的PC104總線構(gòu)成小型化的嵌入式系統(tǒng),其可靠性隨著功能模塊的增多而降低,而且成本較高。
針對PC104光電經(jīng)緯儀控制系統(tǒng)的不足,設(shè)計了一種以TI公司的TMS320F2812和ALTERA公司的FPGA芯片EP1C3T144作為主控制器的伺服系統(tǒng)。TMS320-
F2812屬于32 bit的定點DSP,其作為主要的電機控制芯片有豐富的外設(shè)及快速的運算能力,與用于控制方面的其他單片機或DSP相比,擁有明顯的優(yōu)勢。能夠滿足高速跟蹤控制系統(tǒng)的要求,并能運行較復(fù)雜的控制算法,取得較好的控制效果。
為了充分發(fā)揮TMS320F2812強大的控制功能,增加了FPGA芯片來協(xié)調(diào)DSP處理數(shù)據(jù)信號,使得多軸電機的控制及多接口實時通信變得很方便。ALTERA公司的EP1C3T144芯片應(yīng)用廣泛,可靠性較高,與TMS320F2812芯片相協(xié)調(diào),能夠獲得較高的性價比。
基于DSP和FPGA的伺服控制系統(tǒng)主要由電源電路、DSP、FPGA核心處理器、串行通信接口、A/D轉(zhuǎn)換電路、功率轉(zhuǎn)換電路及一些輔助電路組成。電路結(jié)構(gòu)如圖2所示。
1.1 通信接口
DSP作為主控制芯片,通過各種通信接口與外設(shè)或FPGA聯(lián)系。DSP外部數(shù)據(jù)通過數(shù)據(jù)總線可以進入DSP內(nèi)進行處理,也可以先送到FPGA內(nèi)部進行預(yù)處理,處理完后通過總線傳給其他控制系統(tǒng)或DSP主控芯片進行后續(xù)處理。在系統(tǒng)的FPGA與DSP的數(shù)據(jù)交換主要采用DSP和FPGA之間的專用通信接口來處理。兩者間通信可采用標準串行通信接口SPI。SPI接口是一種真正意義上的同步串行通信接口,它在2個傳輸單元之間進行數(shù)據(jù)傳輸時采用的是同一個時鐘,可以達到很高的數(shù)據(jù)傳輸速率。
數(shù)據(jù)總線采用16 bit的寬度,DSP和FPGA都能利用該總線與外部設(shè)備或是上位機進行大量的數(shù)據(jù)交換。TMS320F2812有2路SCI接口,可以傳輸各種控制指令和控制狀態(tài)信息??梢岳肧CI接口采用RS422差分信號進行控制指令的接收及控制狀態(tài)信息的反饋。
1.2 力矩電機控制電路
力矩電機作為主要的控制對象在該系統(tǒng)中直接采用TMS320F2812的PWM接口進行控制。TMS320F2812共有16路PWM輸出接口供電機使用,通過控制PWM波的占空比來改變加在電機兩端的電壓,從而改變電機的轉(zhuǎn)速。DSP發(fā)出的PWM波不能直接驅(qū)動電機運行,須經(jīng)過IGBT進行功率轉(zhuǎn)換。該系統(tǒng)采用了IR公司的IR2210作為功率芯片。它把驅(qū)動芯片和IGBT集成在一起,只要輸入TTL信號就可以實現(xiàn)功率驅(qū)動,而且具有完整的隔離及過流過壓保護功能。
1.3 信息顯示電路
信息顯示模塊主要完成外來信號狀態(tài)顯示,如電機轉(zhuǎn)速、角度等信息以及控制系統(tǒng)的故障信息顯示。這對于系統(tǒng)的調(diào)試及自檢都比較方便。采用OLED(有機發(fā)光二極管顯示器)顯示信息。顯示模塊VGS12864E由行驅(qū)動器、列驅(qū)動器和OLED顯示屏組成。其主要控制電路通過FPGA的強大的邏輯控制功能實現(xiàn),數(shù)據(jù)由DSP主控芯片或其他外設(shè)通信接口傳送給FPGA后,再由FPGA根據(jù)要求送到OLED中顯示。
1.4 功能擴展模塊
由于FPGA擁有較多的I/O資源,因此便于擴展功能。如圖2所示,F(xiàn)PGA可以協(xié)助DSP完成數(shù)據(jù)采集功能。這樣由DSP和FPGA組成的系統(tǒng)可以同時采集多路信號,其中DSP芯片集成的12 bit A/D轉(zhuǎn)換電路主要采集精度不太高的信號,采樣后直接送入DSP內(nèi)部進行處理。對于高精度的信號采樣則通過FPGA外擴采樣電路完成,并在FPGA內(nèi)部進行信號的前期處理,處理后的信號可以通過與DSP的通信接口傳送給DSP使用,也可以直接送到信息顯示模塊上顯示,以方便調(diào)試。FPGA增加了故障提示電路,能把系統(tǒng)內(nèi)發(fā)生的故障轉(zhuǎn)換成相關(guān)量送給外部設(shè)備判斷處理。同時FPGA增加了外部中斷接口,可以讓多個外設(shè)信號接入FPGA,然后才分時送給DSP進行處理,這樣能充分利用系統(tǒng)資源,實現(xiàn)多路信號實時處理。
2 軟件結(jié)構(gòu)設(shè)計
2.1 FPGA的硬件編程設(shè)計
FPGA作為一種硬件可編程芯片,主要采用原理圖加硬件編程語言Verilog或是VHDL來完成。最頂層采用原理圖連接方式將底層功能模塊連接起來,底層采用硬件編程語言構(gòu)建功能模塊電路。由于VHDL相對于Verilog編程語言更嚴密,格式更規(guī)范,所以在本文設(shè)計的系統(tǒng)中,采用VHDL進行FPGA的編程。底層模塊按功能主要分為以下幾個模塊:地址譯碼模塊、中斷管理模塊、I/O管理模塊、信息顯示模塊、A/D采樣模塊、通信模塊。FPGA內(nèi)部組成如圖3所示。
地址譯碼的主要功能是將DSP輸入的外部地址信號進行譯碼后送給FPGA的I/O管理模塊,管理FPGA的編碼器信號接收和A/D信號采集。在該系統(tǒng)中把DSP的XINFF Zone 0區(qū)分配給FPGA使用。DSP分配給FPGA的地址空間,通過譯碼電路處理模塊進行再分配和再擴充后分配給FPGA的其他外設(shè)使用。這樣DSP可以間接控制FPGA的信息顯示模塊、外部中斷等資源。
I/O管理模塊主要負責(zé)各種數(shù)字量輸入輸出以及特定信號的狀態(tài)設(shè)置。I/O模塊連接FPGA的主要外設(shè),以接收外設(shè)的信息并給外設(shè)輸出一定的控制命令。中斷管理模塊功能是擴展DSP的外設(shè)中斷源,接收各種外設(shè)中斷并進行中斷排序,對多個中斷輸入進行優(yōu)先級控制和編碼。這樣可以使系統(tǒng)擁有多路信號的實時信號處理能力,并分擔(dān)DSP的調(diào)度管理任務(wù),使DSP能利用更多的資源去進行復(fù)雜的位置、插值、數(shù)據(jù)濾波等算法處理。
2.2 DSP伺服控制算法實現(xiàn)
為了提高控制系統(tǒng)的跟蹤精度,在硬件平臺基礎(chǔ)上構(gòu)建了雙閉環(huán)反饋回路[3]。雙閉環(huán)反饋回路主要包括速度反饋和位置反饋回路。位置反饋信息主要通過光電編碼器完成。光電編碼器獲取位置后通過RS422接口直接送給FPGA進行預(yù)處理,然后再通過與DSP通信通道送入DSP內(nèi)部運算。速度信息由采樣電路進行離散化后送入DSP內(nèi)部運算??刂葡到y(tǒng)原理如圖4所示。
伺服控制原理是把脫靶量或數(shù)引位置與系統(tǒng)的實際位置進行相減得到誤差量,把誤差量送給位置校正環(huán)節(jié)進行放大,然后把位置信號輸出與經(jīng)過調(diào)節(jié)器后的速度前饋補信號相加作為速度校正環(huán)節(jié)的輸入信號,再通過速度校正環(huán)節(jié)處理。系統(tǒng)根據(jù)速度回路的輸出信號對PWM進行脈寬調(diào)制。最后把DSP輸出的PWM送入功率轉(zhuǎn)換電路進行處理后送入電機執(zhí)行。這樣電機向誤差量變小的方向運動,直至達到控制精度為止。
TMS320F2812屬于定點運算芯片,在編程進行伺服控制時需要浮點運算的算法,此時,要進行一定的處理[4-5]。TI公司提供了用于定點DSP仿真實現(xiàn)浮點運算的算法庫文件IQmath.h[6],調(diào)用該文件可以很好地將伺服運算程序移到F2812中運行,并保證了一定的精度。對多個電機的控制盡量采用中斷方式工作,以降低DSP的開銷,提高實時性。算法中的常用中間變量盡量分配到0等待的SRAM存儲空間上運行,這樣可以提高程序讀寫數(shù)據(jù)的速度,提高算法的運行效率。程序流程圖如圖5所示。
伺服控制算法通過速度反饋和位置反饋來實現(xiàn),速度反饋算法和位置反饋算法通過中斷方式完成[7]。這樣可以提高DSP實時處理能力。
2.3 仿真實驗結(jié)果與分析
基于DSP和FPGA的伺服跟蹤控制的正弦仿真結(jié)果如圖6所示。
從圖6可以看出,控制系統(tǒng)的控制性能較好,其穩(wěn)態(tài)誤差較小。仿真結(jié)果表明,基于DSP和FPGA的跟蹤控制系統(tǒng)有效、可行。
光電經(jīng)緯儀為了提高跟蹤精度,對伺服控制系統(tǒng)有較高要求,并采用復(fù)雜的控制算法來實現(xiàn)精度要求,基于DSP和FPGA組成的伺服控制系統(tǒng)是一個效率很高的系統(tǒng),有較大的發(fā)展?jié)摿?。隨著光電經(jīng)緯儀的發(fā)展,傳統(tǒng)的基于PC104的控制系統(tǒng)已很難滿足要求,升級成本也很高,DSP和FPGA構(gòu)成的控制系統(tǒng)可以替代PC104系統(tǒng)。本文設(shè)計的經(jīng)緯儀跟蹤系統(tǒng)通過實驗測試表明具有較好的效果,但對DSP和FPGA的協(xié)調(diào)處理還有些不足,系統(tǒng)的升級優(yōu)化還有較大的空間。
參考文獻
[1] 何照才.光電測量[M].北京:國防工業(yè)出版社,2002.
[2] 王建立.光電經(jīng)緯儀電視跟蹤、捕獲快速運動目標技術(shù)的研究[D].中科院長春光學(xué)精密機械與物理研究
所,2002.
[3] 盧京潮.自動控制原理[M].西安:西北工業(yè)大學(xué)出版社,2004.
[4] 孫麗明.TMS320F2812原理及其C語言程序開發(fā)[M]. 北京:清華大學(xué)出版社,2008.
[5] 李佳武,張景森.定點DSP芯片TMS320F2812實現(xiàn)快速算法應(yīng)用[J].國外電子元器件,2005(3):27-30.
[6] IQmath Library Module user′s Guide C28x Foundation Software(Rev.D).Texas Instruments,2001.
[7] 李興紅,張淑梅,續(xù)志軍,等.基于TMS320F2812的跟蹤伺服系統(tǒng)[J].微計算機信息,2007(23):147-149.