アドレス | Write/Read | データ | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
0x**(**00)00000 | (R/W) | **** | CH3:ADデータ | **** | CH1:ADデータ | ||||||||||||||||||||||||||||
**** | Ch3 | **** | CH1 | ||||||||||||||||||||||||||||||
0x**(**00)1FFC | **** | CH3:ここまで(2kワード時) | **** | CH1:2k | |||||||||||||||||||||||||||||
**** | Ch3 | **** | CH1 | ||||||||||||||||||||||||||||||
0x**(**00)FFFFC | **** | CH3:ここまで(256kワード時) | **** | CH1:256k | |||||||||||||||||||||||||||||
0x**(**01)00000 | (R/W) | **** | CH4:ADデータ | **** | CH2:ADデータ | ||||||||||||||||||||||||||||
**** | CH4 | **** | CH2 | ||||||||||||||||||||||||||||||
0x**(**01)1FFC | **** | CH4:ここまで(2kワード時) | **** | CH2:2k | |||||||||||||||||||||||||||||
**** | CH4 | **** | CH2 | ||||||||||||||||||||||||||||||
0x**(**01)FFFFC | **** | CH4:ここまで(256kワード時) | **** | CH2:256k | |||||||||||||||||||||||||||||
0x**(**10)***** | R/W | * | コントロール(W)/ステータス(R) | ||||||||||||||||||||||||||||||
0x**(**11)***** | R | * | トリガポインタレジスタ(R) |
入力電圧 | ディジタル出力 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(MSB) | (LSB) | |||||||||||||||
+1.25V | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
0V | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
-1.25V | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | 10 | 9 | トリガー前 | トリガー後 |
---|---|---|---|---|
0 | 0 | 0 | 0% | 100% |
0 | 0 | 1 | 12.5% | 87.5% |
0 | 1 | 0 | 25% | 75% |
0 | 1 | 1 | 37.5% | 62.5% |
1 | 0 | 0 | 50% | 50% |
1 | 0 | 1 | 62.5% | 37.5% |
1 | 1 | 0 | 75% | 25% |
1 | 1 | 1 | 87.5% | 12.5% |
14 | 13 | 12 | メモリー容量 |
---|---|---|---|
0 | 0 | 0 | 2048 |
0 | 0 | 1 | 4096 |
0 | 1 | 0 | 8192 |
0 | 1 | 1 | 16384 |
1 | 0 | 0 | 32768 |
1 | 0 | 1 | 65536 |
1 | 1 | 0 | 131072 |
1 | 1 | 1 | 262144 |
最初にメモリー書き込みが終了しているか(bit2が1か)、あるいは読み取り状態になっているか(bit0が0)かを判断します。どちらも満たされない場合はエラーで読み取りは行いません。
このボードはリングメモリーになっていますので、デバイスサポート内で、ストップアドレス、およびトリガポインタをもとにデータの並べ替えまでを行っています。このため、waveformになった段階ではarrayの先頭が常に一番古いデータとなります。トリガポイントについては、設定値からユーザーが換算し直してください。
なお、このwaveformレコードのレコード長は大変長大で今のところchannel accessでは直接読めません。データの取り出しは読みとれる長さ(2048)のcompact subarrayをつかい、INDXフィールドを変えながら順次読みとることになります
dbdファイルの中で次のように定義します。
device(bo,VME_IO,devBo17k82,"V17K82") device(longin,VME_IO,devLi17k82,"V17K82") device(longout,VME_IO,devLo17k82,"V17K82") device(mbbiDirect,VME_IO,devMbbi17k82,"V17K82") device(waveform,VME_IO,devWf17k82,"V17K82")初期化ファイルはdev17k82Cnfigで、ベースアドレスが0x23000000で1枚使うとすると、
dev17k82Config(1,0x23000000)
の様に指定します。なお、このボードは1枚で2Mバイトもの領域を占有しますので、 他のボードと干渉しないよう特段の注意が必要です。
dbLoadRecords("fbppcApp/Db/FB_ADC2.db","USER=FBH: , CHAN=C0") dev17k82Config(1,0x23000000) iocInit
trigger position、memory sizeを選び、Trigger SourceをexternalにしてTrigger Enableにします。この場合、トリガーは50%、memory sizeは256にしました。Triggerが入るまでは、ADCはwait状態です。なお、Clockは100kHzです(RF/5120)。
triggerが入ると、AD変換が終わるまでTrigger Busy、またADCもwait状態です。なお、exampleのデータベースですと、statusのscanは1秒周期なので、256kサイズでなければこの状態を見ることはまずなく、すぐにAD終了後の次の画面になります。
AD変換が終了すると、AD変換完了画面になります。まだ、ADCからIOCへのデータ転送は行っていません。
Read ADCボタンをクリックすると、
結果を表示します。