1. 程式人生 > >基於創龍TMS320C665x平臺GigE工業相機影象採集案例實操筆記

基於創龍TMS320C665x平臺GigE工業相機影象採集案例實操筆記

基於創龍TMS320C665x平臺GigE工業相機影象採集案例實操筆記

  • 開發平臺:創龍TL665x-EasyEVM;
  1. 基於TI KeyStone C66x多核定點/浮點DSP TMS320C665x,單核TMS320C6655和雙核TMS320C6657管腳pin to pin相容,同等頻率下具有四倍於C64x+器件的乘累加能力;
  2. 主頻1.0/1.25GHz,每核運算能力可高達40GMACS和20GFLOPS,包含2個Viterbi協處理器和1個Turbo協處理解碼器,每核心32KByte L1P、32KByte L1D、1MByte L2,1MByte多核共享記憶體,8192個多用途硬體佇列,支援DMA傳輸;
  3. 支援PCIe、SRIO、HyperLink、uPP、EMIF16、千兆網口等多種高速介面,同時支援I2C、SPI、UART、McBSP等常見介面;
  4. 連線穩定可靠,80mm*58mm,體積極小的C66x核心板,採用工業級高速B2B聯結器,關鍵大資料介面使用高速聯結器,保證訊號完整性;

  • 開發環境:CCSv5.5;
  • DSP系統:SYS/BIOS6.37.5.35;
  • 網路協議棧:NDK 2.21.2.23;
  • GigE相機:Balser acA640-120gm;
  • 採集幀率:30fps。

 

2.創龍TMS320C665x平臺GigE Vision

簡介

千兆網(GigE)是目前工業數字相機中發展最快的介面,同時也是可普遍應用的數字介面,幾乎可全面取代模擬裝置的相機介面。千兆網在寬頻、線材長度、多相機功能方面有較大的技術靈活性,是傳輸速率高達108MB/秒、長度為100米線材的最佳選擇。此外,其簡化了多相機系統的設定。

創龍TMS320C665x平臺GigE Vision是一種基於千兆乙太網通訊協議開發的相機介面標準。在工業機器視覺產品的應用中,創龍TMS320C665x平臺GigE Vision允許使用者在很長距離上用廉價的標準線纜進行快速影象傳輸。它還能在不同廠商的軟、硬體之間輕鬆實現互操作。

創龍TMS320C665x平臺GigE Vision與標準千兆乙太網,在硬體架構上基本完全一樣(對網絡卡的要求有微小區別),只是在底層的驅動軟體上有所區別。他主要解決標準千兆網的兩個問題:其一,資料包小而導致的傳輸效率低。標準千兆網的資料包為1440位元組,而GigE Vision採用所謂的“Jumbo packet”,其最大資料包可達16224位元組。其二CPU佔用率過高。標準千兆網採用TCP/IP協議,在部分使用DMA控制以提高傳輸效率的情況下,可做到82MB/s時CPU佔用率15%。GigE Vision驅動採用的是UDP/IP協議,採用完全的DMA控制,大大降低了CPU的佔用率,在同等配置情況下可做到108MB/s時CPU佔用率為2%。

千兆網視覺標準GigE Vision包含下面四種技術內容:

  • The Gig Vision™ Control Protocol(GVCP),執行在UDP IPv4協議上,定義瞭如何控制和配置如攝像頭等相容裝置,定義流通道,並且提供攝像頭髮送影象,傳輸資料到計算機的機制;
  • The Gig Vision™ Stream Protocol(GVSP),定義資料型別並且詳細描述影象如何通過千兆網傳輸;
  • The Gig Device Discovery Mechanism(GDDM),定義工業攝像頭或者其他相容裝置如何獲取IP地址;
  • 基於GenICam™標準的XML描述檔案,提供等效於計算機可以讀取的資料表文件,實現工業攝像頭控制和影象流獲取。

3.程式關鍵配置簡介

  • 基本配置:

  • RTSC配置:

  • SYS/BIOS配置:

  • NDK配置:

  • 開發板的IP地址配置成固定的IP地址,具體配置如下:

  • DHCP SERVER詳細配置如圖所示:相機IP地址可以從192.160.1.203開始到192.160.1.213;

  • 系統記憶體配置:設計中使用SystemHeap空間作為影象接收的緩衝區,記憶體的對映區域為片外的DDR3,總大小為16MB;

4.程式結構流程簡介

創龍TMS320C665x平臺GigE相機採集影象主要包括三個步驟,首先給相機分配IP地址,然後配置相機引數並啟動相機影象傳輸,最後接收並解析影象資料。程式結構如下圖所示:

相機的初始化和配置流程如下圖所示:

影象接收採用兩個緩衝區Ping-Pong操作的方式,採用該方式有兩個比較明顯的優勢,其一在應用過程中,可以輪流操作緩衝區,其二UDP為非可靠性傳輸,不能保證資料包能順序到達,採用此方式可以接收幀間交叉傳輸的資料包。設計中還增加了壞幀處理機制,如果壞幀(錯誤幀或者接收速率不夠導致)增大到一定的數量,清空接收快取區重新接收影象。流程如下圖所示:

5.程式載入步驟及執行效果

按程式載入步驟載入GigeCapture.out檔案,該檔案存在在光碟的"Demo\SYSBIOS\Binary"目錄下,點選 按鈕,讓程式執行,此時Console列印如下資訊。

開啟影象分析軟體"Tools ->Image Analyzer",如下圖。

下圖為CCS影象監視埠配置圖,用於配置影象顯示的一些特性,開始地址設定為g_frameCapture[0].frameData。配置完成後切換到Image視窗,右鍵單擊影象區域,選擇refresh,CCS自動從處理器的指定記憶體載入影象到Image視窗。

此時需要仔細調節相機的對焦,調好後,採集圖片如下。