東京工業大学大学院理工学研究科基礎物理学専攻中村研究室メンバー

ホームページおぼえがきDAQ > CAMAC通信テスト

CAMAC通信テスト

中村研実験室のCAMACとPCが通信できているかを確かめる最も基本的なテストの手順を書いたおぼえがき。babarl DAQについては、を参照。

(書いたことをあまり見直していないので間違いがたくさんあると考えられる。)

構成

使用する装置は以下のとおり。検出器は用いない。ADCは、CAMAC Crateのステーションナンバー3番(左から3番のところ)に入っていると仮定する。

テストの手順

NBBQのbabarlDAQモードを用いて、CAMAC、PC間の通信テストを行う。NBBQ(Neo bb DAQ)とはRTlinuxでない普通のLinux上でも動くお手軽DAQシステム。検出器のテストなどのDead Timeを気にしないDAQに向く

■ PC起動

  1. PCに電源が入っていない場合、PC前面にある電源を入れる。前面には、二つボタンがあるが、上の方の直径15mm程度の円形のボタンが電源である。01の電源マークがあるのでわかりやすい。
  2. 電源を入れたら、OSの選択画面において、矢印キーでrtlinuxを選択し、Enterを押す。起動画面において、エラーメッセージが出たりする箇所があるが気にしない(サウンド関係のもの)。
  3. 起動したら、コンソール画面(コマンドが打てる黒い画面)上に camac login: _ と表示されるので、ripsと入力し、Enterを押す。Password: _ と聞かれるので、パスワードを打つ。ripsのパスワードは、PCの画面右に張ってある(rootのパスワードが知りたいときは、小林、または佐藤氏に聞く)。以上で、ユーザー: ripsとしてログイン完了。
  4. グラフィカルな操作ができると便利なので、コマンド: $ startx でX Window Systemを立ち上げる。これで、GUI環境が使え、インターネットも使用可能。

メモ)カーネルのバージョン確認は、コマンド: $ uname -r と打つ。

■ NBBQ準備

NBBQの使い方はに書いてあるが、ここでは手順を詳しく書く。また、ステーションナンバー3番にADCを入れたと仮定する。

  1. ktermのアイコン(パソコンのディスプレイをあしらったアイコンで、その画面には「漢あ」と表示されている)から、ktermを起動する。以下のようなコマンドをうち、作業するディレクトリを作る。(ここでは、testというディレクトリを作った。既に存在する場合は、test2などのディレクトリを作る。)
  2. $ cd ~/
    $ mkdir test
    
  3. testディレクトリにsetupというファイルをつくり、以下の内容をコピーする。元のファイルはの「お手軽DAQセットアップ」からコピーした。setupファイルができたら、testディレクトリ内でコマンド: $ nbbqsetup setupを実行し、設定ファイルを作る。
  4. ファイル名: setup
    # Setup file for nbbq auto setup program.
    bbrl
    
    # Crate Controller
    CC7700
    
    # setting of LAM source
    # LAMN  : station number(N) of LAM module
    # LAMA  : sub-address(A) for clear, enabel lam, disable lam ...
    # LAMCF : functoin(F) of module clear
    # LAMEN : function(F) of enable LAM
    # LAMDA : function(F) of disable LAM
    LAMN  : 3
    LAMA  : 0
    LAMFC : 9
    LAMEN : 26
    LAMDA : 24
    
    # setting of output register
    # if use output register, set OPRN
    # OPRN : station number(N) of output register
    # OPBUSYCL : output value for busy clear signal
    
    # OPRN     : 22
    # OPBUSYCL :  1
    
    # setting of ADC,QDC,TDC etc...
    # max 3 modules, READ1N [READ2N] [READ3N]
    # READxN  : station number(N)
    # READxL  : length of data (channel number)
    # READxAR : sub-address(A) of read function
    # READxFR : function(F) of read function
    # READxAC : sub-address(A) of clear function
    # READxFC : function(F) of clear function
    # module 1
    READ1N  : 3
    READ1L  : 8
    READ1AR : 0
    READ1FR : 0
    READ1AC : 0
    READ1FC : 9
    # module 2
    # READ2N  : 4
    # READ2L  : 8
    # READ2AR : 0
    # READ2FR : 0
    # READ2AC : 0
    # READ2FC : 9
    # module 3
    # READ3N  : 5
    # READ3L  : 8
    # READ3AR : 0
    # READ3FR : 0
    # READ3AC : 0
    # READ3FC : 9
    

    ここでファイルの内容についておぼえがく。まず、# で始まる行はコメントでありその行は無視して考える。

    ファイルの始めにある下記の文は、データ収集のモードと、使用するクレートコントローラを表している。

    bbrl
    CC7700
    

    bbrlモードでクレートコントローラCC/7700を用いてDAQするという意味。しかし、データ収集のモードはbbrlしか選択できない模様。ちなみに、クレートコントローラとしては、TOYO CC/7700か、Kinetic K3912+K2915の二つからしか選べないかも?Kinetic K3912+K2915を使用する場合は、CC7700の部分をK2915と書き換える。

    下記は、LAMモジュールについての設定を書いている。

    LAMN  : 3
    LAMA  : 0
    LAMFC : 9
    LAMEN : 26
    LAMDA : 24
    

    (以下、曖昧。)

    LAMモジュールのLAMはLook At Meの略で、このモジュールにデータがあるか否かをクレートコントローラが監視し、もしあればPCにデータが送信される。すなわち、モジュールのデータがPCに送信されるタイミングは、LAMモジュールの状態によって決定される。例えば、LAMモジュールにデータがある場合、他のモジュールにデータがなくとも、すべてのモジュールからクレートコントローラを介してPCにデータが送信される。また、他のモジュールにデータがあっても、LAMモジュールにデータがなければ、一切のデータはPCに送信されない。

    通常LAMモジュールは、CAMACクレートに挿入されている複数のモジュールの中から一つを選び指定する。(通常は一つだが、複数選べるんだろか?)ここでは、LAMモジュールとして、CAMACクレートのステーションナンバー3番に入れたADCを選択した(選択するも何も、一個しかモジュールを挿入してないけど)。これは、LAMN : 3の部分に対応する。もしADCをCAMACクレートのステーションナンバー4番に入れたならば、LAMN : 4とすればよいかも。

    LAMA : 0、LAMFC : 9、LAMEN : 26、LAMDA : 24の部分は、LAMモジュールを操作するときに送信する信号を設定している。例えば、LAMFC : 9の部分は、「モジュールをクリアするときは9という信号をADCに送る」ということを表している。言い換えれば、LAMモジュールは9という信号が送られてきた場合、モジュールをクリアする。この9という数字の持つ意味を調べるには、ADCのマニュアルを読めばよい。マニュアルは、インターネット上にある場合もある。ただし、LAMA : 0、LAMFC : 9、LAMEN : 26、LAMDA : 24の設定は、たいていのADCなら同じかも?つーかLAMFC : 9、LAMEN : 26、LAMDA : 24あたりはCAMAC規格で決まっているかも?

    LAMA : 0の意味は、よくわからない。LAMFC : 9は、モジュールのクリア?つーか何をクリアしてるんだろか。LAMEN : 26は、ただのモジュールだったADCを、LAMモジュールとして覚醒させる信号?LAMDA : 24は、LAMモジュールを不能にする?

    下記は、ADCからデータを読み込むときの設定をしている。

    READ1N  : 3
    READ1L  : 8
    READ1AR : 0
    READ1FR : 0
    READ1AC : 0
    READ1FC : 9
    

    READ1N : 3 の部分はADCの入っているステーションナンバーを設定している。READ1L : 8 の部分はADCの入力チャンネル数を設定している。16CHのADCを使用するときは、READ1L : 16とすればよいかも。16CHのADCを使用し、READ1L : 2とすれば、16CHのうち2CHだけが使えるようになるようだ(あんまり確認していないけど)。READ1AR : 0、READ1FR : 0、READ1AC : 0、READ1FC : 9の部分はとくにいじらなくてよいかも?触らぬ神に祟りなし。今回はただの動作確認のため、アウトプットレジスタの設定はコメントアウトした(OPRN : 22、OPBUSYCL : 1の部分)。

    以上ごちゃごちゃ設定したが、CAMACとの通信が出来ているかを確認するためだけなら、CAMACモジュールを全部抜き、以下の内容をsetupファイルに書くだけでよいかもしれない。試していないけれども。

    bbrl
    CC7700
    
    
  5. コマンド: $ nbbqinst を実行し、設定ファイルをインストール($ nbbqsetupにてコンパイルされたモジュールをカーネルに組み込む?)。これで、NBBQが使える状態になる。もし$ nbbqinstでエラーが表示される場合は、既にNBBQがロードされている可能性があるので、コマンド: $ nbbqrst にて再インストール。

■ NBBQ起動

  1. CAMACモジュールの電源を入れ、クレートコントローラのスイッチをONLINEにする(NBBQ起動時にONLINE/OFFLINEの切替えを行うと高確率で故障するらしい)。前述のtestディレクトリにてコマンド: $ bbrlcom と打つと、NBBQが起動する。Command: と聞かれるので、nsstaと入力する。
  2. これで、データを保存しないモードでのDAQが始まり、クレートコントローラのEIランプが点灯する。これによって、CAMACとの通信ができていることがわかる。DAQを停止するときは、stopとコマンドを打つ。

■ NBBQおよびPC終了(通常は電源を切ってはならない)

  1. stopコマンドにてDAQを終了したら、exitと入力しNBBQを終了させる。さらに、exitを打てば、ktermが終了する。
  2. PCを終了するには、まずデスクトップ画面上で右クリックして、メニューから終了 > 終了を選択する。これで、X Window Systemが終了し、コンソール画面に戻る。コマンド: $ shutdown -h now と打つと、PCが終了する。ただし、ユーザー: ripsのパスワードを聞かれるので、画面の右に張ってある紙を見てパスワードを入力。
  3. System haltedと表示されたら、PC前面にある電源を押し、電源を切る。ぐっと奥まで押さないと、再び起動してしまうので注意。
注意)PCには昔の実験データが入っており、ネットワーク上で利用している人がいるため、通常時は電源を切ってはならない。

参考文献・webページ


ページ制作履歴
2007/10/28 制作開始
2007/11/?? webにアップ
2007/11/12 setupファイルあたりを修正
2007/11/13 ページを分割、新しいページになった