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