目次
PVME-632は、インターニックス株式会社殿の16ビットのD/Aを搭載したD/Aボードです。アナログ側とデジタル側はフォトカプラおよび絶縁型DC/DCコンバータにより完全にアイソレートされています。
これから紹介するデバイスサポートは、このボードを「とりあえず」EPICSで使うためにtobiyamaが書いたものです。既に多くの偉大な先達がお書きになったデバイスサポートを参考にしています。本ボードは色々な機能を持っていますが、以下のデバイスサポートは全てのモード変更には対応していません。
- アクセスモードはA24 Supervisor-Dataのみ。
上記と違うモードで使用するためには、デバイスサポートを変更する必要があります。
PVME-321を操作する上で必要な各レジスタについて紹介します。詳しくはPVME-632のユーザーズ・マニュアルをご覧下さい。ベースアドレス(BASE_IO)は省略しますが、あるアドレス(例えば0x01)が書いてある場合、BASE_IO+0x01だと思って見て下さい。特に断らない限り、unsigned charアクセスをしていると思って下さい。
- DATA-REG 0 (CH0) (0x00)
- DATA-REG 1 (CH1) (0x02)
- DATA-REG 2 (CH2) (0x04)
- DATA-REG 3 (CH3) (0x06)
- DATA-REG 4 (CH4) (0x08)
- DATA-REG 5 (CH5) (0x0A)
- DATA-REG 6 (CH6) (0x0C)
- DATA-REG 7 (CH7) (0x0E)
- DATA-REG 8 (CH8) (0x10)
- DATA-REG 9 (CH9) (0x12)
- DATA-REG 10 (CH10) (0x14)
- DATA-REG 11 (CH11) (0x16)
- DATA-REG 12 (CH12) (0x18)
- DATA-REG 13 (CH13) (0x1A)
- DATA-REG 14 (CH14) (0x1C)
- DATA-REG 15 (CH15) (0x1E)
- LOAD-REG (0x20)
全チャンネル一括ロード設定時にD/Aの出力データを同時に出力を実行するレジスタです。ライト・アクセスで実行されます。
- STS-REG (0x22)
D/Aコンバーターへのデータのロード状態を参照するレジスタです。アクセス設定で高速アクセスを設定した場合に参照してD/Aデータの書き込みを行います。Normalモード時は参照する必要はありません。書き込み可能なとき0ビット目が0になります。0ビット目が1の時データを書き込むとそのデータは無効となります。
- ZERO-RESET-REG (0x24)
強制0V出力を設定するレジスタです。電源投入時及びシステムリセット時は0V出力に設定されています。0ビット目に0を書くと強制0V出力になります。出力を出すためには0ビット目に1を書かなければなりません。
本デバイスサポートは、EPICS R313用です(R312で動かない理由はないと思いますが)。EPICSそのものに対する説明、入門出家入道については専門家に帰依するなり、コントロールグループのページをご参照されるなり、各自ご努力ください。また、IOCはPPC750でのみテストを行っています。
本デバイスサポートについては、あまり目新しいところはありませんので、source fileを示すことで、コードの説明とさせていただきます。
ボードの設定
- コントロールバス : VME
- D/Aデータロード:単チャンネルロード
- アクセス設定:ノーマルアクセス
- アドレス形式: スタンダード・アドレッシング
- アナログ出力は+-10V(バイポーラ)
設定がバイポーラなので、出力コードはオフセットバイナリとなります。このため、
以下の変換ルーチンを使用しています。
static unsigned short inpconv(indata)
long indata;
{
if (indata>32767)
return(65535);
else if (indata <-32768)
return(0);
else
{
return(indata + 32768);
}
}
このデバイスサポートで使うデータベースをまとめると、以下の様になります。
Database | Name | S | function | SCAN | DTYP | その他
|
---|
bi | $(USER):DA16:DATAOK | 0 | DAC status read | Passive | PVME632 | Not used
|
bi | $(USER):DA16:OUTPUT_R | 1 | Forced-zero status | 10 second | PVME632 |
|
bo | $(USER):DA16:SYNCOUT | 0 | Synchronos output trigger | N/A | PVME632 |
|
bo | $(USER):DA16:OUTPUT | 1 | Forced-zero output | N/A | PVME632 |
|
longout | $(USER):DA16:CH0 | 0 | CH0 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH1 | 1 | CH1 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH2 | 2 | CH2 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH3 | 3 | CH3 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH4 | 4 | CH4 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH5 | 5 | CH5 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH6 | 6 | CH6 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH7 | 7 | CH7 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH8 | 8 | CH8 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH9 | 9 | CH9 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH10 | 10 | CH10 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH11 | 11 | CH11 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH12 | 12 | CH12 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH13 | 13 | CH13 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH14 | 14 | CH14 data output | N/A | PVME632 |
|
longout | $(USER):DA16:CH15 | 15 | CH15 data output | N/A | PVME632 |
|
汎用16チャンネル16ビットDAC-PVME632のデバイスサポート及びEPICSデータベースの概略を紹介しました。ご質問等はMakoto Tobiyamaまでお寄せ下さい。
Makoto Tobiyama
02/Feb/2001
Return to FB Home Page...