熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區沙井街道后亭茅洲山工業園工業大廈全至科技創新園科創大廈2層2A
Data Flow analysis (數據流分析)
評估一個基于PC的工業圖像采集系統運行速度并不是簡單的任務。此篇文章的目的是使大家能夠正確選擇出配合使用的相機和圖像采集卡。
需要考慮的三個要素:(1) 相機 (2) 圖像采集卡 (3)PC
圖1所示,Front-end data flow(前端數據流)指的是相機傳送數據到圖像采集卡內部幀緩沖存儲的視頻數據的速率。
Back-end data flow(后端數據流)指的是從圖像采集卡的內部緩沖區中提取數據,最終儲存到PC的內存緩沖區。
數據流進入圖像采集卡和從采集卡到PC的內存緩沖區的速率不應超過圖像采集卡的吞吐量。后端數據流的吞吐量不應超過PCI總線的有效帶寬。
一、關于Front-enddata flow(前端數據流)
(1)前端數據的峰值數據流量
為了計算前端數據流的峰值數據流量,使用相機的像素時鐘(Data Clock Speed)乘以Tap(數據傳輸通道)來表示,Tap 結構如下表所示:
當相機的像素組成部分的編碼超過8bit(Single-W型),它們將被保存到一個double byte的幀緩沖區中,相應相機的傳送數據的有效數據流量增加一倍。
例如:
一個白攝像機(Dual-W),Data Clock Speed是40 MHz數據時鐘。從表1-1可以看出Tap structure 為Dual-W的時候,其Mulitplier為4,所以前端的峰值數據流量為160MByte/S。
(2) Front-end average data flow(前端平均數據流量)
在傳輸有效的視頻信號的過程中,數據傳輸率可達到峰值數據傳輸速率。
一個視頻信號不斷的以峰值數據傳輸速率將視頻數據傳送出去。在隔行掃描中,奇行的數據傳送出去,而偶行的數據要等下一次才傳送出去,所以在同一個周期內,偶行中的數據不需要傳送,因此,前端平均數據流量在一段相當長的時間內數據傳輸率比峰值數據流量低。
① 計算線掃描相機的前端平均數據流
圖像傳感器的尺寸為H (H為有效像素,單位為Pixel),B為所需的字節數來存儲一個像素(單位為Byte),F為線陣相機的線率單位為Hz ,則前端平均數據流為H×B×F。
例如:
一個2048像素,Single-W型的相機,其LineRate(線率)為15kHz,即
H = 2048, B = 2Byte/Pixel , F = 15,000Hz
所以,前端平均數據流 = 2048 × 2 × 15000 =61,440,000Byte/S = 61.44MByte/S。
② 計算面陣掃描相機的前端平均數據流
圖像傳感器的尺寸為H × V(H為水平有效像素,V為垂直有效像素,單位為Pixel),B為所需的字節數來存儲一個像素(單位為Byte),FR為面陣相機的幀率單位為fps,則前端平均數據流為H×V×B×FR。
例如:
一個2048×1024像素,Single-W型的相機,其幀率為25fps,即
H = 2048, V = 1024 ,B= 2 Byte/Pixel , FR = 25fps
所以,前端平均數據流 = 2048 ×1024 × 2 × 25 =104,857,600Byte/S =105MByte/S。
二、PCI Data flow(PCI 數據流)
(1) PCI available bandwidth(PCI 有效帶寬)
PCI的有效帶寬取決于所用電腦的PCI總線,下表顯示的是實際帶寬,所有連接到總線上的設備的同步數據流量之和小于有效帶寬。
(2) PCIdelivery bandwidth(PCI 傳輸帶寬)
三、Back-end data flow(后端數據流)
要實現平衡只需后端數據流率等于前端平均數據流量。這就保證了圖像采集卡上的FIFO不會溢出。
若是板卡上有幾個通道來接相機,需要考慮當所有通道都接相機的時候,能夠保證后端數據流的總和要小于PCI的有效帶寬。
四、Frame buffer throughput(圖像采集卡上的幀緩存區的吞吐量)
數據流進入圖像采集卡和從采集卡到PC的內存緩沖區的速率不應超過圖像采集卡的吞吐量。后端數據流的吞吐量不應超過PCI總線的有效帶寬。
幀緩沖區的實際吞吐量為理論吞吐量的85%。
Frame bufferperformance
Grablink Value incorporates an 8 Mbytes frame buffer implementedby a 2 M x 32 SDRAM (Synchronous DRAM) clocked at 80 MHz. This provides atheoretical memory throughput of 320 Mbytes/s.
例如:
一塊Grablink Expert2的板卡接兩款高端的CameraLink 相機,并且同時對兩顆相機進行操作。
這個應用需要相機A的前端平均數據流速率為62 Mbytes/s,相機B的前端平均數據流速率為105 Mbytes/s。此應用需要獲取和存儲到PC內存中時不會出現延遲現象,因此需要每個通道的后端數據流等于平均前端數據流。
將所有流量統計如表1-4所示:
通過表1-5可知,在做采集圖像的同時將采集到的圖像保存到PC內存中,總共的數據量為334MByte/S,而Grablink Expert2的幀緩存區實際吞吐量為680MByte/S,同時要保證后端數據流速度要比PCI有效帶寬小,這樣將圖像存儲到內存中才不會丟失。從表1-4我們可以知道后端數據流為167MByte/S,如果主機的PCI總線擁有64bits 33Mhz或32bits 64Mhz(這種情況下PCI的傳輸帶寬為 180MByte見表1-3所示),累計的后端數據流為167MByte/s,有足夠的傳送帶寬來將圖像存儲到內存中。所以此卡,可滿足上述的應用。
總結:
在根據相機來選擇相應板卡的時候,需要注意以下幾項:
1、 The data clock Frequency for Camera不能超過66MHz
2、 前端數據的峰值數據流量不能大于板卡的幀緩存的實際吞吐量
3、 前端平均數據流和后端數據流的速率之和不能超過圖像采集卡幀緩存區的實際吞吐量。
4、 后端數據流速率和不能大于PCI傳輸帶寬。
5、 計算機上所有板卡的后端數據流速率和不能大于PCI的有效帶寬。