Locked History Actions

Interrupt

Interrupt

  • VME で Interrupt をかける際のメモ。Babirl (RIKEN RIBF 標準の DAQ system) で使うことを想定。

Memo

  • LUPO と Mesytec MADC32 を一緒に使って Interrupt を書ける場合、モジュールを挿す位置によって、Interrupt がかからない場合があるらしい。LUPO で interrupt をかけたい場合、VME controller と LUPO の間に MADC32 を入れてはいけない?同じように、MADC32 で interrupt をかけたい場合、VME controller と MADC32 の間に LUPO を入れてはいけない?とにかくこれらは相性が悪いらしい。
    • --> チェックが必要。

  • Interrupt の解除のされ方には2種類ある。
    1. Release On ACKnowledge (ROAK or ROACK)
    2. Release On Register Access (RORA)
    3. ROAK は interrupt vector を read しないと interrupt が解除されない。よって、babirl の場合 evt.c で以下のように書く必要がある。
    4. void evt(void){
        /* Event */
      
        vme_read_intvector(); // read interrupt vector
      
        init_event();       // Initialize Event
      ...
      }
    5. RORA は モジュールにアクセスした段階で interrupt が解除される。
      • RORA: CAEN のモジュール
      • ROAK: Mesytec MADC32, RPV130
    6. 参考: http://www.ni.com/support/vxi/iack/iack.htm