隨著計算機技術和圖像處理技術的飛速發展,被動式電視跟蹤系統以其高分辨率、直觀感強、抗干擾性能好、成本低等優點,在軍事上受到普遍重視,尤其在防空火控系統中獲得了廣泛應用。然而,由于數字圖像處理技術數據量龐大,算法復雜,使得運算速度和精度往往成為限制電視跟蹤系統整體性能的瓶頸。解決辦法包括采用多處理器模式、提高核心處理芯片的運算能力或者探索更加高效的跟蹤算法等。無論從設計的簡化還是便于系統升級來說,提高核心處理芯片運算能力的方法無疑受到廣大用戶的青睞。專門用于視頻圖像或者音頻信號的DSP (數字信號處理器)芯片能夠滿足以上需求。另外,FPGA (現場可編程門陣列)的諸多優點使其迅速應用到數字電路設計中。在核心芯片DSP的控制下,配合FPGA,能實現較復雜的圖像處理任務和控制算法。FPGA對DSP起到重要的輔助作用,簡化了電路設計,降低了成本,提高了穩定性。基于DSP的電視跟蹤系統中,探索出了一種利用FPGA完成視頻疊加和其他輔助功能的方法,構成了一個功能完整的實時目標搜索跟蹤系統。
1 系統硬件設計
系統組成框圖如圖1所示,主要由圖像輸入部分、圖像識別處理部分和伺服隨動系統三大部分組成。圖像輸入部分為攝像頭或視景仿真計算機。攝像頭用來攝取實時圖像,視景仿真計算機則可以根據訓練或評估的需要,設定多種目標模型和航路參數,利用3D建模軟件模擬實戰環境和飛行條件,實時產生視頻圖像信號。圖像識別處理部分主要由圖像采集模塊、目標跟蹤和識別模塊、通信控制模塊、伺服控制模塊、字符和信息疊加模塊、電源模塊組成。實時采集并處理輸入的視頻信號,完成對目標的搜索和跟蹤,并在輸出視頻上疊加字符、波門等信息。并將目標偏移量進行D/A轉換及放大調整,監測操作面板各個開關的狀態。伺服隨動系統根據上述偏移量對云臺(攝像頭)位置進行調整或將誤差信號傳輸給視景仿真計算機,控制目標的生成,從而實現對仿真目標的電視跟蹤。
本系統采用的核心處理芯片是TMS320DM642 DSP,這是一款針對視頻/圖像處理的定點DSP,其顯著特征是高度集成了視頻輸入輸出端口,支持所有主要的視頻標準。本系統中采用其視頻端口 0和視頻端口 2,分別連接視頻編碼芯片和解碼芯片,負責視頻信號的采集和輸出。通信控制模塊包括兩路標準RS232串口,其中一路連接系統控制面板,讀取開關狀態,控制面板指示燈,另一路連接火控計算機,接受火控計算機輸出的火控系統參量信號, DSP控制其與原視頻信號進行疊加復合,然后送監視器供操作手觀察。
?
2 系統軟件設計
軟件從功能上可分為圖像采集、圖像處理、識別跟蹤、顯示控制和主控等模塊,主要完成視頻采集、視頻(幀信號)處理(預處理、二值化、目標識別、跟蹤、預估) 、視頻疊加、網口(視景仿真計算機)通信、IC通信(輔助控制板)和視頻顯示6個任務。
TI公司DSP開發環境為CCS,對應DM642的版本是2. 21, CCS中工作模式采用多線程處理方式,圖2中各個功能塊作為不同的任務分別創建、執行。
視頻處理任務定時向輔助控制板報告其當前工作狀態,如果處于鎖定跟蹤狀態則送出目標偏移量,否則送出兩個全零字節。然后,輔助控制板向DSP報告對操作面板的監測結果。
為了防止多任務造成資源沖突,造成程序混亂,需要對它們執行的時序和調用關系進行控制。本系統采用了兩種方法進行控制:
a) 使用SCOM (同步通信模塊) 。SCOM的作用是在兩個任務之間傳遞消息,對于兩個有確定時序關系的模塊,確保兩者按照規定順序執行,避免對共享區域形成讀寫沖突。
b) 使用臨界段定義。對于時序關系不確定的兩個任務,它們之間的共享數據定義為臨界段代碼,這使得其數據不能被一個以上的進程同時訪問,并禁止其無關線程訪問臨界數據。否則,如果其他線程訪問了其內部數據,可能使得整個程序處于異常狀態,可能導致資源沖突、死機或者其他不良后果。本方法的缺點是臨界數據不能過長,否則將使得程序執行緩慢。
3 視頻疊加的實現
電視監視器上需要顯示的字符、波門信息供操作者觀察使用,其疊加任務由FPGA 實現。采用FPGA完成視頻疊加任務的數字式電視跟蹤系統的優點主要體現在以下兩個方面:首先,系統中不可避免存在大量控制信號,需要進行較多的邏輯變化,為了避免分立器件帶來的電路的繁瑣,提高穩定性,可以充分利用FPGA空間,利用FPGA完成邏輯處理任務,從而不添加額外的邏輯控制電路。其次,在視頻信號上疊加火控計算機送來的信號,包括目標高度量、距離量和速度量、跟蹤波門、跟蹤狀態以及視場中心十字線。這些信息的疊加要求透明顯示,能夠實時刷新,而FPGA就能夠達到上述要求。
本系統選用的FPGA 型號為Xilinx XC2300E,屬于XC2000 系列, 等效門數為6 912, 封裝形式為PQFP208。FPGA作為連接DSP與視頻編碼器( Philip s SAA7105)的橋梁,即在DSP輸出的視頻數據流上添加FPGA環節,完成視頻疊加任務。同時, FPGA還實現對各種控制信號的邏輯組合和變換等。
按照系統各個功能模塊劃分, FPGA的功能有:
a)通過EM IF (擴展存儲器接口)控制8個系統指示燈。
b)通過EM IF 控制8 個GP IO (通用輸入/輸出位) ;
c)產生EM IF緩存的控制信號D IR 和OEz。
d)為PLL1708時鐘發生器提供串行控制接口。
e)為Flash存儲器提供3個控制位。
f)實現對串口UART(通用異步收發器)和視頻解碼器中斷的邏輯控制,并產生送給DSP的邊緣觸發信號。
g)當DSP視頻端口送出的視頻數據為8位時,將視頻數據直接送往視頻編碼器。
h)當DSP視頻端口送出的視頻數據為16位時,由于16位數據在時鐘上升沿輸出給FPGA, FPGA將其轉換為雙時鐘模式,即前8位在上升沿輸出,低8位在下降沿輸出。
i)為DSP輸出的視頻數據提供一個CLUT (顏色查詢表) 。這里CLUT作為一塊RAM區,寫入使能信號由地址編碼器控制。內部依次存儲的數據包括Y(亮度) 、Cb (飽和度) 、Cr (色度) ,利用這三者的數據組合來顯示128種顏色。需要特別說明的是,每個顏色單元分配了2 4 bit , 其中0 bit ~7 bit為Y, 8 bit ~15 bit是Cb, 16 bit~23 bit是Cr,這樣安排是為了方便CLUT的寫入和讀取。通過查詢顏色代碼,可將取得的顏色值賦給待疊加信息,實現其顏色的可控性。
特別是FPGA內部設有一個256字節、32 bits的數據F IFO,用來存儲顯示信息。F IFO 存儲區允許寫操作,數據寫入的方式采用DMA,其格式采用32 bit輸入。FPGA從F IFO 中取得數據后與視頻數據進行疊加,產生新的視頻數據流輸出。
OSD (On_Screen_Disp lay)混合模塊是FPGA的核心部分,它接收邏輯控制單元的控制,判斷是否需要疊加F IFO 送來的顯示信息。若否,則說明無疊加信息,只輸出原有視頻數據;若是, OSD轉換模塊數據首位被激活, CLUT數據與視頻數據混合疊加后輸出。由于DSP送出的視頻數據采用BT. 656模式,且為16 bit寬度,所以這里設計了一個DDR模塊,其功能是在時鐘的上升沿輸出灰度數據,下降沿輸出色度數據。
4 系統設計的突出特性
實踐證明,利用FPGA實現視頻疊加和其他輔助功能的方法能夠有效地提高系統處理速度, 其可擴展性和適應性也得到加強。
a) FPGA減輕了DSP的處理負荷。系統設計的突出點在于FPGA與DSP之間采用DMA方式傳輸待疊加的顯示信息, 通過中斷的方法觸發傳送事件。
b) DM642和FPGA的高集成度大大簡化了系統硬件設計。外圍電路簡單,提高了穩定性。
c) FPGA的時序邏輯調試可用軟件仿真實現,降低了硬件調試難度。
評論