本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 免責事項 本資料に記載された製品は、通常の産業用, 一般事務用, パーソナル用, 家庭用などの一般的用途 (ただし、用途の限定はありません) に使 用されることを意図して設計・製造されています。(1) 極めて高度な安全性が要求され、仮に当該安全性が確保されない場合、社会的に重 大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 (原子力施設における核反応制御, 航空機自動飛行制御, 航空交通管 制, 大量輸送システムにおける運行制御, 生命維持のための医療機器, 兵器システムにおけるミサイル発射制御等をいう) 、ならびに(2) 極 めて高い信頼性が要求される用途 (海底中継器, 宇宙衛星等をいう) に使用されるよう設計・製造されたものではありません。上記の製品 の使用法によって惹起されたいかなる請求または損害についても、Spansion は、お客様または第三者、あるいはその両方に対して責任を一 切負いません。半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても、結果的に人身事故, 火災事故, 社会的 な損害を生じさせないよう、お客様において、装置の冗長設計, 延焼対策設計, 過電流防止対策設計, 誤動作防止設計などの安全設計をお 願いします。本資料に記載された製品が、外国為替及び外国貿易法、米国輸出管理関連法規などの規制に基づき規制されている製品または 技術に該当する場合には、本製品の輸出に際して、同法に基づく許可が必要となります。 商標および注記 このドキュメントは、断りなく変更される場合があります。本資料には Spansion が開発中の Spansion 製品に関する情報が記載されている 場合があります。Spansion は、それらの製品に対し、予告なしに仕様を変更したり、開発を中止したりする権利を有します。このドキュメ ントに含まれる情報は、現状のまま、保証なしに提供されるものであり、その正確性, 完全性, 実施可能性および特定の目的に対する適合 性やその市場性および他者の権利を侵害しない事を保証するものでなく、また、明示, 黙示または法定されているあらゆる保証をするもの でもありません。Spansion は、このドキュメントに含まれる情報を使用することにより発生したいかなる損害に対しても責任を一切負いま せん。 Copyright © 2013 Spansion Inc. All rights reserved. 商標:Spansion®, Spansion ロゴ (図形マーク), MirrorBit®, MirrorBit® Eclipse™, ORNAND™ 及びこれらの組合せは、米国・日本ほか諸外国に おける Spansion LLC の商標です。第三者の社名・製品名等の記載はここでは情報提供を目的として表記したものであり、各権利者の商標 もしくは登録商標となっている場合があります。 FUJITSU SEMICONDUCTOR CONTROLLER MANUAL MN706-00015-2v0-J 32 ビット・マイクロコントローラ FM3 Family ペリフェラルマニュアル Ethernet 編 富士通セミコンダクター株式会社 FUJITSU SEMICONDUCTOR CONFIDENTIAL FM3ファミリ MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL 1 FM3ファミリ はじめに 富士通セミコンダクター製品につきまして、平素より格別のご愛顧を賜り厚くお礼申し上げ ます。 本シリーズをご利用になる前に、 『ペリフェラルマニュアル』および『データシート』をご一 読ください。 尚、本書はペリフェラルマニュアルより Ethernet 部分を抜きだした別冊の位置づけで定義さ れております。 本書の目的と対象読者 本書は、実際に本シリーズを使用して製品を開発される技術者を対象に、本シリーズの機能や動 作、使い方について解説しています。 ※ 本マニュアルは周辺機能の構成および動作を説明するものであり、各デバイスの仕様を説明す るものではありません。 デバイス仕様の詳細については、それぞれのデータシートを参照してください。 商標 ARM is the registered trademark of ARM Limited in the EU and other countries. Cortex is the trademark of ARM Limited in the EU and other countries. その他の社名および製品名は各社の商標もしくは登録商標です。 サンプルプログラムおよび開発環境 FM3 ファミリの周辺機能を動作させるためのサンプルプログラムを無償で提供しております。ま た、本シリーズで使用する開発環境も掲載しています。当社マイコンの動作仕様や使用方法の確 認などにお役立てください。 ・ マイコンサポート情報 http://www.spansion.com/JP/Support/microcontrollers/ * : サンプルプログラムは、予告なしに変更することがあります。また、サンプルプログラムは標 準的な動作や使い方を示したものですので、お客様のシステム上でご使用の際は十分評価され た上でご使用ください。 また、サンプルプログラムの使用に起因し生じた損害については、当社は一切その責任を負い ません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (1) i FM3ファミリ 本資料の記載内容は、予告なしに変更することがありますので、製品のご購入やご使用などのご用命の際は、 当社営業窓口にご確認ください。 本資料に記載された動作概要や応用回路例などの情報は、半導体デバイスの標準的な動作や使い方を示した もので、実際に使用する機器での動作を保証するものではありません。したがって、お客様の機器の設計に おいてこれらを使用する場合は、お客様の責任において行ってください。これらの使用に起因する損害など については、当社はその責任を負いません。 本資料は、本資料に記載された製品および動作概要・回路図を含む技術情報について、当社もしくは第三者 の特許権, 著作権等の知的財産権やその他の権利の使用権または実施権を許諾するものではありません。ま た, これらの使用について、第三者の知的財産権やその他の権利の実施ができることの保証を行うものでは ありません。したがって、これらの使用に起因する第三者の知的財産権やその他の権利の侵害などについて、 当社はその責任を負いません。 本資料に記載された製品は, 通常の産業用, 一般事務用, パーソナル用, 家庭用などの一般的用途に使用され ることを意図して設計・製造されています。極めて高度な安全性が要求され、仮に当該安全性が確保されな い場合,直接生命・身体に対する重大な危険性を伴う用途(原子力施設における核反応制御, 航空機自動飛行 制御, 航空交通管制, 大量輸送システムにおける運行制御, 生命維持のための医療機器, 兵器システムにおけ るミサイル発射制御など), または極めて高い信頼性が要求される用途(海底中継器, 宇宙衛星など)に使用 されるよう設計・製造されたものではありません。したがって、これらの用途へのご使用をお考えのお客様 は、必ず事前に当社営業窓口までご相談ください。ご相談なく使用されたことにより発生した損害などにつ いては、当社は責任を負いません。 半導体デバイスには、ある確率で故障や誤動作が発生します。本資料に記載の製品を含め当社半導体デバイ スをご使用いただく場合は、当社半導体デバイスに故障や誤動作が発生した場合も, 結果的に人身事故, 火災 事故, 社会的な損害などを生じさせないよう、お客様の責任において、装置の冗長設計, 延焼対策設計, 過電 流防止対策設計, 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品および技術情報を輸出または非居住者に提供する場合は、外国為替及び外国貿易法 および米国輸出管理関連法規などの規制をご確認の上、必要な手続きをおとりください。 本資料に記載されている社名および製品名などの固有名詞は、各社の商標または登録商標です。 Copyright © 2011-2013 FUJITSU SEMICONDUCTOR LIMITED All rights reserved. Portions Copyright (C) 2011 Synopsys, Inc. Used with permission. All rights reserved. Synopsys & DesignWare are registered trademarks of Synopsys, Inc. Synopsys Proprietary. Used with permission. MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (2) ii FM3ファミリ 関連マニュアル 本シリーズに関連するマニュアルを示します。状況に応じて必要なマニュアルを参照してく ださい。 本書に記載したマニュアルの内容は予告なく変更することがあります。最新版をお問い合わ せください。 ペリフェラルマニュアル ・ FM3 ファミリ ペリフェラルマニュアル (本書) (以降、『ペリフェラルマニュアル』とよびます。) ・ FM3 ファミリ ペリフェラルマニュアル タイマ編 (以降、『タイマ編』とよびます。) ・ FM3 ファミリ ペリフェラルマニュアル アナログマクロ編 (以降、『アナログマクロ編』とよびます。) ・ FM3 ファミリ ペリフェラルマニュアル 通信マクロ編 (以降、『通信マクロ編』とよびます。) ・ FM3 ファミリ ペリフェラルマニュアル Ethernet 編 (以降、『Ethernet 編』とよびます。) データシート デバイス仕様、電気的特性、外形寸法、オーダ型格などの詳細は以下を参照してください。 ・ マイクロコントローラ 32 ビット FM3 ファミリ DATA SHEET ※ データシートはシリーズごとに用意されています。 お使いのシリーズ用のデータシートを参照してください。 CPU プログラミングマニュアル ARM Cortex-M3 コアの詳細は http://www.arm.com/ から入手できる以下を参照してください。 ・ Cortex-M3 テクニカルリファレンスマニュアル ・ ARMv7-M アーキテクチャ アプリケーション レベル リファレンス マニュアル フラッシュプログラミングマニュアル 内蔵されているフラッシュメモリの機能や動作の詳細は以下を参照してください。 ・ FM3 ファミリ フラッシュプログラミングマニュアル ※本マニュアルはシリーズごとに用意されています。 お使いのシリーズ用のマニュアルを参照してください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (3) iii FM3ファミリ 本書の使い方 機能の探し方 本書では次の方法で、使いたい機能の説明を探すことができます。 ・ 目次から探す 本書の内容を記載順に示します。 章について 本書では、Ethernet について説明しています。 用語について 本書で使用している用語について示します。 用語 説明 ワード 32 ビット単位でのアクセスを指します。 ハーフワード 16 ビット単位でのアクセスを指します。 バイト 8 ビット単位でのアクセスを指します。 表記について ・ 本書のレジスタ説明中のビット構成図では以下のように表記しています。 ・ bit : ビット番号 ・ Field : ビットフィールド名 ・ 属性 : 各ビットのリード、ライト属性 ・R : リードオンリ ・ W : ライトオンリ ・ R/W : リード・ライト可能 ・: 未定義 ・ 初期値 : リセット直後のレジスタ初期値 ・ 0 : 初期値"0" ・ 1 : 初期値"1" ・ X : 初期値不定 ・ 本書では、複数のビットを以下のように表記しています。 例 : bit7 から bit0 の場合は bit7:0 ・ 本書では、アドレスなどの数値を以下のように表記しています。 ・ 16 進数 : プレフィックス(接頭辞)として"0x"を付けて表記しています(例 : 0xFFFF)。 ・ 2 進数 : プレフィックス(接頭辞)として"0b"を付けて表記しています(例 : 0b1111)。 ・ 10 進数 : 数値だけで表記しています(例 : 1000)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (4) iv FM3ファミリ 本マニュアルにおける対象製品 表 1 対象製品一覧 シリーズ名 型格 MB9BFD18S, MB9BFD18T, MB9BFD17S, MB9BFD17T, MB9BFD16S, MB9BFD16T MB9BF618S, MB9BF618T, MB9BF617S, MB9BF617T, MB9BF616S, MB9BF616T MB9BF218S, MB9BF218T, MB9BF217S, MB9BF217T, MB9BF216S, MB9BF216T MB9BD10T シリーズ MB9B610T シリーズ MB9B210T シリーズ MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (5) v FM3ファミリ 目次 CHAPTER 1: Ethernet ......................................................................................................... 1 1. 概要 .................................................................................................................................... 2 2. Ethernet の入出力信号 ........................................................................................................ 4 3. Ethernet-MAC セットアップ制御手順 ................................................................................ 8 4. Ethernet システム制御部レジスタ ...................................................................................... 9 4.1. モード選択レジスタ (ETH_MODE)............................................................................. 10 4.2. クロックゲーティングレジスタ (ETH_CLKG) ........................................................... 12 CHAPTER 2: Ethernet-MAC .............................................................................................. 13 1. 概要 .................................................................................................................................. 14 2. ブロック構成 .................................................................................................................... 15 3. アーキテクチャ ................................................................................................................ 16 3.1. 端子機能 ....................................................................................................................... 17 3.2. AHB アプリケーション・ホスト・インタフェース ...................................................... 19 3.3. DMA コントローラ ........................................................................................................ 20 3.4. チェックサムエンジン ................................................................................................. 32 3.5. Energy Efficient Ethernet .............................................................................................. 35 3.6. MAC マネジメントカウンタ ......................................................................................... 38 3.7. Station Management Agent ........................................................................................... 40 3.8. IEEE1588 ...................................................................................................................... 42 4. レジスタ ........................................................................................................................... 51 4.1. MCR (GMAC Register 0) ..............................................................................................61 4.2. MFFR (GMAC Register 1) ............................................................................................ 65 4.3. GMAC Register 2, 3 (MHTRH, MHTRL) ....................................................................... 69 4.4. GAR (GMAC Register 4) ............................................................................................... 70 4.5. GDR (GMAC Register 5) .............................................................................................. 72 4.6. FCR (GMAC Register 6) ............................................................................................... 73 4.7. VTR (GMAC Register 7) ............................................................................................... 75 4.8. RWFFR (GMAC Register 10) ....................................................................................... 77 4.9. PMTR (GMAC Register 11)........................................................................................... 79 4.10. LPICSR (GMAC Register 12) ..................................................................................... 81 4.11. LPITCR (GMAC Register 13) ...................................................................................... 83 4.12. ISR (GMAC Register 14) ............................................................................................ 84 4.13. IMR (GMAC Register 15) ............................................................................................ 86 4.14. MAR0H (GMAC Register 16) ...................................................................................... 87 4.15. MAR0L (GMAC Register 17)....................................................................................... 89 4.16. MAR1H,MAR2H,MAR3H,...,MAR31H(GMAC Register 18,20,22,..., 542) ...................90 4.17. MAR1L,MAR2L,MAR3L,...,MAR31L(GMAC Register 19,21,23,25,..., 543) ............... .92 4.18. RGSR (GMAC Register 54) ........................................................................................ 93 4.19. TSCR (GMAC Register 448) ....................................................................................... 94 4.20. SSIR (GMAC Register 449) ........................................................................................ 97 4.21. STSR (GMAC Register 450) ....................................................................................... 98 4.22. STNR (GMAC Register 451) ....................................................................................... 99 4.23. STSUR (GMAC Register 452) ...................................................................................100 4.24. STNUR (GMAC Register 453) ...................................................................................101 4.25. TSAR (GMAC Register 454) ......................................................................................102 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (6) 1 FM3ファミリ 4.26. TTSR (GMAC Register 455) ......................................................................................103 4.27. TTNR (GMAC Register 456) ..................................................................................... 104 4.28. STHWSR (GMAC Register 457) ............................................................................... 105 4.29. TSR (GMAC Register 458) ....................................................................................... 106 4.30. PPSCR (GMAC Register 459) .................................................................................. 107 4.31. ATNR (GMAC Register 460) ..................................................................................... 109 4.32. ATSR (GMAC Register 461) ..................................................................................... 110 4.33. BMR (DMA Register 0) ............................................................................................. 111 4.34. TPDR (DMA Register 1) ............................................................................................ 114 4.35. RPDR (DMA Register 2) ........................................................................................... 115 4.36. RDLAR (DMA Register 3) ......................................................................................... 116 4.37. TDLAR (DMA Register 4) .......................................................................................... 117 4.38. SR (DMA Register 5) ................................................................................................ 118 4.39. OMR (DMA Register 6) ............................................................................................. 122 4.40. IER (DMA Register 7) ............................................................................................... 125 4.41. MFBOCR (DMA Register 8) ...................................................................................... 128 4.42. RIWTR (DMA Register 9) .......................................................................................... 129 4.43. AHBSR (DMA Register 11) ....................................................................................... 130 4.44. CHTDR (DMA Register 18) ....................................................................................... 131 4.45. CHRDR (DMA Register 19) ...................................................................................... 132 4.46. CHTBAR (DMA Register 20) ..................................................................................... 133 4.47. CHRBAR (DMA Register 21) .................................................................................... 134 4.48. MMC Register list ...................................................................................................... 135 4.49. MMC コントローラレジスタ..................................................................................... 141 4.50. MMC 受信割込みレジスタ ........................................................................................ 142 4.51. MMC 送信割込みレジスタ ........................................................................................ 144 4.52. MMC 受信割込みマスクレジスタ ............................................................................. 146 4.53. MMC 送信割込みマスクレジスタ ............................................................................. 148 4.54. MMC 受信チェックサムオフロード割込みマスクレジスタ ..................................... 150 4.55. MMC 受信チェックサムオフロード割込みレジスタ ................................................ 152 5. ディスクリプタ .............................................................................................................. 154 5.1. 送信拡張ディスクリプタ ............................................................................................ 155 5.1.1. Transmit Enhanced Descriptor 0 (TDES0) .................................................................156 5.1.2. Transmit Enhanced Descriptor 1 (TDES1) .................................................................160 5.1.3. Transmit Enhanced Descriptor 2 (TDES2) .................................................................161 5.1.4. Transmit Enhanced Descriptor 3 (TDES3) .................................................................162 5.1.5. Transmit Enhanced Descriptor 6 (TDES6) .................................................................163 5.1.6. Transmit Enhanced Descriptor 7 (TDES7) .................................................................164 5.2. 受信拡張ディスクリプタ ............................................................................................ 165 5.2.1. Receive Enhanced Descriptor 0 (RDES0) .................................................................166 5.2.2. Receive Enhanced Descriptor 1 (RDES1) .................................................................169 5.2.3. Receive Enhanced Descriptor 2 (RDES2) .................................................................170 5.2.4. Receive Enhanced Descriptor 3 (RDES3) .................................................................171 5.2.5. Receive Enhanced Descriptor 4 (RDES4) .................................................................172 5.2.6. Receive Enhanced Descriptor 6 (RDES6) .................................................................174 5.2.7. Receive Enhanced Descriptor 7 (RDES7) .................................................................175 6. プログラミングガイド ................................................................................................... 176 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (7) 2 FM3ファミリ 本版での主な変更内容 変更箇所は、本文中のページ左側の│によって示しています。 ページ 場所 変更箇所 表紙 表題を変更 (5) ■本マニュアルにおける対象製 品 項目追加 5, 6 CHAPTER1 2.Ethernet の入出力信号 ●外部 PHY 接続例 図 2-1, 図 2-2, 図 2-3 を変更 23 CHAPTER 2 3.3 DMA コントローラ ■送信動作 ●送信 DMA 動作:デフォルト (Non-OSF)モード 手順 8 の下記の記述を変更: Interrupt on Completion (TDES1[30]) → Interrupt on Completion (TDES0[30]) 29 CHAPTER 2 3.3 DMA コントローラ ■受信動作 ●受信ディスクリプタの取得 下記の記述を変更: 受信レジスタ → 受信エンジン 33 CHAPTER 2 3.4 チェックサムエンジン ●TCP/UDP/ICMP チェックサム エンジン <注意事項>に記述追加。 34 CHAPTER 2 3.4 チェックサムエンジン ■受信チェックサムオフロード エンジン <注意事項>に記述追加。 36 CHAPTER 2 3.5 Energy Efficient Ethernet ■送信パス機能 図 3-5 を変更。 36 CHAPTER 2 3.5 Energy Efficient Ethernet ■受信パス機能 <注意事項>の下記の記述を変更: 図 3-12 に示すように → 図 3-6 に示すように 49 CHAPTER 2 3.8 IEEE1588 ■IPv6 上の PTP フレーム 表 3-6 を変更。 CHAPTER 2 4 レジスタ ■レジスタマップ 表 4-1 を変更。 59 CHAPTER 2 4.1 GMAC Register 0 (MCR) 「IPC (Checksum Offload)」に<注意事項>を追加。 60 CHAPTER 2 4.1 GMAC Register 0 (MCR) 「ACS (Automatic Pad/CRC Stripping)」に<注意事項> を追加。 81 CHAPTER 2 4.12 GMAC Register 14(ISR) 「RIS (MMC Receive Interrupt Status)」の下記の記述を 変更: GMAC register65(MMC Transmit Interrupt Register) → GMAC register65(MMC Receive Interrupt Register) - 51~54 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED 本版での主な変更内容 FUJITSU SEMICONDUCTOR CONFIDENTIAL (8) 1 FM3ファミリ ページ 場所 変更箇所 CHAPTER 2 4.19 GMAC Register 448(TSCR) 下記のビット名を変更: TSCT → TSPS 102 CHAPTER 2 4.29 GMAC Register 458(TSR) 「TRGTER」の説明文を変更。 103 CHAPTER 2 4.30 GMAC Register 459(PPSCR) bit3 の初期値を変更。 153 CHAPTER 2 5.1.1 Transmit Enhanced Descriptor 0 (TDES0) 「CIC (Checksum Insertion Control)」に<注意事項>を追 加 164 CHAPTER 2 5.2.1 Receive Enhanced Descriptor 0 (RDES0) 「DE (Dribble Bit Error)」の下記記述を削除: このビットは MII モードでのみ有効です。 168 CHAPTER 2 5.2.5 Receive Enhanced Descriptor 4 (RDES4) 下記の bit 名を変更: MP → MT 172 CHAPTER 2 6 プログラミングガイド ■DMA の初期化・ディスクリプ タ 手順 5, 9 の記述を変更。 90, 92 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED 本版での主な変更内容 FUJITSU SEMICONDUCTOR CONFIDENTIAL (9) 2 FM3ファミリ MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED FUJITSU SEMICONDUCTOR CONFIDENTIAL (10) 1 CHAPTER 1: Ethernet 1. 概要 FM3ファミリ CHAPTER : Ethernet Ethernet 関連ブロックの構成について説明します。 1. 2. 3. 4. 概要 Ethernetの入出力信号 Ethernet-MACセットアップ制御手順 Ethernetシステム制御部レジスタ 管理コード:9xETHER-J01.0 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 1 2 CHAPTER 1: Ethernet 1. 概要 FM3ファミリ 1. 概要 Ethernet 機能の概要と Ethernet-MAC セットアップ制御手順について説明します。 概要 本ファミリの Ethernet 機能は、Ethernet-MAC 部と、その周辺回路から構成されます。本章では、 Ethernet-MAC 周辺回路の説明と、Ethernet-MAC セットアップ制御手順について説明します。 ブロックダイヤグラム Ethernet-MAC と周辺回路の構成図を図 1-1 に示します。 図 1-1 Ethernet-MAC と周辺回路の構成図 E thernet-MA C bus DM AC D MA C bus C PU bus CPU Ethernet Clock generator (PLL ) Ethernet system control block Ethernet M AC block (ch.0) FIFO (2KB ) Receive control Ethernet -M AC block (ch.1) FIFO (2KB ) Transm it control FIFO (2KB ) Receive control I/O po rt control blo ck Transm it control C o ntrol and S tatus R egisters D M AC Peri pheral FIFO (2KB ) M II/R MII mo de selector SRAM or External Memory DM AC FLASH C o ntrol and S tatus R egisters MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 2 3 CHAPTER 1: Ethernet 1. 概要 FM3ファミリ 各ブロックの説明 Ethernet-MAC 部 Ethernet-MAC は、Ethernet 通信プロトコル制御を行うブロックです。ブロックダイヤグラムには ch.0 と ch.1 の 2 個の Ethernet-MAC が記載されていますが、ch.0 の 1 個のみ搭載している品種と、 ch.0 と ch.1 の 2 個搭載している品種があります。1 個搭載品種の場合、ch.1 側は使用できません。 2 個搭載品種は、両方の Ethernet-MAC を独立して使用できます。 各 Ethernet-MAC は、送信制御部, 受信制御部, FIFO メモリ, 専用 DMAC から構成されています。 CPU からの制御レジスタ部 (Control and Status Registers) への指示により動作の制御を行います。 専用 DMAC は、CPU により形成されたメモリ上のディスクリプタを使用し、送受信データの転送 処理を行います。Ethernet-MAC に関する詳細は、 『Ethernet-MAC』の章を参照してください。 各 Ethernet-MAC を動作させる場合、あらかじめ、Ethernet システム制御部へのレジスタ書込みに より、以下の手順で Ethernet-MAC セットアップをしてください。 1. 各 Ethernet-MAC に対するクロック供給を開始する。 2. MII/RMII モードを選択する。 3. 各 Ethernet-MAC へハードウェアリセットを発行し、Ethernet-MAC を再起動する。 上記については、 「3. Ethernet-MAC セットアップ制御手順」を参照してください。 各 Ethernet-MAC は、上記のセットアップのハードウェアリセット解除後に、初期設定を行い、動 作開始を指示します。各 Ethernet-MAC の内部レジスタには、MII/RMII モードの選択を行う箇所が ありますが、これらは上記セットアップ手順とは別に設定を行います。 図 1-1 に示すように、Ethernet-MAC のうち DMAC は、CPU およびマイコンの DMAC とは独立し た専用システムバス (AHB) を持っており、CPU, マイコン DMAC と同時動作が可能です。 Ethernet-システム制御部 (Ethernet system control block) Ethernet システム制御部は、 Ethernet-MAC の周辺回路の制御を行い、各 Ethernet-MAC のセットアッ プ制御を行います。 「3. Ethernet-MAC セットアップ制御手順」に、セットアップ制御手順を記載し ています。また、 「4. Ethernet システム制御部レジスタ」に、Ethernet システム制御部のレジスタ機 能を記載しています。 各 Ethernet-MAC を動作させない場合、クロック信号の供給を停止しておくことで、マイコンの低 消費電力化を行うことができます。 MII/RMII モード選択部 (MII/RMII mode selector) MII/RMII モード選択部は、Ethernet-MAC の外部 PHY インタフェース信号を I/O ポート制御部と 接続するセレクタブロックです。Ethernet システム制御部のレジスタ設定に基づき、使用するイン タフェース (MII/RMII)モードを選択します。 I/O port 制御部 (I/O port control block) マイコンの外部端子は、GPIO など, Ethernet 以外の周辺機能ブロックの端子と端子機能が兼用され ています。 マイコンの外部端子を Ethernet の外部 PHY インタフェース端子として使用するために、 I/O ポート部の制御レジスタの設定が必要になります。 マイコンが低消費電力モード (STOP モード, タイマモード) の状態にあるとき、外部 PHY からの Wakeup パケットを受信するためには、PHY インタフェース端子の入出力信号を有効とする状態 (直前保持状態とよびます) にしておく必要があります。 I/O ポート制御部に関する詳細は、 『ペリフェラルマニュアル』の『I/O ポート』の章を参照してく ださい。 Ethernet クロック生成部 (Ethernet clock generator block) Ethernet クロック生成部から出力されるクロック信号を、マイコン外部端子へ出力できます。この クロック信号出力を一般的な外部 PHY デバイスの入力クロックに使う場合、PLL を使用せず、メ イン発振器の出力を Ethernet クロック生成部でスルーして供給するようにしてください。PLL を 使用してクロック出力信号を生成した場合、一般的な PHY デバイスに要求される入力クロック発 振精度を保証できません。Ethernet クロック生成部に関する詳細は、 『FM3 ファミリ ペリフェラル マニュアル 通信マクロ編』の『USB/Ethernet クロック生成部』の章を参照してください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 3 4 CHAPTER 1: Ethernet 2. Ethernet の入出力信号 FM3ファミリ 2. Ethernet の入出力信号 Ethernet 機能に関連する入出力信号の接続を説明します。 マイコン外部端子 外部 PHY インタフェース信号 外部端子は、Ethernet-MAC の ch.0, ch.1 および MII/RMII の PHY インタフェース信号端子の機能が 兼用されています。Ethernet システム制御部のセットアップ制御時に、どのインタフェース信号を 用いるかが決定されます。 Ethernet-MAC 1 個搭載品と、2 個搭載品のそれぞれの外部端子名と各 Ethernet-MAC の PHY インタ フェース信号の対応関係の一覧を表 2-1 に示します。 表 2-1 外部端子名と PHY インタフェース信号の対応関係 外部端子名 ch.0 のみ 搭載品種 ch.0, ch.1 搭載品種 MII (ch.0 使用) RMII (ch.0 使用) RMII (ch.0, ch.1 使用) E_RXCK_REFCK E_RXCK0_REFCK ch.0 RX_CLK ch.0 REF_CLK ch.0 REF_CLK ch.1 REF_CLK E_RX00 E_RX00 ch.0 RXD[0] ch.0 RXD[0] ch.0 RXD[0] E_RX01 E_RX01 ch.0 RXD[1] ch.0 RXD[1] ch.0 RXD[1] E_RX02 E_RX02_RX10 ch.0 RXD[2] 使用しない ch.1 RXD[0] E_RX03 E_RX03_RX11 ch.0 RXD[3] 使用しない ch.1 RXD[1] E_RXDV E_RXDV0 ch.0 RX_DV ch.0 CRS_DV ch.0 CRS_DV E_RXER E_RXER0_RXDV1 ch.0 RX_ER 使用しない ch.1 CRS_DV E_TCK E_TCK0_MDC1 ch.0 TX_CLK 使用しない ch.1 MDC E_TX00 E_TX00 ch.0 TXD[0] ch.0 TXD[0] ch.0 TXD[0] E_TX01 E_TX01 ch.0 TXD[1] ch.0 TXD[1] ch.0 TXD[1] E_TX02 E_TX02_TX10 ch.0 TXD[2] 使用しない ch.1 TXD[0] E_TX03 E_TX03_TX11 ch.0 TXD[3] 使用しない ch.1 TXD[1] E_TXEN E_TXEN0 ch.0 TX_EN ch.0 TX_EN ch.0 TX_EN E_TXER E_TXER0_TXEN1 ch.0 TX_ER 使用しない ch.1 TX_EN E_CRS E_CRS0 ch.0 CRS 使用しない 使用しない E_COL E_COL0 ch.0 COL 使用しない 使用しない E_MDC E_MDC0 ch.0 MDC ch.0 MDC ch.0 MDC E_MDIO E_MDIO0 ch.0 MDIO ch.0 MDIO ch.0 MDIO - E_MDIO1 使用しない 使用しない ch.1 MDIO 備考 *1 *2 *3 *1 : この端子は、MII の場合、RX_CLK 入力として使用します。RMII の場合、REF_CLK 入力として 使用します。Ethernet-MAC を ch.0, ch.1 の両方を使用する場合、両チャネル共通の入力です。 *2 : RMII の場合、外部 PHY からの RX_ER 入力は使用しないため、接続する必要はありません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 4 5 CHAPTER 1: Ethernet 2. Ethernet の入出力信号 FM3ファミリ *3 : MII の場合、TX_ER 出力は、EEE (Energy Efficient Ethernet) における LPI モード時のみ"H"レベル 出力を行います。EEE を使用しない場合、PHY との接続は不要です。 Ethernet-MAC の ch.0, ch.1 両方を使用する場合、MII は選択できません。 外部 PHY 接続例 以下に外部 PHY デバイスとの接続例を示します。 図 2-1~図 2-3 に記載していませんが、MDIO 信号はプルアップすることを推奨します。 Ethernet-MAC (ch.0)を使用し、MII モードで PHY と接続 (図 2-1) Ethernet-MAC (ch.0)を使用し、RMII モードで PHY と接続 (図 2-2) Ethernet-MAC (ch.0, ch.1)を使用し、RMII モードで 2 個の PHY と接続 (図 2-3) 図 2-1 MII モード接続図 (Ethernet-MAC ch.0 を使用) 本LSI* Clock source (25MHz) PHY-MII PHY_CLK E_TCK0_MDC1 (E_TCK) TX_CLK E_TX00 (E_TX00) TXD[0] E_TX01 (E_TX01) TXD[1] E_TX02_TX10 (E_TX02) TXD[2] E_TX03_TX11 (E_TX03) TXD[3] E_TXEN0 (E_TXEN) TX_EN E_TXER0_TXEN1 (E_TXER) TX_ER E_RXCK0_REFCK (E_RXCK_REFCK) RX_CLK E_RX00 (E_RX00) RXD[0] E_RX01 (E_RX01) RXD[1] E_RX02_RX10 (E_RX02) RXD[2] E_RX03_RX11 (E_RX03) RXD[3] E_RXDV0 (E_RXDV) RX_DV E_RXER0_RXDV1 (E_RXER) RX_ER E_CRS0 (E_CRS) CRS E_COL0 (E_COL) COL E_MDIO0 (E_MDIO) E_MDC0 (E_MDC) MDIO MDC : Ethernet-MAC 2 個搭載品の端子名 (Ethernet-MAC 1 個搭載品の端子名) * MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 5 6 CHAPTER 1: Ethernet 2. Ethernet の入出力信号 FM3ファミリ 図 2-2 RMII モード接続図 (Ethernet-MAC ch.0 を使用) 本LSI* Clock source (50MHz) E_RXCK0_REFCK (E_RXCK_REFCK) PHY-RMII REF_CLK E_TX00 (E_TX00) TXD[0] E_TX01 (E_TX01) TXD[1] E_TXEN0 (E_TXEN) TX_EN E_RX00 (E_RX00) RXD[0] E_RX01 (E_RX01) RXD[1] E_RXDV0 (E_RXDV) CRS_DV E_MDIO0 (E_MDIO) MDIO E_MDC0 (E_MDC) MDC : Ethernet-MAC 2 個搭載品の端子名 (Ethernet-MAC 1 個搭載品の端子名) * 図 2-3 RMII モード接続図 (Ethernet-MAC ch.0, ch.1 を使用) 本LSI E_RXCK0_REFCK Clock source (50MHz) PHY-RMII REF_CLK E_TX00 TXD[0] E_TX01 TXD[1] E_TXEN0 TX_EN E_RX00 RXD[0] E_RX01 RXD[1] E_RXDV0 CRS_DV E_MDIO0 MDIO E_MDC0 MDC PHY-RMII REF_CLK E_TX02_TX10 TXD[0] E_TX03_TX11 TXD[1] E_TXER0_TXEN1 TX_EN E_RX02_RX10 RXD[0] E_RX03_RX11 RXD[1] E_RXER0_RXDV1 E_MDIO1 E_TCK0_MDC1 MN706-00015-2v0-J CRS_DV MDIO MDC FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 6 7 CHAPTER 1: Ethernet 2. Ethernet の入出力信号 FM3ファミリ その他の外部端子 表 2-1 に示す以外で、Ethernet 機能に関連する外部端子を表 2-2 に示します。 表 2-2 その他の外部端子 外部端子名 機能 E_PPS0_PPS1 * Ethernet-MAC 部から、PTP 機能のシステム・タイム・カウンタの 1 秒ごとの パルスを出力します。ETH_MODE.PPSSEL レジスタにて、ch.0, ch.1 のどち らの出力を選択するか決定できます。 E_COUT Ethernet クロック生成部で生成したクロック信号を出力する端子です。 * : Ethernet-MAC を 1 個搭載の品種は、E_PPS 端子です。ch.1 の出力は選択できません。 内部接続端子 システムクロック信号および AHB バスインタフェース 各 Ethernet-MAC は、AHB バスを経由して CPU, メモリに接続します。各 Ethernet-MAC を使用す る際、AHB クロック (HCLK) を 25 MHz 以上に設定してください。 各 Ethernet-MAC のシステム・タイム・カウンタのソースクロック (PTP_CLK) には、AHB クロッ ク (HCLK) が接続されます。 割込み信号インタフェース 各 Ethernet-MAC 部から出力される割込み信号を表 2-3 に示します。これらの割込みは、NVIC に 接続されています。割込みについては、 『ペリフェラルマニュアル』の『割込み』の章を参照して ください。 表 2-3 Ethernet-MAC からの割込み信号 割込み信号名 機能 MAC0_INT_SBD Ethernet-MAC ch.0 の割込みです。 MAC0_INT_PMT Ethernet-MAC ch.0 の WAKE-UP フレーム受信割込みです。 MAC0_INT_LPI Ethernet-MAC ch.0 の LPI ステート終了通知の割込みです。 MAC1_INT_SBD Ethernet-MAC ch.1 の割込みです。 MAC1_INT_PMT Ethernet-MAC ch.1 の WAKE-UP フレーム受信割込みです。 Ethernet-MAC ch.1 は、MII モードを持たないため、LPI 割込みを発生しません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 7 8 CHAPTER 1: Ethernet 3. Ethernet-MAC セットアップ制御手順 FM3ファミリ 3. Ethernet-MAC セットアップ制御手順 Ethernet-MAC セットアップ制御手順について説明します。 セットアップについて マイコンに対する電源投入などにより、AHB バス上にリセットが発生した場合は、以下のセット アップ制御を実施してください。 I/O ポート部の選択を行った後、以下手順を実施し、各 Ethernet-MAC のセットアップを行います。 各 Ethernet -MAC へのクロック供給, MII/RMII のモードの選択, 各 Ethernet-MAC へのハードウェア リセット発行および解除を行います。セットアップ完了後、各 Ethernet-MAC の初期設定を行い、 動作を開始させます。 MII モード選択時の手順 1. ETH_CLKG.MACEN[1:0]=01 を書き込みます。Ethernet-MAC(ch.0)にクロック供給を開始します。 2. ETH_MODE.IFMODE=0, ETH_MODE.RST0=1, ETH_MODE.RST1=0 を書き込みます。 MII を選 択し、Ethernet-MAC(ch.0)にハードウェアリセットを発行します。 3. この時点で、外部 PHY からクロック信号 (RX_CLK, TX_CLK) が入力されている必要があり ます。クロック信号が入力されていない場合、入力されるまで待ちます。 4. ETH_MODE.IFMODE=0, ETH_MODE.RST0=0, ETH_MODE.RST1=0 を書き込みます。 MII を選 択し、Ethernet-MAC(ch.0)のハードウェアリセットを解除します。 RMII モード (ch.0 のみ使用) 選択時の手順 1. ETH_CLKG.MACEN[1:0]=01 を書き込みます。Ethernet-MAC(ch.0)にクロック供給を開始します。 2. ETH_MODE.IFMODE=1, ETH_MODE.RST0=1, ETH_MODE.RST1=0 を書き込みます。 RMII を 選択し、Ethernet-MAC(ch.0)にハードウェアリセットを発行します。 3. この時点で、外部 PHY からクロック信号 (REF_CLK) が入力されている必要があります。ク ロック信号が入力されていない場合、入力されるまで待ちます。 4. ETH_MODE.IFMODE=1, ETH_MODE.RST0=0, ETH_MODE.RST1=0 を書き込みます。 RMII を 選択し、Ethernet-MAC(ch.0)のハードウェアリセットを解除します。 RMII モード (ch.0, ch.1 両方使用) 選択時の手順 1. ETH_CLKG.MACEN[1:0]=11 を書き込みます。Ethernet-MAC(ch.0, ch.1)にクロック供給を開始 します。 2. ETH_MODE.IFMODE=1, ETH_MODE.RST0=1, ETH_MODE.RST1=1 を書き込みます。 RMII を 選択し、Ethernet-MAC(ch.0, ch.1)にハードウェアリセットを発行します。 3. この時点で、外部 PHY からクロック信号 (REF_CLK) が入力されている必要があります。ク ロック信号が入力されていない場合、入力されるまで待ちます。 4. ETH_MODE.IFMODE=1, ETH_MODE.RST0=0, ETH_MODE.RST1=0 を書き込みます。 RMII を 選択し、Ethernet-MAC(ch.0, ch.1)のハードウェアリセットを解除します。 ※ETH_MODE.PTPSEL は、出力する PTP 信号のチャネルに合わせて任意の選択が可能です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 8 9 CHAPTER 1: Ethernet 4. Ethernet システム制御部レジスタ FM3ファミリ 4. Ethernet システム制御部レジスタ Ethernet システム制御部のレジスタについて説明します。 Ethernet システム制御部のレジスタ一覧を表 4-1 に示します。 表 4-1 Ethernet システム制御部レジスタ一覧 オフセット アドレス レジスタ略称 レジスタ名 参照先 0x00 ETH_MODE モード選択レジスタ 4.1 0x08 ETH_CLKG クロックゲーティングレジスタ 4.2 Ethernet システム制御部ベースアドレス:0x40066000 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 9 10 CHAPTER 1: Ethernet 4. Ethernet システム制御部レジスタ FM3ファミリ 4.1. モード選択レジスタ (ETH_MODE) ETH_MODE は、Ethernet の外部インタフェースモードを制御します。 レジスタ構成 bit Field 属性 初期値 31 29 R 0 30 予約 R 0 27 R 0 28 PPSSEL R/W 0 R 0 bit Field 属性 初期値 23 22 21 20 R 0 R 0 R 0 bit Field 属性 初期値 15 14 13 R 0 R 0 bit Field 属性 初期値 7 R 0 26 25 24 R 0 R 0 R 0 19 18 17 16 R 0 R 0 R 0 R 0 R 0 12 11 10 R 0 R 0 R 0 R 0 9 RST1 R/W 0 8 RST0 R/W 0 6 5 3 2 1 R 0 R 0 4 予約 R 0 R 0 R 0 R 0 0 IFMODE R/W 0 予約 予約 予約 レジスタ機能 [bit31:29] 予約 書込み時は"0"を書き込んでください。読出し時は"0"が読み出されます。 [bit28] PPSSEL 各 Ethernet-MAC の PTP 機能のシステム・タイム・カウンタ・パルス出力のうち、どちらを E_PPS0_PPS1 端子に出力するかを選択します。 bit 動作 書込み時 0 Ethernet-MAC(ch.0)を選択します。 書込み時 1 Ethernet-MAC(ch.1)を選択します。 読出し時 レジスタ設定値を読み出します。 [bit27:10] 予約 書込み時は"0"を書き込んでください。読出し時は"0"が読み出されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 10 11 CHAPTER 1: Ethernet 4. Ethernet システム制御部レジスタ FM3ファミリ [bit9] RST1 Ethernet-MAC(ch.1) に対するハードウェアリセット信号を制御します。 bit 動作 書込み時 0 Ethernet-MAC(ch.1)に対するハードウェアリセットを解除します。 書込み時 1 Ethernet-MAC(ch.1)に対するハードウェアリセットを発行します。 読出し時 レジスタ設定値を読み出します。 [bit8] RST0 Ethernet-MAC (ch.0) に対するハードウェアリセット信号を制御します。 bit 動作 書込み時 0 Ethernet-MAC(ch.0) に対するハードウェアリセットを解除します。 書込み時 1 Ethernet-MAC(ch.0) に対するハードウェアリセットを発行します。 読出し時 レジスタ設定値を読み出します。 [bit7:1] 予約 書込み時は"0"を書き込んでください。読出し時は"0"が読み出されます。 [bit0] IFMODE MII/RMII モードセレクタの接続を選択します。 bit 動作 書込み時 0 MII を選択します。 書込み時 1 RMII を選択します。 読出し時 レジスタ設定値を読み出します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 11 12 CHAPTER 1: Ethernet 4. Ethernet システム制御部レジスタ FM3ファミリ 4.2. クロックゲーティングレジスタ (ETH_CLKG) ETH_CLKG は、各 Ethernet-MAC へのクロック供給を制御します。 レジスタ構成 bit Field 属性 初期値 31 30 29 R 0 R 0 R 0 bit Field 属性 初期値 23 22 21 R 0 R 0 R 0 bit Field 属性 初期値 15 14 13 R 0 R 0 R 0 bit Field 属性 初期値 7 6 5 28 27 26 25 24 R 0 R 0 R 0 R 0 R 0 20 19 18 17 16 R 0 R 0 R 0 R 0 R 0 12 11 10 9 8 R 0 R 0 R 0 R 0 R 0 4 3 2 R 0 R 0 R 0 予約 予約 予約 予約 R 0 R 0 R 0 1 0 MACEN[1:0] R/W R/W 0 0 レジスタ機能 [bit31:2] 予約 書込み時は"0"を書き込んでください。読出し時は"0"が読み出されます。 [bit1:0] MACEN[1:0] Ethernet-MAC へのシステムクロック供給を選択します。 bit1:0 Ethernet-MAC 1 個搭載品種 Ethernet-MAC 2 個搭載品種 書込み時 00 Ethernet-MAC(ch.0) へクロック供給停止 Ethernet-MAC(ch.0, ch.1)へクロック供給停止 書込み時 01 Ethernet-MAC (ch.0)へクロック供給開始 Ethernet-MAC(ch.0)へクロック供給開始 Ethernet-MAC(ch.1)へクロック供給停止 書込み時 11 設定禁止 Ethernet-MAC(ch.0, ch.1)へクロック供給開始 書込み時 10 設定禁止 設定禁止 読出し時 レジスタ設定値を読み出します。 レジスタ設定値を読み出します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet FUJITSU SEMICONDUCTOR CONFIDENTIAL 12 13 CHAPTER 2: Ethernet-MAC 1. 概要 FM3ファミリ CHAPTER : Ethernet-MAC Ethernet-MAC の機能と動作の説明を行います。 1. 2. 3. 4. 5. 6. 概要 ブロック構成 アーキテクチャ レジスタ ディスクリプタ プログラミングガイド 管理コード:9xETHER-J02.0 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 13 2 CHAPTER 2: Ethernet-MAC 1. 概要 FM3ファミリ 1. 概要 Ethernet-MAC は、以下の 4 つのブロックで構成されています。各ブロックの主な機能を説明 します。 GMAC : Ethernet Media Access Controller IEEE802.3-2005 準拠 10/100Mbps のデータ転送速度に対応 IEEE802.3 準拠の MII インタフェース 10/100 Mbps において全二重と半二重動作に対応 半二重動作で CSMA/CD プロトコルに対応 半二重モードでバックプレッシャに対応 全二重動作で IEEE 802.3x フローコントロールに対応 CRC およびデータパディングの自動生成 ジャンボフレーム対応 種々のフレキシブル・アドレスフィルタリングモードに対応 MII 上のデバッグ用内部ループバックに対応 IEEE802.3Q VLAN パケットに対応 Wake-On-LAN (Remote Wake-Up, Magic Packet)に対応 Checksum Offload に対応 Energy Efficient Ethernet (EEE)用の IEEE 802.3-az-2010 に対応 RMII インタフェースに対応 IEEE1588-2008 準拠 MAC Management Counter をサポート MTL : MAC Transaction Layer 送信 FIFO 2K バイト, 受信 FIFO 2K バイト コリジョンフレームの自動再送信処理 レイトコリジョン, アンダーラン・フレームの廃棄 DMA : DMA Controller ディスクリプタ方式 DMA 送信および受信データパスはリトルエンディアンに対応 AHB : AHB Interface AMBA Specification Rev.2.0 準拠 32 ビット幅のアドレスおよびデータ マルチレイヤ・バス対応 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 14 3 CHAPTER 2: Ethernet-MAC 2. ブロック構成 FM3ファミリ 2. ブロック構成 Ethernet-MAC のブロック構成を説明します。 図 2-1 Ethernet-MAC のブロック図 Ethernet-MAC AHB AHB master i/f DMA MTL GMAC TxDMA TxFIFO (2KByte) Transmitter AHB Master interface PHY i/f (MII/RMII) RxDMA AHB slave i/f AHB Slave interface RxFIFO (2KByte) Receiver Control and Status Registers (CSR) 図 2-1 に、Ethernet-MAC のブロック図を示します。以下に各機能ブロックの説明を行います。 AHB : AHB Interface システムバス (AHB) とのインタフェースを制御する機能ブロックです。内部 DMA は、AHB マ スタ・インタフェースを持ち、システムバス経由でホストメモリに直接アクセスできます。AHB スレーブ・インタフェースは、ホスト CPU と Control Status Registers (CSR)とのインタフェースを 行います。 DMA : DMA Controller 送信 DMA (TxDMA) と受信 DMA (RxDMA) が独立に動作できる構成です。DMA はホストメモリ に構築されたディスクリプタテーブルの内容に従い、データ転送処理を行います。 MTL : MAC Transaction Layer 送信データ, 受信データのバッファリング用にそれぞれ 2K バイトの FIFO メモリを搭載していま す。MTL は FIFO の制御を行う機能ブロックで、自動再送信, フレームの破棄処理などを行います。 GMAC : Ethernet Media Access Controller Ethernet の通信プロトコルを実現する機能ブロックです。PHY インタフェースは、MII/RMII をサ ポートしています。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 15 4 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3. アーキテクチャ Ethernet-MAC のアーキテクチャについて説明します。 3.1 端子機能 3.2 AHB アプリケーション・ホスト・インタフェース 3.3 DMA コントローラ 3.4 チェックサムエンジン 3.5 Energy Efficient Ethernet 3.6 MAC マネジメントカウンタ 3.7 Station Management Agent 3.8 IEEE1588 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 16 5 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.1. 端子機能 Ethernet-MAC の端子機能について説明します。 PHY インタフェース端子 表 3-1 に PHY インタフェース端子を示します。GMAC は、MII/RMII の両方のインタフェースを サポートします。 表中の MII/RMII の列で○が付いている端子を PHY に接続する必要があります。 表 3-1 PHY インタフェース端子 信号端子名 I/O 機能 MII RMII 備考 100 Mbps 時:25 MHz 10 Mbps 時:2.5 MHz RX_CLK IN 受信クロック ○ × RXD[0] IN 受信データ 0 ○ ○ RXD[1] IN 受信データ 1 ○ ○ RXD[2] IN 受信データ 2 ○ × RXD[3] IN 受信データ 3 ○ × RX_DV IN 受信データ有効 ○ × RX_ER IN 受信エラー検出 ○ × RMII 時接続不要 TX_CLK IN 送信クロック ○ × 100 Mbps 時:25 MHz 10 Mbps 時:2.5 MHz TXD[0] OUT 送信データ 0 ○ ○ TXD[1] OUT 送信データ 1 ○ ○ TXD[2] OUT 送信データ 2 ○ × TXD[3] OUT 送信データ 3 ○ × TX_EN OUT 送信データ有効 ○ ○ TX_ER OUT 送信エラー ○ × CRS IN キャリア検出 ○ × COL IN 衝突検出 ○ × MDC OUT マネジメントクロック ○ ○ SYS_CLK 入力を分周して生成し ます。 Energy Efficient Ethernet 対応 PHY にのみ接続 MDIO IO マネジメントデータ ○ ○ 外 部 端 子 にて 双 方向 制 御さ れ ま す。プルアップすることを推奨し ます。 REF_CLK IN リファレンスクロック × ○ 50 MHz クロック入力 CRS_DV IN キャリア検出/データ有効 × ○ MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 17 6 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ ホスト・インタフェース, その他の端子 表 3-2 にホスト・インタフェース端子, その他の端子を示します。本回路の動作, 機能を説明する に必要な端子に限定しています。 表 3-2 ホスト・インタフェース, その他の端子 端子名 I/O 機能 説明 SYS_CLK IN システムクロック AHB バス上のクロック (HCLK) が、接続されています。 DMA の転送動作の基準クロックとなります。 マネジメントインタフェースの MDC は、SYS_CLK を分周 して生成します。 必ず、25 MHz 以上の HCLK を供給してください。 PTP_CLK IN PTP クロック PTP システムカウンタモジュールの基準クロック入力です。 マイコン上の AHB クロック (HCLK)が接続されています。 Ethernet-MAC INT_SBD OUT 割込み Ethernet-MAC からの様々なイベントを通知する割込み信号 です。 マイコンの NVIC に接続されます。 INT_PMT OUT WakeUp 割込み GMAC レシーバが、PHY から WakeUp パケットを受信した イベントを通知する割込み信号です。 マイコンをスタンバイモードから復帰させることができま す。 INT_LPI PTPPPS OUT LPI 割込み GMAC レシーバが、PHY から LPI (Low Power Idle)状態を抜 けた通知を受けたイベントを通知する割込み信号です。 マイコンをスタンバイモードから復帰させることができま す。 OUT 秒カウント出力 PTP システムタイムカウンタモジュールの秒カウント出力 です。 マイコンの外部端子へ出力できます。詳細は、「4.30. GMAC Register 459 (PPSCR)」を参照してください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 18 7 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.2. AHB アプリケーション・ホスト・インタフェース Ethernet-MAC の AHB インタフェースについて、説明します。AHB マスタ・インタフェース は、内部 DMA 要求サイクルを AHB サイクルに変換し、データの転送を制御します。AHB ス レーブ・インタフェースは、ホスト CPU からの GMAC と DMA の CSR (Control and Status Register) スペースへのアクセスを提供します。AHB スレーブ・インタフェースへのアクセ ス中に、AHB マスタ・インタフェースの動作が可能です。 AHB マスタ・インタフェース DMA Bus Mode レジスタの FB または MB ビットをプログラミングすることによって、固定長バ ースト・モード(SINGLE, INCR4, INCR8, INCR16)または、不定長バースト・モード(SINGLE, INCR)転送、またはその混合を選択できます。 固定長バースト・モードを選択した場合、AHB マスタは常に SINGLE, INCR4, INCR8 または INCR16 タイプのバーストを開始します。固定長バースト・モードでは、DMA が INCR4/8/16 で ないバースト転送を要求した場合、AHB ホスト・インタフェースは転送を複数のバースト・ト ランザクションに分割します。例えば、DMA が 15 ビートのバースト転送を要求した場合、AHB インタフェースはそれを INCR8 と INCR4 と 3 つの SINGLE トランザクションに分割します。 不定長バースト・モードでは、AHB マスタは常に INCR で転送を開始し、DMA によって要求さ れたバーストを 1 つの転送で完了します。 混合バースト・モードででは、AHB マスタは DMA が 16 ビート以下のサイズの転送を要求した とき、固定長バースト(INCRx)を開始します。DMA が 17 ビート以上の長さのバーストを要求し たとき、AHB マスタは不定長バースト (INCR) で転送を開始し、バーストを 1 つの転送で完了 します。 AHB マスタからアクセスできないメモリ領域 (メモリが存在しない領域) へのアクセスが発生 した場合、バスエラーが発生します。この場合、DMA はすべてのトランザクションを停止し、 CSR および割込みを通じてエラーが致命的であることを知らせます。動作を再開するには、ア プリケーションは、ソフトリセットを実行しなければなりません。 AHB マスタからの転送は、常に 32 ビット (4byte) アドレス境界にアライメントされます。 DMA コントローラは、送信 FIFO にバーストデータを完全に受け入れられるスペースがあると きにだけ、AHB バーストリード転送を要求します。 DMA コントローラは、受信 FIFO に十分なバーストデータがあるときにだけ、AHB バーストラ イト転送を要求します。AHB マスタ・インタフェースは常に、AHB バスにプッシュするデータ が利用可能であることを前提としています。しかし、DMA はバースト中に、完了前に end-of-valid data (有効なデータの終わり)を示すことがあります(Ethernet フレームの end-of-frame の送信のた め)。固定長バースト・モードでは、AHB マスタ・インタフェースは指定された長さの転送が完 了するまでダミーデータを使ってバーストを継続します。INCR モードでは、バースト転送を完 了前に終了するステップを実行します。 AHB スレーブ・インタフェース シングルおよびバースト転送をサポート CSR との間の 32 ビット, 16 ビット, 8 ビットのライト/リード転送をサポートしています。ただ し、ソフトウェア同期の問題を避けるため、CSR へのアクセスは、32 ビット・アクセスが推奨 されます。 OKAY 応答のみを生成し、ERROR 応答を生成しません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 19 8 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.3. DMA コントローラ Ethernet-MAC 内部の DMA コントローラについて説明します。Eternet-MAC は、独立した送 信 DMA エンジンと受信 DMA エンジン、および CSR (Control and Status Registers)スペース を備えています。送信エンジンはデータをシステムメモリからデバイスポート(MTL)へ転送し、 受信エンジンはデータをシステムメモリへ転送します。DMA コントローラはディスクリプタ を利用することによってデータを転送元から転送先へ効率的に移動し、ホスト CPU の介入を 最小限にします。DMA は Ethernet のフレームのようなパケット方式のデータ転送のために 設計されています。DMA コントローラは、フレームの送受信完了, その他正常/エラー条件で ホスト CPU に割込みを発生させるようにプログラムできます。 ディスクリプタ構造 DMA とホストドライバは、下記の 2 つのデータ構造で通信します。 Control and Status registers (CSR) ディスクリプタリストおよびデータバッファ コントロール・ステータスレジスタについては「4.レジスタ」のセクションで詳細に説明していま す。ディスクリプタについては「5.ディスクリプタ」のセクションで詳細に説明しています。 DMA は GMAC から受信したデータフレームをホストメモリの受信バッファへ転送し、ホストメ モリの送信バッファからの送信データフレームを送信します。ホストメモリに常駐するディスク リプタはこれらのバッファのポインタとして機能します。 図 3-1 ディスクリプタの Ring 構造と Chain 構造 ディスクリプタは、受信用と送信用の 2 つがあります。各リストのベースアドレスをそれぞれ DMA Registers 3 および 4 へ書き込みます。ディスクリプタリストは(暗黙または明示的に)フォワードリ ンクされます。最後のディスクリプタが最初のエントリに戻り、Ring 構造を生成できます。ディ MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 20 9 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ スクリプタを明示的に Chain 化するには、受信および送信ディスクリプタの両方の 2 番目のアド レスを Chain 化します。図 3-1 に、ディスクリプタの Ring 構造および Chain 構造を示します。 ディスクリプタリストは、ホストメモリスペースに常駐します。各ディスクリプタは、最大 2 つ のバッファをポイントできます。これによって 2 つのバッファを、メモリ内の連続するバッファ として使用するのではなく、物理アドレスを指定して使用できます。 データバッファはホストメモリスペースに常駐し、フレーム全体または一部によって構成されま すが、1 つのフレームを超えることはできません。バッファはデータのみを含み、ステータスはデ ィスクリプタに保存されます。データの Chain 化では複数のデータバッファにわたるフレームを 参照します。しかし、1 つのディスクリプタは複数のフレームにわたることはできません。DMA は end-of-frame が検出されたとき、次のフレーム・バッファへスキップします。データの Chain 化 を許可または禁止できます。 DMA コントローラの初期化 Ethernet-MAC の初期化は以下のように行います。 1. GMAC Register 0 に書込みを行い、動作モードを構成し、送信動作をイネーブルします。PS お よび DM ビットをオート・ネゴシエーションされた結果(PHY からリードされる)を元に設定し ます。 2. DMA Register 0 に書込みを行い、ホストのバスアクセス・パラメータをセットします。 3. DMA Register 7 に書込みを行い、不要な割込み原因をマスクします。 4. ソフトウェアドライバは、送信および受信ディスクリプタリストを作成します。次に、DMA Register 3 と DMA Register 4 の両方に書き込み、DMA に各リストの開始アドレスを供給します。 5. GMAC Registers 1, 2, 3 に書込みを行い、フィルタ・オプションを指定します。 6. DMA Register 6 の bit13 と bit1 をセットし、送信 DMA, 受信 DMA の動作を開始します。 7. GMAC Register 0 に書込みを行い、受信動作を許可します。 (Receiver Enable: bit2)。 送信および受信エンジンは Running ステートに入り、それぞれのディスクリプタリストからデ ィスクリプタを取得しようとします。次に受信および送信エンジンは、受信および送信動作の 処理を開始します。送信および受信プロセスは相互に独立しており、別々に開始または停止で きます。 ホスト・バス・バーストアクセス DMA は、AHB マスタ・インタフェース上での固定長バーストを行うように構成されている場合 (DMA Register 0 の FB ビット)、 それを実行します。 最大バースト長は PBL フィールド(DMA Register 0[13:8])によって指定および制限されます。16 バイトの読出しのために、受信および送信ディスク リプタは常に可能な最大のバーストサイズ(PBL によって制限されるか、または 16 * 8/バス幅)でア クセスされます。 送信 DMA は、MTL 送信 FIFO に構成されたバースト、または(構成されたバーストよりもサイズ が小さい場合は)end of frame までのバイト数を受け入れる十分なスペースがある場合にのみデー タ転送を開始します。DMA は AHB マスタ・インタフェースに開始アドレスと要求される転送の 数を指示します。AHB インタフェースが固定長バースト・モードに構成されている場合、DMA は INCR4/8/16 および SINGLE トランザクションの最適の組合せを使ってデータを転送します。そ うでない場合(固定長バーストを使用しない)は、INCR (不定長)と SINGLE トランザクションを使 ってデータを転送します。 受信 DMA は、MTL 受信 FIFO に構成されたバーストを受け入れる十分なスペースがある場合、 または(構成されたバーストよりもサイズが小さい場合)受信 FIFO で end of frame が検出された場 合にのみデータ転送を開始します。DMA は AHB マスタ・インタフェースに開始アドレスと要求 される転送の数を指示します。AHB インタフェースが固定長バースト・モードに構成されている 場合、DMA は INCR4/8/16 および SINGLE トランザクションの最適の組合せを使ってデータを転 送します。そうでない場合(DMA Register 0 の FB ビットがリセットされている)は、INCR (不定長) と SINGLE トランザクションを使ってデータを転送します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 21 10 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ ホスト・データバッファ・アライメント フレームの先頭の送信および受信データバッファの開始アドレスにアライメントに関する制約は ありません。例えば、32 ビット・メモリを備えたシステムでは、バッファの開始アドレスは 4 つ のバイトのどれにでもアライメントできます。しかし DMA は常に 32 ビット幅にアライメントさ れたアドレスに、必要でないバイトレーンはダミーデータを使って、転送を行います。これは一 般的には、Ethernet フレームの始まりまたは終わりの転送の際に行われます。 <Example 3-1 バッファリード> 送信バッファアドレスが 0x0FF2 で、15 バイトを送信する場合、DMA はアドレス 0x0FF0 から 5 つ 32 ビットデータをリードします。データを MTL 送信 FIFO へ転送するとき、余分のバイト(最 初の 2 バイト)はドロップされ無視します。同様に、最後の転送の最後の 3 バイトも無視します。 DMA は常に、end-of-frame でない限り完全な 32 ビットデータを MTL 送信 FIFO へ転送すること を保証します。 <Example 3-2 バッファライト> 受信バッファアドレスが 0x0FF2 で、16 バイトの受信フレームを転送する必要がある場合、DMA はアドレス 0x0FF0 から 5 個の 32 ビットデータを書き込みます。最初の転送の最初の 2 バイト、 および 5 番目の転送の最後の 2 バイトにはダミーデータを書き込みます。 バッファサイズの計算 DMA は送信および受信ディスクリプタのサイズ・フィールドを更新しません。DMA はディスク リプタのステータスフィールド(RDES および TDES)だけを更新します。ドライバはサイズ計算を 実行しなければなりません。 送信 DMA は正確な数のバイト(TDES1 のバッファサイズフィールドで指定されています)を GMAC へ転送します。ディスクリプタが first とマークされている場合(TDES0 の FS ビットがセッ トされている)、DMA はバッファからの最初の転送に start of frame のマークを付けます。ディスク リプタが last とマークされている場合(TDES0 の LS ビットがセットされている)、DMA はそのデ ータバッファからの最後の転送に end-of frame to the MTL のマークを付けます。 受信 DMA は、バッファがフルになるまで、または MTL から end-of frame を受信するまで、バッ ファへデータを転送します。ディスクリプタに last のマーク(RDES0 の LS ビット)が付いていない 場合、そのディスクリプタの対応するバッファはフルであり、バッファ内の有効なデータの量は バッファサイズフィールドで指定されているサイズから、そのディスクリプタの FS ビットがセッ トされているときのデータバッファポインタオフセットを引いた量によって正確に示されます。 データバッファポインタがデータバス幅にアライメントされているとき、オフセットは 0 です。 ディスクリプタが last とマークされている場合、バッファはフルでないことがあります(RDES1 の バッファサイズで示されます)。この最後のバッファの有効なデータの量を計算するには、ドライ バはフレーム長をリードし(RDES0[29:16]の FL ビット)、このフレームの先行フレームのバッファ サイズの合計を引く必要があります。受信 DMA は常に、次のフレームを新しいディスクリプタを 使って転送します。 <注意事項> 受信バッファの開始アドレスがシステムバスのデータ幅にアライメントされていない場合、シス テムはシステムバス幅にアライメントされたサイズの受信バッファを割り当てなければなりませ ん。 例えば、 システムがアドレス 0x1000 から 1024 バイト(1 KB)の受信バッファを割り当てる場合、 ソフトウェアは受信ディスクリプタの中のバッファ開始アドレスに 0x1002 のオフセットを含める ようにプログラムできます。受信 DMA はこのバッファにフレームを書き込むとき、最初の 2 つの 位置(0x1000 および 0x1001)にダミーデータを挿入します。実際のフレームは位置 0x1002 から書き 込まれます。したがって、バッファサイズが 1024 とプログラミングされている場合でも、開始ア ドレスオフセットのため、このバッファの実際の有効なスペースは 1022 バイトとなります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 22 11 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ DMA アービター DMA モジュール内のアービターは、送信および受信チャネル間の AHB マスタ・インタフェース へのアクセスのアービトレーションを実行します。round-robin と fixed-priority の 2 つのタイプの アービトレーションが可能です。DMA Register 0 の DA=0 の場合、round-robin アービトレーショ ンが選択され、PR, TXPR の設定により、プライオリティが選択されます。DA=1 の場合、 fixed-priority アービトレーションが選択され、TXPR の設定により、プライオリティが選択されま す。詳細は、DMA Register 0 の「4.33. DMA Register 0 (BMR)」を参照してください。 送信動作 送信 DMA 動作: デフォルト(Non-OSF)モード 送信 DMA エンジンは、デフォルトモードでは以下のような処理を行います。デフォルトモードで の送信 DMA 送信フローを図 3-2 に示します。 1. ホストは、送信ディスクリプタ(TDES0-TDES3)をセットアップし、対応するデータバッファを Ethernet フレームデータによってセットアップした後、OWN ビット(TDES0[31])をセットしま す。 2. ST ビット(DMA Register 6[13])をセットした後、DMA は Run ステートに入ります。 3. Run ステートのとき、DMA は、送信を要求しているフレームの送信ディスクリプタリストを ポーリングします。ポーリング開始後、後続の Ring オーダ, Chain オーダのいずれかのディス クリプタを読み出します。DMA が、ホストによって所有されたフラグ付きディスクリプタを 検出したとき、またはエラー条件が発生したとき、送信が一時停止され、Transmit Buffer Unavailable (DMA Register 5[2])および Normal Interrupt Summary (DMA Register 5[16])ビットの両 方がセットされます。送信エンジンはステップ 9 に進みます。 4. 取得したディスクリプタに DMA の所有フラグがセットされている場合 (TDES0[31] = 1)、DMA は取得したディスクリプタから、送信データバッファアドレスをデコードします。 5. DMA はホストメモリから送信データを取得し、 そのデータを送信のために MTL へ転送します。 6. Ethernet フレームが複数のディスクリプタのデータバッファに格納されている場合、DMA は中 間のディスクリプタをクローズして、次のディスクリプタを取得します。end-of-Ethernet-frame データが MTL へ転送されるまでステップ 3, 4, 5 が繰り返されます。 7. フレーム送信が完了したとき、そのフレームの IEEE 1588 タイムスタンプ生成がイネーブルさ れている場合(送信ステータスによって示される)、MTL から取得したタイムスタンプ値が、 end-of-frame バッファを含んでいる送信ディスクリプタ(TDES6 および TDES7)に書き込まれま す。次に、ステータス情報がこの送信ディスクリプタ(TDES0)に書き込まれます。このステッ プ中に OWN ビットがクリアされるので、ホストがこのディスクリプタを所有することになり ます。このフレームにタイムスタンプ生成がイネーブルされていない場合、DMA は TDES6 お よび TDES7 の内容を変更しません。 8. 最後のディスクリプタの Interrupt on Completion (TDES0[30])がセットされているフレームの転 送が完了した後、送信割込み(DMA Register 5[0])がセットされます。このとき、DMA エンジン はステップ 3 に戻ります。 9. Suspend ステートのとき、転送ポーリング要求を受信し、Underflow Interrupt Status ビットがク リアされていると、DMA はディスクリプタの再取得を試みます(その後、ステップ 3 に戻りま す)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 23 12 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 図 3-2 デフォルトモードでの送信 DMA の動作 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 24 13 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 送信 DMA の動作: OSF モード DMA Register 6[2]の OSF (Operate on Second Frame) ビットがセットされている場合、Run ステート で、送信処理は、最初のフレームのステータス・ディスクリプタをクローズすることなく 2 つの フレームを同時に取得できます。送信プロセスは、最初の送信が終了すると、即座に 2 番目のフ レームの送信ディスクリプタリストをポーリングします。2 番目のフレームが有効である場合、送 信プロセスは最初のフレームのステータス情報を書き込む前にこのフレームを転送します。 OSF モードでは、Run ステートの送信 DMA は以下の順序で動作します。フローを図 3-3 に示し ます。 1. DMA は送信 DMA (デフォルトモード)のステップ 1-6 に示すように動作します。 2. DMA は、前のフレームの最後のディスクリプタをクローズすることなしに次のディスクリプ タを取り込みます。 3. DMA が取得したディスクリプタを所有する場合、DMA はこのディスクリプタ内の送信バッフ ァアドレスをデコードします。DMA がディスクリプタを所有しない場合、DMA は Suspend モ ードに入り、ステップ 7 へスキップします。 4. DMA はホストメモリから送信フレームを取り込み、End-of-Frame データが転送されるまで MTL へフレームを転送し、このフレームが複数のディスクリプタにわたる場合は中間のディス クリプタをクローズします。 5. DMA は前のフレームのフレーム送信ステータスおよびタイムスタンプを待ちます。ステータ スが入手でき、(ステータスビットによって示される)タイムスタンプが取得された場合、DMA はそのタイムスタンプを TDES6 および TDES7 に書き込みます。次に DMA は、OWN ビット をクリアしたステータスを対応する TDES0 へ書き込み、それによってディスクリプタをクロ ーズします。前のフレームでタイムスタンプの生成がイネーブルされていない場合、DMA は TDES6 および TDES7 の内容を変更しません。 6. 送信割込みがイネーブルされていれば、送信割込みをセットします。DMA は次のディスクリ プタを取り込み、ステップ 3 に進みます(ステータスが正常の場合)。前の送信のステータスが アンダフローエラーを示す場合、DMA は Suspend モードに入ります(ステップ 7) 。 7. Suspend モードでは、MTL から保留中のステータスおよびタイムスタンプを受信した場合、 DMA はタイムスタンプ(現在のフレームでイネーブルされている場合)を TDES6 および TDES7 に書き込み、次にステータスを対応する TDES0 に書き込みます。その後に、関連する割込み をセットし、Suspend モードに戻ります。 8. DMA は送信ポーリング要求(DMA Register 1)を受信した後でのみ、Suspend モードを終了して Run ステートに入ることができます(保留中のステータスに応じてステップ 1 またはステップ 2 へ進みます)。 <注意事項> DMA は現在のディスクリプタをクローズする前に次のディスクリプタを取り込むため、ディスク リプタ Chain が正しく、 適切に処理されるためには 3 つ以上の異なるディスクリプタが必要です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 25 14 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 図 3-3 OSF モードの送信 DMA の動作 送信フレーム処理 送信 DMA はデータバッファがプリアンブル, パッドバイト, FCS フィールドを除いた完全な Ethernet フレームを含んでいると想定します。DA, SA, Type/Len フィールドは有効なデータを含ん でいる必要があります。送信ディスクリプタによって、CRC, PAD の挿入をディセーブルするよう 指示されている場合、 バッファは CRC バイトを含む完全な Ethernet フレーム(プリアンブルを除く) を含んでいなければなりません。フレームはデータの Chain 化が可能で、複数のバッファも使用 できます。フレームは FS(TDES0[28])と LS(TDES0[29])によって区切らなければなりません。送信 を開始するとき、最初のディスクリプタの FS(TDES0[28])はセットされていなければなりません。 このとき、フレームデータがホストのバッファから MTL 送信 FIFO へ転送されます。同時に、そ のフレームの LS(TDES0[29])がクリアされている場合、送信プロセスは次のディスクリプタの取得 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 26 15 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ を試みます。送信プロセスはこのディスクリプタの FS(TDES0[28])がクリアされていると想定しま す。LS(TDES0[29])がクリアされていれば、それは中間バッファを表します。LS(TDES0[29])がセ ットされていれば、それはフレームの最後のバッファを表します。フレームの最後のバッファが 送信された後、DMA はステータス情報を、LS(TDES0[29])がセットされているディスクリプタの TDES0 ワードに書き戻します。このとき、Interrupt on Completion (TDES0[30])がセットされている 場合、Transmit Interrupt (DMA Register 5[0])がセットされ、新規ディスクリプタが取り込まれ、こ のプロセスが繰り返されます。実際のフレーム送信は、MTL 送信 FIFO がプログラム可能な送信 しきい値(DMA Register 6[16:14])に到達した、または完全なフレームが FIFO に入った後 (Store and Forward Mode (DMA Register 6[21])のオプション) に開始されます。PHY インタフェースからフレ ームの送出が終了したとき、最後のディスクリプタが開放されます(OWN ビット TDES0[31]がク リアされます)。 送信ポーリング一時停止 以下のいずれかの条件で、送信ポーリングが一時停止されます。 DMA がホストによって所有されるディスクリプタ(TDES0[31]=0)を検出したとき。再開するに はドライバはディスクリプタの所有権を DMA に渡し、Poll Demand コマンドを発行しなければ なりません。 アンダフローによる送信エラーが検出されたため、フレーム送信がアボートされたとき。適切 な Transmit Descriptor 0 (TDES0)ビットがセットされます。 上の 2 番目の条件が発生したとき、Abnormal Interrupt Summary (DMA Register 5[15])と Transmit Underflow ビット(DMA Register 5 [5])の両方がセットされ、その情報が Transmit Descriptor 0 に書き 込まれ、一時停止になります。1 番目の条件で DMA が Suspend ステートに入った場合、Normal Interrupt Summary (DMA Register 5 [16])と Transmit Buffer Unavailable (DMA Register 5 [2])がセット されます。 いずれの場合も、送信リスト内での位置は保持されます。保持される位置は、最後に DMA によっ てクローズされたディスクリプタの位置です。ドライバは一時停止の原因を是正した後、明示的 に Transmit Poll Demand コマンドを発行しなければなりません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 27 16 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 受信動作 受信 DMA エンジンの受信シーケンスを図 3-4 および以下に手順を示します。 1. ホストは受信ディスクリプタ(RDES0-RDES3)をセットアップし、OWN ビット(RDES0[31])をセ ットします。 2. SR (DMA Register 6[1])ビットがセットされると、DMA は Run ステートに入ります。Run ステ ートでは DMA は受信ディスクリプタリストをポーリングし、使用可能なディスクリプタの取 得を試みます。取り込んだディスクリプタが使用可能でない(ホストによって所有されている) 場合、DMA は Suspend ステートに入り、ステップ 9 にジャンプします。 3. DMA は取得されたディスクリプタからの受信データバッファアドレスをデコードします。 4. 着信フレームが処理され、取得したディスクリプタのデータバッファに入れられます。 5. バッファがフルになるかフレーム転送が完了したとき、受信エンジンは次のディスクリプタを 取り込みます。 6. 現在のフレーム転送が完了している場合、DMA はステップ 7 に進みます。DMA が次に取り込 まれるディスクリプタを所有しておらず、フレーム転送が完了していない(EOF がまだ転送さ れていない)場合、DMA は RDES0 の Descriptor Error ビットをセットします(フラッシュがディ セーブルされていない場合)。DMA は現在のディスクリプタをクローズし(OWN ビットをクリ アします)、RDES0 の Last Segment (LS)ビットをクリアすることによって中間ディスクリプタ としてマークし(フラッシュがディセーブルされていない場合は Last Descriptor としてマーク し)、ステップ 8 へ進みます。DMA が次のディスクリプタを所有しているが、現在のフレーム 転送が完全でない場合、DMA は現在のディスクリプタを中間ディスクリプタとしてクローズ し、ステップ 4 に戻ります。 7. IEEE 1588 タイムスタンプ生成がイネーブルされている場合、DMA はタイムスタンプ(利用可 能な場合)を現在のディスクリプタの RDES6 および RDES7 に書き込みます。次に DMA は、 MTL から受信フレームのステータスを取得し、ステータスワードを現在のディスクリプタの RDES0 に書き込み、OWN ビットをクリアし Last Segment ビットをセットします。 8. 受信エンジンは最新のディスクリプタの OWN ビットをチェックします。ホストがディスクリ プタを所有している場合(OWN ビットが 0)、Receive Buffer Unavailable ビット(Register 5[7])がセ ットされ、DMA 受信エンジンは Suspended ステートに入ります(ステップ 9)。DMA がディス クリプタを所有する場合、エンジンはステップ 4 に戻り、次のフレームを待ちます。 9. Receive エンジンが Suspend ステートに入る前に、受信 FIFO から部分的なフレームがフラッシ ュされます(DMA Register 6 の bit24 を使用してフラッシュをコントロールできます)。 10. Receive Poll 要求が発行されるか、MTL 受信 FIFO からの次のフレームの転送開始が可能になっ たとき、受信 DMA は Suspend ステートを終了します。受信エンジンはステップ 2 へ進み、次 のディスクリプタを再び取り込みます。 DMA は、タイムスタンプの書戻しを完了し、ディスクリプタへのステータスの書戻しを実行する 準備ができるまで MTL からのステータスの受信をアクノリッジしません。 ソフトウェアが CSR を通じたタイムスタンプ生成をイネーブルしている場合、フレームの有効な タイムスタンプ値が入手不能であるとき(例えば、タイムスタンプを書き込むことができるように なる前に受信 FIFO がフルになったため)、DMA は RDES6 および RDES7 にオール 1 を書き込みま す。そうでない場合(タイムスタンプがイネーブルされていない場合)、RDES6 および RDES7 は変 更されません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 28 17 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 図 3-4 受信 DMA の動作 受信ディスクリプタの取得 受信エンジンは常に、着信フレームを予測して余分のディスクリプタを取得しようとします。以 下のいずれかの条件が満たされると、ディスクリプタを取得しようとします。 Receive Start/Stop ビット(DMA Register 6[1])がセットされ、Run ステートに入った直後。 現在のフレームの転送を終了する前に、ディスクリプタのデータバッファがフルになった。 フレーム受信を完了しているが、現在の受信ディスクリプタがまだクローズしていない。 ホストが所有するバッファ(RDES0[31]= 0)により、受信プロセスが一時停止されている状態で、 新規フレームを受信した。 受信 Poll Demand コマンドが発行された。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 29 18 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 受信フレーム処理 GMAC は、受信フレームがアドレスフィルタを通過し、フレームサイズが MTL 受信 FIFO のしき い値バイト数より大きいか等しいとき、または完全なフレームが Store-and-Forward モードで FIFO に書き込まれたときにのみ、受信フレームをホストメモリに転送します。 フレームがアドレスフィルタを通過しなかった場合、GMAC ブロックの中で破棄されます(GMAC Register 1 [31] :Receive All ビットがセットされていない場合)。衝突や終了が未完了のために 64 バ イト未満になっているフレームを MTL 受信 FIFO からパージできます。 64 バイト(構成可能なしきい値)が受信された後、MTL ブロックは DMA ブロックに対してフレー ムデータを現在のディスクリプタによって指定されている受信バッファへ転送するよう要求しま す。DMA は、AHB Interface がデータ転送の準備完了状態になった後(DMA がホストからの送信 データを取り込んでいない場合)、フレームを区切るために First Descriptor (RDES0[9])をセットし ます。 ディスクリプタは、データバッファがフルになるか、またはフレームの最後のセグメントが受信 バッファへ転送されて OWN (RDES[31])ビットが 0 にリセットされたときに開放されます。 フレームが 1 つのディスクリプタに収まっている場合、LS (RDES0[8])と FS (RDES0[9])の両方をセ ットします。DMA は次のディスクリプタを取り込み、LS (RDES0[8])ビットをセットし、前のフ レームディスクリプタの RDES0 ステータスビットを開放します。次に DMA は Receive Interrupt (DMA Register 5[6])をセットします。DMA がホストによって所有されていることを示すフラグが 付いているディスクリプタを検出するまで、同じプロセスが繰り返されます。このようなディス クリプタが検出されたとき、受信プロセスは Receive Buffer Unavailable (DMA Register 5[7])をセッ トし、Suspend ステートに入ります。受信リスト内の位置は保持されます。 受信プロセスの一時停止 受信プロセスが Suspend ステートのときに新しい受信フレームが到着した場合、DMA はホストメ モリの現在のディスクリプタを再び取り込みます。ディスクリプタが現在 DMA によって所有され ている場合、受信プロセスは再び Run ステートに入り、フレームの受信を開始します。ディスク リプタが依然としてホストによって所有されている場合、デフォルトでは DMA は現在のフレーム を MTL 受信 FIFO の最上位で廃棄し、受信されなかったフレームカウンタを増分します。MTL 受信 FIFO に 2 つ以上のフレームが格納されている場合、このプロセスが繰り返されます。 Operation Mode レジストの bit24 (DFF)をセットすることによって、MTL 受信 FIFO の最上位のフ レームの廃棄またはフラッシュを防止できます。こ のとき、受信プロセスは Receive Buffer Unavailable ステータスをセットし、Suspend ステートに戻ります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 30 19 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 割込み 割込みは種々のイベントにより発生します。DMA Register 5 は、割込みの原因になるすべてのビ ットを含んでいます。DMA Register 7 は、割込みの原因になる各イベントのイネーブルビットを 含んでいます。DMA Register 5 で記述されているように、割込みには正常割込みと異常割込みの 2 つの種類があります。割込みは、対応するビット位置に 1 を書き込むことによってクリアされま す。グループ内のすべてのイネーブルされているビットがクリアされたとき、対応するサマリビ ットがクリアされます。両方のサマリビットがクリアされたとき、割込み信号 INT_SBD がデアサ ートされます。Ethernet-MAC が割込みをアサートした原因である場合、DMA Register 5 の GLI, GMI, GPI のいずれかのビットが 1 にセットされています。 <注意事項> DMA Register 5 は(割込み)ステータスレジスタです。割込み信号(INT_SBD)がこのステータスレジ スタの何らかのイベントによってアサートされるのは、DMA Register 7 で対応するイネーブルビ ットがセットされている場合だけです。 割込みは待ち行列制御を行いません。ドライバが応答する前に別の割込みイベントが発生した場 合に、追加の割込みは発生しません。例えば、Receive Interrupt (DMA Register 5[6])は、1 つ以上の フレームがホストバッファへ転送されたことを示します。ドライバは DMA によって所有されるす べてのディスクリプタを、最後の記録位置から最初の記録位置までスキャンしなければなりませ ん。 同時に複数の割込みイベントが発生した場合でも割込みは 1 回だけ生成されます。ドライバは割 込みの原因を調べるために DMA Register 5 をスキャンしなければなりません。ドライバが DMA Register 5 の該当ビットをクリアした後は、新しい割込みイベントが発生するまで、割込みが再度 生成されることはありません。例えば、コントローラが Receive Interrupt (DMA Register 5[6])を生 成し、ドライバが DMA Register 5 のリードを開始します。次に Receive Buffer Unavailable (DMA Register 5[7])が発生します。ドライバは Receive Interrupt をクリアします。この時点でも、Receive Buffer Unavailable 割込みがアクティブまたは保留中であるために INT_SBD 信号はデアサートされ ません。 Receive Interrupt (DMA register 5[6])の柔軟なコントロールのために、割込みタイマ("4.42. DMA Register 9 (RIWTR) "を参照)が提供されています。この割込みタイマは、非 0 値にプログラムされ ていて、DMA Register 7 で対応する受信割込みがイネーブルされていて、対応する DIC(RDES1[31]) で割込みがディセーブルされている場合、受信 DMA が受信フレームのシステムメモリへの転送を 完了したとき、受信割込みをアサートさせず、カウントを開始します。このタイマがタイムアウ トすると、RI ビットがセットされ割込みがアサートされます。このタイマは、そのディスクリプ タに対して DIC(RDES1[31])で割込みがイネーブルされている場合は、フレームがメモリへ転送さ れても、カウントを開始せず停止したままで、割込みを発生させます。 DMA へのエラー応答 DMA チャネルによって開始されるすべてのデータ転送で、バスエラーが発生した場合、その DMA はすべての動作を停止し、エラービットと Status register (DMA Register 5)の Fatal Bus Error ビット を更新します。 その場合、DMA コントローラにソフトリセットまたはハードリセットを行い、DMA が再初期化された後にのみ、動作を再開できます。 CRC DMA は、Ethernet フレームの FCS フィールドの CRC を生成します。DMA は Ethernet フレームの FCS フィールドの 32 ビット CRC を計算します。エンコードは下記の生成多項式によって定義さ れます。 G (x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 31 20 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.4. チェックサムエンジン TCP や UDP などの通信プロトコルはチェックサムフィールドを導入しており、それを使っ てネットワーク上で送信されるデータの完全性が判定されます。Ethernet の最も広範な利用 方法は、 IP データグラム上で TCP および UDP をカプセル化することであるため、 GMAC は、 オプションの Checksum Offload Engine (COE)を導入し、チェックサム計算, 送信パスへの 挿入, 受信パスでのエラー検出をサポートしています。 送信チェックサムオフロードエンジン 送信チェックサムオフロードエンジン (COE) は 2 つのタイプのチェックサム計算と挿入をサポ ートします。CIC ビット (TDES0[23:22])をセットすることによって、各フレームについてこのチ ェックサムエンジンをコントロールできます。 IP ヘッダチェックサムエンジン IPv4 データグラムでは、ヘッダフィールドの完全性は 16 ビットのヘッダチェックサムフィールド (IPv4 データグラムの 11, 12 番目のバイト)によって示されます。COE は Ethernet フレームの Type フィールドの値が 0x0800 で、IP データグラムの Version フィールドの値が 0x4 のときに IPv4 デー タグラムを検出します。送信時、フレームのチェックサムフィールドは、計算時は無視され、計 算値に置換されます。IPv6 ヘッダにはチェックサムフィールドがないため、COE は IPv6 ヘッダフ ィールドを変更しません。この IP ヘッダチェックサム計算の結果は送信ステータスの IP Header Error ステータスビット(TDES0[16])によって示されます。このステータスビットは、Ethernet フレ ームの Type フィールドと IP ヘッダの Version フィールドの値が一致しないとき、または Ethernet フレームに IP header Length フィールドで指定されている十分なデータがないときにセットされま す。 つまり、このビットは以下のいずれかの状況で IP ヘッダエラーがアサートされているときセット されます。 IPv4 データグラム: Ethernet type が 0x0800 で、IP ヘッダの Version フィールドが 0x4 でない IPv4 Header Length フィールドが、0x5 (20 バイト)未満の値を示す 合計フレーム長が IPv4 Header Length フィールドで指定されている値より小さい IPv6 データグラム: Ethernet タイプが 0x86DD で、IP header Version フィールドが 0x6 でない IPv6 ヘッダ(40 バイト)または拡張ヘッダ(拡張ヘッダの対応する Header Length フィールドで指 定されています)が完全に受信される前にフレームが終了した。 COE は、このような IP ヘッダエラーを検出したときでも、Ethernet フレームの Type フィールドが IPv4 ペイロードを示している場合は IPv4 ヘッダチェックサムを挿入します。 TCP/UDP/ICMP チェックサムエンジン TCP/UDP/ICMP チェックサムエンジンは、IPv4 または IPv6 ヘッダ(拡張ヘッダを含む)を処理し、 カプセル化されたペイロードが TCP, UDP, ICMP のいずれかを判定します。 <注意事項> TCP, UDP, ICMP/ICMPv6 以外のペイロードについては、このチェックサムエンジンはバイパスさ れ、フレームでそれ以上の変更は行われません。 断片化された IP フレーム(IPv4 または IPv6)とセキュリティ機能を備えた IP フレーム(認証ヘッダ, カプセル化されたセキュリティペイロードなど)は、このエンジンでは処理されないため、バイパ MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 32 21 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ スしなければなりません。つまり、このようなフレームではペイロードチェックサムの挿入をイ ネーブルしてはいけません。 IPv6 認証ヘッダを使用する Ethernet 環境下では、チェックサムエンジンはイネーブルできません。 送信拡張ディスクリプタ 0 の CIC フィールドは、00 または 01 にしてください。 TCP, UDP または ICMP ペイロードのチェックサムが計算され、ヘッダ内の対応するビットに挿入 されます。このエンジンは下記の 2 つのモードで動作できます。 最初のモードは、TCP, UDP または ICMPv6 擬似ヘッダに対するチェックサム計算を行わず、入 力フレームの Checksum フィールドに (その計算結果が) 存在すると見なします。エンジンは、 Checksum フィールドの値を含めてチェックサム計算を行い、Checksum フィールドを最終的な チェックサムで更新します。 2 番目のモードは、エンジンは Checksum フィールドを無視します。TCP, UDP または ICMPv6 擬似ヘッダデータをチェックサム計算に含め、Checksum フィールドを最終的なチェックサムに よって上書きします。 <注意事項> IPv4 上の ICMP 上のパケットは、擬似ヘッダは定義されないため、ICMP パケットの Checksum フ ィールドはどちらのモードでも常に 0x0000 でなければなりません。 この値が 0x0000 でない場合、 正しくないチェックサムがパケットに挿入されることがあります。 この操作の結果は、TDES0[12]の IP Payload Error ビットによって示されます。このエンジンは、 フレームが Store-and-Forward モードで GMAC トランスミッタに転送され、end-of-frame が FIFO に 書き込まれていないことを検出したとき、または IP ヘッダの Payload Length フィールドで指定さ れているバイト数を受信する前にパケットが終了したときに、IP Payload Error をセットします。 パケットが指定されているペイロードの長さより長い場合、COE はそれらを埋め込みバイトとし て無視し、エラーを報告しません。このエンジンは、最初のタイプのエラーを検出したときには TCP, UDP または ICMP ヘッダを変更しません。2 番目のエラー・タイプでは、計算によって得ら れたチェックサムを対応するヘッダフィールドへ挿入します。 <注意事項> TCP, UDP, ICMP のチェックサムは完全なフレームについて計算され、次にその対応するヘッダフ ィールドに挿入されます。この要件のため、この機能は送信 FIFO が Store-and-Forward モードに構 成されている場合(DMA Register 6 TSF=1) にのみイネーブルされます。 GMAC が Threshold (cut-through)モードに構成されている場合、送信 COE はバイパスされます。 Store-and-Forward モードであっても、TCP, UDP, ICMP のチェックサムを挿入する際は、下記のバ イト数の条件を満たすフレームに対してだけイネーブルする必要があります。 フレーム長 (Byte) < 2036 (Byte) – PBL×4 (Byte) PBL は、DMA Register 0 で指定する送信時のバースト長になります。送信時、PBL×4 の設定可能 最大値は、512 のため、通常の Ethernet フレームであれば問題はありません。しかしこの条件を満 たさないフレーム長の場合、チェックサム挿入エンジンは失敗し、その結果、不適切なリカバリ のために先行するすべてのフレームが破損する可能性があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 33 22 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 受信チェックサムオフロードエンジン 受信 Ethernet フレームの中の IPv4 フレームと IPv6 フレームの両方が検出され、データの完全性チ ェックを行います。このモジュールは GMAC Configuration レジスタの IPC ビットをセットするこ とで有効になります。GMAC レシーバは、受信 Ethernet フレームの Type フィールドの値 0x0800 または 0x86DD をチェックし、 それぞれ IPv4 または IPv6 フレームを識別します。 この識別は VLAN タグ付フレームにも適用されます。受信チェックサムオフロードエンジンは、IPv4 ヘッダチェッ クサムを計算し、それが受信 IPv4 ヘッダのチェックサムと一致することをチェックします。指定 されたペイロードタイプ(Ethernet Type フィールド)と IP ヘッダバージョンが一致しない、または 受信したフレームに IPv4 ヘッダの Length フィールドで指定されている十分なバイト数がない (ま たは IPv4 または IPv6 ヘッダのバイト数が 20 未満である) ときに IP Header Error ビットがセット されます。また、受信 IP データグラム(IPv4 または IPv6)の中の TCP, UDP または ICMP ペイロー ドを識別し、TCP, UDP または ICMP 仕様で定義されている方法でそのペイロードのチェックサム を適切に計算します。このエンジンは、チェックサム計算のための TCP/UDP/ICMPv6 擬似ヘッダ バイトを含んでおり、受信した Checksum フィールドが計算値と一致することをチェックします。 この演算の結果は受信ステータスワードの Payload Checksum Error ビットに示されます。また、こ のステータスビットは TCP, UDP または ICMP のペイロード長が IP ヘッダで指定されている想定 ペイロード長と一致しない場合にもセットされます。"TCP/UDP/ICMP チェックサムエンジン"で 記述しているように、このエンジンは、断片化された IP データグラム, セキュリティ機能を備え た IP データグラム, および TCP, UDP, ICMP 以外のペイロードをバイパスします。この情報は(チ ェックサムエンジンがバイパスされるかどうかに関わりなく)受信ステータスで与えられます。 <注意事項> GMAC が IPv6 Routing 拡張ヘッダの Segment Left フィールドに 0 以外の値を持ったパケットを受 信した場合、チェックサムエンジンは、受信パケットをバイパスし、無視します。 IPv6 認証ヘッダを使用する Ethernet 環境下では、チェックサムエンジンはイネーブルできません。 GMAC Register0(MCR)の IPC(bit10)は、0 にしてください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 34 23 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.5. Energy Efficient Ethernet Energy Efficient Ethernet (EEE)は、IEEE 802.3 Media Access Control (MAC)サブレイヤと物 理レイヤを Low-Power Idle (LPI)モードで動作することを可能にするオプションの動作モー ドです。 LPI モードでは、送受信するデータがないときに通信装置の機能の一部をオフに切り換える ことによって電力の消費を削減できます。リンクの両側のシステムで、リンク利用率が低い 時間に一部の機能をディセーブルすることによって消費電力を削減できます。GMAC はシス テムが LPI モードに入るか LPI モードを終了するかをコントロールし、それを PHY に知らせ ます。 EEE は、リンクパートナーが EEE をサポートするかどうかを決定するネゴシエーション方 法を規定し、次に両方の装置に共通のパラメータセットを選択します。 LPI モードは、GMAC が MII を使い、全二重モードでのみサポートされます。 送信パス機能 送信パスで、ソフトウェアは、GMAC Register 12 (LPI Control and Status Register)の bit16 (LPIEN) をセットすることによって、GMAC に対して送信を停止し、LPI プロトコルを開始するよう指示 しなければなりません。GMAC は進行中の送信を完了し、送信ステータスを生成します。次に、 Interframe gap (IFG)の間、IDLE パターンの代わりに LPI パターンの送信を開始します。 PHY を LPI ステートにするため、GMAC は以下のタスクを実行します。 1. TX_EN をディアサートします。 2. TX_ER をアサートします。 3. TXD[3:0]を 0x1 (100 Mbps の場合)にセットします。 GMAC は PHY が LPI ステートに入っている全期間にわたって TX_EN, TX_ER, TXD 信号を同 じ状態に維持します。 4. GMAC Register 12 (LPI Control and Status Register)の bit0 を更新し、割込みを生成します。 PHY の LPI ステートを終了する、つまりソフトウェアが LPIEN ビットをリセットすると、GMAC は以下のタスクを実行します。 1. LPI パターンの送信を停止し、IDLE パターンの送信を開始します。 2. LPI TW TIMER をスタートします。 GMAC は、PHY のウェイクアップ時間が経過するまで送信を開始できません。オート・ネゴ シエーション・ウェイクアップ間隔は、GMAC Register 13 (LPI Timers Control Register)の bit[15:0] (TWT: LPI TW TIMER)にプログラムされます。 3. LPI 終了ステータス GMAC Register 12 (LPI Control and Status Register)の bit1 を更新し、割込み を生成します。 <注意事項> LPI モード中に TX_CLK の供給が停止される場合、GMAC Register 12 (LPI Control and Status Register)の bit19 (LPITXA)を使用できません。Energy Efficient Ethernet 標準(802.3az)によると、 PHY は MII(10 Mbps/100 Mbps)モードで LPI ステートの間、 TXCLK クロックを停止できません。 GMAC が送信 LPI モードで、 TX_CLK の供給が停止しているとき、 アプリケーションは TX_CLK ドメインに同期されている CSR レジスタに書き込んではいけません。 GMAC が LPI モードで、ホストがソフトリセットまたはハードリセットを発行したとき、GMAC トランスミッタは LPI モードを終了します。 図 3-5 に、LPI モード遷移中の TX_EN, TX_ER および TXD[3:0]信号の動作を示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 35 24 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 図 3-5 LPI の遷移(送信) TX_ CLK TX_EN TXD [3:0] 0x1 x x x x Wake time TX_ER PLS_ CARRIER indication Enter LPI mode Exit LPI mode CARRIER_ ON CARRIER_ OFF 受信バス機能 受信パスでは、PHY がリンクパートナーから LPI ステートに入る信号を受信したとき、PHY およ び GMAC は以下のタスクを実行します。 1. PHY が RX_ER をアサートします。 2. PHY が RXD[3:0]を 0x1 にセットします。 3. PHY が RX_DV をデアサートします。 PHY は LPI ステートに入っている全期間、RX_ER, RXD, RX_DV 信号を同じステートに保持し ます。 4. GMAC が、GMAC Register 12 (LPI Control and Status Register)の bit2 (RLPIEN)を更新し、即座に 割込みを生成します。 PHY がリンクパートナーから LPI ステートを終了する信号を受信したとき、PHY および GMAC は以下のタスクを実行します。 1. PHY が RX_ER をデアサートし、通常のフレーム間ステートに戻ります。 2. GMAC が、GMAC Register 12 (LPI Control and Status Register)の bit3 (RLPIEX)を更新し、割込み を生成します。この場合、割込み信号 INT_LPI (synchronous to Rx clock)もアサートされます。 図 3-6 に、LPI モード遷移中の RX_ER, RX_DV および RXD[3:0]信号の動作を示します。 <注意事項> MDIO を通じて書き込まれる PHY レジスタの RX_CLK_stoppable ビットがアサートされている場 合、図 3-6 に示すように、PHY が GMAC に LPI を指示しているとき、PHY は LPI ステートの開 始から 9 クロックサイクル以上後に、随時 RX_CLK の供給を停止できます。 GMAC が LPI モードのときに、ホストがソフトリセットまたはハードリセットを発行した場合、 GMAC レシーバは、リセット中に LPI モードを終了します。リセットがデアサートされた後にま だ LPI パターンが受信される場合、GMAC レシーバは再び LPI ステートに入ります。 受信 LPI モードで RX クロックが停止した場合、ホストは RX クロックドメインに同期されてい る CSR レジスタへの書込みを行うことはできません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 36 25 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 図 3-6 LPI 遷移(受信) > _ 9 cycles RX_CLK RX_DV RXD [3:0] xx xx xx 0x1 xx xx xx xx RX_ER LPI タイマ GMAC トランスミッタは、 下記の 2 つのタイマを動作させます。 タイマには GMAC Register 13 (LPI Timers Control Register)からそれぞれの値がロードされます。 LPI LS TIMER: LPI LS TIMER は、リンクステータスが Up になって以降の経過時間(ms 単位)をカウントします。 このタイマは、リンクが Down になるたびにクリアされ、リンクが Up になると、ソフトウェア によってプログラムされているターミナルカウントに到達するまで、再びインクリメントしま す。PHY インタフェースは、ターミナルカウントに到達しない限り LPI パターンをアサートし ません。これによって、リモートステーションとのリンクが確立されてから LPI パターンがア サートされるまでの最小限の時間が確保されます。この時間は IEEE standard 802.3-az-2010 によ って 1 秒と規定されています。LPI LS TIMER は 10 ビット幅です。したがってソフトウェアは 最大 1023 ms までプログラミングできます。 LPI TW TIMER: LPI TW TIMER は LPI がデアサートされて以降の経過時間(μs 単位)をカウントします。このタイ マのターミナルカウントは、Transmit TW を確保するための値で、オート・ネゴシエーション後、 GMAC が通常の送信動作を再開できるまでの時間です。GMAC は LPI TWTIMER をマイクロ秒 単位でサポートします。LPI TW TIMER は 16 ビット幅です。したがってソフトウェアは最大 65535 μs までプログラミングできます。 PHY からの TX_CLK 供給が停止する場合は、GMAC Register 12 (LPI Control and Status Register)の bit17 (PLS)を 0 にプログラムします。それによって内部タイマがリセットされます。LPI LS TIMER または LPI TW TIMER がカウント中に、TX_CLK 周波数が変化すると、不適切なタイムアウトが 発生することがあります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 37 26 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.6. MAC マネジメントカウンタ MAC マネジメントカウンタ (MMC)は、受信および送信フレームに関する統計収集のためレ ジスタのセットです。レジスタは、レジスタの動作をコントロールするためのコントロール レジスタ, 収集された割込みを表示する 3 つの 32 ビットレジスタ, 割込みをマスクする 3 つ の 32 ビットレジスタおよび統計カウンタレジスタで構成されています。 MMC の動作 MMC モジュール内のレジスタは AHB スレーブ・インタフェースを通じてアプリケーションから アクセスできます。各レジスタは、32 ビット幅です。ワードアクセス (32 ビット幅) のアクセス のみが許容されます。 それぞれの統計カウンタの機能(カウントする内容)を「4.48. MMC Register list の表 4-5 MMC レ ジスタマップ」にて、説明しています。 受信 MMC カウンタは、Address Filter (AFM)ブロックによってフレームが渡されたときに更新され ます。AFM モジュールによって破棄されたフレームの統計は、それらのフレームが 6 バイト未満 の小さなフレーム(DA バイトが完全には受信されない)でない限り更新されません。受信 IPC カウ ンタは、送信先アドレスフィルタを通過したフレームに対してのみ更新されます。受信 IPC カウ ンタは、受信 Ethernet フレーム内のカプセル化された IPv4, IPv6, TCP, UDP, または ICMP ペイロー ドに関する統計を収集します。 MMC コントロールレジスタにより、マネジメントカウンタのオペレーションモードを設定できま す。カウンタが規定値に達するイベントにより、割込みを発生させることができます。MMC 受信 割込みレジスタ, MMC 送信割込みレジスタ, MMC 受信チェックサムオフロード割込みレジスタに より、割込みの状態を確認できます。MMC 受信割込みマスクレジスタ, MMC 送信割込みマスク レジスタ, MMC 受信チェックサムオフロード割込みマスクレジスタにより、各割込みを個別にマ スクできます。 MMC レジスタの命名規則は以下のとおりです。 tx:送信に関連付けられたカウンタを示す接頭辞または接尾辞 rx:受信に関連付けられたカウンタを示す接頭辞または接尾辞 _g:正常なフレームのみをカウントするレジスタを示す接尾辞 _gb:フレームが正常か不良かに関わりなくフレームをカウントするレジスタを示す接尾辞 送信が正常に完了した場合、送信されたフレームは「正常」と見なされます。つまり、以下のい ずれかのエラーのためにフレーム送信が中止された場合以外は、送信フレームは正常なフレーム です。 Jabber Timeout No Carrier/Loss of Carrier Late Collision Frame Underflow Excessive Deferral Excessive Collision 受信フレームは、以下のどのエラーも存在しない場合、「正常な」フレームと見なされます。 CRC error Runt Frame (64 バイト未満) Alignment error (10/100 Mbps のみ) Length error (Type フレーム以外) Out of Range (Type フレームのみ、最大サイズより長い) MII_RXER Input error MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 38 27 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 最大フレームサイズは以下のようにフレームの種類により異なります。 Untagged frame maxsize = 1518 VLAN Frame maxsize = 1522 Jumbo Frame maxsize = 9018 JumboVLAN Frame maxsize = 9022 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 39 28 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.7. Station Management Agent Station Management Agent (SMA)モジュールは、2 ワイヤ Station Management Interface を 通じて任意の PHY レジスタにアクセスできるようにします。このインタフェースは、最大 32 個の PHY のアクセスをサポートします。アプリケーションは 32 個の PHY から 1 つの PHY と、その PHY 内の 32 個のレジスタから 1 つのレジスタを選択し、コントロールデータの送 信, またはステータス情報の受信ができます。 機能 マネジメント動作で使用する MDC クロック信号は、SYS_CLK からの分周クロックです。分周比 は GMAC Register 4 の MDC クロック範囲の設定で決定されます。SYS_CLK の周波数に基づき、 MDC クロックを表 3-3 のように設定します。 表 3-3 MDC の生成 SYS_CLK GMAC Register 4 の CR[3:0] MDC クロック 0000 60 MHz ~ 100 MHz SYS_CLK/42 0001 100 MHz ~ 150 MHz SYS_CLK/62 0010 20 MHz ~ 35 MHz SYS_CLK/16 0011 35 MHz ~ 60 MHz SYS_CLK/26 0100 150 MHz ~ 250 MHz SYS_CLK/102 0101 250 MHz ~ 300 MHz SYS_CLK/124 0110, 0111 予約 マネジメント動作の入出力データは、MDIO 信号に入出力されます。MDIO のフレーム構造を図 3-7 に示します。 図 3-7 MDIO のフレーム構造 IDLE PREAMBLE START OPCODE PHY ADDR REG ADDR TA DATA IDLE IDLE : Hi-Z 状態になります。 (MDC 上にクロックはありません) PREAMBLE : 32 ビットの連続した 1 START : フレームの開始は 01 OPCODE : 読出しでは 10, 書込みでは 01 PHY ADDR : 32 個の PHY から 1 つを選択する 5 ビットアドレス REG ADDR : 選択した PHY 内のレジスタアドレス TA : 書込み時、Ethernet-MAC が 10 をドライブします。 : 読出し時、1 ビット目は Hi-Z 状態、2 ビット目は PHY が 0 をドライブします。 DATA : 書込み時、Ethernet-MAC がライトデータをドライブします。 : 読出し時、PHY がリードデータをドライブします。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 40 29 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ マネジメントライト動作 ユーザが GMII Write ビット(GW)および Busy ビット(GB)(「4.4. GMAC Register 4 (GAR)」を参照) をセットすると、SMA モジュールは、PHY アドレス, PHY 内のレジスタアドレス, およびライト データを使用し、PHY レジスタへのライト動作を開始します。トランザクションの進行中にアプ リケーションは GMII アドレスレジスタの内容および GMII データレジスタを変更できせん。ライ ト動作が完了した後、Busy ビット(GB)がリセットされます。 SMA モジュールは、SYS_CLK をプログラムされたクロック分周比(GMII アドレスレジスタの CR ビット)によって分周し、このインタフェースの MDC クロックを生成します。GMAC はフレーム の持続時間全体にわたって MDIO ラインをドライブします。ライト動作のフレームフォーマット を図 3-8 に示します。 図 3-8 ライト時のフレームフォーマット IDLE PREAMBLE START OPCODE PHY ADDR REG ADDR TA DATA IDLE Z 1111…11 01 01 AAAAA RRRRR 01 DDD…DDD Z マネジメントリード動作 ユーザが GMII Busy ビット(GB)(「4.4. GMAC Register 4 (GAR)」を参照)をセットし、GMII Write ビットが 0 のとき、SMA モジュールは、PHY アドレスおよび PHY 内のレジスタアドレスを使用 して、PHY レジスタのリード動作を開始します。トランザクションが進行中にアプリケーション は GMII アドレスレジスタの内容および GMII データレジスタを変更できません。リード動作が完 了した後、Busy ビットがリセットされます。さらに、PHY から読み出されたデータによって GMII データレジスタが更新されます。リード時のフレームフォーマットを図 3-9 に示します。 図 3-9 リード時のフレームフォーマット IDLE Z PREAMBLE START OPCODE 1111…11 MN706-00015-2v0-J 01 10 PHY ADDR REG ADDR TA DATA IDLE AAAAA RRRRR Z0 DDD…DDD Z FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 41 30 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 3.8. IEEE1588 IEEE1588 機能について説明します。 IEEE1588 の概要 IEEE 1588 標準は、ネットワーク通信, ローカル・コンピューティング, 分散オブジェクトなどの 技術を活用する計測および制御システムにおけるクロックの正確な同期を可能にするプロトコル を定義しています。このプロトコルは、Ethernet またはそのほかの、マルチキャスト・メッセージ ングをサポートするローカルエリアネットワークによって通信するシステムに適用されます。こ のプロトコルは精度, 分解能, 安定性が異なる種々のクロックを含む異種システムの同期を可能 にします。このプロトコルは、最小限のネットワークおよびローカルのクロック・コンピュー ティング・リソースを使って、システム全体にわたってマイクロ秒以下の同期精度をサポートし ます。 Precision Time Protocol (PTP)と呼ばれるメッセージベースのプロトコルが UDP/IP 上で転送されま す。タイミング/クロック情報の分配においては、システムまたはネットワークはマスタノードと スレーブノードに分類されます。このプロトコルで PTP メッセージを交換することによって スレーブノードをマスタノードに同期する技術を図 3-10 に示しています。 図 3-10 ネットワークの時間同期 1. マスタは PTP Sync メッセージをすべてのノードにブロードキャストします。Sync メッセージ にはマスタのリファレンス時間情報が含まれます。このメッセージがマスタのシステムを出る 時刻は t1 で、これは Ethernet ポートのために PHY インタフェースでキャプチャされなければ なりません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 42 31 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 2. スレーブは Sync メッセージを受信し、そのタイミングリファレンスを使って正確な時刻 t2 を キャプチャします。 3. 次にマスタはスレーブに t1 情報を含む Follow_up メッセージを送信します(この情報は後で使 用されます)。 4. スレーブはマスタに、このフレームが MII を出る正確な時刻 t3 を記載した Delay_Req メッセー ジを送信します。 5. マスタはこのメッセージを受信し、それがシステムに入る正確な時刻 t4 をキャプチャします。 6. マスタは t4 情報を Delay_Resp メッセージに入れてスレーブに送信します。 7. スレーブは t1, t2, t3, t4 の 4 つの値を使ってそのローカル・タイミングリファレンスをマスタの タイミングリファレンスに同期します。 プロトコルの実装の大部分はソフトウェアで、UDP の上のレイヤで行われます。しかし、上記の ように、特定の PTP パケットが Ethernet ポートに入る、またはそのポートを出る正確な時刻をキ ャプチャするためにハードウェア・サポートが必要とされます。高精度の PTP を適切に実装する には、このタイミング情報がキャプチャされ、ソフトウェアへ返されなければなりません。 リファレンスタイミング・ソース Ethernet-MAC は、リファレンスクロックを入力として、内部的にリファレンス時間(「システム時 間」ともよばれます)を生成し、それを使ってタイムスタンプをキャプチャします。システム時間 の生成, 更新, 変更については「システム時間レジスタモジュール」を参照してください。 時間のスナップショットを生成するために、64 ビット形式のリファレンスタイムを必要とします (2 つの 32 ビット・チャネルに分割され、上位 32 ビットが秒単位の時間, 下位 32 ビットが ns 単 位の時間を示します)。IEEE 1588-2008 標準は時間の上位フィールドを 48 ビット幅と定義していま す。タイムスタンプのフィールドは下記のとおりです。 UInteger48- seconds フィールド UInteger32-nanoseconds フィールド "seconds"フィールドはタイムスタンプの整数部で、秒単位です。"nanoseconds"フィールドはタイ ムスタンプの小数部で、ns 単位です。例:2.000000001 秒は secondsField = 0x0000_0000_0002, nanoSeconds = 0x0000_0001 で表されます。したがって、この形式での nanoseconds フィールドの最 大値は 0x3B9A_C9FF((10e9-1) ns)となります。これはデジタルロールオーバ動作モードとして定義 されます。また、値 0x7FFF_FFFF の後 nano-seconds フィールドがロールオーバし、seconds フィー ルドを増分するレガシーモードもサポートされます(精度は最大 0.466ns/ビット)。これはバイナ リ・ロールオーバ・モードとして定義されます。これらのモードは、Time Stamp Control レジスタ "TSDB: Time Stamp Digital or Binary rollover control"ビットを使ってコントロールされます。 Ethernet-MAC に保持される時間は 64 ビット幅です。なぜなら、seconds レジスタの上位 16 ビット へのオーバフローは、130 年に 1 回しか発生しないからです。seconds フィールドの上位 16 ビット の値は GMAC レジスタからのみ取得できます。32 ビットの"seconds"フィールドでオーバフローが 発生したときにそれを知らせるステータスビットが提供されています。 また、1 秒のインターバル(デフォルト)を示すために pulse-per-second 出力も供給されます。インタ ーバルを変更するオプションも提供されています。詳細については「4.30. GMAC Register 459 (PPSCR)」を参照してください。 送信パス機能 フレームの SFD が PHY インタフェースに出力されたときに、タイムスタンプがキャプチャされま す。フレームのタイムスタンプをキャプチャする必要があるか否かはフレームごとに制御可能で す。つまり、各送信フレームにタイムスタンプをキャプチャする必要があるか否かを示すマーク を付けることができます。 PTP フレームを識別するための処理は実行されません。フレーム単位のコントロールは、送信デ ィスクリプタのコントロールビットを通じて実行されます。 キャプチャされたタイムスタンプは、フレームのステータスが供給されるのと同様の方法で、ア MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 43 32 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ プリケーションに返されます。タイムスタンプとフレームの送信ステータスが供給されます。タ イムスタンプは対応する送信ディスクリプタによってソフトウェアに返され、それによってタイ ムスタンプが自動的に特定の PTP フレームにコネクトされます。64 ビットのタイムスタンプ情報 が TDES6 および TDES7 フィールドに書き戻され、TDES6 がタイムスタンプの下位 32 ビットを保 持します。 受信パス機能 Ethernet-MAC は、対応する受信ディスクリプタによってタイムスタンプをソフトウェアに返しま す。64 ビットのタイムスタンプ情報が RDES6 および RDES7 フィールドに書き戻され、RDES6 が タイムスタンプの下位 32 ビットを保持します。タイムスタンプは、Last Descriptor ステータスフ ィールドが 1 (EOF マーカ)にセットされている受信ディスクリプタにのみ書き込まれます。タイム スタンプが生成できない場合(例えば、受信 FIFO オーバフローのため)、ディスクリプタ(RDES6 および RDES7)には"オール 1"パターンが書き込まれ、タイムスタンプが正しくないことを示しま す。ソフトウェアがコントロールレジスタ・ビットを使ってタイムスタンプをディセーブルして いる場合、DMA は RDES6 および RDES7 を変更しません。 タイムスタンプ・エラー・マージン IEEE 1588 仕様によると、 タイムスタンプは PHY インタフェースで送信および受信フレームの SFD でキャプチャされなければなりません。リファレンスタイミング・ソースが PHY インタフェース のクロックと異なるため、非同期クロックドメイン間の情報転送によって小さなエラー・マージ ンが発生します。 送信パスではキャプチャおよびレポートされるタイムスタンプの最大エラー・マージンは 2 PTP クロックです。つまり、キャプチャされるタイムスタンプには、PHY インタフェース上で SFD が 送信されてから 2 クロック以内のリファレンスタイム・ソースの値が与えられます。同様に、受 信パスでは、エラー・マージンは 3 PHY インタフェースクロックと最大 2 PTP クロックの和とな ります。SFD データが PHY インタフェースに到達する前に 3 PHY インタフェースクロックに起因 するエラー・マージンがシステム(またはリンク)に存在していたと想定すれば、この固定の遅延は 無視できます。 リファレンスタイミングクロックの周波数範囲 クロックドメイン間のタイムスタンプ情報の転送には非同期ロジックが関係するため、2 つの連続 するタイムスタンプ・キャプチャの間に最小限の遅延が必要とされます。この遅延は PHY インタ フェースおよび PTP クロックの両方の 3 クロックサイクルです。間隔がこれより短いと、 Ethernet-MAC は 2 番目のフレームのタイムスタンプスナップショットを生成しません。 最大 PTP クロック周波数は、リファレンスタイムの最大分解能(1GHz では 1ns)と PTP クロック上 で動作するロジックで利用できるタイミング抑制によって制限されます。考慮すべきもう 1 つの 要因は、リファレンスタイム・ソースの分解能(または「粒度」)が同期の精度を決定するというこ とです。そのため、PTP クロックの周波数を高くするとシステムパフォーマンスが向上します。 最小 PTP クロック周波数は 2 つの連続する SFD バイトの間で要求される時間に依存します。PHY インタフェースクロック周波数は IEEE 仕様によって固定されるため、適切な動作のために要求さ れる最小 PTP クロック周波数は Ethernet-MAC の動作モードおよび動作速度に依存します。 100 Mbps 全二重動作では 2 つの SFD の間の最小間隔は 160 PHY インタフェースクロックです。(64 バイト・フレームのための 128 クロックと、最小 IFG のための 24 クロック, およびプリアンブル のための 8 クロック) この例では、(3 × PTP) + (3 × PHY) ≦ 160 × PHY です。したがって、最小 PTP クロック周 波数は約 0.5MHz ((160 - 3) × 40ns ÷ 3 = 2093ns)です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 44 33 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ システム時間レジスタモジュール 64 ビットの時間はこのモジュールに保持され、入力リファレンスクロック(PTP_CLK) (注:FM3 ファミリ マイコンの Ethernet-MAC は、入力リファレンスクロック(PTP_CLK)に AHB のシステム バスクロック:HCLK が接続されています。)を使って更新されます。この時間は送信または受信 している Ethernet フレームのスナップショット(タイムスタンプ)を生成するためのソースとなりま す。 System Time カウンタは、Coarse correction (粗修正)方法を使って初期化または修正できます。この 方法では、初期値またはオフセット値が Time Stamp Update レジスタに書き込まれます。初期化の 場合は System Time カウンタに Time Stamp Update レジスタの値が書き込まれ、システム時間修正 の場合はシステム時間にオフセット値が加算または減算されます。 Fine correction (微修正)方法では、スレーブクロック(PTP_CLK)のマスタクロックに対する周波数 ドリフト(IEEE 1588 で定義されています)が、粗修正の場合のように 1 クロック内ではなく一定時 間の間に修正されます。これは直線的な時間を維持するのに役立ち、PTP Sync メッセージ間隔間 でリファレンス時間が大幅に変動する(ジッタを大きくする)ことはありません。このメソッドでは、 アキュムレータは図 3-11 に示すように Addend レジスタの内容を集計します。アキュムレータが 生成する算術的繰上げがシステムタイムカウンタを増分するためのパルスとして使われます。ア キュムレータと Addend は 32 ビットレジスタです。したがって、アキュムレータは高精度周波数 乗算器または除算器として動作します。このアルゴリズムを図 3-11 に示します。 図 3-11 微修正メソッドによるシステム時間の更新 addend_val[31:0] addend_updt Addend register Accumulator register Constant value incr_sub_sec_reg Sub-second register incr_sec_reg Second register System Time Update ロジックは 20ns の精度を実現するために 50 MHz のクロック周波数を必要とし ます。周波数分割はリファレンスクロック周波数の、要求されるクロック周波数に対する比です。 したがって、例えばリファレンスクロック(PTP_CLK)が 66 MHz のとき、この比は 66MHz/50MHz = 1.32 となります。その結果、レジスタでセットするデフォルトの Addend 値は 232/1.32 または MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 45 34 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ 0xC1F07C1F です。 リファレンスクロックが低い値にドリフトする場合、例えば 65 MHz の場合、この比は 65 / 50、 つまり 1.3 となり、Addend レジスタで設定される値は 232/1.30 または 0xC4EC4EC4 です。クロ ックが高い値にドリフトする場合、例えば 67 MHz の場合、Addend レジスタは 0xBF0B7672 にセ ットされなければなりません。クロックのドリフトが 0 である場合、デフォルトの Addend の値 0xC1F07C1F (232/1.32)をプログラムしなければなりません。 ソフトウェアは、Sync メッセージを元にして周波数のドリフトを計算し、それに基づいて Addend レジスタを更新しなければなりません。 最初に、スレーブクロックは、Addend レジスタに FreqCompensationValue0 をセットします。この 値は以下のとおりです。 FreqCompensationValue0 = 232 / FreqDivisionRatio 最初は、MasterToSlaveDelay が後続の Sync メッセージと同じであると想定し、下記のアルゴリズ ムを適用しなければなりません。いくつかの Sync サイクルの後に、周波数がロックします。この とき、スレーブクロックは正確な MasterToSlaveDelay 値を決定し、新しい値を使ってマスタと再 同期できます。 このアルゴリズムは以下のとおりです。 MasterSyncTimen の時刻にマスタはスレーブクロックに Sync メッセージを送信します。スレー ブは、そのローカルクロックが SlaveClockTimen のときにこのメッセージを受信し、次のように MasterClockTimen を計算します。 MasterClockTimen = MasterSyncTimen + MasterToSlaveDelayn マスタクロックは現在の Sync サイクルをカウントします。MasterClockCountn は次の式によっ て求められます。 MasterClockCountn = MasterClockTimen - MasterClockTimenn-1 (Sync サイクル n と n – 1 で MasterToSlaveDelay が同じと想定します) スレーブクロックは現在の Sync サイクルをカウントします。SlaveClockCountn は次のように求 められます。 SlaveClockCountn = SlaveClockTimen - SlaveClockTimen - 1 現在の Sync サイクルのマスタとスレーブのクロック・カウントの差 (ClockDiffCountn) は次の 式によって求められます。 ClockDiffCountn = MasterClockCountn - SlaveClockCountn スレーブクロックの周波数スケーリング係数 (FreqScaleFactorn) は次の式によって求められま す。 FreqScaleFactorn = (MasterClockCountn + ClockDiffCountn) / SlaveClockCountn Addend レジスタの周波数補正値 (FreqCompensationValuen) は次の式によって求められます。 FreqCompensationValuen = FreqScaleFactorn * FreqCompensationValuen - 1 理論的には、このアルゴリズムによって 1 つの Sync サイクルでロックが得られますが、ネットワ ーク伝搬遅延や動作条件の変動のために、いくつかのサイクルを必要とする場合があります。 このアルゴリズムは自動修正型です。何らかの理由でスレーブクロックの初期値が間違ったマス タからの値にセットされている場合、このアルゴリズムは、さらにいくつかの Sync サイクルを使 ってそれを修正します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 46 35 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ PTP の処理およびコントロール PTP メッセージの共通メッセージヘッダを表 3-4 に示しています。この形式は IEEE 標準 1588-2008 に準拠しています。 表 3-4 IEEE 1588-2008 で定義されているメッセージ形式 ビット オクテット オフセット transportSpecific messageType 1 0 予約 versionPTP 1 1 messageLength 2 2 domainNumber 1 4 予約 1 5 flagField 2 6 correctionField 8 8 予約 4 16 sourcePortIdentity 10 20 sequenceId 2 30 messageType field 1 32 logMessageInterva 1 33 PTP フレームの一部のフィールドは、タイプを検出し、生成するスナップショットをコントロー ルするために使用されます。これは Ethernet 上で直接に送信される PTP フレーム, UDP / IPv4 上で 送信される PTP フレーム, UDP / IPv6 上で送信される PTP フレームで異なります。 「IPv4 上の PTP フレーム」では、スナップショットの生成をコントロールするために使用するフィールドに関す る情報を示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 47 36 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ IPv4 上の PTP フレーム 表 3-5 は、IEEE 1588 version 1 および 2 に対応する UDP over IPv4 上で送信される PTP パケットの スナップショットをコントロールするために照合されるフィールドに関する情報を示しています。 タグ・フレームのオクテット位置のオフセットは 4 です。これは IEEE 1588-2008 標準の Annex D および表 3-4 で定義されているメッセージ形式をベースとしています。 表 3-5 コントロールとステータスのために要求される IPv4-UDP PTP フレームの フィールド 対応するフィールド オクテット位置 対応する値 説明 IPv4 データグラム MAC Frame Type 12, 13 0x0800 IP Version and Header Length 14 0x45 Layer 4 protocol 23 0x11 UDP 30, 31, 32, 33 0xE0, 0x00, 0x01, 0x81 0xE0, 0x00, 0x00, 0x6B PTP-primarymulticast address allowed 224.0.1.129 224.0.1.130 224.0.1.131 224.0.1.132 36, 37 0x013F, 0x0140 0x013F : PTP event message (*) 0x0140 : PTPgeneral message 74 0x00, 0x01, 0x02, 0x03, 0x04 0x00 : SYNC 0x01 : Delay_Req 0x02 : Follow_Up 0x03 : Delay_Resp 0x04 : Management PTP Message Type Field 42 (IEEE version 2) 0x0, 0x1, 0x2, 0x3, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD 0x0 : SYNC 0x1 : Delay_Req 0x2 : Pdelay_Req 0x3 : Pdelay_Resp 0x8 : Follow_Up 0x9 : Delay_Resp 0xA : Pdelay_Resp_Follow_Up 0xB : Announce 0xC : Signaling 0xD : Management PTP version field 0x1, 0x2 0x1 : PTP version 1 サポート 0x2 : PTP version 2 サポート IP Multicast address UDP destination port PTP Control Field (IEEE version 1) 43 (nibble) IP バージョンが IPv4 (*) PTP イベント・メッセージは SYNC, Delay_Req (IEEE 1588 version 1 および 2)または Pdelay_Req, Pdelay_Resp (IEEE 1588 version 2 のみ)です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 48 37 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ IPv6 上の PTP フレーム 表 3-6 は、PTP パケットのスナップショットをコントロールするために照合されるフィールドに関 する情報を示しています。この情報は、IEEE 1588 version 1 および 2 に対応する UDP over IPv6 上 で送信されます。タグ・フレームのオクテット位置のオフセットは 4 です。これは IEEE 1588-2008 標準の Annex D および表 3-4 で定義されているメッセージ形式をベースとしています。 表 3-6 コントロールとステータスのために要求される IPv6-UDP PTP フレームの フィールド 対応するフィールド オクテット位置 対応する値 説明 MAC Frame Type 12, 13 0x86DD IPv4 データグラム IP version 14 (bits [7:4]) 0x6 IP バージョンが IPv6 Layer 4 protocol 20 (*) 0x11 UDP PTP Multicast address 38-53 FF0x:0:0:0:0:0:0:181 (Hex) FF02:0:0:0:0:0:0:6B (Hex) PTP primary multicast address: FF0x: 0:0:0:0:0:0:181 (Hex) PTP Pdelay multicast address: FF02: 0:0:0:0:0:0:6B (Hex) UDP destination port 56, 57 0x013F, 0x140 0x013F : PTP event message 0x0140 : PTP general message 93 (*) 0x00, 0x01, 0x02, 0x03, 0x04 0x00 : SYNC 0x01 : Delay_Req 0x02 : Follow_Up 0x03 : Delay_Resp 0x04 : 管理(バージョン 1) PTP Message Type Field 74 (*)(nibble) (IEEE version 2) 0x0, 0x1, 0x2, 0x3, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD 0x0 : SYNC 0x1 : Delay_Req 0x2 : Pdelay_Req 0x3 : Pdelay_Resp 0x8 : Follow_Up 0x9 : Delay_Resp 0xA : Pdelay_Resp_Follow_Up 0xB : Announce 0xC : Signaling 0xD : Management PTP version field 0x1, 0x2 0x1 : PTP version 1 をサポート 0x2 : PTP version 2 をサポート PTP Control Field (IEEE version 1) 75 (nibble) (*) PTP パケットの拡張ヘッダは定義されていません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 49 38 CHAPTER 2: Ethernet-MAC 3. アーキテクチャ FM3ファミリ Ethernet 上の PTP フレーム 表 3-7 は、Ethernet 上で送信される PTP パケットのスナップショットをコントロールするために照 合されるフィールドの詳細を示しています。タグ・フレームのオクテット位置のオフセットは 4 です。 表 3-7 コントロールとステータスのために要求される Ethernet PTP フレームのフィールド 対応するフィールド オクテット位置 対応する値 説明 MAC Destination Multicast Address (*a) 0-5 すべての PTP メッセージは以下のマ ルチキャストアドレス(*b)のどれでも 01-1B-19-00-00-00 使用できます。 01-80-C2-00-00-0E 01-1B-19-00-00-00 01-80-C2-00-00-0E (*c) MAC Frame Type 12, 13 0x86F7 PTP Ethernet フレーム 45 0x00, 0x01, 0x02, 0x03, 0x04 0x00 : SYNC 0x01 : Delay_Req 0x02 : Follow_Up 0x03 : Delay_Resp 0x04 : Management PTP Message Type Field 14 (nibble) (IEEE version 2) 0x0, 0x1, 0x2, 0x3, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD 0x0 : SYNC 0x1 : Delay_Req 0x2 : Pdelay_Req 0x3 : Pdelay_Resp 0x8 : Follow_Up 0x9 : Delay_Resp 0xA : Pdelay_Resp_Follow_Up 0xB : Announce 0xC : Signaling 0xD : Management PTP version field 0x1, 0x2 0x1 : PTP version 1 をサポート 0x2 : PTP version 2 をサポート PTP Control Field (IEEE version 1) 15 (nibble) *a: Timestamp Control レジスタのコントロールビット 18 (TSENMF: Enable MAC address for PTP frame filtering)がセットされている場合、MAC アドレス 0~31 でプログラミングされている宛先アドレス (DA)のアドレス・マッチが使用されます。 *b: IEEE 標準 1588-2008, Annex F *c: GMAC-UNIV は Peer delay マルチキャストアドレス(01-80-C2-00-00- 0E)が指定されている PTP version メッセージを有効な PTP メッセージと見なしません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 50 39 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4. レジスタ Ethernet-MAC のレジスタ機能について説明します。 レジスタマップ Ethernet-MAC のレジスタ一覧を表 4-1 に示します。 表 4-1 Ethernet-MAC レジスタ一覧 アドレス レジスタ番号 レジスタ略称 レジスタ名 参照先 0x0000 GMAC Reg. 0 MCR MAC Configuration Register 4.1 0x0004 GMAC Reg. 1 MFFR MAC Frame Filter Register 4.2 0x0008 GMAC Reg. 2 MHTRH MAC Hash Table Register (High) 4.3 0x000C GMAC Reg. 3 MHTRL MAC Hash Table Register (Low) 4.3 0x0010 GMAC Reg. 4 GAR GMII Address Register 4.4 0x0014 GMAC Reg. 5 GDR GMII Data Register 4.5 0x0018 GMAC Reg. 6 FCR Flow Control Register 4.6 0x001C GMAC Reg. 7 VTR VLAN Tag Register 4.7 0x0020 0x0024 - - 予約 - 0x0028 GMAC Reg. 10 RWFFR Remote Wake-up Frame Filter Register 4.8 0x002C GMAC Reg. 11 PMTR PMT Register 4.9 0x0030 GMAC Reg. 12 LPICSR LPI Control and Status Register 4.10 0x0034 GMAC Reg. 13 LPITCR LPI Timers Control Register 4.11 0x0038 GMAC Reg. 14 ISR Interrupt Status Register 4.12 0x003C GMAC Reg. 15 IMR Interrupt Mask Register 4.13 0x0040 GMAC Reg. 16 MAR0H MAC Address0 Register (High) 4.14 0x0044 GMAC Reg. 17 MAR0L MAC Address0 Register (Low) 4.15 0x0048 GMAC Reg. 18 MAR1H MAC Address1 Register (High) 4.16 0x004C GMAC Reg. 19 MAR1L MAC Address1 Register (Low) 4.17 0x0050 GMAC Reg. 20 MAR2H MAC Address2 Register (High) 4.16 0x0054 GMAC Reg. 21 MAR2L MAC Address2 Register (Low) 4.17 0x0058 GMAC Reg. 22 MAR3H MAC Address3 Register (High) 4.16 0x005C GMAC Reg. 23 MAR3L MAC Address3 Register (Low) 4.17 0x0060 GMAC Reg. 24 MAR4H MAC Address4 Register (High) 4.16 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 51 40 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス レジスタ番号 FM3ファミリ レジスタ略称 レジスタ名 参照先 0x0064 GMAC Reg. 25 MAR4L MAC Address4 Register (Low) 4.17 0x0068 GMAC Reg. 26 MAR5H MAC Address5 Register (High) 4.16 0x006C GMAC Reg. 27 MAR5L MAC Address5 Register (Low) 4.17 0x0070 GMAC Reg. 28 MAR6H MAC Address6 Register (High) 4.16 0x0074 GMAC Reg. 29 MAR6L MAC Address6 Register (Low) 4.17 0x0078 GMAC Reg. 30 MAR7H MAC Address7 Register (High) 4.16 0x007C GMAC Reg. 31 MAR7L MAC Address7 Register (Low) 4.17 0x0080 GMAC Reg. 32 MAR8H MAC Address8 Register (High) 4.16 0x0084 GMAC Reg. 33 MAR8L MAC Address8 Register (Low) 4.17 0x0088 GMAC Reg. 34 MAR9H MAC Address9 Register (High) 4.16 0x008C GMAC Reg. 35 MAR9L MAC Address9 Register (Low) 4.17 0x0090 GMAC Reg. 36 MAR10H MAC Address10 Register (High) 4.16 0x0094 GMAC Reg. 37 MAR10L MAC Address10 Register (Low) 4.17 0x0098 GMAC Reg. 38 MAR11H MAC Address11 Register (High) 4.16 0x009C GMAC Reg. 39 MAR11L MAC Address11 Register (Low) 4.17 0x00A0 GMAC Reg. 40 MAR12H MAC Address12 Register (High) 4.16 0x00A4 GMAC Reg. 41 MAR12L MAC Address12 Register (Low) 4.17 0x00A8 GMAC Reg. 42 MAR13H MAC Address13 Register (High) 4.16 0x00AC GMAC Reg. 43 MAR13L MAC Address13 Register (Low) 4.17 0x00B0 GMAC Reg. 44 MAR14H MAC Address14 Register (High) 4.16 0x00B4 GMAC Reg. 45 MAR14L MAC Address14 Register (Low) 4.17 0x00B8 GMAC Reg. 46 MAR15H MAC Address15 Register (High) 4.16 0x00BC GMAC Reg. 47 MAR15L MAC Address15 Register (Low) 4.17 0x00C0 0x00D0 0x00D8 GMAC Reg. 54 0x00DC 0x00FC RGSR - 予約 RGMII Status Register - 予約 4.18 - 0x0100 GMAC Reg. 64 mmc_cntl MMC Control Register 4.49 0x0104 GMAC Reg. 65 mmc_intr_rx MMC Receive Interrupt Register 4.50 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 52 41 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス レジスタ番号 FM3ファミリ レジスタ略称 レジスタ名 参照先 0x0108 GMAC Reg. 66 mmc_intr_tx MMC Transmit Interrupt Register 4.51 0x010C GMAC Reg. 67 mmc_intr_mask_rx MMC Receive Interrupt Mask Register 4.52 0x0110 GMAC Reg. 68 mmc_intr_mask_tx MMC Transmit Interrupt Mask Register 4.53 0x0114 GMAC Reg. 69 txoctetcount_gb 0x0118 GMAC Reg. 70 txframecount_gb 0x011C GMAC Reg. 71 txbroadcastframes_g 0x0120 GMAC Reg. 72 txmulticastframes_g 0x0124 GMAC Reg. 73 tx64octets_gb 0x0128 GMAC Reg. 74 tx65to127octets_gb 0x012C GMAC Reg. 75 tx128to255octets_gb 0x0130 GMAC Reg. 76 tx256to511octets_gb 0x0134 GMAC Reg. 77 tx512to1023octets_gb 0x0138 GMAC Reg. 78 tx1024tomaxoctets_gb 0x013C GMAC Reg. 79 txunicastframes_gb MMC Counters 4.48 0x0140 GMAC Reg. 80 txmulticastframes_gb 0x0144 GMAC Reg. 81 txbroadcastframes_gb 0x0148 GMAC Reg. 82 txunderflowerror 0x014C GMAC Reg. 83 txsinglecol_g 0x0150 GMAC Reg. 84 txmulticol_g 0x0154 GMAC Reg. 85 txdeferred 0x0158 GMAC Reg. 86 txlatecol 0x015C GMAC Reg. 87 txexesscol 0x0160 GMAC Reg. 88 txcarriererrror 0x0164 GMAC Reg. 89 txoctetcount_g 0x0168 GMAC Reg. 90 txframecount_g MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 53 42 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス レジスタ番号 FM3ファミリ レジスタ略称 0x016C GMAC Reg. 91 txexecessdef 0x0170 GMAC Reg. 92 txpauseframes 0x0174 GMAC Reg. 93 txvlanframes_g 0x0178, 0x017C - - 0x0180 GMAC Reg. 96 rxframecount_gb 0x0184 GMAC Reg. 97 rxoctetcount_gb 0x0188 GMAC Reg. 98 rxoctetcount_g 0x018C GMAC Reg. 99 rxbroadcastframes_g 0x0190 GMAC Reg. 100 rxmulticastframes_g 0x0194 GMAC Reg. 101 rxcrcerror 0x0198 GMAC Reg. 102 rxallignmenterror 0x019C GMAC Reg. 103 rxrunterror 0x01A0 GMAC Reg. 104 rxjabbererror 0x01A4 GMAC Reg. 105 rxundersize_g 0x01A8 GMAC Reg. 106 rxoversize_g 0x01AC GMAC Reg. 107 rx64octets_gb 0x01B0 GMAC Reg. 108 rx65to127octets_gb 0x01B4 GMAC Reg. 109 rx128to255octets_gb 0x01B8 GMAC Reg. 110 rx256to511octets_gb 0x01BC GMAC Reg. 111 rx512to1023octets_gb 0x01C0 GMAC Reg. 112 rx1024tomaxoctets_gb 0x01C4 GMAC Reg. 113 rxunicastframes_g 0x01C8 GMAC Reg. 114 rxlengtherror 0x01CC GMAC Reg. 115 rxoutofrangetype 0x01D0 GMAC Reg. 116 rxpauseframes MN706-00015-2v0-J レジスタ名 MMC Counters 予約 MMC Counters FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 参照先 4.48 - 4.48 54 43 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス レジスタ番号 FM3ファミリ レジスタ略称 0x01D4 GMAC Reg. 117 rxfifooverflow 0x01D8 GMAC Reg. 118 rxvlanframes_gb 0x01DC GMAC Reg. 119 rxwatchdogerror 0x01E0 0x01FC 0x0200 GMAC Reg. 128 0x0204 0x0208 GMAC Reg. 130 0x020C - mmc_ipc_intr_mask_rx mmc_ipc_intr_rx - 0x0210 GMAC Reg. 132 rxipv4_gd_frms 0x0214 GMAC Reg. 133 rxipv4_hdrerr_frms 0x0218 GMAC Reg. 134 rxipv4_nopay_frms 0x021C GMAC Reg. 135 rxipv4_frag_frms 0x0220 GMAC Reg. 136 rxipv4_udsbl_frms 0x0224 GMAC Reg. 137 rxipv6_gd_frms 0x0228 GMAC Reg. 138 rxipv6_hdrerr_frms レジスタ名 MMC Counters 予約 MMC Receive Checksum Offload Interrupt Mask Register 予約 MMC Receive Checksum Offload Interrupt Register 予約 MMC Counters 0x022C GMAC Reg. 139 rxipv6_nopay_frms 0x0230 GMAC Reg. 140 rxudp_gd_frms 0x0234 GMAC Reg. 141 rxudp_err_frms 0x0238 GMAC Reg. 142 rxtcp_gd_frms 0x023C GMAC Reg. 143 rxtcp_err_frms 0x0240 GMAC Reg. 144 rxicmp_gd_frms 0x0244 GMAC Reg. 145 rxicmp_err_frms 0x0248, 0x024C - - 0x0250 GMAC Reg. 148 rxipv4_gd_octets 0x0254 GMAC Reg. 149 rxipv4_hdrerr_octets 予約 MMC Counters MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 参照先 4.48 4.54 4.55 - 4.48 - 4.48 55 44 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス FM3ファミリ レジスタ番号 レジスタ略称 0x0258 GMAC Reg. 150 rxipv4_nopay_octets 0x025C GMAC Reg. 151 rxipv4_frag_octets 0x0260 GMAC Reg. 152 rxipv4_udsbl_octets 0x0264 GMAC Reg. 153 rxipv6_gd_octets 0x0268 GMAC Reg. 154 rxipv6_hdrerr_octets 0x026C GMAC Reg. 155 rxipv6_nopay_octets 0x0270 GMAC Reg. 156 rxudp_gd_octets 0x0274 GMAC Reg. 157 rxudp_err_octets 0x0278 GMAC Reg. 158 rxtcp_gd_octets 0x027C GMAC Reg. 159 rxtcp_err_octets 0x0280 GMAC Reg. 160 rxicmp_gd_octets 0x0284 GMAC Reg. 161 rxicmp_err_octets レジスタ名 MMC Counters 0x0288, 0x06FC - - 予約 参照先 4.48 - 0x0700 GMAC Reg. 448 TSCR Time Stamp Control Register 4.19 0x0704 GMAC Reg. 449 SSIR Sub-Second Increment Register 4.20 0x0708 GMAC Reg. 450 STSR System Time - Seconds Register 4.21 0x070C GMAC Reg. 451 STNR System Time - Nanoseconds Register 4.22 0x0710 GMAC Reg. 452 STSUR System Time - Seconds Update Register 4.23 0x0714 GMAC Reg. 453 STSNUR System Time - Nanoseconds Update Register 4.24 0x0718 GMAC Reg. 454 TSAR Time Stamp Addend Register 4.25 0x071C GMAC Reg. 455 TTSR Target Time Seconds Register 4.26 0x0720 GMAC Reg. 456 TTNR Target Time Nanoseconds Register 4.27 0x0724 GMAC Reg. 457 STHWSR System Time - High Word Seconds Register 4.28 0x0728 GMAC Reg. 458 TSR Time Stamp Status Register 4.29 0x072C GMAC Reg. 459 PPSCR PPC Control Register 4.30 0x0730 GMAC Reg. 460 ATNR Auxiliary Time Stamp-Nanosecond Register 4.31 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 56 45 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス 0x0734 レジスタ番号 GMAC Reg. 461 0x0738 0x07FC FM3ファミリ レジスタ略称 ATSR - レジスタ名 Auxiliary Time Stamp-Seconds Register - 予約 参照先 4.32 - 0x0800 GMAC Reg. 512 MAR16H MAC Address16 Register (High) 4.16 0x0804 GMAC Reg. 513 MAR16L MAC Address16 Register (Low) 4.17 0x0808 GMAC Reg. 514 MAR17H MAC Address17 Register (High) 4.16 0x080C GMAC Reg. 515 MAR17L MAC Address17 Register (Low) 4.17 0x0810 GMAC Reg. 516 MAR18H MAC Address18 Register (High) 4.16 0x0814 GMAC Reg. 517 MAR18L MAC Address18 Register (Low) 4.17 0x0818 GMAC Reg. 518 MAR19H MAC Address19 Register (High) 4.16 0x081C GMAC Reg. 519 MAR19L MAC Address19 Register (Low) 4.17 0x0820 GMAC Reg. 520 MAR20H MAC Address20 Register (High) 4.16 0x0824 GMAC Reg. 521 MAR20L MAC Address20 Register (Low) 4.17 0x0828 GMAC Reg. 522 MAR21H MAC Address21 Register (High) 4.16 0x082C GMAC Reg. 523 MAR21L MAC Address21 Register (Low) 4.17 0x0830 GMAC Reg. 524 MAR22H MAC Address22 Register (High) 4.16 0x0834 GMAC Reg. 525 MAR22L MAC Address22 Register (Low) 4.17 0x0838 GMAC Reg. 526 MAR23H MAC Address23 Register (High) 4.16 0x083C GMAC Reg. 527 MAR23L MAC Address23 Register (Low) 4.17 0x0840 GMAC Reg. 528 MAR24H MAC Address24 Register (High) 4.16 0x0844 GMAC Reg. 529 MAR24L MAC Address24 Register (Low) 4.17 0x0848 GMAC Reg. 530 MAR25H MAC Address25 Register (High) 4.16 0x084C GMAC Reg. 531 MAR25L MAC Address25 Register (Low) 4.17 0x0850 GMAC Reg. 532 MAR26H MAC Address26 Register (High) 4.16 0x0854 GMAC Reg. 533 MAR26L MAC Address26 Register (Low) 4.17 0x0858 GMAC Reg. 534 MAR27H MAC Address27 Register (High) 4.16 0x085C GMAC Reg. 535 MAR27L MAC Address27 Register (Low) 4.17 0x0860 GMAC Reg. 536 MAR28H MAC Address28 Register (High) 4.16 0x0864 GMAC Reg. 537 MAR28L MAC Address28 Register (Low) 4.17 0x0868 GMAC Reg. 538 MAR29H MAC Address29 Register (High) 4.16 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 57 46 CHAPTER 2: Ethernet-MAC 4. レジスタ アドレス FM3ファミリ レジスタ番号 レジスタ略称 レジスタ名 参照先 0x086C GMAC Reg. 539 MAR29L MAC Address29 Register (Low) 4.17 0x0870 GMAC Reg. 540 MAR30H MAC Address30 Register (High) 4.16 0x0874 GMAC Reg. 541 MAR30L MAC Address30 Register (Low) 4.17 0x0878 GMAC Reg. 542 MAR31H MAC Address31 Register (High) 4.16 0x087C GMAC Reg. 543 MAR31L MAC Address31 Register (Low) 4.17 0x0880 0x0FFC - - 予約 - 0x1000 DMA Reg. 0 BMR BUS Mode Register 4.33 0x1004 DMA Reg. 1 TPDR Transmit Poll Demand Register 4.34 0x1008 DMA Reg. 2 RPDR Receive Poll Demand Register 4.35 0x100C DMA Reg. 3 RDLAR Receive Descriptor List Address Register 4.36 0x1010 DMA Reg. 4 TDLAR Transmit Descriptor List Address Register 4.37 0x1014 DMA Reg. 5 SR Status Register 4.38 0x1018 DMA Reg. 6 OMR Operation Mode Register 4.39 0x101C DMA Reg. 7 IER Interrupt Enable Register 4.40 0x1020 DMA Reg. 8 MFBOCR Missed Frame and Buffer Overflow Counter Register 4.41 0x1024 DMA Reg. 9 RIWTR Receive Interrupt Watchdog Timer Register 4.42 0x1028 0x102C DMA Reg. 11 0x1030 0x1044 AHBSR - 予約 AHB Status Register - 予約 4.43 - 0x1048 DMA Reg. 18 CHTDR Current Host Transmit Descriptor Register 4.44 0x104C DMA Reg. 19 CHRDR Current Host Receive Descriptor Register 4.45 0x1050 DMA Reg. 20 CHTBAR Current Host Transmit Buffer Address Register 4.46 0x1054 DMA Reg. 21 CHRBAR Current Host Receive Buffer Address Register 4.47 0x1058 0xFFFF MN706-00015-2v0-J - - 予約 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL - 58 47 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ レジスタマップの見方(例) Register Abbreviation (Register full name) bit Offset address xxxxh bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 Field A B C D E F G H 属性 R/W R/W R R R R R R/WSC 0 0 0 0 0 0 0 0 初期値 Register Abbreviation: レジスタ略称を記載します。 Register full name: レジスタ・フルネームを記載します。 Offset address: レジスタ・オフセットアドレスを記載します。 Bits: ビット位置を示します。 Field: ビット・フィールド名称を記載します。 属性: レジスタのリード/ライト属性を記載します。記載記号の意味は以下です。 R: リード可能 W: ライト可能 R/W_SC: ア プ リ ケ ー シ ョ ン か ら の リ ー ド / ラ イ ト (Read and Write) が で き ま す 。 GMAC/DMA によって 0 にクリア(Self Clear)されます。GMAC/DMA がこのフィ ールドをクリアする条件については、フィールドの説明を参照してください。 R_SS_WC: アプリケーションからのリード (Read) ができます。特定の内部イベントで GMAC/DMA によって 1 にセット(Self Set)されます。アプリケーションからの 1 ライトにより、0 にクリア(Write Clear)できます。アプリケーションからの 0 ラ イトは何も行いません。GMAC/DMA がこのフィールドをセットする条件につ いては、フィールドの説明を参照してください(例:割込みビット)。 R/WS_SC: アプリケーションからのリード(Read)と、アプリケーションからの 1 ライト (Write Set) が で き ま す 。 ア プ リ ケ ー シ ョ ン か ら の 0 ラ イ ト は 無 効 で す 。 GMAC/DMA によって 0 にクリア(Self Clear)されます。GMAC/DMA がこのフィ ールドをクリアする条件については、フィールドの説明を参照してください (例:リセット信号)。 R/SS_SC_WC: アプリケーションからのリード (Read)ができます。特定 の内部イベントで GMAC/DMA によって 1 にセット(Self Set)、または 0 にクリア(Self Clear)されま す。 アプリケーションからの 0 ライトにより、0 にクリア(Write Clear) できます。 アプリケーションからの 1 ライトは何も行いません。GMAC/DMA がこのフィー ルドをセットまたはクリアする条件については、フィールドの説明を参照して ください。 R/WT: アプリケーションからのリード (Read) ができます。何らかのデータ値でライト 動作が実行 (Write Trigger) されたとき、フィールドの説明に示すように、イベ ントがトリガされます(例:受信 Poll Demand レジスタ)。 R_SS_RC: アプリケーションからのリード (Read)ができます。特定の内部イベントで GMAC/DMA によって 1 にセット(Self Set)されます。アプリケーションからのリ ードで自動的に 0 にクリア (Read Clear) されます。アプリケーションからの 0 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 59 48 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ ライトは、何も行いません。GMAC/DMA がこのフィールドをセットする条件 については、フィールドの説明を参照してください(例:オーバフローカウンタ) R/WSU: アプリケーションによるリード/ライト (Read and Write) ができます。レジスタ フィールドはイベントに基づいて自動的に更新(Self Update)されます。これは、 例えば、PTP 構成におけるシステム時間に使用されます。 Reserved: レジスタフィールドの値は変更できません。変更を行った場合、GMAC/DMA は、 予期せぬ動作を行う可能性があります。 初期値: MN706-00015-2v0-J レジスタのリセット後の値を示します。 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 60 49 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.1. GMAC Register 0 (MCR) MCR レジスタは、送受信のオペレーティングモードを設定します。 MCR (MAC Configuration Register) bit 31 Address 0000h 30 29 28 27 26 予約 Field 25 24 CST TC 属性 R R R R R R R/W R/W 初期値 - - - - - - 0 0 23 22 21 20 19 18 17 16 Field WD JD BE JE 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field PS FES DO LM DM IPC DR LUD 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 DC TE RE bit DCRS 予約 Field ACS 属性 R/W R/W R/W R/W R/W R/W R R 0 0 0 0 0 0 - - 初期値 BL[1:0] IFG[2:0] [bit25] CST (CRC stripping for Type frames) このビットを 1 にセットすると、フレームをアプリケーションに転送する前に、Ether タイプ(タイ プフィールド 0x0600 より大きい)のすべてのフレームの最後の 4 バイト(FCS)が除去し、廃棄しま す。 [bit24] TC (Transmit Configuration in RGMII) MII/RMII モード時は、Reserved ビットです。このビットにライトする場合は、常に 0 の書込みを 行ってください。 [bit23] WD (Watchdog Disable) このビットを 1 にセットすると、GMAC はレシーバの Watchdog Timer を無効にし、最大 16384 バ イトのフレームを受信できるようになります。このビットを 0 にリセットすると、GMAC は受信 フレームを 2048 バイトまで(JE ビットが High にセットされている場合は 10240 まで)のみ許可し、 それ以降のすべてのバイトを切り捨てます。 [bit22] JD (Jabber Disable) このビットを 1 にセットすると、GMAC はトランスミッタの Jabber Timer を無効にし、最大 16384 バイトのフレームを送信できるようになります。このビットを 0 にリセットすると、送信中にア プリケーションが 2048 バイト(JE ビットが High にセットされている場合は 10240 バイト)を超え るデータを送信した場合に GMAC はトランスミッタを停止します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 61 50 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit21] BE (Frame Burst Enable) MII/RMII モード時は、Reserved ビットです。このビットにライトする場合は、常に 0 の書込みを 行ってください。 [bit20] JE (Jumbo Frame Enable) このビットを 1 にセットすると、GMAC は最大 9018 バイト(VLAN tagged フレームの場合は 9022 バイト)を受信できます。 [bit19:17] IFG (Inter-Frame GAP) これらのビットは、送信時のフレーム間の最小 IFG をコントロールします。 000 : 96 ビットタイム 001 : 88 ビットタイム 010 : 80 ビットタイム 011 : 72 ビットタイム 100 : 64 ビットタイム 101 : 56 ビットタイム 110 : 48 ビットタイム 111 : 40 ビットタイム 半二重モードでは、最小 IFG は 64 ビットタイム(IFG = 100)にのみ設定できます。64 ビットタイム 未満の値は無視されます。 [bit16] DCRS(Disable Carrier Sense During Transaction) このビットを 1 にセットすると、GMAC トランスミッタは、半二重モードでのフレーム送信中に、 CRS 信号を無視します。その結果、そのような送信中には Loss of Carrier または No Carrier による エラーは生成されません。このビットが 0 のとき、GMAC トランスミッタは、Carrier Sense によ ってエラーを生成して送信を中止します。 [bit15] PS (Port Select) このビットの初期値は 0 です。GMAC の初期化時に必ず 1 を書き込んでください。PHY のインタ フェースとして、MII または、RMII が選択されます。 このビットにライトする場合は、常に 1 の書込みを行ってください。 [bit14] FES(Speed) RMII モードの場合の通信速度を指定します。 0 : 10 Mbps 1 : 100 Mbps このビットは、RMII のときのみ有効です。 [bit13] DO (Disable Receive Own) このビットを 1 にセットすると、半二重モードで TX_EN がアサートされたときに、フレームの受 信を無効にします。このビットを 0 にリセットすると、GMAC は送信中に PHY から来るパケット をすべて受信します。GMAC が全二重モードで動作しているときは、このビットは無効です。 [bit12] LM (Loop-back Mode) このビットを 1 にセットすると、GMAC はループバックモードで動作します。 ループバックが適切に機能するためには、受信クロック入力(RX_CLK/REF_CLK)が必要です。 *このビットがセットされているとき、PAUSE フレームは送信できません。 [bit11] DM (Duplex mode) このビットを 1 にセットすると、GMAC は全二重モードで動作します。全二重モードでは受信と 送信を同時に行うことができます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 62 51 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit10] IPC (Checksum Offload) このビットを 1 にセットすると、受信フレームに対する IPv4 チェックサムのチェック, ペイロー ドの TCP/UDP/ICMP ヘッダのチェックが有効になります。このビットを 0 にリセットすると、レ シーバの COE 機能が禁止され、対応する PCE および IP HCE ステータスビットが常にクリアされ ます。 <注意事項> IPv6 認証ヘッダを使用する Ethernet 環境下では、必ず IPC は 0 にリセットしてください。 [bit9] DR (Disable Retry) このビットを 1 にセットすると、GMAC は 1 回だけ送信を試行します。PHY インタフェースでコ リジョンが発生したとき、GMAC は現在のフレーム送信を無視し、フレームアボートおよび過剰 コリジョンの送信フレームステータスを通知します。このビットを 0 にリセットすると、GMAC は BL でセットした条件に従ってリトライします。このビットは半二重モードでのみ有効です。 [bit8] LUD(Link Up/Down in RGMII) MII/RMII モード時は、Reserved ビットです。このビットにライトする場合は、常に 0 の書込みを 行ってください。 [bit7] ACS (Automatic Pad/CRC Stripping) このビットをセットすると、GMAC は、受信フレームの Length のフィールドの値が 1500 バイト 以下である場合のみ、受信フレームの Pad/FCS フィールドを取り除きます。1501 バイト以上の場 合は、Pad/FCS フィールドを取り除くことなく、アプリケーションに渡します。このビットをリセ ットすると、GMAC は、すべての受信フレームを変更なしで Host に渡します。 <注意事項> ACS ビットを 1 として使用する際は、必ず Receive-Store-Forward モードで使用してください。 Receive-Store-Forward モードは、RSF (DMA Register 6 (OMR) bit25)を 1 にすることで指定できます。 [bit6,5] BL (Back-off Limit) バックオフリミットは、スロットタイム遅延をランダムな整数 ( r ) で設定します(10/100 Mbps で は 512 ビットタイム)。GMAC は、コリジョンの後のリトライ中に、送信試行が再スケジュールさ れるまで待機します。このビットは半二重モードでのみ有効です。 00 : k = min (n, 10) 01 : k = min (n, 8) 10 : k = min (n, 4) 11 : k = min (n, 1) (デフォルト) ここで、n = 送信リトライ回数。ランダムな整数 r は、0 ≦r < 2K MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL の範囲から選択されます。 63 52 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit4] DC (Deferral Check) このビットをセットすると、GMAC で延期 (Deferral) チェック機能が許可されます。10/100 Mbps モードで送信ステートマシンが 24288 ビットタイムを超えて延期された場合、GMAC はフレーム アボートステータスを発行し、送信フレームステータスに過剰延期エラービットをセットします。 10/100 Mbps モードで Jumbo フレームモードがイネーブルされている場合、延期のしきい値は 155680 ビットタイムになります。延期は、トランスミッタが送信可能な状態で、PHY インタフェ ースのアクティブな CRS(キャリア検出)信号のために送信できないときに始まります。延期時間は 累積ではありません。送信が 10000 ビットタイムの間延期されると、送信を行い、コリジョンが 発生し、バックオフします。バックオフの完了後に再び延期が必要とされた場合、延期タイマは 0 にリセットされ、リスタートされます。このビットをリセットすると、延期チェック機能が禁止 され、GMAC は CRS 信号が非アクティブになるまで延期します。このビットは半二重モードでの み有効です。 [bit3] TE (Transmitter Enable) このビットを 1 にセットすると、GMAC 送信ステートマシンの PHY インタフェースへの送信動作 が許可されます。このビットを 0 にリセットすると、現在のフレームの送信完了後に GMAC の送 信ステートマシンの送信動作が禁止され、以降のフレームを送信しません。 [bit2] RE (Receiver Enable) このビットを 1 にセットすると、GMAC 受信ステートマシンの PHY インタフェースからのフレー ム受信動作が許可されます。このビットを 0 にリセットすると、GMAC 受信ステートマシンの受 信動作が禁止され、PHY インタフェースからのフレームは受信されません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 64 53 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.2. GMAC Register 1 (MFFR) MFFR レジスタは、受信フレームのフィルタリング制御を行います。 このレジスタのコントロールの一部は、GMAC のアドレスチェックブロックに進み、そこでアド レスフィルタリングの最初のレベルを実行します。フィルタリングの 2 番目のレベルは、受信フ レームに対して、ほかのコントロール(Pass Bad Frames, Pass Control Frames など)をベースとして実 行されます。 MFFR (MAC Frame Filter Register) 30 Address 00004h bit 31 29 28 Field RA 属性 R/W R R R 初期値 0 - - bit 23 22 21 27 26 25 24 R R R R - - - - - 20 19 18 17 16 予約 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 HPF SAF SAIF bit 予約 Field 属性 R R R R R R/W R/W R/W 初期値 - - - - - - 0 0 bit 7 6 5 4 3 2 1 0 DB PM DAIF HMC HUC PR Field 属性 初期値 PCF[1: 0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit31] RA (Receive All) このビットをセットすると、GMAC レシーバモジュールは、フレームがアドレスフィルタをパス したかどうかに関わりなく、受信したすべてのフレームをアプリケーションに渡します。SA/DA フィルタリングの結果により、受信ステータスの対応するビットが更新されます(パスまたはフェ イル)。このビットをリセットすると、レシーバモジュールは、SA/DA アドレスフィルタをパスし たフレームのみをアプリケーションに渡します。 [bit10] HPF (Hash or Perfect Filter) このビットを 1 にセットすると、フレームはパーフェクトフィルタまたはハッシュフィルタ (HMC/HUC ビットによって設定されている場合) のいずれかとマッチする場合に、アドレスフィ ルタをパスします。このビットを 0 にリセットすると、フレームはハッシュフィルタ(HUC/HMC ビットによって設定されている場合)とマッチする場合にだけパスします。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 65 54 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit9] SAF (Source Address Filter) GMAC は、受信フレームの SA フィールドと、イネーブルされている SA レジスタでプログラムさ れている値を比較します。このビットを 1 にセットすると、SA フィルタフェイル時、そのフレー ムを廃棄します。このビットを 0 にリセットすると、そのフレームをアプリケーションに転送し ます。 [bit8] SAIF (Source Address Inverse Filter) このビットをセットすると、Address Check ブロックが SA アドレス比較のために、逆フィルタリ ングモードで動作します。SA が SA レジスタとマッチするフレームには、SA Address フィルタを フェイルしたことを示すマークが付けられます。 このビットをリセットすると、SA が SA レジスタとマッチしないフレームに、SA Address フィル タをフェイルしたことを示すマークが付けられます。 [bit7,6] PCF (Pass Control Frames) このビットは、以下のすべてのコントロールフレーム(ユニキャストおよびマルチキャスト PAUSE フレームを含む)の転送をコントロールします。 00 : すべてのコントロールフレームをフィルタリングし、アプリケーションに到達しないように します。 01 : PAUSE を除くすべてのコントロールフレームを、Address フィルタをフェイルした場合でも、 アプリケーションに転送します。 10 : すべてのコントロールフレームを、Address フィルタをフェイルした場合でも、アプリケーシ ョンに転送します。 11 : Address フィルタをパスしたコントロールフレームを転送します。 PAUSE コントロールフレームを処理するためには、以下の条件が真である必要があります。 条件 1: MAC が全二重モードで、GMAC Register 6 (Flow Control Register)の bit2 (RFE)を 1 にセ ットすることによってフローコントロールが許可されている。 条件 2: GMAC Register 6 (Flow Control Register)の bit3 (UP)がセットされているとき、受信フレ ームのディスティネーション・アドレス(DA)が特別のマルチキャストアドレスまたは MAC Address 0 と一致する。 条件 3: 受信フレームの Type フィールドが 0x8808 で、OPCODE フィールドが 0x0001 である。 <注意事項> PCF フィールドは、条件 1 が真であるとき、つまり、MAC が全二重モードで動作するようにプロ グラムされており、RFE ビットがイネーブルされている場合にのみ 01 にセットします。 そうでない場合は、PAUSE フレームのフィルタリングに矛盾が生じることがあります。条件 1 が 偽である場合、PAUSE フレームは汎用コントロールフレームと見なされます。そのため、全二重 モードでフローコントロールが有効でない場合は、PAUSE コントロールフレームを含むすべての コントロールフレームをパスさせるために、PCF フィールドを(アプリケーションの要求に応じ て)10 または 11 にセットする必要があります。 [bit5] DB (Disable Broadcast Frames) このビットを 1 にセットすると、すべての受信したブロードキャストフレームをフィルタします。 このビットを 0 にリセットすると、すべての受信したブロードキャストフレームをパスさせます。 [bit4] PM (Pass All Multicast) このビットを 1 にセットすると、マルチキャスト・ディスティネーション・アドレスを持つすべ ての受信フレーム(ディスティネーション・アドレス・フィールドの最初のビットが 1)をパスさせ ます。 このビットを 0 にリセットすると、マルチキャストフレームのフィルタリングは HMC ビットに依 存します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 66 55 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit3] DAIF (DA Inverse Filtering) このビットを 1 にセットすると、Address Check ブロックはユニキャストフレームとマルチキャス トフレームの両方に対して、逆フィルタリングモードで DA アドレス比較を行います。 このビットを 0 にリセットすると、通常のフレーム・フィルタリングが実行されます。 *フレームがコントロールフレームであるとき、この機能は無効です。 [bit2] HMC (Hash Multicast) このビットを 1 にセットすると、受信したマルチキャストフレームのディスティネーション・ア ドレス・フィルタリングをハッシュテーブルに従って実行します。このビットを 0 にリセットす ると、マルチキャストフレームに対する完全なディスティネーション・アドレス・フィルタリン グを実行します。 つまり、DA フィールドと DA レジスタにプログラムされている値を比較します。 [bit1] HUC (Hash Unicast) このビットを 1 にセットすると、ユニキャストフレームのディスティネーション・アドレス・フ ィルタリングをハッシュテーブルに従って実行します。 このビットを 0 にリセットすると、ユニキャストフレームに対する完全なディスティネーション・ アドレス・フィルタリングを実行します。つまり、DA フィールドと、DA レジスタにプログラム されている値を比較します。 [bit0] PR (Promiscuous Mode) このビットをセットすると、Address Filter モジュールは、ディスティネーション・アドレスおよ びソース・アドレスに関わりなくすべての受信フレームをパスさせます。PR がセットされている とき、受信ステータスワードの SA/DA フィルタフェイルステータスは、常にクリアされます。 表 4-2, 表 4-3 に、受信フレームタイプごとの SA/DA フィルタリング内容をまとめて示します。 表 4-2 ディスティネーション・アドレス・フィルタリングテーブル フレーム PR HPF HCU DAIF HMC PM DB タイプ ブロード キャスト ユニ キャスト DA フィルタ動作 1 X X X X X X パス 0 X X X X X 0 パス 0 X X X X X 1 フェイル 1 X X X X X X すべてのフレームをパス 0 X 0 0 X X X Perfect/Group フィルタマッチ時パス 0 X 0 1 X X X Perfect/Group フィルタマッチ時フェイル 0 0 1 0 X X X Hash フィルタマッチ時パス 0 0 1 1 X X X Hash フィルタマッチ時フェイル 0 1 1 0 X X X Hash または Perfect/Group フィルタマッチ時パス 0 1 1 1 X X X Hash または Perfect/Group フィルタマッチ時フェ イル MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 67 56 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ フレーム PR HPF HCU DAIF HMC PM DB タイプ マルチ キャスト DA フィルタ動作 1 X X X X X X すべてのフレームをパス X X X X X 1 X すべてのフレームをパス 0 X X 0 0 0 X Perfect/Group フィルタマッチ時パス PCF = 0x 時、PAUSE コントロールフレーム廃棄 0 0 X 0 1 0 X Hash フィルタマッチ時パス PCF = 0x 時、PAUSE コントロールフレーム廃棄 0 1 X 0 1 0 X Hash または Perfect/Group フィルタマッチ時パス PCF = 0x 時、PAUSE コントロールフレーム廃棄 0 X X 1 0 0 X Perfect/Group フィルタマッチ時フェイル PCF = 0x 時、PAUSE コントロールフレーム廃棄 0 0 X 1 1 0 X Hash フィルタマッチ時フェイル PCF = 0x 時、PAUSE コントロールフレーム廃棄 X Hash または Perfect/Group フィルタマッチ時フェ イル PCF = 0x 時、PAUSE コントロールフレーム廃棄 0 1 X 1 1 0 表 4-3 ソース・アドレス・フィルタリング・テーブル フレームタイプ PR SAIF SAF ユニキャスト MN706-00015-2v0-J SA フィルタ動作 1 X X すべてのフレームをパス。 0 0 0 Perfect/Group フィルタマッチ時にパスステータスを返却。 フレームを廃棄しない 0 1 0 Perfect/Group フィルタマッチ時にフェイルステータスを返却。 フレームを廃棄しない 0 0 1 Perfect/Group フィルタマッチ時パス。 フェイルしたフレームを廃棄 0 1 1 Perfect/Group フィルタマッチ時フェイル。 フェイルしたフレームを廃棄 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 68 57 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.3. GMAC Register 2, 3 (MHTRH, MHTRL) MHTRH および MHTRL レジスタは、グループアドレス・フィルタリングを設定します。 HTH フィールドにはハッシュテーブルの上位 32 ビットを設定します。 HTL フィールドにはハッシュテーブルの下位 32 ビットを設定します。 MHTRH (MAC Hash Table Register (High)) Address 0008h 31 ~ 0 bit Field HTH[31:0] 属性 R/W 初期値 0 MHTRL (MAC Hash Table Register (Low)) Address 000Ch 31 ~ 0 bit Field HTL[31:0] 属性 R/W 初期値 0 [bit31:0] HTH, HTL 64 ビットハッシュテーブルは、グループアドレスのフィルタリングのために使用します。ハッシ ュフィルタリングでは、受信フレームのディスティネーション・アドレスの内容が CRC ロジック に渡され、CRC 演算結果の上位 6 ビットのビット反転値をハッシュテーブル内容のインデックス として使用します。インデックスの最上位ビットは使用するレジスタ(HTH/HTL)を決定します。 ほかの 5 ビットは各レジスタ内のビット位置を決定します。00000 は選択したレジスタの bit0 を指 定し、11111 は選択したレジスタの bit31 を指定します。 HTH/HTL レジスタの対応するビット値が 1 の場合は、受信フレームは受け入れられます。そうで ない場合は、フレームは拒否されます。GMAC Register1 の PM (Pass All Multicast)ビットがセット されている場合、マルチキャストハッシュ値に関係なく、すべてのマルチキャストフレームが受 け入れられます。 例えば、受信フレームの DA が 0x1F52419CB6AF(0x1F が受信された最初のバイト)である場合、 CRC により計算された 6 ビット値は 0x2C となり、HTH レジスタビット[12]に設定された値が、 フィルタリングのために使用されます。受信フレームの DA が 0xA00A98000045 である場合、CRC により計算された 6 ビット値は 0x07 となり、HTL レジスタビット[7] に設定された値が、フィル タリングのために使用されます。 上記 CRC は以下を使用します。 CRC_32 : POLYNOMIAL : INITIAL_REMAINDER : FINAL_XOR_VALUE : x32 +x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 0x04C11DB7 0xFFFFFFFF CRC の 1 の補数 <注意事項> このレジスタへのライトアクセスは、32 ビット幅で行ってください。一度値を書き込んだ後、異 なる値に書換えを行う場合は、PHY インタフェースクロックで、4 サイクルクロック時間以上経 過してから、書換え処理を行う必要があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 69 58 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.4. GMAC Register 4 (GAR) GMII Address レジスタは、マネジメントインタフェースを通じて外部 PHY へのマネジメン トサイクルをコントロールします。 GAR (GMII/MII Address Register) bit 31 Address 0010h 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit Field PA[4:0] 属性 GR[4:2] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 GW GB Field GR[1:0] 属性 初期値 CR[3:0] R/W R/W R/W R/W R/W R/W R/W R/WS_SC 0 0 0 0 0 0 0 0 [bit15:11] PA (Physical Layer Address) このフィールドは、接続する 32 個の PHY デバイスの PHY アドレスを指定します。 [bit10:6] GR (GMII Register) このビットは、選択した PHY デバイス内のアクセスするレジスタアドレスを指定します。 [bit5:2] CR (Application Clock Range) CR により、Ethernet-MAC に供給されている SYS_CLK 周波数に従って MDC クロックの周波数を 決定します。bit5 = 0 のときは、下記の SYS_CLK 周波数レンジの値を適用すれば、MDC クロック の周波数レンジが約 1.25MHz~2.5MHz の範囲の値に設定されます。 CR 0000 0001 0010 0011 0100 0101 SYS_CLK 60MHz -100MHz 100MHz -150MHz 20MHz - 35MHz 35MHz - 60MHz 150MHz - 250MHz 250MHz - 300MHz MDC クロック SYS_CLK/42 SYS_CLK/62 SYS_CLK/16 SYS_CLK/26 SYS_CLK/102 SYS_CLK/122 上記外:Reserved MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 70 59 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit1] GW (GMII/MII Write) このビットを 1 にセットすると、PHY に対し、GMAC Register5 (GMII Data)の値のライト動作を行 います。このビットを 0 にリセットすると、PHY に対し、リード動作を行い、リード値が GMAC Register5 (GMII Data)に格納されます。 [bit0] GB (GMII/MII Busy) アプリケーションによるこのビットへの 1 書込みにより、PHY レジスタへのアクセスが開始され、 このビットが 1 の間は、PHY へのリード動作, ライト動作が進行中であることを示します。PHY へのアクセスが完了すると、このビットは自動的に 0 にクリアされます。 GMAC Register 4 および GMAC Register5 への書込みを行う前に、このビットから 0 が読み出せる ことを確認する必要があります。PHY へのアクセス進行中に、GMAC Register4, GMAC Register5 を書き換えることはできません。PHY へのリード動作が完了するまで、GMAC Register5 (GMII Data)の値は無効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 71 60 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.5. GMAC Register 5 (GDR) GMII Data レジスタは、PHY レジスタにライトデータを設定します。また、PHY レジスタか らのリードデータが格納されます。 GDR (GMII/MII Data Register) bit 31 Address 0014h 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit Field 属性 GD[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 GD[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit15:0] GD (GMII/MII Data Register) マネジメントライト動作前に、PHY に書き込む 16 ビットデータ値を設定します。 マネジメントリード動作後に、PHY から読み出された 16 ビットデータ値を格納します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 72 61 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.6. GMAC Register 6 (FCR) Flow Control レジスタは、GMAC のフローコントロールモジュールによる Control (Pause Command)フレームの生成および受信をコントロールします。 FCR (Flow Control Register) bit Address 0018h 31 30 29 28 Field 属性 27 26 25 24 PT[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 PT[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - bit 7 6 5 4 3 2 1 0 Field DZPQ 予約 UP RFE TFE FCB/BPA 属性 R/W R R/W R/W R/W R/W R/W R/WS_SC/ R/W 0 - 0 0 0 0 0 0 初期値 PLT[1:0] Flow Control レジスタは、GMAC のフローコントロールモジュールによる Control (Pause Command) フレームの生成および受信をコントロールします。Busy ビットを 1 にセットしレジスタへのライ ト動作することにより、Flow Control ブロックによる Pause Control フレームの生成がトリガされま す。コントロールフレームのフィールドは、802.3x 仕様で指定されているとおり選択され、この レジスタからの Pause Time 値は、コントロールフレームの Pause Time フィールドで使用されます。 Busy ビットは、コントロールフレームがケーブル上に転送されるまでセットされたままです。Host は、レジスタへのライト動作の前に、Busy ビットがクリアされていることを確認しなければなり ません。 [bit31:16] PT (Pause Time) このフィールドは、送信コントロールフレームの Pause Time フィールドで使用する値を保持しま す。このレジスタへ、一度値を書き込んだ後、異なる値に書換えを行う場合は、PHY インタフェ ースクロックで、4 サイクルクロック時間以上経過してから、書換え処理を行う必要があります。 [bit7] DZPQ (Disable Zero-Quanta Pause) このビットは、Reserved ビットです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 73 62 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit5,4] PLT (Pause Low Threshold) このビットは、Reserved ビットです。 [bit3] UP (Unicast Pause Frame detect) このビットを 1 にセットすると、GMAC は、MAC Address0 High Register および MAC Address0 Low Register で指定されたステーション内のユニキャストアドレスをもつ Pause フレームを検出し、ま た一意なマルチキャストアドレスをもつ Pause フレームを検出します。 このビットをリセットすると、GMAC は、802.3x 標準で指定された一意なマルチキャストアドレ スをもつ Pause フレームを検出します。 [bit2] RFE (Receive Flow Control Enable) このビットをセットすると、GMAC は、受信した Pause フレームをデコードし、指定された期間、 そのトランスミッタをディセーブルします。 このビットをリセットすると、Pause フレームのデコード機能が禁止されます。 [bit1] TFE (Transmit Flow Control Enable) 全二重モードでは、このビットを 1 にセットすると、GMAC はフローコントロール動作を許可し、 Pause フレームを送信します。このビットをリセットすると、GMAC のフローコントロール動作が 禁止され、GMAC は、Pause フレームを送信しなくなります。 半二重モードでは、このビットをセットすると、GMAC はバックプレッシャ動作を許可します。 このビットをリセットするとバックプレッシャ機能が禁止されます。 [bit0] FCB/BPA (Flow Control Busy/Backpressure Activate) このビットは、全二重モードで Pause Control フレームを開始し、TFE ビットがセットされている 場合に半二重モードでバックプレッシャ機能を起動します。全二重モードでは、Flow Control レジ スタへの書込みの前にこのビットが 0 になっている必要があります。Pause Control フレームを開 始するためには、アプリケーションはこのビットを 1 にセットしなければなりません。Control Frame フレームの送信中、このビットはセットされたままになり、フレーム送信が進行中であるこ とを示します。Pause Control フレーム送信の完了後、GMAC はこのビットを 0 にリセットします。 このビットがクリアされるまで Flow Control レジスタへの書込みはできません。 半二重モードでは、このビットをセットすると(TFE もセット)、バックプレッシャが GMAC によ ってアサートされます。バックプレッシャ中に GMAC が新しいフレームを受信したとき、トラン スミッタは JAM パターンの送信を開始し、その結果コリジョンが発生します。GMAC が半二重モ ードに設定されている場合、BPA は自動的にディセーブルされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 74 63 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.7. GMAC Register 7 (VTR) VLAN Tag レジスタは、VLAN フレームを識別する値を設定します。 VTR (VLAN TAG Register) bit 31 Address 001Ch 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field ETV 属性 R R R R R R R R/W 初期値 - - - - - - - 0 15 14 13 12 11 10 9 8 bit Field 属性 VL[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 VL[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 VLAN Tag レジスタは、VLAN フレームを識別するための IEEE 802.1Q VLAN タグを含んでいます。 GMAC は受信フレームの 13~14 番目のバイト(Length/Type)を 0x8100 と比較し、その次の 2 バイ トを VLAN タグと比較します。マッチした場合、受信フレームステータスの受信 VLAN ビットを セットします。フレームの有効な長さは 1518 バイトから 1522 バイトに増えます。 [bit16] ETV (Enable 12-Bit VLAN Tag Comparison) このビットをセットすると、比較およびフィルタリングのために、完全な 16 ビット VLAN タグで はなく、12 ビット VLAN 識別子が使用されます。VLAN タグの bit[11:0]が、受信した VLAN タグ 付きフレーム内の対応するフィールドと比較されます。このビットをリセットすると、受信した VLAN フレームの 15~16 番目のバイトの 16 ビットすべてが比較に使用されます。 [bit15:0] VL (VLAN Tag Identifier) このフィールドは、VLAN フレームを識別するための 802.1Q VLAN タグを含んでおり、VLAN フ レームで受信されるフレームの 15~16 番目のバイトと比較されます。bit[15:13]は User Priority, bit [12]は Canonical Format Indicator (CFI)、bit[11:0]は VLAN タグの VLAN Identifier (VID)フィールド です。 ETV ビットをセットすると、比較のために VID(bit[11:0])のみが使用されます。VL (ETV がセットされ ている場合は VL[11:0])がすべてゼロである場合、GMAC は、VLAN タグ比較で 15~16 番目のバ イトをチェックせず、Type フィールド値が 0x8100 のすべてのフレームを VLAN フレームとして 宣言します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 75 64 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ <注意事項> このレジスタへのライトアクセスは、32 ビット幅で行ってください。一度値を書き込んだ後、異 なる値に書換えを行う場合は、PHY インタフェースクロックで、4 サイクルクロック時間以上経 過してから、書換え処理を行う必要があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 76 65 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.8. GMAC Register 10 (RWFFR) このレジスタは、Wake-up フレームの Filter パターンを設定します。 RWFFR (Remote Wake-up Frame Filter Register) bit 31 30 29 Field 属性 初期値 bit 初期値 bit 27 26 25 24 R/W R/W R/W R/W R/W R/W R/W R/W - - - - - - - - 23 22 21 20 19 18 17 16 RWFFR[23:16] R/W R/W R/W R/W R/W R/W R/W R/W - - - - - - - - 15 14 13 12 11 10 9 8 Field 属性 28 RWFFR[31:24] Field 属性 Address 0028h RWFFR[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 RWFFR[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 bit[31:0] RWFFR[31:0] (Remote Wake-up Frame Filter Register) このレジスタは、Wake-up フレームの Filter パターンを設定します。本品種では、4 種類の Filter パターンをプログラムすることが可能です。RWFFR は、図 4-1 のように 8 個のレジスタで構成さ れています。書き込むときは、8 回連続でレジスタ 0, レジスタ 1 の順番で 0x0028 に書き込みます。 読み込む場合は、8 回連続でレジスタ 0, レジスタ 1 の順番で 0x0028 から読出しを行います。 RWFFRPR (PMTR レジスタの bit31) に 1 を書き込むことにより、本レジスタアクセスのポインタ を初期化することができます。 図 4-1 RWFFR のレジスタ構成 RWFFR_0 Filter 0 Byte Mask RWFFR_1 Filter 1 Byte Mask RWFFR_2 Filter 2 Byte Mask RWFFR_3 Filter 3 Byte Mask RWFFR_4 RWFFR_5 予約 Filter 3 コマンド Filter3 Offset 予約 Filter 2 コマンド Filter2 Offset 予約 Filter 1 コマンド Filter1 Offset 予約 Filter0 Offset RWFFR_6 Filter 1 CRC-16 Filter 0 CRC-16 RWFFR_7 Filter 3 CRC-16 Filter 2 CRC-16 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL Filter 0 コマンド 77 66 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ Filter i Byte Mask このレジスタは、 フレームが Wake-up フレームであるかどうかを決定するために、フィルタ i (0, 1, 2, 3)でフレームのどのバイトを調べるかを定義します。MSB (31 番目のビット)をゼロにする 必要があります。ビット j [30:0]は、バイトマスクです。バイトマスクのビット j (バイト目)が セットされた場合、受信フレームの Filter i Offset + j が CRC ブロックによって処理されます。 そうでない場合は、Filter i Offset + j は無視されます。 Filter i Command この 4 ビットのコマンドは、フィルタ i の動作をコントロールします。bit3 は、パターンのデ ィスティネーション・アドレスタイプを定義するアドレスタイプを指定します。このビットを セットすると、パターンはマルチキャストフレームにのみ適用します。このビットをリセット すると、パターンはユニキャストフレームにのみ適用します。bit2 および bit1 は予約されてい ます。bit0 でフィルタ i はイネーブルされます。bit0 がセットされていない場合、フィルタ i は ディセーブルされます。 Filter i Offset このレジスタは、フレームの何バイト目からフィルタ i によってチェックするかのオフセット を定義します。この 8 ビットパターンオフセットは、チェックするフィルタ i の最初のバイト のオフセットです。最小設定は 12 です。これはフレームの 13 バイト目です(オフセット値 0 はフレームの最初のバイトです)。 Filter i CRC-16 このレジスタは、パターンから計算された CRC_16 値と、Wake-up フィルタレジスタブロック にプログラムされたバイトマスクを含んでいます。 CRC_16 POLYNOMIAL INITIAL_REMAINDER FINAL_XOR_VALUE MN706-00015-2v0-J : : : : x16+x15+x2+1 0x8005 0xFFFF 0x0000 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 78 67 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.9. GMAC Register 11 (PMTR) このレジスタは、Wake-up リクエスト・イベントをプログラムし、Wake-up イベントをモニ タします。 PMTR (PMT Register) bit Address 002Ch 31 30 29 28 27 26 25 24 予約 Field RWFFRPR 属性 R/WS_SC R R R R R R R - - - - - - - - 23 22 21 20 19 18 17 16 初期値 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 GU 予約 bit 予約 Field 属性 R R R R R R R/W R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 予約 WPR MPR WFE MPE PD 属性 R 初期値 0 R_SS_RC R_SS_RC 0 0 予約 R R R/W R/W R/WS_SC 0 0 0 0 0 [bit31] RWFFRPR (Remote Wake-up Frame Filter Register Pointer Reset) このビットをセットすると、Remote Wake-up Frame Filter レジスタポインタを 000 にリセットしま す。このビットは、1 クロックサイクル後に自動的にクリアされます。 [bit9] GU (Global Unicast) このビットをセットすると、DA フィルタを通過したユニキャストパケットを Wake-up フレームと して認識します。 [bit6] WPR (Wake Up Frame Receive) このビットがセットされると、Wake-up フレームの受信によりパワーマネジメントイベントが生成 されたことを示します。このビットはこのレジスタへのリードによってクリアされます。 [bit5] MPR (Magic Packet Received) このビットがセットされると、Magic Packet の受信によりパワーマネジメントイベントが生成され たことを示します。このビットはこのレジスタへのリードによってクリアされます。 [bit2] WFE (Wake-Up Frame Enable) このビットをセットすると、Wake-up フレームの受信によるパワーマネジメントイベントの生成を 許可します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 79 68 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit1] MPE (Magic Packet Enable) このビットをセットすると、Magic Packet の受信によるパワーマネジメントイベントの生成を許可 します。 [bit0] PD (Power Down) このビットをセットすると、すべての受信フレームが廃棄されます。このビットは、Magic Packet または Wake-up フレームが受信され、Power-Down モードがディセーブルされたとき、自動的にク リアされます。このビットがクリアされた後に受信したフレームはアプリケーションに転送され ます。このビットは、Magic Packet Enable, Global, Unicast, Wake- Up Frame Enable ビットが"1"にセ ットされているときのみセットできます。 * パワーマネジメントモード時に SYS_CLK を停止できます。しかし、SYS_CLK が停止している ときは、このレジスタに対し、リード・ライト動作は実行できません。したがってソフトウェ アはこのビットをクリアできません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 80 69 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.10. GMAC Register 12 (LPICSR) このレジスタは、LPI の機能をコントロールし、LPI 割込みステータスを提供します。 LPICSR (LPI Control and Status Register) bit 31 30 Address 0030h 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 LPITXA PLSEN PLS LPIEN bit 予約 Field 属性 R R R R R/W R/W R/W R/W 初期値 - - - - 0 0 0 0 15 14 13 12 11 10 9 8 RLPIST TLPIST bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - 0 0 bit 7 6 5 4 3 2 1 0 RLPIEX RLPIEN TLPIEX TLPIEN 予約 Field 属性 R R R R 初期値 0 0 0 0 R_SS_RC R_SS_RC R_SS_RC R_SS_RC 0 0 0 0 [bit19] LPITXA (LPI TX Automate) このビットは、GMAC が送信側で LPI モードに入るかこのモードを終了するときの動作をコント ロールします。 LPITXA および LPIEN ビットが 1 にセットされている場合、GMAC は、すべての未解決のフレー ムおよび保留中のフレームが送信された後でのみ LPI モードに入ります。GMAC は、アプリケー ションが送信フレームを送信したとき、またはアプリケーションが TX FIFO Flush コマンドを発行 したときに LPI モードを終了します。 GMAC は LPI ステートを終了したとき、LPIEN ビットを自動的にクリアします。 このビットが 0 のとき、GMAC が LPI モードに入るかこのモードを終了するときの動作は LPIEN ビットによって直接にコントロールされます。 [bit18] PLSEN (PHY Link Status Enable) MII/RMII モード時は、Reserved ビットです。このビットにライトする場合は、常に 0 の書込みを 行ってください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 81 70 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit17] PLS (PHY Link Status) このビットは、PHY のリンクステータスをライトするビットです。GMAC トランスミッタは、リ ンクステータスが LPI LS TIMER によって指定された時間以上の間 Up (OK)になっているときにの み LPI パターンをアサートします。このビットをセットすると、リンクは OK(Up)と見なされ、リ セットするとリンクは Down と見なされます。 [bit16] LPIEN (LPI Enable) このビットをセットすると、GMAC トランスミッタに LPI ステートに入るよう指示します。この ビットをリセットすると、GMAC に LPI ステートを終了して通常の送信を再開するよう指示しま す。 [bit9] RLPIST (Receive LPI State) このビットがセットされると、GMAC が PHY インタフェース上で LPI パターンを受信しているこ とを示します。 [bit8] TLPIST (Transmit LPI State) このビットがセットされると、GMAC が PHY インタフェース上で LPI パターンを送信しているこ とを示します。 [bit3] RLPIEX (Receive LPI Exit) このビットがセットされると、GMAC レシーバが、PHY インタフェースで LPI パターンの受信を 停止し、LPI ステートを終了し、通常の受信を再開したことを示します。このビットは、このレジ スタへのリードによってクリアされます。 [bit2] RLPIEN (Receive LPI Entry) このビットがセットされると、GMAC レシーバが、LPI パターンを受信し、LPI ステートに入った ことを示します。このビットは、このレジスタへのリードによってクリアされます。 <注意事項> RLPIEN と RLPIEX の両方が 1 のとき、受信 LPI が終了していると見なす必要があります。 [bit1] TLPIEX (Transmit LPI Exit) このビットがセットされると、ユーザが LPIEN ビットをクリアし、LPI TW Timer が時間切れにな った後、GMAC トランスミッタが LPI ステートを終了したことを示します。このビットはこのレ ジスタへのリードによってクリアされます。 [bit0] TLPIEN (Transmit LPI Entry) このビットがセットされると、GMAC が LPIEN ビットのセットによって LPI ステートに入ったこ とを示します。このビットはこのレジスタへのリードによってクリアされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 82 71 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.11. GMAC Register 13 (LPITCR) このレジスタは、LPI ステートのタイムアウト値を設定します。GMAC が LPI パターンを送 信する時間、および通常の送信を再開するまで待機する時間を指定します。 LPITCR (LPI Timers Control Register) bit 31 30 Address 0034h 29 28 27 26 25 予約 Field 24 LIT[9:8] 属性 R R R R R R R/W R/W 初期値 - - - - - - 1 1 23 22 21 20 19 18 17 16 bit Field 属性 LIT[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 0 1 0 0 0 bit 15 14 13 12 11 10 9 8 Field TWT[15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TWT[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit25:16] LIT (LPI LS TIMER) このビットは、LPI パターンを PHY に送信するために、PHY からのリンクステータスが Up (OK) になっていなければならない最小時間(単位:ms)を指定します。LPIEN ビットがセットされていて も、LPI LS Timer がプログラムされたターミナルカウントに到達しない限り、GMAC は LPI パタ ーンを送信しません。LPI LS Timer のデフォルト値は、IEEE 標準に従って 1000 (1 秒)です。 [bit15:0] TWT (LPI TW TIMER) このビットは、GMAC が PHY への LPI パターンの送信を停止してから通常の送信を再開するまで の待機時間の最小値(単位:μs)を指定します。このタイマが時間切れになった後、TLPIEX ステータ スビットがセットされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 83 72 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.12. GMAC Register 14 (ISR) このレジスタは、割込みステータスを表示します。 ISR (Interrupt Status Register) bit 31 Address 0038h 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 LPIIS TSIS 予約 bit 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field COIS TIS RIS MIS PIS 予約 予約 RGIS 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit10] LPIIS (LPI Interrupt Status) このビットは、GMAC トランスミッタまたはレシーバの LPI ステート開始または終了によりセッ トされます。このビットは GMAC Register 12 (LPI Control and Status Register)のバイト 0 のリードで クリアされます。 [bit9] TSIS (Time Stamp Interrupt Status) このビットは、以下のときにセットされます。 システムタイム値が Target Time High および Low レジスタで指定されている値、またはそれ 以上になった 秒レジスタのオーバフローが発生した このビットは、Time Stamp ステータスレジスタ(「4.29. GMAC Register 458 (TSR)」を参照)のバイ ト 0 のリードでクリアされます。 [bit7] COIS (MMC Receive Checksum Offload Interrupt Status) このビットは、GMAC register 130(MMC Receive Checksum Offload Interrupt Register)で割込みが生成 されたときに 1 にセットされます。このビットは、この割込みレジスタ内のすべてのビットがク リアされたときにクリアされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 84 73 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit6] TIS (MMC Transmit Interrupt Status) このビットは、GMAC register 66(MMC Transmit Interrupt Register)で割込みが生成されたときに 1 にセットされます。このビットは、この割込みレジスタ内のすべてのビットがクリアされたとき にクリアされます。 [bit5] RIS (MMC Receive Interrupt Status) このビットは、GMAC register65(MMC Receive Interrupt Register)で割込みが生成されたときに 1 に セットされます。このビットは、この割込みレジスタ内のすべてのビットがクリアされたときに クリアされます。 [bit4] MIS (MMC Interrupt Status) このビットは、COIS, TIS, RIS ビットのどれかが 1 にセットされたときに 1 にセットされ、COIS, TIS, RIS ビットのすべてが 0 になるとクリアされます。 [bit3] PIS (PMT Interrupt Status) このビットは、Power- Down モードで Magic パケットまたは Wake-on-LAN フレームを受信したと きにセットされます(GMAC Register 11(PMTR)の bit5 および bit6 を参照)。このビットは、PMT コントロール・ステータスレジスタへのリード動作により両方の bit[6:5]がクリアされたときにク リアされます。 [bit0] RGIS(RGMII Interrupt Status) MII/RMII モード時は、Reserved ビットです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 85 74 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.13. GMAC Register 15 (IMR) Interrupt Mask Register ビットによって、Interrupt Status Register の対応するイベントによる 割込み信号(INT_SBD)をマスクできます。 IMR (Interrupt Mask Register) bit 31 Address 003Ch 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 LPIIM TSIM 予約 bit 予約 Field 属性 R R R R R R/W R/W R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 PIM 予約 予約 RGIM 予約 Field 属性 R R R R R/W R R R/W 初期値 0 0 0 0 0 0 0 0 [bit10] LPIIM(LPI Interrupt Mask) このビットをセットすると、GMAC Register 14 で LPIIS (LPI Interrupt Status)ビットがセットされて いることによる割込み信号のアサートが禁止されます。 [bit9] TSIM (Time Stamp Interrupt Mask) このビットをセットすると、GMAC Register 14 で TSIS (Time Stamp Interrupt Status)ビットがセット されていることによる割込み信号のアサートが禁止されます。 [bit3] PIM (PMT Interrupt Mask) このビットをセットすると、GMAC Register 14 で PIS (PMT Interrupt Status)ビットがセットされて いることによる割込み信号のアサートが禁止されます。 [bit0] RGIM(RGMII Interrupt Mask) MII/RMII モード時は、Reserved ビットです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 86 75 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.14. GMAC Register 16 (MAR0H) MAC Address0 High レジスタは、ステーションの最初の MAC アドレス(6 バイト)の上位 16 ビットを設定します。 MAR0H (MAC Address0 Register (High)) bit 31 30 Address 0040h 29 28 27 26 25 24 予約 Field MO 属性 R R R R R R R R 初期値 1 - - - - - - - bit 23 22 21 20 19 18 17 16 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit Field 属性 A0[47:40] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 A0[39:32] R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 PHY インタフェースで受信する送信先アドレスの最初のバイトは、MAC Address Low レジスタの LS バイト(bit[7:0])に対応します。例えば、PHY インタフェースでディスティネーション・アドレ スとして 0x11:0x22:0x33:0x44:0x55:0x66 が受信された場合(0x11 が最初のバイト)、MAC Address0 Register [47:0]が 0x665544332211 と比較されます。 MAC Address[47:0] : UU:VV:WW:XX:YY:ZZ の場合の例を示します。 [7:0] = UU, [15:8] = VV, [23:16] = WW, [31:24] = XX, [39:32] = YY, [47:40] = ZZ MARL: 0xXXWWVVYYUU MARH: 0x8000ZZYY [bit31] MO (常に 1) 常に 1 を設定します。 [bit15:0] A0[47:32] (MAC Address0[47:32]) このフィールドは、MAC アドレス 0 の上位 16 ビット[47:32]を設定します。GMAC はこの値を使 用して受信フレームをフィルタリングし、Transmit Flow Control (PAUSE) Frames に MAC アドレス を挿入します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 87 76 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ <注意事項> このレジスタへのライトアクセスは、32 ビット幅で行ってください。MAC アドレスを設定する際 は、必ず、MAC アドレス上位レジスタ(MARxH)の書込みを行い、その次に MAC アドレス下位レ ジスタ(MARxL)の書込みを行います。MAC アドレス上位レジスタ(MARxH)への書込みだけを行っ た場合、あるいは書き込む順番を逆にした場合は、書き込んだ値が正しく認識されません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 88 77 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.15. GMAC Register 17 (MAR0L) MAC Address0 Low レジスタは、ステーションの最初の MAC アドレス(6 バイト)の下位 32 ビットを設定します。 MAR0L (MAC Address0 Register (Low)) bit 31 30 Address 0044h 29 28 Field 属性 27 26 25 24 A0[31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 23 22 21 20 19 18 17 16 Field 属性 A0[23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 15 14 13 12 11 10 9 8 Field 属性 A0[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 A0[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 [bit31:0] A0[31:0] (MAC Address0[31:0]) このフィールドは、MAC アドレス 0 の下位 32 ビットを設定します。GMAC はこれを使って受信 フレームをフィルタリングし、Transmit Flow Control (PAUSE) Frames に MAC アドレスを挿入しま す。 <注意事項> このレジスタへのライトアクセスは、32 ビット幅で行ってください。このレジスタに一度値を書 き込んだ後、異なる値に書換えを行う場合は、PHY インタフェースクロックで、4 サイクルクロ ック時間以上経過してから、書換え処理を行う必要があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 89 78 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.16. GMAC Register 18, 20, 22, …, 542 (MAR1H, 2H, 3H, …, 31H) MAC Address High レジスタ(1-31)は、ステーションの 2~32 番目の MAC アドレス(6 バイト) の上位 16 ビットを設定します。 MAR1H~MAR31H (MAC Address1~31 Register -High) Address 0048h, 0050h, 0058h, 0060h, 0068h, 0070h, 0078h, 0080h, 0088h, 0090h, 0098h, 00A0h, 00A8h, 00B0h, 00B8h, 0800h, 0808h, 0810h, 0818h, 0820h, 0828h, 0830h, 0838h, 0840h, 0848h, 0850h, 0858h, 0860h, 0868h, 0870h, 0878h bit 31 30 29 28 Field AE SA 属性 R/W R/W R/W R/W 初期値 0 0 0 bit 23 22 21 27 26 25 24 R/W R/W R/W R/W 0 0 0 0 0 20 19 18 17 16 MBC 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit Field 属性 A [47:40] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 A [39:32] R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 [bit31] AE (Address Enable) このビットをセットすると、アドレスフィルタは、MAC アドレス 1-31 を使用します。このビッ トをリセットすると、アドレスフィルタは、MAC アドレス 1-31 を無視します。 [bit30] SA (Source Address) このビットをセットすると、MAC Address1[47:0]を受信フレームの SA フィールドとの比較に使用 します。 このビットをリセットすると、MAC Address1[47:0]を受信フレームの DA フィールドとの比較に使 用します。 [bit29:24] MBC(Mask Byte Control) このビットは、各 MAC アドレスバイトの比較のためのマスクコントロールビットです。1 にセッ トすると、GMAC は、受信した DA/SA の対応するバイトを MAC Address*レジスタの内容と比較 しません。各ビットは、以下のようにバイトのマスキングをコントロールします。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 90 79 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit29: MAC Address*[47:40] bit28: MAC Address*[39:32] … bit24: MAC Address*[7:0] [bit15:0] A このフィールドは、2~32 番目の MAC アドレス(6 バイト)の上位 16 ビット(47:32)を設定します。 <注意事項> このレジスタへのライトアクセスは、32 ビット幅で行ってください。MAC アドレスを設定する際 は、必ず、MAC アドレス上位レジスタ(MARxH)の書込みを行い、その次に MAC アドレス下位レ ジスタ(MARxL)の書込みを行います。MAC アドレス上位レジスタ(MARxH)への書込みだけを行っ た場合、あるいは書き込む順番を逆にした場合は、書き込んだ値が正しく認識されません。AE, SA, MBC の各フィールドへの書込み値は、アドレス上位レジスタ(MARxH)への書込みだけでは有効に ならず、次の MAC アドレス下位レジスタ(MARxL)の書き込み後に有効になります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 91 80 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.17. GMAC Register 19, 21, 23, …, 543 (MAR1L, 2L, 3L, …, 31L) MAC Address Low レジスタ(1-31)は、ステーションの 2~32 番目の MAC アドレス(6 バイト) の下位 32 ビットを設定します。 MAR1L~MAR31L (MAC Address1~31 Register -Low) Address 004Ch, 0054h, 005Ch, 0064h, 006Ch, 0074h, 007Ch, 0084h, 008Ch, 0094h, 009Ch, 00A4h, 00ACh, 00B4h, 00BCh, 0804h, 080Ch, 0814h, 081Ch, 0824h, 082Ch, 0834h, 083Ch, 0844h, 084Ch, 0854h, 085Ch, 0864h, 086Ch, 0874h, 087Ch bit 31 30 29 28 Field 属性 27 26 25 24 A [31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 23 22 21 20 19 18 17 16 Field 属性 A [23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 15 14 13 12 11 10 9 8 Field 属性 A [15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 A [7:0] R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 [bit31:0] A [31:0] このフィールドは、2~32 番目の MAC アドレス(6 バイトの)の下位 32 ビットを含みます。このフ ィールドの内容は、初期化プロセスの後アプリケーションによってロードされるまで未定義のま まです。 <注意事項> このレジスタへのライトアクセスは、32 ビット幅で行ってください。このレジスタに一度値を書 き込んだ後、異なる値に書換えを行う場合は、PHY インタフェースクロックで、4 サイクルクロ ック時間以上経過してから、書換え処理を行う必要があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 92 81 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.18. GMAC Register 54 (RGSR) RGMII ステータスレジスタは、RGMII が PHY から受信したステータス信号を示します。 RGSR (RGMII Status Register) bit 31 Address 00D8h 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - bit 7 6 5 4 3 2 1 0 予約 Field LS LSP LM 属性 R R R R R R R R 初期値 - - - - 0 0 0 0 [bit3] LS (Link Status) MII/RMII モード時は、予約ビットです。 [bit2, 1] LSP (Link Speed) MII/RMII モード時は、予約ビットです。 [bit0] LM(Link Mode) MII/RMII モード時は、予約ビットです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 93 82 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.19. GMAC Register 448 (TSCR) このレジスタは、レシーバのタイムスタンプ生成のためのシステムタイムジェネレータの動 作と PTP パケットのスヌーピングをコントロールします。 TSCR (Time Stamp Control Register) bit 31 30 Address 0700h 29 28 27 26 25 24 予約 Field ATSFC 属性 R R R R R R R R/WSC 初期値 - - - - - - - 0 23 22 21 20 19 18 17 16 bit 予約 Field TSENMF TSPS 属性 R R R R R R/W R/W R/W 初期値 - - - - - 0 0 0 15 14 13 12 11 10 9 8 Field TSMRM TETSEM TSIP4E TSIP6E TETSP TSV2E TSDB TSEA 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 TARU TITE TSU TSI TFCU TSE bit 予約 Field 属性 R R R/WSC R/WSC R/WSC R/WSC R/W R/W 初期値 - - 0 0 0 0 0 0 [bit24] ATSFC (Auxiliary Snapshot FIFO Clear) 本レジスタは、Reserved です。書込みの際は 0 を書き込んでください。 [bit18] TSENMF(Enable MAC address for PTP frame filtering) このビットをセットすると、Ethernet 上に直接送信された PTP フレームのフィルタリングのため に DA MAC アドレス(MAC Address レジスタ 0-31 とマッチする) が使用されます。 [bit17,16] TSPS (Select PTP packet for taking snapshots) これらのビットは、TSMRM, TETSEM ビットとの組合せによって、スナップショットを生成する 必要がある PTP パケットタイプのセットを決定します。これらのビットのエンコードを表 4-3 ソ ース・アドレス・フィルタリング・テーブルに示しています。 [bit15] TSMRM(Enable Snapshot for Messages Relevant to Master) このビットをセットすると、マスタノードに関連するメッセージのスナップショットだけが生成 されます。セットしていない場合は、スレーブノードに関連するメッセージのスナップショット が生成されます。これは通常クロックノードと境界クロックノードにのみ有効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 94 83 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit14] TETSEM(Enable Time Stamp Snapshot for Event Messages) こ の ビッ トを セッ ト すると 、 イベ ント ・メ ッセ ージ (SYNC, Delay_Req, Pdelay_Req, ま た は Pdelay_Resp)のタイムスタンプスナップショットだけが生成されます。このビットをリセットする と、Announce, Management, および Signaling を除くほかのすべてのメッセージのスナップショッ トが生成されます。 [bit13] TSIP4E (Enable Time Stamp Snapshot for IPv4 frames) このビットをセットすると、IPv4 フレームのタイムスタンプスナップショットが生成されます。 [bit12] TSIP6E (Enable Time Stamp Snapshot for IPv6 frames) このビットをセットすると、IPv6 フレームのタイムスタンプスナップショットが生成されます。 [bit11] TETSP (Enable Time Stamp Snapshot for PTP over Ethernet frames) このビットをセットすると、Ethernet フレーム(Ethernet 上の PTP)に PTP メッセージがあるフレー ムのタイムスタンプスナップショットも生成されます。デフォルトでは、UDP-IP-Ethernet PTP パ ケットのタイムスタンプスナップショットが生成されます。 [bit10] TSV2E (Enable PTP packet snooping for version 2 format) このビットをセットすると、PTP パケットは 1588 バージョン 2 フォーマットを使用してスヌープ されます。このビットをリセットすると、バージョン 1 フォーマットを使用してスヌープされま す。 [bit9] TSDB (Time Stamp Digital or Binary rollover control) このビットをセットすると、Time Stamp Low レジスタは 0x3B9A_C9FF 値(精度 1 ns)後でロールオ ーバし、Time Stamp (High)の秒数をインクリメントします。このビットをリセットすると、秒未満 レジスタのロールオーバ値は 0x7FFF_FFFF となります。秒未満の増分は、PTP リファレンスクロ ック周波数およびこのビットの値に従って正確にプログラムされる必要があります。 [bit8] TSEA (Enable Time Stamp for All Frames) このビットをセットすると、GMAC が受信したすべてのフレームのタイムスタンプスナップショ ットが許可されます。 [bit5] TARU (Addend Register Update) このビットをセットすると、Fine correction のために Time Stamp Addend レジスタの PTP ブロック の内容が更新されます。更新が完了したとき、このビットがクリアされます。このレジスタビッ トは、セットする前に 0 にしておく必要があります。これは coarse correction オプションだけが選 択されているときは予約ビットとなります。 [bit4] TITE (Time Stamp Interrupt Trigger Enable) このビットをセットすると、System Time が Target Time レジスタに書き込まれている値よりも大き くなったとき、Time Stamp 割込みが生成されます。このビットは、Time Stamp Trigger Interrupt が 生成された後にリセットされます。 [bit3] TSU (Time Stamp Update) このビットをセットすると、システムタイムが Time Stamp High Update および Time Stamp Low Update レジスタによって指定された値によって更新(加算/減算)されます。このレジスタビットは、 更新される前は 0 でなければなりません。ハードウェアで更新が完了した後、このビットがリセ ットされます。Time Stamp Higher Word レジスタは更新されません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 95 84 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit2] TSI (Time Stamp Initialize) このビットをセットすると、システムタイムが Time Stamp High Update および Time Stamp Low Update レジスタによって指定された値によって更新(上書き)されます。このレジスタビットは、更 新される前は 0 でなければなりません。初期化が完了した後、このビットは、リセットされます。 Time Stamp Higher Word レジスタは初期化することのみができます。 [bit1] TFCU (Time Stamp Fine or Coarse Update) このビットをセットすると、システムタイムの更新が Fine 更新方法を使って行われます。このビ ットをリセットすると、システムタイムスタンプの更新が Coarse 更新方法を使って行われます。 [bit0] TSE (Time Stamp Enable) このビットをセットすると、送信および受信フレームのシステムタイムスタンプの生成が許可さ れます。このビットをリセットすると、送信および受信フレームに対してタイムスタンプは生成 されず、TimeStamp Generator は一時停止します。このモードをイネーブルした後、必ず TimeStamp (システムタイム)を初期化しなければなりません。 表 4-4 タイムスタンプスナップショットとレジスタビットの関係 TSPS TSMRM TETSEM スナップショットが生成されるメッセージ 00 X 0 SYNC, Follow_Up, Delay_Req, Delay_Resp 00 0 1 SYNC 00 1 1 Delay_Req 01 X 0 SYNC, Follow_Up, Delay_Req, Delay_Resp, PDelay_Req, PDelay_Resp, PDelay_Resp_Follow_Up 01 0 1 SYNC, PDelay_Req, PDelay_Resp 01 1 1 Delay_Req, Pdelay_Req, Pdelay_Resp 10 X X SYNC, Delay_Req 11 X X PDelay_Req, PDelay_Resp MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 96 85 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.20. GMAC Register 449 (SSIR) Coarse Update モード(Time Stamp Control Register の TFCU ビット)では、このレジスタ内 の値は PTP_CLK のクロックサイクルごとにシステムタイムに加算されます。Fine Update モードでは、このレジスタ内の値はアキュムレータがオーバフローになったときにシステム タイムに加算されます。 SSIR (Sub-Second Increment Register) bit 31 30 Address 0704h 29 28 初期値 bit 26 25 24 予約 Field 属性 27 R/WSC R R R R R R R - - - - - - - - 23 22 21 20 19 18 17 16 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - bit 7 6 5 4 3 2 1 0 Field 属性 初期値 SSINC R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit7:0] SSINC (Sub-Second Increment Value) このレジスタでプログラムされた値がサブセカンドレジスタの内容に応じて累積されます。例え ば、20ns の精度を得るには、値 20 にプログラムします(1ns の精度が選択されている場合、50MHz リファレンスクロックで 0x14 になります)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 97 86 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.21. GMAC Register 450 (STSR) System Time - Seconds レジスタは、System Time - Nanoseconds レジスタと合わせて、現 在保持されているシステムタイムの値を示します。この値は継続的に更新されますが、クロ ックドメイン転送遅延(PTP_CLK から SYS_CLK)のために実際の時間からは少し遅延します。 STSR (System Time - Seconds Register) bit 31 30 Address 0708h 29 Field 28 27 26 25 24 TSS[31:24] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field TSS[23:16] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field TSS[15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field TSS[7:0] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit31:0] TSS (Time Stamp Second) このフィールドの値は、保持されている現在の System Time の秒の値を示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 98 87 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.22. GMAC Register 451 (STNR) System Time - Nanoseconds レジスタは、System Time - Seconds レジスタと合わせて使用 します。 STNR (System Time - Nanoseconds Register) bit 31 30 29 Address 070Ch 28 27 26 25 24 Field 予約 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 TSSS[30:24] Field TSSS[23:16] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field TSSS[15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field TSSS[7:0] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit30:0] TSSS (Time Stamp Sub-Seconds) このフィールドの値は、時間の秒以下の部分を表し、精度は 0.46 ns です(TSDB がセットされてい るとき、各ビットは 1ns を表し、最大値は 0x3B9A_C9FF になり、それを超えるとロールオーバし、 0 になります)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 99 88 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.23. GMAC Register 452 (STSUR) System Time - Seconds Update レジスタは、System Time - Nanoseconds Update レジスタ と合わせて、保持されているシステムタイムを初期化または更新します。Time Stamp Control レジスタで TSINIT または TSUPDT ビットをセットする前に、この両方のレジスタに書き込 む必要があります。 STSUR (System Time - Seconds Update Register) bit 31 30 29 Field 属性 Address 0710h 28 27 26 25 24 TSS[31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 R/W Field 属性 TSS[23:16] R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 TSS[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TSS[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit31:0] TSS (Time Stamp Second) このフィールドの値は、システムタイムの初期値またはシステムタイムに加算する時間を秒単位 で示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 100 89 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.24. GMAC Register 453 (STNUR) System Time - Nanoseconds Update レジスタは、System Time - Seconds Update レジスタ と合わせて使用します。 STSNUR (System Time - Nanoseconds Update Register) bit 31 30 29 Address 0714h 28 27 26 25 24 Field ADDSUB TSSS[30:24] 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 TSSS[23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 TSSS[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TSSS[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit31] ADDSUB (Add or Subtract Time) このビットをセットすると、タイム値から更新レジスタの内容が減算されます。このビットをリ セットすると、タイム値に更新レジスタの内容が加算されます。 [bit30:0] TSSS (Time Stamp Sub-Seconds) このフィールドの値は、時間の秒以下の部分を表し、精度は 0.46 ns です(タイムスタンプコントロ ールレジスタで TSDB がセットされているとき、各ビットは 1ns を表し、プログラムできる最大 値は 0x3B9A_C9FF です)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 101 90 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.25. GMAC Register 454 (TSAR) このレジスタ値は、システムタイムが Fine Update モードに設定されている(GMAC Register 448 の TFCU ビット)ときにのみ使用されます。PTP_CLK のクロックサイクルごとにこのレ ジスタの内容が 32 ビットのアキュムレータに加算され、アキュムレータがオーバフローにな ったときにシステムタイムが更新されます。 TSAR (Time Stamp Addend Register) bit 31 30 Address 0718h 29 Field 属性 28 27 26 25 24 TSAR[31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 TSAR[23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 TSAR[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TSAR[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit31:0] TSAR (Time Stamp Addend Register) このレジスタは、 時間同期のためにアキュムレータレジスタに加算される 32 ビット値を示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 102 91 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.26. GMAC Register 455 (TTSR) Target Time Seconds register は、Target Time Nanoseconds レジスタと合わせて使用され、 システムタイムがこれらのレジスタでプログラムされている値を超えたときに割込みイベン ト(レジスタ 458 の TSTART ビット, またはレジスタ 14[9]の TSIS ビット)をスケジュールし ます。 TTSR (Target Time Seconds Register) bit 31 30 Address 071Ch 29 Field 属性 28 27 26 25 24 TSTR[31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 R/W Field 属性 TSTR[23:16] R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 TSTR[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TSTR[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit31:0] TSTR (Target Time Stamp Seconds Register) このレジスタは時間を秒単位で保存します。タイムスタンプ値が両方の Target Time Stamp レジス タの値と一致するかそれを超えているとき、GMAC は(イネーブルされている場合)割込みを生成 します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 103 92 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.27. GMAC Register 456 (TTNR) Target Time Nanoseconds レジスタは、Target Time Seconds register と合わせて使用します。 TTNR (Target Time Nanoseconds Register) bit 31 30 Address 0720h 29 28 27 26 25 24 Field 予約 属性 R R/W R/W R/W R/W R/W R/W R/W 初期値 - 0 0 0 0 0 0 0 23 22 21 20 19 18 17 16 bit TSTR[30:24] Field 属性 TSTR[23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 TSTR[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TSTR[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit30:0] TSTR (Target Time Stamp Nanoseconds Register) このレジスタは時間を(符号付き) ns 単位で保存します。Time Stamp の値が両方の Target Time Stamp レジスタの値と一致するとき、GMAC は(イネーブルされている場合)割込みを生成します (TSDB がタイムスタンプコントロールレジスタでセットされているとき、この値は 0x3B9A_C9FF を超えてはいけません)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 104 93 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.28. GMAC Register 457 (STHWSR) このレジスタは、タイムスタンプの 48 ビット秒値の上位 16 ビットを読み出します。 STHWSR (System Time - Higher Word Seconds Register) bit 31 30 29 Address 0724h 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit Field 属性 TSHWR[15:8] R/WSU R/WSU R/WSU R/WSU R/WSU R/WSU R/WSU R/WSU 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TSHWR[7:0] R/WSU R/WSU R/WSU R/WSU R/WSU R/WSU R/WSU R/WSU 0 0 0 0 0 0 0 0 [bit15:0] TSHWR (Time Stamp Higher Word Register) タイムスタンプの秒値の上位 16 ビットを含みます。値を初期化するときは、このレジスタに直接 に書き込みます。このレジスタは、System Time - Seconds レジスタの 32 ビットからのオーバフロ ーがあるとき、インクリメントされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 105 94 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.29. GMAC Register 458 (TSR) このレジスタは、システムタイムカウンタへの操作のステータスを表示します。 TSR (Time Stamp Status Register) bit 31 Address 0728h 30 29 28 27 予約 Field 26 25 ATSNS 24 ATSSTM 属性 R R R R R R R R_SS_RC 初期値 - - - - 0 0 0 0 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - bit 7 6 5 4 3 2 1 0 TRGTER ATSTS TSTART TSSOVF 予約 Field 属性 R R R R 初期値 - - - - R_SS_RC R_SS_RC R_SS_RC R_SS_RC - 0 0 0 このレジスタがホストによってリードされた後、[bit27:25]を除くすべてのビットがクリアされます。 [bit27:25] ATSNS(Auxiliary Time Stamp Number of Snapshots) 予約ビットです。 [bit24] ATSSTM(Auxiliary Time Stamp Snapshot Trigger Missed) 予約ビットです。 [bit3] TRGTER (Time Stamp Target Time Error) Target Time レジスタ(GMAC Register 455(TTSR)、GMAC Register 456(TTNR))にプログラムする 際、既にその時間を経過している場合、このビットがセットされます。このビットは、アプリケ ーションからの読出しによりクリアされます。 [bit2] ATSTS(Auxiliary Time Stamp Trigger Snapshot) 予約ビットです。 [bit1] TSTART (Time Stamp Target Time Reached) このビットがセットされると、システムタイムの値が Target Time Seconds および Nanoseconds レジ スタで指定された値と等しいかそれより大きいことを示します。 [bit0] TSSOVF(Time Stamp Seconds Overflow) このビットがセットされると、タイムスタンプの秒値(バージョン 2 のフォーマットをサポートす る場合)が 0xFFFF_FFFF を超えてオーバフローしたことを示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 106 95 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.30. GMAC Register 459 (PPSCR) このレジスタは、PTPPPS 出力端子の制御を行います。 PPSCR (PPS Control Register) bit 31 Address 072Ch 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 23 22 21 20 19 18 17 16 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - 15 14 13 12 11 10 9 8 bit 予約 Field 属性 R R R R R R R R 初期値 - - - - - - - - bit 7 6 5 4 3 2 1 0 予約 Field PPSCTRL[3:0] 属性 R R R R R/W R/W R/W R/W 初期値 - - - - 0 0 0 0 [bit3:0] PPSCTRL (Controls the frequency of the PPS output) これらのビットは、PPS 出力(PTPPPS)信号の動作をコントロールします。PPSCTRL のデフォルト 値は 0000 で、PPS 出力は 1 パルス(幅 PTP_CLK)/秒です。 PPSCTRL がほかの値のとき、PPS 出力は以下の周波数の生成クロックになります。 PPSCTRL 0001 0010 0011 0100 … 1111 MN706-00015-2v0-J バイナリロールオーバ デジタルロールオーバ 2Hz 4Hz 8Hz 16Hz 1Hz 2Hz 4Hz 8Hz 32.768kHz 16.384kHz FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 107 96 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ <注意事項> バイナリロールオーバモードでは、これらの周波数での PPS 出力(PTPPPS)のデューティサイクル は 50%です。 デジタルロールオーバモードでは、PPS 出力周波数は平均値です。実際のクロックは周波数が異 なり、1 秒ごとに同期されます。例えば、 PPSCTRL = 0001 のとき、PPS (1 Hz)は Low 時間が 537 ms で、High 時間が 463 ms です。 PPSCTRL = 0010 のとき、PPS (2 Hz)は以下のシーケンスになります。 最初のクロックは 50%デューティサイクル、時間が 537 ms 2 番目のクロックは時間が 463 ms (Low 時間が 268 ms, High 時間が 195 ms) PPSCTRL = 0011 のとき、PPS (4 Hz)は以下のシーケンスになります。 最初の 3 つのクロックは 50%デューティサイクル、時間が 268 ms 4 番目のクロックは時間が 195 ms (Low 時間が 134 ms, High 時間が 61 ms) この動作は、GMAC Register 451 (STNR)のデジタルロールオーバモードでのビットの非直線的なト グルによるものです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 108 97 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.31. GMAC Register 460 (ATNR) このレジスタは、Reserved レジスタです。 ATNR (Auxiliary Time Stamp - Nanoseconds Register) bit 31 30 29 Address 0730h 28 27 26 25 24 Field 予約 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 ATN Field ATN 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field ATN 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field ATN 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 このレジスタは、Reserved レジスタです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 109 98 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.32. GMAC Register 461 (ATSR) このレジスタは、Reserved レジスタです。 ATSR (Auxiliary Time Stamp - Seconds Register) bit 31 30 29 Address 0734h 28 Field 27 26 25 24 ATS 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field ATS 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field ATS 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field ATS 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 このレジスタは、Reserved レジスタです。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 110 99 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.33. DMA Register 0 (BMR) このレジスタは、DMA の動作モードを設定します。 BMR (Bus Mode Register) bit Address 1000h 31 30 29 28 予約 Field 27 26 25 24 TXPR MB AAL 8xPBL 属性 R R R R R/W R/W R/W R/W 初期値 - - - - 0 0 0 0 23 22 21 20 19 18 17 16 bit Field USP 属性 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 1 0 bit 15 14 13 12 11 10 9 8 Field 属性 RPBL FB PR PBL[5:0] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 1 bit 7 6 5 4 3 2 1 0 DA SWR Field ATDS 属性 R/W R/W R/W R/W R/W R/W R/W R/WS_SC 0 0 0 0 0 0 0 1 初期値 DSL[4:0] [bit27] TXPR (Transmit Priority) このビットをセットすると、AHB マスタ・インタフェースでのバス・アービトレーションで、送 信 DMA が受信 DMA よりもプライオリティが高くなります。 [bit26] MB (Mixed Burst) このビットを 1, FB ビットを 1 にしたとき、AHB マスタ・インタフェースはバースト長が 16 を超 えるすべてのバーストを INCR (不定長バースト)で開始し、バースト長が 16 以下の場合は固定長 バースト転送(INCRx および SINGLE)に戻ります。 [bit25] AAL (Address-Aligned Beats) このビットは Reserved です。常に 0 をライトして使用します。 [bit24] 8xPBL (8xPBL Mode) このビットを 1 にセットしたとき、プログラムされている PBL 値 (bit[22:17]および bit[13:8])を 8 倍にします。したがって、DMA は、PBL 値に従ってデータを最大 8, 16, 32, 64, および 128 ビット にデータを転送します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 111 100 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit23] USP (Use Separate PBL) このビットを 1 にセットしたとき、受信 DMA が bit[22:17]で設定されている値を PBL として使用 するように設定します。bit[13:8]の PBL 値は送信 DMA 動作にのみ適用されます。このビットを 0 にリセットすると、bit[13:8]の PBL 値が両方の DMA エンジンに適用されます。 [bit22:17] RPBL (RxDMA PBL) この値は、1 回の RxDMA トランザクションで実施される不定長バースト (INCR) の最大数を指定 します。受信 DMA は、ホストバス上でバースト転送を開始するとき、常に RPBL によって指定さ れたとおりバーストを試みます。RPBL はプログラム可能で、許容値は 1, 2, 4, 8, 16, 32 です。ほか の値を指定したときの動作は未定義です。これらのビットは USP が 1 にセットされているときの み有効で、適用可能です。 [bit16] FB (Fixed Burst) このビットは、AHB マスタ・インタフェースが固定長バースト転送を実行するか否かをコントロ ールします。このビットをセットすると、AHB は、通常のバースト転送の開始時に、SINGLE, INCR4, INCR8, または INCR16 のみを使用します。このビットをリセットすると、AHB は、SINGLE およ び INCR バースト転送動作を使用します。 [bit15, 14] PR (Rx:Tx priority ratio) このビットは、受信 DMA と送信 DMA の間の重み付きラウンドロビンアービトレーションでのプ ライオリティ比をコントロールします。このビットは、DMA Arbitration Scheme (DA: bit1)=0 時の み有効です。以下のプライオリティ比記載は、Transmit Priority (TXPR: bit27)=0 時、受信:送信, bit27=1 時、送信:受信です。 00 : 01 : 10 : 11 : 1:1 2:1 3:1 4:1 [bit13:8] PBL (Programmable Burst Length) この値は、1 回の DMA トランザクションで実施される不定長バースト (INCR) の最大数を指定し ます。DMA は、ホストバス上でバースト転送を開始するとき、常に PBL によって指定されたと おりバーストを試みます。PBL はプログラム可能で、許容値は 1, 2, 4, 8, 16, 32 です。ほかの値を 指定したときの動作は未定義です。USP が 1 にセットされているとき、この PBL 値は送信 DMA トランザクションにのみ適用されます。 8xPBL がセットされているとき、PBL の最大値は 16 です。 転送するビットの数が 33 以上である場合、以下の手順を実行します。 1. 8xPBL モードをセットします。 2. PBL をセットします。 例えば、転送するビットの最大数が 64 である場合、最初に 8xPBL を 1 にセットし、次に PBL を 8 にセットします。 [bit7] ATDS(Alternate Descriptor Size) このビットを 1 にセットすると、ディスクリプタのサイズが 32 バイト(8 word)になります。これ はタイムスタンプ機能がイネーブルされるときに必要となります。このビットを 0 にリセットす ると、ディスクリプタのサイズが 16 バイト (4 word) となり、TDES4-7, RDES4-7 に対する処理が 行われなくなります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 112 101 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit6:2] DSL [4:0](Descriptor Skip Length) このビットは、2 つの Chain されていないディスクリプタの間でスキップする Word 数を指定しま す。現在のディスクリプタの終わりから次のディスクリプタの開始までアドレススキッピングが 行われます。Ring モードで、DSL 値が 0 のとき、DMA はディスクリプタテーブルが隣接してい ると見なします。 [bit1] DA (DMA Arbitration scheme) 0: Rx:Tx または Tx:Rx を指定した重み付きラウンドロビンが選択されます。 パス間のプライオリティは、PR と TXPR で指定されたプライオリティの重みに従います。 1: 固定プライオリティ。 TXPR=1 時、送信 DMA が受信 DMA に優先します。TXPR=0 時、受信 DMA が送信 DMA に優 先します。 [bit0] SWR (Software Reset) このビットを 1 にセットすると、DMA Controller はすべての内部レジスタおよびロジックをリセ ットします。このビットは、すべてのクロックドメインでリセット動作が完了した後、自動的に クリアされます。いずれかのレジスタを再プログラムするときは、その前にこのビットから 0 が 読み出せる状態である必要があります。 <注意事項> リセット動作は、すべてのアクティブクロック内のすべてのリセットがデアサートされている ときにのみ完了します。したがって、ソフトリセットが完了するためには、(選択した PHY イ ンタフェースに適用される)すべての PHY 入力クロックが存在することが不可欠です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 113 102 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.34. DMA Register 1 (TPDR) Transmit Poll Demand レジスタは、送信 DMA に対して、現在のディスクリプタが DMA によ って所有されているかどうかをチェックすることを指示します。 TPDR (Transmit Poll Demand Register) bit 31 30 Address 1004h 29 Field 属性 28 27 26 25 24 TPD[31:24] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 TPD[23:16] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 TPD[15:8] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 TPD[7:0] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 0 0 0 0 0 0 0 0 Transmit Poll Demand コマンドは、送信 DMA が Suspend モードの場合、ウェイクアップするため に発行します。送信 DMA は、送信フレームの Underflow エラーや、所有されているディスクリプ タが利用できないために Suspend モードになることがあります。このコマンドはいつでも発行で き、送信 DMA はホストメモリから現在のディスクリプタの再取込みを開始した後でこのコマンド をリセットします。 [bit31:0] TPD (Transmit Poll Demand) このビットに何らかの値が書き込まれたとき、DMA は DMA Register 18 (CHTDR)によって指定さ れている現在のディスクリプタを読み出します。そのディスクリプタが利用できない場合(ホスト によって所有されている場合)、送信は Suspend ステートに戻り、DMA Register 5[2]がアサートさ れます。ディスクリプタが利用可能である場合、送信が再開されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 114 103 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.35. DMA Register 2 (RPDR) Receive Poll Demand レジスタは、受信 DMA が新しいディスクリプタをチェックすることを 指示します。 RPDR ( Receive Poll Demand Register) bit 31 30 Address 1008h 29 Field 属性 28 27 26 25 24 RPD[31:24] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 RPD[23:16] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 RPD[15:8] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 RPD[7:0] R/WT R/WT R/WT R/WT R/WT R/WT R/WT R/WT 0 0 0 0 0 0 0 0 受信 DMA を Suspend ステートからウェイクアップするためにこのコマンドを発行します。受信 DMA が Suspend ステートになるのは、受信 DMA によって所有されているディスクリプタが存在 しない場合だけです。 [bit31:0] RPD[31:0] (Receive Poll Demand) これらのビットに何らかの値が書き込まれたとき、DMA は DMA Register 19 によって指定されて いる現在のディスクリプタを読み出します。そのディスクリプタが利用できない場合(ホストによ って所有されている場合)、受信は Suspended ステートに戻り、DMA Register 5[7]がアサートされ ます。ディスクリプタが利用可能である場合、受信 DMA はアクティブステートに戻ります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 115 104 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.36. DMA Register 3 (RDLAR) Receive Descriptor List Address レジスタは、Receive Descriptor List の先頭を指定します。 RDLAR (Receive Descriptor List Address Register) bit 31 30 Address 100Ch 29 28 Field 属性 27 26 25 24 SRL[31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 SRL[23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 SRL[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 SRL[7:2] Must be 0 R/W R/W R/W R/W R/W R/W R R 0 0 0 0 0 0 0 0 初期値 ディスクリプタリストはホストの物理メモリスペースにあり、ワードアラインされていなければ なりません。DMA は、対応する LS ビットを 0 にすることによって、それをバス幅にアライメン トされたアドレスに内部的に変換します。DMA Register 3 への書込みは、受信が停止していると きのみ行えます。受信停止しているとき、受信 Start コマンドを発行する前に DMA Register 3 への 書込みを行わなければなりません。 [bit31:2] SRL[31:2] (Start of Receive List) このフィールドは、Receive Descriptor リスト内の最初のディスクリプタのベースアドレスを含み ます。 [bit1:0] Must be 0 これらのビットには、必ず 0 を書き込んでください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 116 105 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.37. DMA Register 4 (TDLAR) Transmit Descriptor List Address レジスタは、Transmit Descriptor List の先頭を指定します。 TDLAR ( Transmit Descriptor List Address Register) bit 31 30 Address 1010h 29 28 Field 属性 27 26 25 24 STL[31:24] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 STL[23:16] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field 属性 STL[15:8] R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 STL[7:2] Must be 0 R/W R/W R/W R/W R/W R/W R R 0 0 0 0 0 0 0 0 初期値 ディスクリプタリストはホストの物理メモリスペースにあり、ワードアラインされていなければ なりません。DMA は、対応する LS ビットを 0 にすることによってそれをバス幅アライメントさ れたアドレスに内部的に変換します。DMA Register 4 への書込みは、送信が停止しているときの み許可されます。送信停止しているとき、送信 Start コマンドを発行する前に DMA Register 4 への 書込みを行うことができます。 [bit31:2] STL (Start of Transmit List) このフィールドは、Transmit Descriptor リスト内の最初のディスクリプタのベースアドレスを含み ます。 [bit1:0] Must be 0 これらのビットには、必ず 0 を書き込んでください。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 117 106 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.38. DMA Register 5 (SR) ステータスレジスタは、DMA がホストにレポートするすべてのステータスビットを含みます。 SR (Status Register) bit Address 1014h 31 30 29 28 27 26 Field 予約 GLPII TTI GPI GMI GLI 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 24 EB[2:1] Field EB[0] 属性 R R R R R R R R_SS_WC 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 AIS ERI FBI ETI RWT RPS Field 属性 TS[2:0] 25 R_SS_WC R_SS_WC R_SS_WC RS[2:0] 予約 R R NIS R_SS_WC R_SS_WC R_SS_WC 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 RU RI UNF OVF TJT TU TPS TI Field 属性 初期値 R_SS_WC R_SS_WC R_SS_WC R_SS_WC R_SS_WC R_SS_WC R_SS_WC R_SS_WC 0 0 0 0 0 0 0 0 DMA Register 5 は通常、割込みサービスルーチンまたはポーリング中にソフトウェアドライバに よって読み込まれます。このレジスタのほとんどのフィールドは、ホストへの割込みを発生させ ます。DMA Register 5 のビットは、読出しによってクリアされません。DMA Register 5[16:0]の Reserved 以外のビットに 1 を書き込むとそれらのビットがクリアされます。0 の書込みは無効です。 各フィールド(bit[16:0])は、DMA Register 7 で該当するビットをマスクすることによってマスクで きます。 [bit30] GLPII (GMAC LPI Interrupt) このビットは、GMAC の LPI ロジック内の割込みイベントを示します。このビットを 0 にリセッ トするには、ソフトウェアは対応するレジスタを読み出し、割込みの正確な原因を突き止め、そ の原因を除去しなければなりません。このビットが 1 のとき、割込み信号(INT_SBD および INT_LPI)がアサートされています。 [bit29] TTI (Time-Stamp Trigger Interrupt) このビットは、GMAC の Time Stamp Generator ブロック内の割込みイベントを示します。このビ ットを 0 にリセットするには、ソフトウェアは対応するレジスタを読み出し、割込みの正確な原 因を突き止め、その原因を除去しなければなりません。このビットが 1 のとき、割込み信号 (INT_SBD)がアサートされています。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 118 107 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit28] GPI (GMAC PMT Interrupt) このビットは、Wake-up Frame または Magic Packet の割込みイベントを示します。このビットを 0 にリセットするには、ソフトウェアは対応するレジスタを読み出し、割込みの正確な原因を突き 止め、その原因を除去しなければなりません。このビットが 1 のとき、割込み信号(INT_SBD およ び INT_PMT)がアサートされています。 <注意事項> INT_PMT は RX_CLK ドメインで生成されるため、PMT ステータスレジスタへのリード時のクリ アは即時には行われません。生成されるクリア信号が RX_CLK ドメインへ送られ、そのときに割 込みソースがクリアされます。この遅延は、RX_CLK の 4 クロックサイクル以上であり、 Ethernet-MAC が 10 Mbps モードで動作しているときには重大な影響を及ぼすことがあります。 [bit27] GMI (GMAC MMC Interrupt) このビットは、MMC レジスタ内の割込みイベントを反映します。このビットを 0 にリセットする には、ソフトウェアは対応するレジスタを読み出し、割込みの正確な原因を突き止め、その原因 を除去しなければなりません。このビットが 1 のとき、割込み信号(INT_SBD)がアサートされてい ます。 [bit26] GLI(GMAC Line interface Interrupt) このビットは、予約ビットです。 [bit25:23] EB (Error Bits) これらのビットは、AHB バスアクセス時のバスエラーの原因となったエラーのタイプを示します。 これは Fatal Bus Error ビット(DMA Register 5[13])がセットされているときのみ有効です。このフィ ールドは割込みを生成しません。 bit23=1 :送信 DMA のデータ転送中のエラー bit23=0 :受信 DMA のデータ転送中のエラー bit24=1 :リード転送中のエラー bit24=0 :ライト転送中のエラー bit25=1 :ディスクリプタアクセス中のエラー bit25=0 :データバッファアクセス中のエラー [bit22:20] TS (Transmit Process State) これらのビットは、送信 DMA の状態を示します。このフィールドは割込みを生成しません。 000 : Stopped - Reset または Stop Transmit コマンドが発行された 001 : Running - 送信転送ディスクリプタ(Transmit Transfer Descriptor)の取込み中 010 : Running - ステータス待ち 011 : Running - メモリバッファからデータを読み出し、データを送信バッファのキューに入れ ている 100 : タイムスタンプ書込みステート 101 : 予約 110 : Suspended - 送信バッファアンダフロー、または送信ディスクリプタが利用不能 111 : Running - 送信ディスクリプタの終了中 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 119 108 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit19:17] RS (Receive Process State) これらのビットは、受信 DMA の状態を示します。このフィールドは割込みを生成しません。 000:Stopped - Reset または Stop Receive コマンドが発行された 001:Running - 受信転送ディスクリプタ(Receive Transfer Descriptor)の取込み中 010:予約 011:Running - 受信パケット待ち 100:Suspended - 受信ディスクリプタが利用不能 101:Running - 受信ディスクリプタの終了中 110:タイムスタンプ書込みステート 111:Running - 受信バッファからホストメモリへ受信パケットデータを転送中 [bit16] NIS (Normal Interrupt Summary) Normal Interrupt Summary ビットの値は、下記のビットのうち DMA Register 7 で対応する割込みビ ットがイネーブルにされているビットの論理 OR です。 DMA Register 5[0]: Transmit Interrupt DMA Register 5[2]: Transmit Buffer Unavailable DMA Register 5[6]: Receive Interrupt DMA Register 5[14]: Early Receive Interrupt マスクされていないビットだけが Normal Interrupt Summary ビットに影響します。 これは sticky ビットであり、NIS がセットされる原因となった対応するビットをクリアするたびに、 (このビットに 1 を書き込んで) クリアしなければなりません。 [bit15] AIS (Abnormal Interrupt Summary) Abnormal Interrupt Summary ビットの値は、下記のビットのうち DMA Register 7 で対応する割込み ビットがイネーブルにされているビットの論理 OR です。 DMA Register 5[1]: Transmit Process Stopped DMA Register 5[3]: Transmit Jabber Timeout DMA Register 5[4]: Receive Overflow DMA Register 5[5]: Transmit Underflow DMA Register 5[7]: Receive Buffer Unavailable DMA Register 5[8]: Receive Process Stopped DMA Register 5[9]: Receive Watchdog Timeout DMA Register 5[10]: Early Transmit Interrupt DMA Register 5[13]: Fatal Bus Error マスクされていないビットだけが Abnormal Interrupt Summary ビットに影響します。 これは、sticky ビットであり、AIS がセットされる原因となった対応するビットをクリアするたび にクリアしなければなりません。 [bit14] ERI (Early Receive Interrupt) このビットは、DMA がパケットの最初のデータバッファを充填したことを示します。Receive Interrupt DMA Register 5[6]は、このビットを自動的にクリアします。 [bit13] FBI (Fatal Bus Error Interrupt) このビットは、EB[2:0]で詳しく記述するエラーが発生したことを示します。このビットがセット されているとき、対応する DMA エンジンは、そのすべてのバスアクセスをディセーブルします。 [bit10] ETI (Early Transmit Interrupt) このビットは、送信するフレームを完全に MTL Transmit FIFO に転送したことを示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 120 109 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit9] RWT (Receive Watchdog Timeout) このビットは、2048 バイト(Jumbo Frame モードがイネーブルされているときは 10240 バイト)を超 える長さのフレームが受信されたときにアサートされます。 [bit8] RPS (Receive process Stopped) このビットは、受信プロセスが Stopped ステートに入ったときにアサートされます。 [bit7] RU (Receive Buffer Unavailable) このビットは、受信リスト内の次のディスクリプタがホストによって所有されていて、DMA がそ れを取得できないことを示します。受信プロセスは Suspend されます。受信ディスクリプタの処 理を再開するには、ホストがディスクリプタの所有権を変更し、Receive Poll Demand コマンドを 発行しなければなりません。Receive Poll Demand コマンドが発行されない場合、受信フレームの 転送処理は、次の受信フレームが認識されたときに再開します。DMA Register 5[7]は、前の受信デ ィスクリプタが DMA によって所有されている場合にのみセットされます。 [bit6] RI (Receive Interrupt) このビットは、フレーム受信の完了を示します。個別のフレームのステータス情報はディスクリ プタに書き込まれます。受信は Running ステートのままです。 [bit5] UNF (Transmit underflow) このビットは、フレーム送信中に送信バッファがアンダフローになったことを示します。送信は 中断され、Underflow Error TDES0[1]がセットされます。 [bit4] OVF (Receive Overflow) このビットは、フレーム受信中に受信バッファがオーバフローになったことを示します。部分的 なフレームがアプリケーションに転送された場合、オーバフローステータスが RDES0[11]にセッ トされます。 [bit3] TJT (Transmit Jabber Timeout) このビットは、Transmit Jabber Timer が時間切れになったことを示します。これはトランスミッタ が過度にアクティブであったことを示します。送信プロセスがアボートされ、Stopped ステートに なります。それによって Transmit Jabber Timeout TDES0[14]フラグがアサートされます。 [bit2] TU (Transmit Buffer Unavailable) このビットは、送信リスト内の次のディスクリプタがホストによって所有されていて、DMA がそ れを取得できないことを示します。送信が中断されます。bit[22:20]が送信プロセスの状態遷移を 示します。送信ディスクリプタの処理を再開するには、ホストがディスクリプタの所有権を変更 し、Transmit Poll Demand コマンドを発行しなければなりません。 [bit1] TPS (Transmit Process Stopped) このビットは、送信が停止されたときにセットされます。 [bit0] TI (Transmit Interrupt) このビットは、フレーム送信が完了し、最初のディスクリプタの TDES1[31]がセットされたこと を示します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 121 110 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.39. DMA Register 6 (OMR) Operation Mode レジスタは、送受信オペレーティングモードおよびコマンドを指定します。 このレジスタは、DMA 初期化時の最後に書き込みます。 OMR (Operation Mode Register) bit 31 Address 1018h 30 29 28 27 予約 Field 26 25 24 DT RSF DFF 属性 R R R R R R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 TSF FTF 予約 Field 予約 TTC[2] 属性 R R R/W R/WS_SC R R R R/W 初期値 - - 0 0 0 0 0 0 15 14 13 12 11 10 9 8 bit Field 属性 TTC[1:0] 予約 ST R/W R/W R/W R R R R R 初期値 0 0 0 - - - - - bit 7 6 5 4 3 2 1 0 Field FEF FUF 予約 OSF SR 予約 属性 R/W R/W R R/W R/W R/W R/W R 0 0 0 0 0 0 0 0 初期値 RTC[1:0] [bit26] DT (Disable Dropping of TCP/IP Checksum Error Frames) このビットをセットすると、GMAC は、Receive Checksum Offload エンジンによるエラー検出のみ のフレームを廃棄しません。このようなフレームは、GMAC が受信した Ethernet フレーム内には いかなるエラーも含まず(FCS エラーを含めて)、カプセル化されたペイロードにのみエラーが含ま れています。このビットをリセットすると、FEF ビットがリセットされている場合にすべてのエ ラーフレームが廃棄されます。 [bit25] RSF (Receive Store and Forward) このビットをセットすると、MTL 受信 FIFO にすべての受信フレームデータが書き込まれた後に、 ホストメモリへの転送を開始し、RTC ビットを無視します。このビットをリセットすると、受信 FIFO は Cut-Through モードで動作し、RTC ビットによって指定されたしきい値に従って、ホスト メモリへの転送を開始します。 [bit24] DFF (Disable Flushing of Received Frames) このビットをセットすると、受信 DMA は、受信ディスクリプタ/バッファが利用不能であるため に、通常(このビットがリセットされているとき)のようなフレームのフラッシュを行いません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 122 111 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit21] TSF (Transmit Store Forward) このビットをセットすると、MTL 送信 FIFO にすべての送信フレームが転送された後に、PHY イ ンタフェースへの送信を開始します。このビットがセットされているとき、DMA Register 6[16:14] で指定された TTC 値は無視されます。このビットは送信が停止しているときにのみ変更できます。 [bit20] FTF (Flush Transmit FIFO) このビットをセットすると、送信 FIFO コントローラロジックがそのデフォルト値にリセットされ、 それによって送信 FIFO 内のすべてのデータが失われます(Flush されます)。このビットは、Flush 動作が完全に完了したときに内部的にクリアされます。このビットがクリアされるまで Operation Mode レジスタへの書込みを行ってはいけません。GMAC トランスミッタによって既に受領された データは Flush されません。この送信スケジュールにより、アンダフローが起こり、runt フレーム が送信されます。 <注意事項> フラッシュ動作は、送信 FIFO の内容が空になり、送信フレームのすべての保留中の送信ステータ スがホストによって受領された後にのみ完了します。このフラッシュ動作を完了するためには、 PHY 送信クロック (TX_CLK)がアクティブになっている必要があります。 [bit16:14] TTC[2:0] (Transmit Threshold Control) この 3 ビットは、MTL 送信 FIFO のしきい値レベルをコントロールします。MTL 送信 FIFO 内の フレームのサイズがしきい値よりも大きいとき、PHY インタフェースへの送信が開始されます。 全体の長さがしきい値より小さいフレームは送信されます。これらのビットは、TSF ビット(bit 21) がリセットされているときにのみ使用されます。 000 :64 バイト 001 :128 バイト 010 :192 バイト 011 :256 バイト 100 :40 バイト 101 :32 バイト 110 :24 バイト 111 :16 バイト [bit13] ST (Start/Stop Transmission Command) このビットをセットすると、送信 DMA は Running ステートに入り、送信リストの現在の位置で、 送信するフレームをチェックします。リスト内の現在の位置(DMA Register 4 によって設定された 送信リストベースアドレス)から、または前に送信が停止したときに保持された位置からディスク リプタの取得が試みられます。現在のディスクリプタが DMA によって所有されていない場合、送 信は Suspended ステートに入り、Transmit Buffer Unavailable (DMA Register 5[2])がセットされます。 Start Transmission コマンドは送信が停止しているときのみ有効です。DMA Register 4 がセットされ る前にこのコマンドが発行された場合の DMA の動作は予測不能です。 このビットをリセットすると、現在のフレームの送信完了後、送信プロセスは Stopped ステートに 入ります。送信リスト内の次のディスクリプタの位置が保存され、送信再開時に現在の位置にな ります。送信停止コマンドは、現在のフレームの送信が完了したか、または送信が Suspended ステ ートにあるときにのみ有効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 123 112 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit7] FEF (Forward Error Frames) このビットをリセットすると、受信 FIFO はエラーステータス(CRC エラー, コリジョンエラー, GMII_ER, Giant フレーム, ウォッチドッグタイムアウト, オーバフロー)が発生しているフレーム を廃棄します。しかし、フレームの開始バイト(ライト)ポインタが(Threshold モードで)既にリード コントローラ側に転送されている場合、そのフレームは廃棄されません。 FEF をセットすると、Runt エラーフレームを除くすべてのフレームが DMA によって転送されま す。しかし、FEF がセットされている場合でも、フレームの一部分の受信により受信 FIFO がオー バフローしたときは、そのフレームは廃棄されます。 [bit6] FUF (Forward Undersized Good Frames) このビットをセットすると、受信 FIFO はサイズが小さいフレーム(エラーを含まず、パッドバイ トと CRC を含む長さが 64 バイト未満のフレーム)を転送します。このビットをリセットすると、 64 バイト未満のフレームは、Receive Threshold の値が小さいために既に転送済みである場合を除 き、すべて廃棄されます。 [bit4, 3] RTC (Receive Threshold Control) この 2 ビットは、MTL 受信 FIFO のしきい値レベルをコントロールします。DMA への転送(リク エスト)は、MTL 受信 FIFO 内のフレームのサイズがしきい値よりも大きいときに開始します。ま た、全体のサイズがしきい値より小さいフレームは自動的に転送されます。このビットは RSF ビ ットが 0 のときのみ有効で、RSF ビットが 1 にセットされているときは無視されます。 00 : 64 01 : 32 10 : 96 11 : 128 [bit2] OSF (Operate on Second Frame) このビットをセットすると、最初のフレームの送信ステータスがまだ取得されていない場合でも、 送信データの 2 番目のフレームの処理を開始するよう DMA に指示します。 * このビットがセットされているときに送信動作を停止するには、次のフロー1 または 2 を実行し ます。 1. 送信 DMA をディセーブルし、前のフレーム転送が完了する(送信 FIFO が空になる)のを待 ちます。 (この指定は OSF モードに関係なく適用されます)。 2. GMAC Configuration レジスタの当該ビットをクリアし、GMAC トランスミッタをディセー ブルします。 (このほかに FIFO が空かどうかを知る方法はありません。そのため STOP ステータスを待っ てからトランスミッタをディセーブルすることができます)。 [bit1] SR (Start/Stop Receive) このビットをセットすると、DMA 受信プロセスは Running ステートに入ります。受信リストから ディスクリプタを取得し、受信フレームの処理を試みます。リスト内の現在の位置(DMA Register 3 によって設定されたアドレス)から、または前に受信プロセスが停止したときに保持されている位 置からディスクリプタの取得が試みられます。DMA がディスクリプタを所有していない場合、受 信は中断され、Receive Buffer Unavailable (DMA Register 5[7])がセットされます。Start Receive コマ ンドは、受信が停止しているときのみ有効です。DMA Register 3 をセットする前にこのコマンド が発行された場合の DMA の動作は予測不能です。 このビットがクリアされると、受信 DMA 動作は、現在のフレームの転送後に停止されます。送信 リスト内の次のディスクリプタの位置が保存され、受信プロセス再開後に現在の位置になります。 Stop Receive コマンドは、受信プロセスが Running (受信パケットを待機)ステートまたは Suspended ステートの場合のみ有効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 124 113 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.40. DMA Register 7 (IER) このレジスタは、DMA からの割込みを許可します。 IER (Interrupt Enable Register) bit 31 Address 101Ch 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 予約 Field NIE 属性 R R R R R R R R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field AIE ERE FBE ETE RWE RSE 属性 R/W R/W R/W R R R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field RUE RIE UNE OVE TJE TUE TSE TIE 属性 R/W R/W R/W R R/W R/W R/W R/W 0 0 0 0 0 0 0 0 初期値 予約 [bit16] NIE (Normal Interrupt Summary Enable) このビットをセットすると、正常動作系割込みがイネーブルされます。このビットがリセットさ れると、正常動作系割込みがディセーブルされます。このビットは以下のビットをイネーブルに します。 DMA Register 5[0]: DMA Register 5[2]: DMA Register 5[6]: DMA Register 5[14]: Transmit Interrupt Transmit Buffer Unavailable Receive Interrupt Early Receive Interrupt [bit15] AIE (Abnormal Interrupt Summary Enable) このビットをセットすると、異常動作系割込みがイネーブルされます。このビットがリセットさ れると、異常動作系割込みがディセーブルされます。このビットは以下のビットをイネーブルに します。 DMA Register 5[1]: DMA Register 5[3]: DMA Register 5[4]: DMA Register 5[5]: DMA Register 5[7]: DMA Register 5[8]: DMA Register 5[9]: MN706-00015-2v0-J Transmit Process Stopped Transmit Jabber Timeout Receive Overflow Transmit Underflow Receive Buffer Unavailable Receive Process Stopped Receive Watchdog Timeout FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 125 114 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ DMA Register 5[10]: Early Transmit Interrupt DMA Register 5[13]: Fatal Bus Error [bit14] ERE (Early Receive Interrupt Enable) このビットを Normal Interrupt Summary Enable (DMA Register 7[16])と共にセットすると、Early Receive Interrupt がイネーブルされます。このビットをリセットすると、Early Receive Interrupt が ディセーブルされます。 [bit13] FBE (Fatal Bus Error Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、Fatal Bus Error Interrupt がイネーブルされます。このビットをリセットすると、Fatal Bus Error Enable Interrupt がディセーブルされます。 [bit10] ETE (Early Transmit Interrupt Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、Early Transmit Interrupt がイネーブルされます。このビットをリセットすると、Early Transmit Interrupt が ディセーブルされます。 [bit9] RWE (Receive Watchdog Timeout Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、Receive Watchdog Timeout Interrupt がイネーブルされます。このビットをリセットすると、Receive Watchdog Timeout Interrupt がディセーブルされます。 [bit8] RSE (Receive Process Stopped Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、Receive Stopped Interrupt がイネーブルされます。このビットをリセットすると、Receive Stopped Interrupt がディセーブルされます。 [bit7] RUE (Receive Buffer Unavailable Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、Receive Buffer Unavailable Interrupt がイネーブルされます。このビットをリセットすると、Receive Buffer Unavailable Interrupt がディセーブルされます。 [bit6] RIE (Receive Interrupt Enable) このビットを Normal Interrupt Summary Enable (DMA Register 7[16])と共にセットすると、Receive Interrupt がイネーブルされます。このビットをリセットすると、Receive Interrupt がディセーブル されます。 [bit5] UNE (Transmit underflow Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、 Transmit Underflow Interrupt がイネーブルされます。このビットをリセットすると、Underflow Interrupt がディセーブルされます。 [bit4] OVE (Receive Overflow Enable) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、Receive Overflow Interrupt がイネーブルされます。このビットをリセットすると、Overflow Interrupt がディ セーブルされます。 [bit3] TJE (Transmit Jabber Timeout) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、 Transmit Jabber Timeout Interrupt がイネーブルされます。このビットをリセットすると、Transmit Jabber Timeout Interrupt がディセーブルされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 126 115 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ [bit2] TUE (Transmit Buffer Unavailable) このビットを Normal Interrupt Summary Enable (DMA Register 7[16])と共にセットすると、Transmit Buffer Unavailable Interrupt がイネーブルされます。このビットをリセットすると、Transmit Buffer Unavailable Interrupt がディセーブルされます。 [bit1] TSE (Transmit Process Stopped) このビットを Abnormal Interrupt Summary Enable (DMA Register 7[15])と共にセットすると、 Transmission Stopped Interrupt がイネーブルされます。このビットをリセットすると、Transmission Stopped Interrupt がディセーブルされます。 [bit0] TIE (Transmit Interrupt) このビットを Normal Interrupt Summary Enable (DMA Register 7[16])と共にセットすると、Transmit Interrupt がイネーブルされます。このビットをリセットすると、Transmit Interrupt がディセーブル されます。 図 4-2 に示すように、INT_SBD 割込みが生成されます。この割込みは、DMA ステータスレジス タの TTI, GPI, GMI, または GLI ビットがアサートされたとき、または NIS/AIS ステータスビット がアサートされ、対応する Interrupt Enable ビット (NIE/AIE)がイネーブルされたときのみアサート されます。 図 4-2 INT_SBD の生成 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 127 116 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.41. DMA Register 8 (MFBOCR) DMA には、受信中に失われたフレームの数を追跡する 2 つのカウンタがあります。このレジ スタはカウンタの現在の値を報告します。このカウンタは診断のために使用されます。 MFBOCR (Missed Frame and Buffer Overflow Counter Register) bit 31 30 29 予約 Field 28 Address 1020h 27 ONMFF 26 25 24 NMFF[10:7] 属性 R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field 属性 R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC NMFF[6:0] ONMFH R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field NMFH[15:8] 属性 R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field NMFH[7:0] 属性 R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC R_SS_RC 初期値 0 0 0 0 0 0 0 0 bit[15:0]は、ホストバッファが有効でないため失われたフレームの数を示します。bit[27:17]は、オ ーバフロー条件により失われたフレームおよび MTL によって廃棄された runt フレーム(64 バイト 未満の有効なフレーム)の数を示します。 [bit28] ONMFF (Overflow NMFF) このビットは、NMFF ビットがオーバフローしたことを示します。 [bit27:17] NMFF(Number of Missed frame by Ethernet-MAC) このビットは、アプリケーションで失われたフレームの数を示します。このレジスタがリードさ れるとカウンタはクリアされます。 [bit16] ONMFH (Overflow NMFH) このビットは、NMFH ビットがオーバフローしたことを示します。 [bit15:0] NMFH[15:0] (Number of Missed frame by HOST) このビットは、Host Receive Buffer が有効でないため、コントローラで失われたフレームの数を示 します。このレジスタがリードされるとカウンタはクリアされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 128 117 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.42. DMA Register 9 (RIWTR) このレジスタに 0 以外の値が書き込まれたとき、RI (DMA Register 5[6])の Watchdog Timer がイネーブルされます。 RIWTR (Receive Interrupt Watchdog Timer Register) bit 31 30 29 Address 1024h 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field 属性 初期値 RIWT[7:0] R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 [bit7:0] RIWT (RI Watchdog Timer count) このビットは、Watchdog Timer 設定値としてシステムサイクルを 256 倍した数値を設定します。 Watchdog Timer は、フレームを受信 DMA が転送完了してからプログラムされた時間が経過したと きにトリガされます。 (対応する受信ディスクリプタ RDES1[31]の設定により、RI ステータスビ ットがセットされない場合) Watchdog Timer が期限切れになると、RI ビットがセットされ、タイマ は停止します。受信フレームの RDES1[31]の設定により、RI ステータスビットが 1 にセットされ たときは、Watchdog Timer はリセットされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 129 118 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.43. DMA Register 11 (AHBSR) このレジスタは、AHB マスタ・インタフェースの状態を表示します。 AHBSR (AHB Status Register) bit 31 Address 102Ch 30 29 28 27 26 25 24 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 予約 Field 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 予約 Field AHBS 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit0] AHBS(AHB Status) このビットが 1 のとき、AHB マスタ・インタフェースがアイドル以外の状態であることを示しま す。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 130 119 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.44. DMA Register 18 (CHTDR) Current Host Transmit Descriptor レジスタは、DMA によって読み込まれた現在の送信ディス クリプタの開始アドレスを示します。 CHTDR (Current Host Transmit Descriptor Register) bit 31 30 29 Field Address 1048h 28 27 26 25 24 HTDAP[31:24] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field HTDAP [23:16] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field HTDAP [15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field HTDAP [7:0] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit31:0] HTDAP[31:0] (Host Transmit Descriptor Address Pointer) このビットはリセット時にクリアされます。ポインタは動作中に DMA によって更新されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 131 120 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.45. DMA Register 19 (CHRDR) Current Host Receive Descriptor レジスタは、DMA によって読み込まれた現在の受信ディス クリプタの開始アドレスを示します。 CHRDR (Current Host Receive Descriptor Register) bit 31 30 29 Field Address 104Ch 28 27 26 25 24 HRDAP[31:24] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field HRDAP [23:16] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field HRDAP [15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field HRDAP [7:0] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit31:0] HRDAP[31:0] (Host Receive Descriptor Address Pointer) このビットは、リセット時にクリアされます。ポインタは動作中に DMA によって更新されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 132 121 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.46. DMA Register 20 (CHTBAR) Current Host Transmit Buffer Address レジスタは、DMA によって読み込まれる現在の送信バ ッファアドレスを示します。 CHTBAR (Current Host Transmit Buffer Address Register) bit 31 30 29 Field 28 Address 1050h 27 26 25 24 HTBAR[31:24] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field HTBAR[23:16] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field HTBAR[15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field HTBAR[7:0] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit31:0] HTBAR[31:0] (Host Transmit Buffer Address Register) このビットは、リセット時にクリアされます。ポインタは、動作中に DMA によって更新されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 133 122 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.47. DMA Register 21 (CHRBAR) Host Receive Buffer Address レジスタは、DMA によって読み込まれる現在の受信バッファア ドレスを示します。 CHRBAR (Current Host Receive Buffer Address Register) bit 31 30 29 Field 28 Address 1054h 27 26 25 24 HRBAR[31:24] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 23 22 21 20 19 18 17 16 Field HRBAR[23:16] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 Field HRBAR[15:8] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 Field HRBAR[7:0] 属性 R R R R R R R R 初期値 0 0 0 0 0 0 0 0 [bit31:0] HRBAR[31:0] (Host Receive Buffer Address Register) このビットは、リセット時にクリアされます。ポインタは、動作中に DMA によって更新されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 134 123 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.48. MMC Register list 表 4-5 に、MMC モジュールのレジスタマップと、 各カウンタの統計数値の内容を記載します。 表 4-5 MMC レジスタマップ アド レス レジスタ 番号 レジスタ名 説明 0100 GMAC Reg. mmc_cntl 64 MMC カウンタのオペレーションモード設定。 (4.49 参照) 0104 GMAC Reg. mmc_intr_rx 65 すべての受信統計カウンタからの割込み。 (4.50 参照) 0108 GMAC Reg. mmc_intr_tx 66 すべての送信統計カウンタからの割込み。 (4.51 参照) 010C GMAC Reg. mmc_intr_mask_rx 67 すべての受信統計カウンタからの割込みマスク (4.52 参 照) 0110 GMAC Reg. mmc_intr_mask_tx 68 すべての送信統計カウンタからの割込みマスク (4.53 参 照) 0114 GMAC Reg. txoctetcount_gb 69 送信した正常および不良なフレームのバイト数。 プリアンブル, およびリトライしたバイトを除く。 0118 GMAC Reg. txframecount_gb 70 送信した正常および不良なフレーム数。 リトライしたフレームは除く。 011C GMAC Reg. txbroadcastframes_g 71 送信した正常なブロードキャストフレーム数。 0120 GMAC Reg. txmulticastframes_g 72 送信した正常なマルチキャストフレーム数。 0124 GMAC Reg. tx64octets_gb 73 送信した正常および不良なフレームで、プリアンブルを除 いた送信バイト数が 64 バイトのフレーム数(リトライし たフレームは除く)。 0128 GMAC Reg. tx65to127octets_gb 74 送信した正常および不良なフレームで、プリアンブルを除 いた送信バイト数が 65~127 バイトのフレーム数(リトラ イしたフレームは除く)。 012C GMAC Reg. tx128to255octets_gb 75 送信した正常および不良なフレームで、プリアンブルを除 いた送信バイト数が 128~255 バイトのフレーム数(リト ライしたフレームは除く)。 0130 GMAC Reg. tx256to511octets_gb 76 送信した正常および不良なフレームで、プリアンブルを除 いた送信バイト数が 256~511 バイトのフレーム数(リトラ イしたフレームは除く)。 0134 GMAC Reg. tx512to1023octets_gb 77 送信した正常および不良なフレームで、プリアンブルを除 いた送信バイト数が 512~1023 バイトのフレーム数(リト ライしたフレームは除く)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 135 124 CHAPTER 2: Ethernet-MAC 4. レジスタ アド レス レジスタ 番号 FM3ファミリ レジスタ名 説明 0138 GMAC Reg. tx1024tomaxoctets_gb 78 送信した正常および不良なフレームで、プリアンブルを除 いた送信バイト数が 1024~Maxsize バイトのフレーム数 (リトライしたフレームは除く)。 013C GMAC Reg. txunicastframes_gb 79 送信した正常および不良なユニキャストフレーム数。 0140 GMAC Reg. txmulticastframes_gb 80 送信した正常および不良なマルチキャストフレーム数。 0144 GMAC Reg. txbroadcastframes_gb 81 送信した正常および不良なブロードキャストフレーム数。 0148 GMAC Reg. txunderflowerror 82 フレームアンダフローエラーによりアボートされたフレ ーム数。 014C GMAC Reg. txsinglecol_g 83 半二重モードで、1 回のコリジョンの後に正常送信したフ レーム数。 0150 GMAC Reg. txmulticol_g 84 半二重モードで、2 回以上のコリジョンの後に正常送信し たフレーム数。 0154 GMAC Reg. txdeferred 85 半二重モードで、一定時間保留後に正常送信したフレーム 数。 0158 GMAC Reg. txlatecol 86 レイトコリジョンエラーによりアボートされたフレーム 数。 015C GMAC Reg. txexesscol 87 過剰コリジョン(16 回)のエラーによりアボートされたフ レーム数。 0160 GMAC Reg. txcarriererrror 88 キャリアセンスエラー(キャリアなしまたはキャリアロス ト)によりアボートされたフレーム数。 0164 GMAC Reg. txoctetcount_g 89 プリアンブルを除いた正常送信バイト数。 0168 GMAC Reg. txframecount_g 90 正常に送信したフレーム数。 016C GMAC Reg. txexecessdef 91 過剰 Deferral Error (最大フレームの 2 倍の時間以上遅延し た場合)によりアボートされたフレーム数。 0170 GMAC Reg. txpauseframes 92 正常に送信した PAUSE フレーム数 0174 GMAC Reg. txvlanframes_g 93 正常に送信した VLAN フレーム数(リトライしたフレーム は除く)。 0178, 017C 予約 0180 GMAC Reg. rxframecount_gb 96 MN706-00015-2v0-J 予約 受信した正常および不良なフレーム数。 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 136 125 CHAPTER 2: Ethernet-MAC 4. レジスタ アド レス レジスタ 番号 FM3ファミリ レジスタ名 説明 0184 GMAC Reg. rxoctetcount_gb 97 正常および不良なフレームで、プリアンブルを除いた受信 バイト数。 0188 GMAC Reg. rxoctetcount_g 98 正常に受信した、プリアンブルを除いた受信バイト数。 018C GMAC Reg. rxbroadcastframes_g 99 正常に受信したブロードキャストフレーム数。 0190 GMAC Reg. rxmulticastframes_g 100 正常に受信したマルチキャストフレーム数。 0194 GMAC Reg. rxcrcerror 101 受信したフレームで CRC Error が発生したフレーム数。 0198 GMAC Reg. rxallignmenterror 102 受信したフレームで Alignment (Dribble)Error が発生した フレーム数(10/100 モードのときのみ有効)。 019C GMAC Reg. rxrunterror 103 受信したフレームで Runt Error (64 バイト以下で CRC Error)が発生したフレーム数。 01A0 GMAC Reg. rxjabbererror 104 受信したフレームでフレーム長が 1518 バイト以上で CRC Error が発生したフレーム数。 01A4 GMAC Reg. rxundersize_g 105 エラーなしで正常に受信した、フレーム長が 64 バイト以 下のフレーム数。 01A8 GMAC Reg. rxoversize_g 106 エラーなしで正常に受信した、フレーム長が Maxsize 以上 のフレーム数。 01AC GMAC Reg. rx64octets_gb 107 受信した、正常および不良なフレームで、プリアンブルを 除いた受信バイト数が 64 バイトのフレーム数。 01B0 GMAC Reg. rx65to127octets_gb 108 受信した、正常および不良なフレームで、プリアンブルを 除いた受信バイト数が 65~127 バイトのフレーム数。 01B4 GMAC Reg. rx128to255octets_gb 109 受信した、正常および不良なフレームで、プリアンブルを 除いた受信バイト数が 128~255 バイトのフレーム数。 01B8 GMAC Reg. rx256to511octets_gb 110 受信した、正常および不良なフレームで、プリアンブルを 除いた受信バイト数が 256~511 バイトのフレーム数。 01BC GMAC Reg. rx512to1023octets_gb 111 受信した、正常および不良なフレームで、プリアンブルを 除いた受信バイト数が 512~1023 バイトのフレーム数。 01C0 GMAC Reg. rx1024tomaxoctets_gb 112 受信した、正常および不良なフレームで、プリアンブルを 除いた受信バイト数が 1024~Maxsize バイトのフレーム 数。 01C4 GMAC Reg. rxunicastframes_g 113 正常に受信したユニキャストフレーム数。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 137 126 CHAPTER 2: Ethernet-MAC 4. レジスタ アド レス レジスタ 番号 FM3ファミリ レジスタ名 説明 01C8 GMAC Reg. rxlengtherror 114 受信した有効な Length Field のすべてのフレームで Length Error (Length type field = フレームサイズでない)が発生し たフレーム数。 01CC GMAC Reg. rxoutofrangetype 115 受信したフレームで、有効なフレームサイズでない(1500 バイト以上)の Length/Type フィールドを持つフレーム数。 01D0 GMAC Reg. rxpauseframes 116 正常に受信した、有効な PAUSE フレーム数。 01D4 GMAC Reg. rxfifooverflow 117 FIFO オーバフローにより受信できなかったフレーム数。 01D8 GMAC Reg. rxvlanframes_gb 118 受信した、正常および不良な VLAN フレーム数。 GMAC Reg. 01DC rxwatchdogerror 119 受信したフレームで、Watchdog Timeout Error により (2048 バイト以上のデータ負荷を持つフレーム)エラーが発生し たフレーム数。 01E0 | 01FC 予約 0200 GMAC Reg. mmc_ipc_intr_mask_rx 受信 IPC 統計カウンタからの割込みのマスク。(4.54 参照) 128 0204 予約 0208 GMAC Reg. mmc_ipc_intr_rx 130 020C 予約 0210 GMAC Reg. rxipv4_gd_frms 132 TCP, UDP, または ICMP ペイロードで受信した正常な IPv4 データグラムの数。 0214 GMAC Reg. rxipv4_hdrerr_frms 133 受信した、Header Error (チェックサム, 長さ, またバージ ョンの不一致)が発生した IPv4 データグラムの数。 0218 GMAC Reg. rxipv4_nopay_frms 134 受信した、Checksum エンジンによって処理された TCP, UDP または ICMP ペイロードを持っていなかった IPv4 デ ータグラムフレーム数。 021C GMAC Reg. rxipv4_frag_frms 135 フラグメンテーションされた正常な IPv4 データグラムの 数。 0220 GMAC Reg. rxipv4_udsbl_frms 136 受信した、チェックサムがディセーブルされている UDP ペイロードを持つ正常な IPv4 データグラムの数。 0224 GMAC Reg. rxipv6_gd_frms 137 受信した、TCP, UDP, または ICMP ペイロードを持つ正常 な IPv6 データグラムの数。 0228 GMAC Reg. rxipv6_hdrerr_frms 138 受信した、Header Error (長さまたはバージョンの不一致) が発生した IPv6 データグラムの数。 MN706-00015-2v0-J 予約 - 予約 受信 IPC 統計カウンタからの割込み。 (4.55 参照) 予約 - FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 138 127 CHAPTER 2: Ethernet-MAC 4. レジスタ アド レス レジスタ 番号 FM3ファミリ レジスタ名 説明 022C GMAC Reg. rxipv6_nopay_frms 139 受信した、TCP, UDP または ICMP ペイロードを持ってい なかった IPv6 データグラムフレーム数。これには、フラ グメンテーションされたまたはセキュリティ拡張ヘッダ を持つすべての IPv6 データグラムが含まれます。 0230 GMAC Reg. rxudp_gd_frms 140 正常な UDP ペイロードを持つ正常な IP データグラムの 数。このカウンタは、rxipv4_udsbl_frms カウンタが増分さ れたとき、更新されません。 0234 GMAC Reg. rxudp_err_frms 141 UDP ペイロードで Checksum Error が発生した正常な IP デ ータグラムの数。 0238 GMAC Reg. rxtcp_gd_frms 142 正常な TCP ペイロードを持つ正常な IP データグラムの 数。 023C GMAC Reg. rxtcp_err_frms 143 TCP ペイロードで Checksum Error が発生した正常な IP デ ータグラムの数。 0240 GMAC Reg. rxicmp_gd_frms 144 正常な ICMP ペイロードを持つ正常な IP データグラムの 数。 0244 GMAC Reg. rxicmp_err_frms 145 ICMP ペイロードで Checksum Error が発生した正常な IP データグラムの数。 0248, 024C 予約 予約 - 0250 GMAC Reg. rxipv4_gd_octets 148 TCP, UDP または ICMP データをカプセル化する正常な IPv4 で受信したバイト数(Ethernet ヘッダ, FCS, パッドま たは IP パッドバイトはこのカウンタまたは下記にリスト しているオクテットカウンタには含まれていません)。 0254 GMAC Reg. rxipv4_hdrerr_octets 149 受信した Header Error (チェックサム, 長さ, バージョンの 不一致)が発生した IPv4 データグラムのバイト数。IPv4 ヘ ッダの Length field の値は、このカウンタを更新するため に使用されます。 0258 GMAC Reg. rxipv4_nopay_octets 150 受信した、TCP, UDP または ICMP ペイロードを持ってい なかった IPv4 データグラムのバイト数。IPv4 ヘッダの Length field の値は、このカウンタを更新するために使用 されます。 025C GMAC Reg. rxipv4_frag_octets 151 受信した、フラグメント化された IPv4 データグラムのバ イト数。IPv4 ヘッダの Length field の値は、このカウンタ を更新するために使用されます。 0260 GMAC Reg. rxipv4_udsbl_octets 152 受信した、ディセーブルした UDP チェックサムを持つ UDP セグメントのバイト数。このカウンタは IP Header バ イトをカウントしません。 0264 GMAC Reg. rxipv6_gd_octets 153 受信した、TCP, UDP または ICMPv6 データをカプセル化 する正常な IPv6 データグラムのバイト数。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 139 128 CHAPTER 2: Ethernet-MAC 4. レジスタ アド レス レジスタ 番号 FM3ファミリ レジスタ名 説明 0268 GMAC Reg. rxipv6_hdrerr_octets 154 受信した、Header Error (長さ, バージョンの不一致)が発生 した IPv6 データグラムのバイト数。IPv6 ヘッダの Length field の値は、このカウンタを更新するために使用されま す。 026C GMAC Reg. rxipv6_nopay_octets 155 受信した、TCP, UDP または ICMP ペイロードを持ってい なかった IPv6 データグラムのバイト数。IPv6 ヘッダの Length field の値は、このカウンタを更新するために使用 されます。 0270 GMAC Reg. rxudp_gd_octets 156 受信した、正常な UDP セグメントのバイト数。このカウ ンタ(および以下のカウンタ)は IP ヘッダバイトをカウン トしません。 0274 GMAC Reg. rxudp_err_octets 157 受信した、Checksum Error が発生した UDP セグメントの バイト数。 0278 GMAC Reg. rxtcp_gd_octets 158 受信した、正常な TCP セグメントのバイト数。 027C GMAC Reg. rxtcp_err_octets 159 受信した、Checksum Error が発生した TCP セグメントの バイト数。 0280 GMAC Reg. rxicmp_gd_octets 160 受信した、正常な ICMP セグメントのバイト数。 0284 GMAC Reg. rxicmp_err_octets 161 受信した、Checksum Error が発生した ICMP セグメントの バイト数。 0288 | 02FC 予約 予約 - <注意事項> 以降の節で説明している MMC コントロールレジスタ, MMC 受信割込みレジスタ, MMC 送信割込 みレジスタ, MMC 受信チェックサムオフロード割込みレジスタ, MMC 受信割込みマスクレジスタ, MMC 送信割込みマスクレジスタ, MMC 受信チェックサムオフロード割込みマスクレジスタ以外 の以下のアドレスの MMC カウンタレジスタは、読出し専用で、初期値は 0 です。 0x0114 to 0x0174 0x0180 to 0x01DC 0x0210 to 0x0244 0x0250 to 0x0284 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 140 129 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.49. GMAC Register.64 (mmc_cntl) MMC コントロールレジスタは、マネジメントカウンタのオペレーションモードを設定します。 MMC コントロールレジスタ(mmc_cntl) Address:0100h bit 属性 初期値 31:6 R 0 予約 0 Full-Half preset このビットを 0、bit4 をセットすると、すべての MMC カウンタはほぼ half 値にプリセットされます。 すべてのオクテットカウンタは 0x7FFF_F800 (half-2KBytes)にプリセット されます。すべてのフレームカウンタは 0x7FFF_FFF0 (half-16)にプリセッ トされます。 このビットを 1、bit4 をセットすると、すべての MMC カウンタはほぼ full 値にリセットされます。 すべてのオクテットカウンタは 0xFFFF_F800 (full-2KBytes)にプリセット されます。 すべてのフレームカウンタは 0xFFFF_FFF0 (full -16)にプリセットされま す。 0 Counters Preset このビットをセットすると、すべてのカウンタが初期化されるか、上記 bit5 に従ってほぼ full またはほぼ half にプリセットされます。1 クロックサイ クル後、このビットは自動的にクリアされます。bit5 とこのビットにより、 MMC カウンタが half-full または full になるため、割込みのアサートのデバ ッグおよびテストに使用できます。 0 MMC Counter Freeze このビットを 1 にセットしているとき、すべての MMC カウンタが現在の 値にフリーズされます(このビットが 0 にリセットされるまで、送信または 受信されたフレームによってどの MMC カウンタも更新されません。bit2 の Reset on Read がセットされていて MMC カウンタが読み込まれた場合、 このモードであっても、カウンタはクリアされます。 5 4 3 R/W R/W_SC R/W 説明 2 R/W 0 Reset on read このビットをセットすると、MMC カウンタはリードの後、0 にリセット されます(リセット後 self-clearing)。最下位バイトレーン(bit [7:0])が読み込 まれたとき、これらのカウンタはクリアされます。 1 R/W 0 Counter Stop Rollover このビットをセットしているとき、カウンタは最大値に到達した後、0 に 戻りません。 0 R/W_SC 0 Counter reset このビットをセットすると、すべてのカウンタがリセットされます。この ビットは、1 クロックサイクルの後、自動的にクリアされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 141 130 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.50. GMAC Register.65 (mmc_intr_rx) このレジスタは、各受信統計カウンタからの割込みを表示します。 MMC 受信割込みレジスタ(mmc_intr_rx) Address:0104h bit 属性 初期値 31:24 R 0 予約 23 R_SS_RC 0 rxwatchdogerror カウンタ値が規定値に到達したとき、1 にセットされま す。 22 R_SS_RC 0 rxvlanframes_gb カウンタの値が規定値に到達したとき、1 にセットされ ます。 21 R_SS_RC 0 Rxfifooverflow_gb カウンタの値が規定値に到達したとき、1 にセットさ れます。 20 R_SS_RC 0 rxpauseframes カウンタの値が規定値に到達したとき、1 にセットされま す。 19 R_SS_RC 0 rxoutofrangetype カウンタの値が規定値に到達したとき、1 にセットされ ます。 18 R_SS_RC 0 Rxlengtherror カウンタの値が規定値に到達したとき、1 にセットされま す。 17 R_SS_RC 0 rxunicastframes_gb カウンタの値が規定値に到達したとき、1 にセットさ れます。 16 R_SS_RC 0 rx1024tomaxoctets_gb カウンタの値が規定値に到達したとき、1 にセット されます。 15 R_SS_RC 0 rx512to1023octets_gb カウンタの値が規定値に到達したとき、1 にセット されます。 14 R_SS_RC 0 rx256to511octets_gb カウンタの値が規定値に到達したとき、1 にセット されます。 13 R_SS_RC 0 rx128to255maxoctects_gb カウンタの値が規定値に到達したとき、1 にセ ットされます。 12 R_SS_RC 0 rx65to127maxoctets_gb カウンタの値が規定値に到達したとき、1 にセッ トされます。 11 R_SS_RC 0 rxto64octets_gb カウンタの値が規定値に到達したとき、1 にセットされ ます。 10 R_SS_RC 0 rxoversize_g カウンタの値が規定値に到達したとき、1 にセットされま す。 9 R_SS_RC 0 rxundersize_g カウンタの値が規定値に到達したとき、1 にセットされま す。 MN706-00015-2v0-J 説明 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 142 131 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit 属性 初期値 説明 8 R_SS_RC 0 Rxjabbererror カウンタの値が規定値に到達したとき、1 にセットされま す。 7 R_SS_RC 0 rxrunterror カウンタの値が規定値に到達したとき、1 にセットされます。 6 R_SS_RC 0 rxallignmenterror カウンタの値が規定値に到達したとき、1 にセットされ ます。 5 R_SS_RC 0 rxcrcerror カウンタの値が規定値に到達したとき、1 にセットされます。 4 R_SS_RC 0 rxmulticastframes_g カウンタの値が規定値に到達したとき、1 にセットさ れます。 3 R_SS_RC 0 rxbroadcastframes_g カウンタの値が規定値に到達したとき、1 にセット されます。 2 R_SS_RC 0 rxoctetcounter_g カウンタの値が規定値に到達したとき、1 にセットされ ます。 1 R_SS_RC 0 rxoctetcounter_gb カウンタの値が規定値に到達したとき、1 にセットさ れます。 0 R_SS_RC 0 Rxframecount_gb カウンタの値が規定値に到達したとき、1 にセットされ ます。 MMC 受信割込みレジスタの各ビットは、各受信統計カウンタの値が最大値の半分に到達したとき (32 ビットカウンタの場合 0x8000_0000, および 16 ビットカウンタの場合 0x8000)、および最大値 に到達したとき (32 ビットカウンタの場合 0xFFFF_FFFF, および 16 ビットカウンタの場合 0xFFFF)に生成された割込みを保持します。Counter Stop Rollover がセットされると、割込みがセ ットされますが、カウンタはすべて 1 のままです。MMC 受信割込みレジスタは、32 ビット幅レ ジスタです。割込みを生成する各 MMC カウンタが読み込まれたとき、割込みビットがクリアさ れます。割込みビットをクリアするためには、各カウンタの最下位バイトレーン(bit[7:0])を読み込 まなければなりません。 <注意事項> これらのレジスタは内部的にセットされ、Counter レジスタが読み込まれたときクリアされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 143 132 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.51. GMAC Register.66 (mmc_intr_tx) このレジスタは、各送信統計カウンタの割込みを表示します。 MMC 送信割込みレジスタ(mmc_intr_tx) Address:0108h bit 属性 初期値 31:25 R 0 予約 24 R_SS_RC 0 txvlanframes_gb カウンタの値が規定値に到達したとき、1 にセットされ ます。 23 R_SS_RC 0 txpauseframes_gb カウンタの値が規定値に到達したとき、1 にセットさ れます。 22 R_SS_RC 0 txoexcessdef カウンタの値が規定値に到達したとき、1 にセットされま す。 21 R_SS_RC 0 txframecount カウンタの値が規定値に到達したとき、1 にセットされま す。 20 R_SS_RC 0 txoctetcount カウンタの値が規定値に到達したとき、1 にセットされます。 19 R_SS_RC 0 txcarriererror カウンタの値が規定値に到達したとき、1 にセットされま す。 18 R_SS_RC 0 txlexesscol カウンタの値が規定値に到達したとき、1 にセットされます。 17 R_SS_RC 0 txlatecol カウンタの値が規定値に到達したとき、1 にセットされます。 16 R_SS_RC 0 txdeffer カウンタの値が規定値に到達したとき、1 にセットされます。 15 R_SS_RC 0 txmulticol_g カウンタの値が規定値に到達したとき、1 にセットされま す。 14 R_SS_RC 0 txsinglecol_g カウンタの値が規定値に到達したとき、1 にセットされま す。 13 R_SS_RC 0 txunderflowerror カウンタの値が規定値に到達したとき、1 にセットされ ます。 12 R_SS_RC 0 txbroadcastframes_gb カウンタの値が規定値に到達したとき、1 にセット されます。 11 R_SS_RC 0 txmulticastframes_gb カウンタの値が規定値に到達したとき、1 にセット されます。 10 R_SS_RC 0 txunicastframes_gb カウンタの値が規定値に到達したとき、1 にセットさ れます。 9 R_SS_RC 0 tx1024tomaxoctets_gb カウンタの値が規定値に到達したとき、1 にセット されます。 8 R_SS_RC 0 tx512to1023octets_gb カウンタの値が規定値に到達したとき、1 にセット されます。 MN706-00015-2v0-J 説明 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 144 133 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit 属性 初期値 説明 7 R_SS_RC 0 tx256to511octets_gb カウンタの値が規定値に到達したとき、1 にセット されます。 6 R_SS_RC 0 tx128to255maxoctects_gb カウンタの値が規定値に到達したとき、1 にセ ットされます。 5 R_SS_RC 0 tx65to127maxoctets_gb カウンタの値が規定値に到達したとき、1 にセッ トされます。 4 R_SS_RC 0 tx64octets_gb カウンタの値が規定値に到達したとき、1 にセットされま す。 3 R_SS_RC 0 txmalticastframes_g カウンタの値が規定値に到達したとき、1 にセットさ れます。 2 R_SS_RC 0 txbroadcastframes_g カウンタの値が規定値に到達したとき、1 にセット されます。 1 R_SS_RC 0 txframecount_gb カウンタの値が規定値に到達したとき、1 にセットされ ます。 0 R_SS_RC 0 txoctetcount_gb カウンタの値が規定値に到達したとき、1 にセットされ ます。 MMC 送信割込みレジスタの各ビットは、各送信統計カウンタの値が最大値の半分に到達したとき (32 ビットカウンタの場合 0x8000_0000, 16 ビットカウンタの場合 0x8000)、および最大値に到達し たとき(32 ビットカウンタの場合 0xFFFF_FFFF, 16 ビットのカウンタ場合 0xFFFF)に生成された割 込みを保持します。Counter Stop Rollover がセットされると、割込みがセットされますが、カウン タはすべて 1 のままです。MMC 送信割込みレジスタは、32 ビット幅レジスタです。割込みを発 生した各カウンタが読み込まれたとき、割込みビットがクリアされます。割込みビットをクリア するためには、各カウンタの最下位バイトレーン(bit [7:0])を読み込まなければなりません。 <注意事項> これらのレジスタは内部的にセットされ、Counter レジスタが読み込まれたときクリアされます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 145 134 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.52. GMAC Register.67 (mmc_intr_mask_rx) このレジスタは、各受信統計カウンタからの割込みをマスクします。 MMC 受信割込みマスク割込みレジスタ(mmc_intr_mask_rx) Address:010Ch bit 属性 初期値 31:24 R 0 予約 23 R/W 0 1 にセットすると、rxwatchdogerror カウンタの割込みをマスクします。 22 R/W 0 1 にセットすると、rxvlanframes_gb カウンタの割込みをマスクします。 21 R/W 0 1 にセットすると、rxfifooverflow_gb カウンタの割込みをマスクします。 20 R/W 0 1 にセットすると、rxpauseframes カウンタの割込みをマスクします。 19 R/W 0 1 にセットすると、rxoutofrangetype カウンタの割込みをマスクします。 18 R/W 0 1 にセットすると、rxlengtherror カウンタの割込みをマスクします。 17 R/W 0 1 にセットすると、rxunicastframes_gb カウンタの割込みをマスクします。 16 R/W 0 1 にセットすると、rx1024tomaxoctets_gb カウンタの割込みをマスクしま す。 15 R/W 0 1 にセットすると、rx512to1023octets_gb カウンタの割込みをマスクしま す。 14 R/W 0 1 にセットすると、rx256to511octets_gb カウンタの割込みをマスクしま す。 13 R/W 0 1 にセットすると、rx128to255maxoctects_gb カウンタの割込みをマスク します。 12 R/W 0 1 にセットすると、rx65to127maxoctets_gb カウンタの割込みをマスクし ます。 11 R/W 0 1 にセットすると、rxto64octets_gb カウンタの割込みをマスクします。 10 R/W 0 1 にセットすると、rxoversize_g カウンタの割込みをマスクします。 9 R/W 0 1 にセットすると、rxundersize_g カウンタの割込みをマスクします。 8 R/W 0 1 にセットすると、rxjabbererror カウンタの割込みをマスクします。 7 R/W 0 1 にセットすると、rxrunterror カウンタの割込みをマスクします。 6 R/W 0 1 にセットすると、rxallignmenterror カウンタの割込みをマスクします。 5 R/W 0 1 にセットすると、rxcrcerror カウンタの割込みをマスクします。 4 R/W 0 1 にセットすると、rxmulticastframes_g カウンタの割込みをマスクしま す。 MN706-00015-2v0-J 説明 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 146 135 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit 属性 初期値 説明 3 R/W 0 1 にセットすると、rxbroadcastframes_g カウンタの割込みをマスクしま す。 2 R/W 0 1 にセットすると、rxoctetcounter_g カウンタの割込みをマスクします。 1 R/W 0 1 にセットすると、rxoctetcounter_gb カウンタの割込みをマスクします。 0 R/W 0 1 にセットすると、rxframecount_gb カウンタの割込みをマスクします。 MMC 受信割込みマスクレジスタの各ビットは、各受信統計カウンタの値が最大値の半分に到達し たとき、および最大値に到達したときに生成される割込みをマスクします。このレジスタは 32 ビ ット幅です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 147 136 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.53. GMAC Register.68 (mmc_intr_mask_tx) このレジスタは、各送信統計カウンタからの割込みをマスクします。 MMC 送信割込みマスクレジスタ(mmc_intr_mask_tx)Address:0110h bit 属性 初期値 31:25 R 0 予約 24 R/W 0 1 にセットすると、txvlanframes_gb カウンタの割込みをマスクします。 23 R/W 0 1 にセットすると、txpauseframes_gb カウンタの割込みをマスクします。 22 R/W 0 1 にセットすると、txoexcessdef カウンタの割込みをマスクします。 21 R/W 0 1 にセットすると、txframecount カウンタの割込みをマスクします。 20 R/W 0 1 にセットすると、txoctetcount カウンタの割込みをマスクします。 19 R/W 0 1 にセットすると、txcarriererror カウンタの割込みをマスクします。 18 R/W 0 1 にセットすると、txlexesscol カウンタの割込みをマスクします。 17 R/W 0 1 にセットすると、txlatecol カウンタの割込みをマスクします。 16 R/W 0 1 にセットすると、txdeffer カウンタの割込みをマスクします。 15 R/W 0 1 にセットすると、txmulticol_g カウンタの割込みをマスクします。 14 R/W 0 1 にセットすると、txsinglecol_g カウンタの割込みをマスクします。 13 R/W 0 1 にセットすると、txunderflowerror カウンタの割込みをマスクします。 12 R/W 0 1 にセットすると、txbroadcastframes_gb カウンタの割込みをマスクしま す。 11 R/W 0 1 にセットすると、txmulticastframes_gb カウンタの割込みをマスクしま す。 10 R/W 0 1 にセットすると、txunicastframes_gb カウンタの割込みをマスクします。 9 R/W 0 1 にセットすると、tx1024tomaxoctets_gb カウンタの割込みをマスクしま す。 8 R/W 0 1 にセットすると、tx512to1023octets_gb カウンタの割込みをマスクしま す。 7 R/W 0 1 にセットすると、tx256to511octets_gb カウンタの割込みをマスクしま す。 6 R/W 0 1 にセットすると、tx128to255maxoctects_gb カウンタの割込みをマスク します。 5 R/W 0 1 にセットすると、tx65to127maxoctets_gb カウンタの割込みをマスクし ます。 MN706-00015-2v0-J 説明 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 148 137 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit 属性 初期値 説明 4 R/W 0 1 にセットすると、txto64octets_gb カウンタの割込みをマスクします。 3 R/W 0 1 にセットすると、txmalticastframes_g カウンタの割込みをマスクしま す。 2 R/W 0 1 にセットすると、txbroadcastframes_g カウンタの割込みをマスクしま す。 1 R/W 0 1 にセットすると、txframecount_gb カウンタの割込みをマスクします。 0 R/W 0 1 にセットすると、txoctetcount_gb カウンタの割込みをマスクします。 MMC 送信割込みマスクレジスタの各ビットは、各送信統計カウンタの値が最大値の半分に到達し たとき、および最大値に到達したときに生成される割込みをマスクします。このレジスタは 32 ビ ット幅です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 149 138 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.54. GMAC Register.128 (mmc_ipc_intr_mask_rx) このレジスタは、各受信 IPC(チェックサムオフロード)統計カウンタからの割込みをマスクし ます。 MMC 受信チェックサムオフロード割込みマスクレジスタ(mmc_ipc_intr_mask_rx) Address:0200h bit 属性 初期値 31, 30 R 0 予約 29 R/W 0 1 にセットすると、rxicmp_err_octets カウンタの割込みをマスクします。 28 R/W 0 1 にセットすると、rxicmp_gd_octets カウンタの割込みをマスクします。 27 R/W 0 1 にセットすると、rxtcp_err_octets カウンタの割込みをマスクします。 26 R/W 0 1 にセットすると、rxtcp_gd_octets カウンタの割込みをマスクします。 25 R/W 0 1 にセットすると、rxudp_err_octets カウンタの割込みをマスクします。 24 R/W 0 1 にセットすると、rxudp_gd_octets カウンタの割込みをマスクします。 23 R/W 0 1 にセットすると、rxipv6_nopay_octets カウンタの割込みをマスクしま す。 22 R/W 0 1 にセットすると、rxipv6_hdrerr_octets カウンタの割込みをマスクしま す。 21 R/W 0 1 にセットすると、rxipv6_gd_octets カウンタの割込みをマスクします。 20 R/W 0 1 にセットすると、rxipv4_udsbl_octets カウンタの割込みをマスクしま す。 19 R/W 0 1 にセットすると、rxipv4_frag_octets カウンタの割込みをマスクします。 18 R/W 0 1 にセットすると、rxipv4_nopay_octets カウンタの割込みをマスクしま す。 17 R/W 0 1 にセットすると、rxipv4_hdrerr_octets カウンタの割込みをマスクしま す。 16 R/W 0 1 にセットすると、rxipv4_gd_octets カウンタの割込みをマスクします。 15, 14 R 0 予約 13 R/W 0 1 にセットすると、rxicmp_err_frms カウンタの割込みをマスクします。 12 R/W 0 1 にセットすると、rxicmp_gd_frms カウンタの割込みをマスクします。 11 R/W 0 1 にセットすると、rxtcp_err_frms カウンタの割込みをマスクします。 10 R/W 0 1 にセットすると、rxtcp_gd_frms カウンタの割込みをマスクします。 9 R/W 0 1 にセットすると、rxudp_err_frms カウンタの割込みをマスクします。 MN706-00015-2v0-J 説明 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 150 139 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit 属性 初期値 説明 8 R/W 0 1 にセットすると、rxudp_gd_frms カウンタの割込みをマスクします。 7 R/W 0 1 にセットすると、rxipv6_nopay_frms カウンタの割込みをマスクします。 6 R/W 0 1 にセットすると、rxipv6_hdrerr_frms カウンタの割込みをマスクします。 5 R/W 0 1 にセットすると、rxipv6_gd_frms カウンタの割込みをマスクします。 4 R/W 0 1 にセットすると、rxipv4_udsbl_frms カウンタの割込みをマスクします。 3 R/W 0 1 にセットすると、rxipv4_frag_frms カウンタの割込みをマスクします。 2 R/W 0 1 にセットすると、rxipv4_nopay_frms カウンタの割込みをマスクします。 1 R/W 0 1 にセットすると、rxipv4_hdrerr_frms カウンタの割込みをマスクします。 0 R/W 0 1 にセットすると、rxipv4_gd_frms カウンタの割込みをマスクします。 MMC 受信チェックサムオフロード割込みマスクレジスタの各ビットは、各受信 IPC(チェックサム オフロード)統計カウンタの値が最大値の半分に到達したとき、および最大値に到達したときに生 成される割込みをマスクします。このレジスタは、32 ビット幅です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 151 140 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ 4.55. GMAC Register.130 (mmc_ipc_intr_rx) このレジスタは、各受信 IPC(チェックサムオフロード)統計カウンタからの割込みを表示しま す。 MMC 受信チェックサムオフロード割込みレジスタ(mmc_ipc_intr_rx) Address:0208h bit 属性 初期値 31, 30 R 0 予約 29 R_SS_RC 0 rxicmp_err_octets カウンタの値が規定値に到達したとき、1 にセットさ れます。 28 R_SS_RC 0 rxicmp_gd_octets カウンタの値が規定値に到達したとき、1 にセットさ れます。 27 R_SS_RC 0 rxtcp_err_octets カウンタの値が規定値に到達したとき、1 にセットされ ます。 26 R_SS_RC 0 rxtcp_gd_octets カウンタの値が規定値に到達したとき、1 にセットされ ます。 25 R_SS_RC 0 rxudp_err_octets カウンタの値が規定値に到達したとき、1 にセットされ ます。 24 R_SS_RC 0 rxudp_gd_octets カウンタの値が規定値に到達したとき、1 にセットされ ます。 23 R_SS_RC 0 rxipv6_nopay_octets カウンタの値が規定値に到達したとき、1 にセット されます。 22 R_SS_RC 0 rxipv6_hdrerr_octets カウンタの値が規定値に到達したとき、1 にセット されます。 21 R_SS_RC 0 rxipv6_gd_octets カウンタの値が規定値に到達したとき、1 にセットされ ます。 20 R_SS_RC 0 rxipv4_udsbl_octets カウンタの値が規定値に到達したとき、1 にセット されます。 19 R_SS_RC 0 rxipv4_frag_octets カウンタの値が規定値に到達したとき、1 にセットさ れます。 18 R_SS_RC 0 rxipv4_nopay_octets カウンタの値が規定値に到達したとき、1 にセット されます。 17 R_SS_RC 0 rxipv4_hdrerr_octets カウンタの値が規定値に到達したとき、1 にセット されます。 16 R_SS_RC 0 rxipv4_gd_octets カウンタの値が規定値に到達したとき、1 にセットされ ます。 15, 14 R 0 予約 MN706-00015-2v0-J 説明 FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 152 141 CHAPTER 2: Ethernet-MAC 4. レジスタ FM3ファミリ bit 属性 初期値 説明 13 R_SS_RC 0 rxicmp_err_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 12 R_SS_RC 0 rxicmp_gd_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 11 R_SS_RC 0 rxtcp_err_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 10 R_SS_RC 0 rxtcp_gd_frms カウンタの値が規定値に到達したとき、1 にセットされま す。 9 R_SS_RC 0 rxudp_err_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 8 R_SS_RC 0 rxudp_gd_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 7 R_SS_RC 0 rxipv6_nopay_frms カウンタの値が規定値に到達したとき、1 にセットさ れます。 6 R_SS_RC 0 rxipv6_hdrerr_frms カウンタの値が規定値に到達したとき、1 にセットさ れます。 5 R_SS_RC 0 rxipv6_gd_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 4 R_SS_RC 0 rxipv4_udsbl_frms カウンタの値が規定値に到達したとき、1 にセットさ れます。 3 R_SS_RC 0 rxipv4_frag_frms カウンタの値が規定値に到達したとき、1 にセットさ れます。 2 R_SS_RC 0 rxipv4_nopay_frms カウンタの値が規定値に到達したとき、1 にセットさ れます。 1 R_SS_RC 0 rxipv4_hdrerr_frms カウンタの値が規定値に到達したとき、1 にセットさ れます。 0 R_SS_RC 0 rxipv4_gd_frms カウンタの値が規定値に到達したとき、1 にセットされ ます。 MMC 受信チェックサムオフロード割込みレジスタの各ビットは、各受信 IPC(チェックサムオフロ ード)統計カウンタの値が最大値の半分に到達したとき、および最大値に到達したときに生成され る割込みを保持します。このレジスタは 32 ビット幅です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 153 142 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ 5. ディスクリプタ ディスクリプタについて説明します。 ディスクリプタの概要 DMA は、 「3.3. DMA コントローラ」で説明しているように、ホストにより構築されたメモリ上の ディスクリプタリストに基づきデータを転送します。 各ディスクリプタには、2 つのバッファ, 2 つのバイトカウントバッファ, 2 つのアドレスポインタ があります。ディスクリプタアドレスは使用するバス幅にアラインされなければなりません。 DMA は、以降に説明する拡張ディスクリプタを使用します。Time-stamping 機能, Full IPC Offload 機能を使用する際、ソフトウェアは各ディスクリプタに対して、32 バイト(8 WORD)のメモリを割 り当てることを必要とします。Time Stamp 機能, Full IPC Offload 機能を使用しない場合、ディスク リプタのサイズは 4WORD (TDES0~TDES3, RDES0~REDS3)です。 DMA Register 0 の bit7 を使って、この変更に対応できるように構成する必要があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 154 143 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ 5.1. 送信拡張ディスクリプタ 送信拡張ディスクリプタについて説明します。 送信拡張ディスクリプタの構造を図 5-1 に示します。アプリケーションソフトウェアは、ディスク リプタの初期化時に、コントロールビット TDES0[31:20]をプログラムしなければなりません。 DMA がディスクリプタを更新するとき、OWN ビットを除くすべてのコントロールビットをライ トバックし、ステータスビット[19:0]を更新します(OWN ビットはクリアされます)。 <注意事項> Time Stamp 機能がイネーブルされているとき、ソフトウェアは DMA Register 0 の bit7 をセットし て、DMA が拡張ディスクリプタサイズで動作するよう指示する必要があります。このコントロー ルビットがリセットされている場合、TDES4~TDES7 のディスクリプタスペースは無効です。 図 5-1 送信拡張ディスクリプタの構成図 31 TDES0 O W N TDES1 R E S 0 Ctrl T T S E R E S R E S Ctrl T T S S Byte Count Buffer2 Status R E S Byte Count Buffer1 TDES2 Buffer Address 1 TDES3 Buffer Address 2/Next Descriptor Address TDES4 Reserved TDES5 Reserved TDES6 Transmit Time Stamp Low TDES7 Transmit Time Stamp High MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 155 144 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.1.1. FM3ファミリ Transmit Enhanced Descriptor 0 (TDES0) TDES0 は、送信フレームの制御ビット, ステータスビットにより構成されます。 TDES0 bit Field bit 31 30 29 28 27 26 25 24 OWN IC LS FS DC DP TTSE 予約 23 22 21 20 19 18 17 16 TER TCH TTSS IHE Field CIC 予約 bit 15 14 13 12 11 10 9 8 Field ES JT FF IPE LC NC LCO EC 7 6 5 4 3 2 1 0 ED UF DB bit Field VF CC[3:0] [bit31] OWN (OWN bit) このビットをセットすると、ディスクリプタが DMA によって所有されるよう指示します。リセッ トされていると、ディスクリプタがホストによって所有されていることを示します。DMA は、フ レームの送信完了時、またはディスクリプタで割り当てられているバッファが空になったときに このビットをクリアします。フレームの最初のディスクリプタの OWN bit は、同じフレームの後 続のすべてのディスクリプタがセットされた後にセットしなければなりません。これは、ディス クリプタのフェッチと、ドライバが OWN bit をセットする動作がレースコンディションを発生す ることを防止するためです。 [bit30] IC (Interrupt on Completion) このビットをセットすると、現在のフレーム送信後、Transmit Interrupt (DMA Register 5[0])がセッ トされます。 [bit29] LS (Last Segment) このビットをセットすると、バッファがフレームの最後の部分を含むことを指示します。このビ ットをセットする場合、TDES1 の TSB1 (送信バッファ 1 のサイズ) または TSB2 (送信バッファ 2 のサイズ) のいずれかが 0 以外である必要があります。 [bit28] FS (First Segment) このビットをセットすると、バッファがフレームの最初の部分を含むことを指示します。 [bit27] DC (Disable CRC) このビットをセットすると、Ethernet-MAC は送信フレームの終わりに巡回冗長検査(CRC)を付加 しません。このビットは、FS(TDES0[28])がセットされているときのみ有効です。 [bit26] DP (Disable Pad) このビットをセットすると、Ethernet-MAC は 64 バイト未満のフレームに対して自動 padding を行 いません。このビットをリセットすると、DMA は 64 バイト未満のフレームに対して、DC (TDES0[27])にかかわら ず 自 動 padding と CRC フ ィールドを付 加します。このビットは 、 FS(TDES0[28])がセットされているときのみ有効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 156 145 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ [bit25] TTSE (Transmit Time Stamp Enable) このビットをセットすると、ディスクリプタにより参照される送信フレームの IEEE1588 ハードウ ェアタイムスタンプ生成を有効にします。このビットは、FS(TDES0[28])がセットされているとき のみ有効です。 [bit23, 22] CIC (Checksum lnsertion Control) これらのビットは、チェックサム計算および挿入をコントロールします。ビットのエンコーディ ングを以下に示します。 00: チェックサム挿入がディセーブルされる。 01: IP ヘッダチェックサムの計算と挿入のみがイネーブルされる。 10: IP ヘッダチェックサムとペイロードチェックサムの計算と挿入がイネーブルされるが、擬 似ヘッダチェックサムはハードウェアでは計算されない。 11: IP ヘッダチェックサムとペイロードチェックサムの計算と挿入がイネーブルされ、擬似ヘ ッダチェックサムがハードウェアで計算される。 <注意事項> IPv6 認証ヘッダを使用する Ethernet 環境下では、必ず CIC は"00"または"01"にしてください。 [bit21] TER (Transmit End of Ring) このビットをセットすると、ディスクリプタリストの最後のディスクリプタに到達したことを指 示します。DMA はリストのベースアドレスに戻り、ディスクリプタリングを形成します。 [bit20] TCH (Second Address Chained) このビットをセットすると、TDES3 のアドレスが、バッファ 2 のアドレスではなく、次のディス クリプタアドレスであることを指示します。このビットをセットしているとき、バッファ 2 のサ イズ (TBS2 :TDES1[28:16])は、 「don’t care」値です。TER (TDES0[21]) をセットしている場合、 このビットの値は無視されます。 [bit17] TTSS (Transmit Time Stamp Status) このビットは、指定した送信フレームのタイムスタンプがキャプチャされたことを表すテータス ビットです。このビットがセットされているとき、TDES6 および TDES7 には、送信フレームに対 してキャプチャされたタイムスタンプ値が格納されています。このビットは、ディスクリプタの LS (TDES0[29])がセットされているときのみ有効です。 [bit16] IHE (IP Header Error) このビットがセットされると、GMAC トランスミッタが IP データグラムヘッダでエラーを検出し たことを表示します。トランスミッタは、IPv4 パケットのヘッダの長さをアプリケーションから 受け取ったヘッダバイトの数と照合し、一致しなければエラーステータスを示します。IPv6 フレ ームに対しては、メインヘッダの長さが 40 バイトでない場合、ヘッダエラーが報告されます。さ らに、IPv4 または IPv6 フレームの Ethernet Length/Type フィールド値は、パケットと共に受け取っ た IP ヘッダバージョンと一致しなければなりません。IPv4 フレームに対しては、Header Length フィールドの値が 0x5 未満である場合にもエラーステータスが示されます。 [bit15] ES (Error Summary) 下記のビットの論理 OR を表示します。 TDES0[16] :IP Header Error TDES0[14] :Jabber Timeout TDES0[13] :Frame Flush TDES0[12] :IP Payload Error TDES0[11] :Loss of Carrier MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 157 146 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ TDES0[10] :No Carrier TDES0[9] :Late Collision TDES0[8] :Excessive Collision TDES0[2] :Excessive Deferral TDES0[1] :Underflow Error [bit14] JT (Jabber Timeout) このビットがセットされると、GMAC トランスミッタでジャバータイムアウトが発生したことを 表示します。このビットは、GMAC Register 0 の JD ビットがセットされていないときのみセット されます。 [bit13] FF(Frame Flushed) このビットがセットされると、CPU が SW フラッシュコマンドを発行したため DMA/MTL がフレ ームをフラッシュしたことを表示します。 [bit12] IPE (IP Payload Error) このビットがセットされると、GMAC トランスミッタが TCP, UDP, または ICMP IP データグラム ペイロードでエラーを検出したことを表示します。 トランスミッタは、IPv4 or IPv6 ヘッダで受信したペイロードの長さをアプリケーションから受信 した TCP, UDP, または ICMP の実際の数と照合してチェックし、一致しない場合はエラーステー タスを発行します。 [bit11] LC (Loss of Carrier) このビットがセットされると、フレーム送信中にキャリアが失われたこと(フレーム送信中に CRS 信号が 1 つ以上の送信クロック時間の間、非アクティブになっている)を表示します。このビット は、GMAC が半二重モードで動作し、送信フレームにコリジョンが発生しなかったときにセット されます。 [bit10] NC (No Carrier) このビットがセットされると、PHY からのキャリアセンス信号が送信中にアサートされなかった ことを表示します。 [bit9] LCO (Late Collision) このビットがセットされると、コリジョンウィンドウ(MII モードでプリアンブルを含む 64 バイト タイム)以降にコリジョンが発生したためにフレーム送信が中断され たことを表示します。 Underflow Error がセットされている場合は無効です。 <注意事項> フレームが送信された直後に COL 信号入力が変化した場合、これをレイトコリジョンとして認識 できない場合があります。 [bit8] EC (Excessive Collision) このビットがセットされると、現在のフレーム送信試行中に 16 回のコリジョンが発生した後、送 信が中断されたことを表示します。GMAC Register0 の DR (Disable Retry)ビットがセットされてい る場合、最初のコリジョンの後このビットがセットされ、フレームの送信が中断されます。 [bit7] VF (VLAN Frame) このビットがセットされると、送信されたフレームが VLAN TAG フレームだったことを表示しま す。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 158 147 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ [bit6:3] CC (Collision Count) この 4 ビットカウンタの値は、フレーム送信完了までに発生したコリジョンの数を表示します。 Excessive Collisions ビット(TDES0[8])がセットされているとき、このカウンタ値は無効です。 [bit2] ED (Excessive Deferral) このビットがセットされると、GMAC Register0 の Deferral Check (DC)がセットされている場合に、 24288 ビットタイム(Jumbo Frame イネーブルモードでは 155680 ビットタイム)を超える延期のため に送信が終了したことを表示します。 [bit1] UF (Underflow Error) このビットがセットされると、ホストメモリからのデータが遅れたため GMAC がフレームを中断 したことを表示します。Underflow Error は、フレームの送信中に DMA が空の送信バッファ(Transmit Buffer)を検出したことを示します。送信プロセスは一時停止ステートに入り、Transmit Underflow (DMA Register 5[5])および Transmit Interrupt (DMA Register 5[0])の両方をセットします。 [bit0] DB (Deferred Bit) このビットがセットされると、 キャリアの存在のために GMAC が送信を延期したことを示します。 このビットは半二重モード時のみ有効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 159 148 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.1.2. FM3ファミリ Transmit Enhanced Descriptor 1 (TDES1) TDES1 は、送信バッファ 1, 2 のサイズを指定します。 TDES1 bit 31 29 28 23 22 25 24 21 20 19 18 17 16 10 9 8 1 0 TBS2[7:0] 15 14 13 12 11 予約 Field bit 26 TBS2[12:8] Field bit 27 予約 Field bit 30 7 6 TBS1[12:8] 5 Field 4 3 2 TBS1[7:0] [bit28:16] TBS2 (Transmit Buffer 2 Size) このビットは、送信データバッファ 2 のサイズをバイト単位で指定します。TCH (TDES0[20]) が セットされている場合、このフィールドは無効です。 [bit12:0] TBS1 (Transmit Buffer 1 Size) このビットは、送信データバッファ 1 のサイズをバイト単位で指定します。このフィールドが 0 である場合、DMA は送信データバッファ 1 を無視し、TCH (TDES0[20])の値に従って、送信デー タバッファ 2、または次のディスクリプタを使用します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 160 149 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.1.3. FM3ファミリ Transmit Enhanced Descriptor 2 (TDES2) TDES2 は、送信バッファ 1 の物理アドレスを指定します。 TDES2 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 B1AP[23:16] 15 14 13 Field bit 27 B1AP[31:24] 23 bit 28 12 11 B1AP[15:8] 7 6 5 Field 4 3 B1AP[7:0] [bit31:0] B1AP[31:0] (Buffer 1 Address Pointer) このビットは、バッファ 1 の物理アドレスを指定します。バッファアドレスのアライメントにつ いての制限はありません。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 161 150 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.1.4. FM3ファミリ Transmit Enhanced Descriptor 3 (TDES3) TDES3 は、送信バッファ 2 の物理アドレスまたは次のディスクリプタの物理アドレスを指定 します。 TDES3 bit bit31 bit30 bit29 Field bit bit22 bit21 Field bit26 bit25 bit24 bit20 bit19 bit18 bit17 bit16 bit10 bit9 bit8 bit2 bit1 bit0 B2AP[23:16] bit15 bit14 bit13 Field bit bit27 B2AP[31:24] bit23 bit bit28 bit12 bit11 B2AP[15:8] bit7 bit6 bit5 Field bit4 bit3 B2AP[7:0] [bit31:0] B2AP[31:0] (Buffer 2 Address Pointer) このビットは、ディスクリプタのリング構造を使用するとき、バッファ 2 の物理アドレスを指定 します。Second Address Chained (TDES0[20])をセットしている場合、このアドレスは次のディスク リプタがある物理アドレスを指定します。この値は、TDES0[20]をセットしているときのみ、バス 幅にアラインしなければなりません(LSB は内部的に無視されます)。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 162 151 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.1.5. FM3ファミリ Transmit Enhanced Descriptor 6 (TDES6) TDES6 には、送信時にキャプチャされたタイムスタンプ下位 32 ビットが DMA により格納 されます。 TDES6 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 TTSL[23:16] 15 14 13 Field bit 27 TTSL[31:24] 23 bit 28 12 11 TTSL[15:8] 7 6 5 Field 4 3 TTSL[7:0] [bit31:0] TTSL (Transmit Frame Time Stamp Low) このフィールドは、対応する送信フレームに対してキャプチャされたタイムスタンプの下位 32 ビ ットの値に、DMA により更新されます。このフィールドは、ディスクリプタの Last Segment bit (LS) ビットがセットされ、Time stamp status (TTSS)ビットがセットされている場合のみタイムスタンプ が格納されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 163 152 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.1.6. FM3ファミリ Transmit Enhanced Descriptor 7 (TDES7) TDES7 には、送信時にキャプチャされたタイムスタンプ上位 32 ビットが DMA により格納 されます。 TDES7 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 TTSH[23:16] 15 14 13 Field bit 27 TTSH[31:24] 23 bit 28 12 11 TTSH[15:8] 7 6 5 Field 4 3 TTSH[7:0] [bit31:0] TTSH (Transmit Frame Time Stamp High) このフィールドは、対応する送信フレームに対してキャプチャされたタイムスタンプの上位 32 ビ ットの値に、DMA により更新されます。このフィールドは、ディスクリプタの Last Segment bit (LS) ビットがセットされ、Time stamp status (TTSS)ビットがセットされている場合にのみタイムスタン プが格納されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 164 153 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ 5.2. 受信拡張ディスクリプタ 受信拡張ディスクリプタについて説明します。 受信 DMA は、フレームを受信するとき、少なくとも 2 つのディスクリプタを必要とします。DMA の受信ステートマシンは、フレームの受信を想定して、常に余分のディスクリプタを取得しよう とします(受信フレームのサイズは未知です)。フレームを受信しなかった場合でも、受信 DMA が ディスクリプタを閉じる前に次のディスクリプタを取得しようとします。 受信拡張ディスクリプタの構造を図 5-2 に示します。 <注意事項> Time Stamp 機能がイネーブルされているとき、ソフトウェアは DMA Register 0 の bit7 をセットし て、DMA が拡張ディスクリプタサイズで動作するよう指示する必要があります。このコントロー ルビットがリセットされている場合、RDES4~RDES7 のディスクリプタスペースは無効です。 図 5-2 受信拡張ディスクリプタ構成図 31 TDES0 TDES1 0 O W N C T R L Status R E S Byte Count Buffer2 C T R L R E S Byte Count Buffer1 TDES2 Buffer Address 1 TDES3 Buffer Address 2/Next Descriptor Address TDES4 Extended Status TDES5 Reserved TDES6 Receive Time Stamp Low TDES7 Receive Time Stamp High MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 165 154 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.1. FM3ファミリ Receive Enhanced Descriptor 0 (RDES0) RDES0 は、受信フレームの制御ビット, ステータスビットにより構成されます。 RDES0 bit Field bit 31 30 OWN AFM 23 22 29 28 27 26 25 24 19 18 17 16 FL[13:8] 21 20 Field FL[7:0] bit 15 14 13 12 11 10 9 8 Field ES DE SAF LE OE VLAN FS LS 7 6 5 4 3 2 1 0 TS LC FT RWT RE DE CE ESA bit Field [bit31] OWN (OWN bit) このビットをセットすると、ディスクリプタが DMA によって所有されるよう指示します。リセッ トされていると、ディスクリプタがホストによって所有されていることを表示します。DMA は、 フレーム受信完了時、またはこのディスクリプタで割り当てられているバッファが一杯のときに、 このビットをクリアします。 [bit30] AFM(Destination Address Filter Fail) このビットがセットされると、フレームが GMAC の DA Filter でフェイルしたことを表示します。 [bit29:16] FL[13:0] (Frame Length) このビットは、ホストメモリに転送された受信フレームのバイト長(CRC を含む)を表示します。 このフィールドは、Last Descriptor (RDES0[8])がセットされ、Descriptor Error (RDES0[14])または Overflow Error (RDES0[11])のどちらかがリセットされているときに有効です。 このフィールドは、Last Descriptor (RDES0[8])がセットされているときに値が確定しますが、Last Descriptor ビットおよび Error Summary ビットがセットされていないとき、このフィールドは現在 のフレームの転送済みバイトの累積数を表示します。 [bit15] ES (Error Summary) 下記のビットの論理 OR を表示します。 RDES0[1] : RDES0[3] : RDES0[4] : RDES0[6] : RDES0[7] : RDES0[11] : RDES0[14] : RDES4[4:3] : CRC Error Receive Error Watchdog Timeout Late Collision IPC Checksum Overflow Error Descriptor Error IP Header/Payload Error このフィールドは Last Descriptor (RDES0[8])がセットされているときに有効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 166 155 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ [bit14] DE (Descriptor Error) このビットがセットされると、フレームが現在のディスクリプタバッファ内に収まらず、DMA が 次のディスクリプタを所有していないためにフレームが切り捨てられたことを表示します。フレ ームは切り捨てられます。このフィールドは、LS(RDES0[bit8])がセットされているときのみ有効 です。 [bit13] SAF(Source Address Filter Fail) このビットがセットされると、フレームの SA フィールドが GMAC の SA Filter でフェイルしたこ とを表示します。 [bit12] LE (Length Error) このビットがセットされると、受信フレームの実際の長さと Length/Type フィールドの値が一致し ないことを表示します。このビットは、Frame Type (RDES0[5])ビットがリセットされているとき のみ有効です。CRC エラーがあるとき、Length エラーステータスは無効です。 [bit11] OE (Overflow Error) このビットがセットされると、受信したフレームが MTL でのバッファオーバフローのために損傷 したことを表示します。 [bit10] VLAN (VLAN tag) このビットがセットされると、このディスクリプタで指定しているフレームが、GMAC によって タグ付けされた VLAN フレームであることを表示します。 [bit9] FS (First Descriptor) このビットがセットされると、このディスクリプタが、フレームの最初のバッファを含んでいる ことを表示します。最初のバッファのサイズが 0 である場合、2 番目のバッファがフレームの先頭 を含んでいます。2 番目のバッファのサイズも 0 である場合、次のディスクリプタがフレームの先 頭を含んでいます。 [bit8] LS (Last Descriptor) このビットがセットされると、このディスクリプタで指定しているバッファがフレームの最後の バッファであることを表示します。 [bit7] TS (Time Stamp) このビットがセットされると、タイムスタンプのスナップショットがディスクリプタのワード 6 (RDES6)および 7 (RDES7)に書き込まれたことを表示します。このビットは、Last Descriptor ビッ ト (RDES0[8])がセットされているときのみ有効です。 [bit6] LC (Late Collision) このビットがセットされると、半二重モードでのフレーム受信中にレイトコリジョンが発生した ことを表示します。 [bit5] FT (Frame Type) このビットがセットされると、 受信フレームが Ethernet タイプのフレーム(LT フィールドが 0x0600 以上)であることを表示します。このビットがリセットされると、受信フレームが IEEE802.3 フレ ームであることを表示します。このビットは、14 バイト未満の Runt フレームでは無効です。 [bit4] RWT (Receive Watchdog Timeout) このビットがセットされると、現在のフレームの受信中に Receive Watchdog Timer が時間切れにな ったことを表示します。ウォッチドッグのタイムアウト後に現在のフレームが中途で切り捨てら れます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 167 156 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ [bit3] RE (Receive Error) このビットがセットされると、RX_DV 信号がアサートされているフレームの受信中に、RX_ER 信号がアサートされたことを表示します。このエラーはまた、GMII 時の半二重モードでのキャリ アエクステンションエラーを含みます。エラーは、エクステンションの過小/不在、またはエクス テンション中のエラー(RXD ≠ 0f)である場合があります。 [bit2] DE (Dribble Bit Error) このビットがセットされると、受信フレームがバイトの非整数倍長であったことを表示します。 [bit1] CE (CRC Error) このビットがセットされると、受信フレームで Cyclic Redundancy Check (CRC) Error が発生したこ とを表示します。このフィールドは、Last Descriptor (RDES0[8])がセットされているときのみ有効 です。 [bit0] ESA (Extended Status Available) このビットがセットされると、ディスクリプタのワード 4 (RDES4)の拡張ステータスが利用できる ことを表示します。このビットは Last Descriptor ビット(RDES0[8])がセットされているときのみ有 効です。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 168 157 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.2. FM3ファミリ Receive Enhanced Descriptor 1 (RDES1) RDES2 は、受信バッファ 1, 2 のサイズと制御情報を指定します。 RDES1 bit 31 Field bit 30 Field bit 27 26 25 24 18 17 16 10 9 8 1 0 RBS2[12:8] 22 21 Field bit 28 予約 DIC 23 29 20 19 RBS2[7:0] 15 14 13 RER RCH 予約 7 6 5 Field 12 11 RBS1[12:8] 4 3 2 RBS1[7:0] [bit31] DIC(Disable Interrupt on Completion) このビットをセットすると、このディスクリプタで指定しているバッファ内で終了する受信フレ ームに対し、ステータスレジスタの RI (DMA Register 5[6])をセットしないよう指示します。この ため、そのフレームに対する RI によるホストへの割込み信号アサートがディセーブルされます。 [bit28:16] RBS2 (Receive Buffer 2 Size) このビットは、バッファ 2 のサイズをバイト単位で指示します。RDES3 (バッファ 2 のアドレスポ インタ)がバス幅にアラインされていない場合でも、バッファサイズは 4 の倍数でなければなりま せん。バッファサイズが 4 の倍数でない場合の動作は定義されていません。RDES1[14]がセットさ れている場合、このフィールドは無効です。 [bit15] RER (Receive End of Ring) このビットをセットすると、ディスクリプタリストが最後のディスクリプタに達したことを指示 します。DMA はリストのベースアドレスに戻り、ディスクリプタリングを形成します。 [bit14] RCH (Second Address Chained) このビットをセットすると、RDES3 のアドレスが、バッファ 2 のアドレスではなく、次のディス クリプタアドレスであることを指示します。このビットをセットしているとき、バッファ 2 のサ イズ RBS2 (RDES1[28:16])は、 「don’t care」値です。RER (RDES1[15]) をセットしている場合、こ のビットの値は無視されます。 [bit12:0] RBS1 (Receive Buffer 1 Size) このビットは、バッファ 1 のサイズをバイト単位で指示します。RDES2 (バッファ 1 のアドレスポ インタ)がバス幅にアラインされていない場合でも、バッファサイズは、バス幅に応じて 4, 8, また は 16 の倍数でなければなりません。バッファサイズが 4 の倍数でない場合の動作は定義されてい ません。このフィールドが 0 である場合、DMA はこのバッファを無視し、RCH (RDES1[14])の値 に従ってバッファ 2 または次のディスクリプタを使用します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 169 158 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.3. FM3ファミリ Receive Enhanced Descriptor 2 (RDES2) RDES2 は、受信バッファ 1 の物理アドレスを指定します。 RDES2 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 B1AP[23:16] 15 14 13 Field bit 27 B1AP[31:24] 23 bit 28 12 11 B1AP[15:8] 7 6 5 Field 4 3 B1AP[7:0] [bit31:0] B1AP[31:0] (Buffer 1 Address Pointer) このビットは、バッファ 1 の物理アドレスを指定します。以下の条件を除いて、バッファアドレ スのアライメントに制限はありません: DMA は RDES2 の値をバッファ 1 のアドレス生成のために使用します。DMA は、フレームの先頭 部分の転送の際、RDES2[1:0]ビットを 00 と見なして、32 ビット幅でメモリに書き込む動作を行い ます。ただし、フレームデータは設定されたバッファアドレスポインタにシフトして書き込みま す。バッファアドレスが 32 ビット幅にアライメントされていない場合、下位側にダミーデータを 書き込みます。DMA は、フレームの中央または最後の部分の転送の際は、RDES2[1:0]を無視し、 32 ビット幅でメモリに書込みを行います。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 170 159 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.4. FM3ファミリ Receive Enhanced Descriptor 3 (RDES3) RDES3 は、受信バッファ 2 の物理アドレスまたは次のディスクリプタの物理アドレスを指定 します。 RDES3 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 B2AP[23:16] 15 14 13 Field bit 27 B2AP[31:24] 23 bit 28 12 11 B2AP[15:8] 7 6 5 Field 4 3 B2AP[7:0] [bit31:0] B2AP[31:0] (Buffer 2 Address Pointer) このビットは、ディスクリプタのリング構造を使用するとき、バッファ 2 の物理アドレスを指定 します。Second Address Chained (RDES1[14])をセットしているとき、このアドレスは次のディスク リプタがある物理アドレスを指定します。 RDES1[14]をセットしている場合、次のディスクリプタアドレスポインタはバス幅にアラインされ ていなければなりません(RDES3[1:0] = 0。LSB は内部的に無視されます)。 RDES1[14]をリセットしている場合、次の条件を除いて、RDES3 値のアライメントに制限はあり ません RDES3 の値をフレームの先頭の転送に使用しているとき、DMA はその設定値をアドレス生成の ために使用し、その位置からフレームの転送を行います。RDES3 の値をフレームの中央または最 後の部分の転送に使用している場合、DMA は RDES3[1:0]を無視します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 171 160 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.5. FM3ファミリ Receive Enhanced Descriptor 4 (RDES4) RDES4 には、受信フレームの拡張ステータス情報が格納されます。 RDES4 bit 31 30 29 28 27 26 25 24 19 18 17 16 11 10 9 8 1 0 予約 Field bit 23 22 21 20 予約 Field bit Field bit Field 15 14 13 12 予約 TD PV PFT 7 6 5 4 3 IP6R IP4R IPCB IPE IPHE MT 2 IPT [bit14] TD (Timestamp Dropped) このビットがセットされていると、受信フレームのタイムスタンプがキャプチャされたが、オー バフローのために RxFIFO で廃棄されたことを表示します。 [bit13] PV (PTP Version) このビットがセットされていると、受信した PTP メッセージが IEEE 1588 バージョン 2 フォーマ ットであることを表示します。リセットされていると、バージョン 1 フォーマットであることを 表示します。このビットは MT (message type)が、0000 でない場合のみ有効です。 [bit12] PFT (PTP Frame Type) このビットがセットされていると、PTP message over Ethernet を受信したことを表示します。この ビットがセットされておらず、MT (message type)が 0000 でない場合、 PTP message over UDP-IPv4 ま たは、PTP message over UDP-IPv6 を受信したことを表示します。IPv4 または IPv6 に関する情報 は、bit6 および bit7 から取得できます。 [bit11:8] MT (Message Type) このビットは、受信したメッセージのタイプを表示します。 0000 : 0001 : 0010 : 0011 : 0100 : 0101 : 0110 : 0111 : 1000 : 1001 : 1010 : 1011-1110: 1111 : No PTP message received or PTP packet with Reserved message type (*) SYNC (all clock types) Follow_Up (all clock types) Delay_Req (all clock types) Delay_Resp (all clock types) Pdelay_Req (in peer-to-peer transparent clock) Pdelay_Resp (in peer-to-peer transparent clock) Pdelay_Resp_Follow_Up (in peer-to-peer transparent clock) Announce Management Signaling Reserved PTP packet with reserved message type (Control Field 0x05- 0x0f) MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 172 161 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ FM3ファミリ * PTP control field を 0xMN として、M=0x0-0x0F, N=0x0 or 0x1 かつ、受信した UDP 送信先ポートアドレスが General PTP message PTP control field を 0xMN として、M=0x0-0x0F, N=0x2, 0x3, 0x4 かつ、受信した UDP 送信先ポートアドレスが Event PTP message [bit7] IP6R (IPv6 Packet Received) このビットがセットされると、受信したパケットが IPv6 パケットであることを表示します。この ビットは、IPC(Checksum Offload: GMAC Register0[10])をセットしているときのみ更新されます。 [bit6] IP4R (IPv4 Packet Received) このビットがセットされると、受信したパケットが IPv4 パケットであることを表示します。この ビットは、IPC(Checksum Offload: GMAC Register0[10])をセットしているときのみ更新されます。 [bit5] IPCB (IP Checksum Bypassed) このビットがセットされると、チェックサムオフロードエンジンがバイパスされたことを表示し ます。 [bit4] IPE (IP Payload Error) このビットがセットされると、GMAC が計算した 16 ビットの IP ペイロードチェックサム(すなわ ち、TCP, UDP, ICMP のチェックサム)値と、受信したセグメントの対応するチェックサムフィール ドの値が一致しなかったことを表示します。また、TCP, UDP, ICMP のセグメント長が、IP Header フィールドのペイロード長と一致しないときも、このビットがセットされます。 [bit3] IPHE (IP Header Error) このビットがセットされると、GMAC が計算した 16 ビットの IPv4 ヘッダチェックサムと、受信 したチェックサムバイトが一致しない、または IP データグラムのバージョンが Ethernet Type 値と 一致しないことを表示します。 [bit2:0] IPT (IP Payload Type) このビットは、受信チェックサムロードエンジン (Receive Checksum Offload Engine :COE)によっ て処理された IP データグラムの中のカプセル化されたペイロードタイプを表示します。COE は、 IP ヘッダエラー, IP 断片化のために、IP データグラムのペイロードを処理しなかった場合、この ビットを 000 にします。 000 : 001 : 010 : 011 : 1xx : 未知、または IP ペイロードを処理しなかった UDP TCP ICMP 予約 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 173 162 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.6. FM3ファミリ Receive Enhanced Descriptor 6 (RDES6) RDES6 には、受信時にキャプチャされたタイムスタンプ下位 32 ビットが DMA により格納 されます。 RDES6 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 RTSL[23:16] 15 14 13 Field bit 27 RTSL[31:24] 23 bit 28 12 11 RTSL[15:8] 7 6 5 Field 4 3 RTSL[7:0] [bit31:0] RTSL (Receive Frame Time Stamp Low) このフィールドは、DMA によって、対応する受信フレームに対してキャプチャされたタイムスタ ンプの下位 32 ビットの値に更新されます。このフィールドは、受信フレームの最後のディスクリ プタ(Last Descriptor (RDES0[8])によって示される)のみ、DMA によって更新されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 174 163 CHAPTER 2: Ethernet-MAC 5. ディスクリプタ 5.2.7. FM3ファミリ Receive Enhanced Descriptor 7 (RDES7) RDES7 には、受信時にキャプチャされたタイムスタンプ上位 32 ビットが DMA により格納 されます。 RDES7 bit 31 30 29 Field bit 22 21 Field 26 25 24 20 19 18 17 16 10 9 8 2 1 0 RTSH[23:16] 15 14 13 Field bit 27 RTSH[31:24] 23 bit 28 12 11 RTSH[15:8] 7 6 5 Field 4 3 RTSH[7:0] [bit31:0] RTSH (Receive Frame Time Stamp High) このフィールドは、DMA によって、対応する受信フレームに対してキャプチャされたタイムスタ ンプの上位 32 ビットの値に更新されます。このフィールドは、受信フレームの最後のディスクリ プタ(Last Descriptor (RDES0[8])によって示される)のみ、DMA によって更新されます。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 175 164 CHAPTER 2: Ethernet-MAC 6. プログラミングガイド FM3ファミリ 6. プログラミングガイド Ethernet-MAC を使用する際のプログラミングガイドを記載します。 DMA の初期化 - ディスクリプタ DMA の初期化では、以下の処理を行います。 1. ソフトリセットを実行します。これによって Ethernet-MAC 内部レジスタおよびロジックがす べてリセットされます(DMA Register 0: Bus Mode Register, bit0)。 2. リセット処理が完了するまで待ちます(DMA Register 0: Bus Mode Register[0]をポーリングしま す。このビットはリセット動作完了後にクリアされます)。 3. DMA Register 11 (AHB Status Register, bit0)をポーリングし、前に開始していた(ソフトリセット の前)、または現在進行中の AHB トランザクションが完了していることを確認します。 * アプリケーションがソフトリセット後に(性能上の理由で) AHB Status Register をポーリング できない場合、次のステップに進んでから、DMA の動作をトリガする前に、もう一度この レジスタをチェックすることを推奨します(ステップ 12 の説明を参照)。 4. PS ビット(GMAC Register 0 :MCR[15])に 1 をセットし、 MII/RMII インタフェースを選択します。 このレジスタの初期値は 0 であるため、必ず 1 の書込みが必要です。 5. 下記のフィールドをプログラムし、DMA Register0 (Bus Mode Register)の値を設定することによ って Bus Mode Register を初期化します。 a. MB (Mixed Burst), AAL, FB (Fixed Burst) FM3 ファミリ マイコンのシステムバスは、マルチレイヤバス構成であり、 CPU と Ethernet-MAC の DMA はそれぞれ独立したバスを持っています。 また、Ethernet-MAC の DMA が不定長バースト (INCR) による転送動作を行う場合、CPU のバスアクセス動作は随時実 行されます。このため、MB=1, AAL=0, FB=0 のレジスタ設定を推奨します。 b. PBL, RPBL, 8xPBL, USP (Burst length values and burst mode values) c. DSL (Descriptor length) Ring Mode を使用する場合、設定が必要です。 d. TXPR, PR, DA (Tx Rx DMA arbitration scheme) Ethernet-MAC の送信 DMA と受信 DMA によるシステムメモリへのアクセスが競合集中する 場合、それぞれのメモリ・アクセス動作が遅延する状態が発生します。この場合に、送信 DMA と受信 DMA 間のバス占有率を PR, DA により制御できます。 e. ATDS (Alternate Descriptor Size) タイムスタンプ機能, 受信 IPC オフロード機能を使用する際は、セットします。 6. 送信および受信のための適切なディスクリプタ Chain を作成します。この際、受信ディスクリ プタは、DMA の所有にしておく必要があります。(RDES0[31]をセットしておく必要がありま す)。OSF モードを使用するとき、少なくとも 2 つのディスクリプタが必要です。 7. いずれかのディスクリプタを再使用する前には、ソフトウェアがリング内に 3 つ以上の異なる 送信または受信ディスクリプタを作成している必要があります。 8. 受信および送信ディスクリプタリストアドレスを送信および受信ディスクリプタのベースア ドレスによって初期化します(DMA Register 3 - Receive Descriptor List Address Register, DMA Register 4 - Transmit Descriptor List Address Register)。 9. 下記のフィールドをプログラムし、DMA Register6 (Operation Mode Register)の値を設定するこ とによってオペレーションモードを初期化します。 a. RSF, TSF (Receive and Transmit Store And Forward) b. RTC, TTC (Receive and Transmit Threshold Control) c. FEF, FUF (Error Frame and undersized good frame forwarding enable) d. OSF (Operation on Second Frame) 10. ステータスレジスタがセットされているビット(割込みビットのみ)は、書込みにより、割込み 要求をクリアしておきます。例えば、通常割込みサマリ(NIS)では、bit16 に 1 を書き込むこと によってこのビット(DMA Register 5 :Status Register SR[16])をクリアします。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 176 165 CHAPTER 2: Ethernet-MAC 6. プログラミングガイド FM3ファミリ 11. 割込みイネーブルレジスタ(DMA Register7 - Interrupt enable register)をプログラムすることによ って、割込みを許可しておきます。 12. DMA Register 11 (AHB Status Register)を読み出し、前のすべての AHB トランザクションが完了 していることを確認します。 13. コントロールレジスタ(DMA Register6 - operation mode register)の SR(bit1)および ST (bit13)をセ ットすることによって、Receive および Transmit DMA の動作を開始します。 GMAC の初期化 DMA の初期化シーケンスを完了した後、以下の GMAC 初期化処理を実行します。DMA をセット アップする前に GMAC の初期化を実行した場合、GMAC 受信部の許可指示(下記の最後のステッ プ)は、DMA がアクティブ化された後のみ可能となります。そうしない場合、受信フレームによ り、受信 FIFO が充填され、オーバフローが発生することがあります。 1. 外部 PHY のマネジメントサイクル制御のため、GMAC Register4 - GMII Address Register をプロ グラムします。例えば、Physical Layer Address PA (bit15:11)など。PHY への書込みおよび PHY からの読出しのために bit0 (GMII Busy)をセットします。 2. リンク状態, オペレーション速度, オペレーションモードの PHY から読み出された 16 ビット データを、GMAC Register5 (GMII Data Register)から読み出します。 3. GMAC Register0 (MAC Configuration register)の該当するフィールドをプログラムします。例え ば、送信中のフレーム間隔, ジャバーのディセーブルなど。オートネゴシエーションの結果を 元に、bit11 (全二重/半二重), bit14 (10Mpbs/100Mbps)などを設定します。その後 PHY インタフ ェースクロックの 2 サイクル時間待機します。 4. MAC アドレスを設定します(GMAC Register16, 17:MAR0H, MAR0L)。 5. ハッシュフィルタレジスタをプログラムします(GMAC Register2, 3:MHTRH, MHTRL)。 6. 受信フレームの適切なフィルタを下記のフィールドで設定します。 (GMAC Register1:MFFR) a. Receive All b. Promiscuous mode c. Hash or Perfect Filter d. Unicast, Multicast, broad cast and control frames filter settings etc. 7. 適切なフローコントロールを下記のフィールドで設定します。 (GMAC Register6: FCR) a. Pause time and other pause frame control bits b. Receive and Transmit Flow control bits c. Flow Control Busy/Backpressure Activate 8. システム構成の必要に応じ、Interrupt Mask レジスタビットをプログラムします。 9. GMAC Register0:MCR の Transmit Enable (TE:bit3)および Receive Enable (RE:bit2)をセットします。 通常の受信および送信動作 通常の動作では、以下のステップを実行します。 1. 通常の送信と受信割込みが発生した場合、割込みステータスを読み出します。次にディスクリ プタをポーリングし、ホストが所有しているディスクリプタのステータス(送信または受信)を 読み出します。 2. ディスクリプタに適切な値を設定します。データの送信および受信を再開するためには、DMA が送信および受信ディスクリプタを所有しているようにする必要があります。 3. DMA がディスクリプタを所有していない場合(または利用可能なディスクリプタがない場合)、 DMA は Suspend ステートに入ります。送信または受信を再開するには、ディスクリプタを開 放し、Tx/Rx ポーリング要求レジスタ(DMA Register1 - Transmit Poll Demand Register と DMA Register2 - Receive Poll Demand Register)に 0 を書き込むことによってポーリング要求を発行し ます。 4. デバッグ処理用に、現在の送信と受信のディスクリプタのアドレスポインタ値を読み出すこと ができます。(DMA Register18 - Current Host Transmit Descriptor Register と DMA Register19 Current Host Receive Descriptor Register) MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 177 166 CHAPTER 2: Ethernet-MAC 6. プログラミングガイド FM3ファミリ 5. デバッグ処理用に、現在のホストメモリ上の送信バッファアドレスポインタと受信バッファア ドレスポインタを読み出すことができます(DMA Register20 - Current Host Transmit Buffer Address Register および DMA Register21 - Current Host Receive Buffer Address Register). 動作の停止および開始 データ転送を一時的に停止する必要があるとき、以下のステップを実行します。 1. 制御レジスタ(DMA Register6:OMR)の ST (bit13)をクリアすることによって送信 DMA をディセ ーブルします(送信 DMA が動作している場合) 2. 実施中のフレーム転送処理が完了するまで待ちます。(DMA Register 5[22:20]を読み出すことに よってチェックします) 3. 送信 FIFO をフラッシュし、empty 動作を迅速化します。 4. GMAC Register0:MCR の Transmitter Enable (TE:bit3)と Receiver Enable (RE:bit2)をクリアし、 GMAC トランスミッタおよび GMAC レシーバをディセーブルします。 5. リンクが確立された後、最新の構成を知るために PHY レジスタを読み出し、それに従って GMAC のレジスタをプログラムします。 6. 送信 DMA をイネーブルにし、GMAC トランスミッタと GMAC レシーバをイネーブルするこ とによって、動作を再開します。受信 DMA をディセーブルする必要はありません。GMAC レ シーバがディセーブルされると受信 FIFO にデータは取り込まれません。 リンクの停止/確立シーケンス PHY とのリンクがダウンしているとき、以下のステップを実行します。 1. リンクが確立するまで待ち、TX および RX クロックが停止している場合は RX および TX クロ ックが入力されるまで待ちます。 2. DMA Register 0 (Bus Mode Register)で Software Reset (SWR:bit0)をセットすることによって、ソ フトリセットを実行し、DMA および GMAC のトランスミッタ/レシーバをクリアします。 3. 「 DMA の初期化 - ディスクリプタ」の初期化の手順に従います。 IEEE タイムスタンプ生成のプログラミング・ガイドライン システムタイム生成の初期化ガイドライン タイムスタンプ生成機能は、Time Stamp コントロールレジスタの bit0 をセットすることによって イネーブルできます。しかし、このビットをセットした後、Time Stamp カウンタを初期化し、タ イムスタンプ動作を開始することが重要です。これは Ethernet-MAC の初期化中に、以下のステッ プを実行することによって行います。 1. GMAC Register 15:IMR の bit9 をセットし、Time Stamp Trigger 割込みをマスクします。 2. GMAC Register 448 :Time Stamp Control register の bit0 をセットし、タイムスタンプ機能をイネ ーブルします。 3. GMAC Register 449: Sub-Second Increment register を PTP クロック周波数に基づいてプログラム します。 4. Fine Correction アプローチを使用する場合、GMAC Register 454:Time Stamp Addend レジスタを プログラムし、Time Stamp Control register の Addend Register Update (TARU:bit5)をセットします。 5. TARU :bit5 がクリアされるまで、レジスタをポーリングします。 6. Fine Update メソッドを選択する場合、Time Stamp Control register の TFCU:bit1 をセットします。 7. GMAC Register 452:System Time - Second Update Register と GMAC Register 453 : System Time Nanosecond Update Register に適切な時間値をプログラミングします。 8. Time Stamp Control register の Time Stamp Init (TSI:bit2)をセットします。 9. Time Stamp カウンタは、Time Stamp Update レジスタに書き込まれた値によって初期化され、す ぐに動作を開始します。 10. 適切なタイムスタンプ生成のため、GMAC レシーバおよびトランスミッタをイネーブルします。 11. GMAC Register 15:IMR の bit9 をリセットし、Time Stamp Trigger 割込みを許可します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 178 167 CHAPTER 2: Ethernet-MAC 6. プログラミングガイド FM3ファミリ <注意事項> タイムスタンプ動作が、Time Stamp Control register の bit0 のクリアによってディセーブルされた場 合、タイムスタンプ操作を再開するためには上記のステップを繰り返さなければなりません。 システム時間補正 1 回の処理で、システム時間を同期化・更新する (粗補正法)には、以下のステップを実行します。 1. Time Stamp Update レジスタ(GMAC register 452, 453)にオフセット(正または負)を書き込みます。 2. Time Stamp Control レジスタ(GMAC Register 448)の TSU:bit3 をセットします。 3. TSU ビットがクリアされると、Time Stamp Update レジスタの値がシステム時間に加算される か、またはシステム時間から減算されます。 システム時間のジッタを減らすために、システム時間を同期化・更新する(細密補正法)には、以下 のステップを実行します。 4. 「System Time Register Module」で説明しているアルゴリズムを使用して、システム時間を遅く する、または速くするときの増分値を計算します。 5. Time Stamp Addend レジスタ(GMAC Register 454)を新しい値に更新し、次に Time Stamp Control register の TARU(bit5)をセットします。 6. Addend レジスタの新しい値で、システム時間が補正されるまで待ちます。以下のように、シ ステム時間がターゲット値に達した後に Time Stamp Trigger 割込みがアクティブになるように します。 7. GMAC Register 455 および GMAC Register 456 で必要なターゲット時間をプログラムします。 GMAC Register 15 の bit9 をクリアし、割込みマスクを解除します。 8. GMAC Register 448(Time Stamp Control Register)の TITE ビット(bit4)をセットします。 9. このトリガによって割込みが発生したとき、GMAC Register 14 が読み出します。 10. GMAC Register 454(Time Stamp Addend Register)を古い値で再プログラミングし、TARU(bit5)を 再びセットします。 Energy Efficient Ethernet のプログラミング・ガイドライン GMAC の初期化中に以下のステップを実行します。 1. MDIO インタフェースを通じて PHY レジスタを読み出し、EEE 機能があるかどうかを調べ、 タイマ値を折衝します。 2. MDIO インタフェースを通じて PHY レジスタをプログラムします(LPI モードで RX_CLK を停 止するかどうかを PHY に指示する RX_CLK_stoppable ビットを含む)。 3. GMAC Register 13 (LPI Timers Control Register)で bit[25:16] (LIT: LPI LS TIMER)および bit[15:0] (TWT: LPI TW TIMER)をプログラムします。 4. MDIO インタフェースを使って PHY チップのリンクステータスを読み出し、それに従って GMAC Register 12 (LPI Control and Status Register)の PLS:bit17 を更新します。PHY チップのリン クステータスが変更されたときは常にこの更新を行う必要があります。 5. GMAC Register 12 (LPI Control and Status Register)の LPI Enable (LPIEN:bit16)をセットして、 GMAC を LPI ステートに入れます。 進行中の送信が完了した後、GMAC は LPI モードになり、Transmit LPI Entry (TLPIEN:bit0)をセ ットします。 <注意事項> GMAC が送信 FIFO のキューに入っているすべてのフレームの送信を完了した後のみ LPI ステ ートに入るようにするには、GMAC Register 12 (LPI Control and Status Register)の bit19 (LPITXA: LPI TX Automate)をセットする必要があります。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 179 168 CHAPTER 2: Ethernet-MAC 6. プログラミングガイド FM3ファミリ LPI ステート中に SYS_CLK, GMII 送信クロックまたはシステムのほかの部分をオフに切り換え る場合、GMAC Register 12 (LPI Control and Status Register)の TLPIEN Interrupt が生成されるまで 待機する必要があります。LPI ステートを終了するとき、ステップ 6 を実行する前にクロックを 復元します。 6. GMAC の LPI ステートを終了するために、GMAC Register 12 (LPI Control and Status Register)の bit16 (LPIEN: LPI Enable)をリセットします。 GMAC は、bit[15:0] (TWT: LPI TW TIMER)でプログラムされている時間の間待機してから、 TLPIEX 割込みステータスビットをセットし、送信を再開します。 スタンバイモードへの移行と SYS_CLK の停止について CPU が WFI 命令を実行すると、STOP モード・タイマモードに移行し、Ethernet-MAC への SYS_CLK (マイコンの HCLK が接続されています。) 供給が停止します。このため、STOP モード, タイマモ ードに移行する際には、GMAC Register 11 (PMTR)の PD ビットにより、GMAC レシーバの動作を 停止しておく必要があります。 この際、同時に、Wake-Up パケットの受信により、INT_PMT 割込みを発生するように設定してお くことができます。Ethernet-MAC は、Wake-Up パケットの受信により、INT_PMT 割込みを発生さ せます。CPU は、INT_PMT 割込みにより、Run モードへ復帰します。 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR LIMITED Ethernet-MAC FUJITSU SEMICONDUCTOR CONFIDENTIAL 180 169 MN706-00015-2v0-J FUJITSU SEMICONDUCTOR・CONTROLLER MANUAL 32 ビット・マイクロコントローラ FM3 ファミリ ペリフェラルマニュアル Ethernet 編 2013 年 10 月 Rev. 2.0 発行 Spansion Inc. 編集 マーケティングコミュニケーション部 FUJITSU SEMICONDUCTOR CONFIDENTIAL