忍者ブログ
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month123456789101112131415161718192021222324252627282930Next Month
FPGAのギガビット・トランシーバー 残り数歩?
世間ではオリンピックが始まったようですが、まだ今年は全く
観れてないです。
ここまで観てない年・回は初めてではないだろうか・・?

今回の週末は4連休だったので、作業が大きく進みました。
このタイミングの4連休は実に嬉しい&有難い。


FPGAでギガビット・トランシーバー実装を試みている件、
プロトコル部分も最低限動作するロジックを載せられました。
これで最低限の動作確認ができるはずだったのですが・・・、
例のごとくうまく動きません。(デスヨネー....)

書いたロジックにも細かいバグが複数あったので、バグは全部潰した
はずなのですが、
入力(RX)のデータが かなりの頻度で化けるのです。。
むしろ、正しいデータで取れるほうが少ない・・・(;;

自分の書いたロジックが間違えているのではないかとか、自分が
用意したケーブルが悪いのではないかとか、色々疑いを掛けて回り
ましたが、どうも入力におけるクロック同期がマズイようで。
相手が送ってくるデータを正しいタイミングで同期して信号が拾えて
いないようで、データが化けまくっているみたいです。
・・・これは、PC上のシミュレーションでは分からんわ(^^;
同じデバイス(FPGA)でループバックする分には、同じクロック
信号を共有して同期するので全く問題ないのですが、
他のデバイスと通信しようとすると、途端にダメになります。

おそらく、先月6月頃にやっていたギガビット・トランシーバーの
PHYあたりがおかしく、そこのクロック設定や初期化処理に問題
があるのではないかと思っていますが、
その目星が正しい保証はどこにもなく、現にちょっと設定・初期化
処理を変えると、まともに動かなくなる状況です。
んー、困ったなぁ・・・。
ギガビット・トランシーバーのPHYを今一度勉強し直さないといけない
かもしれませんorz


全体を通してみれば、残り数歩でゴールではないかと思っており、
ここまで来たならば最後までやりたい気持ちもありますが、
なかなかキツイです。。。

まぁ、今回が特別な訳でも何でもなく、十数年前から今まで新しい
こと(XOPSへの関係性問わず)に挑戦してきて、"余裕"だったこと
なんて一度もないんですけどね。
こういう、常に新しいことにチャレンジしていく姿勢は大切で、
決して間違えてはいないと確信しています。
category : 電子工作 comment [0]
PR
FPGAにGbps通信するプロトコルを載せたい
最近このブログは、日曜日の深夜に更新するのが通例になっていますね。
別に意図しているわけではないのですが、土日・休日にやったことを
書きたくなるのが、たまたま日曜日深夜なのかもしれません。
あるいは、迫りくる月曜日への現実逃避か?(^^;


6月上旬から始めて そろそろ2ヶ月経とうとしている「FPGA×ギガビット
・トランシーバー」ですが、トランシーバー自体は概ね載せ終わりました。
Gbpsクラスが測れる高価(数百万円クラス)な測定器なんて持っていないので、
波形が見れるわけではなく実感が湧かないですが、理論上は動いているはずです。

次のステップとして、通信プロトコルの実装に取り掛かっています。
前にも書いた通り、Gbps単位で0・1が高速に送られるだけでは何ら意味が
ありません。
今回ターゲットにしているデバイスを動かさないといけないので、
その対象のデバイスに合わせてプロトコルを実装しなければいけないわけ
です。
これがまぁ何ともクセモノで、単純にクロックに同期して適当にコマンド・
データを送れば済むわけではなく、複雑な実装が必要なため手を焼いて
います。
いや、事前に何となく想像はしていましたが、やはり厄介で難敵です。


オシロやロジアナでは解決できない領域に差し掛かったため、プロトコル
アナライザーを入手しました。
もちろん、新品で最新機種を買うと何百万円クラス(下手すると1千万円越え)
で個人では手に入れられないので、安い型落ちの中古品ですけども。
探し回って手に入れたわけではなく、ふと(意外な場所で)相場より格安で
売られていたところを発見し、殆ど迷いなく買いました。
これがロジアナ並みに大活躍です。これはスゲェ。。
他所で類似の機材を触ったことがあるので、使い方は何となく分かりました。

それにしても、まさか自宅にプロトコルアナライザーを備えることになる
とはな・・・(汗
でも、本当に買ってよかった。2021年の「買って良かったものランキング」
に堂々ランクインすることでしょう。

実は、FPGAのチップ単体も先日発注してしまいました。
本当はもう少し後でも十分だったのですが、世界的な半導体不足で必要なIC
(FPGA)が必要な時に手に入らなくなる可能性が否定できなかったので、
購入先に在庫があるうちに注文しました。これもこれで結構高いorz
後になって「スペックが足りない・・」みたいになったらどうしよ(震え声

オシロやロジアナは別件で買ったものなのでノーカウントとしても、
FPGAボードといい、関連の専門書といい、プロトコルアナライザーといい、
FPGAチップ単体といい、既に数十万円レベルでお金が掛かっており、
かつ、かなりの日数と手間をつぎ込んでいるので、もう後に引けない
「一大プロジェクト」になってしまいました。まさに大勝負案件。

本件の結末がどうなるか、私にも分かりません。
半年後ぐらいにはどうなっていますかね。
全部まとめてゴミ箱にダンクシュートされていなければ良いのですが(冷汗


全く関係ない別件ですが、
そう言われてみれば、7月10日はOpenXOPSプロジェクトを正式に立ち上げて
から、7周年だったのですね。
「えっ? もうそんな経ったの?」って感じですが。
今年は特に何もしませんでした。OpenXOPS関係で何か期待されていた方が
いたならば、申し訳ございませんでした。
category : 電子工作 comment [0]
FPGA高速通信で低レイヤーが動かない
7月に入りました。ちょっと遠くまで徒歩で買い物に出かけたら、
帰宅した頃には全身汗だくになりましたorz もう夏ですねぇ。

そして、もう2021年も半分終わったのですね。
「あけおめ」とか正月気分で言っていたのが ついこの前に感じますが、
もう半年後には、また「2022年あけおめ」って言っていると思うと、
時の早さに恐怖すら感じる今日この頃です。


FPGAでギガビット・トランシーバーをやっている件ですが、案の定
プロトコルの実装に苦戦しています。

まずは低レイヤーの実装から取り掛かっていますが、接続直後に行う
一番最初の初期化処理に転んでおり、まったくうまく行っていません。
何かが間違えているようで、正しくステートマシンが動作していない
ようです。

FPGAの動作を観察するのも苦労しています。
基板上のLEDなどの表示では、目視確認は容易なものの測定はできず、
GPIOから信号を出力してオシロスコープで見ようとしても、2chしか
なく長期間ログが取れるわけでもないので非効率で、
FPGA内にロジックアナライザー(ロジアナ)を仕込んでも、PC側の
ソフトの操作が悪いのか、目当ての場所でうまくトリガーが掛けられず
イマイチな感じで、
どうしたものかと困っていました。
そんな状況でしたが、ふと今年4月末頃にロジアナ(物理的な測定器)
を試しに買っていたことを思い出し、GPIOに信号を出力してロジアナ
で観察してみると、思った以上に狙い通りの波形が分かりやすく取れ
ました。これは良いぞ(^^
次からロジアナでの解析を中心にやっていこうかと思っています。
てか4月末に買ったロジアナは、元はパワエレの制御回路の解析・
デバック用に仕入れたもので、決して高スペックな代物ではなく、
言わば安物です。
当初の予定で使われることはなく箱の中で寝ていましたが、まさか
役に立つとは思ってもいませんでした。
本当に買っておいてよかったわ。


土日や平日の深夜を殆ど潰して取り組み続けた結果、一週間ごとに
0.5歩づつ程度は進んでいるように感じますが(※そう信じたいだけ)、
いくら何でも当初の目論見より進みが遅いのが明らかで、こんなペース
で開発していたら、あっという間に1年・2年経ってしまうという焦る
気持ちもあります。
まぁ他の人に言わせれば「別に自分のペースでゆっくりやれば?」
みたいな話で、納期やスケジュールにシビアに追われているわけでは
ないものの、
結局 私は1人しかおらず分身できるわけでもないので、あんまりFPGAの
ギガビット・トランシーバーばかりやっているわけにはいかないのです。
XOPS含め、ほかにやりたいことも多数あるし・・・。

ここはサッサと終わらせて次のフィールド・レベルに行きたいのですが、
なかなかうまくは行かないですね。参ったなぁ。
category : 電子工作 comment [0]
FPGAでPHYは動いた
テレビでもYouTubeでも何でも、不特定多数の人前に出てきて自身を売る
仕事ならば言えることですが、
『我々の目に入ってくる人たちは、基本的に頂点にいる成功者であって、
どんなに覚悟を持って努力を重ねたとしても、人知れず散って消えていく人
たちが無数にいる』
っという旨のネット上のコメントを読んで、言われりゃそうだよなぁ...っと
思って改めてしみじみしたり。


さて、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]
FPGAでギガビット・トランシーバーに挑戦する
リアルの方では、1年ぶりにショッキングなことがあり(※詳細は割愛)
だいぶ気が滅入りましたが、それ以外は元気にやっております。
腰もシップ貼って放置していたら、1日でかなり良くなりました。
まだ少し痛いですけど。


直近は、FPGAでギガビット・トランシーバーに挑戦しています。

あまり聞かない単語だと思いますが、Gbps単位の超高速シリアル通信です。
身近なところだとUSBとかGigabit LANとかHDMI、
PCの中では、グラフィックボードに使われているようなPCIEや、SATA、
メモリー(DDR)なんかにも使われており、高速にデータを通信するには
欠かせない技術で、生活にも身近に溶け込んでいます。
そのGbps単位の高速通信に挑戦しようかなと。

やることになった経緯は、他所(XOPSとは無縁)で使うためです。
FPGA自体は、10年ほど前から断続的に触っていましたが、通信回りは
パラレル通信か、数十Mbpsレベルのシリアル通信ばかりだったので、
Gbpsクラスの高速シリアル通信は初めてです。
実は「初めて」と言いながら、2019年後半に一度トライしようとした
ことはあります。
ただ、同タイミングでメインPCが壊れ、途中で中断したまま忘れ去って
いました。
 ※当時の記事 2019.10.22「メインPCが壊れました

右も左も分からないまま始めたわけですが、
現状はFPGAボード(これも万円単位する...高い...)にそれっぽいモノは
載せられたものの、まともに動いてくれません。
どうもコアの設定とリセット処理がまずいようなのですが、正しく動いて
いないという以外、何が悪くてどうすれば改善するのか、イマイチよく
分かりません。公式資料読んでも脳内は「???」状態です。
書籍もネットも、ここまで来ると一気に参考文献が減るんですよね。
こりゃ、使いこなせるようになるのは時間が掛かるなぁ。。

もう、かれこれ2週間ぐらい格闘しています。休日も全部潰れてるしorz
クリティカルにスケジュールに追われているわけではない分、気楽では
ありますが、XOPS関係含め他にもやりたいことがあることを思えば、
あまりノコノコやっている場合ではありません。
もう少しテンポよく進めて目的を達成し、次に移れれば良かったのですが、
当初の思惑よりも、ちょっと時間が掛かっています。

ただ、FPGAでギガビット・トランシーバーって、まともに使いこなすこと
ができるレベルまで習得できれば、他でもかなり活かせるので、
できれば習得したいです・・・。そんな簡単ではないですけど。


本題からは逸れますが、
上記に書いた通り2019年後半にメインPCが壊れるまでは触っていたものの、
PCが壊れてからは、一気にソフトウェア分野に戻っていったことを考えると、
やっぱり何が起こるか分からないですね。
またメインPCが壊れたら、ソフトウェアに戻るかもしれません(縁起の悪い。
category : 電子工作 comment [0]
[12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP