差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
testbench:introduction_to_verilog_hdl:g-link [2015/05/26 15:10]
kyotoatlas [データシート]
testbench:introduction_to_verilog_hdl:g-link [2019/02/15 09:07] (現在)
行 2: 行 2:
 ここでは G-Link という通信規格を扱います。 ここでは G-Link という通信規格を扱います。
 G-Link は光通信の規格で、NIM のような電気信号に比べて高速でデータを送受信可能です。 G-Link は光通信の規格で、NIM のような電気信号に比べて高速でデータを送受信可能です。
-ただ、ここで扱いたいのは G-Link とはなんたるぞや、という話ではなくて、何かの素子を載せるにはどうしたらよいかということです。+ただ、ここで扱いたいのは G-Link とはなんたるぞや、という話ではなくて、何かの素子を扱うにはどうしたらよいかということです。
  
  
行 22: 行 22:
  
 では、実際に G-Link に使われる石のデータシートを少し見てみましょう。 では、実際に G-Link に使われる石のデータシートを少し見てみましょう。
 +G-Link の Transmitter/Receiver チップは HDMP-1032A/1034A という型番の Agilent(Hewlett-Packard) の素子です。( A がついていない 1032/1034 というチップは一世代古いチップのはずです )
 +そのチップのデータシートは [[http://www-he.scphys.kyoto-u.ac.jp/research/ATLAS/dokuwiki/lib/exe/fetch.php?media=testbench:introduction_to_verilog_hdl:hdmp-1032a.pdf|データシート]] にあります。
 +ここにこのチップの各ピンの説明、どんな電源を与えればいいのか、データレートはどこまで耐えられるのかなどなど色んな情報が書いてあります。
 +まずはざっと見てみてください。
 +
 +
 +
 +
 +===== G-Link Tx =====
 +実際に Transmitter 側のチップである HDMP-1032A を使って G-Link を送信する PT6 ファームウェアを見てみましょう。
 +データシートの p.16, p.17 に このチップのピンの説明が書いてあります。
 +ここは特にじっくり見るようにしましょう。
 +ここを読み飛ばしたことによってミスることはよくあります。
 +例えば、ある機能を ON にするためにピン "A" を High にするのか, Low にするのかという定義を勘違いしたために、1日無駄にしたというのはよくあるお話です。
 +
 +ここを見ながら分かることをザクザク書き出してみましょう。
 +
 +  * TXDIV ( ピン 26, 27 )
 +横に説明がつらつら書いてありますが、Figure.2 を見に行った方が分かりやすいと思います。
 +この 2 bit で data/word rate をコントロールしています。
 +何 MHz のクロックを入れるかを考えて決めましょう。
 +ATLAS の場合 ( というか LHC のクロックを使う場合 )、40 MHz のクロックを使います。
 +TXDIV が 2'b00 の場合 40-70 MWord/sec, 2'b01 の場合 20 - 45 MWord/sec と書いてあります。
 +2'b00 でもリンクはとれるのかもしれませんが、レンジのギリギリで使いたくは無いので 2'b01 で使うべきなんだということが分かります。
 +
 +また、2'b10 に設定すると許容レンジ 13-26 MWord/sec ということで 40 MHz のインプットはリンクがとれません。
 +これを利用して一旦リンクを切って、リンクをとり直すということが可能です。
 +完全に余談ですが、TGC の人たちはこの操作を "カチカチ" と呼びます。
 +
 +  * TXFLAG, TXFLGENB ( ピン 6, 10 )
 +G-Link は通常 TX[15:0] を利用して 16 bit/word でやりとりします。
 +が TXFLGENB を High にすることで TXFLAG を 17 bit 目として扱うことが出来るようになります。
 +
 +  * TXCNTL, TXDATA ( ピン 4, 5 )
 +G-Link には data/control/idle という 3 種類の word があります。
 +TXDATA が High で TXCNTL が Low なら data word、その逆が control word, 両方 Low なら idle word です。
 +リンクがおかしくなった時には上記の TXDIV を "カチカチ" する以外に、idle word を送るということでもリンクをリセットすることが出来ます。
 +
 +
 +
 +他にも色々と説明が書いてありますので、ひと通り見てみてください。
 +これらが分かれば、  このファームウェアも理解出来ると思います。
testbench/introduction_to_verilog_hdl/g-link.1432653038.txt.gz · 最終更新: 2015/05/26 15:10 by kyotoatlas
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0