<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DM642的機(jī)器人雙目視覺(jué)系統(tǒng)設(shè)計(jì)

          基于DM642的機(jī)器人雙目視覺(jué)系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2016-10-22 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/201610/309246.htm

          數(shù)字圖像處理理論和技術(shù)的飛速發(fā)展使得大多數(shù)圖像處理的問(wèn)題都轉(zhuǎn)變?yōu)橛脭?shù)字信號(hào)處理的形式來(lái)解決。數(shù)字圖像處理有兩大優(yōu)勢(shì):第一、數(shù)字信號(hào)處理中存在大量成熟的快速算法,如:FFT,FHT等,這些算法大量的應(yīng)用到圖像處理中;其次,隨著超大規(guī)模集成電路的發(fā)展,DSP的處理速度,內(nèi)部存儲(chǔ)器容量等等大大提高,為實(shí)時(shí)圖像處理提供了最優(yōu)的解決方式,這就是DSP + FPGA 相結(jié)合的設(shè)計(jì)方式。這種方式下,用一片高速DSP完成圖像處理算法,然后利用FPGA 的在控制和協(xié)作處理上的優(yōu)勢(shì),將DSP 從控制回路中解脫出來(lái),全力投入到運(yùn)算中,能夠獲得最高的工作速度和穩(wěn)定性。

          2 系統(tǒng)簡(jiǎn)介

          我們所設(shè)計(jì)的系統(tǒng)的結(jié)構(gòu)如圖1。該系統(tǒng)是自主移動(dòng)機(jī)器人無(wú)線遙控遙測(cè)系統(tǒng)雙目視覺(jué)部分。這個(gè)系統(tǒng)包括兩個(gè)架設(shè)在云臺(tái)上的攝像頭,它拍攝被跟蹤目標(biāo)的圖像,通過(guò)視頻解碼 器SAA7115H處理后送入DSP ,DSP 通過(guò)這些圖像信息,判斷出被跟蹤物體的運(yùn)動(dòng)方向,相對(duì)速度,把每幀圖像處理后,提取出來(lái)的特征值(位置,速度等運(yùn)動(dòng)狀態(tài)信息) 送到FPGA ,FPGA 通過(guò)無(wú)線模塊ptr8000 把這些信息發(fā)送到控制臺(tái),控制臺(tái)通過(guò)被跟蹤物體運(yùn)動(dòng)狀態(tài)的改變,控制機(jī)器人調(diào)整自己的運(yùn)動(dòng)狀態(tài),進(jìn)行跟蹤。

          系統(tǒng)結(jié)構(gòu)原理圖

          系統(tǒng)原理圖

          3 系統(tǒng)硬件設(shè)計(jì)

          3. 1 方案論證

          DM642 是TI 公司推出的針對(duì)多媒體處理領(lǐng)域應(yīng)用的DSP(主頻600M) ,有4800MIPS 的峰值計(jì)算速度。我們采取每秒鐘處理6 幀圖像,那么處理每幀圖像的時(shí)間就為0. 1667s , 這段時(shí)間DM642 能完成的最大指令個(gè)數(shù)是800M條,我們采集的每個(gè)圖像是320 3 240 像素的16 位RGB 圖像,則每一幅圖像的大小約是300Kbit,每次同時(shí)處理兩幀圖像,兩幀圖像也就是4 幅1.2Mbit ,我們對(duì)采集到的圖像要進(jìn)行圖像預(yù)處理、圖像去噪、邊緣檢測(cè)、最后完成匹配。圖像預(yù)處理對(duì)圖像的每一個(gè)像素點(diǎn)進(jìn)行一次加乘運(yùn)算,生成灰度圖像,這個(gè)過(guò)程的 運(yùn)算量大約為圖像像素值的3倍,大約1M。圖像去噪的算法我們采用移動(dòng)平均法,計(jì)算量約為像素值的10 倍,大約4M。邊緣檢測(cè)算法采用Rob2erts 算子,這個(gè)過(guò)程運(yùn)算量比較大,但是不超過(guò)100 倍像素值,小于40M,匹配時(shí)我們這是將邊緣上的交叉點(diǎn)提取出來(lái)進(jìn)行運(yùn)算,運(yùn)算量很小。加上特征提取,整個(gè)運(yùn)算量不到50M,而我們最高能夠獲得800M 的處理能力,所以DM642 的計(jì)算能力完全勝任這個(gè)項(xiàng)目中的算法,而且為系統(tǒng)提供了很大的裕量。

          3. 2 硬件結(jié)構(gòu)

          整個(gè)系統(tǒng)硬件有DM642、XC2S300E ( FPGA) 、視頻解碼器SAA7115H、32M SDRAM、4M FLASH、電源管理芯片TPS54310PWP、無(wú)線模塊PTR8000。DM642 提供了64 位寬的數(shù)據(jù)線,所以我們將兩個(gè)內(nèi)存模塊MT48LC4M32B2 共用一組地址線,而數(shù)據(jù)線分別接到DM642 的高32 位和低32 位數(shù)據(jù)線上,這樣就獲得了64位數(shù)據(jù)總線寬度。FLASH 存儲(chǔ)器的低八位也接到這組數(shù)據(jù)線上,由于FLASH存儲(chǔ)器在系統(tǒng)初始化完畢后和DM642 之間沒(méi)有數(shù)據(jù)交換,所以在實(shí)驗(yàn)過(guò)程中沒(méi)有總線沖突的情況發(fā)生。

          系統(tǒng)需要兩路視頻輸入,所以在設(shè)計(jì)中我們采用了兩片視頻采集卡分別連接到了DM642 的視頻端口0 和1。初始化配置兩片采集卡采用I2C 總線(時(shí)鐘線SCL和數(shù)據(jù)線SDL) 。圖像數(shù)據(jù)的傳輸使用D[7 -0 ] ,由SAA7115 提供同步時(shí)鐘信號(hào)SCLK和XHSYNC。第一片采集卡和DM642 視頻端口0 連接方式示意圖如圖2 ,第二片采集卡和端口1 的連接方式相同,只是共用配置線SCL 和SDL。

          圖2 DSP 與視頻解碼芯片SAA7115 連接圖

          圖2 DSP 與視頻解碼芯片SAA7115 連接圖

          系統(tǒng)的控制完全由FPGA 來(lái)完成,我們使用它來(lái)實(shí)現(xiàn)以下功能:執(zhí)行中斷邏輯控制,和DSP 之間通信,傳輸DSP 提取出的運(yùn)動(dòng)狀態(tài)特征值;用于實(shí)現(xiàn)系統(tǒng)各部分的粘合邏輯;

          FPGA 的內(nèi)部寄存器映像在DSP 的地址空間上,可通過(guò)對(duì)寄存器的讀寫來(lái)配置系統(tǒng)參數(shù);控制板子上的調(diào)試指示燈。設(shè)計(jì)中FPGA 芯片我們選用Xilinx公司的XC2S300E。我們?yōu)樗鼣U(kuò)展了一片專門的初始化芯片XCF02S ,存放它的初始化配置程序和整個(gè)系統(tǒng)的邏輯控制程序。

          DM642 的內(nèi)核電壓是1. 4V ,IPO 電壓是3. 3V。而且上電、掉電次序有嚴(yán)格的要求,應(yīng)當(dāng)保證內(nèi)核電源(CVDD) 先上電。原因在于:如果外部IPO引腳先上電,芯片緩沖P驅(qū)動(dòng)部分的晶體管將在一個(gè)未知狀態(tài)下工作,這是非常危險(xiǎn)的。因此,我們選用了TI 公司專用的電源管理芯片TPS54310PWP ,它可以同時(shí)產(chǎn)生上述兩種電壓。我們用下面的連接方法解決了上電次序的問(wèn)題:把1. 4V 模塊的電源輸出有效引腳PG(power good) 連接到3.3V 模塊的允許電壓輸入引腳EN。這樣,只有當(dāng)1. 4V 電壓有效之后,3. 3V 電壓才開(kāi)始上電,這就保證了DM642 的內(nèi)核電壓先于IPO 電壓上電。另外,系統(tǒng)中的采集卡芯片SAA7115 需要模擬和數(shù)字兩種電源。我們使用了一個(gè)磁珠和另外一片電源管理芯片配合產(chǎn)生了模擬3.3V 電壓,為了避免兩片電源管理芯片之間的電源噪聲互相干擾,我們將兩個(gè)電源芯片分開(kāi)設(shè)計(jì),模擬地和數(shù)字地也分開(kāi)設(shè)計(jì),在一點(diǎn)接地。

          《電子設(shè)計(jì)技術(shù)》網(wǎng)站版權(quán)所有,謝絕轉(zhuǎn)載

          3. 3 設(shè)計(jì)原則

          DM642 的工作頻率達(dá)到600M,屬于高頻電路,對(duì)于高頻電路設(shè)計(jì)中應(yīng)該注意的是:

          (1)采用多層板既是布線所必須的,也是降低干擾的有效手段。

          (2) 高速電路器件管腳間的引腳彎折越少越好。高頻電路布線的引線最好采用全直線,需要轉(zhuǎn)折,可用135°折線或圓弧轉(zhuǎn)折,這樣可以減少高頻信號(hào)對(duì)外的發(fā)射和相互間的耦合。

          (3) 高頻電路器件管腳問(wèn)的引線越短越好。

          (4) 元件連接過(guò)程中所用的過(guò)孔(Via) 越少越好。我們發(fā)現(xiàn),一個(gè)過(guò)孔可帶來(lái)約0. 5PF 的分布電容,減少過(guò)孔數(shù)能顯著提高速度。

          (5) 電源層、地線層間隔。各類信號(hào)走線不能形成環(huán)路,地線也不能形成電流環(huán)路。

          (6) 高速接口部分如SDRAM加去藕電容。

          4 系統(tǒng)的軟件設(shè)計(jì)

          TI 提供的基礎(chǔ)軟件包括CSL (Chip Support Library) 芯片支持庫(kù),DDK(Driver Development Kit) 設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)包,DSPLIBPIMGLIB, DSPPBIOS 嵌入式實(shí)時(shí)、多任務(wù)操作系統(tǒng), ReferenceFrameworks 程序參考架構(gòu),XDAIS(DSP 算法標(biāo)準(zhǔn))。

          DSPPBIOS 是最重要的開(kāi)發(fā)工具。它的代碼大約1KWords、CPU 占用率1MIPS ,這對(duì)我們的系統(tǒng)和DM642 的運(yùn)算能力來(lái)說(shuō),是微不足道的開(kāi)銷,但對(duì)我們的軟件系統(tǒng)來(lái)說(shuō),它為我們搭建了一個(gè)非常優(yōu)秀的操作系統(tǒng)平臺(tái):它有一個(gè)基于優(yōu)先級(jí)的、搶先型的實(shí)時(shí)調(diào)度程序; 它能夠提供內(nèi)存管理,實(shí)現(xiàn)動(dòng)態(tài)存儲(chǔ)器分配。

          系統(tǒng)流程圖如圖3:

          系統(tǒng)流程圖

          系統(tǒng)流程圖

          在DSP 系統(tǒng)上電復(fù)位以后,TMS320DM642 開(kāi)始自舉啟動(dòng)過(guò)程,將存放在Flash 中的程序代碼和初始化數(shù)據(jù)加載到目標(biāo)存儲(chǔ)空問(wèn)中。加載完成以后,自舉程序跳轉(zhuǎn)到正常程序入口處,并開(kāi)始執(zhí)行(Bootload)。

          5 系統(tǒng)調(diào)試

          (1)JTAG接口測(cè)試我們利用CCS 工具將一部分程序?qū)懭隨DRAM,然后查看存儲(chǔ)器中相應(yīng)部分寫入的數(shù)據(jù)。圖4 是原程序的數(shù)據(jù)代碼,圖4- 4 是寫入SDRAM后,查看數(shù)據(jù)的結(jié)果。在圖4中陰影部分的數(shù)據(jù)與在圖5 中黑粗線所包圍的數(shù)據(jù)一樣,如: 圖4 中地址000147c2H到000147c5H處四個(gè)字節(jié)的數(shù)據(jù)依次是:91 ,B3 ,0F ,00。而在圖5 中地址是001145E0H - 001145E3H 處的四個(gè)字節(jié)的數(shù)據(jù)是91 ,B3 ,OF ,00。(注意:數(shù)據(jù)在存儲(chǔ)器中的存放順序有大端和小端兩種模式,所謂小端模式指低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處;大端字節(jié) 序是高字節(jié)數(shù)據(jù)存放在低地址處,低字節(jié)數(shù)據(jù)存放在高地址處。我們選擇了DM642 的小端模式,所以兩個(gè)圖是做記號(hào)的部分完全對(duì)應(yīng)的)。下圖的結(jié)果證明JTAG接口已經(jīng)工作正常,以下的工作就是通過(guò)JTAG接口進(jìn)行其它程序的調(diào)試了。

          系統(tǒng)調(diào)試

          系統(tǒng)調(diào)試

          (2) RS232 接口測(cè)試串口的測(cè)試主要借助了串口精靈和計(jì)算機(jī)中超級(jí)終端的幫助,通過(guò)系統(tǒng)主機(jī)發(fā)送一些數(shù)據(jù),看串口精靈接受是否正確,反之亦然。調(diào)試串口的程序如下:

          //init INTCINTC

          Init () ;PP初始化中斷控制器寄存器;{

          UART-ConfigData uart0 ;

          uart0. baudRate = UART 115200 ;

          uart0. charLength = UART CHAR LEN 8 ;

          uart0. stopBits = UART STOPBIT1 ;

          uart0. parity = UART NO PARITY;}

          //設(shè)定基本的通訊參數(shù)

          sprintf (UART-outBuff ,” r n n DSPFPGA”) ;

          UART sendString(UART0 ,UART outBuff) ;

          //發(fā)送字符串變量DSPFPGA 到串口0

          yb = UI getInput () ;

          switch(yb)

          {case’1’:

          DraftPreview(TURE) ;

          break ;

          case’2’

          STILL MENU run() ;

          default :

          break ;

          }

          6 結(jié)論

          為了驗(yàn)證這個(gè)系統(tǒng)的滿負(fù)荷工作能力,我們采用了DSP 連續(xù)采集處理的方式,試驗(yàn)結(jié)果表明,在我們未做軟件優(yōu)化的條件下,每秒鐘可以采集并處理完12 幀圖像。而在PC + 采集卡模式上運(yùn)行程序時(shí),PC 機(jī)每秒鐘只能處理并發(fā)送2 幀雙目圖像的信息。綜上所述,DM642 + FPGA 的實(shí)時(shí)圖像處理系統(tǒng)具有PC機(jī)無(wú)法比擬的高速性,必將在以后廣泛流行起來(lái)。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();