* AMT-VME [#qff10614]

Atlas Muon TDC として開発されたチップを VMEのボードとして実装したものが、AMT-VMEです。


- 制作者、KEKの[[新井氏のページ>http://research.kek.jp/people/araiy/indexj.html]]
-- [[AMT-VMEのページ>http://research.kek.jp/group/atlas/tdc/AMT-VME/]]


* High rate 環境下で使用する場合の問題 [#f81ce552]

AMT-VME ボードは、チャンネル単価が約5000円とこの手のモジュールとしては安価なものです。
そのため、うちの研究室でも多数購入して使用しています。

通常の使用ではあまり顕著では無かったのですが、common stop で高レート環境下で使用すると TDC が想定されない値になるという現象があります。
AMT chip の制作者である新井氏相談後、ボードの制作会社である株式会社アムスクの協力により AMT-VME ボードを制御している DSP 及びCPLD のプログラムを入手できました。

実験データでのTDC分布及び、プログラムの解析の結果分かった事と対策を以下に記します。


** 現象 [#zcb3b835]

*** NKS2実験での測定条件 [#y1871935]

我々は、NKS2実験でドリフトチェンバーの時間測定のために AMT-VME ボードを使用しています。
NKS2 実験は標識化実光子ビームを用いたハドロン物理の研究を行っており、ビームレートは標識化された光子(0.8-1.1 GeV の領域)に対するのカウンターのレートで 1~3 MHz になります。
実際は、標識化されていないものが約2, 3十倍 あり、標識化ビーム 1MHzでドリフトチェンバーでの 1 チャンネル辺りのシングル・レートが平均約10kHz、最大50kHz です。
この環境下で、一台のPC辺り12枚あるいは14枚のAMT-VME ボードを読み出しています。

*** TDC 分布 [#v9c3467f]

測定するTDCのレンジは、Module Control parameter の Time range count という変数を VME 側から指定することで変更可能です。
Time range count は、12 bit の整数で、1カウント 25 ns の時間幅を持っています。
これは、AMT chip 内でのカウンターの時間幅がクロックでそろえてあるからで、40MHz クロックを使用していることによります。
NKS2 実験のシステムでは、チェンバーのシグナルが AMT-VME に入ってから、common stopが来るまで約 1 μs の遅れがありますので、Time range count は、 0x25 (= 37, 925 ns) のレンジに設定しています。
TDC の時間幅は、クロックを PLL で 1/32 にしたものを使用しています。
つまり、TDC 1 ch = 25/32 = 0.78125 ns の時間幅を持っていますので、TDC のレンジは 1200 ch 以下に収まると予想されます。
 
#ref(AMT-VME/AMT-VME_TDC_distribution_s.png,right,around)

測定されたデータを見てみると、0x1000辺りから 0x1FFFF までと、0xF0000辺りから 0xFFFFFまでの間にもヒットがあります。
結論からいうと、これは common stop が入った後も AMT chip が測定を続けておりそのために出てくるマイナスの値です。

AMT-VME ボードでは、入力 64 ch を 三つのAMT chip で請け負っていて(0-23, 24-47, 48-63 ch に対応、AMT0, AMT1, AMT2 と呼ばれている)、そのほかに common start/stop の時刻測定の為だけに 一つの AMT chip (AMT3 と呼ばれている)が使用されています。
ボード上の DSP プログラムは、四つの AMT chip のステータスを監視していて、AMT3 がレディーになればその時間情報を取り出し、AMT0, AMT1, AMT2 の時間情報を読んだ後に、時間差を計算しデータとして整形したあとメモリに書き込みます。

AMT chip 内での時間のカウンターは 12bit の coarse counter と 5 bit の fine counter、併せて17bit のカウンターを持っています。
一方、DSPの内部では、32bit の整数で処理をした後 20 bit の整数に整形しています。
カウンターのウインドウの位置により、17 bit のマイナスの値に成る場合と、20 bit のマイナスの値に成る場合があり、その結果として 0x1FFFF 以下と 0xFFFFF 以下の 領域二ヶ所に変な値が分布することになります。

common stop のシグナルは、AMT3 に入ると共に、CPLD で処理クロックと同期した後に各 AMT chip の trigger に入力されています。
AMT chip は、trigger にシグナルが入力されると、それまで 内部の Level 1 buffer に貯められていた hit 情報と、trigger matching を行い、条件に合った物だけが Readーout FIFO に送られます。

Matching に関するパラメータは、mask_window, search_window, matching_window の三種類があります。
この三つの変数は AMT chip の CSR レジスタで変更可能ですが、現在アムスクから出荷されているAMT-VMEボードに実装されている DSP プログラムではVME側から変更することが出来ません。
値はそれぞれ、
 CSR1: mask_window = 0
 CSR2: search_window =2038(AMT0-2), 2056(AMT3)
 CSR3: matching_window = 2030(AMT0-2), 2048(AMT3)
に固定されています。

この matching_window は、trigger timing から後に開いている windows ですが、trigger timing のカウンターは、coarse counter に対して、 bounch_count_offset で指定される値分だけ遅らせられます。
AMT-VME ボードでは、bounch_count_offset は、Time range count 分だけマイナス方向にずらしてあります。

NKS2実験では、Time range count は約 1 μs ですので、そこから matching_window の時間だけ AMT chip は ヒット情報を Read-out FIFO に送ります。
つまり、common stop から約 49 μs も後の方にタイム・ウインドウが開いており、common stop 後のヒット時刻を記録し続けることになります。
これが原因となり、非常に高レートの環境下では、マイナス時刻のヒットがTDCとして出てき、イベントサイズの増加とそれ伴う DAQ 効率の低下が問題となりました。


** 対策 [#tbbd0316]


トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS