新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C6711B DSP的中心定位算法設(shè)計(jì) (1)

基于TMS320C6711B DSP的中心定位算法設(shè)計(jì) (1)

作者: 時(shí)間:2011-10-30 來源:網(wǎng)絡(luò) 收藏

 地平儀是衛(wèi)星姿態(tài)控制系統(tǒng)的關(guān)鍵子系統(tǒng),其測(cè)量精度和可靠性直接關(guān)系到衛(wèi)星姿態(tài)是否精確和穩(wěn)定。本文利用TI公司的DSP芯片B(簡(jiǎn)稱C6711)實(shí)現(xiàn)了的相關(guān)算法。

本文引用地址:http://m.butianyuan.cn/article/257820.htm

  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á)到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超長(zhǎng)指令字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)測(cè)三個(gè)獨(dú)立的電壓3.3V/5V/1.8V,并且被監(jiān)測(cè)的三個(gè)電壓有一個(gè)低于其門限值時(shí),就可以保證輸出有效的

信號(hào),使DSP復(fù)位,當(dāng)它們的值都高于門限值時(shí),

信號(hào)才變?yōu)楦唠娖健?/p>

1.4 時(shí)鐘模塊和JTAG接口

  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í)時(shí)圖像處理系統(tǒng),實(shí)現(xiàn)了圖像采集、實(shí)時(shí)數(shù)據(jù)處理及輸出。系統(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)入視場(chǎng)、邊緣檢測(cè)和精確定中心大大提高了地平儀的測(cè)量精度。

  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)場(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采用SST39VF040,且配置在CE1空間。雙口RAM采用IDT70V28,且配置在CE2空間。選用HY57V653220作為SDRAM,配置在CE0空間,這樣的配置與引導(dǎo)方式相配合。



關(guān)鍵詞: TMS320C6711 中心定位

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉