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