Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

141
文書番号 SSB003 Revision 1.00 SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12” 株式会社アプロリンク

description

http://www.aprolink.jp/doc/dldata/support/SI/CL_Common/Manual/Japanese/SSB003_RT5.2.0_AdvancedApplets_Acq_BaseAreaBayer12_1.00.pdf

Transcript of Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

Page 1: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

SILICON SOFTWARE 社フレームグラバー

microEnable IV シリーズ RunTime5.2.0

アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”

株式会社アプロリンク

Page 2: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

1

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

目 次

はじめに ........................................................................................................................................................................... 5

1 概要 ............................................................................................................................................................................. 6

1-1 SILICON SOFTWARE アドバンスド画像取得アプレット .............................................................................................. 6

1-2 Acq_BaseAreaBayer12 アプレットの機能 ................................................................................................................ 7

1-2-1 パラメータ設定の順番 ................................................................................................................................... 9

1-3 バンド幅 .............................................................................................................................................................. 9

1-4 カメラインターフェース ...................................................................................................................................... 10

1-5 PC メモリへのイメージ転送 .................................................................................................................................. 10

2 ソフトウェアインターフェース ..................................................................................................................................... 12

3 カメラリンク ............................................................................................................................................................... 13

3-1 FG_CAMERA_LINK_CAMTYPE .............................................................................................................................. 13

3-2 FG_USEDVAL ...................................................................................................................................................... 14

4 ROI(Region of Interest) ........................................................................................................................................... 15

4-1 FG_WIDTH .......................................................................................................................................................... 16

4-2 FG_HEIGHT ......................................................................................................................................................... 17

4-3 FG_XOFFSET ....................................................................................................................................................... 18

4-4 FG_YOFFSET ....................................................................................................................................................... 19

5 トリガー ..................................................................................................................................................................... 20

5-1 エリアトリガーの特徴と機能ブロック ................................................................................................................... 20

5-1-1 Trigger Input ............................................................................................................................................. 21

5-1-2 Input Pulse Processing ............................................................................................................................... 21

5-1-3 Output Pulse Form Generators................................................................................................................... 21

5-1-4 Trigger Output .......................................................................................................................................... 21

5-2 ピン配置 ............................................................................................................................................................ 23

5-3 イベントの概要 ................................................................................................................................................... 23

5-4 トリガー状況 ...................................................................................................................................................... 24

5-4-1 内部信号ジェネレータ ................................................................................................................................. 24

5-4-2 外部トリガー信号 ....................................................................................................................................... 27

5-4-3 照明 3 機の制御 ......................................................................................................................................... 31

5-4-4 ソフトウェアトリガー ................................................................................................................................. 35

5-4-5 トリガーキューを使用したソフトウェアトリガー ........................................................................................... 40

Page 3: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

2

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-4-6 トリガーキューを使用した外部トリガー ....................................................................................................... 42

5-4-7 外部トリガー信号のバイパス ....................................................................................................................... 43

5-4-8 複数のカメラを使用するアプリケーション .................................................................................................... 43

5-4-9 ハードウェアシステム解析とエラー検出 ....................................................................................................... 43

5-5 パラメータ ......................................................................................................................................................... 45

5-5-1 FG_AREATRIGGERMODE ............................................................................................................................. 45

5-5-2 FG_TRIGGERSTATE ..................................................................................................................................... 46

5-5-3 FG_TRIGGER_FRAMESPERSECOND .............................................................................................................. 47

5-5-4 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS..................................................................................................... 48

5-5-5 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR ......................................................................................... 49

5-5-6 FG_TRIGGER_LEGACY_MODE ...................................................................................................................... 49

5-5-7 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 .......................................................................................... 50

5-5-8 Legacy ....................................................................................................................................................... 50

5-5-9 トリガー入力.............................................................................................................................................. 58

5-5-10 シーケンサ ............................................................................................................................................... 71

5-5-11 キュー ..................................................................................................................................................... 72

5-5-12 パルス信号ジェネレータ 0 ........................................................................................................................ 75

5-5-13 パルス信号ジェネレータ 1 ........................................................................................................................ 80

5-5-14 パルス信号ジェネレータ 2 ........................................................................................................................ 80

5-5-15 パルス信号ジェネレータ 3 ........................................................................................................................ 80

5-5-16 CC 信号のマッピング ................................................................................................................................ 80

5-5-17 デジタル出力............................................................................................................................................ 82

5-5-18 出力イベント............................................................................................................................................ 87

6 オーバーフロー ............................................................................................................................................................ 89

6-1 FG_FILLLEVEL ..................................................................................................................................................... 89

6-2 FG_OVERFLOW ................................................................................................................................................... 90

6-3 FG_OVERFLOW_CAM0 ......................................................................................................................................... 90

7 イメージセレクタ ........................................................................................................................................................ 93

7-1 FG_IMG_SELECT_PERIOD ..................................................................................................................................... 94

7-2 FG_IMG_SELECT .................................................................................................................................................. 94

8 シェーディング補正 ..................................................................................................................................................... 96

8-1 FG_SHADING_OFFSET_ENABLE ............................................................................................................................ 97

8-2 FG_SHADING_GAIN_ENABLE ................................................................................................................................ 97

Page 4: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

3

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

8-3 オートシェーティング補正 ................................................................................................................................... 98

8-3-1 FG_SHADING_BLACK_FILENAME ................................................................................................................. 99

8-3-2 FG_SHADING_GRAY_FILENAME ................................................................................................................... 99

8-3-3 FG_SHADING_GAIN_CORRECTION_MODE ................................................................................................. 100

8-3-4 FG_SHADING_GAIN_NORMALIZATION_VALUE ........................................................................................... 100

9 シェーディングカスタム値 .......................................................................................................................................... 102

10 ベイヤーフィルタ .................................................................................................................................................... 104

10-1 G_BAYERINIT .................................................................................................................................................. 104

11 ホワイトバランス .................................................................................................................................................... 107

11-1 FG_SCALINGFACTOR_GREEN ........................................................................................................................... 107

11-2 FG_SCALINGFACTOR_RED ............................................................................................................................... 108

11-3 FG_SCALINGFACTOR_BLUE ............................................................................................................................. 108

12 LUT(Look Up Table) ............................................................................................................................................ 110

12-1 FG_LUT_TYPE ................................................................................................................................................. 110

12-2 FG_LUT_VALUE_RED ....................................................................................................................................... 111

12-3 FG_LUT_VALUE_GREEN ................................................................................................................................... 112

12-4 FG_LUT_VALUE_BLUE ...................................................................................................................................... 112

12-5 FG_LUT_CUSTOM_FILE .................................................................................................................................... 113

12-6 FG_LUT_SAVE_FILE ......................................................................................................................................... 114

12-7 アプレットプロパティ ..................................................................................................................................... 114

12-7-1 FG_LUT_IMPLEMENTATION_TYPE ........................................................................................................... 114

12-7-2 FG_LUT_IN_BITS ..................................................................................................................................... 115

12-7-3 FG_LUT_OUT_BITS ................................................................................................................................. 115

13 プロセッシング ........................................................................................................................................................ 117

13-1 FG_PROCESSING_OFFSET ................................................................................................................................ 118

13-2 FG_PROCESSING_GAIN .................................................................................................................................... 119

13-3 FG_PROCESSING_GAMMA ............................................................................................................................... 120

13-4 FG_PROCESSING_INVERT ................................................................................................................................ 121

14 出力フォーマット .................................................................................................................................................... 123

14-1 FG_FORMAT ................................................................................................................................................... 123

14-2 FG_BITALIGNMENT ......................................................................................................................................... 123

14-3 FG_PIXELDEPTH .............................................................................................................................................. 124

15 カメラシミュレータ ................................................................................................................................................. 126

15-1 FG_GEN_ENABLE ............................................................................................................................................. 126

Page 5: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

4

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

15-2 FG_GEN_START .............................................................................................................................................. 127

15-3 FG_GEN_WIDTH .............................................................................................................................................. 127

15-4 FG_GEN_HEIGHT ............................................................................................................................................. 128

15-5 FG_GEN_LINE_GAP .......................................................................................................................................... 129

15-6 FG_GEN_FREQ ................................................................................................................................................ 129

15-7 FG_GEN_ACCURACY ....................................................................................................................................... 130

15-8 FG_GEN_TAP1、その他 .................................................................................................................................... 131

15-9 FG_GEN_ROLL ................................................................................................................................................ 132

15-10 FG_GEN_ACTIVE ........................................................................................................................................... 132

15-11 FG_GEN_PASSIVE .......................................................................................................................................... 133

15-12 FG_GEN_LINE_WIDTH .................................................................................................................................... 133

16 その他多方面のパラメータ(Miscellaneous:MISC モジュール) ................................................................................ 135

16-1 FG_TIMEOUT .................................................................................................................................................. 135

16-2 FG_APPLET_VERSION ...................................................................................................................................... 135

16-3 FG_APPLET_REVISION ..................................................................................................................................... 136

16-4 FG_APPLET_ID ................................................................................................................................................ 136

16-5 FG_HAP_FILE .................................................................................................................................................. 137

16-6 FG_DMASTATUS ............................................................................................................................................. 137

16-7 FG_CAMSTATUS ............................................................................................................................................. 138

16-8 FG_CAMSTATUS_EXTENDED ........................................................................................................................... 138

改定履歴 ....................................................................................................................................................................... 140

Page 6: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

5

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

はじめに

この度は株式会社アプロリンク取り扱い製品をご使用いただき誠にありがとうございます。ご使用の前に、この資料をお読みい

ただき、正しくお使い下さい。

・ 本書は、お客様が Windows/MAC の基本操作に習熟している事を前提にしております。 ・ 本書内で使用されている表示画面、イラスト等は説明用に作成されたものです。お客様の環境により実際の表示画像と違う

場合がございます。 ・ ご使用のパソコン・周辺機器・オペーレーティングソフトなどお客様のご利用環境により正常に動作しない場合があります。 ・ 本書に使用する内容の一部、または全部は、株式会社アプロリンクによる許可なく転載することはできません。 ・ 本書の内容について、万一不審な点や記載漏れなどお気付きの点がありましたら、ご連絡下さい。 ・ 本書の内容に疑問点などが生じた場合は、メーカー発行の英文技術資料および英文マニュアルを正しい情報として下さい。 ・ 本書の内容は予告なしに変更する場合がありますのでご了承ください。

Page 7: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

6

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

1 概 要

このドキュメントでは、SILICON SOFTWARE 社フレームグラバーの Runtime5.2.0 シリーズで追加されたアドバンスド画像取

得アプレット"Acq_BaseAreaBayer12"について説明します。 アドバンスド画像取得アプレットの一般的な説明から始まり、機能とアドバンスド画像取得アプレットのメリットについて説明

します。さらに、出力フォーマットとソフトウェアインターフェースについて説明します。ドキュメントのメインパートは、ア

プレットモジュールやパラメータの詳細な説明を含んでいます。 本機能をサポートするフレームグラバーは microEnable IV AD4-CL/PoCL 、VD4-CL/PoCL です。

このマニュアルは、SILICON SOFTWARE 社の了解を得て、株式会社アプロリンクが英文マニュアルを基に作成したものです。

内容に疑問点などが生じた場合は、英文技術資料および英文マニュアルを正しい情報として参考にしてください。 本書に使用するマニュアルの一部、または全部は、株式会社アプロリンクによる許可なく転載することはできません。 なお、本書の内容は予告なしに変更する場合がありますのでご了承ください。

1-1 SILICON SOFTWARE アドバンスド画像取得アプレット

アドバンスド画像取得アプレットは、すぐに使用できるリアルタイム画像処理機能です。それぞれのアプレットは、画像処理機

能の定数と割り付けを含み、データフロー化され、様々なカメラインターフェースカメラをサポートしています。 使用するカメラに依存しますが、アプレットで使用できるサブセットが提供されており、最適な画像処理機能を実現できます。

カメラリンクアプリケーションのために用意されたアドバンスド画像取得アプレットで使用するハードウェアは、次の A シリー

ズ、V シリーズフレームグラバーです。:

・ microEnable IV AD4-CL / -PoCL ・ microEnable IV VD4-CL / -PoCL 主な画像処理は次の処理です。:

・ デッドピクセル補正を含むシェーディング補正 ・ イメージセレクタ ・ ノイズフィルタ ・ トリガー機能

・ ROI ・ 高品質ベイヤー変換とホワイトバランス ・ LUT(Look Up Table)

アドバンスド画像取得アプレットは、長年実績のある画像取得アプレット(標準アプレット)の代用品ではありません。 アドバンスド画像取得アプレットは、他の SILICON SOFTWARE アプレットと同様の方法で使用する事ができます。:

・ ビューアーソフトウェア「microdisplay」上でフレームグラバーにアプレットをロードし、画像取得のセットアップ制御(画

像取得の開始、停止、定義)することができます。 ・ SILICON SOFTWARE の API、SDK を使用し、フレームグラバーにアプレットをロードし、画像取得のセットアップ制御(画

像取得の開始、停止、定義)することができます。

Page 8: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

7

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 1.1 SILICON SOFTWARE アドバンスド画像取得アプレット一覧

1-2 Acq_BaseAreaBayer12 アプレットの機能

図 1.2 Acq_BaseAreaBayer12 のブロックダイアグラム

アプレット Acq_BaseAreaBayer12 はシングルカメラで使用するアプレットです。 カメラリンクカメラインターフェースは、8~16bit のベイヤーピクセルを転送するベースモードに定義します。フレームグラバ

ーグラバー生成、外部生成、ソフトウェア生成など様々なトリガーパルス信号でカメラや外部デバイスを制御できるマルチ機能

エリアトリガーが含まれています。エリアスキャンカメラは、最大 4096x4096 ピクセルまでの画像データ転送をサポートし、

アプレットは 12bit でデータを処理します。カメラポートのイメージセレクタは、パラメータ設定で連続イメージから出力する

イメージを選択することができ、この機能によって複数のフレームグラバーや PC へのイメージ分配が実現できます。

Page 9: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

8

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

アドバンスド画像取得アプレットには、2D エリアシェーディング補正が含まれています。この補正機能は、減算オフセット補

正と乗算ゲイン補正で構成されています。補正値はそれぞれのピクセルごと定義が可能です。さらに、黒とグレーのリファレン

スイメージをシェーディングモジュールにロードするオートシェーディング補正を行うことができます。 シェーディング補正は、オフセット補正に係数 4bit を含む 16bit を使用します。ゲイン補正も 12bit を分数表現に使用する 16bitを使用します。取得したイメージはグラバーメモリにバッファリングされ、さらなる処理のために ROI を選択する事ができます。

ROI のステップサイズは X 方向で 4 ピクセル、Y 方向で 1 ピクセルです。高品質ヘイヤーパターンは 5x5 のカーネルサイズで

す。ホワイトバランスモジュールで各カラーコンポーネンツのゲインを調整してイメージの品質を向上させることができます。

フルフレーム上での LUT は、ユーザー定義またはプロセッサテーブルを使用して行うことができます。プロセッサテーブルには、

イメージ品質を向上させるためのオフセット、ゲイン、ガンマ等のプリデファインされた機能が用意されています。カラーコン

ポーネンツは、個別に処理されます。

処理されたイメージデータは、高速 DMA チャンネル経由で出力されます。出力ピクセルフォーマットはピクセルあたり 24bitまたは 48bit で RGB 順に出力されます。

アプレットは、SILICON SOFTWARE Runtime を使用してユーザーアプリケーションに簡単に組み込むことができます。

Page 10: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

9

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 1.1 Acq_BaseAreaBayer12 の機能一覧

Feature Applet Property Applet Name

Acq_BaseAreaBayer12 Type of Applet AcquisitionApplets Advanced Board microEnable IV AD4-CL/-PoCL No. of Cameras 1 , asynchronous or synchronous Camera Type Camera Link Base Configuration (1 Tap 8 Bit, 2 Tap 8 Bit, 3 Tap 8 Bit, 1 Tap 10 Bit, 2 Tap

10 Bit, 1 Tap 12 Bit, 2 Tap 12 Bit, 1 Tap 14 Bit, 1 Tap 16 Bit) Sensor Type Area Scan Camera Format Bayer Pattern Processing Bit Depth 12 Bit per color component Maximum Images Dimensions

4096 * 4096

ROI Stepsize x: 4, y: 1 Image Selector Yes Noise Filter No Shading Correction Yes, Area

Offset Correction Value Range: [0, 4096[, Stepsize 1/16 (12 integer bits, 4 fractional bits) Gain Correction Value Range: [0, 16[, Stepsize 1/4096 (4 integer bits, 12 fractional bits)

Dead Pixel Interpolation No Bayer Filter Yes, High Quality Extended (HQe) Color White Balancing Yes Lookup Table Full Resolution DMA High Speed DMA Image Output Format

BGR 24 or 48 bits

Event Generation Yes Overflow Control Yes

1-2-1 パラメータ設定の順番

カメラ設定、シェーディング補正、デッドピクセル補正などのセンサ補正に関連する機能ブロックの定義を最初に行ってくださ

い。次のステップでホワイトバランス、ノイズフィルタ、LUT 等のイメージ改善機能ブロックの設定を行います。

1-3 バンド幅

Acq_BaseAreaBayer12 アプレットの最大バンド幅は「表 1.2 Acq_BaseAreaBayer12 のバンド幅」で確認できます。

表 1.2 Acq_BaseAreaBayer12 のバンド幅

種類 バンド幅

Max. CamClk 85 MHz カメラの Peak Bandwidth 248 MPixel/s カメラの Mean Bandwidth per Camera 225 MPixel/s DMA Bandwidth 872 MByte/s (PC のメインボードに依存します)

Max. CamClk は、使用するカメラリンクカメラの最大ピクセルクロック周波数を参照します。

Page 11: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

10

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

低い方のピクセルクロック周波数を使用できます。

カメラの Peak Bandwidth は、カメラインターフェースのそれぞれのカメラで許可される最大バンド幅を表しています。このバ

ンド幅でカメラからフレームグラバーへデータ転送を行う場合、フレームグラバーのバッファでデータバッファリングされます

が、この速度では処理を行いません。Peak bandwidth は、カメラリンクインターフェースモードとピクセルクロック周波数に

関係しており、使用するカメラのカメラリンクタップとピクセル周波数の合計が Peak bandwidth の値を超えてはいけません。

カメラの Mean bandwidth は、カメラインターフェースで許可される最大の平均バンド幅を表しています。フレームレートと

イメージピクセルの合計です。例えば、1 メガピクセルの画像でフレームレートが 100fps の場合、Mean bandwidth は 100 MPixel/s です。

要求されるアプレットの出力バンド幅は、入力バンド幅と異なります。ROI(Region of Interest)と出力フォーマットによって

要求される出力バンド幅と最大平均バンド幅は変更されます。また、このアプレットはベイヤーアプレットです、カラー変換を

行うため出力バンド幅は入力バンド幅の 3 倍になります。 MPixel/s と MByte/s の関係、MByte/s はアプレットとパラメータ設定に依存します。1 MByte は 1,000,000 Byte です。

変動するバンド幅 実際の最大 DMA バンド幅は、使用する PC のメインボードとチップセットに依存します。カメラのバンド幅はイメージサイズ

に依存します。これらの条件でバンド幅の値は変化します。

1-4 カメラインターフェース

アプレット Acq_BaseAreaBayer12 は、1台のカメラリンクカメラのベースコンフィグレーションモードをサポートしています。 フレームグラバーは、2 つのカメラリンクコネクタが用意されています。このアプレットを使用する場合、カメラはポート A の

みに接続します。

図 1.3 カメラインターフェースとカメラケーブルのセットアップ

1-5 PC メモリへのイメージ転送

フレームグラバーと PC 間のイメージ転送は DMA 転送によって行われます。このアプレットには、イメージデータを転送する

ため 1 つの DMA チャンネルが用意されています。DMA チャンネルのインデックスは 0 です。アプレットの出力フォーマット

は、出力フォーマットモジュールのパラメータ設定で行います。「出力フォーマット」を参照下さい。全ての出力はリトルエン

ディアンでコード化されています。

DMA イメージタグ このアプレットは、有効な DMA イメージタグ(FG_IMAGE_TAG)を生成しません。

Page 12: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

11

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

ロストまたは破損したフレームについては、「オーバーフロー」にあるオーバーフローモジュールを使用して確認します。また、

トリガーシステムではロストしたトリガー信号を検知する事ができます、詳細な説明は「トリガー」を参照して下さい。

Page 13: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

12

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

2 ソフトウェアインターフェース

ソフトウェアインターフェースは、SILICON SOFTWARE Runtime と完全互換です。microenable フレームグラバーとアプレッ

トをアプリケーションに組み込む方法は、SILICON SOFTWARE Runtime の SDK マニュアルで確認して下さい。

Runtime には、各機能を使用した SDK サンプルが含まれています。これらのサンプルのほとんどは、アドバンスド画像取得ア

プレットでも使用することができます。サンプルは画像の取得方法、パラメータの設定方法、イベントの使用法を理解するうえ

で非常に役に立ちます。

ドキュメントは、アプレットの機能とパラメータ設定に重点をおき説明しています。次の章以降で、このアプレットで使用でき

る全てのパラメータの一覧が確認できます。複数のカメラを使用するアプレットでは、パラメータはそれぞれのカメラに個別に

設定できる点にご注意ください。サンプルソースコードでは、1台のカメラのみにパラメータ設定を行っています。 サンプルソースコードにあるインデックスを変更することにより接続するカメラ毎にパラメータ設定を行う事ができます。

ほとんどのアプレットのパラメータは、関数を使用して読み書きを行うことができます。

・ int Fg_setParameter(Fg_Struct *Fg, const int Parameter, const void *Value, const unsigned int index) ・ int Fg_setParameterWithType(Fg_Struct *Fg, const int Parameter, const void *Value, const unsigned int index,

const enum FgParamTypes type) ・ int Fg_getParameter(Fg_Struct *Fg, int Parameter, void *Value, const unsigned int index) ・ int Fg_getParameterWithType(Fg_Struct *Fg, const int Parameter, void *Value, const unsigned int index, const

enum FgParamTypes type) インデックスは、DMA チャンネル、カメラインデックスまたは処理の論理インデックスのアドレッシングに使用されます。 カメラ、プロセス、パラメータ、DMA チャンネルの関係を理解することは非常に重要です。アドバンスド画像取得アプレット

は、シングルカメラアプレットで 1 つの DMA チャンネルで使用されます。また、全てのパラメータ設定は index 0 のみ使用し

て行います。

複数のカメラで複数の DMA チャンネルを使用するアプレットでは、インデックス間の関係はより複雑になります。詳細な説明

は、関係するドキュメントで確認して下さい。

Page 14: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

13

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

3 カメラリンク

このアドバンスド画像取得アプレット Acq_BaseAreaBayer12 は、カメラリンクの 1 台のカメラで使用します。使用するカメラ

から正常な画像データを受け取るためにカメラの出力フォーマットとフレームグラバーの入力フォーマットを合わせることが重

要です。 次のパラメータは、フレームグラバーのカメラインターフェースを個々のカメラプロパティに合わせるための定義です。 ほとんどのカメラは異なるオペレーションモードをサポートしていますので、カメラで要求されるデータフォーマットに必要な

情報を取得するために、使用するカメラのマニュアルを参照ください。

3-1 FG_CAMERA_LINK_CAMTYPE このパラメータは接続しているカメラのデータフォーマットを定義します。

カメラインターフェースは、カメラリンク規格で定義されている異なるデータフォーマットをサポートするために定義します。

アドバンスド画像取得アプレット Acq_BaseAreaBayer12 では、処理されるデータビットは 12bit です。カメラインターフェー

スは、選択したカメラのフォーマットとは関係なくビットシフトによって 12bit フォーマットへの自動変換を行います。カメラ

リンクのビット長が処理ビット長より大きい場合、内部ビット長に合わせる為に右シフトされます。カメラリンクのビット長が

処理ビット長より短い場合、内部ビット長に合わせる為に左シフトされます。この場合、下位ビットは 0 に固定されます。

表 3.1 パラメータプロパティ:FG_CAMERA_LINK_CAMTYPE

Property Value Name FG_CAMERA_LINK_CAMTYPE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_CL_SINGLETAP_8_BIT

Single Tap 8bit FG_CL_SINGLETAP_10_BIT Single Tap 10bit FG_CL_SINGLETAP_12_BIT Single Tap 12bit FG_CL_SINGLETAP_14_BIT Single Tap 14bit FG_CL_SINGLETAP_16_BIT Single Tap 16bit FG_CL_DUALTAP_8_BIT Dual Tap 8bit FG_CL_DUALTAP_10_BIT Dual Tap 10bit FG_CL_DUALTAP_12_BIT Dual Tap 12bit FG_CL_TRIPLETAP_8_BIT Triple Tap 8bit

Default value FG_CL_SINGLETAP_8_BIT

Page 15: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

14

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 3.1 FG_CAMERA_LINK_CAMTYPE

int result = 0; unsigned int value = FG_CL_SINGLETAP_8_BIT; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_CAMERA_LINK_CAMTYPE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_CAMERA_LINK_CAMTYPE, &value, 0, type)) < 0) { /* error handling */ }

3-2 FG_USEDVAL このパラメータを使用してカメラリンクの規格に完全に準拠していないカメラをサポートすることが出来ます。 値 FG_YES を選択すると、ピクセル値をデコードするために DVAL、LVAL、FVAL 信号が使用されます。 値 FG_NO をセットすると LVAL と FVAL 信号のみが使用されます。必要な設定が分からない場合は、値を FG_YES のままにし

てください。

表 3.2 パラメータプロパティ:FG_USEDVAL

Property Value Name FG_USEDVAL Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_YES

Yes FG_NO No

Default value FG_YES

サンプル 3.2 G_USEDVAL

int result = 0; unsigned int value = FG_YES; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_USEDVAL, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_USEDVAL, &value, 0, type)) < 0) { /* error handling */ }

Page 16: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

15

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

4 ROI( Region of Interest)

このモジュールでは、ROI(または AOI)のサイズを定義します。ROI は、入力イメージより小さい一部のピクセル領域を選択

します。 パラメータ

FG_XOFFSET FG_WIDTH FG_YOFFSET FG_HEIGTH を使用して定義します。 下図は、これらのパラメータを表しています。

図 4.1 ROI(Region of Interest)

図に見られる通り ROI(Region of Interest)は、入力画像サイズ内に設定します。そのため、カメラから入力される画像サイ

ズが ROI のパラメータ以上の場合、アプレットは ROI のピクセル領域を完全に割り当てますが、カメラから入力される画像が定

義した ROI 領域より小さい場合、X 方向の入力サイズを超えた領域は、ランダムなピクセル内容で埋められ、Y 方向は切り取ら

れるかランダムイメージラインで埋められます。「図 4.2 入力イメージサイズを超える ROI 選択」を参照下さい。

Page 17: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

16

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 4.2 入力イメージサイズを超える ROI 選択

また、カメラから送られる画像サイズは、フレームグラバーで設定できる最大サイズ(4096pxx4096px)を超えてはいけませ

ん。選択した ROI の設定は、アプレットの最大バンド幅に影響を与えます。

パラメータは動的な値の範囲を持っています。例えば、高い X オフセット値を設定するために、最初にイメージ幅を減少させま

す。このように、このモジュールではパラメータの設定順番が重要です。SDK でコールされる関数の返り値は、変更が有効か確

認するため常に確認して下さい。 また、パラメータの最少ステップサイズについて注意が必要です。アプレットは、幅と X オフセットで最小 4 ピクセルステップ、

高さと Y オフセットで 1 のピクセルステップで使用して下さい。

アプレットを microDisplay で使用する場合、このモジュールで行われる設定によって表示サイズとバッファサイズが設定され

ます。ユーザープログラムでアプレットを使用する場合、DMA 転送に使用するバッファサイズの設定が必要になります。

全ての ROI パラメータは、画像取得中は設定することができません。

カメラの ROI 機能 多くのカメラは、カメラ内で ROI の設定を行う事が出来ます。ここで説明されている ROI 設定は、カメラ設定とは異なります。

バンド幅への影響 ROI の設定は、要求されるバンド幅を大きく減少させます。アプレットで画像サイズを減少させるより、直接カメラ内の ROI 定

義で画像サイズを減少させてください。その結果カメラ=フレームグラバー間のバンド幅が大きく減少されます。

4-1 FG_WIDTH このパラメータは、ROI の幅を設定します。 パラメータ

FG_WIDTH FG_XOFFSET の値は最大イメージ幅 4096px を超えてはいけません。

Page 18: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

17

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 4.1 パラメータプロパティ:FG_WIDTH

Property Value Name FG_WIDTH Type Unsigned Integer Access policy Read/Write Storage policy Persistent Allowed values Minimum

8 Maximum 4096 Stepsize 4

Default value 1024 Unit of measure pixel

サンプル 4.1 FG_WIDTH

int result = 0; unsigned int value = 1024; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_WIDTH, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_WIDTH, &value, 0, type)) < 0) { /* error handling */ }

4-2 FG_HEIGHT このパラメータは、ROI の高さを設定します。 パラメータ

FG_HEIGHT FG_YOFFSET の値は最大イメージ高さ 4096px を超えてはいけません。

表 4.2 FG_HEIGHT のパラメータプロパティ

Property Value Name FG_HEIGHT Type Unsigned Integer Access policy Read/Write Storage policy Persistent Allowed values Minimum2Maximum4096Stepsize1 Default value 1024 Unit of measure pixel

Page 19: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

18

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 4.2 FG_HEIGHT の使用方法

int result = 0; unsigned int value = 1024; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_HEIGHT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_HEIGHT, &value, 0, type)) < 0) { /* error handling */ }

4-3 FG_XOFFSET このパラメータは X 方向のオフセットアドレス(ROI の開始位置)を設定します。

表 4.3 パラメータプロパティ:FG_XOFFSET

Property Value Name FG_XOFFSET Type Unsigned Integer Access policy Read/Write Storage policy Persistent Allowed values Minimum

0 Maximum 4088 Stepsize 4

Default value 0 Unit of measure pixel

サンプル 4.3 FG_XOFFSET

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_XOFFSET, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_XOFFSET, &value, 0, type)) < 0) { /* error handling */ }

Page 20: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

19

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

4-4 FG_YOFFSET このパラメータは Y 方向のオフセットアドレス ROI の開始位置)を設定します。

表 4.4 パラメータプロパティ:FG_YOFFSET

Property Value Name FG_YOFFSET Type Unsigned Integer Access policy Read/Write Storage policy Persistent Allowed values Minimum

0 Maximum 4095 Stepsize 1

Default value 0 Unit of measure pixel

サンプル 4.4 FG_YOFFSET

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_YOFFSET, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_YOFFSET, &value, 0, type)) < 0) { /* error handling */ }

Page 21: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

20

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5 トリガー

エリアトリガーシステムによって microEnable IV フレームグラバーと接続したカメラの画像取得プロセスを制御することが可

能です。トリガーによってカメラの実際の露光時間や外部のデバイスを制御することが可能であり、トリガーソースは外部デバ

イス、内部ジェネレータ、ユーザーのソフトウェアを使用できます。

「図 5.1 microEnable IV トリガーシステム」は、信号の流れの概要です。8 個の入力信号を使用することができ、外部トリガ

ー入力は SILICON SOFTWARE の I/O ボード経由でフレームグラバーに接続されます。microEnable IV は、トリガーシステムで

設定された入力イベントからトリガー出力と制御信号を生成します。トリガーシステムの出力は、カメラリンクの CC 信号経由

でカメラに送られます。加えてフラッシュ照明などの外部デバイスを制御する出力は、トリガーボードの出力に送られます。

図 5.1 microEnable IV トリガーシステム

次項で、SILICON SOFTWARE microEnable IV トリガーシステムについて説明します。様々なトリガー状況で可能性と機能を説

明しており、トリガーシステムを理解するのに役に立ちます。ドキュメントは、トリガーシステムで使用する全てのパラメータ

のリファレンスを含んでいます。

5-1 エリアトリガーの特徴と機能ブロック

SILICON SOFTWARE トリガーシステムは様々なアプリケーションでの要望を満たすためにデザインしています。トリガー生成、

制御、モニタリングのためのパワフルな機能が含まれています。次の機能が含まれています。:

・ カメラと外部デバイスへのトリガー信号生成 ・ エンコーダなど外部デバイスのトリガーソース利用と信号生成の制御 ・ トリガーパルス信号の生成に内部ジェネレータも使用できます ・ トリガー信号のジェネレータはソフトウェアで完全に制御可能です。シングルパルスまたは連続パルス信号を生成すること

ができ、自動制御、出力周波数を制限も可能です。 ・ 入力信号モニタリング ・ 入力信号の周波数解析とパルスカウント ・ 入力信号デバウンス ・ 入力信号ダウンスケール ・ シーケンサや制御可能な最大出力周波数でパルス信号を増加することができます。1 つの入力信号から最大 65,000 の出力

パルス信号を生成できます。 ・ 最大 2000 パルスのトリガーパルスキューバッファと最大周波数を使用した出力制御 ・ 個々にパルス幅、ディレイ、ダウンスケーリングを制御できる 4 つのパルス信号をジェネレータで生成 ・ カメラリンク制御出力(CC 出力)で最大 8 個の出力パルス

Page 22: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

21

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

・ 入力信号のパルス信号を維持と出力、カメラに転送するバイパスオプション ・ アプリケーションソフトウェアで入力と出力をモニタリングできるイベントジェネレータ ・ モニタリングのためのフィルレベル、トリガーイベント、トリガービジーとロストトリガー信号によるシステムの完全制御 ・ カメラロスフレームの通告 ・ トリガー信号の安定化とエラー検知

トリガーシステムはパラメータを使用して制御や定義を行います。読み込み専用パラメータは現在のトリガーの状態に関連する

情報を返し、ソフトウェア、フレームグラバー、外部ハードウェアのモニタリングや制御で使用するイベント生成機能が搭載さ

れています。

複雑なトリガーシステムでも簡単に使用することができます。「図 5.2 microEnable IV トリガーシステムのブロックダイアグ

ラム」は 4 つのメイン機能ブロックから構成されているトリガーシステムのブロックダイアグラムです。

5-1-1 Trigger Input トリガー入力は、ソフトウェアで生成される入力や周波数ジェネレータと同じく外部信号です。複数のカメラアプレットを使用

している場合、カメラ間同期を取ることができ、最初のカメラのトリガー定義で制御することが出来ます。

外部入力信号はモニタリングやさらなる処理のために複数のパスに分割されます。

5-1-2 Input Pulse Processing トリガーシステムの 2 番目のメインブロックは入力パルス処理です。ソフトウェアで生成したパルス信号と同様に外部入力は、

キューになりシーケンサで増加されます。全ての外部トリガーパルス信号は最大周波数で処理されます。周波数がパラメータの

上限を超える場合、パラメータの値で処理されます。入力で高周波がある場合、パルス信号は拒絶されるかトリガーパルスキュ

ーがアクティブの場合フィルになります。最大周波数の値で、出力パルス信号がカメラで処理される可能な最大周波数を超えて

いないか確認します。

5-1-3 Output Pulse Form Generators 入力パルス信号が処理されると、4 つのオプションパルス信号に増やされます。これらのジェネレータのパルスは信号幅、ディ

レイ、ダウンスケールを定義できます。ジェネレータからの 4 つのパルスは任意で出力に割り付けることが出来ます。

5-1-4 Trigger Output トリガー出力に関連する最終ブロック。ジェネレータからのパルス信号は、イベントやレジストを使用してカメラまたはモニタ

リングのためにデジタルで出力されます、

Page 23: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

22

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.2 microEnable IV トリガーシステムのブロックダイアグラム

Page 24: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

23

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-2 ピン配置

トリガーシステムは、8 個のデジタル入力と 8 個のデジタル出力をサポートしています。これらの入力と出力はトリガーI/O ボ

ードのピンに割り付けられています。入力ピン 0~7 については、トリガーI/O ボードと microEnable IV AD4-CL/ -PoCL のド

キュメントで説明しています。

出力ピン 0~7 の割付はカメラの仕様に依存します。シングルカメラのアプレットを使用する場合、8 個の出力全てを使用でき

ます。出力インデックスと出力ピン間での割付はハードウェアのドキュメントで確認できます。デュアルカメラアプレットでは、

出力 0~3 ピンが 1 台目のカメラのトリガーシステムで使用でき、出力 4~7 ピンが2台目のカメラのトリガーシステムで使用

できます。このアプレットはシングルカメラアプレットですので8個の出力全て使用できます。

トリガーI/O ボード トリガーのデジタル入力と出力は microEnable IV AD4-CL/ -PoCL フレームグラバーの入力と出力を参照して下さい。これら

の I/O のマッピングの説明は関連するドキュメントを参照ください。

5-3 イベントの概要

この項ではトリガーシステムの全てのイベントを記載しています。詳細な説明は、それぞれのモジュールに説明があります。

・ パラメータ

FG_TRIGGER_INPUT0_RISING FG_TRIGGER_INPUT0_FALLING から

FG_TRIGGER_INPUT7_RISING FG_TRIGGER_INPUT7_FALLING トリガーの入力イベント、イベントは全てのトリガー入力で生成されます。イベントは立ち上がりまたは立下りでトリガー

されます。 「FG_TRIGGER_INPUT0_RISING 、その他」と「FG_TRIGGER_INPUT0_FALLING、その他」を参照ください。

・ パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0

ロストした入力トリガーパルスのために生成されるイベント 「FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0」を参照ください。

・ パラメータ

FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_ON FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_OFF トリガーキューが最大または最少の閾値を超えた場合に生成されるイベント 「FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0」を参照ください。

・ パラメータ FG_TRIGGER_OUTPUT_CAM0

トリガー出力のためのイベント 「FG_TRIGGER_OUTPUT_CAM0」を参照ください。

Page 25: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

24

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

・ パラメータ FG_MISSING_CAM0_FRAME_RESPONSE

カメラフレームの応答を受け取れなかった場合に生成されるイベント 「FG_MISSING_CAM0_FRAME_RESPONSE」を参照ください。

5-4 トリガー状況

次節からは、状況に合わせたトリガーシステムを説明しています。トリガーシステムを使用するにあたり、また独自の要望を追

加するために非常に役に立ちます。

ここでは実際の定義を行っており、条件下の入力それに必要なパラメータとその値をリスト化しています。

5-4-1 内部信号ジェネレータ

シンプルなシナリオでトリガーシステムを開始します。 このケースでは、カメラの画像出力とフレームグラバーの露光時間の周波数を制御します。トリガーイベントのための外部のソ

ースや照明がありませんのでフレームグラバーのトリガーシステムはトリガーパルスと露光時間の周波数のみを制御します。

「図 5.3 内部信号ジェネレータシナリオ」はハードウェアのセットアップをあらわしています。カメラをフレームグラバーに

接続して下さい。

図 5.3 内部信号ジェネレータシナリオ

このシナリオを実行するためにカメラを外部トリガーモードにセットします。カメラの設定方法はカメラメーカーのマニュアル

を参照ください。一般的にはカメラリンクカメラは、シリアルインターフェースで設定を行います。フレームグラバーは、この

インターフェースを提供しており、カメラリンクケーブル経由でカメラにコマンドを送ります。カメラメーカーによっては、カ

メラ定義のソフトウェアツールを提供する、あるいはカメラへコマンドラインの入力で定義を行います。この場合、SILICON SOFTWARE が提供する clshell ツールを使用します。

カメラを外部トリガーモードに設定すると、露光期間と露光時間をカメラコントロール入力(CC1~CC4)から制御することがで

きます。大抵のカメラは CC1 入力を使用しています。(カメラメーカーのマニュアルを参照ください)カメラトリガーモードの

名前は様々ですが、露光期間をプログラムできる外部トリガーモードを使用する必要があります。フレームグラバーを使用した

露光時間設定を行いたい場合、カメラでこのトリガーモードをサポートしている必要があります。

「図 5.4 波形:内部信号ジェネレータ」は、フレームグラバーのトリガー出力をあらわしています。大抵のカメラは、信号の

立ち上がりまたは立下りエッジで画像取得を開始し、露光時間は信号の長さで定義します。使用するカメラによっては反転入力

を使用する場合がある点に注意が必要です。この場合信号は、'high active'の代わりに'low active'に設定します。これでフレー

ムグラバーの信号は反転します。(後に説明します)

Page 26: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

25

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.4 波形:内部信号ジェネレータ

ハードウェアのセットアップとカメラ定義が終わったら、フレームグラバーのトリガーシステムパラメータ設定を開始します。

パラメータ設定は、ユーザーアプリケーション、microDisplay、microEnable の定義ファイル(.mcf)を編集することで変更

可能です。アプレットのパラメータ設定は SILICON SOFTWARE Runtime ドキュメントを参照ください。

次に、必要なパラメータとその値をリストアップします。「図 5.5 エリアトリガーモードブロックダイアグラム:ジェネレー

タモードを強調」は、関連する部分を強調したトリガーシステムのブロックダイアグラムです。

・ パラメータ FG_AREATRIGGERMODE = ATM_GENERATOR

最初に、トリガーシステムで内部周波数ジェネレータを使用するための設定を行います。

・ パラメータ FG_TRIGGER_FRAMESPERSECOND = 10

次に出力周波数を定義します。この例では、周波数を 10Hz に設定します。

・ パラメータ FG_TRIGGER_PULSEFORMGEN0_WIDTH = 200

ここまでで、トリガーシステムを 10Hz のレートでトリガーパルスを生成するように設定しましたが、パルス信号の形状(信

号長または信号幅)を設定していません。フレームグラバーのトリガーシステムには、信号幅、ディレイ、ダウンスケール

を設定できる 4 つのパルス信号ジェネレータが提供されています。サンプルでは、1 つの出力を使用しますので、ジェネレ

ータ 0 から 1 つのパルス形成を設定し、信号幅を設定します。ここではディレイとダウンスケールは設定しません。 必要な露光時間は 200µs と仮定します。パラメータに 200.00 をセットします。パラメータの単位は µs です。

・ パラメータ FG_CCSEL0 = CC_PULSEGEN0

最後の設定はジェネレータ 0 の出力パルス信号を出力 CC1 へ割り付けます。カメラがローアクティブ信号を必要とする場

合は、代わりに値 CC_NOT_PULSEGEN0 を選択して下さい。

次にトリガー信号生成の定義を行います。 システムを開始するためには、パラメータ FG_TRIGGERSTATE に値 TS_ACTIVE をセットし、画像取得を開始して下さい。トリ

ガー生成を先に開始するかまたは画像取得開始後に行うかの順番はどちらでも大丈夫です。トリガーシステムを最初に開始する

とカメラはフレームグラバーに画像転送を開始します。これらの画像は削除され画像取得は行われません。

これでカメラからの画像データを受け取ることが出来ます。周波数と信号幅を変更すると、これらのパラメータの影響を確認で

きます。高周波を設定するとフレームレートが高くなり、短い露光時間を設定すると取得する画像が暗くなります。また、露光

ピリオドより長い露光時間は設定できず、パラメータの書き込みでエラーが発生します。そのため、パラメータ変更の順番が重

要になります。また、カメラの仕様を超える周波数や露光時間を設定しないでください。この場合、カメラ側で処理できないた

めにロストトリガーとなりますのでカメラマニュアルにある最大範囲を確認ください。

パルス信号生成を停止する場合、パラメータ FG_TRIGGERSTATE に値 TS_SYNC_STOP をセットします。トリガーシステムは現

在のパルス信号を終了し、再度システムがアクティブになるまで出力を停止します。このシナリオでは非同期停止モードは必要

ありません。

Page 27: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

26

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.5 エリアトリガーモードブロックダイアグラム:ジェネレータモードを強調

Page 28: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

27

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-4-2 外部トリガー信号

前節のサンプルでは、カメラの露光時間を制御するためにフレームグラバー内部で生成する信号を使用しました。 このシナリオでは、外部ソースを使用し露光タイミングを設定します。例えば、「図 5.6 外部トリガー信号制御シナリオ」に

ある光バリアです。オブジェクトがカメラの下に位置する場合、オブジェクトがカメラの前に移動するタイミングを光バリアに

設定します。一般的に光バリアとカメラを正確な位置に配置することはできませんので、カメラへトリガー入力する前に、パル

ス信号を遅延する光バリアからのディレイが必要になります。さらのこのシナリオでは、トリガーシステムで照明制御を行いま

す。

図 5.6 外部トリガー信号制御シナリオ①

「図 5.7 波形:外部トリガー信号」の波形は、入力信号の情報を提供しており、要求される出力信号を表しています。入力は、

図内の一番上です。信号の立ち下がりエッジがトリガー生成のタイミングですので、信号は'low active'です。立ち下がりエッジ

のみ検出され、外部入力パルス信号の長さはイグノア(2 番目)されています。

カメラへの出力は「CC1」です。ここにディレイ(Delay0)があることが確認できます。このディレイで光バリアとカメラの位

置を調整します。使用するカメラのトリガーモードによっては、出力 CC1 の信号幅で露光時間を定義する場合があります。照明

の制御は、トリガー出力 0 を使用して行い、ここでもディレイを追加しています。照明の条件に依存しますが、このディレイは、

CC1 出力のディレイより長い、または短い必要があります。同じく、要求されるパルス信号の長さはハードウェアによって異な

ります。

Page 29: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

28

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.7 波形:外部トリガー信号

アプレットのパラメータ設定を行う前に、カメラを外部トリガーモードに設定して下さい。前接のトリガーモードを参照下さい。

このサンプルでは、トリガーモードで入力ソースと 2 つのトリガー出力を設定します。「図 5.8 エリアトリガーモードブロッ

クダイアグラム:外部トリガーを強調」は、関連するブロックを表したエリアトリガーのブロックダイアグラムです。

・ パラメータ FG_AREATRIGGERMODE = ATM_EXTERNAL

外部トリガーモードでは、トリガーシステムはフレームグラバー内部の周波数ジェネレータを使用しません。外部パルス信

号によってトリガー信号の出力を制御します。入力ソースの選択と入力の極性定義が必要になります。

・ パラメータ FG_TRIGGERIN_SRC = TRGINSRC_2

このパラメータでトリガー入力を選択します。複数カメラを接続するアプレットを使用する場合、カメラは同じトリガーソ

ースを共有することができます。

・ パラメータ FG_TRIGGERIN_POLARITY = FG_LOW_ACTIVE

このシナリオでは、トリガーは、入力信号の立ち下がりエッジを使用します。

・ パラメータ FG_TRIGGER_FRAMESPERSECOND = 500

このパラメータの設定は必須です。いずれのトリガーシステムを使用する場合でも、このパラメータの正しい設定が要求さ

れます。フレームグラバー内部で周波数を生成しない場合、このパラメータは、最大許容トリガーパルス周波数を定義しま

す。別の言葉で表現すると、このパラメータで制限を設定します。周波数の制限はカメラの最大露光周波数です。

この制限を設定することのアドバンテージは、ロストトリガー信号の情報を得ることです。外部トリガー信号の周波数が

カメラやアプレットより高いと仮定した場合、イメージロストや破損画像を取得する事になります。正確な周波数の制限を

設定した場合、トリガーシステムはこれらの制限を超えるラインの情報を提供できます。この情報はレジスタアクセスまた

はイベントシステムを使用することによって取得でき、アプリケーションでの問題発生、不明確な状態を防ぐことができ、

いつどれだけのパルス信号をロストしたかの情報を常に受け取ることができます。 パラメータ FG_TRIGGER_FRAMESPERSECOND パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 で詳細な情報を確認して下さい。

エラー検出と解析についての詳細な情報は、「ハードウェアシステム解析とエラー検出」で確認することができます。

Page 30: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

29

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

短期間に短いパルス信号を使用する場合、トリガーシステムはトリガーパルスをキューとして使用することもできます。後

のシナリオに説明があります。

このサンプルでは最大周波数を 500fps に設定します。この機能を使用したくない場合、 パラメータ FG_TRIGGER_FRAMESPERSECOND に 1MHz など高い値を設定して下さい。

・ パラメータ FG_TRIGGER_PULSEFORMGEN0_WIDTH = 200

ここまで外部信号を受け付けて、その信号からトリガーパルスを生成する設定を行いました。次にこれらのパラスを出力す

る出力信号のパルス形成定義を行います。前節のシナリオと同様、CC1 のパルス形成を生成するためパルス信号ジェネレー

タ 0 を使用します。ここではパルス幅を 200µs に設定します。

・ パラメータ FG_TRIGGER_PULSEFORMGEN0_DELAY = 50

信号幅に加えて、光バリアが正確な位置に配置されていないため出力のディレイを設定します。ここでは、ディレイを 50μsに設定します。

・ パラメータ FG_TRIGGER_PULSEFORMGEN1_WIDTH = 250

CC 出力に加え照明制御を行います。パルス信号ジェネレータ 1 を使用します。ここでは信号幅を 250µs に設定します。

・ パラメータ FG_TRIGGER_PULSEFORMGEN1_DELAY = 25

照明出力のディレイをセットします。

・ パラメータ FG_CCSEL0 = CC_PULSEGEN0

最後にパルス信号ジェネレータ 0 を出力 CC1 に割り付けます。

・ パラメータ FG_TRIGGEROUT_SELECT0 = PULSEGEN1

出力 0 に接続したフラッシュライトは、パルス信号ジェネレータ 1 に割り付けます。

・ パラメータ FG_TRIGGEROUT_SELECT1 = PULSEGEN0

ロジックアナライザを使用してカメラのトリガー出力を計測する必要があると仮定し、出力 1 をパルス信号ジェネレータ 0に割り付けます。

トリガー定義は完了しました。前のシナリオでも説明したとおり、画像取得を開始してパラメータ FG_TRIGGERSTATE でトリガ

ーシステムをアクティブにして下さい。

これで各外部トリガーパルスによるカメラからの画像を取得できます。検証のために生成されたトリガー信号による外部パルス

信号の数と受け取ったフレーム数を比較します。 入力パルス信号と生成されたパルス信号数は、 Trigger Input カテゴリ -> Input Statistics のパラメータ FG_TRIGGERIN_STATS_PULSECOUNT と出力統計パラメータ

FG_TRIGGEROUT_STATS_PULSECOUNT を使用して取得できます。受け取ったフレーム数とこれらの値を比較します。

Page 31: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

30

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.8 エリアトリガーモードブロックダイアグラム:外部トリガーを強調

Page 32: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

31

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-4-3 照明 3 機の制御

このシナリオは前節とよく似ており、カメラと照明を制御する外部トリガーを使用します。異なる点は、1 つの外部トリガーパ

ルスで 3 つの画像を取得する点です。連続するイメージから取り出す 3 つの画像は異なる光源を使用する必要があります。その

ため、このシナリオではマルチトリガーでトリガーパルスを増やす方法とトリガーに接続されている 3 機の照明の制御方法を確

認します。 このシナリオにあるアプリケーションのアイデアは、異なる光源を使用したオブジェクトでの画像取得です。高いダイナミック

レンジのイメージ取得や標準的な照明と赤外照明を切り替えるアプリケーションで使用することが出来ます。「図 5.9 外部ト

リガー信号制御シナリオ②」はハードウェアセットアップをあらわしています。3 機の光源が用意されています。オブジェクト

はカメラの前を移動します。光バリアは、カメラのトリガータイミング情報を提供します。カメラの前でオブジェクトが停止す

るか、異なる照明で 3 つの画像が取得できる移動速度を想定してください。

図 5.9 外部トリガー信号制御シナリオ②

波形を確認する前に仮想ハードウェアのスペックを確認します。

表 5.1 3 機の照明を使用した仮想ハードウェア仕様

要素 制限 オブジェクトの速度 最大 1 秒間に 100 オブジェクト 最少カメラ露光時間 50µs 最少カメラフレームタイム 70µs

オブジェクトの速度は 1 秒間に 100 オブジェクトです。カメラの最少露光時間は 50µs で最小フレームタイムは 70µs です。そ

のため、3 つの画像を取得するためには 210µs 必要です。次の波形は、入力と出力信号と同様にマルチトリガーで追加された入

Page 33: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

32

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

力信号をあらわしています。最初の列は入力を表しており、それぞれの立下りエッジで 2 列目に示される光バリアのイベントを

表しています。3 列目は、追加させた入力パルス信号とのパルス間で 70µs のギャップを確認できます。それぞれのパルス信号

で CC1 信号が生成されており、トリガー出力 0、1、2 は 3 にダウンスケールされディレイが追加されています。

図 5.10 波形:3 機の照明制御する外部トリガー信号

パラメータ設定は前節のサンプルと似ていますが、ここではマルチトリガー係数と 4 つのパルス信号ジェネレータを使用し、ト

リガーパルスシーケンサを設定する必要があります。ブロックダイアグラム「図 5.11 エリアトリガーモードブロックダイア

グラム:3 機の照明制御外部トリガーを強調」で関連するブロックを確認して下さい。

Page 34: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

33

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.11 エリアトリガーモードブロックダイアグラム:3 機の照明制御外部トリガーを強調

・ パラメータ FG_AREATRIGGERMODE = ATM_EXTERNAL

・ パラメータ FG_TRIGGERIN_SRC = 2

・ パラメータ FG_TRIGGERIN_POLARITY = FG_LOW_ACTIVE

Page 35: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

34

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

・ パラメータ FG_TRIGGER_MULTIPLY_PULSES = 3 パラメータは、シーケンサのマルチトリガー係数を定義します。各入力パルス信号のために、3 つの内部パルス信号を生成

する必要があります。マルチトリガー増加の期間はパラメータ FG_TRIGGER_FRAMESPERSECOND で定義します。

・ パラメータ FG_TRIGGER_FRAMESPERSECOND = 14285

追加されたトリガーパルス間のギャップに対応した最大フレームレート。70µs のギャップが必要なので周波数は 14285Hzです。

・ パラメータ FG_TRIGGER_PULSEFORMGEN0_WIDTH = 50

再度、CC 信号の生成にパルス信号ジェネレータ 0 を使用します。パルス信号幅は 50µs です。ディレイやダウンスケール

は設定する必要はありません。

・ パラメータ FG_TRIGGER_PULSEFORMGEN1_WIDTH = 50

照明のパルス信号幅は、使用しているハードウェアに依存します。このサンプルでは 50µs と仮定します。

・ パラメータ FG_TRIGGER_PULSEFORMGEN2_WIDTH = 50

・ パラメータ FG_TRIGGER_PULSEFORMGEN3_WIDTH = 50

・ パラメータ FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE = 3

照明からの出力は、3 つのダウンスケールが必要です。全ての照明パルス信号ジェネレータで設定します。

・ パラメータ FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE = 3

・ パラメータ FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE = 3

・ パラメータ FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE_PHASE = 0

出力信号をダウンスケールさせるために位相シフトを使用します。代わりにディレイを使用できますが、周波数を変更する

度にディレイを変更する必要があります。パルス信号ジェネレータ 1 の位相シフトで最初の照明の番号は 0 です。

・ パラメータ FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE_PHASE = 1

パルス信号ジェネレータ 2 の位相シフトで 2 番目の照明の番号は 1 です。

・ パラメータ FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE_PHASE = 2

パルス信号ジェネレータ 3 の位相シフトで 3 番目のフラッシュライトの番号は 2 です。

・ パラメータ FG_CCSEL0 = PULSEGEN0

出力の割付です。

・ パラメータ FG_TRIGGEROUT_SELECT0 = PULSEGEN1

・ パラメータ FG_TRIGGEROUT_SELECT1 = PULSEGEN2

・ パラメータ FG_TRIGGEROUT_SELECT2 = PULSEGEN3

パラメータ FG_TRIGGERSTATE でトリガーシステムを開始します。光バリアで外部トリガーパルスが生成されるとフレー

ムグラバーから 3 フレーム(3 倍)の画像を取得します。前節と同様に、アプリケーション実行時、または、周波数が制限

値を超え外部のハードウェアが入力パルス信号を生成しない場合、入力で限度を超えるでライン期間を確認します。

1 度の外部トリガーパルスで 3 フレームの画像を取得する為にトリガーシステムをアクティブにする前に画像取得を開始し

て下さい。トリガーシステムの後に画像取得を開始すると最初に転送された画像が連続取得画像の 1 番目であるか確認でき

ません。

Page 36: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

35

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-4-4 ソフトウェアトリガー

前節のサンプルは、トリガー撮影とデジタル出力信号を出力するため、内部信号ジェネレータの使用方法と外部トリガーパルス

の使用方法を説明しました。その他のトリガーモードはソフトウェアトリガーです。このモードでは、ソフトウェアアプリケー

ションを使用してトリガーパルスの生成を制御することができます。 ソフトウェアトリガーモードを使用するには、パラメータ FG_AREATRIGGERMODE に値 ATM_SOFTWARE をセットします。

次に、パルス信号ジェネレータ、出力を定義してトリガーシステムをスタート後、画像取得を行います。パラメータ

FG_SENDSOFTWARETRIGGER に値 1 を書き込むとトリガーパルスが生成され、書き込みの度にトリガーパルスは生成されます。

「図 5.12 エリアトリガーモードブロックダイアグラム:ソフトウェアトリガーを強調」で関連するブロックを確認して下さ

い。

Page 37: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

36

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.12 エリアトリガーモードブロックダイアグラム:ソフトウェアトリガーを強調

2 つのパルス信号間は、最大トリガー周波数で制限されている 1 / FG_TRIGGER_FRAMESPERSECOND より大きい値を設定して

下さい。トリガーシステムは、新しいソフトウェアトリガーパルスを受け付ける(ビジー状態でないか)か確認することができ

ます。 パラメータ FG_SOFTWARETRIGGER_IS_BUSY を読み込むことで状態を確認でき、パラメータ値が IS_BUSY の間、パラメータ

FG_SENDSOFTWARETRIGGER への書き込みは許可されません。従い、書き込みを行う前にシステムがビジー状態であるか確認

して下さい。ロストパルス信号の確認はパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS を読み込んで行います。

Page 38: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

37

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

各ソフトウェアトリガーの連続パルス信号を生成したい場合があります。これを行うためには、パラメータ

FG_TRIGGER_MULTIPLY_PULSES に必要な連続長をセットします。これで全てのトリガーパルスがトリガーシステムに書き込ま

れます。定義した連続長とパラメータ FG_TRIGGER_FRAMESPERSECOND で定義された周波数が生成されます。この場合も同様、

システムはシーケンスが処理されている間、追加の入力を受け付けることはできません。

トリガーシステムをソフトウェアトリガーで使用する方法は、各フローチャートを参照ください。フローチャートは、仮想のユ

ーザーソフトウェアを視覚化しています。最初の例では、パラメータ FG_SENDSOFTWARETRIGGER を使用して 1 度のソフトウ

ェアトリガーを生成しています。アプレットがパルス信号を受け取るとカメラにトリガーを送ります。カメラは画像データをフ

レームグラバーに送り、その後 DMA 転送で PC に出力されます。ユーザーアプリケーションは DMA 転送を待つことになります。 アプリケーションが新しい画像データが PC に完全に転送されたとの通知を受け取ると新しいソフトウェアトリガーパルを送り、

フレームグラバーとカメラは再度新しい画像データの生成を開始します。ソフトウェアアプリケーションは、新しい転送を待っ

ている間、前に受けとった画像データの処理を開始します。そのため、ソフトウェアは、画像生成が行われている間に処理を行

う事ができます。もちろん、最初にイメージ処理を行った後に、新しいトリガーパルスを生成する事も可能です。 ステップは:ソフトウェアトリガーパルスの生成、イメージ転送待ち、ソフトウェアトリガーパルスの生成、画像データ転送待

ちとなります。「図 5.13 フローチャート:ソフトウェアトリガー」はこのサンプルのフローチャートです。

Page 39: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

38

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.13 フローチャート:ソフトウェアトリガー

このサンプルアプリケーションでは、画像データを受け取った後ビジー状態ではありませんので、ソフトウェアトリガーのビジ

ー状態を確認する必要はありません。このサンプルにある 1 つのループバックは、新しいトリガーパルスを生成する前に画像デ

ータの完全転送を待つ必要があるため、最大スピードでフレームを取得できない場合を表しています。カメラは画像データ転送

中に新しいトリガーパルスを受け取ることができます。「図 5.14 フローチャート:シーケンサとソフトウェアトリガー」サ

ンプルはトリガーシーケンサを説明しています。

このサンプルは 2 つのスレッドを持っており、1 つ目のスレッドはトリガー生成のスレッド、2 つ目は画像取得と処理のスレッ

ドです。前節のサンプルと比較すると、マルチトリガーパルスのためにトリガーシーケンサを使用していますので、ビジーフラ

グを使用する必要があります。これで高いフレームレートで画像取得を行う事ができます。

Page 40: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

39

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.14 フローチャート:シーケンサとソフトウェアトリガー

メインスレッドでは、定義、トリガーシステムの開始、画像取得を行います。フレームグラバーに送る各ソフトウェアトリガー

パルスは 1000 パルスを生成し、パラメータ FG_TRIGGER_FRAMESPERSECOND で定義したフレームレートでカメラに送りま

す。フレームグラバーにソフトトリガーパルスを送った後、パラメータ FG_SOFTWARETRIGGER_IS_BUSY レジスタを確認して

ソフトウェアがビジー状態でなくなるまで待ちます。生成したトリガーパルス数を制御するため、成功したシーケンス生成の数

をカウントします。より多くのフレームレートが必要な場合、新しいシーケンサを開始してソフトウェアトリガーパルスをフレ

ームグラバーに送ります。

2 つ目のスレッドは、画像取得と画像データの処理に使用します。ここでは、ソフトウェアは新しい画像データの転送(パラメ

ータ Fg_getLastPicNumberBlockingEx()等を使用します)を待ち、受け取った画像データの処理を行います。指定した数のフ

レームを取得して処理が終了するとスレッドは終了します。

Page 41: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

40

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-4-5 トリガーキューを使用したソフトウェアトリガー

ソフトウェアトリガーについて再度確認します。今回トリガーキューを使用しています。トリガーキューは、外部ソース、また

はソフトウェアトリガーのトリガーパルスのバッファリングを行うことができ、このパルス信号をパラメータ

FG_TRIGGER_FRAMESPERSECOND で定義した許容周波数で出力します。そのため、トリガーシステムがビジー状態の間、パラ

メータ FG_SENDSOFTWARETRIGGER に何度も書き込みを行います。 キューがフルの状態では、パラメータ FG_SOFTWARETRIGGER_IS_BUSY は、値 IS_BUSY のみを持っています。 パラメータ FG_SENDSOFTWARETRIGGER に何度も書き込みを行う代わりに、このパラメータに直接要求パルス信号数を書き込

むことができます。

トリガーキューは最大 2040 パルスまでのバッファリングが可能です。このバッファはシーケンサを含んでいませんので、シー

ケンス長が 1,000 のパルスを持ち、現在のパルスキューが 200 パルスである場合、トリガーシステムでは 200,000 パルスの出

力が残ります。パラメータ FG_TRIGGERQUEUE_FILLLEVEL でフィルレベルを確認することができます。

「図 5.15 フローチャート:トリガーキューを使用したソフトウェアトリガー」フローチャートでキューのフィルレベルで最

少 10 パルスの制限を確認できます。この仮想アプリケーションで、キューのフィルレベルを確認し、制限値と比較します。 少ないパルス信号がキューにある場合新しいソフトウェアトリガーパルスを生成しますので、スタートアップでキューは 10 パ

ルスになるまで埋められた状態です。トリガーシステムに送るソフトウェアトリガーパルスをカウントします。連続長を増やす

ことでカメラに送られるパルス信号数を取得することが出来ます。十分なパルス信号が生成された場合、トリガーのパルス生成

を停止することができます。

Page 42: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

41

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.15 フローチャート:トリガーキューを使用したソフトウェアトリガー

「図 5.16 波形:キューサンプルとソフトウェアトリガー」を確認すると、キューが埋められている初期フェーズが確認でき

ます。フィルレベル 10 に到達するとソフトウェアトリガーはアプレットに書き込まれません。システムは、トリガーパルスの

出力を継続します。連続長 1000 パルスなので、フィルレベルが変更されるまでに 1000 パルスが生成されるのを待ち続ける必

要があります。1000 番目のパルスが生成された後、フィルレベルは 9 に変更されます。これで、別のソフトウェアトリガーパ

ルスの生成を行うことができるようになりフィルレベルは再び 10 になります。

図 5.16 波形:キューサンプルとソフトウェアトリガー

Page 43: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

42

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

トリガーキューを使用している時のトリガーシステムの停止について、パラメータ FG_TRIGGERSTATE を値 TS_SYNC_STOP に

設定すると、トリガーシステムは、ソフトウェアトリガーパルスなど入力の受け付けを停止しますが、キューが空になり、全て

のパルスが完全に出力されるまでトリガーパルスの生成は行われます。トリガーステータスを値 TS_ASYNc_STOP に設定するこ

とでパルス信号生成をキャンセルすることができます。

5-4-6 トリガーキューを使用した外部トリガー

外部トリガーでトリガーキューを使用することもできます。これによって外部のエンコーダまたは、それ以外のトリガー信号ジ

ェネレータからバッファリングを行うことができます。動作環境を 50Hz の周波数でトリガーパルスを生成する外部エンコーダ

と最大周波数 52Hz で動作するカメラで仮定します。パラメータ FG_TRIGGER_FRAMESPERSECOND を 52Hz に設定します。

外部ハードウェアは変動があり、その平均は 50Hz です。52Hz より高い周波数を持つ入力があった場合、最低でも 1 パルスを

ロストします。このロストパルスは、トリガーロストイベントまたはパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS を

読み込むことで確認できます。

キューを有効にしている場合、同じシナリオを参照します。キューを有効に設定するとトリガーパルスのバッファリングを行う

ため、上限を超える入力周波数をバッファに溜め、カメラ最大トリガー周波数(このサンプルでは 52Hz です)でパルス信号を

出力することができます。入力周波数が減少したら、キューは空になりパルス信号出力は、再度入力と同期します。 ディレイによってオブジェクト位置のシフトなど取得イメージに影響がある可能性がある点にご注意ください。

キューを有効にするためには、パラメータ FG_TRIGGERQUEUE_MODE に値 FG_ON を書き込みます。

「図 5.17 波形:キューを使用した外部トリガー」は入力信号、キューのフィルレベル、出力信号を表しています。最初、2つの入力信号間のギャップは 20ms で、周波数は 52Hz より低い状態です。そのため、キューには、パルスが埋まることはなく

トリガーシステムは、2 番目のパルス信号を直接出力します。2 番目と 3 番目と同様に 4 番目のパルス間は 19.2ms より低くな

っているため、最低ギャップ 19.2ms を確保するためパルスの出力にディレイをかけます。この期間、キューのフィルレベルは、

短い期間 1 になります。4 番目と続く入力パルスのギャップは長いですが、システムはこれらのパルスにもディレイをかけます。

図 5.17 波形:キューを使用した外部トリガー

注意 キューがフルの状態(オーバーフローの状態)になった場合のみトリガーロストイベントとパラメータ

FG_TRIGGER_EXCEEDED_PERIOD_LIMITS はセットされます。

Page 44: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

43

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-4-7 外部トリガー信号のバイパス

外部トリガー信号を使用する場合デューティーサイクル(信号幅または信号長)はイグノアされますので、外部ソースを直接出

力にバイパスさせることができます。例えば、外部ソースで露光時間を制御する場合外部ソースからカメラへバイパスさせるこ

とができます。そのため、周波数の確認は行わず、またはダウンスケールを行うことができます。

バイパスをジェネレータやソフトトリガーモードと混合させることができます。そのため、CC1 が内部周波数ジェネレータまた

は、別の外部ソースからのパルスを含んだ状態でバイパス信号を CC2 に出力することができます。

トリガー入力を選択して使用するバイパスを定義するには、パラメータ FG_TRIGGERIN_BYPASS_SRC を使用します。必要であ

れば、パラメータ FG_CCSEL0 をパラメータ FG_CCSEL3 に、パラメータ FG_TRIGGEROUT_SELECT0 とパラメータ

FG_TRIGGEROUT_SELECT3 を値 INPUT_BYPASS または NOT_INPUT_BYPASS にセットします。

5-4-8 複数のカメラを使用するアプリケーション

基本的なアプリケーションは、同じトリガーソースで複数のカメラを 1 つまたはそれ以上のフレームグラバーに接続します。 全てのカメラがトリガーパルス毎に画像を取得する必要があるとします。トリガーソースを全てのフレームグラバーに接続して

全てのカメラに同じトリガー定義をセットします。いくつかのアプレットは、1 つ以上のカメラをサポートしています。この場

合、全てのカメラに同じパラメータをセットする必要があります。同じトリガーソースを共有します。

外部トリガーソースがない場合、ジェネレータやソフトウェアトリガーを使用するとトリガーをカメラの露光と同じタイミング

で使用することができます。デジタルトリガー出力でカメラコントロール信号を出力し、この出力をマスターとして同期させる

フレームグラバーのデジタル入力に接続します。 スレーブアプレットでは、入力をカメラコントロール(CC)出力にバイパスさせます。アプレットが 1 台以上のカメラをサポー

トしている場合、特別なトリガーモード、SYNCHRONIZED を使用することができます。このモードは最初のカメラ以外の全て

のカメラで選択することができます。スレーブカメラは、最初のカメラからの出力されるトリガーパルスを入力ソースとして使

用しますが、スレーブカメラのトリガーシステムでパルス生成を定義する必要があり、これらをトリガー出力に割り付ける必要

があります。

5-4-9 ハードウェアシステム解析とエラー検出

SILICON SOFTWARE トリガーシステムには、パワフルなモニタリング機能が含まれています。便利で効果的なシステム解析機

能でハードウェアセットアップや不正なパラメータ検出に役立ちます。

再度シンプルな外部トリガーサンプルを参照ください。全てのデバイスのセットアップとアプレットの定義が完了していると仮

定し、システムを開始して画像取得を行います。期待通りのフレーム数またはフレームレートが取得できてない場合、いくつか

のトリガー信号または、フレームをロストしていることを意味します。エラーを解析するために、モニタリングアプレットレジ

スタを参照します。

5-4-9-1 トリガー入力統計

トリガー入力統計カテゴリのパラメータで外部トリガーパルスの解析を行うことができます。パラメータ

FG_TRIGGERIN_STATS_FREQUENCY は、入力信号の連続周波数を計測し、この値をトリガー入力信号と比較します。 また、パラメータ FG_TRIGGERIN_SRC で正しいトリガー入力が選択されているか、入力のパルス信号幅がハードウェアで検出

するのに十分な長さであるかの確認を行います。

Page 45: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

44

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

連続する入力信号を確認するため、パラメータ FG_TRIGGERIN_STATS_MAXFREQUENCY とパラメータ

FG_TRIGGERIN_STATS_MINFREQUENCY で最大及び最小検出周波数を確認します。スタートアップで、外部パルス信号を検出

できないような低周波を受け取ります。そのため、統計をクリアするために最初にパラメータ

FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR を使用します。想定する値から逸脱した値を検出、または最小と最大周

波数間に差がありすぎる場合、外部トリガーを生成するハードウェアは、信号の変化が激しいと言えます。パルス増加を引き起

こすパルス信号のスキップまたは、跳ね上がりです。この場合、高いデバウンス値の設定、周波数が許容する低い最大値の設定

(「外部トリガー信号」を参照下さい)またはトリガーキュー(「トリガーキューを使用した外部トリガー」)を使用して問題

を補うことができます。

入力統計モジュールのもう一つの機能は、パルス信号のカウントです。この機能は、入力パルスと出力パルス、取得したフレー

ム数を比較するために使用します。パラメータ FG_TRIGGERIN_STATS_PULSECOUNT からパルスカウント値を読み込むことが

できます。入力といずれかの出力それに取得した画像の同期カウントを明確にするために、外部トリガー入力を生成する前にパ

ルスカウンタをクリアしてください。

5-4-9-2 トリガー出力統計

パルスカウンタはトリガー出力にも使用します。ここでは、パラメータ FG_TRIGGEROUT_STATS_SOURCE を使用してパルス信

号ジェネレータを選択し、パラメータ FG_TRIGGEROUT_STATS_PULSECOUNT から値を読み込みます。

入力パルスカウンタと比較するためにパルスカウント値を使用します。値に差がありすぎる場合、フレームグラバーのパルスは、

捨てられます。入力信号が、パラメータ FG_TRIGGER_FRAMESPERSECOND で設定した最大許容周波数より高い場合にこの現象

が発生します。この現象が発生すると、パラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS フラグがセットされます。 また、パルスカウンタの値が大きく異なる場合、トリガー乗算とダウンスケールはセットされません。 パラメータ FG_TRIGGERIN_DOWNSCALE、パラメータ FG_TRIGGER_MULTIPLY_PULSES とパルス信号ジェネレータのダウンス

ケールパラメータを確認してください。

入力/出力パルスと入力/出力イベントはパラメータ FG_TRIGGER_OUTPUT_CAM0 でカウントすることができます。

5-4-9-3 カメラリスポンスチェック

トリガーパルスは、カメラへのリンクやトリガー周波数がカメラ処理に対して高すぎる場合ロストする可能性があります。 この場合、フレームグラバーで受け取ったフレーム数は送ったトリガー信号数と異なります。このエラーをチェックするため、

ロストしたカメラフレーム応答を検出するモジュールを用意しています。このモジュールは、ロストしたフレームを検出して各

ロストフレームに対してイベントの生成や、レジスタをセットします。「統計」で詳細な情報と使用方法を確認することができ

ます。

5-4-9-4 取得画像比較

取得した画像をカウントすることもできます、DMA 転送数と生成されたトリガーパルスを比較します。 値が異なる場合、カメラでトリガーパルスをロストしている可能性があります。この場合、カメラに対しトリガー信号周波数が

高すぎないか確認します。イメージをロストしているオーバーフロー状態でアプレットを動作させないでください。オーバーフ

ロー状態でアプレットが動作しているかは、アプレットの最大バンド幅で確認できます。小さいサイズの ROI を設定することで

問題を解決できます。

注意 全てのモニター値に対してパラメータの最大、最小範囲をチェックします。パルスカウンタが最大値に到達するとリセットされ

0 からスタートします。

Page 46: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

45

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5 パラメータ

5-5-1 FG_AREATRIGGERMODE アドバンスド画像取得アプレットのエリアトリガーシステムは、3 つのオペレーションモードで実行できます。

・ Generator

内部の周波数ジェネレータで定義した周波数がトリガーソースに使用されます。全てのデジタルトリガー入力とソフトウェ

アトリガーパルスはイグノアされます。

・ External このモードでは、1 つのデジタル入力をトリガーソースとして使用します。トリガー生成に外部ソースを使用します。

・ Software

ソフトウェアトリガーモードでは、トリガー入力信号を手動で生成する必要があります。パラメータをアプレットへ書き込

みます。

フリーランモード カメラをフリーランモードで動作させる場合、上で説明したいずれのモードも使用できます。カメラはトリガーパルスをイグノ

アします。必要であればば出力を無効にまたは、パラメータ FG_TRIGGERSTATE を使用してトリガーを無効にすることができま

す。

許容周波数 外部トリガーやソフトウェアトリガーモードでパラメータ FG_TRIGGER_FRAMESPERSECOND の影響にご注意ください。 これらのモードでは、このパラメータを必ずセットします。

5.2 パラメータプロパティ:FG_AREATRIGGERMODE

Property Value Name FG_AREATRIGGERMODE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values ATM_GENERATOR

Generator ATM_EXTERNAL External ATM_SOFTWARE Software

Default value ATM_GENERATOR

Page 47: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

46

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.1 FG_AREATRIGGERMODE

int result = 0; unsigned int value = ATM_GENERATOR; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_AREATRIGGERMODE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_AREATRIGGERMODE, &value, 0, type)) < 0) { /* error handling */ }

5-5-2 FG_TRIGGERSTATE エリアトリガーシステムは 3 つのトリガーステータスで動作します。Active ステータスでは、モジュールは全て有効です。 トリガーソースは使用され、パルス信号はキューになり、ダウンスケール、乗算、出力信号は、パラメータ設定されたパルス信

号を取得します。トリガーを Sync Stop モードに設定すると、モジュールはさらなる入力パルスをイグノアするかパルス生成を

停止します。 モジュールはシステム内でパルス信号を処理します。これは、貯め込まれたキューとシーケンサはパルス処理を継続し、ジェネ

レータからのパルス信号は、パラメータに関連する信号を出力します。最終的に Async Stop モードで非同期に、または直ちに

トリガーシステムを停止します。この停止は、現在の信号生成が割り込むため不明な信号長を持つ出力信号となり、前に停止し

たトリガーの再スタート、すなわち Active ステータスへの切り替えによってキューとシーケンサをクリアします。

表 5.3 パラメータプロパティ:FG_TRIGGERSTATE

Property Value Name FG_TRIGGERSTATE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values TS_ACTIVE

Active TS_ASYNC_STOP Async Stop TS_SYNC_STOP Sync Stop

Default value TS_SYNC_STOP

Page 48: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

47

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.2 FG_TRIGGERSTATE

int result = 0; unsigned int value = TS_SYNC_STOP; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERSTATE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERSTATE, &value, 0, type)) < 0) { /* error handling */ }

5-5-3 FG_TRIGGER_FRAMESPERSECOND このパラメータは、トリガーシステムで非常に重要なパラメータです。複数の機能で使用します。

Generator モードで動作するとジェネレータの周波数を定義し、External または Software Trigger モードで動作すると、最大

許容入力周波数を定義します。入力周波数がこの上限を超えると、入力信号のパルスロスを引き起こします。このエラー通知を

行うために、エラーフラグを含む読み込みレジスタまたはイベントを生成します。トリガーキューが有効な場合、上限を超えた

キューはバッファリングされパラメータ FG_TRIGGER_FRAMESPERSECOND で定義された最大周波数で出力されますので、最大

キュー出力周波数をパラメータで定義することができます。また、最大シーケンサ周波数も定義することができます。

注意 パラメータ範囲はジェネレータからのパルス設定に依存します。周波数を増加させたい場合は、ジェネレータから送られるパル

ス信号のディレイ幅を減少させて下さい。

方程式 5.1 周波数とパルス信号ジェネレータの依存性

・ fps = FG_TRIGGER_FRAMESPERSECOND ・ WIDTH[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_WIDTH ・ DELAY[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DELAY ・ DOWNSCALE[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE 一般的なトリガーシステムの説明と関連するパラメータの説明を参照ください。

Page 49: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

48

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 5.4 パラメータプロパティ:FG_TRIGGER_FRAMESPERSECOND

Property Value Name FG_TRIGGER_FRAMESPERSECOND Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

NaN Maximum 6250000.0 Stepsize 2.220446049250313E-16

Default value 8.0 Unit of measure Hz

サンプル 5.3 FG_TRIGGER_FRAMESPERSECOND

int result = 0; double value = 8.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGER_FRAMESPERSECOND, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_FRAMESPERSECOND, &value, 0, type)) < 0) { /* error handling */ }

5-5-4 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS 入力信号周波数がパラメータ FG_TRIGGER_FRAMESPERSECOND で定義した最大許容周波数を超えると読込み専用レジスタは

値 FG_YES となります。キューを有効にし、フル状態で新しい入力パルスをストアできない場合レジスタがセットされます。 レジスタの読み込みでレジスタはリセットされません。 レジスタリセットはパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR への書き込みを行います。

表 5.5 パラメータプロパティ:FG_TRIGGER_EXCEEDED_PERIOD_LIMITS

Property Value Name FG_TRIGGER_EXCEEDED_PERIOD_LIMITS Type Enumeration Access policy Read-Only Storage policy Transient Allowed values FG_YES

Yes FG_NO No

Page 50: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

49

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.4 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS

int result = 0; unsigned int value = FG_NO; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGER_EXCEEDED_PERIOD_LIMITS, &value, 0, type)) < 0) { /* error handling */ }

5-5-5 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR このパラメータで FG_TRIGGER_EXCEEDED_PERIOD_LIMITS をリセットします。

表 5.6 パラメータプロパティ:FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR

Property Value Name FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR Type Enumeration Access policy Read/Write/Change Storage policy Transient Allowed values FG_APPLY

Apply Default value FG_APPLY

サンプル 5.5 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR

int result = 0; unsigned int value = FG_APPLY; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CLEAR, &value, 0, type)) < 0) { /* error handling */ }

5-5-6 FG_TRIGGER_LEGACY_MODE モジュールの定義に数多くのパラメータを使用できるパワフルな機能を搭載しています。以前の画像取得アプレット

(Runtime5.2 以前)から Acq_BaseAreaBayer12 アプレットに変更するユーザーのため、以前のトリガーパラメータを再利用

できるようになっています。パラメータ FG_TRIGGER_LEGACY_MODE を FG_ON にセットすると、現在のアプレットに存在し

ない以前のバージョンのアプレットのパラメータを再利用することができます。トリガーシステムをレガシーモードに設定する

と新しいパラメータの書き込みは無効になりますが、以前のパラメータから新しいパラメータへのマッピングを読み込むことは

可能です。さらにこのパラメータの変更により、トリガーシステムをデフォルトにリセットします。

Page 51: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

50

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

以前のパラメータについてはこのドキュメント内で言及していません。詳細な説明は以前のアプレットの Runtime マニュアルを

参照ください。

現在のバージョンのパラメータセットを推奨 SILICON SOFTWARE は、現在のバージョンのパラメータセットを使用する事を推奨します。 以前のパラメータサポートは将来なくなり、また過去のトリガーシステムのパラメータ設定は保障できません。

表 5.7 パラメータプロパティ:FG_TRIGGER_LEGACY_MODE

Property Value Name FG_TRIGGER_LEGACY_MODE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

サンプル 5.6 FG_TRIGGER_LEGACY_MODE

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_LEGACY_MODE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_LEGACY_MODE, &value, 0, type)) < 0) { /* error handling */ }

5-5-7 FG_TRIGGER_EXCEEDED_PERIOD_LIMITS_CAM0 イベントは、ロスした各入力トリガーパルスで生成します。入力周波数がパラメータ FG_TRIGGER_FRAMESPERSECOND で設定

した最大許容周波数より高い場合トリガーロスは発生します。(「FG_TRIGGER_FRAMESPERSECOND」参照のこと) トリガーキューが有効な状態で、キューが埋った(オーバーフロー)場合にイベントが生成されます。一般的なトリガーモード

では、イベントは生成されません。タイムスタンプ以外の追加データはイベントには含まれません。

5-5-8 Legacy このカテゴリは、トリガーのレガシーパラメータについて説明します。以前の画像取得アプレットからこのアプレットに移行し

た場合、以前のトリガーパラメータも使用することができます。これらのパラメータの再利用については、

「FG_TRIGGER_LEGACY_MODE」で説明が記載されています。

Page 52: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

51

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

次のパラメータには、記述テキストが含まれていません。これらのパラメータの説明は以前の画像取得アプレットのトリガード

キュメントを参照下さい。

5-5-8-1 FG_TRIGGERMODE

表 5.8 パラメータプロパティ:FG_TRIGGERMODE

Property Value Name FG_TRIGGERMODE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FREE_RUN

Free Run GRABBER_CONTROLLED Grabber controlled ASYNC_TRIGGER Async Trigger ASYNC_SOFTWARE_TRIGGER Async Software Trigger

Default value FREE_RUN

サンプル 5.7 FG_TRIGGERMODE

int result = 0; unsigned int value = FREE_RUN; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERMODE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERMODE, &value, 0, type)) < 0) { /* error handling */ }

5-5-8-2 FG_EXSYNCON

表 5.9 パラメータプロパティ:FG_EXSYNCON

Property Value Name FG_EXSYNCON Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

Page 53: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

52

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.8 FG_EXSYNCON

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_EXSYNCON, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_EXSYNCON, &value, 0, type)) < 0) { /* error handling */ }

5-5-8-3 FG_FLASHON

表 5.10 パラメータプロパティ:FG_FLASHON

Property Value Name FG_FLASHON Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

サンプル 5.9 FG_FLASHON

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_FLASHON, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_FLASHON, &value, 0, type)) < 0) { /* error handling */ }

Page 54: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

53

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-8-4 FG_EXPOSURE

表 5.11 パラメータプロパティ:FG_EXPOSURE

Property Value Name FG_EXPOSURE Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

10 Maximum 124990 Stepsize 10

Default value 4000

サンプル 5.10 FG_EXPOSURE

int result = 0; unsigned int value = 4000; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_EXPOSURE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_EXPOSURE, &value, 0, type)) < 0) { /* error handling */ }

5-5-8-5 FG_EXSYNCDELAY

表 5.12 パラメータプロパティ:FG_EXSYNCDELAY

Property Value Name FG_EXSYNCDELAY Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 10230.0 Stepsize 10.0

Default value 0.0 Unit of measure microseconds

Page 55: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

54

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.11 FG_EXSYNCDELAY

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_EXSYNCDELAY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_EXSYNCDELAY, &value, 0, type)) < 0) { /* error handling */ }

5-5-8-6 FG_EXSYNCPOLARITY

表 5.13 パラメータプロパティ:FG_EXSYNCPOLARITY

Property Value Name FG_EXSYNCPOLARITY Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ZERO

Low Active FG_ONE High Active

Default value FG_ZERO

サンプル 5.12 FG_EXSYNCPOLARITY

int result = 0; unsigned int value = FG_ZERO; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_EXSYNCPOLARITY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_EXSYNCPOLARITY, &value, 0, type)) < 0) { /* error handling */ }

Page 56: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

55

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-8-7 FG_STROBEPULSEDELAY

表 5.14 パラメータプロパティ:FG_STROBEPULSEDELAY

Property Value Name FG_STROBEPULSEDELAY Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 10230.0 Stepsize 10.0

Default value 0.0 Unit of measure microseconds

サンプル 5.13 FG_STROBEPULSEDELAY

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_STROBEPULSEDELAY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_STROBEPULSEDELAY, &value, 0, type)) < 0) { /* error handling */ }

5-5-8-8 FG_FLASH_POLARITY

表 5.15 パラメータプロパティ:FG_FLASH_POLARITY

Property Value Name FG_FLASH_POLARITY Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ZERO

Low Active FG_ONE High Active

Default value FG_ZERO

Page 57: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

56

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.14 FG_FLASH_POLARITY

int result = 0; unsigned int value = FG_ZERO; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_FLASH_POLARITY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_FLASH_POLARITY, &value, 0, type)) < 0) { /* error handling */ }

5-5-8-9 FG_PRESCALER

表 5.16 パラメータプロパティ:FG_PRESCALER

Property Value Name FG_PRESCALER Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.032 Maximum 1048.56 Stepsize 0.016

Default value 10.0 Unit of measure microseconds

サンプル 5.15 FG_PRESCALER

int result = 0; double value = 10.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PRESCALER, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_PRESCALER, &value, 0, type)) < 0) { /* error handling */ }

Page 58: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

57

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-8-10 FG_CCSEL0、その他

注意 この説明は次のパラメータにも適用されます。:

FG_CCSEL1 FG_CCSEL2 FG_CCSEL3

表 5.17 パラメータプロパティ:FG_CCSEL0

Property Value Name FG_CCSEL0 Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values CC_EXSYNC

Exsync CC_NOT_EXSYNC !Exsync CC_STROBEPULSE Flash CC_NOT_STROBEPULSE !Flash CC_GND Gnd CC_VCC Vcc

Default value CC_EXSYNC

サンプル 5.16 FG_CCSEL0

int result = 0; unsigned int value = CC_EXSYNC; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_CCSEL0, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_CCSEL0, &value, 0, type)) < 0) { /* error handling */ }

Page 59: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

58

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-8-11 FG_DIGIO_OUTPUT

表 5.18 パラメータプロパティ:FG_DIGIO_OUTPUT

Property Value Name FG_DIGIO_OUTPUT Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 3 Stepsize 1

Default value 3

サンプル 5.17 FG_DIGIO_OUTPUT

int result = 0; unsigned int value = 3; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_DIGIO_OUTPUT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_DIGIO_OUTPUT, &value, 0, type)) < 0) { /* error handling */ }

5-5-9 トリガー入力

トリガー入力カテゴリのパラメータは、トリガーシステムの入力ソースの定義に使用します。 このカテゴリはサブカテゴリに分割されており、全ての外部ソースは外部カテゴリで、ソフトウェアカテゴリではソフトウェア

トリガーソースのモニタリングや制御の定義を行います。統計カテゴリでは、入力イベントの統計をあらわすパラメータが用意

されています。

5-5-9-1 外部カテゴリ

5-5-9-1-1 FG_TRIGGERIN_DEBOUNCE 一般的に安定したトリガー入力信号は実際には保証されていません。悪いシールド環境で長いケーブルを使用して転送する接続

と操作は、信号の品質に重大な影響を及ぼします。典型的な問題は、信号の切り替わり時にデジタル信号のエッジが平になるこ

とです。「図 5.18 正常ではない信号とトリガー入力信号の生成」は、悪い影響の例を表しています。

Page 60: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

59

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.18 正常ではない信号とトリガー入力信号の生成

トリガーシステムは、問題が発生しやすい信号の状況下においても高く安定したイベントで動作するためにデザインされており、

入力の内部デバンスで不要なトリガーパルスを除去します。これはヒステリシスと比較する事ができます。指定した時間の定数

(「図 5.18 正常ではない信号とトリガー入力信号の生成」内の L)による信号の変更は受け、入力のパルス信号の詰まりに反

応しません。また、スロー信号の転送と跳ね返りを引き起こすマルチトリガーを無効にすることもできます。必要なデバンス時

間をマイクロ秒単位で設定します。

注意 デバンス時間はトリガー信号が処理される前のディレイ時間でもあります。このパラメータの設定は、全てのデジタル入力設定

に影響します。

表 5.19 パラメータプロパティ:FG_TRIGGERIN_DEBOUNCE

Property Value Name FG_TRIGGERIN_DEBOUNCE Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum0.096Maximum3.024Stepsize0.048 Default value 1.0 Unit of measure us

サンプル 5.18 FG_TRIGGERIN_DEBOUNCE

int result = 0; double value = 1.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_DEBOUNCE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_DEBOUNCE, &value, 0, type)) < 0) { /* error handling */ }

Page 61: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

60

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-9-1-2 FG_DIGIO_INPUT アドバンスド画像取得アプレットは 8 個のデジタル入力を搭載しています。パラメータ FG_DIGIO_INPUT でこれらの入力の現

在のステータスを読み込むことができます。読み込んだ値の Bit0 は入力0、Bit1 は入力 1 を表しています。例えば、値 37(0x25)を取得した場合、フレームグラバーは、デジタル入力 0、2、5 が High の状態です。

デジタル入力のモニタリングには、入力イベントも使用できます。

表 5.20 パラメータプロパティ:FG_DIGIO_INPUT

Property Value Name FG_DIGIO_INPUT Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum0Maximum255Stepsize1

サンプル 5.19 FG_DIGIO_INPUT

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_DIGIO_INPUT, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-1-3 FG_TRIGGERIN_SRC 外部トリガーを使用するためには、イメージトリガー信号の入力を選択する必要があります。8 個の入力から 1 つを選択します。

パラメータ FG_AREATRIGGERMODE に外部が選択されていない場合、このパラメータは、入力統計のための入力のみが選択さ

れます。

表 5.21 パラメータプロパティ:FG_TRIGGERIN_SRC

Property Value Name FG_TRIGGERIN_SRC Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values TRGINSRC_0

Trigger Source 0 TRGINSRC_1 Trigger Source 1 TRGINSRC_2 Trigger Source 2 TRGINSRC_3 Trigger Source 3 TRGINSRC_4 Trigger Source 4 TRGINSRC_5

Page 62: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

61

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Trigger Source 5 TRGINSRC_6 Trigger Source 6 TRGINSRC_7 Trigger Source 7

Default value TRGINSRC_0

サンプル 5.20 FG_TRIGGERIN_SRC

int result = 0; unsigned int value = TRGINSRC_0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_SRC, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_SRC, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-1-4 FG_TRIGGERIN_POLARITY パラメータ FG_TRIGGERIN_SRC を使用して選択した入力には、このパラメータでポラリティをセットします。

表 5.22 パラメータプロパティ:FG_TRIGGERIN_POLARITY

Property Value Name FG_TRIGGERIN_POLARITY Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values LOW_ACTIVE

Low Active HIGH_ACTIVE High Active

Default value HIGH_ACTIVE

サンプル 5.21 FG_TRIGGERIN_POLARITY

int result = 0; unsigned int value = HIGH_ACTIVE; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_POLARITY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_POLARITY, &value, 0, type)) < 0) { /* error handling */ }

Page 63: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

62

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-9-1-5 FG_TRIGGERIN_DOWNSCALE 外部トリガーモードでトリガーシステムを使用する場合、パラメータ FG_TRIGGERIN_SRC でトリガー入力をダウンスケールさ

せることができます。詳細な情報は「FG_TRIGGERIN_DOWNSCALE_PHASE」を参照下さい。

表 5.23 パラメータプロパティ:FG_TRIGGERIN_DOWNSCALE

Property Value Name FG_TRIGGERIN_DOWNSCALE Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

1 Maximum 256 Stepsize 1

Default value 1

サンプル 5.22 FG_TRIGGERIN_DOWNSCALE

int result = 0; unsigned int value = 1; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_DOWNSCALE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_DOWNSCALE, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-1-6 FG_TRIGGERIN_DOWNSCALE_PHASE パラメータ FG_TRIGGERIN_DOWNSCALE とパラメータ FG_TRIGGERIN_DOWNSCALE_PHASE は、外部トリガー入力のダウン

スケールに使用します。ダウンスケール値は、係数であらわします。例えば、値 3 は、3 つの入力のうち 2 つの連続するトリガ

ー信号を取り除くことを意味します。 フェーズは、連続パルス信号からパルス信号を選択します。この場合、フェーズを 0 にセットすると、3 つの入力の内最初のパ

ルス信号を転送し、2 番目と 3 番目は取り除かれます。「図 5.19 トリガーのダウンスケール」で詳細な例が確認できます。

Page 64: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

63

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.19 トリガーのダウンスケール

ダウンスケール係数とフェーズは独立していますが、ダウンスケール係数値はフェーズの値より大きい値である必要があります。

表 5.24 パラメータプロパティ:FG_TRIGGERIN_DOWNSCALE_PHASE

Property Value Name FG_TRIGGERIN_DOWNSCALE_PHASE Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 255 Stepsize 1

Default value 0

サンプル 5.23 FG_TRIGGERIN_DOWNSCALE_PHASE

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_DOWNSCALE_PHASE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_DOWNSCALE_PHASE, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-1-7 FG_TRIGGERIN_BYPASS_SRC バイパスする出力信号に使用する外部トリガーソースを選択します。バイパスはパルス形成を維持、つまり外部信号の長さを維

持します。出力と CC 信号出力で使用します。選択したバイパスが選択されます。出力定義は「FG_TRIGGERCC_SELECT0、そ

の他」と「デジタル出力」を参照下さい。

表 5.25 パラメータプロパティ:FG_TRIGGERIN_BYPASS_SRC

Property Value Name FG_TRIGGERIN_BYPASS_SRC

Page 65: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

64

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values TRGINSRC_0

Trigger Source 0 TRGINSRC_1 Trigger Source 1 TRGINSRC_2 Trigger Source 2 TRGINSRC_3 Trigger Source 3 TRGINSRC_4 Trigger Source 4 TRGINSRC_5 Trigger Source 5 TRGINSRC_6 Trigger Source 6 TRGINSRC_7 Trigger Source 7

Default value TRGINSRC_0

サンプル 5.24 FG_TRIGGERIN_BYPASS_SRC

int result = 0; unsigned int value = TRGINSRC_0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_BYPASS_SRC, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_BYPASS_SRC, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-2 ソフトウェアトリガー

5-5-9-2-1 FG_SENDSOFTWARETRIGGER トリガーシステムをソフトウェアトリガーモード(パラメータ FG_AREATRIGGERMODE を参照下さい。)で動作させる場合、

このパラメータをアクティブにします。ソフトウェアトリガーを入力するためにはこのパラメータに 1 を書き込みます。トリガ

ーキューがアクティブになると複数のソフトウェアトリガーパルスをフレームグラバーに書き込むことができます。キューが埋

められ、パラメータ FG_TRIGGER_FRAMESPERSECOND で設定された最大周波数で処理されます。

注意 ソフトウェアトリガー信号はパラメータ FG_TRIGGERSTATE でアクティブになったときのみ書き込まれます。また、キューがア

クティブではない場合、システムがビジー状態でなければ新しいソフトウェアトリガー信号が書き込まれます。そのためパラメ

ータの書き込みは、エラーパラメータ FG_SOFTWARE_TRIGGER_BUSY を引き起こします。

Page 66: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

65

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 5.26 パラメータプロパティ:FG_SENDSOFTWARETRIGGER

Property Value Name FG_SENDSOFTWARETRIGGER Type Unsigned Integer Access policy Read/Write/Change Storage policy Transient Allowed values Minimum

1 Maximum 1 Stepsize 1

Default value 1 Unit of measure pulses

サンプル 5.25 FG_SENDSOFTWARETRIGGER

int result = 0; unsigned int value = 1; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SENDSOFTWARETRIGGER, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SENDSOFTWARETRIGGER, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-2-2 FG_SOFTWARETRIGGER_IS_BUSY トリガーシステムに 1 または複数のソフトウェアトリガー信号を書き込むと、しばらくビジー状態になります。このパラメータ

を使用して、パルス信号が残っているかどうか確認するためのこのパラメータを使用します。

表 5.27 パラメータプロパティ:FG_SOFTWARETRIGGER_IS_BUSY

Property Value Name FG_SOFTWARETRIGGER_IS_BUSY Type Enumeration Access policy Read-Only Storage policy Transient Allowed values IS_BUSY

Busy Flag is set IS_NOT_BUSY Busy Flag is not set

サンプル 5.26 FG_SOFTWARETRIGGER_IS_BUSY

int result = 0; unsigned int value = IS_NOT_BUSY; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T;

Page 67: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

66

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

if ((result = Fg_getParameterWithType(FG_SOFTWARETRIGGER_IS_BUSY, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-3 FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL このパラメータの値は、ソフトウェアキューで処理が行われる必要があるパルス信号数を表しています。フィルレベルは、パラ

メータ FG_SENDSOFTWARETRIGGER に書き込んだパルス信号数に依存します。トリガーパルスは、パラメータ

FG_TRIGGER_MULTIPLY_PULSES 係数で乗算し、最大出力周波数はパラメータ FG_TRIGGER_FRAMESPERSECOND で定義され

ます。デクリメント値はパラメータ FG_TRIGGER_MULTIPLY_PULSES の手順で提供されます。

表 5.28 パラメータプロパティ:FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL

Property Value Name FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 2040 Stepsize 1

Unit of measure pulses

サンプル 5.27 FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_SOFTWARETRIGGER_QUEUE_FILLLEVEL, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-4 統計

トリガー入力統計モジュールでは、選択した入力の周波数解析とパルス信号をカウントします。統計のためのデジタル入力はパ

ラメータ FG_TRIGGERIN_POLARITY で選択し、計測はダウンスケール前のデバウンスとポラリティ選択後に行われます。

5-5-9-4-1 FG_TRIGGERIN_STATS_PULSECOUNT このパラメータで入力パルスはカウントされ現在の値が読み込まれます。カウンタ値と取得イメージ数を比較してシステムの検

証などに使用して下さい。

Page 68: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

67

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 5.29 パラメータプロパティ:FG_TRIGGERIN_STATS_PULSECOUNT

Property Value Name FG_TRIGGERIN_STATS_PULSECOUNT Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 65535 Stepsize 1

Unit of measure pulses

サンプル 5.28 FG_TRIGGERIN_STATS_PULSECOUNT

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_PULSECOUNT, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-4-2 FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR このレジスタに書き込みを行うと入力パルスのカウンタをクリアします。

表 5.30 パラメータプロパティ:FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR

Property Value Name FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR Type Enumeration Access policy Read/Write/Change Storage policy Transient Allowed values FG_APPLY

Apply Default value FG_APPLY

サンプル 5.29 FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR

int result = 0; unsigned int value = FG_APPLY; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { /* error handling */ }

Page 69: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

68

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-9-4-3 FG_TRIGGERIN_STATS_FREQUENCY 現在の周波数は、このパラメータを使用して読み込むことができます。パラメータは、フレームグラバーで受け取った最後の 2つのパルス信号の周波数を表しています。

表 5.31 パラメータプロパティ:FG_TRIGGERIN_STATS_FREQUENCY

Property Value Name FG_TRIGGERIN_STATS_FREQUENCY Type Double Access policy Read-Only Storage policy Transient Allowed values Minimum

0.0 Maximum 6.25E7 Stepsize 2.220446049250313E-16

Unit of measure Hz

サンプル 5.30 FG_TRIGGERIN_STATS_FREQUENCY

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_FREQUENCY, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-4-4 FG_TRIGGERIN_STATS_MINFREQUENCY トリガーシステムは、検知した最小入力周波数を記憶します。これにより周波数のピーク情報を取得することができます。

表 5.32 パラメータプロパティ:FG_TRIGGERIN_STATS_MINFREQUENCY

Property Value Name FG_TRIGGERIN_STATS_MINFREQUENCY Type Double Access policy Read-Only Storage policy Transient Allowed values Minimum

0.0 Maximum 6.25E7 Stepsize 2.220446049250313E-16

Unit of measure Hz

Page 70: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

69

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.31 FG_TRIGGERIN_STATS_MINFREQUENCY

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_MINFREQUENCY, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-4-5 FG_TRIGGERIN_STATS_MAXFREQUENCY トリガーシステムは、検知した最大入力周波数を記憶します。これにより周波数のピーク情報を取得することができます。

表 5.33 パラメータプロパティ:FG_TRIGGERIN_STATS_MAXFREQUENCY

Property Value Name FG_TRIGGERIN_STATS_MAXFREQUENCY Type Double Access policy Read-Only Storage policy Transient Allowed values Minimum

0.0 Maximum 6.25E7 Stepsize 2.220446049250313E-16

Unit of measure Hz

サンプル 5.32 FG_TRIGGERIN_STATS_MAXFREQUENCY

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_MAXFREQUENCY, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-4-6 FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR 最小及び最大周波数の計測結果をクリアする場合は、このレジスタへ書き込みを行います。最小及び最大周波数は現在の入力周

波数に置き換えられます。

表 5.34 パラメータプロパティ:G_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR

Property Value Name FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR Type Enumeration Access policy Read/Write/Change Storage policy Transient

Page 71: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

70

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Allowed values FG_APPLY Apply

Default value FG_APPLY

サンプル 5.33 G_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR

int result = 0; unsigned int value = FG_APPLY; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERIN_STATS_MINMAXFREQUENCY_CLEAR, &value, 0, type)) < 0) { /* error handling */ }

5-5-9-4-7 FG_TRIGGER_INPUT0_RISING 、その他

注意 この説明は次のイベントにも適用されます。:

FG_TRIGGER_INPUT1_RISING FG_TRIGGER_INPUT2_RISING FG_TRIGGER_INPUT3_RISING FG_TRIGGER_INPUT4_RISING FG_TRIGGER_INPUT5_RISING FG_TRIGGER_INPUT6_RISING FG_TRIGGER_INPUT7_RISING このイベントは、トリガー入力 0 の各立ち上がりエッジで生成されます。このイベントは、タイムスタンプ以外のデータは含ん

でいません。入力信号の高速切り替えは、システムを低下させる高い割り込みレートを引き起こす点にご注意ください。

5-5-9-4-8 FG_TRIGGER_INPUT0_FALLING、その他

注意 この説明は次のイベントにも適用されます。:

FG_TRIGGER_INPUT1_FALLING FG_TRIGGER_INPUT2_FALLING FG_TRIGGER_INPUT3_FALLING FG_TRIGGER_INPUT4_FALLING FG_TRIGGER_INPUT5_FALLING FG_TRIGGER_INPUT6_FALLING FG_TRIGGER_INPUT7_FALLING このイベントは、トリガー入力 0 の各立ち下がりエッジで生成されます。このイベントは、タイムスタンプ以外のデータは含ん

でいません。入力信号の高速切り替えは、システムを低下させる高い割り込みレートを引き起こす点にご注意ください。

Page 72: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

71

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-10 シーケンサ

シーケンサは、1 つの入力パルスから複数のパルス信号を生成するパワフルな機能です。外部トリガー及びソフトトリガーモー

ドで使用することができますが、ジェネレータモードでは使用できません。 シーケンサはパラメータ FG_TRIGGER_MULTIPLY_PULSES でセットされた係数を使用して入力パルスを増やします。挿入され

たパルス信号は、パラメータ FG_TRIGGER_FRAMESPERSECOND の設定によって、オリジナル信号からのタイムディレイ設定が

できます。そのため、入力パルスと挿入されたパルス信号は同じタイミングで出力されずパラメータ

FG_TRIGGER_FRAMESPERSECOND で定義されたディレイが追加されますので、パラメータ設定したディレイを持つパルス信号

の分割は、入力信号のロスを引き起こしません。

サンプルを参照下さい。外部トリガーソースで 1 秒間に 1 度のパルスを生成すると仮定します。入力周波数は 1Hz です。シー

ケンサは、係数 2 が設定されパラメータ FG_TRIGGER_FRAMESPERSECOND で定義される最大周波数には 2.1Hz が設定されて

います。

それぞれの外部パルス信号をトリガーシステムに転送し、2 番目のパルス信号 0.48 秒後に生成されます。分割係数は入力周波

数の 2 倍が設定されていますので、様々な入力周波数に対して対応できます。2 つ入力パルス信号間が最低 0.96 秒以下の場合、

2 番目のパルス信号をロストします。SILICON SOFTWARE はパルス信号をロストしない程度の周波数設定を行う、またはトリガ

ーキューを使用して補足することを推奨します。ロストパルスはパラメータ FG_TRIGGER_EXCEEDED_PERIOD_LIMITS で確認

できます。

5-5-10-1-1 FG_TRIGGER_MULTIPLY_PULSES トリガー入力乗算係数をセットします。

表 5.35 パラメータプロパティ:FG_TRIGGER_MULTIPLY_PULSES

Property Value Name FG_TRIGGER_MULTIPLY_PULSES Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

1 Maximum 65535 Stepsize 1

Default value 1

サンプル 5.34 FG_TRIGGER_MULTIPLY_PULSES

int result = 0; unsigned int value = 1; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_MULTIPLY_PULSES, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_MULTIPLY_PULSES, &value, 0, type)) < 0) { /* error handling */

Page 73: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

72

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

}

5-5-11 キュー

トリガーの最大出力周波数は、パラメータ FG_TRIGGER_FRAMESPERSECOND 設定で制限し、検出しにくいカメラのトリガーロ

ストパルスを防ぎます。いくつかのケースで、外部トリガーソースの周波数を変更することができます。トリガーロストパルス

を防ぐために、バッファへのトリガーキューをアクティブにしてこのパルス信号をバッファリングします。シーケンサとソフト

トリガーを使用する場合は、キューはバッファトリガー入力パルスのために使用します。

トリガーキューをアクティブにするためにはパラメータ FG_TRIGGERQUEUE_MODE を使用します。

キューのフィルレベルは、パラメータ FG_TRIGGERQUEUE_FILLLEVEL で 2 つイベントでのモニタリングが可能です。 パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD と パラメータ

FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD を使用して、2 つの閾値をセットします。フィルレベルが

ON-threshold を超えるとイベント FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_ON が生成されます。フィルレベル

が下がるか OFF-threshold 以下になるとイベント FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_OFF が生成されます。

注意 フィルレベルの値 n は、n と n+1 トリガーパルス間のトリガーパルスがシステムで処理されたことを表します。 そのため、フィルレベルの値 0 は、これ以上の値はキューにないことを意味しますが、現在も処理待ちのパルス信号が残ってい

る(あるいはシーケンサを使用している場合は複数のパルス信号が残っている)可能性があると見えます。 例外として、パラメータ FG_TRIGGERQUEUE_FILLLEVEL で値 0 を取得した場合、パラメータにおけるこの値はこれ以上のパル

スはキューに存在せず全てのパルスは完全に処理されたことを意味します。

5-5-11-1 FG_TRIGGERQUEUE_MODE キューをアクティブにするには、このパラメータを使用します。キューのアクティブにすると、現在のキュー設定が削除されま

すので注意下さい。

表 5.36 パラメータプロパティ:FG_TRIGGERQUEUE_MODE

Property Value Name FG_TRIGGERQUEUE_MODE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

サンプル 5.35 FG_TRIGGERQUEUE_MODE

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERQUEUE_MODE, &value, 0, type)) < 0) {

Page 74: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

73

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

/* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERQUEUE_MODE, &value, 0, type)) < 0) { /* error handling */ }

5-5-11-2 FG_TRIGGERQUEUE_FILLLEVEL 現在のキューパルスはこのパラメータで取得します。 最大値 2040 パルスでキューを実行できます。フィルレベルは、シーケンサが生成したパルス信号以外のキューの入力パルス、

すなわち、外部トリガーパルス、ソフトウェアトリガーパルスを含んでいます。トリガーシステムがビジー状態でない場合、フ

ィルレベルは 0、つまりこれ以上のパルスは処理されない状態です。

表 5.37 パラメータプロパティ:FG_TRIGGERQUEUE_FILLLEVEL

Property Value Name FG_TRIGGERQUEUE_FILLLEVEL Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 2040 Stepsize 1

Unit of measure pulses

サンプル 5.36 FG_TRIGGERQUEUE_FILLLEVEL

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGERQUEUE_FILLLEVEL, &value, 0, type)) < 0) { /* error handling */ }

5-5-11-3 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD このパラメータを使用してフィルレベルイベント生成に ON-threshold をセットします。

表 5.38 パラメータプロパティ:FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD

Property Value Name FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent

Page 75: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

74

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Allowed values Minimum 2 Maximum 2047 Stepsize 1

Default value 2047 Unit of measure pulses

サンプル 5.37 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD

int result = 0; unsigned int value = 2047; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD, &value, 0, type)) < 0) { /* error handling */ }

5-5-11-4 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD このパラメータを使用してフィルレベルイベント生成に OFF-threshold をセットします。

表 5.39 パラメータプロパティ:FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD

Property Value Name FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

2 Maximum 2047 Stepsize 1

Default value 2 Unit of measure pulses

サンプル 5.38 FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD

int result = 0; unsigned int value = 2; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD, &value, 0, type)) < 0) {

Page 76: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

75

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

/* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD, &value, 0, type)) < 0) { /* error handling */ }

5-5-11-5 FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_ON キューのフィルレベルが、パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_ON_THRESHOLD でセットした ON-thresholdを超えるとイベントが生成されます。イベントはタイムスタンプ以外の追加データは含みません。

5-5-11-6 FG_TRIGGER_QUEUE_FILLLEVEL_THRESHOLD_CAM0_OFF キューのフィルレベルが、パラメータ FG_TRIGGER_QUEUE_FILLLEVEL_EVENT_OFF_THRESHOLD でセットした

OFF-threshold を超えるとイベントが生成されます。イベントはタイムスタンプ以外の追加データは含みません。

5-5-12 パルス信号ジェネレータ 0

前項で説明したパラメータは、ソースの選択、周波数、キュー等のトリガーパルスの生成に使用します。ここではに出力のため

のパルス信号について説明します。SILICON SOFTWARE のエリアトリガーシステムは、ジェネレータから生成する 4 つのパル

スを含んでおり、出力信号の幅とディレイを定義し、パルス信号のダウンサンプルもサポートしています。ジェネレータからの

パルス信号を設定し、設定したパルス信号を任意に割り付けることができます。

「図 5.21 パルス信号ジェネレータ」は、ジェネレータからのパルス信号の出力とパラメータをあらわしています。

Page 77: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

76

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 5.20 パルス信号ジェネレータ

注意 パラメータ値の範囲は、パルス信号ジェネレータのの設定とパラメータ FG_TRIGGER_FRAMESPERSECOND 設定に依存します。

周波数を増加させたい場合は、パルス信号ジェネレータから送られるパルスのディレイ幅を減少させる必要があります。

方程式 5.2 周波数とパルス信号ジェネレータの依存性

・ fps = FG_TRIGGER_FRAMESPERSECOND ・ WIDTH[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_WIDTH ・ DELAY[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DELAY ・ DOWNSCALE[0..3] = FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE

5-5-12-1 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE、その他

注意 この説明は次のパラメータにも適用されます。:

FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE トリガーパルスはダウンスケールすることができます。このパラメータを使用してダウンスケール係数を設定します。

Page 78: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

77

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

ダウンスケール係数とフェーズの関係に注意が必要です。詳細な説明は

FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE_PHASE を参照ください。

表 5.40 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE

Property Value Name FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

1 Maximum 7 Stepsize 1

Default value 1

サンプル 5.39 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE

int result = 0; unsigned int value = 1; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE, &value, 0, type)) < 0) { /* error handling */ }

5-5-12-2 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE、その他

注意 この説明は次のパラメータにも適用されます。:

FG_TRIGGER_PULSEFORMGEN1_DOWNSCALE_PHASE FG_TRIGGER_PULSEFORMGEN2_DOWNSCALE_PHASE FG_TRIGGER_PULSEFORMGEN3_DOWNSCALE_PHASE パラメータ

FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE FG_TRIGGER_PULSEFORMGEN[0..3]_DOWNSCALE_PHASE は、トリガーパルスのダウンスケールに使用します。ダウンスケール値は係数を表しています。例えば、値 3 は 3 つの入力のう

ち 2 つを削除する事を意味します。フェーズは、連続パルスからパルスを選択します。この場合、フェーズを 0 にセットすると、

1 番目のパルス信号を転送し、2 番目と 3 番目のパルス信号は削除されます。詳細な説明は「パルス信号ジェネレータ 0」を参

照下さい。

ダウンスケール係数とフェーズの関係には注意が必要です。係数はフェーズより大きい値を設定する必要があります。

Page 79: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

78

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 5.41 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE

Property Value Name FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 6 Stepsize 1

Default value 0

サンプル 5.40 FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DOWNSCALE_PHASE, &value, 0, type)) < 0) { /* error handling */ }

5-5-12-3 FG_TRIGGER_PULSEFORMGEN0_DELAY、その他

注意 この説明は次のパラメータにも適用されます。:

FG_TRIGGER_PULSEFORMGEN1_DELAY FG_TRIGGER_PULSEFORMGEN2_DELAY FG_TRIGGER_PULSEFORMGEN3_DELAY 信号のディレイを設定します。このパラメータの単位はマイクロ秒です

表 5.42 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_DELAY

Property Value Name FG_TRIGGER_PULSEFORMGEN0_DELAY Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 3.4E7 Stepsize 0.016

Page 80: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

79

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Default value 0.0 Unit of measure us

サンプル 5.41 FG_TRIGGER_PULSEFORMGEN0_DELAY

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DELAY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_DELAY, &value, 0, type)) < 0) { /* error handling */ }

5-5-12-4 FG_TRIGGER_PULSEFORMGEN0_WIDTH 、その他

注意 この説明は次のパラメータにも適用されます。:

FG_TRIGGER_PULSEFORMGEN1_WIDTH FG_TRIGGER_PULSEFORMGEN2_WIDTH FG_TRIGGER_PULSEFORMGEN3_WIDTH 信号幅すなわち出力信号のアクティブタイムを設定します。このパラメータの単位はマイクロ秒です。

表 5.43 パラメータプロパティ:FG_TRIGGER_PULSEFORMGEN0_WIDTH

Property Value Name FG_TRIGGER_PULSEFORMGEN0_WIDTH Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

1.0 Maximum 6.8E7 Stepsize 0.016

Default value 4000.0 Unit of measure us

サンプル 5.42 FG_TRIGGER_PULSEFORMGEN0_WIDTH

int result = 0; double value = 4000.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_TRIGGER_PULSEFORMGEN0_WIDTH, &value, 0, type)) < 0) { /* error handling */

Page 81: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

80

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

} if ((result = Fg_getParameterWithType(FG_TRIGGER_PULSEFORMGEN0_WIDTH, &value, 0, type)) < 0) { /* error handling */ }

5-5-13 パルス信号ジェネレータ 1

ジェネレータ 1 からのパルスの設定は、パルス信号ジェネレータ 0 と同じ設定を行います。詳細な説明は「パルス信号ジェネレ

ータ 0」を参照ください。

5-5-14 パルス信号ジェネレータ 2

ジェネレータ 2 からのパルスの設定は、パルス信号ジェネレータ 0 と同じ設定を行います。詳細な説明は「パルス信号ジェネレ

ータ 0」を参照ください。

5-5-15 パルス信号ジェネレータ 3

ジェネレータ 3 からのパルスの設定は、パルス信号ジェネレータ 0 と同じ設定を行います。詳細な説明は「パルス信号ジェネレ

ータ 0」を参照ください。

5-5-16 CC 信号のマッピング

カメラリンクインターフェースでは、CC1、CC2、CC3、CC4 の 4 つのカメラ入力信号が定義されています。 通常カメラは、画像取得のトリガーと露光時間の定義に 4 つの CC 入力信号を使用します。必要な信号と CC1~CC4 のマッピ

ングはカメラメーカーが提供するマニュアルを参照下さい。

アドバンスド画像取得アプレットのトリガーシステムは、CC ラインへのソースのマッピングに複数の方法を提供しています:

・ パルス信号ジェネレータ 0~3

ジェネレータからのパルスはトリガーシステムのメイン出力ソースです。4 つのソースから CC ラインへ直接または、ロー

アクティブ信号が必要な場合は信号を反転させることができます。

・ CC ライン使用しない場合、あるいは一時的にラインの ON/OFF を切り替えたい場合、グランドまたは VCC を使用するこ

とができます。

・ 入力バイパス

トリガーシステムは、入力信号の信号長をイグノアします。CC ラインへ送る入力のうち 1 つをバイパスさせたい場合、CCラインをバイパスまたは反転したバイパスをセットすることができます。ソースはパラメータ

FG_TRIGGERIN_BYPASS_SRC で選択します。

5-5-16-1 FG_TRIGGERCC_SELECT0、その他

Page 82: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

81

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

注意 この説明は、次のパラメータでも適用されます。:

FG_TRIGGERCC_SELECT1 FG_TRIGGERCC_SELECT2 FG_TRIGGERCC_SELECT3

表 5.44 パラメータプロパティ:FG_TRIGGERCC_SELECT0

Property Value Name FG_TRIGGERCC_SELECT0 Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values CC_PULSEGEN0

Pulse Generator 0 CC_PULSEGEN1 Pulse Generator 1 CC_PULSEGEN2 Pulse Generator 2 CC_PULSEGEN3 Pulse Generator 3 CC_GND Gnd CC_VCC Vcc CC_NOT_PULSEGEN0 !Pulse Generator 0 CC_NOT_PULSEGEN1 !Pulse Generator 1 CC_NOT_PULSEGEN2 !Pulse Generator 2 CC_NOT_PULSEGEN3 !Pulse Generator 3 CC_INPUT_BYPASS Input Bypass CC_NOT_INPUT_BYPASS !Input Bypass

Default value CC_NOT_PULSEGEN0

サンプル 5.43 FG_TRIGGERCC_SELECT0

int result = 0; unsigned int value = CC_NOT_PULSEGEN0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGERCC_SELECT0, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGERCC_SELECT0, &value, 0, type)) < 0) { /* error handling */ }

Page 83: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

82

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

5-5-17 デジタル出力

microEnable IV AD4-CL フレームグラバーは、シングルカメラアプレットである 8 個のデジタル出力が搭載されており、出力 0~3 までを使用することができます。 アドバンスド画像取得アプレットのトリガーシステムは、ソースからデジタル出力信号にマッピングする様々な方法を提供しま

す。:

・ パルス信号ジェネレータ 0~4

パルス信号ジェネレータで生成するパルスは、トリガーシステムのメイン出力ソースです。4 つのソースから 1 つを出力す

る、あるいはローアクティブ信号を使用したい場合、信号を反転させることもできます。

・ デジタル出力を使用しない場合、あるいは手動で信号レベルを設定した場合、グランドまたは VCC を使用することができ

ます。

・ 入力バイパス

トリガーシステムは、入力信号の信号長をイグノアします。デジタル出力のために入力の 1 つをバイパスしたい場合、デジ

タル出力を'bypass' または 'inverted bypass'に設定すると、入力信号は直接出力されます。ソースはパラメータ

FG_TRIGGERIN_BYPASS_SRC で選択されます。

5-5-17-1 FG_TRIGGEROUT_SELECT0、その他

注意 この説明は次のパラメータにも適用されます。:

FG_TRIGGEROUT_SELECT1 FG_TRIGGEROUT_SELECT2 FG_TRIGGEROUT_SELECT3 FG_TRIGGEROUT_SELECT4 FG_TRIGGEROUT_SELECT5 FG_TRIGGEROUT_SELECT6 FG_TRIGGEROUT_SELECT7

表 5.45 パラメータプロパティ:FG_TRIGGEROUT_SELECT0

Property Value Name FG_TRIGGEROUT_SELECT0 Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values PULSEGEN0

Pulse Generator 0 PULSEGEN1 Pulse Generator 1 PULSEGEN2 Pulse Generator 2 PULSEGEN3 Pulse Generator 3 GND Gnd VCC

Page 84: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

83

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Vcc NOT_PULSEGEN0 !Pulse Generator 0 NOT_PULSEGEN1 !Pulse Generator 1 NOT_PULSEGEN2 !Pulse Generator 2 NOT_PULSEGEN3 !Pulse Generator 3 INPUT_BYPASS Input Bypass NOT_INPUT_BYPASS !Input Bypass

Default value NOT_PULSEGEN0

サンプル 5.44 FG_TRIGGEROUT_SELECT0

int result = 0; unsigned int value = NOT_PULSEGEN0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGEROUT_SELECT0, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_SELECT0, &value, 0, type)) < 0) { /* error handling */ }

5-5-17-2 統計

出力統計モジュールは出力パルス数をカウントします。ソースは、パラメータ FG_TRIGGEROUT_STATS_SOURCE で選択します。

カウント値はパラメータ FG_TRIGGEROUT_STATS_PULSECOUNT で読み込むことができます。パラメータ

FG_TRIGGEROUT_STATS_SOURCE は見失ったフレーム検出にも使用できます。

5-5-17-2-1 FG_TRIGGEROUT_STATS_SOURCE

表 5.46 パラメータプロパティ:FG_TRIGGEROUT_STATS_SOURCE

Property Value Name FG_TRIGGEROUT_STATS_SOURCE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values PULSEGEN0

Pulse Generator 0 PULSEGEN1 Pulse Generator 1 PULSEGEN2 Pulse Generator 2

Page 85: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

84

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

PULSEGEN3 Pulse Generator 3

Default value PULSEGEN0

サンプル 5.45 FG_TRIGGEROUT_STATS_SOURCE

int result = 0; unsigned int value = PULSEGEN0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGEROUT_STATS_SOURCE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_STATS_SOURCE, &value, 0, type)) < 0) { /* error handling */ }

5-5-17-2-2 FG_TRIGGEROUT_STATS_PULSECOUNT 出力パルスカウント読み込みレジスタ、パラメータ FG_TRIGGEROUT_STATS_SOURCE でパルスカウンタのソースを選択します。

表 5.47 パラメータプロパティ:FG_TRIGGEROUT_STATS_PULSECOUNT

Property Value Name FG_TRIGGEROUT_STATS_PULSECOUNT Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 65535 Stepsize 1

Unit of measure pulses

サンプル 5.46 FG_TRIGGEROUT_STATS_PULSECOUNT

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_STATS_PULSECOUNT, &value, 0, type)) < 0) { /* error handling */ }

5-5-17-2-3 FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR 出力パルスのカウントレジスタをクリアします。

Page 86: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

85

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 5.48 FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR

Property Value Name FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR Type Enumeration Access policy Read/Write/Change Storage policy Transient Allowed values FG_APPLY

Apply Default value FG_APPLY

サンプル 5.47 FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR

int result = 0; unsigned int value = FG_APPLY; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGEROUT_STATS_PULSECOUNT_CLEAR, &value, 0, type)) < 0) { /* error handling */ }

5-5-17-2-4 FG_MISSING_CAMERA_FRAME_RESPONSE このアプレットにはトリガーパルスに対し、カメラフレームがレスポンスを返さない場合、これ検出する機能を装備しています。

カメラが各出力トリガーパルスに対してフレームを送信しない場合、パラメータ

FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR の書き込みでクリアされるまでレジスタに FG_YES がセットされています。

ロストフレーム検出はトリガーシステムで生成される全てのトリガーパルスのためにあり、カメラはフレームグラバーにフレー

ムを送ることができます。トリガーパルスをロストした場合、またはカメラがフレームを送信できない場合、このレジスタに

FG_YES がセットされます。2 つの CC 出力信号のエッジ間には、立ち上がりの FVAL エッジが存在します。別の言葉で表現する

と:FVAL エッジなしに 2 つまたはそれ以上の連続する CC エッジは存在しません。「図 5.21 ロストフレーム検出」はこの動

作について表現しています。

図 5.21 ロストフレーム検出

Page 87: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

86

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

パルス信号ジェネレータのパルス信号は、CC 信号ラインに設置してパラメータ FG_TRIGGEROUT_STATS_SOURCE を選択する

ことでイメージトリガーパルスを転送します。フレームロス検出機能は、異なるタイミングのカメラモデルでは正常に動作しま

せん。

CC 信号ラインの選択 それぞれのソースにパラメータ FG_TRIGGEROUT_STATS_SOURCE を設定し、パルス信号ジェネレータから CC 信号ラインへの

パルス信号設定を行って下さい。

トリガーをアクティブにする前に必ず画像取得を開始 ロストトリガーを起こさない為、トリガーをアクティブにする前に必ず画像取得を開始してください。また、カメラ定義の変更

は不正なデータ転送を引き起こす可能性があることを踏まえて下さい。

ロストフレーム検出のイベント ロストフレームのタイミングやフレーム数をモニターしたい場合、イベント FG_MISSING_CAM0_FRAME_RESPONSE を使用し

ます。

表 5.49 パラメータプロパティ:FG_MISSING_CAMERA_FRAME_RESPONSE

Property Value Name FG_MISSING_CAMERA_FRAME_RESPONSE Type Enumeration Access policy Read-Only Storage policy Transient Allowed values FG_YES

Yes FG_NO No

サンプル 5.48 FG_MISSING_CAMERA_FRAME_RESPONSE

int result = 0; unsigned int value = FG_NO; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_MISSING_CAMERA_FRAME_RESPONSE, &value, 0, type)) < 0) { /* error handling */ }

5-5-17-2-5 FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR フラグ FG_MISSING_CAMERA_FRAME_RESPONSE をクリアする場合、このパラメータに書き込みを行います。

表 5.50 パラメータプロパティ:FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR

Property Value Name FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR Type Enumeration Access policy Read/Write/Change

Page 88: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

87

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Storage policy Transient Allowed values FG_APPLY

Apply Default value FG_APPLY

サンプル 5.49 FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR

int result = 0; unsigned int value = FG_APPLY; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_MISSING_CAMERA_FRAME_RESPONSE_CLEAR, &value, 0, type)) < 0) { /* error handling */ }

5-5-17-2-6 FG_MISSING_CAM0_FRAME_RESPONSE 各カメラのために生成されるロストフレーム検出イベントは、フレーム応答のないトリガーパルスを出力します。イベント検出

の説明とメカニズムの定義は「FG_MISSING_CAMERA_FRAME_RESPONSE」を確認して下さい。メカニズム上、使用するカメラ

と設定が正しければイベント番号はロストフレーム番号と一致します。イベントはタイムスタンプ以外の追加データを持ってい

ません。

5-5-18 出力イベント

5-5-18-1 FG_TRIGGER_OUTPUT_EVENT_SELECT 出力イベントのソースはレジスタ FG_TRIGGER_OUTPUT_CAM0 で選択します。パルス信号ジェネレータから転送するパルス信

号を選択することができます。

表 5.51 パラメータプロパティ:FG_TRIGGER_OUTPUT_EVENT_SELECT

Property Value Name FG_TRIGGER_OUTPUT_EVENT_SELECT Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values PULSEGEN0

Pulse Generator 0 PULSEGEN1 Pulse Generator 1 PULSEGEN2 Pulse Generator 2 PULSEGEN3 Pulse Generator 3

Default value PULSEGEN0

Page 89: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

88

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 5.50 FG_TRIGGER_OUTPUT_EVENT_SELECT

int result = 0; unsigned int value = PULSEGEN0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TRIGGER_OUTPUT_EVENT_SELECT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TRIGGER_OUTPUT_EVENT_SELECT, &value, 0, type)) < 0) { /* error handling */ }

5-5-18-2 FG_TRIGGER_OUTPUT_CAM0 このイベントはトリガーパルス出力開始毎に生成されます。パルス信号ジェネレータからのパルス信号は、パラメータ

FG_TRIGGER_OUTPUT_EVENT_SELECT で選択することができます。イベントはタイムスタンプ以外の追加データを持っていま

せん。高い出力周波数は、システムを低下させる高い割込みレートを発生させます。

Page 90: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

89

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

6 オーバーフロー

アプレットは可能な限り高速に画像データを処理します。カメラから送られてくる画像データは、直ちに処理され PC に転送さ

れます。待ち時間は僅かです。一般的に、グラバー内では 1 つの並行ラインのみストアされ処理されますが、DMA チャンネル

経由の PC への転送バンド幅には、他のハードウェアや CPU 負荷によって頻繁な割り込みが発生し、変動するトリガーによって

カメラのフレームレートも変動します。この場合、アプレットは入力フレームを溜めるバッファメモリを用意しており、このバ

ッファには、最大 32、000 イメージラインまでストアすることができます。バッファの使用率は、パラメータ FG_FILLLEVEL を

読み込むことで取得できます。

標準のオペレーション環境では、バッファはほとんど空の状態です。カメラのバンド幅が変動する、または短時間で高速な画像

取得の場合バッファはすぐに埋まってしまいます。もちろん、入力バンド幅がアプレットの最大バンド幅を超えてはなりません。

「バンド幅」を参照下さい。バッファの使用率が 100%に到達するとアプレットはオーバーフロー状態になり、これ以上のデー

タのバッファリングを行うことができずカメラデータは削除されます。これにより次の 2 種類の動作が発生します。:

・ Corrupted Frames:

現在のフレーム転送はオーバーフローによって中断されます。これは、フレームの最初のピクセルまたはラインがバッファ

に転送されますが、完全なフレームは転送されないことを意味します。アプレットの出力、すなわち DMA 転送はフルフレ

ームより少なくなり、出力イメージは完全な高さを持っていません。

・ Lost Frames:

バッファメモリが埋まっていることでカメラの完全なフレームは削除されます。削除されたフレームは DMA 転送されませ

ん。これはアプレットが出力するフレーム数がアプレットに入力されたフレーム数と異なる事を意味します。

オーバーフローの検出方法は、パラメータ FG_OVERFLOW を読み込むか、イベント FG_OVERFLOW_CAM0 を確認します。 パラメータからの読み込むとオーバーフローの状態が提供されます。パラメータを読み込むとすぐにリセットされます。パラメ

ータを使用するとオーバーフローの状態を検出できますが現在のフレーム番号とタイミングを取得することはできません。これ

らを取得するにはオーバーフローイベントを使用します。

6-1 FG_FILLLEVEL このアドバンスド画像取得アプレットで使用されるフレームグラバーバッファの使用率は、このパラメータを使用して読み出す

ことができます。値によってカメラの平均入力バンド幅がアプレットの処理に対して高すぎるかどうかを確認することができま

す。

表 6.1 パラメータプロパティ:FG_FILLLEVEL

Property Value Name FG_FILLLEVEL Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 100 Stepsize 1

Unit of measure %

Page 91: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

90

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 6.1 FG_FILLLEVEL

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_FILLLEVEL, &value, 0, type)) < 0) { /* error handling */ }

6-2 FG_OVERFLOW オーバーフローが発生した状態でアプレットを実行したとき、このパラメータを読み込むと 1 が返り、オーバーフローは画像デ

ータを失っている事を意味しています。オーバーフローを避けるためには入力バンド幅を減少させる必要があります。

このパラメータは、各読み出しサイクルでリセットされます。microDisplay は、継続的に値を出力しますので、オーバーフロ

ーの発生は、microDisplay では確認できません。

オーバーフローを検知する効果的な方法は、イベントシステムです。

表 6.2 パラメータプロパティ:FG_OVERFLOW

Property Value Name FG_OVERFLOW Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 1 Stepsize 1

サンプル 6.2 FG_OVERFLOW

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_OVERFLOW, &value, 0, type)) < 0) { /* error handling */ }

6-3 FG_OVERFLOW_CAM0 オーバーフローイベントは、それぞれの破損やロストフレームごとに生成されます。ドキュメントに記載されている他のイベン

トとは反対に、オーバーフローイベントではオーバーフローのタイプ、フレーム番号、タイムスタンプ等データの転送が行われ

ます。「図 6.1 オーバーフローデータパケット」はイベントデータを表しており、データは 64bit のデータパケットに含まれ

ています。最初の 32bit は、フレーム番号で、bit32~47 はオーバフローマスクです。

Page 92: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

91

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 6.1 オーバーフローデータパケット

注意 フレーム番号は画像取得開始時にリセットされる点に、DMA 転送開始フレームの番号が 1 であるのに対して、最初のフレーム

はフレーム番号 0 である点にもご注意ください。

フレーム番号は 32bit 値です。最大数に到達すると再び 0 からカウントされます。64bit 版のランタイムでは、DMA 転送番号

は 64bit 値です。破損フレームフラグがセットされると、イベントが発生したフレームとフレーム番号は破損しますので、この

フレームは最大のフレームサイズを持たないまま DMA チャンネルに転送されます。ロストフレームフラグがセットされるとイ

ベントが発生したフレームとフレーム番号は完全に削除されます。このフレームの DMA 転送は行われません。フレーム破損フ

ラグとロストフレームフラグは同じタイミングで発生することはありません。”event loss occurred before”フラグは追加のセ

キュリティメカニズムです。これは、イベントをロストした事を意味します。これは、非常に高いイベントレート下でのみ発生

し、標準の状態では発生しません。

オーバーフローイベントの解析はユーザー使用条件に依存します。「図 6.2 オーバーフローデータの分析」は、イベントや

DMA 転送を解析することにより DMA データの完全性を明確にする例です。

Page 93: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

92

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 6.2 オーバーフローデータの解析

サンプルでは、2 フレームをロスト、そのうち 1 フレームは破損としてマークされています。イベントは DMA 転送とは非同期

ですので、解析を行うためにはイベントを DMA 転送に割り付けるソフトウェアキュー(プッシュとプル)が必要になります。

Page 94: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

93

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

7 イメージセレクタ

イメージセレクタでは、画像ストリームから P 周期の画像を切り出し、その中からフレーム番号 n のフレームを選択する事がで

きます。

このモジュールを使用する典型的なセットアップ例を次に示します: 2 枚のフレームグラバーと 1 枚の CLIO を1台または2台の PC にインストールします。

CLIO モジュールは、コピーしたイメージを p フレームグラバーに出力します。各フレームグラバーのイメージセレクタは、フ

レームグラバーでの処理レートつまり PCIe インターフェースのフレームレートを減少させるために p イメージの中から 1 つの

み受け付けるようプログラムすることができます。PC がフルのデータレートを処理できない場合、または異なる前処理をボード

ごとに行う場合は非常に便利な機能です。

図 7.1 カメラリンク IO ボード「CLIO」セットアップ

次の例は、パラメータ FG_IMG_SELECT_PERIOD とパラメータ FG_IMG_SELECT で行う p と n の設定を表しています。 1台のカメラに CLIO 経由で 2 枚のフレームグラバーが接続していると仮定します。フレームグラバーグラバー0 は、偶数のフ

レームのみ処理が必要で、グラバー1 は奇数のフレームのみ処理が必要とします。: 1 Grabber 0 の設定:

FG_IMG_SELECT_PERIOD = 2 FG_IMG_SELECT = 0 2 Grabber 1 の設定:

FG_IMG_SELECT_PERIOD = 2 FG_IMG_SELECT = 1 両方のフレームグラバーは同期し、カメラにトリガーを使用することもできます。そのためには、両方のフレームグラバーの初

期化と定義が必要になります。カメラを外部トリガーモードに設定してトリガーシステムをグラバー0 に指定します、グラバー0はカメラに接続します。次に、両方のグラバーの画像取得を開始してトリガージェネレータを有効にします。(一般的にはパラ

Page 95: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

94

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

メータ FG_TRIGGERSTATE を有効にします)カメラは画像データの転送を開始してフレームグラバーは同期した状態で動作しま

す。詳細な情報は「トリガー」を参照下さい。

7-1 FG_IMG_SELECT_PERIOD このパラメータは周期長 p を定義します。このパラメータはいつでも変更することができますが、画像取得中の変更は非同期の

切り替えとなりフレームグラバーの同期がなくなります。画像取得停止中のパラメータ変更を推奨します。

FG_IMG_SELECT より大きい値を設定するして下さい。

表 7.1 パラメータプロパティ:FG_IMG_SELECT_PERIOD

Property Value Name FG_IMG_SELECT_PERIOD Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

1 Maximum 256 Stepsize 1

Default value 1 Unit of measure image

サンプル 7.1 FG_IMG_SELECT_PERIOD

int result = 0; unsigned int value = 1; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_IMG_SELECT_PERIOD, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_IMG_SELECT_PERIOD, &value, 0, type)) < 0) { /* error handling */ }

7-2 FG_IMG_SELECT パラメータ FG_IMG_SELECT は、パラメータ FG_IMG_SELECT_PERIOD で定義されたイメージセットから特定の画像を選択しま

す。このパラメータはいつでも変更することができますが、画像取得中の変更は非同期の切り替えとなりフレームグラバーの同

期がなくなります。画像取得停止中のパラメータ変更を推奨します。

FG_IMG_SELECT_PERIOD より小さい値を設定して下さい。

表 7.2 パラメータプロパティ:FG_IMG_SELECT

Property Value Name FG_IMG_SELECT

Page 96: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

95

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 255 Stepsize 1

Default value 0 Unit of measure image

サンプル 7.2 FG_IMG_SELECT

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_IMG_SELECT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_IMG_SELECT, &value, 0, type)) < 0) { /* error handling */ }

Page 97: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

96

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

8 シェーディング 補 正

アドバンスド画像取得アプレットには、フラットフィールド補正とも呼ばれる 2D シェーディング補正機能が含まれています。

シェーディング補正は、各フレームのそれぞれのピクセルに適用される減算(オフセットシェーディング補正)と乗算(ゲインシェ

ーディング補正)で構成されています。

・ オフセット(減算)補正は、カメラセンサのダークカレントを削除し、固定パターンノイズを調整します。 ・ ゲイン(乗算)補正は、使用している光源やレンズによるばらつきを平衡させます。

使用 独自の補正値を設定するかオートシェーディング補正機能を使用することができます。

シェーディング補正を使用するには、2 つの方法があります。 1 つ目はフレーム内にあるピクセル位置に補正値を定義する方法です。すなわち、フレームの各ピクセル位置にオフセットとゲ

イン補正値をロードする方法です。2 つ目は、黒とグレーの参照画像をアプレットにアップロードして参照画像として使用する

オートシェーディング補正機能です。アプレット自身で補正値を決定します。 両方の補正モードを理解するためには、「オートシェーティング補正」と「シェーディングカスタム値」を参照下さい。ここで

は計算方法についての技術的な情報を提供します。この説明はシェーディング補正を行う上で必要ありませんが実装するにあた

り機能を理解する上で非常に役に立ち、フレームグラバーが出力するデータの再計算処理を行いやすくなります。

次の公式はアプレットのシェーディング補正で使用している方程式です。

方程式 8.1 シェーディング補正

I は入力イメージを I*は出力画像をあらわしています。u と v は、画像座標です。使用するアプレットに応じてビット数を変更し

て算出します。

アドバンスド画像取得アプレットは、12bitの深度で画像データを処理しています。オフセット補正は 16bitの固定小数点計算を

使用しています。12bit画像のピクセルは 12bitの整数 4bitの少数(左シフト)を持つと 16bitの固定少数点の値に変換されますの

で、オフセット補正の精度は、オフセット補正値のステップサイズであらわされる 124 = 1

16 となります。オフセット補正値

は、0 ~ 216-124 の範囲を持ちます。オフセット補正の結果は、減算の結果はマイナス値になります。マイナス値は、0 にクリ

ップされます。アプレットのゲイン補正も 16bitの固定小数点値を使用します。補正値は 4 の正数bitと 12 の小数bitを含みます。

そのため範囲は 0 ~ 216-1212 =15.99 となりステップサイズは 1

212 = 14096 です。シェーディング補正の出力は、再び 12bitと

なります。

次に実際の数字を用いたサンプルで説明します。ピクセル値 453、オフセット補正値 12.5、ゲイン補正値 1.2 とします。 結果は 529 となります:

方程式 8.2 シェーディング補正:計算例

Page 98: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

97

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 8.1 シェーディング補正のビット深度

Correction Correction Value From Correction Value To Stepsize Integer Bits Fractional Bits Offset 0 4096 - 1/16 1/16 12 4 Gain 0 16 - 1/4096 1/4096 4 12

このアプレットはベイヤーカメラからのデータをカラー変換して出力します。シェーディング補正はカラー補正前に実行されま

す。

8-1 FG_SHADING_OFFSET_ENABLE このパラメータでオフセット補正の ON/OFF を切り替えます。オフセット補正は、フレームグラバーに補正値がアップロードさ

れた時のみ行うことができます。これは、オートホワイトバランス機能または補正値のテーブルをマニュアルで設定する方法の

どちらでも行うことができます。オフセット補正は、画像取得中を含むどのタイミングでも ON/OFF の切り替えを行うことがで

きます。

表 8.2 パラメータプロパティ:FG_SHADING_OFFSET_ENABLE

Property Value Name FG_SHADING_OFFSET_ENABLE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

サンプル 8.1 FG_SHADING_OFFSET_ENABLE

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SHADING_OFFSET_ENABLE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SHADING_OFFSET_ENABLE, &value, 0, type)) < 0) { /* error handling */ }

8-2 FG_SHADING_GAIN_ENABLE このパラメータでゲイン補正の ON/OFF を切り替えます。ゲイン補正は、フレームグラバーに補正値がアップロードされた時の

み行うことができます。これは、オートホワイトバランス機能または補正値のテーブルをマニュアルで設定する方法のどちらで

も行うことができます。ゲイン補正は、画像取得中を含むどのタイミングでも ON/OFF の切り替えを行うことができます。

Page 99: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

98

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 8.3 パラメータプロパティ:FG_SHADING_GAIN_ENABLE

Property Value Name FG_SHADING_GAIN_ENABLE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

サンプル 8.2 FG_SHADING_GAIN_ENABLE

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SHADING_GAIN_ENABLE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SHADING_GAIN_ENABLE, &value, 0, type)) < 0) { /* error handling */ }

8-3 オートシェーティング補正

オートシェーディング補正機能で、カメラのシェーディング補正を簡単に行うことができます。必要なものは、黒とグレーの 2つの参照画像です。これらの画像データは、標準の TIFF 形式ファイルでストアして下さい。画像を作成するには様々な方法があ

りますが、一番簡単な方法は、SILICON SOFTWARE Runtime に含まれる microDisplay を使用する方法です。カメラを希望す

るオペレーションモードで動作させます。アプレットを使用した参照画像の保存には、カメラからの RAW データを使用して下

さい。

黒参照画像は、オフセット補正の計算に使用し、カメラのイメージセンサのダークカレントを除去します。画像を保存する場合、

センサに光が入ることを防ぐためカメラにレンズキャップを装着します。黒参照画像のピクセル値は、オフセット補正値をあら

わします。これらは、カメラのダークカレントを除去するために取得したイメージから減算されます。

グレー参照画像は、標準の条件で光をあてて取得しますが、カメラ画像が飽和することは避けてください。ゲイン補正値はグレ

ー参照画像を使用して作成されます。オートシェーディング補正は、全てのイメージピクセルに同じ参照値を割り付けるために

各ピクセルに必要な乗算係数をグレー参照画像で決定します。パラメータ FG_SHADING_GAIN_CORRECTION_MODE を使用し

てホワイトリファレンス値を設定する方法は 3 つあります。

・ 最大値:

参照値としてグレー参照画像ファイルにある最大値をもつピクセルのピクセル値をセットします。

・ 平均値:

参照値としてグレー参照画像ファイルにあるピクセル値の平均強度で定義されます。

・ 最大範囲:

Page 100: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

99

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

ホワイトリファレンスは、可能な最大値が定義されます、すなわちアプレットでは 212 – 1 となります。従いオートシェー

ディング補正では、全ての白い値から飽和した値を持つゲイン補正値を探します。

次の項では、記録した参照画像のファイル名を使用してアプレットをパラメータ化する方法が説明しています。 全ての設定の効果がでるのは、パラメータ FG_SHADING_APPLY_SETTINGS に書き込むことで有効になる点に注意して下さい。

8-3-1 FG_SHADING_BLACK_FILENAME 黒参照ファイルのファイル名とパスを定義します。

表 8.4 パラメータプロパティ:FG_SHADING_BLACK_FILENAME

Property Value Name FG_SHADING_BLACK_FILENAME Type String Access policy Read/Write/Change Storage policy Persistent Default value ""

サンプル 8.3 FG_SHADING_BLACK_FILENAME

int result = 0; char* value = ""; const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_setParameterWithType(FG_SHADING_BLACK_FILENAME, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SHADING_BLACK_FILENAME, &value, 0, type)) < 0) { /* error handling */ }

8-3-2 FG_SHADING_GRAY_FILENAME グレー参照ファイルのファイル名とパスを定義します。

表 8.5 パラメータプロパティ:FG_SHADING_GRAY_FILENAME

Property Value Name FG_SHADING_GRAY_FILENAME Type String Access policy Read/Write/Change Storage policy Persistent Default value ""

サンプル 8.4 FG_SHADING_GRAY_FILENAME

int result = 0; char* value = ""; const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR;

Page 101: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

100

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

if ((result = Fg_setParameterWithType(FG_SHADING_GRAY_FILENAME, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SHADING_GRAY_FILENAME, &value, 0, type)) < 0) { /* error handling */ }

8-3-3 FG_SHADING_GAIN_CORRECTION_MODE オートホワイトバランスのコアがゲイン補正値を計算する方法を指定します。モードの説明は「オートシェーティング補正」を

参照ください。

表 8.6 パラメータプロパティ:FG_SHADING_GAIN_CORRECTION_MODE

Property Value Name FG_SHADING_GAIN_CORRECTION_MODE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_MAX_VALUE

Maximum Value FG_MEAN_VALUE Mean Value FG_MAX_RANGE Maximum Range

Default value FG_MAX_VALUE

サンプル 8.5 FG_SHADING_GAIN_CORRECTION_MODE

int result = 0; unsigned int value = FG_MAX_VALUE; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_SHADING_GAIN_CORRECTION_MODE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SHADING_GAIN_CORRECTION_MODE, &value, 0, type)) < 0) { /* error handling */ }

8-3-4 FG_SHADING_GAIN_NORMALIZATION_VALUE パラメータ設定に依存しますが、パラメータ FG_SHADING_GAIN_CORRECTION_MODE で参照するピクセル強度を設定できま

す。詳しくは「オートシェーティング補正」を参照ください。パラメータ FG_SHADING_GAIN_CORRECTION_MODE に値

FG_CUSTOM_VALUE セットしていない場合、読み取り専用のパラメータになります。パラメータ

FG_SHADING_APPLY_SETTINGS でシェーディング設定を適応後、モード FG_MAX_VALUE、FG_MEAN_VALUE 、

FG_MAX_RANGE を使用して、決定した値を確認できます。

Page 102: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

101

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 8.7 パラメータプロパティ:FG_SHADING_GAIN_NORMALIZATION_VALUE

Property Value Name FG_SHADING_GAIN_NORMALIZATION_VALUE Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum NaN Stepsize NaN

Default value NaN

サンプル 8.6 FG_SHADING_GAIN_NORMALIZATION_VALUE

int result = 0; double value = NaN; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SHADING_GAIN_NORMALIZATION_VALUE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SHADING_GAIN_NORMALIZATION_VALUE, &value, 0, type)) < 0) { /* error handling */ }

Page 103: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

102

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

9 シェーディングカスタム 値

シェーディング補正は、各ピクセルの値を定義するか参照画像を使用して値を決定するオートシェーディング補正があることを

説明しました。ここでは、シェーディング補正モジュールに定義した補正値をロードする方法について説明します。基本的に SDKのシェーディング機能を使用します。使用する関数の詳細な説明は、SILICON SOFTWARE Runtime のユーザーマニュアルで確

認して下さい。 アプレット Acq_BaseAreaBayer12 は、ベイヤーパターンのイメージを処理するアプレットです。シェーディング補正は、セン

サの RAW データに対して処理を行いますので、各ピクセルに対して 1 つのオフセットとゲイン補正値が定義されます。ユーザ

ーはセンサピクセルに対して補正値を計算する必要があります。RGB 補正値を定義することはできませんが、各ピクセルの現在

のカラーコンポーネンツは選択したベイヤーパターンとピクセル座標を使用して決定する事ができます。次のソースコードは、

シェーディング補正モジュールにカスタム値をロードする SDK サンプルです。

サンプル 9.1 シェーディング補正モジュールにカスタム値をロード

// ... Fg_Init(...) int shadingSet = 0; // Always 0 for this applet int cameraIndex = 0; // Select the index of the camera int channel = 0; // Only once color component exists for each pixel. //In this examples, the same correction values are applied for all pixels: float offset = 0.1; // An offset of 0.1 results in a subtraction of 0.1 * 2^12 from each pixel value float gain = 1.5; // Each pixel value will be multiplied with value 1.5 ShadingMaster* sm = Fg_AllocShading(fg, shadingSet, port);

if (sm == 0) return -1; if (Shad_GetAccess(fg, sm) != FG_OK) return -1; int height = Shad_GetMaxLine(fg, sm); // Determines the maximum image height (4096 for this applet) if (height <= 0) return -1; int width = 4096; for (int y = 0; y < height; ++y) { // --- change values in the current line for (int x = 0; x < width; ++x) { if (Shad_SetSubValueLine(fg, sm, x, channel, offset) != FG_OK) return -1; if (Shad_SetMultValueLine(fg, sm, x, channel, gain) != FG_OK) return -1; } // store the current line as line y (invalidates the values in the current line for the next usage) Shad_WriteActLine(fg, sm, y); }

Page 104: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

103

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

// write the stored lines to the hardware if (Shad_FreeAccess(fg, sm) != FG_OK) return -1; if (Fg_FreeShading(fg, sm) != FG_OK) return -1;

シェーディング値のために一時バッファを割り付けます

全てのピクセル値に対して処理を行うループ。許容される範囲で各ピクセルに補正値を設定する必要はありません。

ROI のみまたは失敗したピクセルのリトライのみ値を設定する事ができます。

オフセット補正値をセット

ゲイン補正値をセット

現在のラインの値設定終了

この時点で値はフレームグラバーにロードされていません。

フリーアクセス関数で値をフレームグラバーへのアップロードを開始します。 アップロードには数秒処理時間がかかります。

パラメータ FG_SHADING_OFFSET_ENABLE とパラメータ FG_SHADING_GAIN_ENABLE でフレームグラバーの補正値が有効

になります。

Page 105: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

104

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

10 ベイヤーフィルタ

ベイヤーモザイクは、イメージセンサの RGB カラーフィルタにアレンジするカラーフィルタ配列です。ほとんどのシングルチッ

プのイメージセンサで使用されています。フィルタパターンは 50%のグリーン、25%のレッドと 25%のブルーです。

アドバンスド画像取得アプレットは、カーネルサイズ 5x5 ピクセルの高品質ベイヤーデモザイクフィルタを使用しています。 フィルタは、フルプロセス処理ビットに加えて、浮動小数点の為にサブピクセルの精度で計算を行います。

センサに対応して 4 種類のベイヤーフィルタ配列の定義が用意されています。フレームグラバーのベイヤー変換アルゴリズムは、

正しいカラー変換を行うために最初のピクセル(左上のピクセル)と隣のピクセルの色情報を必要とします。これらの値はカメ

ラモデルに依存します。ベイヤーフィルタのオリエンテーションは、カメラマニュアルの関連する章を参照ください。

注意 カメラ内の ROI のオフセットによってフレームグラバーに転送される左上(最初)のピクセルが変更される可能性がある点に注

意が必要です。一方、フレームグラバーの ROI 設定では、いずれかのオフセットでアプレットによって自動的補正されます。

カメラのベイヤーフィルタ配列にマッチさせるためのアプレットの定義は、次のセクションでパラメータ FG_BAYERINIT と合わ

せて説明しています。

10-1 G_BAYERINIT カメラのベイヤーフィルタ配列の定義にアプレット設定を合わせて使用します。センサのフィルタ配列に対して次の 4 種類のフ

ィルタマッピングが使用できます。

図 10.1 ベイヤーフィルタ配列:G(緑)に R(赤)が続く配列

Page 106: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

105

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 10.2 ベイヤーフィルタ配列:R(赤)に G(緑)が続く配列

図 10.3 ベイヤーフィルタ配列:B(青)に G(緑)が続く配列

図 10.4 ベイヤーフィルタ配列:G(緑)に B(青)が続く配列

図は、フレームグラバーに転送された画像の左上にある最初のピクセルをあらわしています。一般的には、カメラの左上の最初

のピクセルですが、カメラの ROI 設定により変更します。センサのピクセルは、図にある 4 つのベイヤーパターンの1つでオー

バーレイされます。使用するカメラに対応するベイヤーパターンを選択します。

表 10.1 パラメータプロパティ:FG_BAYERINIT

Property Value Name FG_BAYERINIT Type Enumeration Access policy Read/Write

Page 107: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

106

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Storage policy Persistent Allowed values GreenFollowedByRed

Green Followed By Red GreenFollowedByBlue Green Followed By Blue RedFollowedByGreen Red Followed By Green BlueFollowedByGreen Blue Followed By Green

Default value RedFollowedByGreen

サンプル 10.1 FG_BAYERINIT

int result = 0; unsigned int value = RedFollowedByGreen; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_BAYERINIT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_BAYERINIT, &value, 0, type)) < 0) { /* error handling */ }

Page 108: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

107

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

11 ホワイトバランス

アプレットは、アプリケーションの照明の状況に応じて画像の分光調整を行うことができます。カメラセンサ分光感度を調整す

るために赤、緑、青の各コンポーネンツのカラー値はそれぞれ係数によって増加または減少させることができます。

アプレット Acq_BaseAreaBayer12 はベイヤーパターンの画像を処理するアプレットです。後続する障害を避けるため、ホワイ

トバランスはセンサの RAW データで処理を行います。

シェーディング補正を用いたホワイトバランス 各ピクセル値のそれぞれのホワイトバランスは、2D シェーディング補正によって実現できます。シェーディング補正では、オ

ートホワイトバランスも有効にすることができます。「シェーディング補正」により詳細な説明が記載されています。 シェーディングキャリブレーションを行う場合は、ホワイトバランスのパラメータを変更する前にキャリブレーションを行って

ください。

11-1 FG_SCALINGFACTOR_GREEN

表 11.1 パラメータプロパティ:FG_SCALINGFACTOR_GREEN

Property Value Name FG_SCALINGFACTOR_GREEN Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 4.0 Stepsize 9.77E-4

Default value 1.0

サンプル 11.1 FG_SCALINGFACTOR_GREEN

int result = 0; double value = 1.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SCALINGFACTOR_GREEN, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SCALINGFACTOR_GREEN, &value, 0, type)) < 0) { /* error handling */ }

Page 109: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

108

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

11-2 FG_SCALINGFACTOR_RED

表 11.2 パラメータプロパティ:FG_SCALINGFACTOR_RED

Property Value Name FG_SCALINGFACTOR_RED Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 4.0 Stepsize 9.77E-4

Default value 1.0

サンプル 11.2 FG_SCALINGFACTOR_RED

int result = 0; double value = 1.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SCALINGFACTOR_RED, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SCALINGFACTOR_RED, &value, 0, type)) < 0) { /* error handling */ }

11-3 FG_SCALINGFACTOR_BLUE

表 11.3 パラメータプロパティ:FG_SCALINGFACTOR_BLUE

Property Value Name FG_SCALINGFACTOR_BLUE Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 4.0 Stepsize 9.77E-4

Default value 1.0

Page 110: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

109

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 11.3 FG_SCALINGFACTOR_BLUE

int result = 0; double value = 1.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_SCALINGFACTOR_BLUE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_SCALINGFACTOR_BLUE, &value, 0, type)) < 0) { /* error handling */ }

Page 111: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

110

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

12 LUT( Look Up Table)

アドバンスド画像取得アプレットは、3 つのカラーコンポーネンツに対してフルフレームの LUT(Look Up Table)が含まれま

す。設定は取得した画像をホスト PC へ転送する前に適用されますので、フレームグラバー上での最後の前処理となります。

LUT は、全ての入力ピクセル値に対して 1 つのエントリーが含まれています。ピクセル値は LUT の要素値に置き換えられます、

即ち各ピクセルに新しい値が割り当てられます。この機能は、プロセッシングモジュールで行われた追加されたオフセット、ゲ

イン係数またはガンマ補正などの画像品質を向上させるために使用されます。(「プロセッシング」を参照ください。) LUT は、カスタム値でロードすることができます。アプリケーション領域は:カスタム画像改良またはピクセルの分類です。

アプレットでは 12bit でデータを処理します。そのため LUT は 12bit の入力を持ち、ピクセル値は 0~4095 の範囲です。これ

らの 4096 の要素に対し、LUT は新しい出力値に置き換えて出力します。新しい値は 0~4095 の範囲です。 全てのカラーコンポーネンツは並列に処理されます。

次に LUT で使用するパラメータを説明します。LUT のオペレーションモードを定義するパラメータ FG_LUT_TYPE は、正しく設

定して使用して下さい。

12-1 FG_LUT_TYPE LUT を定義するには2つの方法があります。1 つ目は、画像品質向上のためにオフセット、ゲインそれにガンマなどのパラメー

タを使用した内部プロセッサを使用する方法です。詳細な情報は「プロセッシング」を参照ください。パラメータに

LUT_TYPE_PROCESSING をセットするとプロセッサを使用することができます。

LUT を使用する 2 つ目の方法は、LUT にファイルからカスタム値をロードする方法です。パラメータを LUT_TYPE_CUSTOM に

設定すると LUT のエントリーにカスタムファイルをロードすることができます。

この 2 つの方法以外に、フィールドパラメータ

FG_LUT_VALUE_RED FG_LUT_VALUE_GREEN FG_LUT_VALUE_BLUE を使用して常に直接 LUT に書き込みを行うことができます。これらのパラメータを使用するとプロセッサまたはカスタム入力フ

ァイルからの設定を上書きします。逆にプロセッサパラメータやロードしたカスタム LUT ファイルの値を変更するとフィールド

パラメータの設定を上書きできます。

表 12.1 パラメータプロパティ:FG_LUT_TYPE

Property Value Name FG_LUT_TYPE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values LUT_TYPE_PROCESSING

Processor LUT_TYPE_CUSTOM User file

Default value LUT_TYPE_PROCESSING

Page 112: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

111

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 12.1 FG_LUT_TYPE

int result = 0; unsigned int value = LUT_TYPE_PROCESSING; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_LUT_TYPE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_LUT_TYPE, &value, 0, type)) < 0) { /* error handling */ }

12-2 FG_LUT_VALUE_RED

表 12.2 パラメータプロパティ:FG_LUT_VALUE_RED

Property Value Name FG_LUT_VALUE_RED Type Unsigned Integer Field Access policy Read/Write/Change Storage policy Transient Default value 0

サンプル 12.2 FG_LUT_VALUE_RED

int result = 0; FieldParameterInt access; const enum FgParamTypes type = FG_PARAM_TYPE_STRUCT_FIELDPARAMINT; for (unsigned int i = 0; i < 4096; ++i) { acces.index = i; access.value = 0; if ((result = Fg_setParameterWithType(FG_LUT_VALUE_RED, &access, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_LUT_VALUE_RED, &access, 0, type)) < 0) { /* error handling */ } }

Page 113: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

112

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

12-3 FG_LUT_VALUE_GREEN

表 12.3 パラメータプロパティ:FG_LUT_VALUE_GREEN

Property Value Name FG_LUT_VALUE_GREEN Type Unsigned Integer Field Access policy Read/Write/Change Storage policy Transient Default value 0

サンプル 12.3 FG_LUT_VALUE_GREEN

int result = 0; FieldParameterInt access; const enum FgParamTypes type = FG_PARAM_TYPE_STRUCT_FIELDPARAMINT; for (unsigned int i = 0; i < 4096; ++i) { acces.index = i; access.value = 0; if ((result = Fg_setParameterWithType(FG_LUT_VALUE_GREEN, &access, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_LUT_VALUE_GREEN, &access, 0, type)) < 0) { /* error handling */ } }

12-4 FG_LUT_VALUE_BLUE

表 12.4 パラメータプロパティ:FG_LUT_VALUE_BLUE

Property Value Name FG_LUT_VALUE_BLUE Type Unsigned Integer Field Access policy Read/Write/Change Storage policy Transient Default value 0

Page 114: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

113

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 12.4 FG_LUT_VALUE_BLUE

int result = 0; FieldParameterInt access; const enum FgParamTypes type = FG_PARAM_TYPE_STRUCT_FIELDPARAMINT; for (unsigned int i = 0; i < 4096; ++i) { acces.index = i; access.value = 0; if ((result = Fg_setParameterWithType(FG_LUT_VALUE_BLUE, &access, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_LUT_VALUE_BLUE, &access, 0, type)) < 0) { /* error handling */ } }

12-5 FG_LUT_CUSTOM_FILE パラメータ FG_LUT_TYPE に LUT_TYPE_CUSTOM をセットするとカスタム LUT のファイル名とパスがセットされます。ファイ

ルが有効であればファイルの値が LUT にロードされます。不正なファイルの場合、このパラメータへのコールはエラーを返しま

す。 LUT ファイルフォーマットの詳細な説明は Runtime ユーザーマニュアルを参照下さい。 ドラフトファイルを取得する簡単な方法は、パラメータ FG_LUT_SAVE_FILE を使用して現在の LUT 設定を保存する方法です。

表 12.5 パラメータプロパティ:FG_LUT_CUSTOM_FILE

Property Value Name FG_LUT_CUSTOM_FILE Type String Access policy Read/Write/Change Storage policy Persistent Default value ""

サンプル 12.5 FG_LUT_CUSTOM_FILE

int result = 0; char* value = ""; const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_setParameterWithType(FG_LUT_CUSTOM_FILE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_LUT_CUSTOM_FILE, &value, 0, type)) < 0) { /* error handling */ }

Page 115: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

114

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

12-6 FG_LUT_SAVE_FILE 現在の LUT の定義をファイルに保存するためには、このパラメータに出力するファイル名を書き込みます。定義したファイルの

完全パスを書き込んで下さい。

現在の LUT の設定をファイルに書き込むための、簡単な方法はプロセッサによって作られた設定を利用することです。さらに

LUT ファイルフォーマットのドラフトバージョンを取得することができます。出力ファイルの値は、パラメータ

FG_LUT_CUSTOM_FILE を使用して再度ロードして使用することができます。

表 12.6 パラメータプロパティ:FG_LUT_SAVE_FILE

Property Value Name FG_LUT_SAVE_FILE Type String Access policy Read/Write/Change Storage policy Transient Default value ""

サンプル 12.6 FG_LUT_SAVE_FILE

int result = 0; char* value = ""; const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_setParameterWithType(FG_LUT_SAVE_FILE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_LUT_SAVE_FILE, &value, 0, type)) < 0) { /* error handling */ }

12-7 アプレットプロパティ

LUT を使用するためのいくつかのプロパティについて説明します。

12-7-1 FG_LUT_IMPLEMENTATION_TYPE このアプレットではフル LUT を使用します。

表 12.7 パラメータプロパティ:FG_LUT_IMPLEMENTATION_TYPE

Property Value Name FG_LUT_IMPLEMENTATION_TYPE Type Enumeration Access policy Read-Only Storage policy Transient Allowed values LUT_IMPLEMENTATION_FULL_LUT

Full LUT LUT_IMPLEMENTATION_KNEELUT

Page 116: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

115

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

KneeLUT

サンプル 12.7 FG_LUT_IMPLEMENTATION_TYPE

int result = 0; unsigned int value = LUT_IMPLEMENTATION_FULL_LUT; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_LUT_IMPLEMENTATION_TYPE, &value, 0, type)) < 0) { /* error handling */ }

12-7-2 FG_LUT_IN_BITS このアプレットは、入力ビット 12bit の LUT を使用します。

表 12.8 パラメータプロパティ:FG_LUT_IN_BITS

Property Value Name FG_LUT_IN_BITS Type Unsigned Integer Access policy Read-Only Storage policy Transient Unit of measure bit

サンプル 12.8 FG_LUT_IN_BITS

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_LUT_IN_BITS, &value, 0, type)) < 0) { /* error handling */ }

12-7-3 FG_LUT_OUT_BITS このアプレットは、出力ビット 12bit の LUT を使用します。

表 12.9 パラメータプロパティ:FG_LUT_OUT_BITS

Property Value Name FG_LUT_OUT_BITS Type Unsigned Integer Access policy Read-Only Storage policy Transient Unit of measure bit

Page 117: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

116

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 12.9 FG_LUT_OUT_BITS

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_LUT_OUT_BITS, &value, 0, type)) < 0) { /* error handling */ }

Page 118: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

117

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

13 プロセッシング

画像品質を改善させる近道はプロセッシングパラメータを使用することです。このパラメータを使用するとオフセット、ゲイン、

ガンマ補正の他、画像反転を行うことができます。

プロセッサのアクティベーション プロセッシングパラメータは、補正値を決定するために LUT を使用しています。プロセッシングパラメータをアクティブにする

ためには、LUT カテゴリにあるパラメータ FG_LUT_TYPE を LUT_TYPE_PROCESSING に設定します。このパラメータを設定し

ないと、パラメータ変更の効果はありません。

全ての変換は次の手順で行います。: 1. オフセット補正, 範囲 [-1.0, +1.0], 値= 0 2. ゲイン補正, 範囲 [0, 212[, 値= 1.0 3. ガンマ補正, 範囲 ]0, ∞], 値= 1.0 4. 反転, 値= 'off'

このアプレットでは、補正を行うために m=12 入力ビットと n=12 出力ビットのフル LUT が使用されています。 値は次の式によって決定されます

方程式 13.1 LUT 処理:反転なし

反転を使用した場合、出力値は次の式で決定されます。

方程式 13.2 LUT 処理:反転あり

x は、入力ピクセル値を表しており、0 から 212 – 1 の範囲です。算出された出力値が 0 より低い場合、0、また 212 – 1 より大きい

場合は 212 – 1 がセットされます。

アプレットは、各カラーコンポーネンツに対して同じ処理パラメータを使用して、それぞれのコンポーネンツに対して並列に処

理を行います。 パラメータが変更されていない場合、「図 13.1 LUT 処理:恒等式」のように出力値は入力値と同じになります。次の項目か

らそれぞれの処理パラメータについて説明します。

Page 119: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

118

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

図 13.1 LUT 処理:恒等式

13-1 FG_PROCESSING_OFFSET オフセットは、各ピクセルに相対値が加えられます、これはブライトネス調整とよく似ています。相対オフセットは、例えばピ

クセルに 0.5 を加えると全体のブライトネスの 50%です。8bit ピクセルを使用した場合の絶対値では、128(0.5 x 255 = 127.5)が各ピクセルに加えられます。各ピクセルに絶対値を加えたい場合は次の計算式を参照下さい。: 例 -51 を 8bit ピクセルオフセットに加えると-51/255=-0.2

「図 13.2 LUT 処理:オフセット」はオフセットのサンプルを表しています。恒等式=0.0。

図 13.2 LUT 処理:オフセット

Page 120: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

119

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 13.1 パラメータプロパティ:FG_PROCESSING_OFFSET

Property Value Name FG_PROCESSING_OFFSET Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

-1.0 Maximum 1.0 Stepsize 2.220446049250313E-16

Default value 0.0

サンプル 13.1 FG_PROCESSING_OFFSET

int result = 0; double value = 0.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PROCESSING_OFFSET, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_PROCESSING_OFFSET, &value, 0, type)) < 0) { /* error handling */ }

13-2 FG_PROCESSING_GAIN ゲインは乗算係数が各ピクセルに適用されます、これはコントラスト調整とよく似ています。各ピクセル値は与えられた値で乗

算されます。恒等式では 1.0 が選択されます。

図 13.3 LUT 処理:ゲイン

Page 121: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

120

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 13.2 パラメータプロパティ:FG_PROCESSING_GAIN

Property Value Name FG_PROCESSING_GAIN Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0.0 Maximum 4096.0 Stepsize 2.220446049250313E-16

Default value 1.0

サンプル 13.2 FG_PROCESSING_GAIN

int result = 0; double value = 1.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PROCESSING_GAIN, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_PROCESSING_GAIN, &value, 0, type)) < 0) { /* error handling */ }

13-3 FG_PROCESSING_GAMMA ガンマ補正は、各ピクセルにべき乗の変換を行います。処理されたピクセル値 p は、[0, 1.0]の範囲で p’=p1/gamma

恒等式 = 1.0 の式で変換されます。

図 13.4 LUT 処理:ガンマ

Page 122: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

121

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 13.3 パラメータプロパティ:FG_PROCESSING_GAMMA

Property Value Name FG_PROCESSING_GAMMA Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

2.220446049250313E-16 Maximum 1.7976931348623157E308 Stepsize 2.220446049250313E-16

Default value 1.0

サンプル 13.3 FG_PROCESSING_GAMMA

int result = 0; double value = 1.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_PROCESSING_GAMMA, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_PROCESSING_GAMMA, &value, 0, type)) < 0) { /* error handling */ }

13-4 FG_PROCESSING_INVERT 反転パラメータを FG_ON にセットすると、出力は入力イメージから反転します。処理されたピクセル値 p は、[0, 1.0]の範囲で

p' = 1 – p の式で変換されます。

図 13.5 LUT 処理:反転

Page 123: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

122

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 13.4 パラメータプロパティ:FG_PROCESSING_INVERT

Property Value Name FG_PROCESSING_INVERT Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_OFF

サンプル 13.4 FG_PROCESSING_INVERT

int result = 0; unsigned int value = FG_OFF; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_PROCESSING_INVERT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_PROCESSING_INVERT, &value, 0, type)) < 0) { /* error handling */ }

Page 124: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

123

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

14 出 力 フォーマット

この章で説明するパラメータは、アプレットの画像フォーマットとビットアライメントである出力フォーマットを定義します。

14-1 FG_FORMAT パラメータ FG_FORMAT は、DMA チャンネルの出力フォーマット設定に使用します。出力フォーマット値は、出力するビット

数とカラーフォーマットを定義します。アプレットで処理するビットサイズは出力フォーマットとは異なり出力フォーマットの

ビットサイズに従って調整されます。

表 14.1 パラメータプロパティ:FG_FORMAT

Property Value Name FG_FORMAT Type Enumeration Access policy Read/Write Storage policy Persistent Allowed values FG_COL24

Color 24bit FG_COL48 Color 48bit

Default value FG_COL24

サンプル 14.1 FG_FORMAT

int result = 0; unsigned int value = FG_COL24; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_FORMAT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_FORMAT, &value, 0, type)) < 0) { /* error handling */ }

14-2 FG_BITALIGNMENT ビットアライメントは、内部処理ビット深度(アドバンスド画像取得アプレットでは 12bit)のピクセルビットを DMA 出力ビ

ット深度にマッピングを行います。出力ビットが内部処理ビットの深度より大きい場合、出力で左または右にシフトできます。

例えば、内部処理ビット 12bit の場合、16bit の出力にマッピングされます。パラメータ値 FG_LEFT_ALIGNED を設定すると、

出力ビットは、bit0~3 には 0 がセットされ、bit4~15 はピクセルデータが転送されます。パラメータ値 FG_RIGHT_ALIGNEDを設定すると、出力ビットは、bit0~11 のピクセルデータが転送されます。上位 4bit は 0 がセットされます。 出力ビットの深度が内部処理ビットの深度より低い場合、パラメータの影響はなくピクセルは自動的に左シフトします。 DMA 出力ビットの深度が内部ビットの深度より小さい場合、値は四捨五入されます。例えば、12bit 値 3785(1110 1100 1001) を 8bit 出力にマッピングを行う場合、値は 16(=236.5625)で除算され 237(1110 1101)となります。

※メーカー英語マニュアルでは、「the output bits 4 to 11」となっています。

Page 125: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

124

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 14.2 パラメータプロパティ:FG_BITALIGNMENT

Property Value Name FG_BITALIGNMENT Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_LEFT_ALIGNED

Left Aligned FG_RIGHT_ALIGNED Right Aligned

Default value FG_LEFT_ALIGNED

サンプル 14.2 FG_BITALIGNMENT

int result = 0; unsigned int value = FG_LEFT_ALIGNED; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_BITALIGNMENT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_BITALIGNMENT, &value, 0, type)) < 0) { /* error handling */ }

14-3 FG_PIXELDEPTH ピクセル深度は読み取り専用パラメータで、ピクセルごとの有効なビット数の情報を提供します。例えば、12bit アプレットは

16bit 画像データを DMA パッケージとして転送します。つまり、16bit データの 12bit のみ使用されます。 アドバンスト画像取得アプレットでは、各コンポーネントに内部ビット深度 12bit を使用し、24bit あるいは 48bit で出力しま

すので、24bit 出力は値 8、48bit 出力は値 12 となります。

表 14.3 パラメータプロパティ:FG_PIXELDEPTH

Property Value Name FG_PIXELDEPTH Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 128 Stepsize 1

Unit of measure bit

サンプル 14.3 FG_PIXELDEPTH

int result = 0;

Page 126: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

125

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

unsigned int value = 8; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_PIXELDEPTH, &value, 0, type)) < 0) { /* error handling */ }

Page 127: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

126

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

15 カメラシミュレータ

カメラシミュレータは、最初のアプレットテストのためにカメラをシミュレートする機能です。シミュレータを有効にすると、

指定したサイズと周波数でパターンを生成します。画像データはカメラに置き換えることができ、全てのアプレット処理機能は、

生成した画像データに適用されます。 カメラの仕様にあわせて設定するアプレット機能は有りません。カメラシミュレータが有効になっている場合、パラメータ

FG_CAMERA_LINK_CAMTYPE とパラメータ FG_USEDVAL での設定は画像に何の影響も与えません。 生成されたパターンは、アプレットがサポートする最大 bit 深度で使用できます。このアプレットでは 12bit までの深度を持っ

ています。

生成された画像データは、「図 15.1 カメラシミュレータ生成パターン」にある斜めのグレースケールパターンです。

図 15.1 カメラシミュレータ生成パターン

15-1 FG_GEN_ENABLE このパラメータでジェネレータを有効にします。ジェネレータをアクティブにするには、パラメータ FG_CAMSTATUS を ON に

します。

表 15.1 パラメータプロパティ:FG_GEN_ENABLE

Property Value Name FG_GEN_ENABLE Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_CAMPORT

Camera FG_GENERATOR Generator

Page 128: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

127

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Default value FG_CAMPORT

サンプル 15.1 FG_GEN_ENABLE

int result = 0; unsigned int value = FG_CAMPORT; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_ENABLE, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_ENABLE, &value, 0, type)) < 0) { /* error handling */ }

15-2 FG_GEN_START 画像データ生成の ON/OFF を設定します。

表 15.2 パラメータプロパティ:FG_GEN_START

Property Value Name FG_GEN_START Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_ON

サンプル 15.2 FG_GEN_START

int result = 0; unsigned int value = FG_ON; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_START, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_START, &value, 0, type)) < 0) { /* error handling */ }

15-3 FG_GEN_WIDTH 生成するフレームの幅を設定します。

Page 129: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

128

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

表 15.3 パラメータプロパティ:FG_GEN_WIDTH

Property Value Name FG_GEN_WIDTH Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 65535 Stepsize 1

Default value 1024 Unit of measure pixel

サンプル 15.3 FG_GEN_WIDTH

int result = 0; unsigned int value = 1024; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_WIDTH, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_WIDTH, &value, 0, type)) < 0) { /* error handling */ }

15-4 FG_GEN_HEIGHT 生成するフレームの高さを設定します。

表 15.4 パラメータプロパティ:FG_GEN_HEIGHT

Property Value Name FG_GEN_HEIGHT Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum0Maximum65535Stepsize1 Default value 1024 Unit of measure pixel

サンプル 15.4 FG_GEN_HEIGHT

int result = 0; unsigned int value = 1024; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_HEIGHT, &value, 0, type)) < 0) { /* error handling */

Page 130: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

129

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

} if ((result = Fg_getParameterWithType(FG_GEN_HEIGHT, &value, 0, type)) < 0) { /* error handling */ }

15-5 FG_GEN_LINE_GAP ラインギャップを定義する事ができます。高い値を設定するとカメラシミュレータのラインレートが減少します。

表 15.5 パラメータプロパティ:FG_GEN_LINE_GAP

Property Value Name FG_GEN_LINE_GAP Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 65535 Stepsize 1

Default value 4 Unit of measure pixel

サンプル 15.5 FG_GEN_LINE_GAP

int result = 0; unsigned int value = 4; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_LINE_GAP, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_LINE_GAP, &value, 0, type)) < 0) { /* error handling */ }

15-6 FG_GEN_FREQ ピクセル周波数を設定します。ジェネレータは、カメラのシミュレーションのみを行なう点にご注意ください。このパラメータ

はにアプレットや SDK の確認を行うために作らていますので、実際のカメラのタイミングや周波数を反映していません。

使用するピクセル周波数とそのフレームレートは、次の式で取得できます。

Page 131: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

130

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

方程式 15.1 ピクセル周波数(fps)

表 15.6 パラメータプロパティ:FG_GEN_FREQ

Property Value Name FG_GEN_FREQ Type Double Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

3.0 Maximum 125.0 Stepsize 1.0

Default value 40.0 Unit of measure MHz

サンプル 15.6 FG_GEN_FREQ

int result = 0; double value = 40.0; const enum FgParamTypes type = FG_PARAM_TYPE_DOUBLE; if ((result = Fg_setParameterWithType(FG_GEN_FREQ, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_FREQ, &value, 0, type)) < 0) { /* error handling */ }

15-7 FG_GEN_ACCURACY このパラメータは、周波数の範囲を高めますが精度が下がります。

表 15.7 パラメータプロパティ:FG_GEN_ACCURACY

Property Value Name FG_GEN_ACCURACY Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

1 Maximum 65535 Stepsize 1

Default value 25

Page 132: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

131

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 15.7 FG_GEN_ACCURACY

int result = 0; unsigned int value = 25; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_ACCURACY, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_ACCURACY, &value, 0, type)) < 0) { /* error handling */ }

15-8 FG_GEN_TAP1、その他

注意 この説明は次のパラメータにも適応されます。:

FG_GEN_TAP2 FG_GEN_TAP3 FG_GEN_TAP4 タップを無効にすると、パターンの代わりに黒いピクセルが出力されます。このタップはカメラリンク規格のタップには対応し

ていません。このカメラリンクのベースコンフィグレーションアプレットでは、ジェネレータは常に 2 タップを使用します。

表 15.8 パラメータプロパティ:FG_GEN_TAP1

Property Value Name FG_GEN_TAP1 Type Enumeration Access policy Read/Write/Change Storage policy Persistent Allowed values FG_ON

On FG_OFF Off

Default value FG_ON

サンプル 15.8 FG_GEN_TAP1

int result = 0; unsigned int value = FG_ON; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_TAP1, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_TAP1, &value, 0, type)) < 0) { /* error handling */

Page 133: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

132

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

}

15-9 FG_GEN_ROLL 生成されたパターンの回転速度を変更します。

表 15.9 パラメータプロパティ:FG_GEN_ROLL

Property Value Name FG_GEN_ROLL Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

0 Maximum 255 Stepsize 1

Default value 0

サンプル 15.9 FG_GEN_ROLL

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_GEN_ROLL, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_GEN_ROLL, &value, 0, type)) < 0) { /* error handling */ }

15-10 FG_GEN_ACTIVE

表 15.10 パラメータプロパティ:FG_GEN_ACTIVE

Property Value Name FG_GEN_ACTIVE Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 65535 Stepsize 1

Page 134: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

133

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 15.10 FG_GEN_ACTIVE

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_GEN_ACTIVE, &value, 0, type)) < 0) { /* error handling */ }

15-11 FG_GEN_PASSIVE

表 15.11 パラメータプロパティ:FG_GEN_PASSIVE

Property Value Name FG_GEN_PASSIVE Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum 65535 Stepsize 1

サンプル 15.11 FG_GEN_PASSIVE

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_GEN_PASSIVE, &value, 0, type)) < 0) { /* error handling */ }

サンプル 15.11. FG_GEN_PASSIVE の使用方法

15-12 FG_GEN_LINE_WIDTH

表 15.12 パラメータプロパティ:FG_GEN_LINE_WIDTH

Property Value Name FG_GEN_LINE_WIDTH Type Unsigned Integer Access policy Read-Only Storage policy Transient Allowed values Minimum

0 Maximum

Page 135: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

134

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

65535 Stepsize 1

Unit of measure pixel

サンプル 15.12 FG_GEN_LINE_WIDTH

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_GEN_LINE_WIDTH, &value, 0, type)) < 0) { /* error handling */ }

Page 136: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

135

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

16 その 他 多 方 面 のパラメータ ( Miscellaneous: MISC モジュール )

MISC モジュールは、カメラステータス、バッファフィルレベル、DMA 転送長、タイムスタンプなどのその他の読み/書きパラ

メータをまとめたものです。

16-1 FG_TIMEOUT このパラメータは DMA 転送のタイムアウトに使用します。タイムアウト後は画像取得を停止します。

表 16.1 パラメータプロパティ:FG_TIMEOUT

Property Value Name FG_TIMEOUT Type Unsigned Integer Access policy Read/Write/Change Storage policy Persistent Allowed values Minimum

2 Maximum 2147483646 Stepsize 1

Default value 1000000 Unit of measure seconds

サンプル 16.1 FG_TIMEOUT

int result = 0; unsigned int value = 1000000; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_setParameterWithType(FG_TIMEOUT, &value, 0, type)) < 0) { /* error handling */ } if ((result = Fg_getParameterWithType(FG_TIMEOUT, &value, 0, type)) < 0) { /* error handling */ }

サンプル 16.1. FG_TIMEOUT の使用方法

16-2 FG_APPLET_VERSION このパラメータはアドバンスド画像取得アプレットのバージョン番号をあらわしています。アプレットについてサポートに問い

合わせを行う場合は、この値をレポートしてください。

表 16.2 パラメータプロパティ:FG_APPLET_VERSION

Property Value Name FG_APPLET_VERSION Type Unsigned Integer Access policy Read-Only

Page 137: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

136

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Storage policy Transient

サンプル 16.2 FG_APPLET_VERSION

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_APPLET_VERSION, &value, 0, type)) < 0) { /* error handling */ }

16-3 FG_APPLET_REVISION このパラメータはアドバンスド画像取得アプレットのリビジョン番号をあらわしています。アプレットについてサポートに問い

合わせを行う場合は、この値をレポートしてください。

表 16.3 パラメータプロパティ:FG_APPLET_REVISION

Property Value Name FG_APPLET_REVISION Type Unsigned Integer Access policy Read-Only Storage policy Transient

サンプル 16.3 FG_APPLET_REVISION

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_APPLET_REVISION, &value, 0, type)) < 0) { /* error handling */ }

16-4 FG_APPLET_ID この値は内部目的でのみ使用します。

表 16.4 パラメータプロパティ:FG_APPLET_ID

Property Value Name FG_APPLET_ID Type Unsigned Integer Access policy Read-Only Storage policy Transient

Page 138: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

137

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 16.4 FG_APPLET_ID

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_APPLET_ID, &value, 0, type)) < 0) { /* error handling */ }

16-5 FG_HAP_FILE アプレットについてサポートに問い合わせを行う場合は、この読み込み専用の文字列型パラメータをお知らせください。

表 16.5 パラメータプロパティ:FG_HAP_FILE

Property Value Name FG_HAP_FILE Type String Access policy Read-Only Storage policy Transient

サンプル 16.5 FG_HAP_FILE

int result = 0; char* value = ""; const enum FgParamTypes type = FG_PARAM_TYPE_CHAR_PTR; if ((result = Fg_getParameterWithType(FG_HAP_FILE, &value, 0, type)) < 0) { /* error handling */ }

16-6 FG_DMASTATUS このパラメータで DMA チャンネルの状態を取得することができます。値”1”は、DMA 転送(画像取得)が開始されている事を

示し、値”0”は画像取得を停止している事を示します。

表 16.6 パラメータプロパティ:FG_DMASTATUS

Property Value Name FG_DMASTATUS Type Unsigned Integer Access policy Read-Only Storage policy Transient

Page 139: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

138

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

サンプル 16.6 FG_DMASTATUS

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_DMASTATUS, &value, 0, type)) < 0) { /* error handling */ }

16-7 FG_CAMSTATUS このパラメータでレームグラバーがカメラのクロック信号を認識しているかどうか確認できます。読み込み専用パラメータの

値”1”は、グラバーがカメラのクロック信号を認識している状態です。

表 16.7 パラメータプロパティ:FG_CAMSTATUS

Property Value Name FG_CAMSTATUS Type Unsigned Integer Access policy Read-Only Storage policy Transient

サンプル 16.7 FG_CAMSTATUS

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_CAMSTATUS, &value, 0, type)) < 0) { /* error handling */ }

16-8 FG_CAMSTATUS_EXTENDED このパラメータは、LVAL、FVAL、トリガー信号、外部リガー信号、バッファオーバーフローステータスなどカメラからのピク

セルクロック情報が得られます。8bit の各 bit は、次のリストが示す内容の文字列型データです。:

・ 0 = CameraClk ・ 1 = CameraLval ・ 2 = CameraFval ・ 3 = Camera CC1 Signal ・ 4 = ExTrg ・ 5 = BufferOverflow ・ 6 = BufStatus ・ 7 = BufStatus

表 16.8 パラメータプロパティ:FG_CAMSTATUS_EXTENDED

Property Value

Page 140: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

139

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

Name FG_CAMSTATUS_EXTENDED Type Unsigned Integer Access policy Read-Only Storage policy Transient

サンプル 16.8 FG_CAMSTATUS_EXTENDED

int result = 0; unsigned int value = 0; const enum FgParamTypes type = FG_PARAM_TYPE_UINT32_T; if ((result = Fg_getParameterWithType(FG_CAMSTATUS_EXTENDED, &value, 0, type)) < 0) { /* error handling */ }

Page 141: Ssb003 rt5 2 0 advancedapplets acq baseareabayer12 1 00

文書番号 :SSB003 Revision :1.00

140

[SILICON SOFTWARE 社フレームグラバー microEnable IV シリーズ RunTime5.2.0 アドバンスド画像取得アプレット”Acq_BaseAreaBayer12”]

改 定 履 歴

日 付 内 容 Revision

2013.2 初版(RT5.2.0) 1.00