Linux デバイス用ネットワーク ドライバーの紹介

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G

ここに画像の説明を挿入

概要: 内部 MAC + 外部 PHY + RJ45 ソケット (内蔵ネットワーク トランスフォーマー) は、完全な組み込みネットワーク インターフェイス ハードウェアを構成します。

内部 MAC 周辺機器は、MII または RMII インターフェイスを介して外部 PHY チップに接続します。MII/RMII インターフェイスは、ネットワーク データの送信に使用されます。さらに、マスターはPHYチップを設定または読み取る、つまりPHYの内部レジスタを読み書きする必要があるため、MIDOと呼ばれる制御インターフェースも必要です。MDIOはIICと非常によく似ており、MDIOと呼ばれるデータラインとMDCと呼ばれるクロックラインの2本のワイヤがあります。

ここに画像の説明を挿入

(1)データリンク層MACはMedia Access Controlの略で、メディアアクセス制御サブ層プロトコルである。このプロトコルは、OSI 7 層プロトコルのデータリンク層の下位半分に位置し、主に物理層を接続する物理媒体の制御を担当します。データを送信する場合、MAC プロトコルは、データが送信可能かどうかを事前に判断できます。送信できる場合は、データにいくつかの制御情報が追加され、最終的にデータと制御情報が指定された形式で物理層に送信されます。データを受信する場合、MAC プロトコルは最初に入力情報を判断して、伝送エラーが発生するかどうかを確認します。エラーがない場合、制御情報が削除され、LLC 層に送信されます。イーサネット MAC は、IEEE-802.3 イーサネット標準で定義されています。

(2)物理層PHYは物理層を実装する物理インターフェーストランシーバーである。これには、MII/GMII (メディア独立インターフェース) サブレイヤー、PCS (物理コーディング サブレイヤー)、PMA (物理メディア アタッチメント) サブレイヤー、PMD (物理メディア依存) サブレイヤー、および MDI サブレイヤーが含まれます。

(3)MIIはMedia Independent Interfaceの略です。「メディアに依存しない」とは、MACハードウェアを再設計したり交換したりすることなく、あらゆるタイプのPHYデバイスが正常に動作できることを意味します。送信機と受信機にそれぞれ独立した 2 つのチャンネルが含まれています。各チャネルには独自のデータ、クロック、および制御信号があります。 MII データ インターフェイスには、TX_ER、TXD<3:0>、TX_EN、TX_CLK、COL、RXD、RX_EX、RX_CLK、CRS、RX_DV など、合計 16 個の信号が必要です。

(4)RMIIはReduced Media Independent Interfaceの略で、MIIインターフェースの簡易版です。 RMII インターフェースでは、MII よりも 9 少ない 7 つのデータ ラインのみが必要なので、ボードの配線が大幅に容易になります。通常、50 MHz のバス クロックが必要です。 MII と同様に、RMII は 10M および 100M のバス インターフェイス速度をサポートします

(5) GMIIはギガビットイーサネットのMIIインターフェースです。また、対応するRGMIIインターフェースも備えており、これはGMIIインターフェースを簡略化したものです。 GMII は 8 ビットのインターフェース データと125MHz の動作クロックを使用するため、伝送速度は 1000Mbps に達します。 MII で規定された 10/100 Mbps 動作モードにも対応しています。

(6)MDIOインターフェース
MDIO は Management Data Input/Output の略で、文字通り管理データの入力と出力のインターフェースを意味します。これは、1 つの MDIO データ ラインと 1 つの MDC クロック ラインで構成されるシンプルな 2 線式シリアル インターフェースです。ドライバーは、MDIO と MDC の 2 つのラインを介して PHY チップの任意のレジスタにアクセスできます。 MDIO インターフェイスは最大 32 個の PHY をサポートします。 同時に動作できる PHY は 1 つだけなので、これら 32 個の PHY チップをどのように区別するのでしょうか? IIC と同様に、デバイス アドレスを使用します。同じ MDIO インターフェイスのすべての PHY チップのデバイス アドレスは競合することはできず、一意である必要があります。特定のデバイス アドレス値については、対応する PHY データ マニュアルを参照してください。

したがって、MAC と外部 PHY チップは主に MII/RMII および MDIO インターフェイスを介して接続され、リセットや割り込みなどの他のピンも必要になる場合があります。

付録:

ここに画像の説明を挿入
ここに画像の説明を挿入

Linux デバイスのネットワーク ドライバーに関するこの記事はこれで終わりです。Linux ネットワーク ドライバーに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux カーネル デバイス ドライバー キャラクタ デバイス ドライバー ノート

<<:  HTML の POST リクエストにおける a タグの 2 つの使用法の分析

>>:  海外の無料写真素材サイトベスト9

推薦する

Sublime TextがUbuntuで中国語を入力できない問題の最も簡単な解決策

崇高なSublime Text はコード エディター (Sublime Text2 は有料ソフトウェ...

CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

不明なドメイン名 www.baidu.com を Ping するホストのIPアドレスを変更する右クリ...

jsシミュレーションでJingdongの詳細ページで画像を拡大する効果を実現

この記事では、Jingdongの詳細ページの画像の拡大を実現するためのjsの具体的なコードを紹介しま...

CentOS7 で yum を使用して PostgreSQL と PostGIS をインストールする方法

1. yumソースを更新するCentOS7 のデフォルトの yum リポジトリの PostgreSQ...

複数サーバーの負荷分散を実現するためのNginx構成

Nginx ロード バランシング サーバー: IP: 192.168.0.4 (Nginx-Serv...

mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

目次リレーショナルデータベースとは何ですか?非リレーショナルデータベースとは何ですか? MySQL ...

知っておくべき 25 の Vue のヒント

目次1. プロパティを型リストに制限する2. デフォルトのコンテンツと拡張ポイント3. ネストされた...

MySQL ソートの原則とケース分析

序文ソートはデータベースの基本的な機能であり、MySQL も例外ではありません。ユーザーは、Orde...

Ckeditor + Ckfinderを使用したJavaScriptファイルアップロードケースの詳細な説明

目次1. 準備2. 減圧3. 統合を開始する1. 準備Ckeditor_4.5.7_full + C...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

MySQLチュートリアルではストアドプロシージャを徹底的に理解します

目次1. ストアドプロシージャに関連する概念2. ストアドプロシージャの使用1) ストアドプロシージ...

Node.js における非同期プログラミングの知識ポイントの詳細な説明

導入JavaScript はデフォルトでシングルスレッドであるため、コードは並列実行するための新しい...

XHTML Web ページ チュートリアル

<br />この記事は主に、初心者にXHTMLの基本知識と、XHTMLとHTMLの違いを...