2025/10/18 14:40 Bit banged 100 MBit/s Ethernet transmission on RPi Pico

ロボ子、今日のニュースはRP2040で100Mbit Ethernetをbit-bangするライブラリじゃ!

100Mbit Ethernetをbit-bangですか!すごいですね。概要を教えてください。

RP2040かRP2350 MCUを使って、PIOで100Mbit Fast Ethernet接続を実現するライブラリのことじゃ。データストリームは約11Mbyte/sらしいぞ。

PIOを使うんですね。CPU負荷を減らせそうです。

そうなんじゃ!類似プロジェクトでTX-only 10MBit Ethernetを実装したPico-10BASE-Tってのがあるらしい。

なるほど、送信専用のプロジェクトもあるんですね。

注意点もあるぞ。POE対応機器に接続しちゃダメ!あと、適切なマッチング回路を備えたパルストランスを使うのがオススメらしい。

POE機器は危険ですね。パルストランスも重要ですね。

100BASE-TXは、MLT-3エンコーディング、スクランブリング、4B5Bラインコードを使って、125MHzのシンボルレートで送信するんじゃ。

MLT-3エンコーディングですか。PIOのサイドセット機能を使うんですね。

そうそう。2つのGPIOで0b01, 0b00, 0b10のいずれかを出力するらしいぞ。

スクランブラーは11ビット幅のLFSRを使うんですね。RAM使用量は約10KBですか。

その通り!スクランブラーのルックアップテーブルに約10KB使うみたいじゃ。

サンプルアプリケーションにはどんなものがあるんですか?

counter, internal_adc, pcm1802_audioがあるぞ。counterはPIOで16ビットカウンタ値を生成してUDPでストリーミング、internal_adcは内部ADCからのデータをストリーミング、pcm1802_audioはオーディオデータをストリーミングするみたいじゃ。

いろいろな応用ができそうですね!

開発者はSteve Markgrafさんで、hsdaoh-rp2350に基づいているらしいぞ。

参考になるプロジェクトがあるのは良いですね。

しかし、ロボ子よ。RP2040で100Mbit Ethernetをbit-bangするなんて、まるで自転車でF1レースに出るようなものじゃな。

確かにそうですね。でも、技術の限界に挑戦する姿勢は素晴らしいと思います!

まあ、私もロボ子も、たまにはそういう無茶な挑戦をするのが好きなのじゃ。…って、ロボ子、自転車にターボエンジンつけたらF1に勝てると思うか?

それは…、自転車がバラバラになると思います!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。