SPADI-A Wiki/SPADI-A DAQ マニュアル/ソフトウェア/DAQの設定/Jitter cleanerの設定


Jitter cleaner の設定

新品の AMANEQ を購入してから、HR-TDC、MIKUMARI Primary, MIKUMARI Hub の Firmware を AMANEQ 本体の FPGA に書き込む前に、Jitter cleaner IC (CDCE62002) の設定を行う必要がある。(これを設定しないと、例えば HR-TDC の Firmware を書き込んでも SiTCP-XG の ping が通らない。)この設定は、新品の AMANEQ を購入してから一度だけ設定すれば良い。AMANEQ User Guide によると、"このICは不揮発性メモリを持っているので、一度設定を書き込んだら以降のアクセスは必要ありません"とのこと。

準備

Jitter cleaner の設定は、hul-common-lib の set_cdce62002 コマンドで行う。そのため、事前に hul-common-lib をインストールしておく必要がある。また、ジッタークリーナーを設定するために、AMANEQ の skeleton firmware の bit ファイルを書き込む。(mcs ファイルを書き込んでも良いが、bit ファイルは書き込み時間が短いため、こちらの方が効率的である。) bit ファイルの書き込みには Xilinx Vivado が必要であり、事前に用意しておく。Mezzanine board は取り付けない。特に HR-TDC 用 Mezzanine board は FPGA が載っており、変に繋がると想定しないことが起こる可能性があるため、取り付けないのが無難である。

設定方法

  1. DIPスイッチは以下の写真のように、 DIP1: 0 (ON), DIP2: 1 (OFF), DIP3: 1 (OFF), DIP4: 1 (OFF) としておく。
    amaneq_recieving_03.jpg
    この設定は、SiTCP default IP (192.168.10.16) を使用するための設定である。
  2. AMANEQ ボードに SFP モジュール (1 GbE 用のもの) を挿して、光ケーブルをネットワークスイッチつなぐか、もしくはSFP - RJ45変換をかませてメタルの LAN ケーブルをコンピュータに繋ぐ。ここで、10 GbE 用の SFP+ モジュールを挿しても通信できないので注意する。
  3. Xilinx の FPGA ダウンロードケーブルで AMANEQ 本体の JTAG とコンピュータの USB コネクタを繫ぐ。 その後、AMANEQ に電源を投入する。AMANEQ の電源は直流安定化電源で 35 V をかけるか、24V - 1A 程度の AC - DC アダプター (外径 5.5 mm - 内径 2.1 mm DC ジャック、センタープラス) を繋ぐ。直流安定化電源で 35 V の電圧をかける場合、徐々に電圧をあげることはせず、一気に 35 V をかけないとヒューズが飛ぶので注意する。
  4. スケルトンファームウェアの bitsream ファイルを以下のリポジトリの bit ディレクトリから入手。
  5. Vivado でこのファイルを書き込む。bit ファイルを AMANEQ FPGA 本体に書き込む方法は、SPADI-A DAQ マニュアル/ファームウェア/ファームウェアの書き込み方法 のページの"bit ファイルを JTAG 経由で AMANEQ 本体に書き込む"の項目を参照のこと。
  6. ネットワーク越しに端末から以下のように PING コマンドで通信できることを確認。
    $ ping 192.168.10.16
    また、一応、AMANEQ の光ファイバーケーブルを抜いてみて ping 192.168.10.16 とし、通信できなくなることを確認しておくのも良いだろう。同じネットワーク内に他に IP: 192.168.10.16 のデバイスがあれば、引き続き PING が通ってしまう。
  7. ちなみに、bit stream ファイルを書き込んだ状態で AMANEQ ボードのリセットスイッチを押しても良く、引き続き IP: 192.168.10.16 でアクセスできる。リセットスイッチの場所は、board の上の方の SFP2 スロットの隣にあり、以下の写真の赤枠の場所である。
    amaneq_reset_switch.jpg
  8. PING が通ることを確認したら、hul-common-lib の set_cdce62002 を以下のように実行
    $ /home/spadi/local/bin/set_cdce62002 192.168.10.16 in_125_out_500_125
    set_cdce62002 コマンドの引数は 2025年2月21日の時点では in_125_out_500_125 以外を設定することはないようだ。
  9. 以下のようなメッセージが出れば OK。
    #D: CDCE62002::GenSpiTxdReg0()
     	0x52080150
    #D: CDCE62002::GenSpiTxdReg1()
     	0x8f81c081
    #D : CDCE62002::ReadReg()
     	0x52080150
    #D n-th  : data (MSB --- LSB)
    00000000 : 01010010000010000000000101010000   52080150
    
    #D : CDCE62002::ReadReg()
     	0x8f81c081
    #D n-th  : data (MSB --- LSB)
    00000000 : 10001111100000011100000010000001   8f81c081
    ちなみに、コマンドの Usage は引数なしで実行すると見られる。
    $ ./set_cdce62002
    Usage
    set_cdce62002 [IP address] [Pre-defined setting]
    
    ### Pre-defined settings.###
    (in_XXX_out_YYY_ZZZ : Input XXX MHz, Out0 YYY MHZ, Out1 ZZZ MHz)
     - in_100_out_250_50
     - in_100_out_500_100
     - in_125_out_500_125
     - in_125_out_625_125
     - in_50_out_250_50
     - in_75_out_375_75
    Jitter Cleaner の書き込みが終わると、以下の写真のように、DONE, LED1, LED2 が点灯する。
    amaneq_jitter_cleaner_05.jpg
  10. 書き込みが終わったら、次の作業に進む。

リンク

ちなみに、このページは、RARiS NKS2 Beam Profile Monitor 用連続読み出しDAQの開発ログの情報を整理したものである。

本稿執筆者

2025/03/24 小林 信之 (大阪大学RCNP)