先日の対策によってCosmo-Zのギガビット・イーサは動き出しましたが、Linuxでネットワークを起動させるにはデバイスツリーの変更が必要だったようです。
起動時のようす
ちゃんと認識されてlinkupしたようです。
init.shに、
#!/bin/sh
ifconfig eth0 inet 192.168.2.39
route add default gw 192.168.2.1
みたいに書いておけば、外にも出られます。
これで、Cosmo-Zの全機能がそろいました。
そろそろ量産体制に入ろうかと思います。
Cosmo-Zでギガビットイーサがはじめて動いた
2014.10.24
ZYNQ搭載のADCボード、「Cosmo-Z」でギガビットイーサが初めて動きました。
1か月ほど前から動かそうと頑張ってきたのですが、なかなか動いてくれなかったこのギガビットイーサPHY。ついに原因がわかりました。
要するに、ZYNQとの相性が悪かったのです。
※「相性」の詳細は、月刊特電Vol6に書きます。ここでは相性とだけ書いておきます。
まず、このPHYチップを取り換えなければなりません。
QFNだし、裏目にパッドがあるので、半田ごてでは外せません。
そこで、ヒートガンを使います・・・が、周りの部品まで外れてしまうこと困るので、アルミホイルで隠すように包みます。
熱風が入り込まないようにカプトンテープで固定したりします。
そして、いざ、ヒートガン。
ぶおおおおーん ぶおおおおーん
・・
ICが外れてパッドが出てきました。
フラックスクリーナーで綺麗に拭いたら軽く半田メッキして、そこに新しいチップを載せて、再びヒートガンであぶります。
そして、新しいICに取り換えができました。
なお、このように簡単に書きましたが、5回くらい挑戦してようやくできました。楽じゃないです。
それから、XILINXのSDKが作り出すPeriphtestのサンプルプログラムを動かそうとしましたが、どうもイーサネットPHYからフレームが送られてこないようです。
その原因は、SDKが作り出すサンプルプログラムは、ZedBoardで使われているギガビットイーサPHY(Marvel 88E1518)用のコードだからです。そのため、今回使った入手性の良いPHYではそのままでは動きませんでした。
なお、Marvel 88E1518は情報が公開されていない上に、入手も困難です。Digikeyとかでは買えません。つまり、ZedBoardと同じPHYは使えなかったのです。
だから、Digikeyでも買えて情報が公開されているPHYを使おうとしたのですが、サンプルのPeriphtestがそのままでは動かなかったのです。
地道にデバッグして問題点を見つけて、サンプルのコードを修正したところ、ちゃんと反応が返ってくるようになりました。
次の図は、イーサPHYのループバックテストで、任意の文字列を送ってみた結果です。C言語のソースコードをそのままイーサフレームに乗せて送り出しています。
これで、RGMIIのTXDやRXD、TXENやRXDVなどの配線に問題がないことが確かめられました。
では、実際のLANにつないでみましょう。
おっ!何か受信しています。IPのパケットのようです。
ということで、PHYからコネクタ間の配線も問題ないようでした。
ZYNQのギガビットイーサを動かすのになぜこんなに苦労したか、どこを修正したらすんなり動いたかというのは、次回の月刊特電Vol6に詳しく書こうと思います。
ご期待ください。
Cosmo-ZのADC波形が取れた
2014.10.17
Cosmo-ZのADCで取った波形をUSB経由でパソコンに転送することができました。
100kHzくらいで0.1Vppの正弦波をDDSで作って、それをキャプチャしています。

途中で髭のようなノイズが乗っているのは、DDSにもとからあるノイズです。オシロで見るよりもくっきりと見えています。
次は8chのサンプリング、最終的には32chのサンプリングを目指します。
あと、光電子増倍管とプラスチックシンチレータを2セット発注しました。来週から、これらの機材を使って、二次宇宙線を検出し、ディスクリ(閾値以下の信号を無視する)や、コインシデンス(同時発生)の処理などをVivado HLSでできるかどうか試してみたいと思います。












