VVCRS(4) — UNIX Programmer’s Manual
名称
vvcrs − NWB-226 VTR コントローラインターフェース
形式
/dev/vvcrs[01]
#include <newsvme/vvcrsreg.h>
解説
vvcrs インターフェースは、VTR コントローラ (NWB−226) に対する 制御を行なうためのものです。 スペシャルファイル /dev/vvcrs0, /dev/vvcrs1 は、 NWB−226 のチャネル A, B にそれぞれ対応しています。
NWB−226 に接続された VTR は、「9 ピン RS−422 コネクタプロトコル」のコマンドで 制御されます。 基本的な操作は、 基本ライブラリ vc(3x) でサポートされています。
このデバイスを制御するための一般的な手順は、
1. 使用するチャネルのデバイスをオープンする。
2. ファームウェアプログラムをダウンロードし、実行する。
3. 基本ライブラリを用いて VTR を制御する。
4. デバイスをクローズする。
となります。
このデバイスを使用するのに必要な定数は 次のヘッダファイルに記述されていますので必ずインクルードしてください。
#include <sys/types.h>
#include <sys/ioctl.h>
#include <newsvme/vvcrsreg.h>
構造体 vcio
struct vcio {
int vc_flags;
int vc_zaddr;
int vc_count;
u_char ∗vc_buf;
};
vc_flags
実行要求フラグ
vc_zaddr
パラメータを送信するアドレスを指定します。
指定できるアドレスは、
0xc2540000〜c25407fdNWS−800/900/1800/1900
0xd2540000〜d25407fdNWS−1700
です
vc_count
パラメータの個数を指定します
vc_buf
パラメータの格納されているバッファの先頭アドレスを指定します
デバイスのオープン
基本ライブラリに用意されている vtr_open 関数を使用します。
int n;
vtr_open(n)
引数 n は VTR のチャネルを表し、n = 0 の時チャネル A を、 n = 1 の時 チャネル B を表します。 この関数では、正常終了したときはファイルディスクリプタを エラーの時は −1 を返します。
ファームウェアプログラムのダウンロード、実行
基本ライブラリに用意されている vtr_load 関数を使用します。
int fd; /∗ vtr_open 関数によるファイルディスクリプタ ∗/
vtr_load(fd)
デバイスのクローズ
基本ライブラリに用意されている vtr_close 関数を使用します。
int fd; /∗ vtr_open 関数によるファイルディスクリプタ ∗/
vtr_close(fd)
ioctl システムコール
VCIOCZRST
VTR ファームウェアプログラムをリセットします
ioctl(fd, VCIOCZRST, 0);
VCIOCZRUN
VTR ファームウェアプログラムのリセットを解除します
ioctl(fd, VCIOCRUN, 0);
VCIOCPUT
デバイスの指定されたアドレスに指定された個数のパラメータを書き込みます
ioctl(fd, VCIOCPUT, &vcio);
VCIOCGET
デバイスの指定されたアドレスから指定された個数のパラメータを読み取ります
ioctl(fd, VCIOCGET, &vcio);
VCIOCSCMD
基本ライブラリで用意されていない「9 ピン RS−422 コネクタ プロトコル」の関数を使用したいときに用います。
ioctl(fd, VCIOCSCMD, &vcio);
関連事項
"「 VTR コントロールインターフェースボード NWB−226 ソフト ウェア説明書」"
"/usr/sony/demo/NWB−226/README"
vc(3x)
エラー
VTR コントローラが起動されている状態で NEWS 側を reboot しようとすると NEWS が立ち上がらなくなることがあります。 このようなときは、一度 VME ボックスと NEWS の電源を 落としてから、再度起動してください。
NEWS-OSRelease 3.3