袁 鑫,盧 磊,景彥哲
(北京航天控制儀器研究所,北京100039)
基于FPGA的DDR2緩存控制器在無(wú)線鏈路圖像跟蹤系統(tǒng)中的應(yīng)用
袁 鑫,盧 磊,景彥哲
(北京航天控制儀器研究所,北京100039)
圖像跟蹤系統(tǒng)是機(jī)載光電吊艙的重要組成部分,其對(duì)目標(biāo)捕捉的成功率直接決定了機(jī)載光電吊艙的性能。而作用于機(jī)載光電吊艙與地面站之間的無(wú)線鏈路系統(tǒng),有著不可消除的的延時(shí)特性,這極大地降低了目標(biāo)捕捉成功率。本文設(shè)計(jì)了一種基于FPGA的DDR2緩存控制器,通過(guò)緩存控制器可以輕松實(shí)現(xiàn)高清視頻圖像的快速存儲(chǔ)和調(diào)用,從而實(shí)現(xiàn)圖像跟蹤算法對(duì)無(wú)線鏈路延時(shí)的補(bǔ)償。該緩存控制器成功應(yīng)用于某型機(jī)載光電吊艙圖像跟蹤系統(tǒng),有效消除了無(wú)線鏈路延時(shí)的影響,提高了圖像跟蹤系統(tǒng)對(duì)目標(biāo)捕捉的成功率。
機(jī)載光電吊艙;FPGA;圖像緩存跟蹤系統(tǒng);DDR2 SDRAM
圖像跟蹤系統(tǒng)是機(jī)載光電吊艙的重要組成部分,其目標(biāo)捕捉、目標(biāo)識(shí)別跟蹤、跟蹤速度、跟蹤精度等指標(biāo)直接決定了機(jī)載光電吊艙的性能。而目標(biāo)捕捉的成功率是圖像跟蹤系統(tǒng)發(fā)揮其性能的關(guān)鍵。作用于機(jī)載光電吊艙與地面站之間的無(wú)線鏈路系統(tǒng),有著不可消除的延時(shí)特性,上行控制指令延時(shí)和下行圖像延時(shí)將導(dǎo)致操作手很難捕捉到需要的目標(biāo),極大地降低了目標(biāo)捕捉的成功率。在實(shí)際應(yīng)用中,往往需要培訓(xùn)專業(yè)操作手,提前熟悉鏈路延時(shí),并能夠根據(jù)載機(jī)的飛行方向和速度,以及目標(biāo)運(yùn)動(dòng)的方向和速度預(yù)估目標(biāo)的位置進(jìn)行捕捉,對(duì)操作手提出了很高的要求,增加了光電吊艙的使用難度,降低了用戶體驗(yàn)。
本文設(shè)計(jì)了一種基于FPGA的DDR2緩存控制器,采用ALTERA公司的Cyclone IV系列FPGA對(duì)DDR2高速緩存模塊數(shù)據(jù)的突擊讀取和寫入,實(shí)現(xiàn)高清視頻圖像的快速存儲(chǔ)和調(diào)用。從而實(shí)現(xiàn)圖像跟蹤算法對(duì)無(wú)線鏈路延時(shí)的補(bǔ)償。該緩存控制器已經(jīng)成功應(yīng)用于某型機(jī)載光電吊艙圖像跟蹤系統(tǒng),有效消除了無(wú)線鏈路延時(shí)的影響,提高了圖像跟蹤系統(tǒng)對(duì)目標(biāo)捕捉的成功率。
地面站與機(jī)載光電吊艙之間的無(wú)線鏈路延時(shí)包括兩部分:一是地面跟蹤指令通過(guò)上行無(wú)線鏈路發(fā)送到機(jī)載光電吊艙產(chǎn)生的上行鏈路延時(shí),以及實(shí)時(shí)畫面從機(jī)載光電吊艙通過(guò)無(wú)線鏈路發(fā)送到地面站產(chǎn)生的下行鏈路延時(shí)。
其中,上行鏈路延時(shí)會(huì)導(dǎo)致機(jī)載光電吊艙收到控制指令時(shí),處理的圖像已不是地面站看到的圖像;下行鏈路延時(shí)導(dǎo)致地面站看到的圖像不是機(jī)載光電吊艙實(shí)時(shí)拍攝的圖像。所以無(wú)線鏈路延時(shí)對(duì)吊艙系統(tǒng)影響的本質(zhì)是影響了吊艙系統(tǒng)圖像傳輸?shù)膶?shí)時(shí)性,進(jìn)一步影響了地面站操作人員抓取跟蹤目標(biāo)的成功率。
圖像緩存跟蹤方案流程圖如圖1所示,由于上行鏈路延時(shí)和下行鏈路延時(shí)對(duì)圖像跟蹤算法的影響是疊加效應(yīng),因此將兩種鏈路延時(shí)統(tǒng)一為上行鏈路延時(shí)方便分析。機(jī)載光電吊艙系統(tǒng)攝像機(jī)捕捉圖像始終為實(shí)時(shí)圖像,地面站顯現(xiàn)圖像為延時(shí)圖像。
地面站操作人員對(duì)延時(shí)圖像中的目標(biāo)發(fā)出圖像跟蹤指令,圖像跟蹤指令通過(guò)無(wú)線鏈路到達(dá)機(jī)載吊艙系統(tǒng)。圖像緩存跟蹤器會(huì)根據(jù)鏈路延時(shí)在高速緩存模塊中提取延時(shí)畫面(高速緩存中第n幀),這樣捕捉到的目標(biāo)信息與地面站操作人員發(fā)出跟蹤指令時(shí)捕捉到的目標(biāo)信息一致。
為了讓吊艙系統(tǒng)恢復(fù)到跟蹤當(dāng)前實(shí)時(shí)圖像中的目標(biāo),需要圖像跟蹤系統(tǒng)短時(shí)間內(nèi)按照時(shí)間順序連續(xù)(第m次)提取高速緩存中的(第n-m幀)圖像,直到提取到當(dāng)前圖像為止。此時(shí)圖像跟蹤系統(tǒng)實(shí)時(shí)跟蹤當(dāng)前圖像中的目標(biāo)。
圖1 圖像緩存跟蹤方案流程圖Fig.1 Flow chart of image cache tracking system
圖像緩存跟蹤電路是在原有圖像跟蹤電路的基礎(chǔ)上設(shè)計(jì)完成的,總體框架圖如圖2所示。主要修改的模塊包括 FPGA可編程門陣列模塊、DDR2高速緩存模塊、供電電源模塊。
2.1FPGA模塊
FPGA模塊作為本系統(tǒng)的核心部分,主要完成圖像數(shù)據(jù)中波門坐標(biāo)數(shù)據(jù)的提取,對(duì)DDR2高速緩存模塊的讀寫,與DSP模塊數(shù)據(jù)交互和處理等功能。原有圖像跟蹤電路中采用的是ALTERA公司的CycloneIII系列中的EP3C120CF780I,這款芯片的速度等級(jí)參數(shù)為7,高速接口最快速率為300Mbit/s,與標(biāo)準(zhǔn)的DDR2芯片高速接口速率相比較低,因此重新選擇ALTERA公司的CycloneIV系列中的EP4CE115F29C7N,該芯片具有以下特點(diǎn):114480個(gè)邏輯單元(LE);3888Kbits嵌入式存儲(chǔ)器;266個(gè)嵌入式18×18乘法器;4個(gè)通用PLL;20個(gè)全局時(shí)鐘網(wǎng)絡(luò);8個(gè)用戶I/O塊;528個(gè)最大用戶IO;接口速率等級(jí)為8,高速接口最快速率可達(dá)400Mbit/s。
如圖3所示,CycloneIV系統(tǒng)FPGA芯片內(nèi)部分成8個(gè)bank,每個(gè)bank中都有專門的DQS數(shù)據(jù)線組來(lái)滿足高頻存儲(chǔ)器的讀寫要求,此外芯片上還提供RUP和RDN管腳,只要連接相應(yīng)的上拉、下拉電阻,就可以在初始化階段配置,得到更加精確的OCT控制參數(shù)提高數(shù)據(jù)讀寫的準(zhǔn)確率,以確保對(duì)DDR2高度緩存模塊讀寫的準(zhǔn)確性。
圖2 總體框架圖Fig.2 The overall framework
圖3 CycloneIV FPGA芯片內(nèi)部結(jié)構(gòu)Fig.3 Chip internal structure of CycloneIV FPGA
2.2DDR2高速緩存模塊
DDR2高速緩存模塊主要負(fù)責(zé)對(duì)圖像數(shù)據(jù)進(jìn)行快速采集和調(diào)用,本系統(tǒng)中選用MICRO公司的MT47H64M16芯片。DDR2采用時(shí)鐘上升沿和下降沿同時(shí)進(jìn)行數(shù)據(jù)傳輸?shù)幕灸J剑俣仁瞧胀ù鎯?chǔ)器件的2倍,常用傳輸速度能達(dá)到667Mbit/s。MT47H64M16芯片框架結(jié)構(gòu)在傳統(tǒng)的地址總線、數(shù)據(jù)總線、命令數(shù)據(jù)總線結(jié)構(gòu)基礎(chǔ)上,增加外部ODT(ON-DIE TERMINATION)引腳,通過(guò)調(diào)整配置電阻值,來(lái)克服片內(nèi)總線上的信號(hào)反射效應(yīng),抑制導(dǎo)線信號(hào)自擾;芯片內(nèi)部采用OCD離線驅(qū)動(dòng)調(diào)整,通過(guò)調(diào)整輸出驅(qū)動(dòng)的上拉/下拉電阻,使得充放電動(dòng)作的電壓誤差減到最小,保證內(nèi)部輸出的穩(wěn)定;另外芯片采用4bit預(yù)存技術(shù),使得在同樣時(shí)鐘頻率下,能達(dá)到4倍于普通DDR芯片的傳輸速度。
2.3供電電源模塊設(shè)計(jì)
在整個(gè)外圍電路設(shè)計(jì)中,電源模塊設(shè)計(jì)是非常重要的,電源模塊的穩(wěn)定性直接影響著整個(gè)電路中各個(gè)模塊工作有效性。本系統(tǒng)中選用TI公司的TPS65251開(kāi)關(guān)電源模塊,主要特點(diǎn):寬輸入電源電壓范圍(4.5V~18V);最大電流:3.5A(降壓開(kāi)關(guān)1),2.5A(降壓開(kāi)關(guān)2和3);可調(diào)開(kāi)關(guān)頻率為300KHz~2.2MHz(由外部電阻設(shè)置);可調(diào)電流限制(由外部電阻設(shè)置);具有簡(jiǎn)單補(bǔ)償電路的電流模式控制;自動(dòng)脈頻調(diào)制(PFM)/脈寬調(diào)制(PWM)操作。
電路原理圖如圖4所示,本系統(tǒng)中電源采用+5V電源輸入,通過(guò)外部電容電阻進(jìn)行參數(shù)配置,使輸出端口LX1輸出+3.3V電源,為DSP數(shù)字處理器和FPGA可編程門陣列相應(yīng)模塊供電;輸出端口LX2輸出+1.2V電源,為DSP數(shù)字處理芯片的內(nèi)核模塊供電;輸出端口LX3輸出+1.8V電源,為DDR2緩存模塊供電。
圖4 TPS65251電源原理圖Fig.4 Power principle diagram of TPS65251
由于DDR2高速緩存模塊是通過(guò)比較數(shù)據(jù)總線和地址總線電平與DDR2_VERF參考電壓端口來(lái)進(jìn)行快速存儲(chǔ)讀寫,因此DDR2_VERF供電電壓的穩(wěn)定性直接影響DDR2模塊高速讀寫的誤碼率。本系統(tǒng)設(shè)計(jì)中采用TI公司DDR2專用芯片LP2997來(lái)實(shí)現(xiàn)DDR2_VERF的高精度穩(wěn)壓特性,原理圖如圖5所示,該芯片配置簡(jiǎn)單,只需要在VIN輸入端和VREF輸出端接2個(gè)濾波電容就可正常工作,電壓穩(wěn)定精度可以達(dá)到99.7%。
圖5 LP2997電源原理圖Fig.5 LP2997 power chip sheet
3.1FPGA軟件設(shè)計(jì)
(1)DDR2接口控制模塊
ALTERA公司開(kāi)發(fā)的QUARTUS軟件中有著強(qiáng)大的IP核模塊庫(kù),庫(kù)中有IP核支持標(biāo)準(zhǔn)DDR2元器件的接口。通過(guò)ALTERA IP核可以方便地生成DDR2 SDRAM接口文件,DDR2匹配參數(shù)的設(shè)置如圖6所示,其中重要的參數(shù)主要有:Memory burst length突發(fā)讀寫長(zhǎng)度要根據(jù)參考時(shí)鐘來(lái)計(jì)算,全頻時(shí)鐘Full-rate模式下選擇8,半頻時(shí)鐘Halrate模式下選擇4;ODT終止電阻大小的選擇要根據(jù)PCB中實(shí)際走線阻抗來(lái)設(shè)置,通常在布PCB電路時(shí)要求數(shù)據(jù)總線高頻阻抗保證在40Ω~60Ω。
(2)圖像數(shù)據(jù)緩存模塊
圖像數(shù)據(jù)緩存模塊:實(shí)現(xiàn)的主要功能是對(duì)每行圖像有效數(shù)據(jù)進(jìn)行緩存,保證DDR2高速讀寫存儲(chǔ)數(shù)據(jù)時(shí),數(shù)據(jù)總線的數(shù)據(jù)變化周期能與DDR2讀寫時(shí)鐘周期一致。
圖像數(shù)據(jù)緩存模塊流程圖如圖7所示,圖像數(shù)據(jù)緩存模塊在行使能有效的時(shí)間內(nèi),將圖像輸入數(shù)據(jù)按照像素時(shí)鐘寫入FIFO_IN模塊(從FIFO_ OUT模塊中讀出)。在場(chǎng)消隱時(shí)間段內(nèi)清空FIFO_ IN和FIFO_OUT空間數(shù)據(jù),防止錯(cuò)誤數(shù)據(jù)流入下一幀圖像數(shù)據(jù),降低圖像質(zhì)量。當(dāng)FIFO_IN中存儲(chǔ)的數(shù)據(jù)量大于1/8行數(shù)據(jù)時(shí)(FIFO_OUT中剩余存儲(chǔ)空間大于1/8行數(shù)據(jù)時(shí)),向DDR2讀寫控制模塊發(fā)送寫使能信號(hào)(讀使能信號(hào))。
圖6 DDR2匹配參數(shù)的設(shè)置表Fig.6 DDR2 parameter table
圖7 圖像數(shù)據(jù)緩存模塊流程圖Fig.7 Flow chart of image cache module
由于DDR2 SDRAM的讀寫速率遠(yuǎn)快于圖像數(shù)據(jù)輸入速率,這里對(duì) FIFO按照單行長(zhǎng)度讀入,1/8行長(zhǎng)度讀出,這種分段流水操作可以減少數(shù)據(jù)等待延時(shí),提高數(shù)據(jù)流通效率。
(3)DDR2讀寫控制模塊
DDR2讀寫控制模塊:實(shí)現(xiàn)的主要功能是對(duì)讀寫請(qǐng)求信號(hào)進(jìn)行優(yōu)先級(jí)管理,對(duì)讀寫操作的地址總線、數(shù)據(jù)總線和命令數(shù)據(jù)總線進(jìn)行對(duì)應(yīng)的賦值操作,保證DDR2 SDRAM的讀寫時(shí)序滿足設(shè)計(jì)要求。
圖8為DDR2讀寫控制模塊的設(shè)計(jì)流程圖,如圖8所示在沒(méi)有圖像跟蹤指令到達(dá)時(shí),讀寫控制模塊實(shí)時(shí)對(duì)圖像數(shù)據(jù)緩存模塊產(chǎn)生的讀寫請(qǐng)求信號(hào)進(jìn)行應(yīng)答,為了保證視頻數(shù)據(jù)不會(huì)出現(xiàn)漏行、壞點(diǎn)等視頻顯示問(wèn)題,在讀寫請(qǐng)求信號(hào)同時(shí)達(dá)到時(shí)優(yōu)先應(yīng)答寫請(qǐng)求信號(hào)。
圖8 DDR2讀寫控制模塊流程圖Fig.8 Flow char of DDR2 read-write control module
在進(jìn)入讀寫狀態(tài)后,先判斷是否滿足突發(fā)數(shù)據(jù)讀寫要求,如果滿足應(yīng)優(yōu)先選擇突發(fā)數(shù)據(jù)讀寫模式對(duì)DDR2 SDRAM模塊進(jìn)行讀寫操作。
在地面站圖像跟蹤指令到達(dá)時(shí),停止應(yīng)答圖像數(shù)據(jù)緩存模塊產(chǎn)生的讀寫請(qǐng)求信號(hào),按照DSP數(shù)字信號(hào)處理芯片返回的無(wú)線鏈路延時(shí)時(shí)間,向DDR2 SDRAM中對(duì)應(yīng)的延時(shí)圖像數(shù)據(jù)地址發(fā)送讀請(qǐng)求信號(hào),快速調(diào)用延時(shí)圖像數(shù)據(jù)。
在調(diào)用完延時(shí)圖像數(shù)據(jù)后,按照時(shí)間順序高幀頻逐幀連續(xù)讀出圖像數(shù)據(jù),短時(shí)間內(nèi)將捕捉目標(biāo)對(duì)應(yīng)位置由延時(shí)圖像切換到實(shí)時(shí)圖像位置,以滿足吊艙系統(tǒng)跟蹤要求。
3.2DSP軟件設(shè)計(jì)
DSP芯片的軟件系統(tǒng)是在原有圖像跟蹤系統(tǒng)DSP軟件的基礎(chǔ)上重新設(shè)計(jì)完成,具體流程圖如圖9所示,在對(duì)芯片內(nèi)部相應(yīng)模塊初始化完成后,會(huì)使能相應(yīng)的外部中斷向量,實(shí)時(shí)響應(yīng)外部控制指令,并采集跟蹤圖像波門數(shù)據(jù)。
圖9 DSP芯片軟件系統(tǒng)流程圖Fig.9 Flow chart of DSP software system
在跟蹤指令到達(dá)后,DSP芯片會(huì)通過(guò)外部中斷進(jìn)行握手操作,實(shí)時(shí)計(jì)算無(wú)線鏈路延時(shí)時(shí)間,通過(guò)高速外部接口EMIFA發(fā)送給FPGA的讀寫控制模塊,采集延時(shí)圖像波門數(shù)據(jù)。
根據(jù)相應(yīng)的圖像跟蹤算法,對(duì)圖像波門數(shù)據(jù)中的捕捉目標(biāo)進(jìn)行實(shí)時(shí)捕捉,然后將脫靶量輸出給機(jī)載光電吊艙伺服控制系統(tǒng)。
當(dāng)退出跟蹤指令到達(dá)或者跟蹤算法判定目標(biāo)跟蹤丟失條件下,軟件會(huì)退出跟蹤狀態(tài),等待下一次跟蹤指令的到達(dá)。
利用機(jī)載光電吊艙系統(tǒng)進(jìn)行如下實(shí)驗(yàn):
1)在實(shí)驗(yàn)室環(huán)境下,采用動(dòng)態(tài)目標(biāo)模擬器模擬真實(shí)環(huán)境下運(yùn)動(dòng)的目標(biāo);
2)在上位機(jī)控制軟件中加入延時(shí)模塊,模擬鏈路延時(shí);
3)關(guān)閉機(jī)載光電吊艙圖像跟蹤系統(tǒng) DDR2 SDRAM圖像高速緩存模塊,進(jìn)行動(dòng)態(tài)目標(biāo)捕捉;
4)打開(kāi)機(jī)載光電吊艙圖像跟蹤系統(tǒng) DDR2 SDRAM圖像高速緩存模塊,進(jìn)行動(dòng)態(tài)目標(biāo)捕捉。
實(shí)驗(yàn)數(shù)據(jù):
對(duì)實(shí)驗(yàn)步驟2和實(shí)驗(yàn)步驟3分別進(jìn)行200次動(dòng)態(tài)目標(biāo)捕捉實(shí)驗(yàn),如表1所示。通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)的數(shù)據(jù)分析可以看出,DDR2圖像緩存控制器有利于提高圖像跟蹤系統(tǒng)的性能。
表1 實(shí)驗(yàn)數(shù)據(jù)Table 1 Experimental data
本文設(shè)計(jì)了一種基于FPGA的DDR2緩存控制器,通過(guò)緩存控制器可以實(shí)現(xiàn)高清視頻圖像的快速存儲(chǔ)和調(diào)用,從而實(shí)現(xiàn)圖像跟蹤算法對(duì)無(wú)線鏈路延時(shí)的補(bǔ)償。該緩存控制器成功應(yīng)用于某型機(jī)載光電吊艙圖像跟蹤系統(tǒng),通過(guò)實(shí)驗(yàn)證明緩存控制器有效消除了無(wú)線鏈路延時(shí)對(duì)目標(biāo)捕捉的影響,提高了圖像跟蹤系統(tǒng)對(duì)目標(biāo)捕捉的成功率。
[1] 趙天云,王洪迅,郭雷,等.DDR2 SDRAM控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2005,22(3):203-207. ZHAOTian-yun,WANGHong-xun,GUOLei,et al.DDR2 SDRAM controller design and implementation [J].Journal of Microelectronics and Computer,2005,22 (3):203-207.
[2] Samir Palnitkar.Verilog HDL數(shù)字設(shè)計(jì)與綜合[M].北京:電子工業(yè)出版社,2009. Samir Palnitkar.Verilog HDL digital design and synthesis [M].Beijing:Electronics Industry Press,2009.
[3] 劉冠男,歐明雙,宋何娟.DDR2 SDRAM控制器的設(shè)計(jì)及FPGA驗(yàn)證[J].中國(guó)集成電路,2010,19(4):42-45. LIU Guan-nan,OU Ming-shuang,SONG He-juan.DDR2 SDRAM controller design and the FPGA verification[J]. China Integrated Circuit,2010,19(4):42-45.
[4] 徐家剛,張永偉,徐瑞榮 .基于 FPGA與 DDR2 SDRAM的高速ADC采樣數(shù)據(jù)緩沖器設(shè)計(jì)[J].艦船電子對(duì)抗,2010,33(1):104-108. XU Jia-gang,ZHANG Yong-wei,XU Rui-rong.Based on FPGA and DDR2 SDRAM high-speed ADC sampling data buffer design[J].Ship Electronic Countermeasures,2010,33(1):104-108.
[5] 陳雨,陳科,安濤.高速圖像處理系統(tǒng)中DDR2-SDRAM接口的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(12):104-108. CHEN Yu,CHEN Ke,AN Tao.DDR2 SDRAM interface in high-speed image processing system design[J].Modern Electronic Technology,2011,34(12):104-108.
Based on FPGA DDR2 Cache Controller in the Application of the Wireless Link Image Tracking System
YUAN Xin,LU Lei,JING Yan-zhe
(Beijing Institute of Aerospace Control Devices,Beijing 100039)
Image tracking system is an important part of the airborne electro-optical pod,its success rate of target capture directly determine the performance of airborne electro-optical pod.And the wireless link between airborne electrooptical pod and ground station system can't eliminate the delay characteristics,which greatly reduces the success rate of target capture.In this paper,we design a DDR2 cache controller based on FPGA,by caching controller can easily implement hd video image storage and call quickly,so as to realize wireless link delay compensation of image tracking algorithm.The cache controller is successfully applied in a certain type of airborne electro-optical pod image tracking system,effectively eliminate the influence of the wireless link delay and improve the success rate of target capture in the image tracking system.
airborne electro-optical pod;FPGA;image cache tracking system;DDR2 SDRAM
U666.1
A
1674-5558(2016)03-01175
10.3969/j.issn.1674-5558.2016.04.011
2015-07-23
袁鑫,男,助理工程師,研究方向?yàn)楣怆姺€(wěn)定平臺(tái)設(shè)計(jì)。