概要
Ethernet(イーサネット)は、1973年にXerox PARCのRobert Metcalfeらが開発した有線LAN規格で、現在はIEEE 802.3として標準化されています。PCやサーバーのネットワーク接続の標準として世界中に普及しており、組み込みシステム・産業機器にも広く採用されています。
通信速度は10Mbps(10BASE-T)から始まり、100Mbps(Fast Ethernet / 100BASE-TX)、1Gbps(Gigabit Ethernet)、10Gbps以上と発展しました。物理的な接続は主にRJ-45コネクタとUTPケーブル(またはSTPケーブル)を使います。
組み込み・産業分野では、標準のEthernetに加えて、1本のツイストペアで済む「Single Pair Ethernet(SPE)」(100BASE-T1・10BASE-T1L等)や、決定論的なリアルタイム通信を実現する「TSN(Time-Sensitive Networking)」などの派生規格が注目されています。
歴史・背景
1973年のXerox PARCでの開発後、1980年にDECとIntel・Xeroxが「DIX Ethernet」仕様を公開。1983年にIEEE 802.3として標準化されました。当初は同軸ケーブルを使う10BASE5(Thicknet)・10BASE2(Thinnet)でしたが、1990年代に登場した10BASE-T(ツイストペアケーブル・スター型接続)が爆発的に普及しました。
1995年の100BASE-TX(Fast Ethernet)、1998年の1000BASE-T(Gigabit Ethernet)で高速化が進みました。産業分野では2005年頃からEtherCAT・PROFINET・EtherNet/IPなどのリアルタイムEthernetが普及し始め、従来のフィールドバス(RS-485、CAN)からの移行が進んでいます。
2020年代はSingle Pair Ethernet(10BASE-T1S・100BASE-T1・10BASE-T1L)が車載・産業IoTでの採用が進んでいます。
技術仕様
Ethernetの速度規格
| 規格 | 速度 | メディア | ケーブル | 最大距離 |
|---|---|---|---|---|
| 10BASE-T | 10 Mbps | ツイストペア | Cat 3 | 100 m |
| 100BASE-TX | 100 Mbps | ツイストペア | Cat 5 | 100 m |
| 1000BASE-T | 1 Gbps | ツイストペア | Cat 5e | 100 m |
| 10GBASE-T | 10 Gbps | ツイストペア | Cat 6a | 100 m |
| 100BASE-FX | 100 Mbps | 光ファイバー | MMF | 2 km |
| 1000BASE-SX | 1 Gbps | 光ファイバー | MMF | 550 m |
産業用・車載Ethernet
| 規格 | 速度 | ケーブル | 主な用途 |
|---|---|---|---|
| 100BASE-T1 | 100 Mbps | 1ペア | 車載ADAS |
| 1000BASE-T1 | 1 Gbps | 1ペア | 車載高速通信 |
| 10BASE-T1S | 10 Mbps | 1ペア・マルチドロップ | 車載サブネット |
| 10BASE-T1L | 10 Mbps | 1ペア | 産業IoT(最大1km) |
| EtherCAT | 100 Mbps | 標準Ethernet | 産業リアルタイム制御 |
| PROFINET | 100 Mbps〜 | 標準Ethernet | 産業FA |
| EtherNet/IP | 100 Mbps〜 | 標準Ethernet | 産業(Rockwell) |
EthernetフレームフォーマットとMACアドレス
Ethernetフレームの基本構造(IEEE 802.3):
[プリアンブル(7B)][SFD(1B)][宛先MAC(6B)][送信元MAC(6B)][EtherType/Length(2B)][データ(46〜1500B)][FCS(4B)]
MACアドレス: 48ビット(6バイト)
例: 00:1A:2B:3C:4D:5E
↑↑ ↑↑↑↑ OUI(メーカーID) + デバイス固有ID
bit0=1: マルチキャストアドレス
bit1=1: ローカル管理アドレス
TCP/IPスタック
Ethernetの上にはIP・TCP/UDPが乗り、組み込み機器でのネットワーク通信はLwIP等のスタックを使います:
アプリ層: HTTP / MQTT / Modbus TCP / OPC UA
トランスポート: TCP / UDP
ネットワーク: IP(IPv4 / IPv6)
データリンク: Ethernet(MAC)
物理層: PHY(100BASE-TX等)
動作原理
MAC(Media Access Controller)とPHY
マイコンやSoCには通常、MACコントローラが内蔵されていますが、物理信号の送受信を行うPHY(Physical Layer transceiver)は外付けICが必要です:
[マイコン内蔵MAC] ──RMII/MII── [PHY IC(DP83848・LAN8720等)] ──RJ-45── [LANケーブル]
RMII(Reduced Media Independent Interface)は2ビット幅のデータ線でMACとPHYを接続するインターフェース(クロック50MHz)です。
// STM32 HAL + LwIPを使ったEthernet通信例
#include "lwip.h"
#include "lwip/tcp.h"
#include "lwip/udp.h"
// LwIPの初期化(MX_LWIP_Init()でCubeMXが生成)
MX_LWIP_Init();
// UDP送信
struct udp_pcb *udp_client;
ip_addr_t dest_ip;
udp_client = udp_new();
IP4_ADDR(&dest_ip, 192, 168, 1, 100);
udp_connect(udp_client, &dest_ip, 8080);
struct pbuf *p = pbuf_alloc(PBUF_TRANSPORT, 32, PBUF_RAM);
const char *msg = "Hello Ethernet!";
memcpy(p->payload, msg, strlen(msg));
udp_send(udp_client, p);
pbuf_free(p);
// TCP サーバー
struct tcp_pcb *tcp_server;
tcp_server = tcp_new();
tcp_bind(tcp_server, IP_ADDR_ANY, 80);
tcp_server = tcp_listen(tcp_server);
tcp_accept(tcp_server, tcp_accept_callback);
PHY初期化とAuto-Negotiation
Ethernet PHYはリンク速度・デュプレックスを自動ネゴシエーション(Auto-Negotiation)します。PHYの設定はMDIO/MDCインターフェース(管理インターフェース)で行います:
// PHY管理レジスタへのアクセス(MACのMDIO経由)
HAL_ETH_ReadPHYRegister(&heth, PHY_ADDR, PHY_BSR, &bsr); // ベーシックステータスレジスタ読み取り
if (bsr & PHY_LINKED_STATUS) {
// リンクアップ
}
TSN(Time-Sensitive Networking)
IEEE 802.1シリーズのTSN規格は、標準Ethernetに決定論的な遅延保証・時刻同期を追加します:
- IEEE 802.1AS: gPTP(精密時刻同期)
- IEEE 802.1Qbv: スケジュールトラフィックシェーピング
- IEEE 802.1Qbu/802.3br: フレームプリエンプション
用途・ユースケース
組み込み・産業分野でのEthernet活用例:
- 産業用コントローラ(PLC): EtherCAT・PROFINET・EtherNet/IPでモーターコントローラ・センサーと高速リアルタイム通信
- IoTゲートウェイ: フィールド機器(RS-485/CAN)のデータをEthernet経由でクラウドに転送
- 産業カメラ・ビジョンシステム: GigE Vision規格でカメラ画像を高速転送
- 車載ネットワーク: ADAS・インフォテインメント系のEthernetバックボーン(100BASE-T1/1000BASE-T1)
- 医療機器: 患者モニタリングデータのネットワーク転送
- スマートファクトリー: OPC UAサーバーを持つマイコンがEthernet経由でMES/SCADAと通信
実装・開発のポイント
PHYチップの選定
| PHY | 速度 | メーカー | 特徴 |
|---|---|---|---|
| LAN8720 | 100M | Microchip | 低コスト、STM32と相性良い |
| DP83848 | 100M | TI | 定番・実績あり |
| KSZ8081 | 100M | Microchip | 車載グレード対応あり |
| RTL8211 | 1G | Realtek | 汎用Gigabit PHY |
| NCN26010 | 10BASE-T1S | onsemi | 産業用SPE |
LwIPスタックの設定
LwIPはマイコン向けの軽量TCP/IPスタックとして広く使われています。重要な設定パラメータ:
// lwipopts.h の主な設定
#define MEM_SIZE (10 * 1024) // ヒープサイズ
#define MEMP_NUM_PBUF 10 // pbufプールサイズ
#define TCP_MSS 1460 // TCP最大セグメントサイズ
#define TCP_WND (4 * TCP_MSS) // TCPウィンドウサイズ
#define LWIP_NETIF_HOSTNAME 1 // ホスト名有効
#define LWIP_DHCP 1 // DHCP有効
EMC対策
産業環境でのEthernetには適切なEMC(電磁適合性)対策が必要です:
- パルストランス: RJ-45コネクタに内蔵するか外付けで挿入。コモンモードノイズを除去
- TVSダイオード: ESD保護のためRJ-45近くに配置
- グランドプレーン: PHY周辺はベタグランドで囲み、ノイズを最小化
他技術との比較
Ethernet vs Wi-Fi
| 項目 | Ethernet | Wi-Fi |
|---|---|---|
| 信頼性 | 高い(有線) | 環境依存(無線) |
| 速度 | 安定(1Gbps〜) | 変動あり |
| 配線 | ケーブルが必要 | ケーブル不要 |
| セキュリティ | 物理接続で高い | 暗号化が必須 |
| レイテンシ | 低い・安定 | やや高い・変動あり |
Ethernet vs RS-485
RS-485は低コスト・長距離・ノイズ耐性に優れますが、速度(最大10Mbps)と接続数の限界があります。Ethernetはプロトコル・セキュリティ・速度で圧倒的に優れますが、配線コストとPHYコストが高くなります。