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

推薦する

Linux FTP匿名アップロードとダウンロードが自動的に開始される問題を解決する

勉強や仕事で FTP サーバーを頻繁に使用する場合は、起動時に自動的に起動するように設定できます。設...

JQuery データグリッドクエリの詳細な説明

目次ツリー項目にコードを追加します。 1. 右側に関連情報ページを保存します(userManage....

より人気がありクリエイティブなダーク背景のウェブデザインの例

暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...

Serv-U FTPとADの完璧な統合ソリューションの詳細な説明

会社が現在使用しているソリューションを確認するためにバックエンドにログインしました。使用される FT...

MySQL 8.0 のデフォルトのデータディレクトリを変更する (設定なしの簡単な操作)

使用シナリオ: Alibaba Cloud を使用しており、データディスクを別途購入しました (大容...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

Vue-pdfはPDFファイルのオンラインプレビューを実装します

序文ほとんどのプロジェクトでは、PDF ファイルのオンライン プレビューに遭遇するでしょう。このプロ...

JS 非同期コードユニットテストの魔法 Promise

目次序文プロミスチェーンMDN エラー連鎖デフォルト処理略語非同期待機序文この記事を書いた理由は、ユ...

nginx アンチホットリンクおよびアンチクローラー設定の詳細な説明

新しい設定ファイルを作成します (たとえば、nginx インストール ディレクトリの下の conf ...

Python で pymysql モジュールを使用して MySQL データベースに接続する

pymysqlをインストールするpip install pymysql 2|0pymysqlの使用2...

src 属性と href 属性の違い

src と href には違いがあり、混同される可能性があります。 src は現在の要素を置き換える...

jQueryで劇場の座席選択と予約の効果を実現

jQueryは劇場の座席選択と予約の効果を実現します。参考までに、具体的な内容は次のとおりです。効果...

JavaScript の組み込みオブジェクト 数学と文字列の詳細な説明

目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...

Nest.js のハッシュと暗号化の例の詳細な説明

0x0 はじめにまず、ハッシュアルゴリズムとは何でしょうか?メッセージやセッション項目など、一部のデ...

vuex ベースのショッピングカート機能の実装

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...