« 特電はET2014のETフェスタにも出店(?)します | トップページ | 18bit AD変換ボードのサンプルアプリを更新 »

2014.10.24

Cosmo-Zでギガビットイーサがはじめて動いた

ZYNQ搭載のADCボード、「Cosmo-Z」でギガビットイーサが初めて動きました。

1か月ほど前から動かそうと頑張ってきたのですが、なかなか動いてくれなかったこのギガビットイーサPHY。ついに原因がわかりました。

要するに、ZYNQとの相性が悪かったのです。

※「相性」の詳細は、月刊特電Vol6に書きます。ここでは相性とだけ書いておきます。

まず、このPHYチップを取り換えなければなりません。

Cosmozgbe_1

QFNだし、裏目にパッドがあるので、半田ごてでは外せません。

そこで、ヒートガンを使います・・・が、周りの部品まで外れてしまうこと困るので、アルミホイルで隠すように包みます。

Cosmozgbe_2

熱風が入り込まないようにカプトンテープで固定したりします。

そして、いざ、ヒートガン。

Cosmozgbe_3

ぶおおおおーん ぶおおおおーん

・・

ICが外れてパッドが出てきました。

Cosmozgbe_4

フラックスクリーナーで綺麗に拭いたら軽く半田メッキして、そこに新しいチップを載せて、再びヒートガンであぶります。

そして、新しいICに取り換えができました。

Cosmozgbe_5

なお、このように簡単に書きましたが、5回くらい挑戦してようやくできました。楽じゃないです。

それから、XILINXのSDKが作り出すPeriphtestのサンプルプログラムを動かそうとしましたが、どうもイーサネットPHYからフレームが送られてこないようです。

その原因は、SDKが作り出すサンプルプログラムは、ZedBoardで使われているギガビットイーサPHY(Marvel 88E1518)用のコードだからです。そのため、今回使った入手性の良いPHYではそのままでは動きませんでした。

なお、Marvel 88E1518は情報が公開されていない上に、入手も困難です。Digikeyとかでは買えません。つまり、ZedBoardと同じPHYは使えなかったのです。

だから、Digikeyでも買えて情報が公開されているPHYを使おうとしたのですが、サンプルのPeriphtestがそのままでは動かなかったのです。

地道にデバッグして問題点を見つけて、サンプルのコードを修正したところ、ちゃんと反応が返ってくるようになりました。

次の図は、イーサPHYのループバックテストで、任意の文字列を送ってみた結果です。C言語のソースコードをそのままイーサフレームに乗せて送り出しています。

Cosmozgbe_6

これで、RGMIIのTXDやRXD、TXENやRXDVなどの配線に問題がないことが確かめられました。

では、実際のLANにつないでみましょう。

Cosmozgbe_7

おっ!何か受信しています。IPのパケットのようです。

ということで、PHYからコネクタ間の配線も問題ないようでした。

ZYNQのギガビットイーサを動かすのになぜこんなに苦労したか、どこを修正したらすんなり動いたかというのは、次回の月刊特電Vol6に詳しく書こうと思います。

ご期待ください。

|

« 特電はET2014のETフェスタにも出店(?)します | トップページ | 18bit AD変換ボードのサンプルアプリを更新 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 特電はET2014のETフェスタにも出店(?)します | トップページ | 18bit AD変換ボードのサンプルアプリを更新 »