基于TMS320C6711的中心定位實(shí)時(shí)圖象處理系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
地平儀是衛(wèi)星姿態(tài)控制系統(tǒng)的關(guān)鍵子系統(tǒng),其測(cè)量精度和可靠性直接關(guān)系到衛(wèi)星姿態(tài)是否精確和穩(wěn)定,在凝視或靜態(tài)型地平儀中,地球被成像在紅外面陣探測(cè)器上,因此地球圖像的邊緣可落在紅外面陣探測(cè)器的光敏面內(nèi)。對(duì)該圖像進(jìn)行中心定位處理,可提取出衛(wèi)星的姿態(tài)參數(shù),通過調(diào)整衛(wèi)星滾動(dòng)軸和俯仰軸方向,使固定在衛(wèi)星上的紅外面陣探測(cè)器視場(chǎng)中心正好對(duì)準(zhǔn)地球中心,從而精確定位整個(gè)衛(wèi)星系統(tǒng)的姿態(tài),由于地平圈圖像具有遠(yuǎn)多于通過圓錐掃描方式獲得的信息,因而可獲得更高的精度,本文利用TI公司的DSP芯片TMS320C6711B(簡(jiǎn)稱C6711)實(shí)現(xiàn)了中心定位的相關(guān)算法。實(shí)踐證明,該方法不僅可以滿足實(shí)時(shí)性要求,還可以提高地平儀的測(cè)量精度,對(duì)提高衛(wèi)星姿態(tài)的精度具有重要意義。
1 實(shí)時(shí)圖象處理系統(tǒng)的硬件構(gòu)成
本系統(tǒng)以C6711為核心,輔助以現(xiàn)場(chǎng)可編程門陣列FPGA及高速A/D等器件構(gòu)成實(shí)時(shí)高速數(shù)字圖象處理系統(tǒng)。系統(tǒng)硬件框圖如圖1,該圖象處理系統(tǒng)的工作原理是:由CCD采集輸出的模擬圖像信號(hào),經(jīng)過高速A/D將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),數(shù)字圖象信號(hào)在FPGA控制下,將數(shù)據(jù)不斷輸入至雙口RAM。每當(dāng)一幀圖像掃描結(jié)束時(shí),F(xiàn)PGA提供一個(gè)中斷標(biāo)志信號(hào),觸發(fā)DSP進(jìn)行數(shù)據(jù)搬移,將雙口RAM中的一幀圖像通過C6711的QDMA搬移到SDRAM中。QDMA將數(shù)據(jù)搬移完后檢查圖像數(shù)據(jù)是否有效,如有效則觸發(fā)DSP執(zhí)行圖象處理程序,否則返回等下一個(gè)中斷到來,DSP在下次中斷到來之前處理完本幀圖像,將得出的姿態(tài)角信息通過多通道緩沖串口McBSP輸出給電腦PC機(jī)RS232口并顯示,之后又進(jìn)入中斷等待狀態(tài),等待中斷再次觸發(fā)QDMA進(jìn)行數(shù)據(jù)搬移。
1.1 C6711數(shù)字信號(hào)處理器
C6711是TI公司的高速浮點(diǎn)DSP芯片,主頻為150MHz,最高能達(dá)到900MFLOSP的峰值運(yùn)算能力,C6711由CPU內(nèi)核、片內(nèi)外設(shè)和存儲(chǔ)器三大部分組成,處理單元采用高性能、先進(jìn)的VelociTI結(jié)構(gòu),每時(shí)鐘周期8個(gè)功能單元可并行工作,C6711具有特別適合實(shí)時(shí)圖象處理的特點(diǎn):
(1)先進(jìn)的VelociTI超常指令字C67XDSP內(nèi)核;
(2)硬件支持IEEE標(biāo)準(zhǔn)的單精度和雙精度浮點(diǎn)指令;
(3)32位外部存儲(chǔ)器接口(EMIF),提供與同步、異步存儲(chǔ)器的無縫接口;
(4)兩級(jí)緩存結(jié)構(gòu),其中:程序緩存32Kbit,數(shù)據(jù)緩存32Kbit,二級(jí)緩存512Kbit;
(5)增強(qiáng)型DMA控制器,共16個(gè)獨(dú)立通道。
1.2 A/D轉(zhuǎn)換
由CCD輸出的模擬圖像信號(hào),經(jīng)過高速A/D將模擬信號(hào)轉(zhuǎn)換為10位數(shù)字圖象信號(hào),在FPGA的控制下存入雙口SAM存儲(chǔ)器,供DSP處理使用。
1.3 電源模塊和監(jiān)控復(fù)位電路
C6000系列DSP需要兩種電壓,分別為CPU內(nèi)核電壓和周邊I/O接口電壓。C6711需要3.3V和1.8V兩種電壓,并且要求兩種電源滿足一定的加電順序。本系統(tǒng)采用兩者同時(shí)加電的方式,根據(jù)系統(tǒng)的功耗要求,分別采用芯片TPS54316和TPS54314直接產(chǎn)生3.3V和1.8V兩種電壓,它最大可提供3A的供電電流,電源監(jiān)控和復(fù)位電路采用TI公司的TPS3307-33實(shí)現(xiàn),它可以同時(shí)監(jiān)測(cè)三個(gè)獨(dú)立的電壓3.3V/5V/1.8V,并且被監(jiān)測(cè)的三個(gè)電壓有一個(gè)低于其門限值時(shí),就可以保證輸出有效的RESET信號(hào),使DSP復(fù)位,當(dāng)它們的值都高于門限值時(shí),RESET信號(hào)才變?yōu)楦唠娖健?/p>
1.4 時(shí)鐘模塊和JTAG接口
25MHz的時(shí)鐘信號(hào)經(jīng)過ICS501倍頻后,產(chǎn)生150MHz和100MHz時(shí)鐘信號(hào),經(jīng)三態(tài)門總線緩沖器74LVTH125輸出后得到CPU工作時(shí)鐘及同步接口所需的工作時(shí)鐘,C6711的7個(gè)JTAG仿真腳TRST、TMS、TDI、TDO、TCK、EMU1和EMU0連接到一個(gè)14腳雙排插頭上,可與仿真器相連,以進(jìn)行系統(tǒng)調(diào)試和程序下載。
1.5 外部存儲(chǔ)器設(shè)計(jì)
C6711訪問外部存儲(chǔ)器必須通過EMIF。EMIF不僅有很高的數(shù)據(jù)吞吐率,而且還有很強(qiáng)的接口能力,可以與目前所有類型的存儲(chǔ)器直接接口,設(shè)計(jì)采用三種類型的存儲(chǔ)器:Flash ROM、雙口RAM和同步動(dòng)態(tài)存儲(chǔ)器SDRAM,F(xiàn)lash ROM是現(xiàn)場(chǎng)可擦除、掉電后可保持?jǐn)?shù)據(jù)的存儲(chǔ)器,用來固化程序和保存掉電后需要保存的數(shù)據(jù),雙口RAM用來存儲(chǔ)一幀圖象數(shù)據(jù);SDRAM運(yùn)行速度快,用存放實(shí)時(shí)運(yùn)行程序和臨時(shí)數(shù)據(jù),本系統(tǒng)Flash ROM采用SST39V040,且配置在CE1空間,雙口RAM采用IDT70V28,且配置在CE2空間,選用HY57V563220作為SDRAM,配置在CE0空間,這樣的配置與引導(dǎo)方式相配合。
1.6 輸出電路
系統(tǒng)根據(jù)輸入的圖像,由C6711進(jìn)行處理后得出的一個(gè)衛(wèi)星姿態(tài)角信息,該姿態(tài)角信息由C6711輸出到PC機(jī)的RS-232口,由于通信的信息量少,所以可以利用C6711的多通道緩沖串口McBSP,在不擴(kuò)展其他硬件的情況下,用實(shí)現(xiàn)異步數(shù)據(jù)傳輸格式,發(fā)送時(shí),發(fā)送轉(zhuǎn)換子程序把每一個(gè)數(shù)據(jù)位擴(kuò)展成16位的UART字,并把這些已轉(zhuǎn)換好的數(shù)據(jù)塊放入發(fā)送緩沖區(qū),同時(shí)在適當(dāng)?shù)牡胤郊由掀鹗己徒K止位(如圖2所示),然后EDMA把數(shù)據(jù)從發(fā)送緩沖區(qū)傳給McBSP,而McBSP幀同步發(fā)生器負(fù)責(zé)連續(xù)的移出這些數(shù)據(jù)[4],接收時(shí),EDMA從McBSP讀入已經(jīng)擴(kuò)展的數(shù)據(jù),并把這些數(shù)據(jù)寫入接收緩沖區(qū),然后再調(diào)用壓縮子程序把數(shù)據(jù)轉(zhuǎn)換成原來的字節(jié)形式,這種方法的優(yōu)點(diǎn)是硬件接口簡(jiǎn)單,只需增加一個(gè)CMOS電平與RS232電平的電平轉(zhuǎn)換電路。
.
2 圖象處理算法的實(shí)現(xiàn)
中心定位圖象處理算法設(shè)計(jì)以輸入圖像格式320×240象素,1024灰度級(jí)/象素為基礎(chǔ),包括濾波、判斷地平圈是否進(jìn)入視場(chǎng),邊緣檢測(cè)和精確定中心幾個(gè)部分。
2.1 濾波
探測(cè)器可能存在小于1%的壞單元,其灰度值主要為0或者1023,壞元區(qū)范圍小于3×3,壞元的存在有可能對(duì)邊緣檢測(cè)帶來誤差,再加上采集到的圖像數(shù)據(jù)信噪比較低,所以采用二維中位數(shù)濾波[5]。其做法是:對(duì)于一幀圖像,采用從上到下、從左到右的方法,移動(dòng)3×3的窗口,在每一個(gè)位置,將有9個(gè)圖像像素出現(xiàn)在窗口中,對(duì)這9個(gè)像素灰度值進(jìn)行排序,使用快速排序法找到處于正中的象素值,把這個(gè)值賦給3×3窗口的中心象素,使用這種方法可以有效濾除區(qū)域不大于2×2的突發(fā)性干擾,從而提高算法精度。
2.2 判斷地平圈是否進(jìn)入視場(chǎng)
當(dāng)衛(wèi)星初始進(jìn)入軌道時(shí),在地平儀初始狀態(tài)下可能探測(cè)不到地球,這時(shí)需啟動(dòng)搜索程序控制衛(wèi)星偏轉(zhuǎn)以搜索地球。因此,必須對(duì)所得的地平圈圖像采用逐行掃描的搜索方法以判斷地球是否進(jìn)入視場(chǎng)。
2.3 邊緣檢測(cè)
邊緣是提取首先檢測(cè)圖像局部特性的不連續(xù)性,然后再將這些不連續(xù)的邊緣象素連成完備的邊界,邊緣的特性是沿邊緣走向的象素變化平緩,而垂直于邊緣方向的象素變化劇烈,這個(gè)意義上說,提取邊緣的算法就是檢測(cè)符合邊緣特性的邊緣象素的數(shù)學(xué)算子。
由于地球的輻射存在不均勻性,所以地平高度與采用的地平檢測(cè)方式有關(guān),其差別在于對(duì)應(yīng)不同的地平檢測(cè)方式,具體的地平高度隨地球輻射變化程度不同,本文采用比例門限法檢測(cè)地平圈。具體算法如下:以粗略地心為起點(diǎn),以0.5度為間隔取720條射線??紤]到只需掃描地球輻射過渡帶,所以每條射線的掃描起點(diǎn)距粗略地心為100個(gè)單位,間隔一個(gè)單位進(jìn)行一次采樣,由于該采樣點(diǎn)的坐標(biāo)不是整型,所以利用雙線性內(nèi)插得到采樣點(diǎn)的灰度值,依次判斷采樣點(diǎn),一邊記錄灰度最大值,一邊判斷灰度值是否小于最大值的一半,當(dāng)條件成立時(shí),掃描停止,算法灰度值為最大值的50%所對(duì)應(yīng)的坐標(biāo),即地平點(diǎn)坐標(biāo),掃完720條射線后,所有的地平點(diǎn)構(gòu)成一個(gè)地平圈。該算法對(duì)接近過渡帶的點(diǎn)進(jìn)行雙線性內(nèi)插,提高了程序執(zhí)行效率,檢測(cè)出的地平點(diǎn)坐標(biāo)是浮點(diǎn)數(shù),提高了地平判定精度,有利于減小測(cè)量地心的誤差。
2.4 精確定中心
精確定中心是算法中最關(guān)鍵的部分,方法的好壞直接影響地心的精度,一般有霍爾變換法、面積積分和三點(diǎn)均值法等,精確定位采用面積積分法,根據(jù)微積分理論,對(duì)于一個(gè)封閉區(qū)域D,其重心坐標(biāo)可用如下公式得到:
式中,x和y代表單元點(diǎn)的坐標(biāo),ρ(x,y)代表單元點(diǎn)的密度,D代表整個(gè)區(qū)域。
當(dāng)ρ(x,y)=1時(shí),區(qū)域的重心和形心重合,S表示區(qū)域的面積,為了能夠用計(jì)算機(jī)計(jì)算區(qū)域的中心位置,必須對(duì)上面的公式離散化,離散化后的公式為:
式中,R(θ)表示對(duì)應(yīng)θi~θi+1范圍內(nèi)的幅值變化規(guī)律。
3 實(shí)驗(yàn)結(jié)果
把CCD拍攝到的圖象數(shù)據(jù)送入該系統(tǒng)處理,每處理完一幀圖像就會(huì)從串口輸出一個(gè)姿態(tài)角信息,表1是四幀圖像的處理結(jié)果。從表1可以看出算法的精度優(yōu)于0.1的指標(biāo)要求,算法處理時(shí)間約為0.49秒,滿足一秒處理一幀的實(shí)時(shí)要求。
由高性能數(shù)字信號(hào)處理器TMS320C6711B和FPGA組成的實(shí)時(shí)圖象處理系統(tǒng),實(shí)現(xiàn)了圖像采集、實(shí)時(shí)數(shù)據(jù)處理及輸出,利用JTAG接口對(duì)系統(tǒng)進(jìn)行在線調(diào)試,使系統(tǒng)具有很好的升級(jí)性和擴(kuò)展性,采用DSP處理器,增強(qiáng)了系統(tǒng)的處理能力,提高了系統(tǒng)處理速度,保證了工作的實(shí)時(shí)性要求,采用貼片器件,既減小了PCB板的尺寸,又增加了系統(tǒng)的可靠性。實(shí)踐證明,中心定位算法通過對(duì)原始圖像濾波、判斷目標(biāo)是否進(jìn)入視場(chǎng)、邊緣檢測(cè)和精確定中心大大地提高了地平儀的測(cè)量精度。