マイコンでEthernet

マイコンEthernetを使いたい場合、ハードウェアの構成に3つのパターンがある。いずれの場合もRJ45ジャックにはパルストランス内蔵のもの(MagJackなど)を使用するものとする。

マイコンEthernetMACを持たない場合

f:id:licheng:20200225211652p:plain

この場合、SPI接続等でEthernetMAC/PHYチップを外付けする。このような外付けMAC/PHYチップの代表的なものとして、WIZnet社のW5200やW5500がある。

例えば、Arduino UnoにEthernet Shield 2 (W5500搭載)を挿して使うような構成がこれに当たる。W5200やW5500の場合にはEthernetMACのみならずTCP/IPUDP/IPのプロトコルまで担ってくれるので、マイコン側の負荷が小さくてすむ。

マイコンの選択肢はほとんど自由であり、かなり低スペックのマイコンでも実現できる。ただし外付けチップがやや高価である。

マイコンEthernetMACを持つがPHYは持たない場合

f:id:licheng:20200225211724p:plain

この場合、EthernetのPHYチップを外付けする。マイコンとPHYとの接続にはMIIやRMIIという規格がある。このような外付けPHYチップの代表的なものとして、Microchip社のLAN8720A、LAN8742AやTI社のDP83848などがある。

EthernetMACを持つマイコンの場合、外付けPHYチップとRJ45コネクタを搭載したマイコンボードが市販されている場合も多い。例えばNucleo-F767ZI (STマイクロ STM32F767ZI) や GR-SAKURA (ルネサスRX63N)などである。mbed LPC1768 (NXP LPC1768)はPHYは搭載しているがRJ45コネクタは搭載していないので外付けとなる。PHYとRJ45コネクタはTX+,TX-,RX+,RX-の4線で接続する。

マイコンの選択肢はかなり絞られ、ハイエンド寄りとなる。また、プロトコルスタックのライブラリなりミドルウェアなりが提供されていることが必須となる。

マイコンEthernetMACもPHYも持つ場合

f:id:licheng:20200225211737p:plain

このパターンはかなり稀である。TIのMSP432E4やNXP(旧Freescale)のMPC5606E、MicrochipのPIC18F97J60などがあるが、筆者はどれも使ったことがない。回路構成はシンプルになるがなにぶん選択肢が少ない。