ZYNQ搭載 ADCボード「Cosmo-Z」>開発日記>2015年12月

2015年12月

実際の信号で台形整形回路を動かす

2015.12.26

クリスマスの夜(26日未明)に会社に泊まり込んで、台形整形回路を調整しています。

本当は家からリモートログインでCosmo-ZのFPGAを書き換えて実験しようとしていたのですが、会社に置いてあったCosmo-Zが頻繁にリブートを繰り返すようになったので、会社に行きました。

リブートの原因はわかりませんが、一度、ハイボルとかフォトマルを分解して綺麗に並べたら治まりました。

台形整形回路も、このようにちゃんと動くようになりました。

茶色の線が入力波形。赤とオレンジが、遅延ラインを通って加減算した後の波形です。

Trapezoid5

たしかに台形にはなっているのですが、波打っているのがわかると思います。ADCの値に乗っている±1LSB程度のノイズを増幅してしまって大きな波になっています。

また、台形の頂上の部分が少し傾いています。

原因はわかりませんが、入力信号が厳密にexp(-t)のカーブではないからなのかもしれません。

 

Cosmo-Zのケースのアルミ素材が届いたが・・

2015.12.25 

台形フィルタ搭載の32ch版Cosmo-Zを今年中に納品しなければならなくて、タカチのアルミケース用に注文しておいた、Cosmo-Zのケースのアルミ素材が届きました。

自分でアルミに穴あけすると大変だから、タカチのケースのガワだけ使って、フロントパネルやリアパネル、床板の加工したものをアルミ屋さんに発注しようとしたわけです。

組み立ててアルミケースに入れてみると・・あれ? 入らない・・

Cosmozcase

なんと、アルミ加工屋さんが、曲げの方向を間違えたようです。

ガビーン!crying

3Dのデータと逆になtっていたので、図面は正しかったようです。

Rearpanel

今年中の納品はあきらめました。

・・・

 

アルミ屋さんに連絡したら、すぐに作って発送してくれるとのこと。

今年の納品は間に合わなかったけど、年末年始に作業ができそうでよかった。

 

台形整形回路

2015.12.23

放射線の検出信号のようなexp(-t/τ)で減衰する波形を台形に整形する回路をFPGAで作っています。

元は"Digital techniques for real-time pulse shaping in radiation measurements" Valentin T.Jordanov著 NIM A 363(1994) という論文に書かれている、こういう回路です。

 

Trapezoid_3

入ってきたパルスが台形にシェーピングされて出てきます。

下の図は、実際にテスト波形をFPGAで計算してみた結果です。茶色の線がexp(-t/τ)で減衰する入力信号で、紫の線は出力です。

Trapezoid1_2

この回路のパラメータはk,l,m1,m2と4つあります。kは台形の傾斜部分の長さを決め、lは台形の頂上の部分の長さを決めるようです。

m1とm2の比は、τ/クロック数-0.5くらいになるように決めます。時定数1usで減衰する波形でクロックが100MHzならばm1/m2=99.5となるようにし、m2はゲインを決める任意の定数になります。m1とm2の比が多少ずれていても、台形の肩がなだらかになるか尖るかという程度で、大きな問題にはなりません。

 

波形整形回路はかなり強力な演算のようで、パソコンでシミュレートした限りでは、このくらいのノイズが乗った波形でも、

Trapezoid3_2

このように整形してしまいます。

Trapezoid4

 

この回路を使えば、放射線の計測での分解能が飛躍的に向上すると聞いています。

 

しかし、パイルアップには対応していないのかもしれません。

Trapezoid2

 

MPPCが届いた

2015.12.18

先日注文しておいたMPPC(Multi pixel photon counter)が届きました。

Mppc

購入したのは浜松フォトニクスのS13360-3050CSです。

MPPCというのはフォトダイオードの集合体で、光電子増倍管ではないけど100万倍くらいのゲインがある光センサです。

光電子増倍管と比べると、

  • ガラスではないので割れない ○
  • 安い ○
  • 軽い ○
  • ハイボルの電圧が低くて良い ○
  • ノイズや偽の信号が出る ×

といった特徴があります。

出力の信号は2~3ns程度だと思うので、それなりの高速アンプを作る予定です。

これと、プラスチックシンチレータを組み合わせて宇宙線検出器を作りたいと思います。

 

Cosmo-Zのアルミケース

2015.12.17

Cosmo-Zを本格的な計測器として使うためには、アルミケースが必須になってきます。

基本的にはタカチのMS88-16-23をベースにして作ろうとしているのですが、MS88-16-23は奥行が23cmあるのに対してCosmo-Zは基板の長さが175mmくらいなので足りません。

基板の後方にはイーサネットのコネクタや電源ジャック等があるので、基板の後ろがリアパネルに出ていることは必要です。

そこで、こういう窪んだ形のリアパネルを作ることにしました。

Cosmozrear

2mmのアルミ板を折り曲げて、少し内側に壁を寄せます。

アルバイトさんが3D CADで上の図のようなのを設計してくれました。

 

タカチのケースは実物を見ながら検討しないと意外と難しいので、この図面をアルミ加工屋さんに送って実際に作ってもらうまえに、工作用紙で試作してもらいました。

 

3D CADで設計した図面をインクジェットプリンタを使って、1:1で工作用紙に印刷します。

そして、カッターで切ります。出来上がり。

思わず、おおースゲーと言ってしまいます。

Cosmozcase1


彼は作業が丁寧で作るものも綺麗です。

Cosmozcase2

上の写真の右上に見えるでしょうか。丸穴の切り抜きもとても丁寧です。

 

図面を若干修正して、完成だそうです。

本番のアルミが出来上がるのが楽しみです。

 

EXPARTAN-6TとCOSMO-ZのSATA波形比較

Cosmo-ZでのSATAが動かないので、SATAが動くEXPARTAN-6T(Spartan-6LXT)と何がちがうのかを波形をみて比較しています。

MITOUJTAGを使って、FPGAの内部信号を75MHzでサンプリングします。

まずは、EXPARTAN-6Tのリンクアップ時の波形。AlignPrimitiveを受け取って、そのあとでSYNCやCONTが来ています。

Exp6t_up

次はCosmo-Zのリンクアップ時の波形。特に違いはないようです。

Csz_up

 

次はEXPARTAN-6Tで、XRDYが来るときの波形。XRDY→SOF→EOF→WTERMという流れです。

Exp_xrdy

最後はCOSMO-ZでXRDYが来るときの波形。これも全く同じです。

Csz_xrdy


つまり、EXPARTAN-6TもCOSMO-Zも物理層部分の動作は同じということでした。

COSMOZでSATAが動かないのは、上位の層で何かの間違いがあるのだと思われます。

 

Spartan-6とZYNQのGTP/GTXの波形

特電のボードEXPARTAN-6T(Spartan-6LXT使用)とCosmo-Z(ZYNQ7030)で、SATAの波形を見てみた。

 

Spartan-6でのSATA受信波形

Exp6t_rx_2

↑の波形は、すでにリンクアップしてスクランブルがかかったデータなので、何だかわかりません。

 

Spartan-6LXTでのSATA送信波形

Exp6t_tx

↑これはCONTでしょうか。ちょっと何かはわかりません。

 


ZYNQでのSATA受信波形

Csz_rx

↑これはリンクアップシーケンスのAlignPrimitiveです。

 


 

問題は、ZYNQでのSATA送信波形です。

AlignPrimitiveを送っているはずですが・・

Csz_tx

少しレベルが高い気がします。

ZYNQのGTXの送出レベルは、sataphy_gt.vhdの中にある

        TXDIFFCTRL                      =>      "1000",

で設定されています。CoreGenがデフォルトで作ったファイルでは"1000"になっていて、Vppdは0.807Vということなのですが、オシロで見たところでは反射波によってより高い電圧が観測されています。Peak-to-peakで0.9Vくらいでしょうか。

書籍によると、tx diffの標準値は500mVで、最小が400mV、最大が600mVとのことなので、ちょっと、強すぎます。

XILINXのユーザガイドug476によれば、

        TXDIFFCTRL                      =>      "0010",

にすると、0.407Vになるとのことですので、やってみました。

Csz_tx_reduce

たしかに400mV程度になりました。これだとちょっと小さいかも。

        TXDIFFCTRL                      =>      "0011",

のVppd=0.474Vくらいがちょうどいいかもしれません。

↓の図は0011にしたときの波形です。だいたい0.5Vppdになっています。

Csz_tx_0011

 

 

 


© 2015 TokushuDenshiKairo Inc. All rights reserved