Stellaris® LM3S9B96 Microcontroller

Stellaris® LM3S9B96 Microcontroller
19 章 イーサネット・コントローラ
。
JAJU122
SPMS182D 翻訳版(19 章)
最新の英語版:
http://www.ti.com/lit/gpn/lm3s9b96
この資料は、Texas Instruments Incorporated(TI)が英文で記述した資料を、皆様のご理解の一助として頂くために日本テキサ
ス・インスツルメンツ(日本 TI)が英文から和文へ翻訳して作成したものです。資料によっては正規英語版資料の更新に対応して
いないものがあります。日本 TI による和文資料は、あくまでも TI 正規英語版をご理解頂くための補助的参考資料としてご使用下
さい。製品のご検討およびご採用にあたりましては必ず正規英語版の最新資料をご確認下さい。TI および日本 TI は、正規英語
版にて更新の情報を提供しているにもかかわらず、更新以前の情報に基づいて発生した問題や障害等につきましては如何なる
責任も負いません
JAJU122
19
イーサネット・コントローラ
Stellaris® イーサネット・コントローラは、完全内蔵型の MAC (Media Access Controller) および PHY (Network
Physical) インターフェイスで構成されています。イーサネット・コントローラは IEEE 802.3 仕様に準拠しており、
10BASE-T 標準と 100BASE-TX 標準に完全対応しています。
Stellaris® イーサネット・コントローラ・モジュールの機能は次のとおりです。
„
IEEE 802.3-2002 仕様に準拠
-
10BASE-T/100BASE-TX IEEE-802.3 に準拠。ラインとのインターフェイスはデュアル型 1:1 絶縁トランス
のみで実現
-
10BASE-T/100BASE-TX ENDEC および 100BASE-TX スクランブラ / デスクランブラを実装
-
フル機能のオートネゴシエーション
„
複数の動作モード
-
全二重および半二重 100 Mbps
-
全二重および半二重 10 Mbps
-
省電力モードとパワーダウン・モード
„
豊富な機能設定
-
プログラマブル MAC アドレス
-
LED アクティビティの選択
-
プロミスキャス・モード対応
-
CRC エラーフレーム破棄機能
-
ユーザー定義可能な複数の割り込み
„
物理層(PHY)の設定
-
ソフトウェアによる MDI/MDI-X クロスオーバのサポート
-
送信振幅をレジスタで設定可能
-
自動極性反転と 10BASE-T 信号受信
„
各パケットに対し非常に正確なタイムスタンプを提供する IEEE 1588 PTP (Precision Time Protocol)
„
マイクロ・ダイレクト・メモリ・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
送信用と受信用でチャネルを分離
-
パケット受信時にアサートされる受信チャネル要求
-
送信 FIFO が空のときにアサートされる送信チャネル要求
Stellaris LM3S9B96 Microcontroller Data Sheet (Rev. D) 19 章 翻訳版
19.1
ブロック図
図 19-1 に示すように、このイーサネット・コントローラは、機能上 MAC (Media Access Controller) レイヤと PHY
(Network Physical) レイヤの 2 つのレイヤに分けられます。これらのレイヤは、それぞれ OSI 参照モデルのレイ
ヤ 2 とレイヤ 1 に対応します。CPU は、MAC レイヤを介してイーサネット・コントローラにアクセスします。MAC
レイヤは、イーサネット・フレームの送信処理と受信処理を行います。
また、MAC レイヤは、内蔵 MII (Media Independent Interface) を介して PHY レイヤへのインターフェイスを実
現します。PHY レイヤは、イーサネット・バスと通信を行います。
図 19-1. イーサネット・コントローラ
図 19-2 に、このイーサネット・コントローラの内部構造およびレジスタ・セットと各種機能の関係の詳細を示します。
図 19-2. イーサネット・コントローラのブロック図
19.2
信号の説明
表 19-1 および表 19-2 で、このイーサネット・コントローラの外部信号の一覧を示し、それぞれの機能について説
明します。イーサネット LED 信号は GPIO 信号との選択機能であり、リセット後はデフォルトの GPIO 信号にな
ります。次の表中、「ピン・マルチプレクシング / ピン割り当て」の列に、LED 信号用の GPIO ピンの配置を示しま
す。LED 機能を選択するには、GPIO 代替機能選択レジスタ (GPIOAFSEL) の AFSEL ビットをセットする必要
があります。括弧内の数値は、指定された GPIO ポート・ピンに信号を割り当てるために、GPIO ポート制御レジス
タ (GPIOPCTL) の PMCn フ ィ ー ル ド に 設 定 す る 値 を 示 し て い ま す 。 GPIO の 設 定 の 詳 細 に つ い て は 、
「General-Purpose Input/Outputs (GPIOs) (汎用入出力 (GPIO))」を参照してください。その他の信号 (ピン・マル
チプレクシング/ピン割り当ての列に「固定」と記載) の割り当てピンと機能は固定です。
表 19-1. イーサネットの信号 (100LQFP)
ピン名
ピン番号
ピン・マルチプレクシング
/ピン割り当て
入出力
バッファ
のタイプa
ERBIAS
33
固定
O
アナログ
LED0
59
PF3 (1)
O
TTL
イーサネット LED 0
LED1
60
PF2 (1)
O
TTL
イーサネット LED 1
MDIO
58
固定
I/O
OD
イーサネット PHY の MDIO
RXIN
37
固定
I
アナログ
イーサネット PHY の RXIN
RXIP
40
固定
I
アナログ
イーサネット PHY の RXIP
TXON
46
固定
O
TTL
イーサネット PHY の TXON
TXOP
43
固定
O
TTL
イーサネット PHY の TXOP
XTALNPHY
17
固定
O
アナログ
イーサネット PHY XTALN 25 MHz 発振
回路クリスタル出力
XTALPPHY
16
固定
I
アナログ
イーサネット PHY XTALP 25 MHz 発振
回路クリスタル入力
a.
説明
イーサネット PHY 用に 12.4 kΩ の抵抗
(精度 1%)を介して GND に接続
「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。
表 19-2. イーサネットの信号 (108BGA)
ピン名
ピン番号
ピン・マルチプレクシング
/ピン割り当て
入出力
バッファ
のタイプa
ERBIAS
J3
固定
O
アナログ
LED0
J12
PF3 (1)
O
TTL
イーサネット LED 0
LED1
J11
PF2 (1)
O
TTL
イーサネット LED 1
MDIO
L9
固定
I/O
OD
イーサネット PHY の MDIO
RXIN
L7
固定
I
アナログ
イーサネット PHY の RXIN
RXIP
M7
固定
I
アナログ
イーサネット PHY の RXIP
TXON
L8
固定
O
TTL
イーサネット PHY の TXON
イーサネット PHY の TXOP
説明
イーサネット PHY 用に 12.4 kΩ の抵抗
(精度 1%)を介して GND に接続
TXOP
M8
固定
O
TTL
XTALNPHY
J1
固定
O
アナログ
イーサネット PHY XTALN 25 MHz 発振
回路のクリスタル出力
XTALPPHY
J2
固定
I
アナログ
イーサネット PHY XTALP 25 MHz 発振
回路クリスタル入力
a.
「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。
19.3
注:
機能の説明
ERBIAS ピンとグランドの間には 12.4 kΩ 抵抗を接続する必要があります。12.4 kΩ 抵抗は、許容誤差が
1% で、かつ ERBIAS ピンの近傍に配置して下さい。抵抗の消費電力は低いため、任意の形状のチップ抵
抗を使用できます。
このイーサネット・コントローラの機能を以降の節で説明します。
19.3.1 MAC 動作
イーサネット・フレーム・フォーマット、MAC レイヤ FIFO、イーサネット送信および受信オプション、パケット・タイムス
タンプ、および LED インジケータなど、MAC レイヤの動作について以降の節で説明します。
19.3.1.1 イーサネット・フレーム・フォーマット
イーサネット・データは、イーサネット・フレームによって搬送されます。基本的なフレーム・フォーマットを、図 19-3
に示します。
図 19-3. イーサネット・フレーム
フレーム内の 7 つのフィールドは、上図左 (プリアンブル) から順に送信されます。フレーム内のビットは、最下位
ビットから順に送信されます。
„
プリアンブル
プリアンブル・フィールドは、受信フレームのタイミングと同期を取るために使用される、7 オクテット長のフィールドで
す。
„
SFD(Start Frame Delimiter)
プリアンブル・フィールドの次の SFD フィールドは、フレームの開始を示します。値は 1010.1011b です。
„
デスティネーション・アドレス (DA)
DA フィールドは、フレームの送信先となるデスティネーション・アドレスを指定します。DA フィールドの LSB (フレー
ム内の DA オクテット 1 のビット 16、表 19-3 参照) によって、アドレスが個別のアドレス (0) であるか、グルー
プ / マルチキャスト・アドレス (1) であるかが決定されます。
„
ソース・アドレス (SA)
SA フィールドは、フレームの送信元の局を識別します。
„
長さ / タイプ・フィールド
このフィールドの意味はその数値によって異なり、データの長さまたはタイプを示します。データ・フィールドの最大長
は 1500 オクテットです。長さ / タイプ・フィールドの値が 1500 (10 進数) 以下の場合は MAC クライアント・デー
タ・オクテットの数を示します。このフィールドの値が 1536 (10 進数) 以上の場合は、データのタイプを示します。こ
の値が 1501 ~ 1535 (10 進数) のときの長さ / タイプ・フィールドの意味は IEEE 802.3 標準では未定義ですが、
このイーサネット・コントローラでは長さ / タイプ・フィールドの値が 1500 (10 進数) より大きい場合はデータのタイ
プとして解釈するものとします。タイプ・フィールドの定義は、IEEE 802.3 標準に規定されています。このフィールド
内にある 2 つのオクテットのうち、最初のオクテットが上位です。
„
データ
データ・フィールドは、データ長が最小 46 オクテット、最大 1500 オクテットのシーケンスです。完全なデータ透過
性を実現しているため、任意の値を扱うことができます。IEEE 標準に適合するために、フレーム・サイズとして最小
46 オクテットが必要です。フレーム・サイズが小さすぎる場合、イーサネット・コントローラが自動的にビットを追加し
ます (パディング)。したがって、パッドのサイズは 0 ~ 46 オクテットです。データのパディングは、イーサネット
MAC 送信制御 (MACTCTL) レジスタの PADEN ビットを 0 にクリアすることによってディスエーブルすることができ
ます。
このイーサネット・コントローラでは、フレーム・サイズ超過 (Frame Too Long) エラーを発生させることなく、1500 バ
イトより長いデータの送受信を行うことができます。ただし、受信フレームが長すぎてこのイーサネット・コントローラの
2KB の RAM に入らない場合は、イーサネット MAC ロウ割り込みステータス (MACRIS) レジスタの FOV ビットを使
用することにより FIFO オーバーラン・エラーを通知することが可能です。
„
FCS(Flame Check Sequence)
FCS には、巡回冗長検査 (CRC) 値が入ります。CRC は、CRC-32 アルゴリズムを使用して、デスティネーション・
アドレス、ソース・アドレス、長さ / タイプ、およびデータ (パッドを含む) の各フィールドから計算されます。このイー
サネット・コントローラは、FCS の値を一回で 1 ニブルずつ計算します。送信フレームの場合、MACTCTL レジス
タの CRC ビットを 0 にクリアすることによってディスエーブルしない限り、このフィールドは MAC レイヤによって自
動的に挿入されます。受信フレームの場合、このフィールドは自動的に検査されます。FCS が合格しない場合、
MACRCTL レジスタの BADCRC ビットを 0 にクリアすることによって FCS 検査をディスエーブルしない限り、フレ
ームは受信 FIFO に格納されません。
19.3.1.2 MAC レイヤの FIFO
このイーサネット・コントローラは、同時送受信をサポートします。この機能は、MACTCTL レジスタの DUPLEX ビッ
トを 1 にセットすることによってイネーブルできます。
イーサネット・フレームの送信用に、1 フレームを格納できる 2 KB の送信 FIFO を備えています。IEEE 802.3 仕
様では、イーサネット・フレームのペイロード・セクションのサイズを 1500 バイトに制限していますが、このイーサネ
ット・コントローラにはこのような制限がありません。バッファ全体を最大 2032 バイトのペイロードに使用できます
(FIFO の最初の 16 バイトは、デスティネーション・アドレス、ソース・アドレス、および長さ / タイプの情報用に予約
されています)。
イーサネット・フレームの受信用に、最大 31 フレームまでの複数フレームを格納できる 2 KB の受信 FIFO を備
えています。フレームを受信した際に受信 FIFO に十分なスペースがない場合は、MACRIS レジスタの FOV ビット
を使用して FIFO オーバーラン・エラーが発生します。
送信 FIFO と受信 FIFO のレイアウトの詳細については、表 19-3 を参照してください。送信 FIFO と受信 FIFO
のレイアウトは次の点が異なります。送信 FIFO の場合、表 19-3 の「1 ワード目」に書き込むデータ長は、「5 ワード
目から n ワード目」に書き込むイーサネット・フレーム・データ・ペイロード数となるようにして下さい。
受信 FIFO の場合、フレーム長フィールドは、長さ / タイプ・バイトおよび FCS ビットを含めた、受信イーサネット・
フレームの合計長になります。
MACTCTL レジスタの CRC ビットを 0 にクリアすることによって FCS の生成がディスエーブルされている場合、
FIFO に書き込まれたフレームに対する FCS バイトを送信 FIFO 内の最後のワードに書き込む必要があります。
また、データ・ペイロード・セクションの長さが 4 の倍数以外の場合、FCS フィールドは FIFO 内のワード境界位置
にありませんので注意して下さい。ただし、受信 FIFO では、次のフレームの開始では常にワード境界に位置しま
す。
表 19-3. 送信 FIFO と受信 FIFO の構成
FIFO ワード・リード /
ライト・シーケンス
1 ワード目
2 ワード目
3 ワード目
4 ワード目
ワード・ビット・フィールド
送信 FIFO (ライト)
受信 FIFO (リード)
7:0
データ長下位バイト
フレーム長下位バイト
15:8
データ長上位バイト
フレーム長上位バイト
23:16
DA オクテット 1
31:24
DA オクテット 2
7:0
DA オクテット 3
15:8
DA オクテット 4
23:16
DA オクテット 5
31:24
DA オクテット 6
7:0
SA オクテット 1
15:8
SA オクテット 2
23:16
SA オクテット 3
31:24
SA オクテット 4
7:0
SA オクテット 5
15:8
SA オクテット 6
23:16
長さ / タイプ上位バイト
31:24
長さ / タイプ下位バイト
5 ワード目から
7:0
データ・オクテット n
n ワード目
15:8
データ・オクテット n+1
最終ワード
a.
23:16
データ・オクテット n+2
31:24
データ・オクテット n+3
FCS 1a
FCS 2a
FCS 3a
FCS 4a
7:0
15:8
23:16
31:24
MACTCTL レジスタの CRC ビットが 0 にクリアされている場合は、正しい CRC を FCS バイトに書き込
む必要があります。CRC ビットを 1 にセットすると、イーサネット・コントローラは自動的に FCS バイトに書き込みま
す。
19.3.1.3 イーサネット送信オプション
MAC レイヤでは、MACTCTL レジスタの DUPLEX ビットを使用することにより、トランスミッタを全二重と半二重の
どちらで動作させるかを設定できます。10BASE-T 半二重モードでは、送信データは受信パスにループバックされる
ことに注意してください。
MACTCTL レジスタの CRC ビットが 1 にセットされている場合、イーサネット・コントローラはフレーム検査シーケン
ス (FCS) を自動的に生成し、送信フレームの末尾に挿入します。ただし、テストの場合は、CRC ビットを 0 にクリア
することによって無効な CRC を含むフレームを生成するように、この機能をディスエーブルすることができます。
IEEE 802.3 仕様では、イーサネット・フレーム・ペイロード・セクションは最低 46 バイト必要です。MACTCTL レジ
スタの PADEN ビットが 1 にセットされているときに、46 バイトより小さいペイロード・データ・セクションが FIFO にロ
ードされると、イーサネット・コントローラは自動的にデータ・セクションをパディングします。この機能は、PADEN ビッ
トを 0 にクリアすることによってディスエーブルできます。
トランスミッタをイネーブルするためには、MACTCTL レジスタの TXEN ビットを 1 にセットして下さい。
19.3.1.4 イーサネット受信オプション
イーサネット・コントローラの受信 FIFO は、ソフトウェアによる初期化中にクリアする必要があります。まず、イーサネ
ット MAC 受信制御レジスタ (MACRCTL) のRXEN ビットを 0 にクリアすることによってレシーバをディスエーブルに
してください。この後、 MACRCTL レジスタの RSTFIFO ビットを 1 にセットすることによって FIFO をクリアできま
す。
レシーバは、受信フレーム内の FCS フィールドの CRC 値が不正であった場合、そのフレームを自動的に破棄しま
す。このとき、受信エラー割り込みが生成され、受信データは失われます。すべてのフレームの受け付けを許可する
には、MACRCTL レジスタの BADCRC ビットを 0 にクリアします。
通常動作モードでは、レシーバは、イーサネット MAC 固有アドレス 0 レジスタ (MACIA0) およびイーサネット
MAC 固有アドレス 1 レジスタ (MACIA1) に設定されたアドレスと一致するデスティネーション・アドレスを持つフレ
ームだけを受け付けます。ただし、MACRCTL レジスタの PRMS ビットと AMUL ビットをセットすることにより、イー
サネット・レシーバをプロミスキャス・モードおよびマルチキャスト・モード用に設定することもできます。
19.3.1.5 パケットのタイムスタンプ
アプリケーションによっては、サンプルのタイムスタンプやイベントのトリガに、非常に精密なクロックが要求される場
合があります。IEEE 1588 Precision Time Protocol (PTP) は、イーサネットを介してマイクロ秒を上回る精度でクロ
ックを同期させる方法を規定しています。PTP クロックの精度は、PTP イーサネット・パケットのタイムスタンプの精
度に大きく依存します。ソフトウェアのみの PTP ソリューションでは、イーサネット・パケット・タイムスタンプ内にジッ
タが生じる恐れがあり、この場合ターゲットにおける PTP クロックの精度が低下します。Stellaris では、汎用タイマ
ー 3 (GPT3) をイーサネット MAC タイマー・サポート (MACTS) レジスタと併用することにより、イーサネット・パケ
ット用のより正確なタイムスタンプを供給することが可能です。
この機能は、MACTS レジスタの TSEN ビットを 1 にセットすることによってイネーブルすることができます。この機
能がイネーブルの場合、GPT3 はイーサネット・コントローラ専用となってしまうことにご注意ください。また、GPT3
は 16 ビット・エッジ・キャプチャ・モードに設定してください (GPTMTAMR レジスタを参照)。GPT3 のタイマー A
には送信時刻が格納され、タイマー B には受信時刻が格納されます。別の汎用タイマーを 16 ビット・フリーランニ
ング・タイマーとして設定することによって、レシーバとトランスミッタのタイマーを同期させたり、GPT3 に格納された
タイムスタンプと比較するタイムスタンプを提供したりすることができます。StellarisWare® ソフトウェア・パッケージ
には、ソフトウェアのみでタイムスタンプを設定する場合と、GPT3 および MACTS レジスタを使用してより正確なタ
イムスタンプを設定する場合の PTP アプリケーションのサンプルプログラムとして、enet_ptpd が提供されています。
この enet_ptpd ファイルは IEEE-1588 プロトコル・バージョン 1 に対応していますが、Stellaris® マイクロコントロ
ーラ自体はバージョン 1 と 2 に対応しています。
19.3.1.6 LED インジケータ
イーサネット・コントローラは、様々な動作状態を示すことができる 2 つの LED 信号をサポートしています。これら
の信号は、LED0 ピンと LED1 ピンに割り当てられています。デフォルトでは、これらのピンは GPIO 信号 (PF3
と PF2) として設定されています。イーサネット・コントローラが LED 信号を駆動するには、各信号をそれぞれハー
ドウェア機能に再設定する必要があります。詳細については、「General-Purpose Input/Outputs (GPIOs) (汎用入
出力 (GPIO))」を参照してください。これらのピンの機能は、イーサネット MAC LED 設定レジスタ (MACLED) を
使用して設定できます。LED 機能の設定方法の詳細については、MACLED レジスタを参照してください。
19.3.2 内部 MII の動作
MII 管理インターフェイスを正しく機能させるためには、10 kΩ プルアップ抵抗を介して MDIO 信号を +3.3 V 電
源に接続する必要があります。プルアップ抵抗を介さずに接続した場合、内部 MII で管理トランザクションが機能し
なくなります。このとき、PHY レイヤはデフォルトでリンク・パラメータのオートネゴシエーションを行うため、MII を介
したデータ送信は引き続き機能します。
また、MII 管理インターフェイスを正しく機能させるためには、システム・クロックを 2.5 MHz 以下の周波数になるよ
うに分周した内部クロックを生成する必要があります。イーサネット MAC 管理分周比レジスタ (MACMDV) には、
システム・クロックをスケールダウンする際に使用する分周比が含まれます。このレジスタの使用方法の詳細につい
ては、MACMDV レジスタを参照してください。
19.3.3 PHY の動作
イーサネット・コントローラ内の PHY レイヤには、内蔵 ENDEC、スクランブラ / デスクランブラ、デュアル・スピー
ド・クロック・リカバリ、およびフル機能のオートネゴシエーション機能が含まれます。
トランスミッタには、オンチップ・パルス・シェーパーとローパワー・ライン・ドライバが含まれます。レシーバは、正確な
クロックとデータのリカバリに必要なアダプティブ・イコライザとベースライン・リストア回路を備えています。送信回路
は、100BASE-TX アプリケーションの場合はカテゴリ 5 シールドなしツイストペア・ケーブル (Cat-5 UTP)、
10BASE-T アプリケーションの場合はカテゴリ 3 シールドなしツイストペア・ケーブル (Cat-3 UTP) とインターフェ
イスします。イーサネット・コントローラは、デュアル 1:1 絶縁トランスを介してライン・メディアに接続します。外部フィ
ルタは必要ありません。
19.3.3.1 クロックの選択
イーサネット・コントローラには、オンチップ・クリスタル発振回路からのクロックと、外部発振回路からのクロックのい
ずれかを供給することができます。オンチップ・クリスタル発振回路を使用する場合は、 XTALPPHY ピンと
XTALNPHY ピンの間に 25 MHz のクリスタルを接続します。オンチップ・クリスタル発振回路からのクロックの代わ
りに、外部 25 MHz クロック入力を XTALPPHY ピンに接続することもできます。この場合、クリスタルは必要ない
ので、XTALNPHY ピンは未接続とします。イーサネット・コントローラの仕様の詳細については、「 Ethernet
Controller (イーサネット・コントローラ)」を参照してください。
19.3.3.2 オートネゴシエーション
イーサネット・コントローラは、銅配線上の 10/100 Mbps 動作に関する IEEE 802.3 標準の第 28 条に規定され
たオートネゴシエーション機能をサポートします。この機能は、レジスタ設定によって制御します。オートネゴシエーシ
ョン機能はデフォルトで有効になっており、リセット後はイーサネット PHY 管理レジスタ 0 - 制御 (MR0) の
ANEGEN ビットが 1 にセットされます。また、ANEGEN ビットを 0 にクリアすることにより、ソフトウェアでオートネゴシエ
ーション機能をディスエーブルすることができます。オートネゴシエーション中の FLP(Fast link Pulse)により、このイ
ーサネット・コントローラのリンク・パートナーのステータスが、イーサネット PHY 管理レジスタ 4-オートネゴシエー
ション通知レジスタ (MR4) に反映されます。
オートネゴシエーションが完了すると、イーサネット PHY 管理レジスタ 31―PHY 特殊制御 / ステータス・レジスタ
(MR31) の SPEED フィールドに、実際の速度が反映されます。また、MR31 レジスタの AUTODONE ビットが 1 に
セットされると、オートネゴシエーションが完了したことを示します。MR0 レジスタの RANEG ビットを 1 にセットすると、
オートネゴシエーションをリスタートします。
19.3.3.3 極性の補正
イーサネット・コントローラは、10BASE-T およびオートネゴシエーション機能に対し、極性を自動的に反転すること
ができます。極性が自動的に反転されると、イーサネット PHY 管理レジスタ 27―特殊制御 / ステータス・レジスタ
(MR27) の XPOL ビットが 1 にセットされます。
19.3.3.4 MDI/MDI-X
イーサネット・コントローラは、IEEE 802.3-2002 仕様に定義されている MDI/MDI-X をサポートします。MDI/MDI-X
では、ハブなどの他のデバイスに接続する場合にクロス・ケーブルが不要となります。以降に示す疑似コードで要約
される関数を使用することによって、ソフトウェアで MDI/MDI-X を実現することができます。このコードは、システム
Tick タイマーや汎用タイマーなど、Stellaris® マイクロコントローラ上で使用可能なタイマー・リソースを使用して定
期的に呼び出して下さい。このコードでは、イーサネット PHY 管理レジスタ 1-ステータス・レジスタ (MR1) の
LINK ビット、イーサネット PHY 管理レジスタ 17-モード制御 / ステータス・レジスタ (MR17) の ENON ビット、
およびイーサネット PHY MDIX レジスタ (MDIX) の EN ビットを参照しています。
//
// Entry Point for MDI/MDI-X configuration.
//
// Increment the Link Active and Energy Detect Timers using the elapsed time
// since the last call to this function. If using a periodic timer, the
// elapsed time should be a constant (the programmed period of the timer).
//
Increment Link Active Timer
Increment Energy Detect Timer
//
if(No Ethernet Link Active)
{
//
// If energy has been detected on the link, reset the Energy Detect Timer.
// If it is a "new" energy detect, reset the link detect timer also.
//
if(Ethernet Energy Detected)
{
Reset Energy Detect Timer
if(New Energy Detect)
{
Reset Link Detect Timer
}
}
//
// If the Energy or Link Detect timer has expired, toggle the MDI/MDI-X
// mode. Typically, the Energy Detect Timer would be ~62ms, while the
// Link Detect Timer would be ~2s
//
if((Energy Detect Timer Expired) or
(Link Detect Timer Expired))
{
Reset Energy Detect Timer
if(Random Event)
{
Reset Link Detect Timer
Toggle MDI/MDI-X Mode
}
}
}
//
// Here, if an Ethernet Link has been detected, simply reset the timers
// for the next time around.
//
else
{
Reset Link Detect Timer
Reset Energy Detect Timer
}
19.3.3.5 パワー・マネージメント
PHY には、次の 2 つの省電力モードがあります。
„
パワーダウン
„
エネルギー検出パワーダウン
パワーダウン・モードは、MR0 レジスタの PWRDN ビットを 1 にセットすることによって有効になります。パワーダウ
ン・モード時、PHY の消費電力は最小になります。PWRDN ビットを 0 にクリアすると、PHY が起動し、自動的にリセ
ットされます。
エネルギー検出パワーダウン・モードは、MR17 レジスタの EDPD ビットを 1 にセットすることによって有効になりま
す。このモード中、ライン上にエネルギーが存在しない場合は、管理インターフェイス、SQUELCH 回路、および
ENERGYON ロジックを除いて PHY がパワーダウンします。ENERGYON ロジックは、100BASE-T、10BASE-T、
またはオートネゴシエーション信号から、有効なエネルギーの有無を検出します。PHY がパワーダウン中は、何も
送信されません。リンク・パルスまたはパケットを受信すると、PHY が起動します。このとき、PHY は自動的に停止
前の状態にリセットされ、MR29 レジスタの EONIS ビットを 1 にセットします。また、ENERGYON モードを起動す
る最初のパケットは (場合によっては 2 番目のパケットも) 失われることがあります。
19.3.4 割り込み
イーサネット・コントローラは、次の条件が 1 つ以上発生した場合に割り込みを生成することができます。
„ 空の受信 FIFO でフレームを受信した
„ フレーム送信エラーが発生した
„ フレームが正常に送信された
„ 受信 FIFO 内の不適切な箇所でフレームが受信された (オーバーラン)
„ フレームが、1 つ以上のエラー条件で受信された (FCS エラーなど)
„ MAC レイヤと PHY レイヤ間の MII 管理トランザクションが完了した
„ 次の PHY レイヤ条件が 1 つ以上発生した
-
オートネゴシエーション完了
-
リモート障害
-
リンク・パートナー検知
-
並列障害検出
-
新ページ受信
PHY 割り込みの詳細については、イーサネット PHY 管理レジスタ 29-割り込み要因フラグ・レジスタ (MR29)
を参照してください。
19.3.5 DMA
イーサネット・コントローラは、μDMA コントローラに対する要求信号を出力することができ、送信専用および受信専
用チャネルをそれぞれ備えています。DMA のリクエストタイプは、両チャネルともシングルリクエストのみであり、バ
ーストリクエストはサポートしていません。受信チャネル要求はパケットを受信するとアサートされ、送信チャネル要求
は送信 FIFO が空になるとアサートされます。
イーサネット・コントローラに対して、μDMA コントローラを使用するための特殊な設定は必要ありません。
受信したパケットのサイズはヘッダーを検査するまで不明です。そのため、受信要求が発生した場合には、最初の
μDMA 転送ではパケット長とイーサネット・ヘッダーを含めた 4 ワードを受信 FIFO から コピーするように設定す
るのが最適です。この転送が完了すると、μDMA は割り込みを生成します。割り込みハンドラに入り、バッファ内にあ
る FIFO 内のパケット長とイーサネット・ヘッダーを調べます。パケット長が判明すれば、別の μDMA 転送を設定し
て FIFO から残りの受信パケット・ペイロードをバッファに転送することができます。この転送はソフトウェアが開始し
ます。転送が実行されると、別の割り込みが発生します。
送信チャネルは、送信エンプティ割り込みを発行できますが、μDMA 転送でパケットを送信するには、まずパケットを
含むバッファからの送信 FIFO への転送を設定し、その後ソフトウェアによる要求で転送を開始する方法を推奨しま
す。この転送が完了すると、割り込みが発生します。このとき、両方のチャネルの DMA 転送モードはオートリクエスト
モードにしてください。μDMA コントローラの設定の詳細については、「マイクロ・ダイレクト・メモリ・アクセス・コントロ
ーラ (μDMA)」を参照してください。
19.4
初期化と設定
このイーサネット・コントローラの設定に必要なハードウェアとソフトウェアの設定について以降の節で説明します。
19.4.1 ハードウェアの設定
図 19-4 に、イーサネット・コントローラから 10/100BASE-T イーサネット・ジャックへのインターフェイス例を示し
ます。
図 19-4. イーサネット・ジャックとのインターフェイス
次の絶縁トランスが、テストによってイーサネット PHY レイヤに正しくインターフェイスすることを確認しています。
„ 絶縁トランス
-
TDK TLA-6T103
-
TDK TLA-6T118
-
Bel-Fuse S558-5999-46
-
Halo TG22-3506ND
-
Halo TG110-S050
-
PCA EPF8023G
-
Pulse PE-68515
-
Valor ST6118
-
YCL 20PMT04
„ RJ45 一体型コネクタ付き絶縁トランス
-
TDK TLA-6T704
-
Delta RJS-1A08T089A
„ RJ45 一体型コネクタ、LED、および終端抵抗付き絶縁トランス
-
Pulse J0011D21B/E
-
Pulse J3011G21DNL
19.4.2 ソフトウェアの設定
イーサネット・コントローラを使用するには、RCGC2 レジスタの EPHY0 ビットと EMAC0 ビットを 1 にセットすること
によってコントローラをイネーブルする必要があります (RCGC2 レジスタを参照)。さらに、該当する GPIO モジュ
ールに対するクロックを、システム・コントロール・モジュールの RCGC2 レジスタを使用してイネーブルする必要が
あります。詳細は RCGC2 レジスタを参照してください。どの GPIO ポートをイネーブルするかについては、表
25-4 を参照してください。GPIOPCTL レジスタの PMCn フィールドを設定して、適切なピンにイーサネット信号を割
り当てます。GPIOPCTL レジスタ、および表 25-5 を参照してください。
イーサネット・コントローラの基本動作を設定する手順を次に示します。
1.
内部 MII 上で 2.5 MHz 以下のクロックを取得するように MACMDV レジスタを設定します。例えば、システ
ム・クロックが 20 MHz の場合、MACMDV 値は 0x03 以上にする必要があります。
2.
MACIA0 レジスタと MACIA1 レジスタでアドレス・フィルタリングの設定をします。
3.
MACTCTL レジスタに 0x16 を設定し、自動 CRC 生成とパディングのイネーブル、および全二重動作を指
定します。
4.
MACRCTL レジスタに 0x18 を設定し、受信 FIFO のクリア、および不正 FCS を含むフレームの破棄を指
定します。
5.
MACTCTL レジスタと MACRCTL レジスタの最下位ビットを 1 にセットして、トランスミッタとレシーバの両方
をイネーブルします。
6.
フレームを送信するためには、イーサネット MAC データ・レジスタ (MACDATA) を使用して送信 FIFO にフ
レームを書き込みます。次に、イーサネット MAC 送信要求レジスタ (MACTR) の NEWTX ビットを 1 にセット
して送信プロセスを開始します。その後、NEWTX ビットが 0 にクリアされると、次の送信フレームのために送信
FIFO が有効になります。
7.
フレームを受信するためには、イーサネット MAC パケット数レジスタ (MACNP) の NPR フィールドがゼロ以
外になるのを待ちます。次に、MACDATA レジスタを使用して受信 FIFO からのフレームの読み出しを開始し
ます。パケット全体を確実に受信するために、DriverLib の EthernetPacketGet() API を使用するか、または受
信パケットのバイト数とフレームの長さフィールドを比較して、パケットが完全に読み出されたかどうかを判断し
ます。
19.5
レジスタ・マップ
表 19-4 に、イーサネット MAC レジスタおよび MII 管理レジスタの一覧を示します。MAC レジスタのアドレスは、
イーサネットのベース・アドレス 0x4004.8000 を基準としています。MII 管理レジスタは、MACMCTL レジスタを使
用してアクセスされます。レジスタを設定する前に、イーサネット・コントローラのクロックをイネーブルしてください
(RCGC2 レジスタを参照)。
IEEE 802.3 標準に、PHY レイヤの制御やステータスモニタリングのためのレジスタ・セットが定義されています。こ
れらのレジスタはまとめて MII 管理レジスタと呼ばれ、IEEE 802.3 仕様の 22.2.4 節に詳細に規定されています。
表 19-4 に、MII 管理レジスタの一覧を示します。指定されたアドレスはすべて絶対アドレスであり、イーサネット
MAC 管理制御レジスタ (MACMCTL) の REGADR フィールドに直接書き込まれます。レジスタ 0 ~ 15 のフォ
ーマットは IEEE の仕様で定義されており、すべての PHY レイヤの実装に共通です。特定の PHY 実装によって
対応の可否が異なる機能に対してのみ、変更が許可されます。
レジスタ 16 ~ 31 はベンダー固有のレジスタであり、ベンダーの PHY 実装に固有の機能をサポートするために
使用されます。
表 19-4. イーサネット・レジスタ・マップ
オフセット
名称
タイプ
リセット
説明
イーサネット MAC (イーサネット・オフセット)
0x000
MACRIS/
R/W1C 0x0000.0000 イーサネット MAC ロウ割り込みステータス / アクノリッジ
MACIACK
0x004
MACIM
R/W
0x0000.007F イーサネット MAC 割り込みマスク
0x008
MACRCTL
R/W
0x0000.0008 イーサネット MAC 受信制御
0x00C
MACTCTL
R/W
0x0000.0000 イーサネット MAC 送信制御
表 19-4. イーサネット・レジスタ・マップ (続き)
オフセット
名称
タイプ
リセット
説明
0x010
MACDATA
R/W
0x0000.0000 イーサネット MAC データ
0x014
MACIA0
R/W
0x0000.0000 イーサネット MAC 固有アドレス 0
0x018
MACIA1
R/W
0x0000.0000 イーサネット MAC 固有アドレス 1
0x01C
MACTHR
R/W
0x0000.003F イーサネット MAC スレッショルド
0x020
MACMCTL
R/W
0x0000.0000 イーサネット MAC 管理制御
0x024
MACMDV
R/W
0x0000.0080 イーサネット MAC 管理分周比
0x02C
MACMTXD
R/W
0x0000.0000 イーサネット MAC 管理送信データ
0x030
MACMRXD
R/W
0x0000.0000 イーサネット MAC 管理受信データ
0x034
MACNP
RO
0x0000.0000 イーサネット MAC パケット数
0x038
MACTR
R/W
0x0000.0000 イーサネット MAC 送信要求
0x03C
MACTS
R/W
0x0000.0000 イーサネット MAC タイマー・サポート
0x040
MACLED
R/W
0x0000.0100 イーサネット MAC LED 設定
0x044
MDIX
R/W
0x0000.0000 イーサネット PHY MDIX
MII 管理 (MACMCTL を介してアクセス)
-
MR0
R/W
0x1000
イーサネット PHY 管理レジスタ 0: 制御
-
MR1
RO
0x7809
イーサネット PHY 管理レジスタ 1: ステータス
-
MR2
RO
0x0161
イーサネット PHY 管理レジスタ 2: PHY ID 1
-
MR3
RO
0xB410
イーサネット PHY 管理レジスタ 3: PHY ID 2
-
MR4
R/W
0x01E1
イーサネット PHY 管理レジスタ 4: オートネゴシエーション
通知
-
MR5
RO
0x0001
イーサネット PHY 管理レジスタ 5: オートネゴシエーショ
ン・リンク・パートナー・ベース・ページ機能
-
MR6
RO
0x0000
イーサネット PHY 管理レジスタ 6: オートネゴシエーション
拡張
-
MR16
RO
0x0040
イーサネット PHY 管理レジスタ 16: ベンダー固有
-
MR17
R/W
0x0002
イーサネット PHY 管理レジスタ 17: モード制御 / ステー
タス
-
MR27
RO
-
イーサネット PHY 管理レジスタ 27: 特殊制御 / ステータ
ス
-
MR29
RO
0x0000
イーサネット PHY 管理レジスタ 29: 割り込みステータス
-
MR30
R/W
0x0000
イーサネット PHY 管理レジスタ 30: 割り込みマスク
-
MR31
R/W
0x00040
イーサネット PHY 管理レジスタ 31: PHY 特殊制御 / ス
テータス
19.6
イーサネット MAC レジスタの説明
この節では、イーサネット MAC レジスタの一覧をアドレス・オフセットの順に示し、それぞれ説明します。「MII 管理
レジスタの説明」も参照してください。
レジスタ 1:
イーサネット MAC ロウ割り込みステータス / アクノリッジ
(MACRIS/MACIACK)、オフセット 0x000
MACRIS/MACIACK レジスタは、割り込みステータス / アクノリッジ・レジスタです。リード時、このレジスタは対応
する割り込みの現在のマスク前のステータスを示します。ライト時、任意のビットをセットすると対応する割り込みのス
テータス・ビットがクリアされます。
イーサネット MAC ロウ割り込みステータス / アクノリッジ (MACRIS/MACIACK)
ベース:0x4004.8000
オフセット:0x000
タイプ:R/W1C、リセット:0x000.0000
ビット /
フィールド
31:7
名称
タイプ
リセット
説明
予約
RO
0x0000.00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
6
PHYINT
RW1C
0
PHY 割り込み
値
説明
1
イネーブルされた割り込みがPHY レイヤ内で発生し
ています。PHY の MR29 レジスタをリードして、この
割り込みをトリガした PHY イベントを特定してくださ
い。
0
割り込みなし
このビットは、1 を書き込むとクリアされます。
5
MDINT
RW1C
0
MII トランザクション完了
値
説明
1
MII インターフェイス上のトランザクション (読み出しま
たは書き込み) が正常に完了しました。
0
割り込みなし
このビットは、1 を書き込むとクリアされます。
ビット /
フィールド
4
名称
タイプ
リセット
RXER
RW1C
0
説明
受信エラー
値
説明
1
レシーバでエラーを検出しました。この割り込みビット
をセットした原因には、次のエラーが考えられます。
„ フレーム受信中に受信エラーが発生(100 Mbps
のみ)
„ アライメント・エラーにより、フレームがバイトの整
数倍になっていない (ドリブルビット)
„ フレームの CRC が FCS チェックをパスしてい
ない
„ 長さ / タイプ フィールドを長さフィールドと解釈し
ているとき、フレーム・データ・サイズと一致してい
ない
0
割り込みなし
このビットは、1 を書き込むとクリアされます。
3
FOV
RW1C
0
FIFO オーバーラン
値
説明
1
受信 FIFO でオーバーランを検出しました。
0
割り込みなし
このビットは、1 を書き込むとクリアされます。
2
TXEMP
RW1C
0
送信 FIFO エンプティ
値
説明
1
パケットが送信され、送信 FIFO が空になりました。
0
割り込みなし
このビットは、1 を書き込むとクリアされます。
1
TXER
RW1C
0
送信エラー
値
説明
1
トランスミッタでエラーを検出しました。この割り込みビ
ットをセットした原因には、次のエラーが考えられま
す。
„ 送信 FIFO に格納されたデータ長のフィールド
が 10 進で 2032 (バッファ長 - 16 バイト・ヘッ
ダ・データ) を超えている。このエラーが発生する
と、フレームは送信されません。
„ バックオフ・プロセス実行中に再送信が上限の 16
回を超えて試行された
0
割り込みなし
このビットは 1 を書き込むとクリアされ、送信 FIFO へのライ
トポインタがリセットされます。
ビット /
フィールド
0
名称
タイプ
リセット
RXINT
RW1C
0
説明
パケット受信
値
説明
1
1 つ以上のパケットを受信し、受信 FIFO に格納しま
した。
0
割り込みなし
このビットは、1 を書き込むとクリアされます。
レジスタ 2:
イーサネット MAC 割り込みマスク (MACIM)、オフセット 0x004
このレジスタにより、イーサネット MAC 割り込みをソフトウェアでイネーブル / ディスエーブルできます。任意のビッ
トを 0 にクリアすると対応する割り込みをディスエーブルし、1 にセットするとイネーブルします。
イーサネット MAC 割り込みマスク (MACIM)
ベース:0x04004.8000
オフセット:0x004
タイプ:R/W、リセット:0x0000.007F
ビット /
フィールド
31:7
名称
タイプ
リセット
説明
予約
RO
0x0000.00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
6
PHYINTM
R/W
1
5
4
MDINTM
RXERM
R/W
R/W
1
1
PHY 割り込みのマスク
値
説明
1
MACRIS/MACIACK レジスタの PHYINT ビットが 1
にセットされると、割り込みコントローラに割り込みを送
信します。
0
PHYINT 割り込みを抑制し、割り込みコントローラに
送信しません。
MII トランザクション完了のマスク
値
説明
1
MACRIS/MACIACK レジスタの MDINT ビットが 1
にセットされると、割り込みコントローラに割り込みを送
信します。
0
MDINT 割り込みを抑制し、割り込みコントローラに送
信しません。
受信エラーのマスク
値
説明
1
MACRIS/MACIACK レジスタの RXER ビットが 1 に
セットされると、割り込みコントローラに割り込みを送信
します。
0
RXER 割り込みを抑制し、割り込みコントローラに送
信しません。
ビット /
フィールド
3
2
1
0
名称
タイプ
リセット
FOVM
R/W
1
TXEMPM
TXERM
RXINTM
R/W
R/W
R/W
1
1
1
説明
FIFO オーバーランのマスク
値
説明
1
MACRIS/MACIACK レジスタの FOV ビットが 1 に
セットされると、割り込みコントローラに割り込みを送信
します。
0
FOV 割り込みを抑制し、割り込みコントローラに送信
しません。
送信 FIFO エンプティのマスク
値
説明
1
MACRIS/MACIACK レジスタの TXEMP ビットが 1
にセットされると、割り込みコントローラに割り込みを送
信します。
0
TXEMP 割り込みを抑制し、割り込みコントローラに送
信しません。
送信エラーのマスク
値
説明
1
MACRIS/MACIACK レジスタの TXER ビットが 1 に
セットされると、割り込みコントローラに割り込みを送信
します。
0
TXER 割り込みを抑制し、割り込みコントローラに送
信しません。
パケット受信のマスク
値
説明
1
MACRIS/MACIACK レジスタの RXINT ビットが 1
にセットされると、割り込みコントローラに割り込みを送
信します。
0
RXINT 割り込みを抑制し、割り込みコントローラに送
信しません。
レジスタ 3:
イーサネット MAC 受信制御 (MACRCTL)、オフセット 0x008
このレジスタは、レシーバの設定を行い、受信するフレームのタイプを制御します。
レシーバがイネーブルの場合、AMUL ビットが 1 にセットされていても、デスティネーション・アドレス・フィールドにブロ
ードキャスト・アドレス FF-FF-FF-FF-FF-FF が指定されている有効フレームは、すべて受信されて受信 FIFO に
格納されます。
イーサネット MAC 受信制御 (MACRCTL)
ベース:0x4004.8000
オフセット:0x008
タイプ:R/W、リセット:0x0000.0008
ビット /
フィールド
31:5
名称
タイプ
リセット
予約
RO
0x0000.000
4
RSTFIFO
R/W
0
説明
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
受信 FIFO のクリア
値
説明
1
受信 FIFO をクリアします。受信 FIFO は、ソフトウェ
アによる初期化中にクリアする必要があります。
0
無効
このビットは、読み出されると自動的に 0 にクリアされます。レシ
ーバは、リセットする (RSTFIFO = 1) 前にディスエーブルする
(RXEN = 0) 必要があります。
これにより、受信 FIFO がクリアされます。
3
2
BADCRC
PRMS
R/W
R/W
1
0
不正 CRC フレームの破棄のイネーブル
値
説明
1
不正な計算値を持つ CRC を含んだフレームを破棄し
ます。不正な CRC が検出されると、MACRIS レジス
タの RXER ビットが 1 にセットされ、受信 FIFO がリセ
ットされます。
0
不正な計算値を持つ CRC を含んでいてもフレームを
破棄しません。
プロミスキャス・モード・イネーブル
値
説明
1
デスティネーション・アドレスの指定にかかわらず、有効
なフレームをすべて受け入れるプロミスキャス・モードを
イネーブルします。
0
プロミスキャス・モードをディスエーブルし、指定のデス
ティネーション・アドレスを持つフレームのみを受け付け
ます。
ビット /
フィールド
1
0
名称
タイプ
リセット
AMUL
R/W
0
RXEN
R/W
0
説明
マルチキャスト・フレームのイネーブル
値
説明
1
マルチキャスト・フレームの受信をイネーブルします。
0
マルチキャスト・フレームの受信をディスエーブルしま
す。
レシーバのイネーブル
値
説明
1
イーサネット・レシーバをイネーブルします。
0
イーサネット・レシーバをディスエーブルします。すべて
のフレームを無視します。
レジスタ 4:
イーサネット MAC 送信制御 (MACTCTL)、オフセット 0x00C
このレジスタは、トランスミッタの設定を行い、送信するるフレームを制御します。
イーサネット MAC 送信制御 (MACTCTL)
ベース:0x4004.8000
オフセット:0x00C
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:5
名称
タイプ
リセット
予約
RO
0x0000.000
4
DUPLEX
R/W
0
説明
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
デュプレックス・モード・イネーブル
値
説明
1
デュプレックス・モードをイネーブルし、同時送受信を可
能にします。
0
デュプレックス・モードをディスエーブルします。
3
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
2
CRC
R/W
0
CRC 生成のイネーブル
値
説明
1
CRC の自動生成をイネーブルし、パケットの末尾に
CRC を配置します。
0
送信 FIFO に格納されたフレームを、FIFO に書き込
まれたとおりに正確に送信します。
このビットは通常、1 にセットしてください。
1
PADEN
R/W
0
パケット・パディングをイネーブル
値
説明
1
最小フレーム・サイズに満たないパケットの自動パディ
ングをイネーブルします。
0
自動パディングをディスエーブルします。
このビットは通常、1 にセットしてください。
ビット /
フィールド
0
名称
タイプ
リセット
TXEN
R/W
0
説明
トランスミッタのイネーブル
値
説明
1
トランスミッタをイネーブルします。
0
トランスミッタをディスエーブルします。
レジスタ 5:
イーサネット MAC データ (MACDATA)、オフセット 0x010
重要: このレジスタを読み出す際には注意が必要です。読み出しを実行すると、ビット・ステータスが変わることがあ
ります。
このレジスタにより、ソフトウェアで送信 FIFO と受信 FIFO にアクセスすることができます。
このレジスタを読み出すと、受信 FIFO に格納されたデータがリードポインタで指定されたロケーションから返されま
す。このとき、リードポインタは次の受信 FIFO ロケーションに自動インクリメントされます。フレームが受信されてい
ない状態、または受信処理中に受信 FIFO からデータを読み出すと、不定のデータが返され、リードポインタはイン
クリメントされません。
このレジスタへ書き込むと、送信 FIFO 内のライトポインタで指定されるロケーションにデータが格納されます。この
とき、ライトポインタは次の送信 FIFO ロケーションに自動インクリメントされます。長さフィールドで指定されている
データ長を超えるデータを送信 FIFO に書き込むと、データが失われます。長さフィールドで指定されているデータ
長を下回るデータを送信 FIFO に書き込むと、指定された長さになるまでフレームの末尾に不定のデータが追加さ
れます。最初の送信が完了する前に次のフレームを送信 FIFO に書き込もうとすると、データが失われます。
受信 FIFO 内または送信 FIFO 内のバイトにランダムにアクセスすることはできません。受信 FIFO からのデー
タ読み出しはシーケンシャルに行い、読み出したデータは後続の処理のためにバッファに格納する必要があります。
FIFO 内のデータは、いったん読み出されると再度読み出すことはできません。送信 FIFO へのデータ書き込みは
シーケンシャルに行う必要があります。送信 FIFO にフレームを格納するときにエラーが発生した場合は、
MACIACK レジスタの TXER ビットに 1 をセットすることによってライトポインタを送信 FIFO の先頭にリセットし、
再度データを書き込むことができます。
リード時
イーサネット MAC データ (MACDATA)
ベース:0x4004.8000
オフセット:0x010
タイプ:RO、リセット:0x0000.0000
ビット /
フィールド
31:0
名称
タイプ
リセット
RXDATA
RO
0x0000.0000
説明
受信 FIFO データ
受信 FIFO に格納されている次のワード・データです。
ライト時
イーサネット MAC データ (MACDATA)
ベース:0x4004.8000
オフセット:0x010
タイプ:WO、リセット:0x0000.0000
ビット /
フィールド
31:0
名称
タイプ
TXDATA
WO
リセット
説明
0x0000.0000 送信 FIFO データ
送信用に送信 FIFO に格納する次のワード・データを書き込
みます。
レジスタ 6:
イーサネット MAC 固有アドレス 0 (MACIA0)、オフセット 0x014
このレジスタにより、ネットワーク・インターフェイス・カード (NIC) のハードウェア MAC アドレスの最初の 4 バイト
をソフトウェアで設定することができます。最後の 2 バイトは MACIA1 に設定します。設定した 6 バイトの固有ア
ドレスを、送信フレームのデスティネーション・アドレス・フィールドと比較し、そのフレームを受信すべきかどうかを判
断します。
イーサネット MAC 固有アドレス 0 (MACIA0)
ベース:0x4004.8000
オフセット:0x014
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:24
名称
タイプ
リセット
MACOCT4
R/W
0x00
説明
MAC アドレス・オクテット 4
MACOCT4 ビットは、イーサネット・コントローラを一意に識別
する MAC アドレスの第 4 オクテットを表します。
23:16
MACOCT3
R/W
0x00
MAC アドレス・オクテット 3
MACOCT3 ビットは、イーサネット・コントローラを一意に識別
する MAC アドレスの第 3 オクテットを表します。
15:8
MACOCT2
R/W
0x00
MAC アドレス・オクテット 2
MACOCT2 ビットは、イーサネット・コントローラを一意に識別
する MAC アドレスの第 2 オクテットを表します。
7:0
MACOCT1
R/W
0x00
MAC アドレス・オクテット 1
MACOCT1 ビットは、イーサネット・コントローラを一意に識別
する MAC アドレスの第 1 オクテットを表します。
レジスタ 7:
イーサネット MAC 固有アドレス 1 (MACIA1)、オフセット 0x018
このレジスタにより、ネットワーク・インターフェイス・カード (NIC) のハードウェア MAC アドレスの最後の 2 バイト
をソフトウェアで設定することができます。最初の 4 バイトは MACIA0 に設定します。設定した 6 バイトの固有ア
ドレスを、送信フレームのデスティネーション・アドレス・フィールドと比較し、そのフレームを受信すべきかどうかを判
断します。
イーサネット MAC 固有アドレス 1 (MACIA1)
ベース:0x4004.8000
オフセット:0x018
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:16
名称
タイプ
リセット
説明
予約
RO
0x0000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
15:8
MACOCT6
R/W
0x00
MAC アドレス・オクテット 6
MACOCT6 ビットは、各イーサネット・コントローラを一意に識
別する MAC アドレスの第 6 オクテットを表します。
7:0
MACOCT5
R/W
0x00
MAC アドレス・オクテット 5
MACOCT5 ビットは、イーサネット・コントローラを一意に識別
する MAC アドレスの第 5 オクテットを表します。
レジスタ 8:
イーサネット MAC スレッショルド (MACTHR)、オフセット 0x01C
転送速度を向上させるために、現在のフレームの送信を完了する前に次のフレームの送信を開始するようにイーサ
ネット・コントローラを設定することができます。
注意: この機能を実行する場合は、最大限の注意が必要です。現行フレームの送信が完了する前に、次のフレーム
全体が確実に送信 FIFO に格納されることを、ソフトウェアで保証してください。
このレジスタにより、フレームの送信を開始するスレッショルド・レベルをソフトウェアで設定することができます。
THRESH ビットが、リセット値である 0x3F に設定されると、早期送信機能はディスエーブルされ、MACTR レジス
タの NEWTX ビットが 1 にセットされるまで、送信は開始されません。
THRESH フィールドに 0x3F 以外の値を書き込むと、早期送信機能がイネーブルになります。送信 FIFO 内のデ
ータのバイト数が、以下の式によって THRESH フィールドの値から計算された値に達すると、フレームの送信が開
始されます。THRESH フィールドが 0 にクリアされると、送信 FIFO に 4 バイトのデータ (1 回分の書き込み) が
格納された後にフレームの送信が開始されます。THRESH フィールドがインクリメントされると、フレームの送信を開
始するスレッショルド・レベルが 32 バイトのデータ分 (8 回分の書き込み) 増えます。したがって、0x01 の値を指
定した場合トランスミッタは 36 バイトのデータが書き込まれるまで待機し、0x02 の値を指定した場合は 68 バイト
のデータが書き込まれるまで待機します。通常、早期送信は次の条件が満たされた時点で開始されます。
バイト数 ≥ 4 x ((THRESH x 8) + 1)
スレッショルド・レベルに達したときの動作は、MACTR レジスタの NEWTX ビットを 1 にセットしたときと同じです。フ
レームの送信が開始され、データ長フィールドで指定されたバイト数分のデータが送信されます。アンダーラン・チェ
ックは実行されないため、割り込みなどのイベントによって FIFO への書き込みが遅れると、末尾ポインタが送信
FIFO のライトポインタに達し、さらにこれを超えることがあります。この場合、フレーム終了でなく不定値が送信され
ます。送信 FIFO への書き込みに十分なバス帯域幅をソフトウェアによって保証してください。
スレッショルド・レベルより小さいフレームを送信する場合は、MACTR レジスタの NEWTX ビットを確実に 1 にセット
してください。これにより、スレッショルド制限値に達していなくても、フレームの送信が開始されます。
設定したスレッショルド・レベルが小さすぎると、トランスミッタでアンダーランが発生することがあります。アンダーラン
が発生すると、送信フレームが中止され、送信エラーが発生しますが、MACRIS の TXER ビットは 1 にセットされず、
CPU には送信エラーの発生が通知されません。
イーサネット MAC スレッショルド (MACTHR)
ベース:0x4004.8000
オフセット:0x01C
タイプ:R/W、リセット:0x0000.003F
ビット /
フィールド
31:6
名称
タイプ
リセット
説明
reserved
RO
0x0000.00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
5:0
THRESH
R/W
0x3F
スレッショルド値
THRESH フィールドは、早期送信のスレッショルドを表しま
す。送信 FIFO 内のデータ量が上述の式で表される値を超え
ると、パケットの送信が開始されます。
レジスタ 9:
イーサネット MAC 管理制御 (MACMCTL)、オフセット 0x020
このレジスタにより、イーサネット PHY レイヤ内の MII 管理レジスタとのデータ転送をソフトウェアで制御すること
ができます。MII 管理レジスタのアドレス、名称、タイプ、リセット値、および機能の説明は、表 19-4 と 「MII 管理レ
ジスタの説明」を参照してください。
MII 管理レジスタからの読み出しトランザクションを開始するためには、START ビットを 1 にセットする同じサイクル
内で WRITE ビットを 0 にクリアする必要があります。
MII 管理レジスタへの書き込みトランザクションを開始するためには、START ビットを 1 にセットする同じサイクル内
で WRITE ビットを 1 にセットする必要があります。_
イーサネット MAC 管理制御 (MACMCTL)
ベース:0x4004.8000
オフセット:0x020
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:8
名称
タイプ
リセット
説明
予約
RO
0x0000.00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
7:3
REGADR
R/W
0x0
MII レジスタのアドレス
MII 管理インターフェイス・トランザクションの MII 管理レジス
タのアドレスを表します。PHY レジスタのオフセットについて
は、表 19-4 を参照してください。
レジスタ・マップ内の有効でないアドレスへの書き込みは禁止
されています。また、データ読み出し時に有効でないアドレスを
指定しても無視されます。
2
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
1
WRITE
R/W
0
MII レジスタ・トランザクション・タイプ
値
説明
1
MII 管理インターフェイスの次の操作は書き込みトラ
ンザクションです。
0
MII 管理インターフェイスの次の操作は読み出しトラン
ザクションです。
ビット /
フィールド
0
名称
タイプ
リセット
START
R/W
0
説明
MII レジスタ・トランザクション・イネーブル
値
説明
1
REGADR で示される MII レジスタからの読み出し
(WRITE = 0 時) および書き込み (WRITE = 1 時)
をイネーブルします。
0
無効
レジスタ 10: イーサネット MAC 管理分周比 (MACMDV)、オフセット 0x024
このレジスタにより、管理データ・クロック (MDC) のクロック分周比をソフトウェアで設定することができます。このク
ロックは、システムと MII 管理レジスタ間の読み出しおよび書き込みトランザクションの同期に使用し、その周波数
は次の式で計算できます。
クロック分周比は、MDC の周波数が 2.5 MHz を超えないように設定してください。
イーサネット MAC 管理分周比 (MACMDV)
ベース:0x4004.8000
オフセット:0x024
タイプ:R/W、リセット:0x0000.0080
ビット /
フィールド
31:8
名称
タイプ
リセット
説明
予約
RO
0x0000.00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
7:0
DIV
R/W
0x80
クロック分周比
MAC レイヤと PHY レイヤ間のデータ送信に使用する MDC
のクロック分周比を設定します。
レジスタ 11: イーサネット MAC 管理送信データ (MACMTXD)、オフセット 0x02C
このレジスタは、MII 管理レジスタに次に書き込まれる値を保持します。
イーサネット MAC 管理送信データ (MACMTXD)
ベース:0x4004.8000
オフセット:0x02C
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:16
名称
タイプ
リセット
説明
予約
RO
0x0000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
15:0
MDTX
R/W
0x0000
MII レジスタ送信データ
次の MII 管理トランザクションで書き込まれるデータを表しま
す。
レジスタ 12: イーサネット MAC 管理受信データ (MACMRXD)、オフセット 0x030
このレジスタは、MII 管理レジスタから最後に読み出された値を保持します。
イーサネット MAC 管理受信データ (MACMRXD)
ベース:0x4004.8000
オフセット:0x030
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:16
名称
タイプ
リセット
説明
予約
RO
0x0000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
15:0
MDRX
R/W
0x0000
MII レジスタ受信データ
前回の MII 管理トランザクションで読み出したデータを表しま
す。
レジスタ 13: イーサネット MAC パケット数 (MACNP)、オフセット 0x034
このレジスタは、現在受信 FIFO 内にあるフレームの数を示します。NPR が 0 の場合、受信 FIFO にはフレーム
が存在せず、MACRIS レジスタの RXINT ビットは 0 にクリアされています。NPR が 0 以外の場合、受信 FIFO
には 1 つ以上のフレームが存在し、RXINT ビットは 1 にセットされています。
注:
FCS バイトは NPR に含まれません。そのため、FIFO から FCS バイトを読み出すときには NPR はゼロに
なっています。また、NPR 値がゼロになる前に新しいパケットを受信することがあります。パケット全体が確実
に受信されるように、DriverLib の EthernetPacketGet() API を使用するか、受信したバイト数と長さフィール
ドを比較して、パケット全体が読み出されたことを確認してください。
イーサネット MAC パケット数 (MACNP)
ベース:0x4004.8000
オフセット:0x034
タイプ:RO、リセット:0x0000.0000
ビット /
フィールド
31:6
名称
タイプ
リセット
説明
予約
RO
0x0000.00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
5:0
NPR
RO
0x00
受信 FIFO 内のパケット数
受信 FIFO に格納されているパケットの数を表します。値が
0 以外の場合、MACRIS レジスタの RXINT ビットがセットさ
れます。
レジスタ 14: イーサネット MAC 送信要求 (MACTR)、オフセット 0x038
このレジスタにより、現在送信 FIFO 内にあるフレームの送信をソフトウェアで開始することができます。送信 FIFO
内のフレームが送信された場合、または送信エラーが発生した場合は、NEWTX ビットが自動的に 0 にクリアされま
す。
イーサネット MAC 送信要求 (MACTR)
ベース:0x4004.8000
オフセット:0x038
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:1
名称
タイプ
リセット
説明
予約
RO
0x0000.000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
0
NEWTX
R/W
0
新しい送信
値
説明
1
パケットが送信 FIFO に格納されると、イーサネット送
信を開始します。
0
送信が完了しています。
早期送信機能を使用している場合 (MACTHR レジスタを参
照)、このビットを 1 にセットする必要はありません。
レジスタ 15: イーサネット MAC タイマー・サポート (MACTS)、オフセット 0x03C
このレジスタにより、フレーム送受信タイミングの精度をソフトウェアで高くすることができます。この機能をイネーブル
するには、TSEN ビットを 1 にセットします。
イーサネット MAC タイマー・サポート (MACTS)
ベース:0x4004.8000
オフセット:0x03C
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:1
名称
タイプ
リセット
説明
予約
RO
0x0000.000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
0
TSEN
R/W
0
タイム・スタンプ・イネーブル
値
説明
1
送信割り込みおよび受信割り込みを、汎用タイマー 3
の CCP 入力にルーティングします。
0
無効
レジスタ 16: イーサネット MAC LED 設定 (MACLED)、オフセット 0x040
このレジスタにより、LED1 信号と LED0 信号をトグルさせる要因をソフトウェアで選択することができます。
イーサネット MAC LED 設定 (MACLED)
ベース:0x4004.8000
オフセット:0x140
タイプ:R/W、リセット:0x0000.0100
ビット /
フィールド
31:12
名称
タイプ
リセット
説明
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
11:8
LED1
R/W
0x1
LED1 要因
LED1 信号をトグルする要因を選択します。
値
説明
0x0
リンク OK
0x1
受信または送信中 (デフォルト)
0x2–0x4 予約
0x5
100BASE-TX モード
0x6
10BASE-T モード
0x7
全二重モード
0x8
リンク OK & 点滅 = 受信または送信中
0x9–0xF 予約
7:4
予約
RO
0x0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
ビット /
フィールド
3:0
名称
タイプ
リセット
説明
LED0
R/W
0x0
LED0 要因
LED0 信号をトグルする要因を選択します。
値
説明
0x0
リンク OK (デフォルト)
0x1
受信または送信中
0x2-0x4
予約
0x5
100BASE-TX モード
0x6
10BASE-T モード
0x7
全二重
0x8
リンク OK & 点滅 = 受信または送信中
0x9–0xF 予約
レジスタ 17: イーサネット PHY MDIX (MDIX)、オフセット 0x044
このレジスタは、MDI/MDI-X 機能を実現するために、送信ラインと受信ラインを反転します。ソフトウェアは、
SysTick (詳細は「システム・タイマー (SysTick)」を参照) などの任意の使用可能なタイマー・リソースを使用して
MDI/MDI-X を実現することができます。イーサネット・コントローラの設定が終わりイネーブルになったあと、その 1
秒以内に MR1 レジスタの LINK ビットが 1 にセットされているかどうかをソフトウェアで確認します。1 にセットされ
ていない場合、PHY レイヤへの送信ラインと受信ラインを逆に切り替えるように MDIX レジスタの EN ビットを 1 に
セットします。さらにその約 1 秒後、ソフトウェアで再び LINK ビットをチェックし、リンクが確立されていない場合は、
EN ビットを 0 にクリアします。以降、リンクが確立されるまで、ソフトウェアによって EN ビットの セットとクリアを 1
秒ごとに行い、終端の向きを継続的に変更します。
イーサネット PHY MDIX (MDIX)
ベース:0x4004.8000
オフセット:0x044
タイプ:R/W、リセット:0x000.0000
ビット /
フィールド
31:1
名称
タイプ
リセット
説明
予約
RO
0x0000.000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
0
EN
R/W
0
MDI/MDI-X イネーブル
値
説明
1
送信信号 TXOP と TXON でデータが受信され、受
信信号 RXIP と RXIN 上でデータが送信されるよう
に、送信信号と受信信号を切り替え
0
無効
19.7 MII 管理レジスタの説明
IEEE 802.3 標準では、PHY レイヤを制御し、ステータスを表示するためのレジスタ・セットを規定しています。これ
らのレジスタは、まとめて MII 管理レジスタと呼ばれます。イーサネット MAC 管理制御 (MACMCTL) レジスタは、
MII 管理レジスタへのアクセスに使用されます (MACMCTL レジスタを参照)。記載されたアドレスはすべて絶対ア
ドレスです。記載されていないアドレスは予約されています。これらのアドレスへの書き込みは禁止されており、デー
タの読み出しは無視されます。「イーサネット MAC レジスタの説明」も参照してください。
レジスタ 18: イーサネット PHY 管理レジスタ 0-制御 (MR0)、アドレス 0x00
このレジスタにより、PHY レイヤの動作をソフトウェアで設定することができます。これらのレジスタのデフォルト設定
は、特に設定することなくイーサネット・コントローラを通常動作モードで初期化するように設計されています。
イーサネット PHY 管理レジスタ 0- 制御 (MR0)、アドレス 0x00
ベース:0x4004.8000
アドレス:0x00
タイプ:R/W、リセット:0x1000
ビット /
フィールド
15
名称
タイプ
リセット
RESET
R/W
0
説明
レジスタ・リセット
値
説明
1
PHY レイヤ・レジスタをデフォルト状態にリセットし、内
部ステート・マシンを再初期化します。
0
無効
リセット処理が完了すると、このビットはハードウェアによって自
動的に 0 にクリアされます。
14
13
12
LOOPBK
SPEEDSL
ANEGEN
R/W
R/W
R/W
0
0
1
ループバック・モード
値
説明
1
ループバック動作モードをイネーブルします。レシーバ
は、外部入力を無視し、トランスミッタが送信したデー
タを受信します。
0
無効
スピード・セレクト
値
説明
1
100 Mbps 動作モード (100BASE-TX) をイネーブル
します。
0
10 Mbps 動作モード (10BASE-T) をイネーブルしま
す。
オートネゴシエーション・イネーブル
値
説明
1
オートネゴシエーション・プロセスをイネーブルします。
0
無効
ビット /
フィールド
11
10
9
名称
タイプ
リセット
PWRDN
R/W
0
ISO
RANEG
R/W
R/W
0
0
説明
パワーダウン
値
説明
1
PHY レイヤは低消費電力状態に設定されます。デー
タ入力はすべて無視されます。
0
無効
アイソレート
値
説明
1
送信データ・パスと受信データ・パスがアイソレートさ
れ、すべての送信中・受信中のデータが無視されま
す。
0
無効
オートネゴシエーション再開
値
説明
1
オートネゴシエーション・プロセスを再開します。
0
無効
オートネゴシエーション・プロセスが再開すると、このビットはハ
ードウェアによって自動的に 0 にクリアされます。
8
DUPLEX
R/W
0
デュプレックス・モードの設定
値
説明
1
全二重動作モードをイネーブルします。ソフトウェアに
よる手動の設定プロセスまたはオートネゴシエーショ
ン・プロセスにより、1 にセットされます。
0
半二重動作モードをイネーブルします。
10BASE-T 半二重モードでは、送信データが受信パスにルー
プバックされます。
7
COLT
R/W
0
衝突テスト
値
説明
1
衝突テスト動作モードをイネーブルします。
0
無効
このビットは、送信を開始した後に 1 にセットし、送信を停止す
ると 0 にクリアして下さい。
6:0
予約
R/W
0x00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
レジスタ 19: イーサネット PHY 管理レジスタ 1-ステータス (MR1)、アドレス 0x01
このレジスタにより、PHY レイヤの機能の決定と、初期化や各動作の実行をソフトウェアで行うことができます。
イーサネット PHY 管理レジスタ 1-ステータス (MR1)
ベース:0x4004.8000
アドレス:0x01
タイプ:RO、リセット:0x7809
ビット /
フィールド
15
名称
タイプ
リセット
説明
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
14
100X_F
RO
1
100BASE-TX 全二重モード
13
12
11
100X_H
10T_F
10T_H
RO
RO
RO
1
1
1
値
説明
1
イーサネット・コントローラは、100Base-TX 全二重モ
ードをサポートします。
0
イーサネット・コントローラは、100Base-TX 全二重モ
ードをサポートしません。
100BASE-TX 半二重モード
値
説明
1
イーサネット・コントローラは、100Base-TX 半二重モ
ードをサポートします。
0
イーサネット・コントローラは、100Base-TX 半二重モ
ードをサポートしません。
100BASE-T 全二重モード
値
説明
1
イーサネット・コントローラは、10Base-T 全二重モード
をサポートします。
0
イーサネット・コントローラは、10Base-T 全二重モード
をサポートしません。
100BASE-T 半二重モード
値
説明
1
イーサネット・コントローラは、10Base-T 半二重モード
をサポートします。
0
イーサネット・コントローラは、10Base-T 半二重モード
をサポートしません。
ビット /
フィールド
10:6
名称
タイプ
リセット
説明
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
5
ANEGC
RO
0
オートネゴシエーション完了
4
RFAULT
RC
0
値
説明
1
オートネゴシエーション・プロセスが完了し、オートネゴ
シエーション・プロトコルによって定義された拡張レジ
スタが有効です。
0
オートネゴシエーションは完了していません。
リモート障害
値
説明
1
リモート障害状態が検出されました。
0
リモート障害状態は検出されていません。
このビットは、リモート障害状態が解消されても、読み出される
までは 1 の状態を保持します。
3
2
1
ANEGA
LINK
JAB
RO
RO
RC
1
0
0
オートネゴシエーション
値
説明
1
イーサネット・コントローラは、オートネゴシエーションを
実行できます。
0
イーサネット・コントローラは、オートネゴシエーションを
実行できません。
リンクの確立
値
説明
1
イーサネット・コントローラによって有効なリンクが確立
されています。
0
イーサネット・コントローラによって有効なリンクが確立
されていません。
ジャバ(Jabber)状態
値
説明
1
イーサネット・コントローラによって ジャバ(Jabber)状
態が検出されました。
0
イーサネット・コントローラによって ジャバ(jabber)状
態が検出されていません。
このビットは、ジャバ状態が解消されても、読み出されるまでは
1 の状態を維持します。
0
EXTD
RO
1
拡張機能
値
説明
1
イーサネット・コントローラは、拡張レジスタ・セットを介
してアクセスできる拡張機能セットを提供します。
0
イーサネット・コントローラは拡張機能を提供しません。
レジスタ 20: イーサネット PHY 管理レジスタ 2-PHY 識別子 1 (MR2)、アドレス 0x02
このレジスタは、MR3 レジスタとともに、メーカー、モデル、リビジョン情報を示す 32 ビットの値を構成します。
イーサネット PHY 管理レジスタ 2-PHY 識別子 1 (MR2)
ベース:0x4004.8000
アドレス:0x02
タイプ:RO、リセット:0x0161
ビット /
フィールド
15:0
名称
タイプ
リセット
説明
OUI[21:6]
RO
0x0161
管理組織識別子 (OUI: Organizationally Unique Identifier)
[21:6]
MR3 レジスタの OUI[5:0] フィールドとともに、PHY メーカー
を示す管理組織識別子 (OUI) を構成します。
レジスタ 21: イーサネット PHY 管理レジスタ 3-PHY 識別子 2 (MR3)、アドレス 0x03
このレジスタは、MR2 レジスタとともに、メーカー、モデル、リビジョン情報を示す 32 ビットの値を構成します。
イーサネット PHY 管理レジスタ 3-PHY 識別子 2 (MR3)
ベース:0x4004.8000
アドレス:0x03
タイプ:RO、リセット:0xB410
ビット /
フィールド
15:10
名称
タイプ
リセット
説明
OUI[5:0]
RO
0x2D
管理組織識別子 (OUI: Organizationally Unique Identifier)
[5:0]
MR2 レジスタの OUI[21:6] フィールドとともに、PHY メーカ
ーを示す管理組織識別子 (OUI) を構成します。
9:4
MN
RO
0x01
モデル番号
3:0
RN
RO
0x0
PHY のモデル番号を表します。
リビジョン番号
PHY 実装のリビジョン番号を表します。
レジスタ 22: イーサネット PHY 管理レジスタ 4-オートネゴシエーション告知 (MR6)、アドレ
ス 0x06
このレジスタは、オートネゴシエーション中に使用するこのイーサネット・コントローラの通知機能を示します。ビット
8:5 は伝送能力を現すビットです。これらのビットをソフトウェアで設定することにより、選択可能な共通な伝送能力を
オートネゴシエーションで決定することが可能です。設定した情報を有効にするためには、MR0 レジスタの RANEG
ビットを 1 にセットしてオートネゴシエーションを再開して下さい。
イーサネット PHY 管理レジスタ 4-オートネゴシエーション告知 (MR6)
ベース:0x4004.8000
アドレス:0x04
タイプ:R/W、リセット:0x01E1
ビット /
フィールド
15
名称
タイプ
リセット
NP
RO
0
説明
ネクスト・ページ
値
説明
1
このイーサネット・コントローラは、PHY レイヤの伝送
能力に関するより詳細な情報を提供するためのネクス
ト・ページ交換に対応します。
0
このイーサネット・コントローラはネクスト・ページ交換
に対応しません。
14
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
13
RF
R/W
0
リモート障害
12:9
8
予約
RO
0x0
A3
R/W
1
値
説明
1
リモート障害状態が発生したことをリンク・パートナー
に通知ます。
0
リモート障害状態は発生していません。
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
伝送能力フィールド [3]
値
説明
1
このイーサネット・コントローラは、100Base-TX 全二
重プロトコルをサポートします。もし、このモードを使用
しない場合は、このビットを 0 にクリアし、MR0 レジス
タの RANEG ビットを 1 にセットしてオートネゴシエー
ションを再開して下さい。
0
このイーサネット・コントローラは、100Base-TX 全二
重プロトコルをサポートしません。
ビット /
フィールド
7
6
5
4:0
名称
タイプ
リセット
A2
R/W
1
A1
A0
S
R/W
R/W
RO
1
1
0x1
説明
伝送能力フィールド [2]
値
説明
1
このイーサネット・コントローラは、100Base-TX 半二重
プロトコルをサポートします。もし、このモードを使用しな
い場合は、このビットを 0 にクリアし、MR0 レジスタの
RANEG ビットを 1 にセットしてオートネゴシエーションを
再開して下さい。
0
このイーサネット・コントローラは、100Base-TX 半二重
プロトコルをサポートしません。
伝送能力フィールド [1]
値
説明
1
このイーサネット・コントローラは、10BASE-T 全二重プ
ロトコルをサポートします。もし、このモードを使用しない
場合は、このビットを 0 にクリアし、MR0 レジスタの
RANEG ビットを 1 にセットしてオートネゴシエーションを
再開して下さい。
0
このイーサネット・コントローラは、10BASE-T 全二重シ
グナリング・プロトコルをサポートしません。
伝送能力フィールド [0]
値
説明
1
このイーサネット・コントローラは、10BASE-T 半二重プ
ロトコルをサポートします。もし、このモードを使用しない
場合は、このビットを 0 にクリアし、MR0 レジスタの
RANEG ビットを 1 にセットしてオートネゴシエーションを
再開して下さい。
0
このイーサネット・コントローラは、10BASE-T 半二重プ
ロトコルをサポートしません。
セレクタ・フィールド
イーサネット・コントローラ間で伝達可能な 32 個のメッセージの
種類を示します。このフィールドは 0x01 に固定されており、
Stellaris® イーサネット・コントローラが IEEE 802.3 に準拠し
ていることを示します。
レジスタ 23: イーサネット PHY 管理レジスタ 5-オートネゴシエーション・リンク・パートナー・
ベース・ページ・アビリティ (MR5)、アドレス 0x05
このレジスタは、オートネゴシエーション中に受信し、格納したリンク・パートナー側のイーサネット・コントローラの伝
送能力を示します。
イーサネット PHY 管理レジスタ 5-オートネゴシエーション・リンク・パートナー・ベース・ページ・アビリティ (MR5)
ベース:0x4004.8000
アドレス:0x05
タイプ:RO、リセット:0x0001
ビット /
フィールド
15
14
13
12:5
名称
タイプ
リセット
NP
RO
0
ACK
RF
A
RO
RO
RO
0
0
0x00
説明
ネクスト・ページ
値
説明
1
リンク・パートナーのイーサネット・コントローラは、ネク
スト・ページ交換に対応し、イーサネット・コントローラ
の伝送能力に関するより詳細な情報を提供します。
0
リンク・パートナーのイーサネット・コントローラはネクス
ト・ページ交換に対応しません。
アクノリッジ
値
説明
1
このイーサネット・コントローラは、オートネゴシエーショ
ン中にリンク・パートナーの通知した伝送能力を正常
に受信しました。
0
このイーサネット・コントローラは、オートネゴシエーショ
ン中にリンク・パートナーの通知した伝送能力を受信し
ていません。
リモート障害
値
説明
1
リンク・パートナーはリモート障害状態が発生したこと
を示しています。
0
リンク・パートナーはリモート障害状態が発生したこと
を示していません。
伝送能力フィールド
イーサネット・コントローラでサポートする個々の伝送能力を現
します。定義については MR4 レジスタを参照してください。ビ
ット [12:9] は、Stellaris® イーサネット・コントローラに実装さ
れていない伝送能力に対応しています。定義については
IEEE 802.3 標準を参照してください。
ビット /
フィールド
4:0
名称
タイプ
リセット
S
RO
0x01
説明
セレクタ・フィールド
イーサネット・コントローラ間で伝達可能なメッセージの種類を
示します。
値
説明
0x00
予約
0x01
IEEE 標準 802.3
0x02
IEEE 標準 802.9 ISLAN-16T
0x03
IEEE 標準 802.5
0x04
IEEE 標準 1394
0x05–0x1F
予約
レジスタ 24: イーサネット PHY 管理レジスタ 6-オートネゴシエーション拡張 (MR6)、アドレ
ス 0x06
このレジスタでは、オートネゴシエーション後のこのイーサネット・コントローラやリンク・パートナーのオートネゴシエー
ション機能やネクスト・ページ機能を示します。
イーサネット PHY 管理レジスタ 6-オートネゴシエーション拡張 (MR6)
ベース:0x4004.8000
アドレス:0x06
タイプ:RO、リセット:0x0000
ビット /
フィールド
15:5
名称
タイプ
リセット
説明
予約
RO
0x000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
4
PDF
RC
0
並列検出障害
値
説明
1
リンク・アップ時に複数の伝送能力を検出
0
リンク・アップ時にひとつの伝送能力を検出
このビットは、読み出されると自動的に 0 にクリアされます。
3
LPNPA
RO
0
リンク・パートナーのネクスト・ページ対応
値
説明
1
リンク・パートナーのネクスト・ページ・サポートがイネ
ーブルです。
0
リンク・パートナーのネクスト・ページ・サポートがイネ
ーブルでありません。
2
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
1
PRX
RC
0
新しいページの受信
値
説明
1
リンク・パートナーから新しいページを受信して保存し
ました。
0
新しいページを受信していません。
このビットは、読み出されると自動的に 0 にクリアされます。
0
LPANEGA
RO
0
リンク・パートナーのオートネゴシエーション対応
値
説明
1
リンク・パートナーのオートネゴシエーション・サポート
がイネーブルです。
0
リンク・パートナーのオートネゴシエーション・サポート
がイネーブルではありません。
レジスタ 25: イーサネット PHY 管理レジスタ 16-ベンダー固有 (MR16)、アドレス 0x10
このレジスタはシリコン・リビジョン識別子を格納しています。
イーサネット PHY 管理レジスタ 16-ベンダー固有 (MR30)
ベース:0x4004.8000
アドレス:0x10
タイプ:RO、リセット:0x0040
ビット /
フィールド
15:10
名称
タイプ
リセット
説明
予約
RO
0x0000.0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
9:6
SR
RO
0x1
シリコン・リビジョン識別子
シリコン・リビジョンを表す 4 ビットの識別子です。
5:0
予約
RO
0x00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
レジスタ 26: イーサネット PHY 管理レジスタ 17-モード制御/ステータス (MR17)、アドレス
0x11
このレジスタは、各種 PHY レイヤ・モードの制御と監視を行います。
イーサネット PHY 管理レジスタ 17-モード制御/ステータス (MR17)
ベース:0x4004.8000
アドレス:0x11
タイプ:R/W、リセット:0x0002
ビット /
フィールド
15
名称
タイプ
リセット
説明
予約
R/W
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
重要:
14
FASTRIP
R/W
0
10 BASE-T 高速モード・イネーブル
値
13
12
EDPD
予約
R/W
R/W
0
0
10:9
LSQE
予約
R/W
RO
0
0
説明
1
PHYT_10 テスト・モードをイネーブルします。
0
無効
エネルギー検出パワーダウン・イネーブル
値
説明
1
エネルギー検出パワーダウン・モードをイネーブルしま
す。
0
無効
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
重要:
11
正常動作を保証するために、このビットには常に 0 を
書き込んでください。
正常動作を保証するために、このビットには常に 0 を
書き込んでください。
ロー・スケルチ・イネーブル
値
説明
1
より低いしきい値をイネーブルし、信号レベルの感度を
向上させます。
0
無効
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
ビット /
フィールド
8
7:3
名称
タイプ
リセット
FASTEST
R/W
0
予約
R/W
0
説明
オートネゴシエーション・テスト・モード・イネーブル
値
説明
1
オートネゴシエーション・テスト・モードをイネーブルしま
す。
0
無効
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
重要:
2
1
FGLS
ENON
R/W
RO
0
1
正常動作を保証するために、このビットには常に 0 を
書き込んでください。
リンク・ステータスの強制正常化
値
説明
1
100BASE-T リンクを強制的にアクティブにします。
0
無効
注:
このビットは、テスト時にのみ 1 にセットしてください。
エネルギー・オン
値
説明
1
ライン上でエネルギーを検出しました。
0
256 ms 以内ではライン上で有効なエネルギーが検出
されていません。
このビットはハードウェア・リセットによって 1 にセットされます
が、ソフトウェア・リセットには影響されません。
0
予約
R/W
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
重要:
正常動作を保証するために、このビットには常に 0 を
書き込んでください。
レジスタ 27: イーサネット PHY 管理レジスタ 27-特殊制御/ステータス (MR27)、アドレス
0x1B
このレジスタは、10BASE-T の極性状態を示します。
イーサネット PHY 管理レジスタ 27-特殊制御/ステータス (MR27)
ベース:0x4004.8000
アドレス:0x1B
タイプ:RO、リセット:-
ビット /
フィールド
15:5
名称
タイプ
リセット
説明
予約
RO
0x000
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
4
XPOL
RO
0
3:0
予約
RO
0x0
10 BASE-T の極性状態
値
説明
1
10BASE-T は反転極性です。
0
10BASE-T は正極性です。
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
レジスタ 28: イーサネット PHY 管理レジスタ 29-割り込みステータス (MR29)、アドレス
0x1D
このレジスタは、PHY レイヤ割り込みの要因に関する情報を格納します。このレジスタを読み出すと、1 にセットされ
ていたすべてのビットが 0 にクリアされます。このレジスタのいずれかのビットが 1 にセットされると、
MACRIS/MACIACK レジスタの PHYINT ビットが 1 にセットされます。
イーサネット PHY 管理レジスタ 29-割り込みステータス (MR29)
ベース:0x4004.8000
アドレス:0x1D
タイプ:RO、リセット:0x0000
ビット /
フィールド
15:8
名称
タイプ
リセット
説明
予約
RO
0x00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
7
EONIS
RO
0
ENERGYON 割り込み
値
説明
1
MR17 レジスタの ENON ビットが 1 にセットされたた
めに、割り込みが生成されました。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
6
ANCOMPIS
RO
0
オートネゴシエーション完了割り込み
値
説明
1
オートネゴシエーションの完了により、割り込みが生成
されました。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
5
RFLTIS
RO
0
リモート障害割り込み
値
説明
1
リモート障害の検出により、割り込みが生成されまし
た。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
4
LDIS
RO
0
リンク・ダウン割り込み
値
説明
1
MR1 の LINK ビットが 0 にクリアされたために、割り
込みが生成されました。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
ビット /
フィールド
3
名称
タイプ
リセット
LPACKIS
RO
0
説明
オートネゴシエーション LP アクノリッジ
値
説明
1
オートネゴシエーション中のリンク・パートナーからのア
クノリッジ・メッセージの受信により、割り込みが生成さ
れました。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
2
PDFIS
RO
0
並列検出障害
値
説明
1
オートネゴシエーション中の並列検出障害により、割り
込みが生成されました。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
1
PRXIS
RO
0
オートネゴシエーション・ページ受信
値
説明
1
リンク・パートナーからのオートネゴシエーション・ペー
ジの受信により、割り込みが生成されました。
0
割り込みなし
このビットは、読み出されると 0 にクリアされます。
0
予約
RO
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
レジスタ 29: イーサネット PHY 管理レジスタ 30-割り込みマスク (MR30)、アドレス 0x1E
このレジスタは、PHY レイヤ割り込みの様々な要因による割り込み生成を可能にします。
イーサネット PHY 管理レジスタ 30-割り込みマスク (MR30)
ベース:0x4004.8000
アドレス:0x1E
タイプ:R/W、リセット:0x0000
ビット /
フィールド
15:8
名称
タイプ
リセット
説明
予約
RO
0x00
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
7
EONIM
R/W
0
6
5
4
ANCOMPIM
RFLTIM
LDIM
R/W
R/W
R/W
0
0
0
ENERGYON 割り込みイネーブル
値
説明
1
MR29 レジスタの EONIS ビットが 1 にセットされる
と、割り込みコントローラに割り込みを送信します。
0
EONIS 割り込みを抑制し、割り込みコントローラに送
信されません。
オートネゴシエーション完了割り込みイネーブル
値
説明
1
MR29 レジスタの ANCOMPIS ビットが 1 にセットさ
れると、割り込みコントローラに割り込みを送信しま
す。
0
ANCOMPIS 割り込みを抑制し、割り込みコントローラ
に送信しません。
リモート障害割り込みイネーブル
値
説明
1
MR29 レジスタの RFLTIS ビットが 1 にセットされる
と、割り込みコントローラに割り込みを送信します。
0
RFLTIS 割り込みを抑制し、割り込みコントローラに送
信しません。
リンク・ダウン割り込みイネーブル
値
説明
1
MR29 レジスタの LDIS ビットが 1 にセットされると、
割り込みコントローラに割り込みを送信します。
0
LDIS 割り込みを抑制し、割り込みコントローラに送信
しません。
ビット /
フィールド
3
2
1
0
名称
タイプ
リセット
LPACKIM
R/W
0
PDFIM
PRXIM
予約
R/W
R/W
R/W
0
0
0
説明
オートネゴシエーション LP アクノリッジ・イネーブル
値
説明
1
MR29 レジスタの LPACKIS ビットが 1 にセットされる
と、割り込みコントローラに割り込みを送信します。
0
LPACKIS 割り込みを抑制し、割り込みコントローラに
送信しません。
並列検出障害イネーブル
値
説明
1
MR29 レジスタの PDFIS ビットが 1 にセットされると、
割り込みコントローラに割り込みを送信します。
0
PDFIS 割り込みを抑制し、割り込みコントローラに送
信しません。
受信オートネゴシエーション・ページ受信イネーブル
値
説明
1
MR29 レジスタの PRXIS ビットが 1 にセットされる
と、割り込みコントローラに割り込みを送信します。
0
PRXIS 割り込みを抑制し、割り込みコントローラに送
信しません。
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
レジスタ 30: イーサネット PHY 管理レジスタ 31-PHY 特殊制御/ステータス (MR31)、アド
レス 0x1F
このレジスタは、PHY レイヤの特殊制御を行い、ステータスを示します。
イーサネット PHY 管理レジスタ 31-PHY 特殊制御/ステータス (MR31)
ベース:0x4004.8000
アドレス:0x1F
タイプ:R/W、リセット:0x00040
ビット /
フィールド
15:13
名称
タイプ
リセット
説明
予約
R/W
0x0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
重要:
12
AUTODONE
RO
0
11:5
予約
RO
0
4:2
SPEED
RO
0x0
正常動作を保証するために、このビット・フィールドに
は常に 0 を書き込んでください。
オートネゴシエーション完了
値
説明
1
オートネゴシエーションが完了しています。
0
オートネゴシエーションが完了していません。
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
HCD 速度の値
値
説明
0x0
予約
0x1
10BASE-T 半二重
0x2
100BASE-T 半二重
0x3-0x4
予約
0x5
10BASE-T 全二重
0x6
100BASE-T 全二重
0x7
予約
1
予約
R/W
0
予約ビットの値に依存しないソフトウェアを作成してください。将
来の製品との互換性のため、リード・モディファイ・ライト処理の
中で予約ビットの値を維持するようにしてください。
0
SCRDIS
R/W
0
スクランブル・ディスエーブル
値
説明
1
データ・スクランブルをディスエーブルします。
0
データ・スクランブルをイネーブルします。