MTPEXーDX PEXDX_DX仕様 1 PCI Express PCI Expressチップは

MTPEXーDX
1
PEXDX_DX仕様
PCI Express
PCI Expressチップは PLX PEX 8311
PEX8311は PCI Express <-> PCI-Xブリッジである PEX8111 と PCI <-> ローカル PCI 9056を組み合わせた回路構成になっています
8111 ブリッジ部分は基本的にデフォルト設定で動作します
8111 ブリッジ部の コンフィグレーションレジスタは 8111 10B5 とPLXのID情報として読み出されます 無視して問題有りません
従って ソフト的には 8111 ブリッジ部は無視し PCI 9056の普通のPCIバスボードとして動作します
I/Oポートと DMAチャンネル 0 機能のみ使用します
DMAチャンネルの使用には PCIチップ 内部ローカルレジスタの設定が必要となります
PCI コンフィグレーションレジスタ 読み出し手順に従って読み出された値は 次の様になります
00h
04h
08h
0Ch
10h
14h
18h
1Ch
20h
24h
28h
2Ch
30h
34h
38h
3Ch
Device ID/Vender ID
Status/Command
ClassCode/Revision ID
BIST/H Type/PCI Latency/C L Size
PCIBAR0 PCIベースアドレス 内部レジスタ メモリマップ
PCIBAR1 PCIベースアドレス 内部レジスタ I/Oマップ
PCIBAR2 PCIベースアドレス I/Oポート
Subsystem ID/Subsystem Vender ID
Max_Lat/Min_Gnt/Int Pin/Int Line
[4458 4D54]*1
[0680 0000]
*2
*2
*3
[4458 4D54]*1
*1 4D54h(MT)は マイクロテクニカ PCI VenderID 登録コードです
4458h(DX)は 弊社基板コードです
*2 PCIチップ 内部ローカルレジスタをアクセスする ベースアドレスになります
メモリマップでアクセスする場合は PCIBAR0 I/Oマップでアクセスする場合は PCIBAR1 を使用します
*3 ボードのI/Oポートをアクセスする ベースアドレスです I/Oマップです
** ベースアドレスの最下位ビットは メモリ(0)かI/O(1)かを示していますので 実際のアドレスは 0とします
PCIチップ 内部ローカルレジスタは DMAチャンネル0 関係のみの設定が必要となります 他レジスタは 設定しないで下さい
80h
84h
88h
8Ch
90h
A8h
DMA
DMA
DMA
DMA
DMA
DMA
Ch
Ch
Ch
Ch
Ch
Ch
0
0
0
0
0
Mode
PCI Address
Local Address
Transfer Byte Count
Descriptor Pointer
Command/Status Register
CONFIGURATION EEPROM DATA
00h
10h
20h
30h
40h
50h
60h
4458
0000
0060
0000
0000
0000
0000
4D54
0000
0500
0000
0000
0000
0000
0680
FFFF
0000
0000
4458
0000
(参考値
0000
FF01
0000
0000
4D54
4C06
変更の可能性があります)
0000
0000
0000
0000
0000
0000
I/Oポートは xx00~xxFFh 256ポート占有します
0100
0001
0000
0000
0000
0000
0000
0020
4203
0000
0000
0000
0000
0000
0043
0000
0000
0002
[PCIBAR2]
- 1 -
ワード単位
2
コネクター表
RGBカメラコネクタ
ピンNO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
カメラコネクタ
ピンNO
1
2
3
4
5
6
7
8
9
10
11
12
DSUB15Pメス
信号名
RIN
G/VIN
BIN
RXD
GND
GND
GND
WEN-B
+12V
GND
TXD
TRG-B
HD-B
VD-B
WEN-A
ヒロセ12Pメス
信号名
GND
+12V
GND
G/VIN
GND
HD-A
VD-A
GND
RIN
WEN-A
TRG-A
GND
シュリンクタイプ
用途
映像信号入力
〃
〃
TTL入力信号
コモン
〃
〃
TTL入力信号
カメラ電源
コモン
TTL出力信号
TTL出力信号
TTL入出力信号
TTL入出力信号
TTL入力信号
映像 R
〃
G (カメラ A)
〃
B (カメラ B)
シリアル受信データ
画像インデックス-B (SYNC入力)
+12V MAX 0.5A
シリアル送信データ
シャッタートリガ-B
水平同期 -B
垂直同期 -B
画像インデックス-A
HR10A-10R-12S
用途
コモン
カメラ電源
コモン
映像信号入力
コモン
TTL入出力信号
〃
コモン
映像信号入力
TTL入力信号
TTL出力信号
コモン
映像
+12V
MAX 0.5A
映像 モノクロ
水平同期 -A
垂直同期 -A
映像 R
画像インデックス-A
シャッタートリガ ーA
*1 12V電源は パソコン電源の +12Vが出力されています 消費電流に注意して下さい
カメラの消費電力が10W以上の場合は別電源を用意して下さい
*2 映像系信号は全て 75Ω終端されています
DIOコネクタ
ピンNO
1
2
3
4
5
6
7
8
9
DSUB 9Pメス
信号名
DIO4
DIO5
DIO6
DIO7
TTL7
+12V
ICOM
OCOM
GND
用途
DIO 入出力信号
〃
〃
〃
TTL 入出力信号
電源
DIO 入力コモン
DIO 出力コモン
コモン
アイソレーション信号 -4
〃
-5
〃
-6
〃
-7
ノンアイソレーション信号 -7
ノンアイソレーション電源 MAX 0.1A
アイソレーション入力コモン + 5~24V
アイソレーション出力コモン ノンアイソレーション
* DIO4~7は フォトカプラによるアイソレーション入出力信号
アイソレーション信号として使用する場合は 外部(相手)電源を ICOM/OCOMに接続して下さい
- 2 -
3
構成
3.1 I/Oポート
コマンド/スティタスレジスタ
TTL入出力ビット
モードレジスタセット
DMA転送ラインカウンタ
GTRG経過カウンタ
ボード情報
レジスタ指定
画像入力ラインカウンタ
セット/クリアビット
取り込みカウンタ
DIO入出力ビット
割り込み
シリアル送受信データ
シリアルスティタス
パネル信号
ポート0
ポート 0
ポート 4
ポート 8
ポート 8
ポート 8
ポート 8
ポート C
ポート C
ポート14
ポート14
ポート18
ポート1C
ポート20
ポート24
ポート48
コマンド,スティタスレジスタ
[xx00h] OUT
バイト
[xx04h] IN/OUT バイト
[xx08h] OUT
バイト/ワード
[xx08h SR:00h] IN
32ビット
[xx08h SR:24h] IN
16ビット
[xx08h SR:FFh] IN
32ビット
[xx0Ch] OUT
バイト
[xx0Ch] IN
32ビット
[xx14h] OUT
バイト
[xx14h] IN
バイト
[xx18h] IN/OUT バイト
[xx1CH] IN/OUT バイト
[xx20H] IN/OUT バイト
[xx24H] IN バイト
[xx48H] IN/OUT バイト
IN/OUT
画像入出力コマンド(OUT) 及び スティタスレジスタ(IN) です
ポート4
TTL入出力ビット
IN/OUT
TTL汎用入出力ビットのIN/OUTです
ポート8
モードレジスタセット
入出力ビットは8ビットです
OUT
モードレジスタ類,カウンタ等のセットポートです OUTのみです
レジスタにより バイト/ワードになりますが 基本的にワードにてセットします
バイトレジスタのセットにワードでアクセスした場合 上位バイトは無視されます
ポート8 [SR:0] DMA転送バイトカウンタ
IN
DMA開始時からのバイトカウンタ値が読み出されます SRコード0にてINして下さい
カウンタは32ビットです GETコマンド発行時に 0クリアされます
ポート8 [SR:24H] GTRG経過カウンタ
IN
GTRG入力からの経過時間の目安となるカウンタです SRコード24hにてINして下さい
カウンタは16ビットで GTRG信号入力にて0クリアされ 常時インクリメントし FFFFhにてストップします 循環しません
カウンタクロックは 15.734KHz(63.55μS)です
PCIバスのクロックとは非同期に変化するカウンタですので 誤読みの可能性があります 2度読みして下さい
ポート8 [SR:FFH] ボード情報
IN
ボード情報が入力できます SRコードFFhにて 32ビット INして下さい
32ビットデータは 以下になります
D7~0 : スィッチ 8ビット
0:OFF 1:ON (SIP SW)
D15~8 : ロジックバージョン 8ビット 0~FFh
D31~16: ロジックコード 16ビット
4458h (DX標準仕様 DC2+α)
* ロジックバージョンは 大きなロジック変更(ソフトに影響を与える)を行った時に +1します
ロジックコードは 基本的な仕様が違う場合 それに合わせたコードにします
ポートC
レジスタ指定 SRコード
OUT
ポート8の対象レジスタの指定を行います
SR0~6 7ビット を D0~6にて セットします
ポートC
画像入力バイトカウンタ
IN
画像入力中のバイトカウンタ値が読み出されます
カウンタは 32ビットです GETコマンド発行時に 0クリアされます
ポート14
セット/クリアビット
OUT
各ビット単位で補助コマンドが発行されます
ビット1セットにて下記になります
D4: DIO OUT用フォトカプラをディセーブル状態(ALL OFF)にします
D3: 取り込みカウンタを0クリアします
D0: パルス出力
D8~12: 割り込み要因クリア
(INTMD:1)
*
単発動作です ラッチしませんので0クリアは不要です
- 3 -
ポート14
取り込みカウンタ
IN
取り込みカウンタ値が読み出されます
カウンタは8ビットで 画像取り込み毎に+1されます
ポート18
DIO入出力ビット
取り込んだ画面数となります
IN/OUT
DIOビットの入出力ポートです
ポート1C
割り込み
IN/OUT
割り込みを制御できます
OUTにて割り込みのディセーブル/イネーブル制御
ポート20,24
シリアル送受信
ポート20で送受信データのIN/OUT
ポート48
INにて割り込み要因のチェックができます
パネル信号
ポート24でシリアルスティタスビットのINを行います
OUT
パネルLEDの点灯制御を行います
3.2 コマンドレジスタ
コマンドレジスタは ポート0 OUTにてセットします
D7
GETC
D7
GETC
D6
GMOD
D5
DDMD
D4
-
D3
-
D2
-
D1
-
D0
-
画像取り込み
このビットを 1にセットするとカメラ等からの画像取り込みが開始されます
取り込みビットは内部で垂直同期信号に同期されます
DMA転送バイト量設定値分のデータ入力で自動的に取り込み終了となります
D6
GMOD
取り込みモード
0の場合 1画面取り込みとなります
1の場合 複数画像取り込みとなります
画像取り込み量は DMA転送バイト量に依存します
1画面取り込みの場合は 1画面のデータ量とDMA転送バイト量を一致させ このビットを0として下さい
複数画面取り込みの場合は 画面数量のDMA転送バイト量を設定し このビットを1にします
D5
DDMD
GMODが1に設定され複数枚処理となった時 1画面取り込み時点で DMA転送できないデータがバッファメモリに残ります
これは バッファメモリが ある程度のデータが入力されないと先のデータを読み出す事ができないと言う性質によるものです
また PCIバスの占有率が低い場合には DMA転送が間に合わず かなりのデータがバッファメモリに残っている場合もあります
この残ったデータの処理を DDMDビットにて設定します
DDMDが0の時は残データは そのままにします この残データは次の画面入力にて DMA転送されます
最終画面の残データのみ強制的にDMA転送させます
DDMDが1の時は 各画面単位に残データを強制的にDMA転送させます 但しこの場合 強制的にDMA転送させますので このDMA転送
が終了しないうちに 次の画面入力が始まりますと 画像入力が乱れ正しいデータが得られなくなります
PCIバスの占有率に十分な余裕がある時のみこのモードにして下さい DMA転送に余裕が有る場合なら 強制的DMA転送は100μS程度
で終了します
GMODが0で 1画面取り込みの場合は このビットに関係無く強制DMA転送が行われます
* 画像GET中 GMOD,DDMD,他モードビット等は変更しないで下さい
インターレス画像の取り込み
GETコマンドは基本的にVDに同期されますが 2:1インターレスモード時は フィールド信号に同期されます
これによりメモリに転送される画像データのフィールドが確定され 第1フィールド,第2フィールドの順に転送されます
しかしフィールド信号に同期させる為 画像取り込みが 最大1/30秒遅れる事になります
ITRGMビットを1にセットすれば 2:1インターレスモード時もVD同期になり先フィールドから画像取り込みを開始します
但し先にきたデータから順にメモリ転送が行われますので システムメモリ 画像データのフィールド関係が不定になります
この場合 スティタスビットのFLDGビットにてフィールド関係をチェックして下さい
このスティタスビットは 画像データの先(前半)データのフィールドを示しています
0の場合 第1,第2の順になり 1の場合 第2,第1の順となった事を示します
- 4 -
3.3 スティタスレジスタ
スティタスレジスタは ポート0 INにて読み出されます
D7
GETG
D6
GETS
D5
GETX
D4
NSVD
D3
FLDG
D2
DMAG
D1
DMAER
D0
SRBSY
D7 GETG
画像入力中を示します GETコマンドセットにて 1になり
GET終了にて 0になります
D6 GETS
コマンドレジスタで画像取り込みコマンドを実行しても すぐに入力中になるわけではありません
垂直同期信号と同期されて入力が始まります このビットは実際の入力中タイミングが反映されます
D5 GETX
GETコマンド実行にて 1画像取り込まれたら 1になります
次のGETコマンド実行迄保持されます
D4 NSVD
NSVDはカメラ等入力ソースの垂直同期信号 1の時 同期信号期間を示しています
D3 FLDG
2:1インターレスカメラの画像取り込み 先フィールドモード時の画像データ前半のフィールドを示します
1の時 第1フィールドから画像が取り込まれた事を示します
0の時 第2フィールドから画像が取り込まれた事を示します
D2 DMAG
DMA転送中 1です
実際の転送終了に対して 50~100μS程度遅れて 0になります
転送終了を早く知りたい場合は PCIチップ スティタスレジスタをチェックして下さい
D1 DMAER
DMA転送が間に合わず 入力バッファメモリが満杯になった場合 1になります
次のGETコマンド実行迄保持されます
D0 SRBSY
回路の一部に モード設定等にシリアルバスを使用している物があります
このビットはそのシリアルバスの使用状態を反映しています
0:READY 1:BUSY
BUSY時 次の設定ができない設定項目がありますので注意して下さい
- 5 -
3.4
モードレジスタ,カウンタのセット
OUTポート8にて 各モードレジスタ類をセットします
OUTポートCにて ポート8セットの対象レジスタを指定する SRコードをセットします
ポートC にて SRコードをセットして ポート8にて モード等をセットします
ポート Cはバイトです ポート 8はダブル/バイト/ワードですが 全てダブルワードでOUTしてかまいません
OUTポート C
D7
SR7
D6
SR6
D5
SR5
D4
SR4
D3
SR3
D2
SR2
D1
SR1
D0
SR0
D14/6
D13/5
D12/4
D11/3
D10/2
D9/1
CLKDV1
STRMD2
VCKPOL
CLKDV0
INP1
AGSTP
STRMD1
VCOFS
CCKDV1
D8/0
SYCOG
INP0
WENMD
SMPSL
OUTポート 8
モードレジスタ
SR:xxh D15/7
U
00 L LINMD
U
01 L RNDST
U VCKDL3
02 L ITRSM
U CHKPS3
03 L EHCKS1
U
04 L
U
05 L SDIR7
U
06 L SPOL7
U
07 L SMOD7
U INTMD
08 L
U
0A L
U
0B L RXPOL
SYCOG
LINMD
BMMD
COL3D
INP1,0
AGSTP
RNDST
SYTRM
SYCMD1,0
EXGTM
STRMD2-0
BMMD
SYTRM
VCKDL2
ITRGM
CHKPS2
EHCKS0
COL3D
SYCMD1
VCKDL1
MQCKS
CHKPS1
SHTCKS
PLSSL1
WENSL1
SYCMD0
VCKDL0
CLKSEL
CHKPS0
SDIR6
SDIR5
SDIR4
SPOL6
SPOL5
SMOD6
SMOD5
EXGTM
GTGSL2
STCKS1
SRBSL1
GTGSL1
STRMD0
VCOPH
CCKDV0
FLDPL
STCKS0
SRBSL0
GTGSL0
SDIR3
SDIR2
SDIR1
SDIR0
SPOL4
SPOL3
SPOL2
SPOL1
SPOL0
SMOD4
SMOD3
SMOD2
SMOD1
SMOD0
TXDPOL
TXSTTB
TXOE
TXPAR
PLSSL0
WENSL0
GCTEN
RXDPOL
RXSTTB
RXIE
RXPAR
TXPOL
RGB同期信号
カメラ選択
バッファメモリ
カラーデータ選択
入力選択
取込自動終了
シャッター制御
SYNC終端
カメラ同期モード
外部取込禁止
シャッタトリガモード
0:SYNC
1:VIN
0:エリア
1:ライン
0:1系統 1:3分割
0:RGB1:RGB
0:モノ
1:2:3:RGB
0:OFF
1:カウンタ
0:フリー
1:ランダム
0:OFF
1:ON
0:外部HV 1:外部H 2:内部C
3:内部HV
0:フリー
1:VDSC
0:NRM
1:TRG
2:TRG-VD 3:VD-TRG
4:TRG-TRG 5:TRG-TSG 6:TRGVC
VCKDL3-0
VCLK位相調整
16段階
VCKPOL
VCLK極性
0:ノーマル
1:反転
VCOFS
VCO基準クロック
0:63kHz 1:HD
VCOPH
VCOクロック極性
0:ノーマル
1:反転
ITRSM
走査モード
0:NI
1:I
ITRGM
GET走査モード
0:第1F
1:先F
MQCKS
入力原クロック
0:49M
1:VCO
CLKSEL
入力クロック
0:VCO
1:原クロック/2
CLKDV1,0
クロック分周
0:1/1
1:1/2
2:1/3
3:1/4
CCKDV1,0
カメラクロック
0:1/1
1:1/2
2:1/3
3:1/4
FLDPL
FLD極性
0:NRM
1:反転
EHCKS1,0
HD/VD検出クロック
0:12M
1:6M
2:3M(NRM) 3:1.5M
SHTCKS
パルス出力クロック
0:HD
1:VD
WENMD
WENモード
0:VD
1:GTRG_S
SMPSL
クランプパルス
0:カメラHD 1:外部同期HD
STCKS1,0
シャッタ-制御クロック
0:HD
1:VD
2:4μS(252KHz) 3:PLSSL1,0
パルス出力
0:1:- 2:- 3:DIO5
SRBSL1,0
ストロボ出力
0:1:- 2:- 3:DIO4
WENSL1,0
インデックス入力
0:WEN-A 1:TTL7 2:- 3:DIO6
GTGSL1-0
GTRG選択
0:TTL7
1:- 2:- 3:DIO7 4:PNLSW 5:自動HD 6:自動VD
SDIR7-0
信号方向
0:入力
1:出力
SPOL7-0
信号極性
0:正
1:負
SMOD7-0
信号モード
0:汎用
1:カメラ
GCTEN
取込カウンタ
0:OFF
1:ON
INTMD
割込要因クリア
0:IN 1Ch
1:OUT 14h
RXIE,TXOE,RXPOL,RXDPOL,RXSTTB,RXPAR,TXPOL,TXDPOL,TXSTTB,TXPAR
シリアルモードビット
- 6 -
カウンタ
SR:xxh
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3D
3E
3F
40~47
カウンタ
VCA
入力クロック PLL VCO
12ビット
11~0
SRCK
シリアルボーレートクロック
12ビット
11~0
UNBP
UNBW
VUBP
VUBW
HDSC
HDPW
VDSC
VDPW
TRGW
SRBW
GSRB
カメラ画像水平有効位置
〃
幅
カメラ画像垂直有効位置
〃
幅
HD/LINE繰返レート
HD/LINEパルス幅
VD繰返レート
VDパルス幅
TRGパルス幅
SRBパルス幅
SRB位置
GEXD
GEXF
SHOT
GTRG遅延
GTRGフィルタ
パルス幅
AGSP
VLBV
10ビット
12(16)ビット
8ビット
16ビット
16ビット
8ビット
16ビット
5ビット
16ビット
8ビット
8ビット
9~0
15~4(0)
7~0
15~0
15~0
7~0
15~0
4~0
15~0
7~0
7~0
14ビット
8ビット
8ビット
13~0
7~0
7~0
自動取り込み終了
8ビット
7~0
ゲイン制御
8ビット
7~0
- 7 -
3.5
カメラの接続
モノクロカメラは ヒロセ12P カラーカメラは DSUB15Pコネクタに接続します
ヒロセ12Pコネクタは一般的なEIAJ規格準処です
DSUB15Pコネクタは東芝RGBカラーカメラのマップに合わせてあります
カメラ電源出力
パソコン電源の12Vが出力されています
負荷10W以下で使用してください
G/VIN,RIN,BIN
映像信号入力です
モノクロ信号は G/VIN
0.7Vpp 75Ω終端されています
カラーRGB信号は RIN,G/VIN,BINに接続します
HD,VD,WEN,TRG
各A,B用意されていますが 出力は DX仕様ではA,B同信号が出力されます
入出力信号は 基本的にTTLレベルですが HD/VD出力は75Ω負荷でも2Vpp以上の振幅が確保されています
信号モード
HD,VD,WEN,TRG 各信号モードは SDIR,SMOD,SMODビットで設定されます
SDIR:信号の入出力
SPOL:信号極性
SMOD:信号モード
0:入力
0:正
0:汎用
1:出力
1:負
1:カメラ
ビット対応は
0:HD
1:VD
2:TRG
3:TSG
6:WEN
水平同期信号 入出力
垂直同期信号 入出力
シャッタートリガ信号 出力
シャッタートリガW信号 出力
映像インデックス
入力
TRG-A
TRG-B
WEN-A
(LINMD:0 エリアモード時のみ)
各信号をカメラ用信号として使用する場合は 各SMODビットを1にセットします
SMODビットを0に設定された場合は ポート4にて制御される汎用TTLビットになります
HD,VDはペアになっており入出力は一致されます HD出力 VD入力といった設定はできません
SDIR0,1ビットのどちらかが1にセットされれば HD,VD両方とも出力になります
信号極性は ロジックレベルとコネクタ端での信号レベルが 0:L
1:H となる場合が正 逆の場合が負です
HD,VD信号は出力の場合 A,B 同信号が出力されます 入力の場合は Aに接続します
ラインセンサーカメラの場合は HD-A/VD-Aがライン信号 HD-B/VD-Bがクロックになります RS-422 HD:+ VD:- です
TRG信号出力は シャッターモードが 5:TRG-TSGの時のみ A:TRG B:TSGが出力されます 他モードの時は BもTRGとなります
WEN入力はAに接続して下さい ラインセンサーカメラの場合のWEN(エンコーダ信号)はDIOコネクタのTTL入力になります
RGB入力時のSYNC信号は WEN-Bに接続して下さい
RGB入力時 同期信号入力の選択が SYCOGビットにて設定できます
0:SYNC
1:VIN
WEN-B入力
V/GIN入力 S_O_Gに対応できます
SYNC時 75Ω終端するかどうかはSYTRMビットで設定できます
- 8 -
0:終端無
1:終端有
3.6
カメラの設定
INP0,1 2ビットにて 入力信号を選択します
0: モノクロビデオ
1: 2: 3: カラー RGB
ITRSMビットにて 走査モードが設定されます
0:ノンインターレス(プログレス)
1:インターレス(2:1)
2:1インターレスカメラの場合も ノンインターレス設定にすれば フィールド処理になります
ITRGMビットは 2:1インターレスモード時 画像GETを フィールド信号に同期させるか VD信号に同期させるかの設定です
0:フィールド信号
1:VD信号
フィールド信号に同期させれば 必ず 第1フィールドから 画像取り込みを行います しかし 画像取り込み開始は 最大1フレーム遅れます
VD信号同期の場合は 先にきたフィールドから取り込みを開始します メモリ前半のデータは どちらのフィールドデータか不定になりますが
スティタス FLDGビットにて判断できます 画像取り込み開始の遅れは 1フィールドになります
同期モードは SYCMD1,0 2ビットにて設定します
0:外部同期 HD/VD
ボードから HD/VD同期信号を出力し カメラ側を同期させます
1:外部同期 HD
ボードからは HD信号のみ出力し カメラ側を同期させます
VDは カメラのコンポジットビデオ出力信号から抽出された同期信号を使用します
2:カメラ同期 コンポジット
カメラの出力信号にて ボードを動作させます
コンポジットビデオ信号から HD/VD信号を抽出します
3:カメラ同期 HD/VD
カメラの出力信号にて ボードを動作させます
カメラコネクタ INB0,1信号を HD/VD信号とします
同期信号抽出クロックの設定
同期モードが1,2の場合 カメラの同期信号成分から VD信号やフィールド信号を抽出する必要があります
EHCKS1,0 2ビットにて 設定します
0:12M
1:6M
2:3M
3:1.5M
高速カメラ等
倍速カメラ等
一般的カメラ
低速カメラ等
水平同期周波数
〃
〃
〃
40~60KHz
20~40KHz
10~20KHz
5~10KHz
水平同期周波数は目安です
同期信号のパルス幅等も関係します
クランプパルスモードの設定
カメラの映像信号は一般的にAC結合信号です 従ってA/D変換の為にはDCクランプの必要があります
このクランプパルスをどの信号から作るかを SMPSLビットにて設定します
0:カメラの映像信号から抽出された水平同期信号から作成します
1:外部同期用 HD出力信号から作成します
一般的には 0設定 カメラの水平同期信号からの作成で問題有りません
高解像度カメラ等を外部同期で使用し カメラの同期信号がうまく抽出できない時のみ 1に設定します
FLDPLビットにて 2:1インターレス信号のフィールドを示すFLD信号があわない場合は極性を逆にできます
- 9 -
0:NRM 1:反転
3.7
入出力クロックの設定
ボードの原クロックは 49.0909MHzです この原クロックから 入出力用クロックを生成します
入力クロックの設定
5M~80MHzの範囲で 入力クロックが設定できます
入力クロック生成は 分周カウンタとPLL+VCO回路にて構成されています
カウンタの分周値は 出力ポートにて設定します 設定値はバイナリ値です
カウンタ VCA : 12ビット
D0~11
PLL回路の基準信号は 62.937KHzです (49.0909MHz/780)
カウンタは VCO出力クロックを分周し PLL回路の比較信号を作成します
PLL回路は 基準信号と比較信号が同位相になる様 VCO回路を制御します
つまり VCO出力の周波数は 次の式にて計算できます
クロック周波数 = 62.937KHz x カウンタの分周値
VCO回路の出力周波数には制限があり 10M~80MHzです 従ってカウンタ VCAの設定値は 160~1300程度で使用して下さい
MQCKSビットにて 入力原クロックを選択します
0:49M
1:VCO
原クロックの49.0909MHzです
上記で作成された VCO出力です
CLKSELビットにて 入力クロックを選択します
0:VCO
1:原クロック/2
上記で作成された VCO出力です
MQCKSビットにて選択された クロックの1/2周波数になります
入力クロックが 49Mの分周周波数で良い場合は MQCKS:0 CLKSEL:1 にて 49Mの1/2 24.545MHzを選択します
原クロックの分周ですので安定度が一番良くなります
49Mの分周では無い場合は VCOを選択します
カメラが 外部同期で使用する場合は CLKSEL:0 にて直接 VCOを選択します
カメラが 外部同期で使用できない場合は MQCKS:1 CLKSEL:1 にて VCO出力の1/2を選択します
この場合クロックは カメラのHD信号にデジタル的に位相合わせされますが 安定度は低くなります(ジッターが多くなります)
CLKDV1,0 2ビットにて クロックを 更に分周できます
0:1/1
1:1/2
2:1/3
3:1/4
カメラ等からのHD信号を基準として画像クロックを作成する場合は VCOFSビットを1にセットします
VCOFSビットは 上記VCO回路の基準クロックを選択します
0:62.937kHz
1:カメラ等からのHD信号
HD信号を基準としますので VCAの設定値は 水平1ラインの総クロック数(またはその倍数)となります
VCOPHビットは VCO出力クロックを反転(180度位相回転)させます 反転させた方が水平系の信号が安定する様なら セットして下さい
VCOで作成されたクロックは位相調整が可能です VCKDL0~3 4ビットで設定します
設定値 x クロック/32 (11度単位)
設定例
1) 12.2727MHz
一般的なエリアカメラ出力を 水平 640ドット アスペクト比 1:1 で取り込む場合に適した周波数です
MQCKS:0 CLKSEL:1にて 24.5Mを選択し CLKDV:1 と設定します
2) 14.318MHz
一般的な 4fsc周波数です 一般的なエリアカメラをこの周波数で取り込んだ場合 水平 768ドット程度になります
CLKSEL:0 VCO出力とし カウンタ VCA:455 CLKDV:1 を設定します
3) 20MHz
(19.9825MHz)
一般的な周波数です
CLKSEL:0 VCO出力とし カウンタ VCA:635
CLKDV:1 を設定します
VCKPOLビットにてロジックで使用するVCLK(ビデオクロック)の極性を設定できます 0:ノーマル
取り込み画像が不安定な場合 反転させる事により改善される場合があります
1:反転
カメラクロックの設定
カメラクロックは CCKDV0,1 2ビットで分周できます
0:1/1
カメラクロックは HD信号等作成用クロック等として使用されます
1:1/2
- 10 -
2:1/3
3:1/4
3.8
カメラ信号の設定
カメラを外部同期で使用する場合の HD/VD信号を作成します
HDSC
HDPW
VDSC
VDPW
16ビット
8ビット
16ビット
5ビット
D0~15
D0~7
D0~15
D0~4
HD信号繰り返しレート
HD信号幅
VD信号繰り返しレート
VD信号幅
水平カウンタクロックはカメラクロック CCLKです
エリアカメラで走査が インターレスモード時は HD繰り返しレート設定値を半分に設定します この場合出力は2発に1発(1つ置き)になります
垂直カウンタクロックは HD信号です
シャッタ-制御無しの場合は 作成されたVD信号が定期的に出力されます
シャッタ-制御を行うモード時は シャッタ-シーケンス VDトリガにてVD信号を出力します パルス幅は VDPW設定幅です
カメラ画像 有効位置,幅のカウンタ設定を行います
UNBP
UNBW
VUBP
VUBW
10ビット
16ビット
8ビット
16ビット
D0~9
D0~15
D0~7
D0~15
カメラ画像水平有効位置
〃
幅
カメラ画像垂直有効位置
〃
幅
カウンタクロックは 水平用は ビデオクロック VCLK 垂直用は HDです
水平有効位置は HD信号の後エッジからのクロック数を設定します 幅はその位置からのドット数になります
垂直有効位置は VD信号の後エッジからのライン数を設定します 幅はその位置からのライン数になります
2:1インターレスの場合 垂直有効幅は片フィールド分になります フレームで480ラインの場合 片フィールド240本の設定になります
水平幅は 16クロック単位の設定となり 下位4ビットは無視され 0になります
シャッター制御を行った時等 有効画像を正確に取り込む場合はWEN信号(画像インデックス)を利用します
WENMDビットにてモードが設定できます
0:VD
1:GTRG_S
VD信号の代わりとして画像を取り込みます
WEN信号の入力検出後のVD信号から画像取り込みを行います
WEN信号は エッジのみを利用し取り込みトリガになります 立ち上がり/立ち下がり どちらのエッジを利用するかは SPOL6ビットの
設定によります
WEN信号は WENSL0,1 2ビットで選択します
0:
1:
2:
3:
CMRコネクタ WEN-A
DIOコネクタ DIO6
- 11 -
3.9
シャッターシーケンスの設定
シャッターシーケンスは 設定により TRG,TSG,SRB,VD信号を自動的に発生させ 画像取り込みを行います
シャッター制御はカウンタにて設定されます
TRGW 16ビット
D0~15
TRG信号幅等
カウンタクロックは STCKS1,0 2ビットにて選択します
0:HD
1:VD
2:252KHz
3:-
このカウンタの設定値 0は 1024ととして扱われます 但しSTRMDが3の場合のみ 0として扱われます
STRMD2-0 3ビットにて シャッターモードを設定します
0:NRM
1:TRG
2:TRG-VD
3:VD-TRG
4:TRG-TRG
5:TRG-TSG
6:TRGVC
7:-
シャッタ-制御無し
TRG信号のみでシャッター制御
TRG信号とVD信号間にてシャッター制御
VD信号とTRG信号間にてシャッター制御
2発のTRG信号間にてシャッター制御
TRG信号とTSG信号間にてシャッター制御
TRG信号のみでシャッター制御 VD定期出力
0:NRM
シャッター制御を行わないモードです
シャッター制御が カメラ側でかってに行われる場合もこのモードにします
1:TRG
TRG信号のパルス幅にて シャッター時間が決定される または TRG信号は単にトリガ信号になるカメラに対応します
シーケンス起動にてすぐに カウンタ TRGW設定幅のTRG信号を発生します
TRG信号終了後 3~4H(HD時間)にVD信号を発生し 画像取り込みを行います
2:TRG-VD
TRG信号とVD信号間にて シャッター時間が決定されるカメラに対応します
シーケンス起動にてすぐに TRG信号が発生され カウンタ TRGW設定幅後にVD信号を発生します
TRG信号幅は TRGW カウンタクロック の1クロック分になります
3:VD-TRG
VD信号とTRG信号間にて シャッター時間が決定されるカメラに対応します
シーケンス起動にてすぐに VD信号が発生され カウンタ TRGW設定幅後にTRG信号を発生します
TRG信号幅は TRGW カウンタクロック の1クロック分になります
4:TRG-TRG
2発のTRG信号間にて シャッター時間が決定されるカメラに対応します
シーケンス起動にてすぐに TRG信号が発生され カウンタ TRGW設定幅後に2発目のTRG信号を発生します
TRG信号幅は TRGW カウンタクロック の1クロック分になります
2発目のTRG信号終了後 3~4H(HD時間)にVD信号を発生し 画像取り込みを行います
5:TRG-TSG
TRG信号とTSG信号間にて シャッター時間が決定されるカメラに対応します
4:TRG-TRGモードの2発目が TSG信号になります
6:TRGVC
1のTRGと同じですが VDは制御しません ノンリセットモードになります
RNDSTビットは シャッターシーケンスを一定的(VD毎)に発生させるか GETコマンドが発生された時のみ起動するかの設定になります
0:VD毎に起動 フリーラン
1:画像取り込み時のみ起動 ランダムトリガ ドンピシャモード
ストロボトリガ信号
SRB
シャッターシーケンスの起動から 一定時間後にパルスを出力します SRBはDIOコネクタ TTL出力です
2本のカウンタにて SRB信号を作成します カウンタクロックは HD信号です
SRBW
GSRB
8ビット
8ビット
D0~7
D0~7
SRB信号幅
起動からの遅延時間
- 12 -
3.10
入力レベル設定
入力信号のレベル調整はソフト設定となっています
設定は 8チャンネルの8ビット D/Aコンバータにて行います
SRコード 40~47h OUTポート8 D0~7 8ビットにてセットします
D/Aコンバータは 設定値00~FFhにて 0~3.3V 約13mVステップの電圧出力になります
SR:40h
SR:41h
SR:42h
SR:43h
SR:44h
SR:45h
SR:46h
SR:47h
(3.3V/255
12.94mV)
R A/Dコンバータ TOP(白) リファレンス電圧
G A/Dコンバータ TOP(白) リファレンス電圧
B A/Dコンバータ TOP(白) リファレンス電圧
R 黒レベルクランプ電圧
G 黒レベルクランプ電圧
B 黒レベルクランプ電圧
RGB A/Dコンバータ BOT(黒) リファレンス電圧
入力信号は アンプにより 1.9倍された後 SR:43~45hの黒電圧にDCクランプされA/Dコンバータ入力になります
A/Dコンバータは SR:40~42h,46hのリファレンス電圧 BOTOM~TOP電圧間を 00(黒)~FFh(白) 256階調に変換します
標準設定値は TOPリファレンス電圧 2.2V
BOTリファレンス電圧 0.7V
黒クランプ電圧
0.7V
設定値 AAh (170)
設定値 36h (54)
設定値 36h (54)
この設定値ですと A/Dコンバータの入力範囲は 2.2-0.7 1.5Vとなり 適正入力信号の映像電圧は 0.79V(1.5/1.9)となります
基準的に1Vppの映像信号の映像信号レベルは約0.7Vですが 一般的なカメラは少し高めの0.8V程度出力されています
例えば入力映像電圧0.7Vに合わせる場合は TOP電圧を 2.03V 設定値 157 とします
各電圧の設定範囲は TOP,BOT:0.6~2.7V クランプ:0.6~1.7V TOP-BOT:1.0~1.8V 程度にして下さい
この範囲外への設定は誤動作の要因になります
モノクロ入力は SR:41,44,46hの設定が有効になります
D/Aコンバータの設定には スティタス D0 SRBSYビットをチェックしながら設定する必要があります
1)
2)
3)
4)
5)
SRコード 40~47hセット
SRBSYビットチェック 1なら 0になる迄待つ
D/Aデータセット
設定チャンネル分 1)~3) 繰り返す
SRBSYビットチェック 1なら 0になる迄待つ
と設定して下さい
1チャンネル当たりの設定時間(BUSY時間)は数百μSです
電源ON時は 上記標準設定値にセットされています
- 13 -
3.11
画像取り込み
画像取込は コマンドポート(OUT 0)にて GETコマンドを発行します
センサー入力等により自動的に画像を取り込む場合は GTRG入力を利用します
SMOD7ビット 1にて GTRG入力にて画像を取り込むモードになります
GTGSL0~2 3ビットにて GTRG入力が選択できます
0:
1:
2:
3:
4:
5:
6:
DIOコネクタ TTL7
DIOコネクタ DIO7
パネルスィッチ
自動 HD
自動 VD
TTL,DIO信号は SPOL7ビットにて入力信号論理が設定できます
0:正
1:負
2本のカウンタにて GTRG信号を整形できます
GEXF
GEXD
8ビット
14ビット
D0~7
D0~13
GTRG信号フィルタ
〃
遅延
カウンタクロック HD信号
〃
HD/16信号
GEXFは 設定値幅以上の入力にて信号を有効とします ノイズ除去用フィルタになります
GEXDは 有効信号検出から 設定値幅遅延し 1クロックの信号を生成します センサー等の位置補正になります
各設定値 0の場合 フィルタ無し 遅延無しになります
カウンタ GEXDのカウンタクロックは HD信号の1/16周波数になります
ランダムシャッター等で外部取り込みを行う場合 前画像のGET中に入力されたGTRG信号は無効としています
それでも GTRG信号間隔が微妙になった場合は カメラ規定を満たさない誤トリガになる場合があります
EXGTMビットを1にセットすれば GTRG入力から次ぎのGTRG入力を無効とする時間を設定できます
VDSC
16ビット
D0~15
GTRG無効時間
カウンタクロック HD信号
GTGSL:4の場合 フロントパネルのスィッチ ONが 疑似GTRB信号になります
GTGSL:5,6の場合 自動的に疑似GTRG信号を発生できます
発生レートカウンタは GEXD値を使用します カウンタのクロックは 5:HD 6:VD になります
例えば GTGSL:6 GEXD:1000 と設定すれば VD信号1000パルス毎に疑似GTRG信号が発生されます
複数画面取り込みの場合の自動終了
GETコマンドでGMODビットがセットされた場合 複数画面取り込みとなります
複数画面取り込みの場合 GET終了はDMA転送の終了を検出してとなります
しかしシャッターやストロボ制御を行いながらの画像取り込みの場合 DMA転送の終了を検出する前に既に次のシャッターシーケンスは
起動してしまいます よって最後に余計なシャッター等が切られてしまいます
これを防ぐには AGSTPビットをセットし自動終了モードにしてください
自動終了モードの場合 AGSPカウンタ設定値分の画像取り込みで自動終了します
AGSP
8ビット
D0~7
自動取り込み面数
(0設定 256面)
取り込みカウンタ
8ビットカウンタです 画像取り込み1面毎に+1されます
INポート 14h にて読み出されます
OUTポート 14h 08h 実行にて 0クリアされます
- 14 -
3.12
DMA転送
画像取込されたデータは PCIバスを介して直接 システムメモリにDMA転送されます
DMA転送は PLX 9056 PCIチップに依存しています
DMAチャンネル 0を使用します
PCIチップ 内部ローカルレジスタ DMAチャンネル 0の設定が必要になります
オフセット
80h
84h
88h
8Ch
90h
A8h
DMA
DMA
DMA
DMA
DMA
DMA
Ch
Ch
Ch
Ch
Ch
Ch
0
0
0
0
0
用途
Mode
PCI Address
Local Address
Transfer Byte Count
Descriptor Pointer
Command/Status Register
設定値 DWORD(32ビット)
0000 1943
xxxx xxxx
0000 0000
xxxx xxxx
0000 0008
01/03
DMAモード
転送先 システムメモリ先頭アドレス
転送元 ローカルアドレス
転送バイト量
機能
コマンド/スティタス
PCIチップのレジスタは32ビット単位ですが メモリと同じで バイト単位,ワード単位のアクセス可能です
DMA転送前段に RGB 各1.2Mバイト分のバッファメモリが用意されています
GETコマンドにて入力されたデータは 一旦このバッファメモリにはいります
DMA転送はこのバッファメモリに入力されたデータに対して行われます
容量迄は蓄積可能ですので 転送落ちを防いでいます
DMA転送は32ビット 4バイト単位に行われます
1データ
各データは8ビット 1バイトであり4バイト単位にて扱われます
31
24 23
0
N+3データ
16 15
Rデータ
N+2データ
8 7
Gデータ
N+1データ
0
Bデータ
Nデータ
カラー
モノクロ
カラーデータの場合は 1ピクセル分のデータが 32ビット 1データになります
モノクロデータの場合は 4ピクセル分のデータが 32ビット 1データになります
PCIバスは リトルエンディアンですので システムメモリアドレスとの対応は 0:7~0 1:15~8 2:23~16 3:31~24 になります
COL3Dビットを1にセットした場合 カラーデータはRGBのみになり3バイト単位のデータになります
データも詰まりますので 4ピクセル分のデータが 3DWORDになります
31
N+1
N+2
N+3
Bデータ
Gデータ
Rデータ
24 23
N
N+2
N+3
Rデータ
Bデータ
Gデータ
16 15
N
N+1
N+3
8 7
Gデータ
Rデータ
Bデータ
0
N
N+1
N+2
Bデータ
Gデータ
Rデータ
M
M+4
M+8
GET中の 入力,DMA転送量は INポート 8,CH にて読み出す事ができます
ポート8: DMA転送バイトカウンタ
ポートC: 画像入力バイトカウンタ
各カウンタ 32ビット(下位4ビット 0)で GETコマンド発行時 0クリアされます
DMA画像転送データ量は PCIチップのDMA転送バイトレジスタ(オフセット 8Ch)の設定によります
画像入力 UNBW,VUBW 有効幅の設定が 画像入力データ量になります
この設定値は合わせて下さい 特に画像入力量よりDMA転送量が多い場合は不定データが転送される事になりますので注意して下さい
あくまで DMA転送は PCIチップのDMA転送バイトレジスタの設定値分行われます
DMA転送中は システムメモリにどれだけのデータ量が転送されたかは DMA転送バイトカウンタ値で判断して下さい
DMA転送終了は PCIチップ スティタスレジスタ (オフセット A8H) DONE D4ビットにて 判定します 転送中は 0です 終了にて 1になります
PCIチップのDMA転送バイトレジスタは読み出し可能ですが ダウンカウントされませんので 転送量の確認には使用できません
DMA転送バイトレジスタの設定値は バイト単位です
転送は 4ダブル゙ワード単位に行っていますので 16バイト単位に設定して下さい(下位4ビット '0')
例として 640x480の画像データのバイト量は モノクロの場合 4B000h(307200) カラーの場合 12C000h(1228800)となります
DMAチャンネル 0 PCIチップ内部ローカルレジスタ設定例
例として システムメモリ転送先アドレス 01800000h
1)
2)
DMAチャンネル 0をイネーブルにする
DMAモード,転送先他 各レジスタをセットする
3)
DMAスタートとする
転送データ量 0004B000h (モノクロ 640x480 307Kバイト) とします
A8h
80h
84h
88h
8Ch
90h
A8h
コマンドレジスタ
DMAモードレジスタ
PCIアドレスレジスタ
Localアドレスレジスタ
転送バイト量レジスタ
機能レジスタ
コマンドレジスタ
01h
00001943h
01800000h
00000000h
0004B000h
00000008h
03h
以上設定後 GETコマンドを発行します OUTポート0 80h または C0h,E0h 出力
DMA転送過程は INポート8 DMA転送バイトカウンタ値でチェックします 転送できたデータ分は自由にアクセスできます
DMA転送終了は PCIチップ ステイタスレジスタ(A8h) D4ビットでチェックします 1で終了です
但し あまり頻度高くスティタスやラインカウンタをチェックしますと 結果として PCIバスを占有する事になり DMA転送の邪魔をする事になります
せいぜい100μS毎程度のチェックにして下さい
- 15 -
DMA転送終了検出後 OUTポート0 に 00h を出力します
このコマンド発行は DMA転送が終了しても画像入力等が完結していない場合がありますので強制完結させます
画像入力等が完結されていない状態で次のGETコマンドを発行しますと誤動作になる場合がありますので注意して下さい
入力されたデータが順にそのままDMA転送されます
従ってカメラ入力が2:1インターレスの場合 メモリの前半に第1フィールド 後半に第2フィールドが転送されます(ITRGMビット 0の場合)
DMAモードをチェーンモードに設定する事により 連続取り込みも可能になります
80h 00001B43h
機能レジスタに次の DMAパラメータデータの格納されているメモリアドレスを設定しておきます
90h xxxxxxx9h
例えば 一面分のシステムメモリに 連続取り込みにて 新データを次々に上書きさせる場合の設定例を示します
システムメモリは 一面分のメモリエリア 及びテーブルエリアを確保します テーブルは PCIアドレス,Localアドレス,転送バイト量,機能レジスタ 4ダブルワード分です
例として システムメモリ転送先アドレス 01800000h
1)
2)
DMAチャンネル 0をイネーブルにする
DMAモード,転送先他 各レジスタをセットする
3)
DMAスタートとする
転送データ量 0004B000h
A8h
80h
84h
88h
8Ch
90h
A8h
テーブル格納メモリアドレス 01234000h とします
コマンドレジスタ
DMAモードレジスタ
PCIアドレスレジスタ
Localアドレスレジスタ
転送バイト量レジスタ
機能レジスタ
コマンドレジスタ
01h
00001B43h
00000000h
00000000h
00000000h
01234009h
03h
DMAスタート前に システムメモリ 01234000hには 次のDMAパラメータデータをセットしておきます
01234000h
01234004h
01234008h
0123400Ch
PCIアドレスレジスタ
Localアドレスレジスタ
転送バイト量レジスタ
機能レジスタ
01800000h
00000000h
0004B000h
01234009h
以上設定後 GETコマンドを発行します OUTポート0 C0h 出力
PCIアドレスや 転送バイト量を変える事も可能ですし パラメータデータを幾つもセットしておき つなぐ事も可能です
機能レジスタ値のD1ビットを1にセットすればチェーンは終了し DMA転送も終了します (最終機能レジスタ値 00000002h)
DMA転送終了検出後 OUTポート0 に 00h を出力します
- 16 -
RGB個別転送
カラーRGBデータをDMA転送の段階で別メモリ領域に分けて転送できます
BMMDビット(SR:0 D6)を 1にセットします バッファメモリがRGB別々にデータをバッファリングするモードになります
DMAの Localアドレスレジスタに次の3種類を指定できます
00000000h: Rバッファメモリ
00000010h: Gバッファメモリ
00000020h: Bバッファメモリ
チェーンモードにて適度なブロック単位に PCIアドレス,LocalアドレスをRGB毎に各変更しながらDMA転送する事によりRGBデータを別領域に転送で
きる事になります
1ブロックのDMA転送容量の基本は水平1~2ライン程度が適当です 小さくすると それだけチェーンデータ量が増えますしまた切換のオーバーヘッド
も無視できません 大きくすると 画像取り込みの終了に対する DMA転送の終了が遅くなります
例えば 入力が2:1インターレースの640x480 RGBデータを システムメモリ R:10000000h G:20000000h B:30000000h に転送する場合を示します
チェーンテーブルデータ領域としてシステムメモリに 480x3x16 約23Kバイト確保します
DMAレジスタ 80h DMAモードレジスタ 00001B43h 90h 機能レジスタ 01200009h(テーブル領域 01200000hとする)に設定します
チェーンデータ領域には 下記データをセットしておきます
01200000h
4h
8h
Ch
10h
4h
8h
Ch
20h
4h
8h
Ch
30h
4h
8h
Ch
40h
4h
8h
Ch
50h
4h
8h
Ch
60h
4h
xCh
PCIアドレス
Localアドレス
転送バイト量
次テーブル領域
PCIアドレス
Localアドレス
転送バイト量
次テーブル領域
PCIアドレス
Localアドレス
転送バイト量
次テーブル領域
PCIアドレス
Localアドレス
転送バイト量
次テーブル領域
PCIアドレス
Localアドレス
転送バイト量
次テーブル領域
PCIアドレス
Localアドレス
転送バイト量
次テーブル領域
PCIアドレス
Localアドレス
|
|
次テーブル領域
10000000h
00000000h
00000280h
01200019h
20000000h
00000010h
00000280h
01200029h
30000000h
00000020h
00000280h
01200039h
10000500h
00000000h
00000280h
01200049h
20000500h
00000010h
00000280h
01200059h
30000500h
00000010h
00000280h
01200069h
10000A00h
00000000h
00000002h
システムメモリ R領域 1本目
画像バッファメモリ R
水平 1ライン分 640
システムメモリ G領域 1本目
画像バッファメモリ G
システムメモリ B領域 1本目
画像バッファメモリ B
システムメモリ R領域 3本目(第1フィールド 2本目)
画像バッファメモリ R
システムメモリ G領域 3本目(第1フィールド 2本目)
画像バッファメモリ G
システムメモリ B領域 3本目(第1フィールド 2本目)
画像バッファメモリ B
システムメモリ R領域 5本目(第1フィールド 3本目)
画像バッファメモリ R
チェーン終了
RGBRGB....と順に1ライン単位に転送します 第1フィールド 240本分をセットします
次に 第2フィールド 240本分を同じ様にセットします 第1フィールドの間を埋める様にPCIアドレスをセットします 例えば Rの第2フィールド 1本目の
PCIアドレスは 10000280hになります
このDMA転送で RGBデータ領域が分離されると同時にノンインターレースデータに変換されています
- 17 -
DMA転送によるGETコマンド
画像取り込みをGMODビット 1にて連続取り込みとした時 途中 何らかの要因にて 取り込みデータ量に狂いが生じた場合 その後の
取り込みは全てその影響をうけてしまいます
GMODビット 0にて1フレーム単位に取り込みを行った場合は その都度イニシャライズされますので 前の取り込みの影響を受けなくなります
画像取り込みは 垂直有効領域の終了で終了します PCIバスの転送に余裕が有れば それ程遅れずにDMA転送も終了します
次の取り込みの受付は垂直信号の終エッジです 例えば EIA,NTSC規格の入力信号であれば この取り込み終了から次の取り込み受付
迄の時間は約1mS程度あります 従って この間に次のGETコマンドを発行できれば連続取り込みが可能となります
これを利用すれば 1フレーム取り込みを繰り返す事により連続取り込みとする事ができます
しかしソフトが他の処理に忙しく このコマンド発行が間に合わない場合が生じます
DMAのチェーンモードを利用しGETコマンドをDMA転送にて発行できます
Localアドレス
00000030h: GETCビット 0
00000034h: GETCビット 1
OUTポート0 00h と同等
OUTポート0 00h 80h と同等
GET終了処理
再GET発行
34hの場合 一旦 GETCビットを0クリアした後 再セットします
チェーンデータの 1フレームの取り込みデータの次に この転送データを埋め込む事により自動的に次GETコマンドを発行し つなぐ事ができます
xxxxxxx0h
4h
8h
Ch
xxxxxxx0h
4h
8h
Ch
xxxxxxx0h
4h
8h
Ch
PCIアドレス
Localアドレス
転送バイト量
次テーブルタ領域
|
|
PCIアドレス
Localアドレス
転送バイト量
次テーブルタ領域
PCIアドレス
Localアドレス
転送バイト量
次テーブルタ領域
xxxxxxxxh
00000034h
00000001h
xxxxxx19h
実在システムメモリ領域
再GET
1~4バイト
xxxxxxxxh
00000030h
00000001h
xxxxxxx9h
00000000h
00000000h
00000000h
00000002h
実在システムメモリ領域
GET終了
1~4バイト
チェーン終了(DMA終了)
あくまでDMA転送ですので 転送バイト量分のシステムメモリへのデータ転送は行われます(不定データ)
従ってPCIアドレスは壊されて良い領域を指定します
取り込みの開始は必ず OUTポート0 80h でGETコマンドを発行して下さい GMOD:1としますと誤動作になる可能性があります
この方法は 1フレームのDMA転送終了後に 次のGETコマンドの発行となります 従って DMA転送が次の垂直信号の終エッジ前に終了しなければ
連続取り込みには ならない事に注意が必要です
取り込みカウンタ値の付加
GCTENビットを1にセットすれば 画像データの先頭データを取り込みカウンタ値と置き換えます
先頭1バイトのみの置き換えです カラーの場合は Gの先頭データとなります
メモリに上書きで転送している等の場合 画像GETと転送データの相関をチェックするコードとして利用できます
- 18 -
3.13
ラインセンサカメラの接続
LINMDビットを1に設定すれば ラインセンサカメラモードとなります
想定されているカメラは NED,エクセル製ですが 同等のカメラであれば他メーカ製カメラも接続可能です
接続にはRGBコネクタ,カメラコネクタ 両方のコネクタの信号が必要となります
HD-A: RS-422出力信号
VD-A:
〃
HD-B:
〃
VD-B:
〃
LT+
LTCLK+
CLK-
映像信号はモノクロの場合 G/VIN
ライン信号+
〃
クロック信号+
〃
-
カラーの場合はRGBINに接続します
ビデオクロックの設定はエリアの場合と変わりません
原クロック作成選択後 CLKDV,CCKDVビットにて ビデオクロックとカメラクロックを設定します
CLKDVビットでビデオクロック CCKDVビットでカメラクロックの設定になります
例えば 2:1クロックのカメラで ビデオクロック 20MHz カメラクロック 10MHz 原クロック 40MHz であれば CLKDV:1/2 CCKDV:1/4 に設定します
LT(ライン)信号は
HDSC
HDPW
16ビット
8ビット
D0~15
D0~7
ライン信号繰り返しレート
ライン信号幅
に設定します カウンタクロックは CCLK(カメラクロック)です
ラインの 画像有効位置,幅は エリアカメラと同じ
UNBP
UNBW
10ビット
16ビット
に設定します
D0~9
D0~15
カメラ画像水平有効位置
〃
幅
カウンタクロックは VCLK(ビデオクロック)です 幅の設定値は下位4ビット0で16ドット単位の設定となります
取り込みはGETCビットで行いますがGMODビットの設定により取り込みモードが変わります
GMOD:0
GMOD:1
VUBW
垂直幅 VUBW カウンタ設定値分のライン取り込み後自動終了となります
GETCビットがセットされている間取り込みを続けます
16ビット
D0~15
カメラ画像垂直有効幅
どちらの場合もGETCビットを落とせばその時点で終了しますし DMAコントローラが転送終了となれば取り込みも終了します
GTRG入力を取り込みトリガとする事ができます [SMOD7:1]
この場合 GETCビットをセットしてもすぐに取り込まず GTRG入力を待って取り込み開始となります
WEN入力を 取り込みラインインデックス信号とする事ができます [SMOD6:1]
WEN入力があった次のラインを有効ラインとして取り込みます WEN入力の無いラインは無効ラインとして取り込みません
エンコーダ等の信号にて同期取り込みを行う場合等に利用できます
WEN
1
LT(ライン)
1
2
2
3
3
4
4
5
5
6
6
取り込み
上記でWEN入力の1で 2のラインが取り込まれます 以下 2-3 3-5 4-6 6-8 の関係になります
WENの5は 4の2重入力として無視されます ライン4,7はWENが無いため無効ラインとなります
WENの検出は信号立ち上がりエッジです 極性はSPOL6ビットで設定できます
- 19 -
7
8
3.14
DIO
DIOコネクタ
DSUB 9Pメス
ピンNO
1
2
3
4
5
6
7
8
9
信号名
DIO4
DIO5
DIO6
DIO7
TTL7
+12V
ICOM
OCOM
GND
用途
DIO 入出力信号
〃
〃
〃
TTL 入出力信号
電源
DIO 入力コモン
DIO 出力コモン
コモン
アイソレーション信号 -4
〃
-5
〃
-6
〃
-7
ノンアイソレーション信号 -7
ノンアイソレーション電源 MAX 0.1A
アイソレーション入力コモン + 5~24V
アイソレーション出力コモン ノンアイソレーション
DIOビットはフォトカプラによる アイソレーション入力信号です
VCCプルアップ
IN4
ICOM (MAX 30V) 電源+
2kΩ
R
DIO4
IN5
|
DIO5
|
DIO6
IN6
IN7
GND
R
DIO7
PCON
OUT4
R
OUT5
|
OUT6
|
OUT7
R
OCOM 電源-
4回路 1ブロックの構成です コモンはブロック単位になります
入力LED電流制限抵抗は2kΩ ICOMに24Vを接続した場合 約10mA
出力負荷 MAX 30V 30mA
TTLビット
5V
プルアップ
INB
TTL7
LV14
D
OUTB
* プルアップ抵抗 4.7kΩ
LS06
出力 74LS06 入力 74LV14 を使用し やはり双方向構成です
基本的にTTLレベルですが MAX 30V迄の信号電圧が接続可能です
入力 H:2.4~30V L:0~0.4V
出力 MAX 30V 30mA です
* DIO/TTL共
双方向構成です 入力として使用するビットは OUTビットを0に設定し出力OFFにして置きます
DIO
DIOビットは 入出力ポート 18hにて制御します
18h
D7
DIO7
D6
DIO6
D5
DIO5
D4
DIO4
D3
D2
D1
D0
入出力共 コネクタ端の信号レベルは負論理です
0:H 1:L
従って OUTビット 1にて フォトカプラ ONです 入力もフォトカプラONで入力ビット 1になります
電源ON時 出力フォトカプラはオールOFFです PCON:0
双方向ですので 初期設定時 入力ビットとして使用する DIOビットは 出力ビットを0に設定して下さい
OUTポート 18h 実行にて 出力フォトカプラもイネーブルになります PCON:1
OUTポート 14h 10h 実行にて 出力フォトカプラをディセーブルにできます PCON:0
- 20 -
TTL
TTLビットは 入出力ポート 04hにて制御します
D7
TTL7
04h
D6
D5
D4
D3
入出力共 コネクタ端の信号レベルは負論理です
D2
0:H
D1
D0
1:L
DIO/TTL信号はSMODビットの設定により 制御信号になります
制御ビット時のみ SDIR,SPOLビットにて 各信号の入出力,信号極性の設定ができます
制御ビット (SMODx:1)
7:
6:
5:
4:
GTRG
LWEN
PLS
SRB
外部取り込みトリガ入力
ラインセンサーモード時のエンコーダ入力 (LINMD:1のみ)
パルス出力
ストロボトリガ出力
ストロボトリガ出力は SRBSL0,1 2ビットにて出力信号が選択されます
0:-
1:-
2:-
3:DIO4
パルス出力は PLSSL0,1 2ビットにて出力信号が選択されます
0:-
1:-
2:-
3:DIO5
パルス出力
パルスセットは OUTポート 14 01hにて行います クリアは カウンタ値です
SHOT
8ビット
D0~7
パルス信号幅
カウンタクロックは SHTCKSにて選択します
3.15
0:HD
1:VD
シリアル制御
シリアル機能を持ったカメラを使用する場合のシリアル制御です
送受信データは ポート20にて IN/OUTします
ポート24にて シリアルスティタスビットがINできます
D0:RXRDY
D1:TXRDY
受信データ
送信データ
0:無
0:送信不可
1:有
1:送信可
受信データには数十バイト分の入力バッファが有りますので ある程度の貯め込みが可能です
ボーレートは
SRCK
SRCKカウンタにて設定します
D0~11
12ビット
カウンタ値にて 49MHzを分周し ボーレートの16倍のクロックを作成します
ボーレート
4.8k
9.6k
19.2k
クロック
76.8kHz
153.6kHz
307.2kHz
カウンタ値
639 (27Fh)
320 (140h)
160 (A0h)
シリアルの各モードを設定します
RXIE:
TXOE:
RXPOL:
RXDPOL:
RXSTTB:
RXPAR:
TXPOL:
TXDPOL:
TXSTTB:
TXPAR:
受信イネーブル
送信イネーブル
受信ライン信号極性
受信データ極性
受信スタートビット極性
受信データパリティ
送信ライン信号極性
送信データ極性
送信スタートビット極性
送信パリティ
0:ディセーブル
0:ディセーブル
0:正 1:負
0:正 1:負
0:正 1:負
0:無 1:有
0:正 1:負
0:正 1:負
0:正 1:負
0:無 1:有
1:イネーブル
1:イネーブル
RXIE,TXOEを1にセットすれば送受信可になります
一般的RS-232仕様であれば 各極性ビットの設定は0です
パリティビット有りの場合 受信パリティは無視しています(チェック無)
送信の場合も自動付加はしません 送信データのD8ビットにソフトでセットして下さい
- 21 -
3.16
割り込み
PCIバスを介してCPUに割り込みをかける事ができます
割り込み要因は I/Oポート 1Ch 下位5ビットにて制御できます
D0:VD
D1:GTRG
D2:DMAERR
D3:DMAEND
D4:GETF
垂直同期信号の前縁にて割り込みます
画像取り込み要因にて割り込みます
DMA転送にてエラーになると割り込みます
DMA転送終了にて割り込みます
入力終了(1画面)にて割り込みます
OUTポート 1Ch にて各要因をビット単位にイネーブル/ディセーブルできます
割り込み信号は 1本ですので OR になります
0:ディセーブル
1:イネーブル
INポート 1CH にて 割り込み要因がビットに反映されます (要因ビット 1)
割り込み要因が重なった場合は 複数ビット セットされます
INTMD:0時 INポート 1CH 実行にて読み出されたビットは自動的にクリアされます
INTMD:1時 OUT 14h D8~12 にて要因ビットクリアできます ビット配列は8ビットシフトされます (0:8~4:12)
1にセットされたビットのみクリアされます 割り込み処理ルーチン内で対応ビットのクリアを行って下さい
PCIのコンフィグデータは INTAにセットされています
割り込み機能を使用するには PCI チップの内部ローカルレジスタ設定が必要になります
PCIチップ レジスタ
INTCSR:68h
Interrupt Control/Status
上記割り込みをイネーブルにするには D11 Local Interrupt Input Enable ビットを 1にセットする必要があります
詳細は PCIチップ(PLX PCI9056)の マニュアルを参照して下さい
PCIチップのレジスタ設定により DMAの転送終了による割り込みを チップ自身から発生させる事ができます
上記 DMAENDは PCIチップの転送終了を外部回路にて検出していますので 100μS程度遅れます
従って PCIチップ自身にて発生させた方が早く検出されます
- 22 -
- 23 -