摘 要: 為解決圖像處理系統(tǒng)對(duì)目標(biāo)的實(shí)時(shí)中心定位問題,,設(shè)計(jì)了一套以TMS320C6711 DSP芯片為核心的實(shí)時(shí)圖像處理系統(tǒng),。對(duì)系統(tǒng)的構(gòu)成和設(shè)計(jì)進(jìn)行了描述,并給出了中心定位算法和實(shí)驗(yàn)結(jié)果,。
關(guān)鍵詞: TMS320C6711 邊緣檢測" title="邊緣檢測">邊緣檢測 中心定位 多通道緩沖串口
地平" title="地平">地平儀是衛(wèi)星姿態(tài)控制系統(tǒng)的關(guān)鍵子系統(tǒng),,其測量精度和可靠性直接關(guān)系到衛(wèi)星姿態(tài)是否精確和穩(wěn)定,。在凝視或靜態(tài)型地平儀中,,地球" title="地球">地球被成像在紅外面陣探測器上,,因此地球圖像的邊緣可落在紅外面陣探測器的光敏面內(nèi)。對(duì)該圖像進(jìn)行中心定位處理,,可提取出衛(wèi)星的姿態(tài)參數(shù),,通過調(diào)整衛(wèi)星滾動(dòng)軸和俯仰軸方向,使固定在衛(wèi)星上的紅外面陣探測器視場" title="視場">視場中心正好對(duì)準(zhǔn)地球中心,,從而精確定位整個(gè)衛(wèi)星系統(tǒng)的姿態(tài),。由于地平圈圖像具有遠(yuǎn)多于通過圓錐掃描方式獲得的信息,因而可獲得更高的精度,。本文利用TI公司的DSP芯片TMS320C6711B(簡稱C6711)實(shí)現(xiàn)了中心定位的相關(guān)算法,。實(shí)驗(yàn)證明,該方法不僅可以滿足實(shí)時(shí)性要求,,還可以提高地平儀的測量精度,對(duì)提高衛(wèi)星姿態(tài)的精度具有重要意義。
1 實(shí)時(shí)圖像處理系統(tǒng)的硬件構(gòu)成
本系統(tǒng)以C6711為核心,,輔助以現(xiàn)場可編程門陣列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ù)不斷輸入至雙口" title="雙口">雙口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á)到900MFLOPS的峰值運(yùn)算能力。C6711由CPU內(nèi)核,、片內(nèi)外設(shè)和存儲(chǔ)器三大部分組成,。處理單元采用高性能、先進(jìn)的VelociTITM結(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變換
由CCD輸出的模擬圖像信號(hào),,經(jīng)過高速A/D將模擬信號(hào)轉(zhuǎn)換為10位數(shù)字圖像信號(hào),,在FPGA的控制下存入雙口RAM存儲(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)測三個(gè)獨(dú)立的電壓3.3V/5V/1.8V,,并且被監(jiān)測的三個(gè)電壓有一個(gè)低于其門限值時(shí),就可以保證輸出有效的信號(hào),,使DSP復(fù)位,,當(dāng)它們的值都高于門限值時(shí),信號(hào)才變?yōu)楦唠娖健?BR>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仿真腳,、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,。Flash ROM 是現(xiàn)場可擦除、掉電后可保持?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采用SST39VF040,,且配置在CE1空間。雙口RAM采用IDT70V28,,且配置在CE2空間,。選用HY57V653220作為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)是硬件接口簡單,只需增加一個(gè)CMOS電平與RS232電平的電平轉(zhuǎn)換電路,。
2 圖像處理算法的實(shí)現(xiàn)
中心定位圖像處理算法設(shè)計(jì)以輸入圖像格式320×240像素,、1024灰度級(jí)/像素為基礎(chǔ),包括濾波,、判斷地平圈是否進(jìn)入視場,、邊緣檢測和精確定中心幾個(gè)部分。
2.1 濾波
探測器可能存在小于1%的壞單元,,其灰度值主要為0或1023,,壞元區(qū)范圍小于3×3。壞元的存在有可能對(duì)邊緣檢測帶來誤差,,再加上采集到的圖像數(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)入視場
當(dāng)衛(wèi)星初始進(jìn)入軌道時(shí),,在地平儀初始狀態(tài)下可能探測不到地球,這時(shí)需啟動(dòng)搜索程序控制衛(wèi)星偏轉(zhuǎn)以搜索地球,。因此,,必須對(duì)所得的地平圈圖像采用逐行掃描的搜索方法以判斷地球是否進(jìn)入視場。
2.3 邊緣檢測
邊緣提取首先檢測圖像局部特性的不連續(xù)性,,然后再將這些不連續(xù)的邊緣像素連成完備的邊界,。邊緣的特性是沿邊緣走向的像素變化平緩,而垂直于邊緣方向的像素變化劇烈,。從這個(gè)意義上說,,提取邊緣的算法就是檢測符合邊緣特性的邊緣像素的數(shù)學(xué)算子。
由于地球的輻射存在不均勻性,,所以地平高度與采用的地平檢測方式有關(guān),。其差別在于對(duì)應(yīng)不同的地平檢測方式,具體的地平高度隨地球輻射變化程度不同,。本文采用比例門限法檢測地平圈,。具體算法如下:以粗略地心為起點(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í)行效率,。檢測出的地平點(diǎn)坐標(biāo)是浮點(diǎn)數(shù),提高了地平判定精度,,有利于減小測量地心的誤差,。
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板的尺寸,又增強(qiáng)了系統(tǒng)的可靠性,。實(shí)驗(yàn)證明,,中心定位算法通過對(duì)原始圖像濾波、判斷目標(biāo)是否進(jìn)入視場,、邊緣檢測和精確定中心大大提高了地平儀的測量精度,。
參考文獻(xiàn)
1 Philippe Malleth,Scott Chen.TMS320C6000 McBSP:UART.http://www.ti.com,,2004
2 TMS320C6711/11B/11C Floating-Point Digital Signal Processors.http://www.ti.com,,2005
3 TMS320C6000 DSP McBSP Reference Guide.http://www.ti.com,2005
4 TMS320C6000 EDMA Example Applications.http://www.ti.com,,2004
5 何 斌,,馬天予.Visual C++數(shù)字圖像處理(第二版).北京:人民郵電出版社,2002
6 傅德勝,,壽益禾.圖形圖像處理學(xué).南京:東南大學(xué)出版社,,2002
7 周長發(fā).Visual C++.net圖像處理編程.北京:電子工業(yè)出版社,2002