主動視覺(Active Vision)是當今計算機視覺和機器視覺研究領域中的一個熱門課題。主動視覺強調的是視覺系統與其所處環境之間的交互作用能力。具體地說,主動視覺系統應具有根據自己在當前環境中所處的狀態,如幾何位置、姿態、攝像機的成像光學條件等,調整自身各部分的狀態參數,使其能夠達到一個最佳成像狀態,從而使系統能夠最方便地完成特定的視覺任務,如動態地跟蹤物體的運動。主動視覺系統的研制與開發具有重要意義和廣泛的應用前景,如各類導彈的成像導引頭、機器人、人機交互研究等。 以往的主動視覺系統大多采用以圖形工作站為中心,由圖形工作站完成圖像的采集、處理、跟蹤控制,再通過RS232等接口控制執行機構運動以完成跟蹤任務。以圖形工作站為中心的系統雖然應用靈活,但具有體積龐大、價格昂貴、可靠性差等缺點。隨著電子技術的發展,單芯片的計算能力發生了質的飛躍。以往往往需要由許多顆芯片才能完成的計算任務,現在只需要極少量的芯片便可實現。嵌入式系統是針對特定應用設計和優化的計算機軟硬件系統,具有體積小、重量輕、可靠性高和價格低廉等優點。本文正是在這樣的大背景下研制和開發了基于DSP的嵌入式主動視覺系統。 1 系統需求分析 主動視覺系統主要用于人機交互和高速視覺伺服任務,根據這一用途在設計中主要考慮以下幾個問題: 首先是系統的圖像處理能力。標準PALL電視信號的幀頻率為25Hz,分辨率約為720x576像素;場頻率為50Hz,圖像分辨率約為720x288像素,因此系統的圖像處理能力應該能夠滿足處理PAL傳輸視頻的要求。 其次考慮系統的動力學響應要求。人眼正常運動角速度約為60度/秒,掃視運動時可高達700度/秒,因此要求電機控制系統能夠達到近似的運動速度。 最后,系統應該具有一定的通用性和靈活性,以便接收測試數據和實現靈活多樣的任務,因此平臺應具有靈活、豐富的計算機接口和充足的計算資源。 2 總體設計 基于以上對系統性能要求的分析,系統采用TI高性能數字信號處理芯片TMS320C6711實現圖像的處理功能并采用TMS320E2812高性能控制芯片完成電機的控制、傳感器數據采集和實現與PC機之間的通訊功能。TMS320C6711主要用于通訊、聲音信號處理和數字圖像的處理,具有900MFLOPS的浮點運算能力和很高的性價比。TMS320F2812是TI專門針對運動控制而開發的高性能控制芯片,具有16通道12位ADC、豐富的片上資源和多種通訊接口,如McBsp、CAN和SCI接口等。系統將C6711和F2812兩款高性能芯片相結合,充分利用F2812豐富的接口資源彌補C6711在控制和通訊功能上的不足,從而充分發揮C6711的計算功能,最終實現高性能的主動視覺系統。MS320C6711的時鐘頻率為150MHz并采用了BGA封裝,給設計和制造帶來很大困難。C6711 DSK是低價位、易用性C6000 DSP開發板。該板不僅能夠充分發揮C6711DSP的性能,還提供了豐富的功能,例如聲音采集和EEP并口在線開發等等。本設計通過擴展C6711 DSK的圖像采集功能縮短開發周期、降低開發成本。 圖1:系統總體結構圖。 系統整體結構如圖1所示。在C6711DSK基礎上,通過其外圍擴展接口擴展圖像采集功能。TMS320C6711和TMS320F2812之間通過McBsp接口實現芯片之間信息的交換。F2812與PC機之間通過CAN總線或者RS232實現通訊。系統中采用的傾角傳感器是具有RS232接口的智能傳感器。通過F2812的SCI可以實現RS232串口,進而實現傾角傳感器配置和數據采集。 3 系統硬件設計 3.1 圖像處理系統的設計與實現 系統采用Philips公司提供的專用視頻解碼芯片SAA7111實現模擬視頻信號的采集。SAA7111與C6711之間通過專用視頻幀存儲器AL422實現,外圍接口邏輯由一片EPM7032實現,如圖2所示。 圖2:圖像采集擴展結構。 3.2 I2C總線實現 SAA7111不支持即插即用功能,需要通過I2C總線對其進行初始化。由于C6711沒有I2C接口模塊,需要采用通用I/O接口和軟件來模擬實現。C6711沒有專門的通用I/O接口,需要通過配置多通道緩沖串行口(McBsp)使其成為通用I/O接口。C6711具有2個McBs接口,可將其中的一個配置成通用IO接口。C6711的時鐘頻率比I2C總線的頻率要求高,在設計時需要注意I2C總線的時序要求,尤其是對數據保持時間的要求。 3.3 C6711與AL422接口實現 圖像采集設計中需要考慮的主要問題之一是圖像幀緩沖結構的設計。采用先進先出存儲器(FIFO)只占用單頁地址映射空間,可以節省大量地址空間。而且如果將幀存儲體映射到地址空間的高段,會使其對DSP的影響降低到最小,因此系統采用了基于FIFO的圖像幀緩沖結構。 AL422是專門用在視頻領域的大容量視頻幀存儲器,設計中需要考慮的主要問題是接口邏輯的實現。雖然AL422的讀寫與WCK、RCK同步,但是與普通的同步FIFO不同的是其必須保證WCK、RCK至少1MHz的獨立時鐘,并且在進行不規律讀寫時只能由WEN或BEN進行控制。C6711采用100MHz的外部時鐘,需要通過降頻合成AL422的RCK。由于C6711輸出的外部時鐘頻率為100MHz,而AL422B的最高RCK為50MHz,因此采用將C6711輸出的外部時鐘二分頻作為AL422的RCK。AL422的REN、OEN可以采用DSK板上的DB_AREN、DB_OEN、DB_CE2信號通過組合邏輯實現。而RRSTN可采用DSK的一個通用I/O接口實現。DSK的外部時鐘頻率為IOOMHz,因此在設計時應該考慮邏輯器件本身的時延并采用同步設計方式。系統采用EPM7032實現上述FIFO接口邏輯,并將FIFO的輸出數據與C6711DSK擴展接口的數據總線相連,將CE2存儲空間分配給FIFO,從而最終實現了C6711與FIFO之間的接口。 3.4 F2812與C6711接口實現 由于TMS320C6711和TMS320F2812都支持McBsp接口并且相互兼容,所以系統采用McBsp接口實現兩者之間的通訊。McBSP是多通道緩沖串行口的簡稱,能夠同步發送和接收8/16/32位串行數據。接收和傳送均采用獨立的時鐘和幀信號,其來源、頻率、極性等均可由用戶進行編程。McBSP包括數據流路徑和控制路徑,通過6根信號線連接到外部設備。數據信息通過傳輸引腳DX發送,接收引腳DR接收。時鐘和幀同步控制信息由發送時鐘、接收時鐘、發送幀同步和接收幀同步引腳來產生。McBSP提供了雙倍緩沖傳送和三倍緩沖的接收。接收數據到達引腳DR后,移入接收移位寄存器RSR1,當整個字信息被接收之后,又被復制到接收緩沖寄存器RBR,最終復制到數據接收寄存器DRR,由CPU讀取。而發送數據由CPU寫入發送寄存器DXR,再復制到發送移位寄存器XSR。在幀同步信息發送后,發送器開始將XSR的內容移位到DX引腳。 F2812具有一個McBSP模塊,而C6711自帶了兩個McBSP模塊,二者之間完全兼容的。由于第一組McBSP的信號被配置成為通用I/O接口用于I2C總線的擴展,故只能使用C6711的第二組McBSP實現與F2812之間的通訊。在硬件上采用雙機接收/發送端互連,即C6711的數據發送、時鐘發送、幀發送同步信號管腳連接到F2812對應的接收管腳;反之亦然。 通過對相關寄存器的配置來實現數據的接收和發送操作,具體流程如下: 1)設置相關引腳為MeBSP引腳。 2)復位接收器、發送器及采樣率發生器。 3)禁止數字回送、時鐘停止、多通道模式。 4)接收和發送幀:單相,字長32位,每幀2個碼字,使能幀同步忽略,無壓縮擴展,1位數據延遲,右對齊高位填0,產生中斷方式為檢測到幀同步脈沖,幀同步脈沖高有效,時鐘信號為上升沿觸發。 5)發送時鐘信號和幀同步信號來自內部采樣率發生器,接收時鐘信號和幀同步信號來自外部相應的接收引腳。時鐘頻率為37.5MHz,幀頻率為1.25M,幀寬度為1個時鐘脈沖寬度。采樣率發生器時鐘來源于內部CPU。 6)使能接收中斷和發送中斷,使能接收器、發送器及采樣率發生器。 在相應的中斷子程序中,通過讀取和寫入DXR1、DXR2、DRR1、DRR2寄存器實現F2812和C6711之間數據的讀寫。 4 系統軟件設計 4.1 C6711軟件實現 C6711軟件設計過程中充分地考慮流水線處理的特點,充分發揮流水線的功能實現多種任務并行執行是設計的關鍵。因為系統采用幀緩沖存儲結構只能完整地保存一行圖像數據,所以當一行結束時必須及時將數據從幀緩沖存儲中讀出來。設計中采用C6711的QDMA功能實現圖像數據的讀取,減少C6711計算資源的占用并實現C6711運算資源的最大利用。軟件流程如圖3所示。 圖3:系統軟件設計結構圖。 4.2 F2812電機控制實現 主動視覺系統對平臺運動速度提出比較高的要求。步進電機在高速轉動控制中容易出現失步的問題。電機失步會引起角度控制的誤差,在控制中必須加以避免。避免步進電機失步是電機控制軟件設計中的關鍵。為避免步進電機在加速和減速時出現失步,在加速和減速時采用升速/降速曲線進行控制,其控制軟件流程如圖4所示。 圖4:步進電機控制軟件流程圖。 5 實驗應用 5.1 圖像采集實驗 圖像采集是系統中非常重要的一環,圖像采集質量的好壞直接影響到目標檢測的成敗。實驗中通過編寫專門的圖像采集程序,將采集到的圖像存放在C6711DSK的SDRAM中,然后通過CCS2.0的圖像調試工具讀取圖像,并在CCS調試界面中顯示出來,從而驗證圖像采集質量的好壞。圖像采集的實驗結果如圖5所示,實驗結果說明圖像清晰完整且顏色正常。 圖5:圖像采集結果。 圖6:目標做水平往復運動時的跟蹤誤差。 5.2 目標跟蹤實驗 在實驗室真實環境下采用桔紅色的排球作為跟蹤目標,在距離系統正前方1.5米左右處以不同方式運動。跟蹤控制采用比例控制實現,通過對靜止、水平往復運動、垂直往復運動、圓周運動目標的跟蹤性能的分析驗證系統的性能。圖6顯示了系統對水平往復運動目標進行跟蹤的結果。 6 結論 文中將TMS320C6711的運算能力和TMS320F2812的控制能力和豐富的外圍接口相結合實現了高性能主動視覺系統。圖像采集由專用視頻解碼芯片完成,通過FIFO實現視頻解碼器與C6711的互聯,通過DMA方式讀取FIFO中的數據。這樣的設計充分發揮了C6711流水處理的特點,提高計算資源的利用率。采用F2812提供的接口實現了傳感器數據采集和PC機之間的通訊,彌補了C6711在運動控制和接口資源方面的不足。實驗結果表明設計可行,系統性能達到設計要求。 |