相機

Line Scan使用ActiveSilicon CXP影像卡觸發設定 Part2 設定教學

硬體接線

我們用 Vieworks 相機 搭配 Active Silicon AS-FBD-CXP系列 的面板端15 Pin接腳的接線來示範。

  • Encoder: 支援RS-422規格的訊號,用藍色表示,A+接Pin4、A-接Pin5、B+接Pin6、B-接Pin8。
  • Frame Trigger: 我們用OPTO光耦合訊號,用紅色表示,預設電壓範圍9.5~26V算ON,0~1.5V算OFF。訊號正接在Pin15、訊號地接在Pin9。
  • Line Trigger: 與相機連接的CXP傳輸線電纜共用,不須另外接。

 

將相機切換到Trigger Mode,並監聽CXP觸發訊號

設定的第一步,首先要到相機的設定選單 (Camera頁面) 將相機切換到Trigger Mode,並且要讓它監聽來自於CXP的觸發訊號。

  • Trigger Mode: 預設是Off的,也就是相機Free Run,要改成On才是Trigger Mode。
  • Trigger Source: 預設是Line0,這會監聽相機本身的訊號接腳。但是因為我們要監聽的是CXP纜線內的觸發訊號,所以要改成Link Trigger 0這個模式。

 

設定影像卡的取像條數

第二步,切換到Frame Grabber頁面,修改Image Format Control裡面的Height,指定想要取像的條數,例如想要 8192 x 8000,則 Height = 8000。

 

設定影像卡監聽Encoder的方式

 

在影像卡的PHX_CameraTriggerControl可以找到跟相機Line Trigger相關的設定:

  • PHX_CAMTRIG_SRC: 要讓卡監聽Pin4,5,6,8的422_IN_1、422_IN_2腳位,故設定到PHX_CAMTRIG_SRC_422IN_CH1_0_RISE。
  • PHX_CAMTRIG_ENCODER_MODE: 參考使用手冊有多種判斷模式可以選,一般選Mode1即可。
    • Mode1: 無論正向編碼或反向編碼都會處理
    • Mode2: 當載台有些微的反向移動會忽略反向編碼訊號不理
    • Mode4: 當載台有些微的反向移動會先統計反向編碼的移動量,當再次走正向回去以後會將折返量扣掉
  • PHX_CAMTRIG_ENCODER_SRC: 選擇PHX_CAMTRIG_SRC_422IN_CHX_0即可。CHX的X意思是根據其它的有效設定判斷自動帶入是哪組通道。

 

 

設定影像卡將Encoder轉譯給Line Trigger的方式

 

  • PHX_CAMTRIG_CXPTRIG_SRC: 當設定為PHX_CAMTRIG_CXPTRIG_TIMERM1_CH1的情境,每當卡轉譯一個Encoder訊號,會用內部的第一組 Timer 產生一個脈波轉給CXP,而PHX_CAMTRIG_CXPTRIG_MODE設為PHX_CAMTRIG_CXPTRIG_RISE表示這個脈波是上升訊號。
  • 卡轉譯給相機的比例關係: 預設值PHX_CAMTRIG_MULTIPLIER跟PHX_CAMTRIG_DIVIDER都是1,表示是1:1轉譯。視情況去作調整,原則如下。
    • 假設Encoder一個tick是 0.583µm,但是光學解析度一個pixel是3.5um,如果用預設值1:1去觸發的話,因為觸發間隔比預期的短,影像幾何會被拉長。所以,3.5/0.583 = 6也就是說收到6個422訊號才要丟1個訊號給相機才是正確的。我們可以用MULTIPLIER跟DIVIDER這兩個整數值湊出任意的比例,依此案例,可以將DIVIDER設為6, MULTIPLIER 維持1。

因為我們前面在PHX_CAMTRIG_CXPTRIG_SRC將CXP觸發指派到了PHX_CAMTRIG_CXPTRIG_TIMERM1_CH1,所以還要檢視一下Timer1的設定:

  • PHX_TIMERA1_MODE: 預設值是PHX_TIMERA1_MODE_RUN,表示只要這個Timer一被啟動就一直按照PHX_TIMERA1_PERIOD_NS指定的週期連續輸出,基本上用預設值就可以了。如果要更嚴謹一點,我們可以改用PHX_TIMERA1_MODE_N_PULSES,然後將下面的PHX_TIMERA1_PULSE_COUNT設為1,用意是當每轉譯一次Line Trigger,就會輸出一次Timer脈波,如右上圖,紅色波形對應紅色脈波、綠色對應綠色、藍色對應藍色依此類推,效果跟Run模式是相同的。
  • PHX_TIMERM1_WIDTH_NS: 我們可以用這個欄位設定Timer1脈波的寬度,單位奈秒。

 

 

設定影像卡Frame Trigger

最後是設定影像卡的Frame Trigger。

  • PHX_FGTRIG_MODE: 預設值是Free Run,表示不會監聽攔截額外的訊號。當我們需要啟用Frame Trigger的話,最簡單的設定是將它改成PHX_FGTRIG_EACH_POS_EDGE,意思是說每次外部丟一個訊號從低電位上升到高電位的瞬間 (each positive edge) 會判定是一個Frame Trigger。
  • PHX_FGTRIG_SRC: 將監聽腳位指派到PHX_FGTRIG_SRC_OPTOIN_CH1_0,表示要監聽Pin9、15腳位的OPTO_IN_1訊號。
  • PHX_FGTRIG_FILTER_NS: 這是防止被雜訊誤觸發的濾波器,單位奈秒。當外部輸入訊號ON超過這個時間才判定是有效的觸發。

 

因為影像卡的參數非常的多,可以玩出很多種花樣,本篇只是先介紹其中一種實用的接法以及設定方式供參考。