FPGAでPHYは動いた | 2021.06.28 02:40 |
テレビでもYouTubeでも何でも、不特定多数の人前に出てきて自身を売る
仕事ならば言えることですが、
『我々の目に入ってくる人たちは、基本的に頂点にいる成功者であって、
どんなに覚悟を持って努力を重ねたとしても、人知れず散って消えていく人
たちが無数にいる』
っという旨のネット上のコメントを読んで、言われりゃそうだよなぁ...っと
思って改めてしみじみしたり。
さて、FPGAでギガビット・トランシーバーに挑戦している件、
4週間近くの格闘の末、ついにPHY(Physical Layer)を動作させることに
成功しました。
PHY自体はFPGAに内蔵されていますが、FPGA内に配置(有効化っと
言ったほうが正しいか?)しても、イマイチうまく動きませんでした。
PHYの内蔵機能でループバックを有効化すると、正しい値が拾えること
から、配置時のパラメーター(初期値)は正しいと仮定し、リセット処理
や初期化時のパラメーター・シーケンスを何度も作り直して、トライ&
エラーを黙々と繰り返していました。
ただ何をやっても進展がなく、ずっと足踏み状態が続いており、自分でも
何かのピースが足りない感覚はありました。途中から何が正しい状態で
何が間違えている状態なのか、自身で見分けが付かなくなり、疑心暗鬼
にもなりかけたりとか・・・。
そんなある日、寝床に入ったときに ふと使っているケーブルとコネクター
がRX・TX(受信と送信)が逆ではないかと思い至り、
すぐに飛び起きて確認すると、予想通りRXとTXが逆でした。。
そりゃ動かんよね・・・・。電話で例えると、受話器を逆さまに持って
いる状態だし(^^;
昔、LANケーブルでクロスケーブルがありましたが、今回自分が使って
いる規格ではクロスケーブルが存在しないため、ケーブルぶった切って
逆向きにはんだ付けし直すことで自作クロスケーブルを作りました。
Gbps単位の高速通信相手に、こんな雑なケーブル作りで良いのか、
よく分かりませんけども。
そんなこんなやっていたら外が明るくなってしまいましたが、無事に
ギガビット・トランシーバーのPHYが動きました。
・・・とはいっても、流石にGbpsクラスが測れるオシロは持って
いないので、基板上のLED等の表示と設定値や理論を信じるしかない
のですが。
どうしよ、実際には数十Mbpsレベルしか出てなかったら、、(笑
ただ、問題はこの先なんですよねぇ・・・。
Gbpsクラスの信号通信って、単に0/1がたくさん送れるだけじゃ意味
がないんです。 FPGA上にプロトコルを実装しなければなりません。
しかも、今回掲げている最終目標としては、話し相手(既存デバイス)
が存在するので、相手とコミュニケーションが取れるように、正しく
プロトコルを実装しなければなりません。
さて、これからどうしたらいいんだろ・・・激しく不安だ。
仕事ならば言えることですが、
『我々の目に入ってくる人たちは、基本的に頂点にいる成功者であって、
どんなに覚悟を持って努力を重ねたとしても、人知れず散って消えていく人
たちが無数にいる』
っという旨のネット上のコメントを読んで、言われりゃそうだよなぁ...っと
思って改めてしみじみしたり。
さて、FPGAでギガビット・トランシーバーに挑戦している件、
4週間近くの格闘の末、ついにPHY(Physical Layer)を動作させることに
成功しました。
PHY自体はFPGAに内蔵されていますが、FPGA内に配置(有効化っと
言ったほうが正しいか?)しても、イマイチうまく動きませんでした。
PHYの内蔵機能でループバックを有効化すると、正しい値が拾えること
から、配置時のパラメーター(初期値)は正しいと仮定し、リセット処理
や初期化時のパラメーター・シーケンスを何度も作り直して、トライ&
エラーを黙々と繰り返していました。
ただ何をやっても進展がなく、ずっと足踏み状態が続いており、自分でも
何かのピースが足りない感覚はありました。途中から何が正しい状態で
何が間違えている状態なのか、自身で見分けが付かなくなり、疑心暗鬼
にもなりかけたりとか・・・。
そんなある日、寝床に入ったときに ふと使っているケーブルとコネクター
がRX・TX(受信と送信)が逆ではないかと思い至り、
すぐに飛び起きて確認すると、予想通りRXとTXが逆でした。。
そりゃ動かんよね・・・・。電話で例えると、受話器を逆さまに持って
いる状態だし(^^;
昔、LANケーブルでクロスケーブルがありましたが、今回自分が使って
いる規格ではクロスケーブルが存在しないため、ケーブルぶった切って
逆向きにはんだ付けし直すことで自作クロスケーブルを作りました。
Gbps単位の高速通信相手に、こんな雑なケーブル作りで良いのか、
よく分かりませんけども。
そんなこんなやっていたら外が明るくなってしまいましたが、無事に
ギガビット・トランシーバーのPHYが動きました。
・・・とはいっても、流石にGbpsクラスが測れるオシロは持って
いないので、基板上のLED等の表示と設定値や理論を信じるしかない
のですが。
どうしよ、実際には数十Mbpsレベルしか出てなかったら、、(笑
ただ、問題はこの先なんですよねぇ・・・。
Gbpsクラスの信号通信って、単に0/1がたくさん送れるだけじゃ意味
がないんです。 FPGA上にプロトコルを実装しなければなりません。
しかも、今回掲げている最終目標としては、話し相手(既存デバイス)
が存在するので、相手とコミュニケーションが取れるように、正しく
プロトコルを実装しなければなりません。
さて、これからどうしたらいいんだろ・・・激しく不安だ。
category : 電子工作 | comment [0] |