本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 富士通マイクロエレクトロニクス CONTROLLER MANUAL CM71-10131-1 FR70 32 ビット・マイクロコントローラ MB91402/403 Series ハードウェアマニュアル FR70 32 ビット・マイクロコントローラ MB91402/403 Series ハードウェアマニュアル 富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 開発における最新の注意事項に関しては , 必ず「Check Sheet」を参照してください。 「Check Sheet」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われるチェック 項目をリストにしたものです。 http://edevice.fujitsu.com/micom/jp-support/ 富士通マイクロエレクトロニクス株式会社 はじめに ■ 本書の目的と対象読者 富士通マイクロエレクトロニクス製品につきまして , 平素より格別のご愛顧を賜り厚 くお礼申し上げます。 MB91402/403 シリーズは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理が要求される組込み制御用に各種 I/O リソースやバス制御機構を内蔵した , シング ルチップマイクロコントローラです。32 ビット CPU がアクセスする広大なアドレス空 間をサポートするために , 外部バスアクセスが基本となっていますが , CPU の命令実行 を高速化するために RAM ( データ用 ) を内蔵しています。 デジタルビデオカメラ , ナビゲーションシステム , DVD プレイヤーなど , 高性能な CPU 処理パワーを要求される組込み用途に最適な仕様となっています。 MB91402/403 シリーズは , FR30/40 CPU をベースにバスアクセスの強化を行い , より高 速での使用に対応した FR70 です。 本書は , 実際に MB91402/403 シリーズを使用して製品を開発される技術者を対象に , MB91402/403 シリーズの機能や動作について解説したものです。本書をご一読くださ い。 なお , 各種命令の詳細については , 『インストラクションマニュアル』をご参照くださ い。 ■ 商標 FR は , FUJITSU RISC controller の略で , 富士通マイクロエレクトロニクス株式会社の製 品です。 その他の記載されている社名および製品名などの固有名詞は , 各社の商標または登録 商標です。 i ■ 本書の全体構成 本書は , 以下に示す 14 の章 , および付録から構成されています。 第 1 章 概要 MB91402/403 シリーズの特長 , ブロックダイヤグラム , 外形寸法などの全体を知る ための基本的なことについて説明します。 第 2 章 デバイスの取扱いについて MB91402/403 シリーズの取扱い上の注意について説明します。 第 3 章 CPU および制御部 MB91402/403 シリーズの CPU コアの機能を知るために , アーキテクチャ , 仕様 , 命 令などの基本的なことについて説明します。 第 4 章 外部バスインタフェース 外部バスインタフェースコントローラは , LSI の内部バスと外部のメモリ , 機能マク ロ , および I/O デバイスとのインタフェースを制御します。本章では , 外部バスイン タフェースの各機能について説明します。 第 5 章 割込みコントローラ 割込みコントローラの概要 , レジスタの構成 / 機能 , 割込みコントローラの動作 , お よびホールドリクエスト取下げ要求機能の使用例について説明します。 第 6 章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能 , および動作について説明します。 第 7 章 REALOS 関連ハード REALOS関連ハードは, リアルタイムOSにより使用されます。したがって, REALOS を使用する場合にはユーザプログラムで使用することはできません。 第 8 章 16 ビットリロードタイマ 16 ビットリロードタイマの概要 , レジスタの構成 / 機能 , および 16 ビットリロード タイマの動作について説明します。 第 9 章 U-TIMER U-TIMER の概要 , レジスタの構成 , 機能 , および動作について説明します。 第 10 章 UART UART の概要 , レジスタの構成 / 機能 , および UART の動作について説明します。 第 11 章 DMAC (DMA コントローラ ) DMA コントローラ (DMAC) の概要 , レジスタの構成 / 機能 , および DMA コントロー ラ (DMAC) の動作について説明します。 第 12 章 LAN コントローラ LAN コントローラの概要 , レジスタ , 動作 , パケットフィルタ , および SMI インタ フェースについて説明します。 第 13 章 MPU IF/GPIO MPU/GPIO の概要 , 構成図 , 信号 , アドレス , レジスタ , MPU IF 動作 , および GPIO 動作について説明します。 第 14 章 I2C インタフェース I2C インタフェースの概要 , レジスタ , 動作 , および注意事項について説明します。 ii 付録 I/O マップ , 割込みベクタ , 端子状態一覧 , リトルエンディアン領域を使用する際の 注意事項 , および命令一覧について説明します。 iii • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性 が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。 ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ い。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright© 2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved. iv 目次 第1章 1.1 1.2 1.3 1.4 1.5 1.6 1.7 第2章 概要 ............................................................................................................ 1 MB91402/403 シリーズの特長 ............................................................................................... 2 ブロックダイヤグラム............................................................................................................ 7 外形寸法図.............................................................................................................................. 8 端子配列図.............................................................................................................................. 9 入出力端子............................................................................................................................ 10 端子番号対応表 .................................................................................................................... 18 入出力回路形式 .................................................................................................................... 20 デバイスの取扱いについて ...................................................................... 23 2.1 デバイスの取扱いについて................................................................................................... 24 2.2 メモリ空間............................................................................................................................ 33 2.2.1 FR コア領域 ............................................................................................................... 34 2.2.2 外部領域 ..................................................................................................................... 35 2.3 動作説明 ............................................................................................................................... 40 第3章 CPU および制御部 ................................................................................... 45 3.1 FR コアのブロックダイヤグラム ......................................................................................... 46 3.2 内部アーキテクチャ ............................................................................................................. 47 3.3 命令キャッシュ .................................................................................................................... 52 3.3.1 命令キャッシュの構成 ............................................................................................... 53 3.3.2 制御レジスタ構成....................................................................................................... 56 3.3.3 各動作モードの状態 ................................................................................................... 59 3.3.4 命令キャッシュのキャッシュ可能領域 ...................................................................... 61 3.3.5 I-Cache を使用するときの設定方法........................................................................... 62 3.4 プログラミングモデル.......................................................................................................... 64 3.4.1 汎用レジスタ .............................................................................................................. 65 3.5 専用レジスタ ........................................................................................................................ 66 3.6 データ構造............................................................................................................................ 73 3.7 ワードアライメント ............................................................................................................. 74 3.8 メモリマップ ........................................................................................................................ 75 3.9 分岐命令 ............................................................................................................................... 76 3.9.1 遅延スロット付き分岐命令の動作.............................................................................. 77 3.9.2 遅延スロットなし分岐命令の動作.............................................................................. 79 3.10 EIT( 例外・割込み・トラップ ) ............................................................................................ 80 3.10.1 EIT 割込みレベル ....................................................................................................... 81 3.10.2 割込み制御レジスタ (ICR:Interrupt Control Register).............................................. 83 3.10.3 システムスタックポインタ (SSP).............................................................................. 84 3.10.4 テーブルベースレジスタ (TBR) ................................................................................. 85 3.10.5 多重 EIT 処理.............................................................................................................. 86 3.10.6 EIT の動作 .................................................................................................................. 88 3.11 リセット ( デバイス初期化 ) ................................................................................................. 92 3.11.1 リセットレベル .......................................................................................................... 93 3.11.2 リセット要因 .............................................................................................................. 94 3.11.3 リセットシーケンス ................................................................................................... 96 v 3.11.4 発振安定待ち時間....................................................................................................... 97 3.11.5 リセット動作モード ................................................................................................... 99 3.12 クロック生成制御 ............................................................................................................... 101 3.12.1 PLL 制御 ................................................................................................................... 102 3.12.2 クロック分配 ............................................................................................................ 104 3.12.3 クロック分周 ............................................................................................................ 105 3.12.4 クロック生成制御部のブロックダイヤグラム.......................................................... 106 3.12.5 クロック生成制御部のレジスタ ............................................................................... 107 3.12.6 クロック制御部にある周辺回路 ............................................................................... 122 3.12.7 クロックの滑らかな起動と停止 ............................................................................... 125 3.13 デバイス状態制御 ............................................................................................................... 129 3.13.1 デバイス状態と各遷移 ............................................................................................. 130 3.13.2 低消費電力モード..................................................................................................... 133 3.14 動作モード.......................................................................................................................... 137 第4章 外部バスインタフェース........................................................................ 139 4.1 外部バスインタフェース ( メモリインタフェース ) の概要 ............................................... 140 4.2 外部バスインタフェースのレジスタ .................................................................................. 144 4.2.1 領域選択レジスタ 0 ∼ 5, 7(ASR0 ∼ ASR5, ASR7) ................................................ 145 4.2.2 領域構成レジスタ 0 ∼ 5, 7(ACR0 ∼ ACR5, ACR7)................................................ 147 4.2.3 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7).................................................... 153 4.2.4 メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA) ................................................................................................................................. 162 4.2.5 メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) ............ 164 4.2.6 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)............................................... 165 4.2.7 チップセレクト領域許可レジスタ (CSER ) ............................................................. 168 4.2.8 キャッシュ取込み許可レジスタ (CHER).................................................................. 169 4.2.9 端子 / タイミングコントロールレジスタ (TCR)....................................................... 170 4.2.10 リフレッシュコントロールレジスタ (RCR)............................................................. 173 4.2.11 モードレジスタ (MODR) .......................................................................................... 177 4.3 チップセレクト領域の設定例 ............................................................................................. 178 4.4 エンディアンとバスアクセス ............................................................................................. 179 4.4.1 ビッグエンディアンのバスアクセス ........................................................................ 180 4.4.2 リトルエンディアンのバスアクセス ........................................................................ 186 4.4.3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ......................... 191 4.5 通常バスインタフェースの動作 ......................................................................................... 197 4.5.1 基本タイミング ( アクセスが連続する場合 ) (ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H) ................................................ 198 4.5.2 WRn +バイト制御タイプ (ACR → TYP3 ∼ TYP0 = 0010B, AWR = 0008H) ....... 200 4.5.3 読出し → 書込みタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0048H) .......... 202 4.5.4 書込み → 書込みタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0018H) .......... 203 4.5.5 自動ウェイトタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=2008H)................ 204 4.5.6 外部ウェイトタイミング (ACR → TYP3 ∼ TYP0=0001B, AWR=2008H)................ 205 4.5.7 同期書込みイネーブル出力タイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0000H) ................................................................................................................................. 206 4.5.8 4.5.9 CSn 遅延設定 (ACR → TYP3 ∼ TYP0=0000B, AWR=000CH) ................................ 208 CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定 (TYP3 ∼ TYP0=0000B, AWR=000BH) .................................................................... 209 vi DMA フライバイ転送 (I/O →メモリ ) (TYP3 ∼ TYP0=0000B, AWR=0008H, IOWR=51H) ( メモリ側のウェイト設定なしの場合)................................................ 211 4.6 バーストアクセスの動作 .................................................................................................... 212 4.7 プリフェッチ動作 ............................................................................................................... 214 4.8 SDRAM/FCRAM インタフェースの動作 ............................................................................ 218 4.8.1 セルフリフレッシュ ................................................................................................. 221 4.8.2 パワーオンシーケンス ............................................................................................. 222 4.8.3 複数領域への SDRAM/FCRAM 接続 ........................................................................ 223 4.8.4 アドレスマルチプレックス・フォーマット ............................................................. 224 4.8.5 メモリ接続例 ............................................................................................................ 225 4.9 レジスタ設定手順 ............................................................................................................... 227 4.5.10 第5章 5.1 5.2 5.3 割込みコントローラ............................................................................... 229 割込みコントローラの概要................................................................................................. 230 割込みコントローラのレジスタ ......................................................................................... 233 割込みコントローラの動作................................................................................................. 236 第6章 6.1 6.2 6.3 外部割込み制御部 .................................................................................. 243 外部割込み制御部の概要 .................................................................................................... 244 外部割込み制御部のレジスタ ............................................................................................. 245 外部割込み制御部の動作 .................................................................................................... 247 第7章 7.1 7.2 7.3 7.4 7.5 7.6 REALOS 関連ハード ............................................................................. 249 遅延割込みモジュール........................................................................................................ 250 遅延割込みモジュールのレジスタ...................................................................................... 251 遅延割込みモジュールの動作 ............................................................................................. 252 ビットサーチモジュール .................................................................................................... 253 ビットサーチモジュールのレジスタ .................................................................................. 254 ビットサーチモジュール動作 ............................................................................................. 256 第8章 8.1 8.2 8.3 8.4 16 ビットリロードタイマ ...................................................................... 259 16 ビットリロードタイマの概要 ........................................................................................ 260 16 ビットリロードタイマのブロックダイヤグラム ........................................................... 261 16 ビットリロードタイマのレジスタ................................................................................. 262 16 ビットリロードタイマの動作 ........................................................................................ 266 第9章 9.1 9.2 9.3 U-TIMER ................................................................................................ 269 U-TIMER の概要 ................................................................................................................. 270 U-TIMER のレジスタ.......................................................................................................... 271 U-TIMER の動作 ................................................................................................................. 274 第 10 章 10.1 10.2 10.3 10.4 10.5 UART ..................................................................................................... 277 UART の概要 ...................................................................................................................... 278 UART のレジスタ ............................................................................................................... 281 UART の動作 ...................................................................................................................... 287 UART の応用例................................................................................................................... 293 ボーレートと U-TIMER のリロード値の設定例 ................................................................. 295 vii 第 11 章 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 DMAC(DMA コントローラ ) .................................................................. 297 DMAC の概要 ..................................................................................................................... 298 DMAC のレジスタ .............................................................................................................. 302 DMAC の動作 ..................................................................................................................... 316 転送要求の設定 .................................................................................................................. 319 転送シーケンス .................................................................................................................. 320 DMA 転送全般 .................................................................................................................... 324 動作フローチャート ........................................................................................................... 337 データパス.......................................................................................................................... 340 DMA 設定例 ........................................................................................................................ 343 第 12 章 LAN コントローラ ................................................................................. 349 12.1 LAN コントローラの概要 ................................................................................................... 350 12.2 LAN コントローラのレジスタ ............................................................................................ 355 12.2.1 送信ステータスレジスタ :DLCR0 ............................................................................ 358 12.2.2 受信ステータスレジスタ :DLCR1 ............................................................................ 360 12.2.3 送信割込みイネーブルレジスタ :DLCR2 ................................................................. 363 12.2.4 受信割込みイネーブルレジスタ :DLCR3 ................................................................. 365 12.2.5 送信モードレジスタ :DLCR4 ................................................................................... 367 12.2.6 受信モードレジスタ :DLCR5 ................................................................................... 368 12.2.7 コントロールレジスタ 1:DLCR6.............................................................................. 370 12.2.8 コントロールレジスタ 2:DLCR7.............................................................................. 371 12.2.9 ノード ID レジスタ 1 ∼ 6:DLCR8 ∼ DLCR13......................................................... 373 12.2.10 マルチキャストアドレスレジスタ 1 ∼ 8:MAR8 ∼ MAR15..................................... 374 12.2.11 バッファメモリポートレジスタ :BMPR8................................................................. 376 12.2.12 送信パケット数レジスタ :BMPR10.......................................................................... 377 12.2.13 DMA イネーブルレジスタ :BMPR12 ........................................................................ 378 12.2.14 受信バッファポインタコントロールレジスタ :BMPR14 ......................................... 379 12.3 LAN コントローラの動作 ................................................................................................... 380 12.3.1 送信フロー ( ホスト→バッファメモリ )................................................................... 382 12.3.2 受信フロー ( バッファメモリ→ホスト )................................................................... 387 12.4 パケットフィルタ ............................................................................................................... 393 12.4.1 パケットフィルタの概要 .......................................................................................... 394 12.4.2 テーブル ................................................................................................................... 395 12.4.3 レジスタ一覧 ............................................................................................................ 406 12.4.4 レジスタ詳細 ............................................................................................................ 407 12.4.5 テーブルアクセスの際の注意事項............................................................................ 418 12.4.6 フィルタの設定方法 ................................................................................................. 419 12.5 SMI インタフェース ........................................................................................................... 431 12.5.1 レジスタ一覧 ............................................................................................................ 432 12.5.2 レジスタ詳細 ............................................................................................................ 433 12.5.3 動作説明 ................................................................................................................... 443 第 13 章 13.1 13.2 13.3 13.4 13.5 MPU IF/GPIO ......................................................................................... 445 MPU/GPIO の概要 .............................................................................................................. 446 構成図 ................................................................................................................................. 448 信号 .................................................................................................................................... 449 アドレス一覧 ...................................................................................................................... 450 レジスタ詳細説明 ............................................................................................................... 451 viii 13.6 MPU IF 動作説明 ................................................................................................................ 465 13.6.1 設定方法 ................................................................................................................... 466 13.6.2 波形図....................................................................................................................... 469 13.7 GPIO (Port A) 動作説明 ...................................................................................................... 470 13.8 GPIO (Port B) 動作説明 ...................................................................................................... 471 13.8.1 端子選択仕様 ............................................................................................................ 472 第 14 章 I2C インタフェース................................................................................ 473 14.1 I2C インタフェースの概要.................................................................................................. 474 14.2 I2C インタフェースのレジスタ .......................................................................................... 478 14.2.1 バスステータスレジスタ (BSR) ............................................................................... 479 14.2.2 バスコントロールレジスタ (BCR) ........................................................................... 481 14.2.3 クロックコントロールレジスタ (CCR) .................................................................... 487 14.2.4 アドレスレジスタ (ADR).......................................................................................... 489 14.2.5 データレジスタ (DAR) ............................................................................................. 490 14.2.6 拡張 CS レジスタ (CSR) .......................................................................................... 491 14.2.7 バスクロック周波数レジスタ (FSR) ........................................................................ 493 14.2.8 バスコントロール 2 レジスタ (BC2R)...................................................................... 494 2 14.3 I C インタフェースの動作説明 .......................................................................................... 495 14.4 注意事項 ............................................................................................................................. 505 14.5 動作フローチャート ........................................................................................................... 507 付録 付録 A 付録 B 付録 C 付録 D D.1 D.2 D.3 D.4 付録 E E.1 E.2 索引 ............................................................................................................... 513 I/O マップ ...................................................................................................................... 514 割込みベクタ ................................................................................................................. 522 各 CPU ステートにおける端子状態 .............................................................................. 525 リトルエンディアン領域を使用する際の注意事項 ....................................................... 527 C コンパイラ (fcc911)................................................................................................. 528 アセンブラ (fasm911) ................................................................................................. 531 リンカ (flnk911) .......................................................................................................... 533 デバッガ (sim911, eml911, mon911) .......................................................................... 534 命令一覧 ........................................................................................................................ 535 命令一覧表の記号の意味 ............................................................................................ 536 命令一覧表 .................................................................................................................. 539 ............................................................................................................... 549 ix x MB91402/403 シリーズ 本版での主な変更内容 ページ - CM71-10131-1 変更内容(詳細は本文を参照してください。) 本ハードウェアマニュアルが初版となります。 FUJITSU MICROELECTRONICS LIMITED xi MB91402/403 シリーズ xii FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第1章 概要 MB91402/403 シリーズの特長 , ブロックダイヤグ ラム , 外形寸法などの全体を知るための基本的なこ とについて説明します。 1.1 MB91402/403 シリーズの特長 1.2 ブロックダイヤグラム 1.3 外形寸法図 1.4 端子配列図 1.5 入出力端子 1.6 端子番号対応表 1.7 入出力回路形式 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 1 第 1 章 概要 1.1 1.1 MB91402/403 シリーズ MB91402/403 シリーズの特長 MB91402/403 シリーズは , 32 ビット RISC マイコン:FR を CPU コアとして , 10/ 100Base-T MAC Controller と暗号・認証処理マクロとともに , 大容量 RAM を搭載 した 1 チップネットワークセキュリティ LSI です。MB91402/403 シリーズの特長と して , MAC Controller 部にはパケットフィルタリング機能を搭載し , 増大するパ ケット処理に伴う CPU 負荷の軽減を実現します。また , 暗号・認証処理マクロによ り , 今後より一層必要とされる暗号・認証処理通信 (IKE/IPsec/SSL) の高速処理を実 現します。 それ以外にも多種多様な外部ホストとの高速データ通信を可能とする MPU IF, そし て外部メモリ IF, I2C IF, 汎用 I/O ポートを搭載し , さまざまな用途への対応を実現し ます。 なお , FR をコアとして使用していますが , チップセレクト機能を制限しています。 詳細は , 「2.2.2 外部領域 ■アドレスマップ」を参照してください。 ■ MB91402/403 シリーズの特長 ● FR コア • 動作周波数 : 内部 33 MHz • 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段 • 16 ビット固定長命令 ( 基本命令 ), 1 命令 /1 サイクル • メモリ - メモリ間転送 , ビット処理 , バレルシフトなどの命令 : 組込み用途に適した命令 • 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令 : 高級言語対応命令 • レジスタ インターロック機能 : アセンブラ記述の容易化 • 乗算器の内蔵 / 命令レベルでのサポート • 符号付き 32 ビット乗算 : 5 サイクル • 符号付き 16 ビット乗算 : 3 サイクル • 割込み (PC, PS の退避 ) : 6 サイクル , 16 プライオリティレベル • ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に 実行可能 • 4G バイトの広大なメモリ空間をリニアにアクセス可能 • FR ファミリとの命令互換 ● メモリ IF • 32 ビットアドレスフル出力可能 , 8, 16, 32 ビットデータ出力あり • 完全独立な 8 領域のチップセレクト出力が可能 • 基本バスサイクル : 2 サイクル • 領域ごとに各種ウェイトサイクル発生機構 • RDY 入力による外部ウェイトサイクル 2 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 1 章 概要 1.1 • プリフェッチ機能 • バーストアクセス機能 • SDRAM, FCRAM 制御機能 ● 内蔵データ RAM • 搭載メモリ容量 8K バイト • 1 サイクル読出し , 書込みの高速アクセス ● 命令キャッシュ • 4K バイト搭載 • 2 ウェイセットアソシアティブ方式 • 4 ワード (16 バイト )/ セット • 容量可変 (4K バイト ) • ロック機能によりプログラム常駐化可能 • 命令キャッシュとして使用しない部分は , 1 サイクルの命令 RAM として使用可能 ● DMAC(DMA Controller) • 5 チャネル ( 周辺機能部にて 2 チャネル使用 ) • 3 つの転送要因 ( 内部ペリフェラル / ソフトウェア ) • アドレッシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 ) • 転送モード ( デマンド転送 / バースト転送 / ステップ転送 / ブロック転送 ) • フライバイ転送サポート ( 外部 I/O とメモリ間 ) • 転送データを 8/16/32 ビット から選択可能 ● ビットサーチモジュール (REALOS 使用 ) 1 ワード中の MSB から最初の "1/0" の変化ビット位置をサーチ ● リロードタイマ (REALOS 用 1 チャネルを含む ) • 16 ビットタイマ 3 チャネル • 内部クロックを 2/8/32 分周から選択可能 ● UART • 全二重ダブルバッファ • 2 チャネル • パリティあり / なし選択可能 • 非同期 ( 調歩同期 ), CLK 同期通信の選択可能 • LSB ファースト /MSB ファースト選択可能 • 専用ボーレート用タイマ内蔵 • 外部クロックを転送クロックとして使用可能 • 豊富なエラー検出機能あり ( パリティ , フレーム , オーバラン ) ● 割込みコントローラ • 割込みは合計 9 本 ( 通常割込み←外部 2 本 / 内部周辺にて 4 本使用 , マスク不可割込 み未使用 , 他リザーブ ) • 周辺リソースからの割込み • マスク不可割込み以外は , 優先レベルをプログラマブルに設定可能 (16 レベル ) CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 3 第 1 章 概要 1.1 MB91402/403 シリーズ • 通常割込み端子を STOP 時の ウェイクアップ用として使用可能 (注意事項)MB91402/403 シリーズでは , NMI 端子をチップ内部で無効にしています。 したがって , 本章で説明する NMI 端子による NMI( ユーザ ) は該当しませ んので注意してください。 ● その他の特長 • クロックソースとしてクロック入力の 2 分周 , 分周なしを選択可能 • リセット端子として INIT ( 設定初期化リセット ) 端子あり その他 , ウォッチドッグタイマリセット , ソフトウェアリセットあり • クロック分周機能 • タイムベースタイマ内蔵 • 電源電圧 : 3.3 V ± 0.3 V • 最高動作周波数 : CPU および内部バス 33 MHz, 外部バス 33 MHz, FR 内蔵リソース 16.5 MHz ( 注意事項 ) MAC IF において , 100Base の通信を行う場合は , 外部バスの周波数を 25 MHz より上の設定にする必要があります (33 MHz ≧ 外部バス > 25 MHz : 100Base 通信時 )。 ● Ethernet MAC インタフェース パケットフィルタリング機能搭載 L3/L4 のパケットフィルタリング機能を搭載しており , アドレス (IP, MAC) を設定して おくと , データを通す / 通さないの処理を行うことができます。また , 自分のアドレス 以外にも , 登録されているマルチキャストアドレスの場合には , データを受信する機能 ( マルチキャストアドレスフィルタ機能 ) もあります。 • IEEE802.3 に準拠した 10/100M MAC 内蔵 • MII インタフェース ( 全二重 / 半二重対応 ) • PHY(physical layer) デバイス制御用 SMI(Structure of Management Information) インタ フェース <注意事項> レイヤ 3/4 のフィルタリング機能 ( ハードウェアに実装 ) です。 レイヤ 3( ネットワーク層 ) の IP アドレス , レイヤ 4( トランスポート層 ) の TCP/UDP ポー ト番号のそれぞれで , 条件に一致したときに通過を許可するか破棄するかを決めることが できる機能です。 4 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.1 MB91402/403 シリーズ ● 暗号・認証処理機能 (MB91403 のみ ) MB91403 は , データの暗号化 / 復号化を行う秘密鍵暗号方式の DES/3DES/AES とデー タの認証に用いる HMAC-MD5/HMAC-SHA1 をハードウェアでサポートします。これ により , ソフトウェアのみの場合と比べて 30 倍∼ 40 倍の性能向上を実現します。さら に , ソフトウェアでの処理負荷が非常に重い公開鍵暗号方式などのアルゴリズムで頻 繁に使用する処理をハードウェアで実行するアクセラレータ機能を内蔵しておりま す。これにより , ソフトウェアでの処理時間と比べて約 100 倍の高速化を実現します。 これらの機能により MB91403 は , インターネットのネットワーク層で使用するセキュ リティ機能である IPsec に対応できます。また , 暗号や認証機能を上位のアプリケー ションから関数として簡単に利用でき , RSA や SSL などの暗号アプリケーションの高 速化にも利用することができます。 • DES/3DES/AES(Key Length=128/192/256 ビット ) の ECB/CBC モード対応 • MD5/SHA-1/HMAC-MD5/HMAC-SHA-1 モード対応 • DH グループ :1(MODP 768 ビット )/2(1024 ビット ) 対応 ● 外部インタフェース 通信機能付き外部インタフェース 大量のデータ送受信を実現する大容量送受信 FIFO とともに通信用のレジスタを装備。 バッファが受信 1.5K バイト , 送信 1.5K バイトあり , バッファにためて処理する機能や バッファがいっぱいになると , データの受信を止めるなどのホスト機能があります。 これにより , データ送受信途中においても通信制御ができ , CPU 負荷を軽減するととも に効率の良い通信を実現します。 • 8/16 ビットデータポート • 送受信データポート制御機能搭載 • 転送レート:89 Mbps( 最大 ) (注意事項)未使用時に汎用ポート (Port B) として使用可能 ● 汎用 I/O 4 ビットの専用汎用 I/O ポート (Port A) と MPU IF を最大 22 ビットの汎用 I/O ポート (Port B) として使用することが可能です。 • ビットごとに入出力設定可能 • 入力設定時 , 信号変化による割込みを発生可能 (PORT A のみ ) ● メモリインタフェース 各種の外部メモリ / I/O との接続を可能にします。 • ROM/RAM/SDRAM/FCRAM IF 対応 • 2 チップセレクト信号 • 8/16 ビットデータバス • アドレス空間設定 - ROM/RAM 設定時 : 64K バイト∼ 8M バイトアドレスエリア設定可能 - SDRAM/FCRAM 設定時 : 64K バイト∼ 128M バイトアドレスエリア設定可能 • 32 ビットアドレスフル出力可能 , 8 ビット , 16 ビット , 32 ビットデータ出力あり • 完全独立な 8 領域のチップセレクト出力が可能 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 5 第 1 章 概要 1.1 MB91402/403 シリーズ • 基本バスサイクル : 2 サイクル • 領域ごとに各種ウェイトサイクル発生機構 • RDY 入力による外部ウェイトサイクル • プリフェッチ機能 • バーストアクセス機能 • SDRAM, FCRAM 制御機能 ● I2C インタフェース Philips 社が提唱する I2C Bus をサポートするシリアルインタフェースです。 • マスタ / スレーブ送受信機能 • 標準モード ( 最大 100 kbps)/ 高速モード ( 最大 400 kbps) に対応 ● 大容量 RAM 搭載 チップ内に大容量 RAM を搭載。シリアルダウンロードプログラムを内蔵した ROM を 搭載します。 • ROM:2K バイト ( シリアルダウンロードプログラム用 ) • RAM:64K バイト ● クロック • 水晶発振回路内蔵 • PLL 内蔵 • 入力クロック:10 MHz ∼ 33 MHz 入力クロックと PLL の逓倍モードの組合せに関しては , 「2 章 FR コア機能説明?」を 参照してください。 ● LSI 全体 • 0.18µ CMOS Al5 層テクノロジ • LQFP 144 pin パッケージ • 3.3 V 単一電源仕様 • 動作周波数:CPU/ 周辺モジュール ( 外部バス ) ∼ 33 MHz( 最大 ) FR コア内蔵リソース ∼ 16.5 MHz( 最大 ) <注意事項> 周辺モジュールの MAC IF を使用して , 100Base の通信を行う場合は , 周辺モジュールの 動作周波数を 25 MHz より上に設定する必要があります (33 MHz ≧ 周辺モジュール動作 周波数 > 25 MHz)。 消費電力:250 mW @ 33 MHz ( 最大 ) 6 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.2 MB91402/403 シリーズ 1.2 ブロックダイヤグラム 図 1.2-1 に MB91402/403 シリーズのブロックダイヤグラムを示します。 ■ MB91402/403 シリーズのブロックダイヤグラム 図 1.2-1 MB91402/403 シリーズのブロックダイヤグラム E D-RAM(8Kバイト) UART INT (2チャネル) INT I-Cache(4Kバイト) B R Serial IF (2チャネル) OSC DMAC 水晶発振子/ 外部クロック CLK Cont PLL Timer FR CORE T 暗号/認証マクロ DSU 10/100 Ethernet MAC Controller DSU IF PHY DES/3DES/AES L2/L3/L4 Filtering HMAC-MD5/SHA1 I2C bus I2C IF GPIO PORT MUX 32bit bus DH MPU IF MPU IF/PORT 8/16-bit bus RAM 64Kバイト MB91402/403 FR コア SRAM/ SDRAM ROM/ Flash :CPU, U-Timer, UART, タイマ , 割込みコントローラ , DMAC, ビット サーチ , 外部割込み , メモリ IF, Data-RAM, Cache, バスコントローラ 周辺リソース :LAN, MPU IF, 暗号 / 認証マクロ (MB91403 のみ ), GPIO, I2C, 内蔵 RAM ( 周辺リソースはバスコントローラのバスに接続しています )。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 7 第 1 章 概要 1.3 MB91402/403 シリーズ 外形寸法図 1.3 MB91402/403 シリーズには , 1 種類のパッケージが用意されています。図 1.3-1 に パッケージの外形寸法を示します。 ■ 外形寸法図 (LQFP-144) 図 1.3-1 外形寸法図 プラスチック・LQFP, 144 ピン (FPT-144P-M08) プラスチック・LQFP, 144 ピン (FPT-144P-M08) リードピッチ 0.50mm パッケージ幅× パッケージ長さ 20.0 × 20.0mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70mm MAX 質量 1.20g コード(参考) P-LFQFP144-20×20-0.50 注 1)* 印寸法はレジン残りを含まず。レジン残りは、片側 +0.25(.010)MAX 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 22.00±0.20(.866±.008)SQ * 20.00±0.10(.787±.004)SQ 108 0.145±0.055 (.006±.002) 73 109 72 0.08(.003) Details of "A" part +0.20 1.50 –0.10 +.008 .059 –.004 0˚~8˚ INDEX 144 37 "A" LEAD No. 1 36 0.50(.020) 0.22±0.05 (.009±.002) 0.08(.003) 0.50±0.20 (.020±.008) 0.60±0.15 (.024±.006) 0.10±0.10 (.004±.004) (Stand off) 0.25(.010) M ©2003-2008 FUJITSU MICROELECTRONICS LIMITED F144019S-c-4-7 C (Mounting height) 2003 FUJITSU LIMITED F144019S-c-4-6 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記の URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 8 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.4 MB91402/403 シリーズ 1.4 端子配列図 MB91402/403 シリーズの端子配列図を示します。 ■ 端子配列図 (LQFP-144) MIFD0/PB0 MIFD1/PB1 MIFD2/PB2 MIFD3/PB3 VSS MIFD4/PB4 MIFD5/PB5 MIFD6/PB6 MIFD7/PB7 VDDE MIFD8/PB8 MIFD9/PB9 MIFD10/PB10 MIFD11/PB11 VSS MIFD12/PB12 MIFD13/PB13 MIFD14/PB14 VDDE MIFD15/PB15 D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 図 1.4-1 端子配列図 108 106 107 MIFCS/PB21 EXA/PB20 MIFRD/PB19 MIFWR/PB18 VDDE MIFDRQR/PB17 MIFDRQT/PB16 VSS PA3 PA2 PA1 PA0 SDA SCL VDDE TXEN TXD3 VSS TXD2 TXD1 TXD0 MDCLK VDDE MDIO TEST2 TEST1 TEST0 VPD C VSS RXER RXDV RXCRS RXD0 RXD1 RXD2 104 105 102 103 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 101 109 72 110 71 111 70 112 69 113 68 114 67 115 66 116 65 117 64 118 63 119 62 120 61 121 60 122 59 123 58 MB91403 (Top View) 124 125 126 127 128 129 130 56 55 54 53 52 51 131 50 132 49 133 48 134 47 135 46 136 45 137 44 138 43 139 42 140 41 141 40 142 39 143 38 144 37 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 RDY SCK0 SCK1 VDDE SOUT0 SOUT1 SIN0 SIN1 ICD3 ICD2 ICD1 ICD0 ICS2 VSS ICS1 VDDE ICS0 ICLK VSS MDI2 BREAKI MDI1 MDI0 X1 VDDE X0 VDDE INT6 INT7 INIT SM XTEST TXCLK COL RXCLK RXD3 CM71-10131-1 57 WR1 WR0 VSS WE SCAS SRAS MCLKO MCLKE VDDE CS0 CS7 RD A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 VSS A16 A17 A18 A19 A20 A21 A22 FUJITSU MICROELECTRONICS LIMITED 9 第 1 章 概要 1.5 1.5 MB91402/403 シリーズ 入出力端子 図 1.5-1 に MB91402/403 シリーズの入出力端子を示します。 ■ 入出力端子 図 1.5-1 入出力端子 ■SYSTEM INIT 1 INT7, INT6 2 MDI2~MDI0 3 ■OSCILLATOR X0 1 X1 1 ■ICE BREAKI 1 ICS2~ICS0 3 ICLK 1 ICD3~ICD0 4 ■TEST TEST2~TEST0 3 XTEST 1 SM 1 VPD 1 ■UART SIN1, SIN0 2 SOUT1, SOUT0 2 SCK1, SCK0 2 ■ETHERNET MAC IF TXCLK 1 TXD3~TXD0 4 TXEN 1 RXCLK 1 RXER 1 RXD3~RXD0 4 RXDV 1 RXCRS 1 COL 1 MDCLK 1 MDIO 1 MB91403 信号線 124 Pin 電源/GND 20 Pin N.C. 0 Pin ■MEMORY IF A22~A0 D31~D16 RD WR1, WR0 CS0, CS7 WE MCLKE SRAS SCAS MCLKO RDY ■I2C IF SDA SCL ■MPU IF/GPIO(Port B) MIFCS/PB21 MIFA/PB20 MIFRD/PB19 MIFWR/PB18 MIFDRQR/PB17 MIFDRQT/PB16 23 16 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 MIFD15~MIFD0/PB15~PB0 16 ■GPIO (Port A) PA3~PA0 4 ■VDDE/GND VDDE VSS C 10 9 1 LQFP-144 10 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.5 MB91402/403 シリーズ ■ 端子機能説明 MB91402/403 シリーズの端子機能一覧を説明します。 ● フォーマット例 端子機能一覧は , 以下のフォーマット例に従って表記しています。 表 1.5-1 フォーマット例 端子名 端子番号 極性 I/O 回路 端子 1 1 正 OUT C 端子の概略機能と使用方法を記述 端子 2 8 負 I/O D 端子の概略機能と使用方法を記述 端子 3 2 正 IN A 端子の概略機能と使用方法を記述 機能・用途 • 端子名 外部端子名称を示します。 • 端子番号 対象となる外部端子のパッケージピン番号を示します。 • 極性 入力・出力端子のアクティブとなる極性を示します。本仕様書では , 入力レベルを "1" または "0" で , 出力レベルを "H" または "L" で表しています。 正:入力 "1" レベル , 出力 "H" レベル 負:入力 "0" レベル , 出力 "L" レベル • I/O MB91402/403 シリーズを基準とした信号の入出力方向を示します。 IN :MB91402/403 シリーズに対する入力端子であることを示します。 OUT :MB91402/403 シリーズに対する出力端子であることを示します。 I/O :MB91402/403 シリーズに対する入出力端子であることを示します。 • 回路 I/O バッファの回路形式を表しています。 • 機能・用途 対象となる外部端子の機能概略を示します。 ● 注意点 未使用端子は , 入力ならばインアクティブ方向 , 出力ならば開放にしてください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 11 第 1 章 概要 1.5 MB91402/403 シリーズ ■ SYSTEM ( 6 ピン ) 表 1.5-2 SYSTEM ( 6 ピン ) 端子名 INIT INT7, INT6 MDI2 ∼ MDI0 端子番号 極性 7 負 8, 9 負 ( 初期設 定時 ) 17, 15, 14 − I/O IN IN IN 回路 機能・用途 A 設定初期化リセット入力端子です。 MB91402/403 シリーズ の設定初期化信号で す。 電源投入時は , 電源および X0 端子の入力ク ロックが安定するまで "0" レベルを印加し てください。 INIT を "0" にアサートすると , すべての内部 レジスタおよび外部端子が初期化されます。 A 外部割込み入力端子です。 外部割込み要求を示す入力信号です。 外部割込み検出には , FR コアの ENIR, EIRR, ELVR レジスタを設定してください。 A モード端子端子です。 MB91402/403 シリーズ の動作モードを決定 する端子です。 必ず "001B" に設定してください。 ■ OSCILLATOR ( 2 ピン ) 表 1.5-3 OSCILLATOR ( 2 ピン ) 端子名 端子番号 極性 I/O 回路 機能・用途 X0 11 − IN H 水晶発振 / 外部クロック入力 端子です。 水晶発振セルの入力および外部クロックの 入力共用端子です。 10 MHz ∼ 50 MHz の周波数を入力可能です。 X1 13 − I/O H 水晶発振出力端子です。 水晶発振セルの出力端子です。 ■ ICE ( 9 ピン ) 表 1.5-4 ICE ( 9 ピン ) 端子名 端子番号 極性 I/O 回路 BREAKI 16 正 IN B エミュレータブレーク要求端子です。 ICE 接続時のエミュレータブレークです。 ICS2 ∼ ICS0 24, 22, 20 正 OUT C エミュレータチップステータス端子です。 ICE 接続時のエミュレータステータスです。 ICLK 19 − OUT D-3 エミュレータクロック端子です。 ICE 接続時のエミュレータクロック端子です。 ICD3 ∼ ICD0 28 ∼ 25 − I/O E エミュレータデータ端子です。 ICE 接続時のエミュレータデータバスです。 12 機能・用途 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.5 MB91402/403 シリーズ ■ TEST ( 6 ピン ) 表 1.5-5 TEST ( 6 ピン ) 極性 I/O 回路 133 ∼ 135 − IN A テスト端子です。 TEST2=1, TEST1=1, TEST0=0 に固定してく ださい。 XTEST 5 − IN A SCAN テスト端子です。 SCAN テスト端子です。"0" に固定してくだ さい。 SM 6 − IN A SCAN モード端子です。 SCAN モード端子です。"0" に固定してくだ さい。 VPD 136 − IN A 貫通電流防止端子です。 "0" に固定してください。 端子名 端子番号 TEST2 ∼ TEST0 機能・用途 ■ UART ( 6 ピン ) 表 1.5-6 UART ( 6 ピン ) 端子名 端子番号 極性 I/O 回路 機能・用途 SIN1, SIN0 29, 30 − IN A シリアルデータ入力端子です。 FR コア内蔵の UART のシリアルデータ入 力端子です。 SOUT1, SOUT0 31, 32 − OUT C シリアルデータ出力端子です。 FR コア内蔵の UART のシリアルデータ出 力端子です。 SCK1, SCK0 34, 35 − I/O D-2 シリアルクロック入出力端子です。 FR コア内蔵の UART のシリアルクロック 入出力端子です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 13 第 1 章 概要 1.5 MB91402/403 シリーズ ■ MEMORY IF ( 50 ピン ) 表 1.5-7 MEMORY IF ( 50 ピン ) 端子名 端子番号 極性 I/O 回路 A22 ∼ A0 37 ∼ 43, 45 ∼ 60 − OUT D-1 アドレス出力端子です。 23 ビットアドレス信号です。 D31 ∼ D16 73 ∼ 88 − I/O D-1 データ入出力端子です。 16 ビットデータ入出力信号です。 D-2 チップセレクト出力端子です。 2 ビットチップセレクト信号です。 外部メモリへのアクセス時に "L" レベルを出 力します。 D-2 リードストローブ出力端子です。 リードストローブ信号です。 リードアクセス時に "L" レベルを出力しま す。 D-2 ライトバイトストローブ出力端子です。 ライトバイトストローブ信号です。 ライトアクセス時に "L" レベルを出力しま す。 ( 注意事項 )SDRAM/FCRAM 領域に対して は , DQM として機能します。 CS0, CS7 RD WR1, WR0 64, 63 61 71, 72 負 負 負 OUT OUT OUT 機能・用途 WE 69 負 OUT D-2 ライトイネーブル出力端子です。 ライトイネーブル信号です。 バスサイズによらずにライトアクセス時に "L" レベルを出力します。 ( 注意事項 )SDRAM/FCRAM に対するライト ストローブとして機能します。 MCLKE 65 正 OUT D-2 メモリクロックイネーブル出力端子です。 SDRAM/FCRAM 領域に対して CKE として機 能します。 SRAS 67 負 OUT D-2 RAS 信号出力端子です。 SDRAM/FCRAM 領域に対して RAS として機 能します。 SCAS 68 負 OUT D-2 CAS 信号出力端子です。 SDRAM/FCRAM 領域に対して CAS として機 能します。 MCLKO 66 − OUT C メモリクロック出力端子です。 内部バスと同じ周波数のクロックが出力され ます。 A 外部 RDY 入力端子です。 外部バスサイクルが完了していないときに , "0" を入力することによりバスサイクルを延 長することができます。 RDY 14 36 正 IN FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.5 MB91402/403 シリーズ ■ ETHERNET MAC IF ( 17 ピン ) 表 1.5-8 ETHERNET MAC IF( 17 ピン ) 端子名 端子番号 RXCLK 2 極性 − I/O IN 回路 機能・用途 A 受信用クロック入力端子です。 受信時の MII の同期信号となります。周波 数は , 10 Mbps 時に 2.5 MHz , 100 Mbps 時に 25 MHz です。 RXER 139 正 IN A 受信エラー入力端子です。 受信時に , PHY デバイスより "1" が入力さ れると受信パケットにエラーが発生したこ とを示します。 RXDV 140 正 IN A 受信データ有効入力端子です。 受信データが有効であることを認識します。 RXCRS 141 正 IN A キャリアセンス入力端子です。 受信もしくは送信が行われている状態を示 します。 RXD3 ∼ RXD0 1, 144∼ 142 − IN A 受信データ入力端子です。 PHY デバイスから入力される 4 ビット データです。 A コリジョン検出入力端子です。 TXEN 信号がアクティブ時に , この信号が "1" の場合にコリジョンであることを示しま す。それ以外は無視します。 A 送信用クロック入力端子です。 送信時の MII の同期信号となります。周波 数は , 10 Mbps 時に 2.5 MHz , 100 Mbps 時に 25 MHz です。 COL 3 TXCLK 4 TXEN 124 TXD3 ∼ TXD0 125, 127∼ 129 MDCLK 130 MDIO 132 CM71-10131-1 正 − IN IN 正 OUT C 送信イネーブル出力端子です。 TXD バス上に有効なデータが乗っているこ とを示します。TXCLK に同期して出力され ます。 − OUT C 送信データ出力端子です。 PHY デバイスへ送信する 4 ビットデータ バスです。TXCLK に同期して出力します。 − OUT C SMI クロック出力端子です。 SMI IF クロック端子です。PHY デバイスの SMI クロック入力端子に接続してください。 − I/O D-2 SMI データ入出力端子です。 SMI データ入出力端子です。PHY デバイス の SMI データと接続してください。 FUJITSU MICROELECTRONICS LIMITED 15 第 1 章 概要 1.5 MB91402/403 シリーズ ■ I2C IF ( 2 ピン ) 表 1.5-9 I2C IF ( 2 ピン ) 端子名 端子番号 極性 I/O 回路 SDA 121 − I/O G シリアルデータライン入出力端子です。 I2C バスデータ入出力端子です。 SCL 122 − I/O G シリアルクロックライン入出力端子です。 I2C バスクロック入出力端子です。 機能・用途 ■ MPU IF /GPIO (Port B) ( 22 ピン ) 表 1.5-10 MPU IF /GPIO(Port B) ( 22 ピン ) 端子名 端子番号 MIFCS/ PB21 109 EXA/ PB20 MIFRD/ PB19 MIFWR/ PB18 MIFDRQR/ PB17 MIFDRQT/ PB16 MIFD15 ∼ MIFD0/ PB15 ∼ PB0 110 111 112 114 115 89, 91 ∼ 93, 95 ∼ 98, 100 ∼ 103, 105 ∼ 108 極性 I/O 負 IN − I/O 汎用の入出力ポートです。 IN 外部アドレス入力端子です。 外部ホストからのアドレス入力端子です。 "0" :レジスタ選択 "1" :FIFO データ選択 回路 機能・用途 F 外部チップセレクト入力端子です。 外部ホストからのチップセレクト入力端子です。 F − I/O 汎用の入出力ポートです。 負 IN 外部リードストローブ入力端子です。 外部ホストからのリードストローブ入力端子です。 − I/O 汎用の入出力ポートです。 負 IN 外部ライトストローブ入力端子です。 外部ホストからのライトストローブ入力端子です。 − I/O 負 OUT − I/O 負 OUT − I/O 汎用の入出力ポートです。 I/O 外部データ入出力端子です。 外部ホストとのデータバス bit15 ∼ bit0 の入出力 端子です。 − F F 汎用の入出力ポートです。 F 外部受信データ要求出力端子です。 受信 FIFO へのデータ書込み可能を示します。 汎用の入出力ポートです。 F F 外部送信データ要求出力端子です。 送信レジスタおよび送信 FIFO にデータがあるこ とを示します。 汎用の入出力ポートです。 上段 : MPU IF / 下段 : GPIO (Port B) 16 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.5 MB91402/403 シリーズ ■ GPIO (Port A) (4 ピン ) 表 1.5-11 GPIO(Port A) (4 ピン ) 端子名 端子番号 PA3 ∼ PA0 117 ∼ 120 極性 − I/O I/O 回路 機能・用途 F GPIO 入出力端子です。 入出力ポートです。入力信号設定時には , 信号変化による割込 みを発生することが 可能です。 ■ 電源・GND (20 ピン ) 表 1.5-12 電源・GND (20 ピン ) 端子名 端子番号 I/O 機能・用途 VDDE 10, 12, 21, 33, 64, 90, 99, 113, 123, 131 電源 3.3 V 電源端子です。すべて同電位にて使用してくださ い。 VSS 18, 23, 44, 70, 94, 104, 116, 126, 138 GND GND 端子です。すべて同電位にて使用してください。 C 137 OUT 内蔵レギュレータ用のコンデンサ接続端子です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 17 第 1 章 概要 1.6 1.6 MB91402/403 シリーズ 端子番号対応表 MB91402/403 シリーズの端子番号対応表を示します。 ■ 端子番号対応表 表 1.6-1 端子番号対応表 (1 / 2) 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 1 RXD3 37 A22 73 D31 109 MIFCS/PB21 2 RXCLK 38 A21 74 D30 110 MIFA/PB20 3 COL 39 A20 75 D29 111 MIFRD/PB19 4 TXCLK 40 A19 76 D28 112 MIFWR/PB18 5 XTEST 41 A18 77 D27 113 VDDE 6 SM 42 A17 78 D26 114 MIFDRQR/PB17 7 INIT 43 A16 79 D25 115 MIFDRQT/PB16 8 INT7 44 VSS 80 D24 116 VSS 9 INT6 45 A15 81 D23 117 PA3 10 VDDE 46 A14 82 D22 118 PA2 11 X0 47 A13 83 D21 119 PA1 12 VDDE 48 A12 84 D20 120 PA0 13 X1 49 A11 85 D19 121 SDA 14 MDI0 50 A10 86 D18 122 SCL 15 MDI1 51 A9 87 D17 123 VDDE 16 BREAKI 52 A8 88 D16 124 TXEN 17 MDI2 53 A7 89 MIFD15/PB15 125 TXD3 18 VSS 54 A6 90 VDDE 126 VSS 19 ICLK 55 A5 91 MIFD14/PB14 127 TXD2 20 ICS0 56 A4 92 MIFD13/PB13 128 TXD1 21 VDDE 57 A3 93 MIFD12/PB12 129 TXD0 22 ICS1 58 A2 94 VSS 130 MDCLK 23 VSS 59 A1 95 MIFD11/PB11 131 VDDE 24 ICS2 60 A0 96 MIFD10/PB10 132 MDIO 25 ICD0 61 RD 97 MIFD9/PB9 133 TEST2 26 ICD1 62 CS7 98 MIFD8/PB8 134 TEST1 18 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.6 MB91402/403 シリーズ 表 1.6-1 端子番号対応表 (2 / 2) 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 27 ICD2 63 CS0 99 VDDE 135 TEST0 28 ICD3 64 VDDE 100 MIFD7/PB7 136 VPD 29 SIN1 65 MCLKE 101 MIFD6/PB6 137 C 30 SIN0 66 MCLKO 102 MIFD5/PB5 138 VSS 31 SOUT1 67 SRAS 103 MIFD4/PB4 139 RXER 32 SOUT0 68 SCAS 104 VSS 140 RXDV 33 VDDE 69 WE 105 MIFD3/PB3 141 RXCRS 34 SCK1 70 VSS 106 MIFD2/PB2 142 RXD0 35 SCK0 71 WR0 107 MIFD1/PB1 143 RXD1 36 RDY 72 WR1 108 MIFD0/PB0 144 RXD2 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 19 第 1 章 概要 1.7 1.7 MB91402/403 シリーズ 入出力回路形式 MB91402/403 シリーズの入出力回路形式を示します。 ■ 入出力回路形式 表 1.7-1 入出力回路形式 (1 / 3) 回路形式 分類 備 考 CMOS レベル入力 A デジタル入力 プルダウン付き CMOS レベル入力 プルアップ抵抗値 = 約 33 kΩ(Typ) デジタル入力 B N-ch CMOS レベル出力 IOL = 4 mA P-ch デジタル出力 N-ch デジタル出力 C CMOS レベル出力 CMOS レベル入力 IOL = 2 mA P-ch デジタル出力 N-ch デジタル出力 D-1 デジタル入力 20 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 1 章 概要 1.7 MB91402/403 シリーズ 表 1.7-1 入出力回路形式 (2 / 3) 回路形式 分類 備 考 CMOS レベル出力 CMOS レベル入力 IOL = 4 mA P-ch デジタル出力 N-ch デジタル出力 D-2 デジタル入力 CMOS レベル出力 CMOS レベル入力 IOL = 8 mA P-ch デジタル出力 N-ch デジタル出力 D-3 デジタル入力 P-ch デジタル出力 N-ch デジタル出力 プルダウン付き CMOS レベル出力 CMOS レベル入力 プルダウン抵抗値=約 33 kΩ(Typ) IOL = 4 mA E N-ch デジタル入力 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 21 第 1 章 概要 1.7 MB91402/403 シリーズ 表 1.7-1 入出力回路形式 (3 / 3) 回路形式 分類 P-ch 備 考 P-ch デジタル出力 N-ch デジタル出力 プルアップ付き CMOS レベル出力 CMOS レベル入力 プルアップ抵抗値=約 33 kΩ(Typ) IOL = 4 mA F デジタル入力 デジタル入力 G P-ch デジタル出力 N-ch デジタル出力 I2C Bus Fast Mode I/O Buffer CMOS レベル出力 CMOS シュミットトリガ入力 IOL = 4 mA N-ch 発振出力 H 発振回路 帰還抵抗 1 MΩ X1 内蔵帰還抵抗 X0 22 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第2章 デバイスの取扱いについて MB91402/403 シリーズの取扱い上の注意について 説明します。 2.1 デバイスの取扱いについて 2.2 メモリ空間 2.3 動作説明 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 23 第 2 章 デバイスの取扱いについて 2.1 2.1 MB91402/403 シリーズ デバイスの取扱いについて MB91402/403 シリーズの取扱い上の注意について説明します。 ■ デバイスの取扱いについて ● ラッチアップ防止のために CMOS IC では入力端子や出力端子に VDDE より高い電圧や VSS より低い電圧を印加 した場合 , または VDDE と VSS との間に定格を超える電圧を印加した場合に , ラッチ アップ現象を発生することがあります。ラッチアップが発生すると電源電流が激増し , 素子の熱破壊に至ることがありますので , 使用に際しては最大定格を超えることのな いように十分に注意してください。 ● 未使用端子の処理について 使用していない入力端子を開放のままにしておくと誤動作の原因となることがありま すので , プルアップまたはプルダウンなどの処理をしてください。 ● 出力端子の処理について 出力端子を電源やほかの出力端子とショートさせたり , 大きな容量負荷を接続したり すると大電流が流れる場合があります。このような状態が長時間続くとデバイスが劣 化しますので , 使用に際しては最大定格を超えることのないように十分に注意してく ださい。 ● モード (MDI3 ∼ MDI0)・テスト (TEST2 ∼ TEST0, XTEST, SM, VPD) 端子について これらの端子は , VDDE または VSS に直接つないで使用してください。ノイズにより 誤ってテスト・モードに入ってしまうことを防ぐために , プリント板上の各モード端子 と VDDE または VSS 間のパターン長をできる限り短くし , これらを低インピーダンス で接続するようにしてください。 ● 電源端子について 電源供給源からできる限り低インピーダンスで本デバイスのVDDE, VSSに接続するよ うな配慮をお願いいたします。さらに , 本デバイスの近くで , VDDE と VSS の間に , 0.1 µF 程度のセラミック・コンデンサをバイパス・コンデンサとして接続することを お勧めします。 ● 水晶発振回路 X0 端子 , X1 端子の近辺のノイズは , MB91402/403 シリーズの誤動作の原因になりま す。X0 端子 , X1 端子および水晶振動子 , さらにグランドへのバイパスコンデンサはで きる限り近くに配置するようにプリント基板を設計してください。また , X0 端子 , X1 端子の周りをグランドで囲むようなプリント基板アートワークは , 安定した動作を期 待できますので強くお薦めします。 各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。 24 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ ● MB91402/403 シリーズと ICE との接続仕様 ユーザシステム上に実装するエミュレータインタフェースコネクタの推奨型格および 回路構成 , 設計時の注意 , 配線規定を示します。 フラットケーブル使用時には , ハウジングがあるコネクタの組合せを選択されること を推奨します。 表 2.1-1 推奨コネクタ型格 付属ケーブル 型格 備考 FPC ケーブル FH10A-30S-1SH( メーカ:ヒロセ電機株式会社 ) ラッチ付き • 回路構成 ICE と接続する場合は , 動作の安定のため ICLK 信号に直列にダンピング抵抗 15Ω を入れてください。 プリント基板を設計する際には , MB91402/403 シリーズの ICLK 端子の近くに抵抗が実装されるようにしてください。 図 2.1-1 回路構成 エミュレータインタフェースコネクタ 評価用MCU MB2198-01,MB2197-01側 VDDE MB91402/403シリーズ FUSE*1 UVcc VDDE 15 Ω *3 ICLK ICLK ICS2~ICS0 ICS2~ICS0 ICD3~ICD0 ICD3~ICD0 BREAK BREAKI RST INIT *2 XRSTIN FR (開放) リセット 出力回路 GND VSS *1:定格電流以上の容量があるパターンで配線してください。 *2:切換え回路が必要になる場合がありますので,「・設計時の注意」を参照してください。 *3:抵抗は MB91402/403シリーズのICLK端子の近くに実装してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 25 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ • 設計時の注意 エミュレータを接続しない状態でユーザシステム上の評価 MCU を動作させる場合 には , ユーザシステム上でエミュレータインタフェースと接続している評価 MCU の各入力端子を処理する必要があります。よって , ユーザシステム上に切換え回路 などが必要になる場合がありますので , 設計時には注意してください。 各エミュレータインタフェースの端子処理について , 以下に示します。 表 2.1-2 エミュレータインタフェース端子処理 (DSU-3) 評価 MCU 端子名 端子処理 INIT ユーザシステム上のリセット出力回路に接続します。 BREAKI プルダウン処理してください。 その他 開放とします。 表 2.1-3 エミュレータインタフェース配線規定 信号線名 配線規定 ICLK ICS2 ∼ ICS0 ICD3 ∼ ICD0 BREAK ・各信号の総配線長 ( 評価 MCU ピンからエミュレータ インタフェースコネクタピンまで ) は , 50 mm 以内と します。 ・各信号の総配線長の差は 2 mm 以内とし , かつ ICLK の総配線長を最短とします。 UVCC ・定格電流以上の容量があるパターンで配線してくださ い。 ・プローブの誤接続により各電源と GND がショートし たり逆接続となる場合がありますので安全のため各電 源パターンにヒューズなどの保護回路を挿入してくだ さい。 GND グランドプレーンなどの電源系パターンに直結してく ださい。 • 参照ドキュメント ICE との接続に関しては , 下記マニュアルも併せて参照してください。 - DSU-FR エミュレータ MB2198-01 ハードウェアマニュアル - FR20/30 シリーズ MB2197-01 ハードウェアマニュアル 26 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ ● 水晶振動子を実装する際の注意点 MB91402/403 シリーズに内蔵する水晶発振回路は下記のような構成により動作しま す。 図 2.1-2 水晶発振回路 MB91402/403シリーズ OSC X0 X1 Rr オーバトーン 発振時 装着 L 水晶振動子 C1 C2 C3 • 端子説明 表 2.1-4 X0,X1 端子の説明 端子名 機能 X0 水晶発振セル (OSC) の入力端子 X1 水晶発振セル (OSC) の出力端子 • 外部基板上の回路定数 表 2.1-5 回路定数 回路定数 説明 C1, C2, C3 外部負荷容量 L インダクタンス Rr ダンピング抵抗 ( 必要に応じて付加 ) • 参考値 表 2.1-6 発振周波数における各素子の参考値 発振周波数 C1, C2 C3 L Rr* 30MHz 以下 5pF ∼ 33pF なし なし なし 20 MHz ∼ 50 MHz 5pF ∼ 15pF 10nF 程度 1µH 程度 なし *:Rr( ダンピング抵抗 ) は必要に応じて付加してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 27 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ 20MHz ∼ 30 MHz 帯の振動子の基本波やオーバトーン特性によっては , C3/L を付加 する必要があります。 ( 注意事項 ) 本参考値は目安です。使用する水晶振動子の特性によっても定数は変 動します。そのため , 回路定数の決定には , 評価サンプルを使用した 事前評価をお勧めします。評価サンプルの提供に関しては , 営業部門 までご相談ください。 ● 水晶発振セルで LSI 外部からの CLK 入力信号を受ける場合 LSI 外部で発振モジュールなどにより発生させた CLK 信号を使用する場合には以下の 図に示しますように , X0 端子に外部 CLK 信号を入力し , X1 端子は開放処理してくだ さい。 図 2.1-3 LSI 外部からの CLK 入力信号を受ける場合 外部CLK X0 開放 X1 MB91402/403シリーズ <注意事項> 外部から入力される波形が小振幅波形の場合で , 信号がインバータの Vth(VDDE/2) を横切 らない場合には , 信号を LSI 内部側に伝播できませんので , 基板上の発振モジュールなど と X0 端子間にコンデンサを 0.01 µF 程度直列に挿入し , 信号をインバータの Vth 中心の 入力波形に整形して入力するなどの対策が必要な場合があります。 ■ 電源に関する取扱い上の注意 ● 電源投入時について 電源投入時は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。また , 入力クロックが安定するまで , INIT 端子への "L" レベル入力を接続してください。 ● 電源投入時の不定出力について 電源投入時は内部電源が安定するまでの間 , 出力端子が不定となる可能性があります。 ● 内蔵 DC-DC レギュレータについて MB91402/403 シリーズはレギュレータを内蔵しております。VDDE 端子には , 3.3 V を 供給して , C 端子にはレギュレータ用に 4.7µF 程度のパスコンデンサを必ず入れる必要 があります。 28 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ 図 2.1-4 内蔵 DC-DC レギュレータ 3.3V VDDE C 4.7μF VSS MB91402/403シリーズ GND ● ウォッチドッグタイマ機能について 本マクロが備えているウォッチドッグタイマ機能は , プログラムが一定時間内にリ セット延期動作を行うことを監視し , プログラムの暴走によりリセット延期動作が行 われなかったときに , CPU をリセットするための機能です。そのため , いったんウォッ チドッグタイマ機能を有効にすると , リセットをかけるまで動作を続けます。 例外として , CPU のプログラム実行が停止する条件では自動的にリセット延期を行い ます。この例外にあてはまる条件については , 「3.12.6 クロック制御部にある周辺回 路」を参照してください。 なお , システムの暴走により上記状態となってしまった場合 , ウォッチドッグリセット が発生しない可能性があります。その場合 , 外部 INIT 端子よりリセット (INIT) をかけ てください。 ● 制限事項 クロック制御部 • INIT への "L" 入力時には , クロック発振安定待ち時間を確保してください。 • スタンバイモードに入れる場合は, 同期スタンバイモード(TBCR:タイムベースカウ ンタ制御レジスタの bit8 SYNCS ビットにて設定します ) を使用した上で , 以下の シーケンスを必ず使用してください。 (LDI #value_of_standby,R0) ; value_of_standby は STCR への ; ライトデータ (LDI #_STCR,R12) ; _STCR は STCR のアドレス (481H) STB R0,@R12 ; スタンバイ制御レジスタ (STCR) への ; 書込み LDUB @R12,R0 ; 同期スタンバイのための STCR リード LDUB @R12,R0 ; もう一度 STCR をダミーリード NOP NOP NOP NOP NOP • モニタデバッガを使用される場合は , 以下のことを行わないでください。 - 上記命令列に対するブレークポイントの設定 - 上記命令列に対するステップ実行 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 29 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ CPU • D-bus からは命令フェッチを行いませんので , D-bus RAM 上にはコード領域を設定 しないでください。 • スタック領域およびベクタテーブルを命令 RAM 上に設定しないでください。 • DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込みを受け付けた場合 , (b) ステッ プ実行を行った場合 , (c) データイベントまたはエミュレータメニューにてブレーク した場合 , 以下のような動作を行う場合があります。 (1) D0, D1 フラグが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み , またはエミュレータ ) を実行します。 (3) EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0/D1 フラグが (1) と同じ値に 更新されます。 • ユーザ割込み要因が発生している状態で割込みを許可するために , ORCCR,STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み ) を実行します。 (3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更新され ます。 • 一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッ ガ使用時に割込み処理ルーチンでブレークしたり , PS フラグの表示内容が更新され たりする場合があります。いずれの場合も EIT から復帰後に正しく再処理を行いま すので , EIT 前後の動作は仕様どおりの処理を行います。 1. DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込みを受け付けた場合 , (b) ステップ実行を行った場合 , (c) データイベントまたはエミュレータメニュー にてブレークした場合 , 以下のような動作を行う場合があります。 (1) D0, D1 フラグが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み , またはエミュレータ ) を実行します。 (3) EIT から復帰後 , DIV0U/DIV0S 命令が実行されて D0/D1 フラグが (1) と 同じ値に更新されます。 2. ユーザ割込み要因が発生している状態で割込みを許可するために , ORCCR, STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み ) を実行します。 (3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更 新されます。 • RETI 命令直前で , 命令キャッシュの制御レジスタおよび RAM モード時のキャッ シュメモリへのデータアクセスを行わないでください。 30 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ • 下記の命令を実行した場合 , R15 として SSP, USP* の値が使われず , 結果として誤っ た値をメモリへ書き込んでしまいます。 Ri として R15 を指定した , 下記 10 種類の命令のみが該当します。 AND R15,@Rj ANDH R15,@Rj ANDB R15,@Rj OR R15,@Rj ORH R15,@Rj ORB EOR R15,@Rj EORH R15,@Rj EORB R15,@Rj XCHB @Rj,R15 R15,@Rj *: R15 は実態がなく , プログラムから R15 をアクセスした場合 , PS レジスタの "S" フラグの状態によって , SSP あるいは USP がアクセスされます。 上記 10 命令をアセンブラで記述する場合は , R15 以外の汎用レジスタを指定してく ださい。 外部バスインタフェース • リトルエンディアンに設定した領域のバス幅を 32 ビットとした場合 , 該当する領域 へのアクセスは , ワード (32 ビット ) アクセス限定としてください。 • リトルエンディアンに設定した領域に対して , プリフェッチを許可する場合 , 該当す る領域へのアクセスは , ワード (32 ビット ) アクセス限定としてください。バイト , ハーフワードアクセスでは , 正しくアクセスできません。 DMA 命令 RAM に対して DMA 転送を行わないでください。 ビットサーチモジュール BSD0, BSD1, BSDC レジスタはワードアクセスのみです。 ■ デバッグ関連に関する取扱い上の注意 ● RETI 命令のステップ実行 ステップ実行する際 , 割込みが頻繁に発生する環境下では , RETI をステップ実行した 後に該当割込み処理ルーチンだけを繰り返して実行します。その結果 , メインルーチン や割込みレベルの低いプログラムの実行が行われなくなります。 回避のために , RETI 命令をステップ実行しないでください。または , 該当割込みルー チンのデバッグが不要になった段階で , 該当割込みを禁止してからデバッグを行って ください。 ● オペランドブレーク システムスタックポインタのアドレスを含む領域に対するアクセスをデータイベント ブレークの対象に設定しないでください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 31 第 2 章 デバイスの取扱いについて 2.1 MB91402/403 シリーズ ● NMI 要求 (tool) に対する割込みハンドラ ICE未接続の状態において, ICEからのブレーク要求のみでセットされる要因フラグが, DSU 端子へのノイズなどの影響で誤ってセットされた場合の誤動作を防ぐため , 次の プログラムを割込みハンドラに追加してください。 なお , このプログラムを追加した状態で ICE を使用しても問題ありません。 追加場所 次の割込みハンドラ 割込み要因 : NMI 要求 (tool) 割込み番号 : 13(10 進 ), 0D(16 進 ) オフセット : 3C8H TBR がデフォルトアドレス : 000FFFC8H 追加プログラム STM (R0,R1) LDI #B00H,R0 LDI #0,R1 STB R1,@R0 LDM (R0,R1) ; B00H は DSU のブレーク要因レジスタのアドレス ; ブレーク要因レジスタをクリア RETI ● トレースモード デバッグ時のトレースモードを「フルトレースモード」( 内蔵 FIFO を出力バッファと して ICE 本体のトレースメモリを使う , トレースデータロストが発生しないモード ) に 設定した場合 , 電流が増加したり , D-bus DMA アクセスが失われたりする場合があり ます。また , トレースデータロストが発生してしまう場合があります。 回避のために , フルトレースモードには設定しないでください。 ● ソフトウェアブレークとユーザ割込み同時発生 ソフトウェアブレークとユーザ割込みが同時に発生した場合 , デバッガにて , 以下の現 象が発生することがあります。 • 設定したブレークポイントでないところを示して停止します。 • 停止後の再実行が正しく行われません。 本現象が発生した場合は , ソフトウェアブレークだけでなく , ハードウェアブレークを 使用してください。また , モニタデバッガを使用する場合は , 該当箇所にブレークを設 定しないようにしてください。 32 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 2.2 第 2 章 デバイスの取扱いについて 2.2 メモリ空間 MB91402/403 シリーズのメモリ空間について説明します。 ■ メモリ空間 2.2.1 FR コア領域 2.2.2 外部領域 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 33 第 2 章 デバイスの取扱いについて 2.2 2.2.1 MB91402/403 シリーズ FR コア領域 FR ファミリの論理アドレスは 4G バイト (232 番地 ) あり , CPU はリニアにアクセス を行います。 ■ ダイレクトアドレッシング領域 アドレス空間の下記の領域は I/O 用に使用されます。 この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアド レスを指定できます。 ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。 ⇒ バイトデータアクセス : 000H ∼ 0FFH ⇒ ハーフワードデータアクセス : 000H ∼ 1FFH ⇒ ワードデータアクセス : 000H ∼ 3FFH ■ メモリマップ 図 2.2-1 メモリマップ 0000 0000H ダイレクト アドレッシング領域 I/O I/O 0000 0400H I/Oマップを参照 I/O 0001 0000H I-bus RAM 4Kバイト(およびそのミラー) 0002 0000H アクセス禁止領域 0003 E000H D-bus RAM 8Kバイト 0004 0000H 外部領域 FFFF FFFFH ※色付部分がFRコア領域です。 34 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.2 MB91402/403 シリーズ 2.2.2 外部領域 外部領域は FR コアのチップセレクト機能を使用してアクセスする領域です。 MB91402/403 シリーズ内蔵の FR コアは , 8 つの CS( チップセレクト ) 領域を設定する ことが可能です。MB91402/403 シリーズでは , 以下のように割り付けられています。 • CS0, CS1, CS7: ユーザ領域 - CS1 内蔵 RAM 領域に割り当てられております。 CS0, CS7 この領域が , 外部チップセレクト信号:CS0/CS7 に割り当てられます。 - CS0 → CS0 - CS7 → CS7 • CS2 ∼ CS5: MB91402/403 シリーズ管理領域 ■ チップセレクト領域設定 CS1 ∼ CS5 領域に割り当てられている MB91402/403 シリーズ管理領域とは , MB91402/ 403 シリーズに内蔵している MACインタフェース , 暗号・認証処理部 , I2C インタフェー ス , GPIO などの周辺モジュールのレジスタや処理領域を示します。 それぞれのモジュールのレジスタを設定する前に , まず FR コア内の ASR(Area Select Register), ACR(Area Configuration Register), AWR(Area Wait Register) を設定して CS 領域 を定義してください。 表 2.2-1 に , CS1 ∼ CS5 領域のそれぞれに割り当てられているモジュール , および FR コアの RDY 制御を行うかどうかを示します。 表 2.2-1 CS1 ∼ CS5 領域のそれぞれに割り当てられているモジュールおよび FR コアの RDY 制御 CS 領域 モジュール アドレス SIZE RDY 制御 64K バイト 不要 64K バイト 不要 256K バイト 不要 64K バイト 不要 64K バイト 不要 0010_0000H CS1 内蔵 RAM ∼ 0010_FFFFH 010F_0000H 2 CS2 I C IF CS3 MAC/MII IF 暗号・認証処理部 ∼ 010F_FFFFH 0110_0000H ∼ 0113_FFFFH 0114_0000H CS4 MPU IF/PORT ∼ 0114_FFFFH 0115_0000H CS5 CM71-10131-1 DH 処理部 ∼ 0115_FFFFH FUJITSU MICROELECTRONICS LIMITED 35 第 2 章 デバイスの取扱いについて 2.2 MB91402/403 シリーズ <注意事項> MB91402/403 シリーズ管理領域は , 基本的に 32 ビットバス仕様ですが , CS2 に関しては , 8 ビットバス仕様となりますので注意してください。 以下に , FR コア内の ASR, ACR, AWR レジスタの設定例を示します。 各 CS 設定値 ( 例 ) ASR0=000CH ACR0=2940H AWR0=0148H ASR1=0010H ACR1=0920H AWR1=0148H ASR2=010FH ACR2=0020H AWR2=2048H ASR3=0110H ACR3=2820H AWR3=1048H ASR4=0114H ACR4=0820H AWR4=2058H ASR5=0115H ACR5=0820H AWR5=2048H FR コアが持つ次の機能は DMAC や MPU I/F で使用していますが , MB91420/430 シリー ズでは外部端子としては出していません。 • DREQ0 ∼ DREQ2:DMA の外部転送要求入力 • BRQ:外部バス開放要求入力 • BGRNT:外部バス開放受付け出力 36 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.2 MB91402/403 シリーズ ● ASR(Area Select Register) 設定例 図 2.2-2 ASR(Area Select Register) 設定例 bit15 A31 ASRx bit14 A30 bit13 A29 ・・・・・ bit2 A18 bit1 A17 bit0 A16 bit9 BST1 bit8 BST0 ・CS0 : 000CH ・CS1 : 0010H ・CS2 : 010FH ・CS3 : 0110H ・CS4 : 0114H ・CS5 : 0115H ● ACR(Area Configuration Register) 設定例 図 2.2-3 ACR(Area Configuration Register) 設定例 ACRxH bit15 ASZ3 bit14 ASZ2 bit13 ASZ1 bit12 ASZ0 bit7 SREN bit6 PFEN bit5 WREN CS0, CS1 : 1 CS0 :0 0 (BRQ/BGR (プリフェッ (書込み NTXなし) チ許可) 禁止) 以外 : 0 以外 : 1 (プリフェッ (書込み チ禁止) 許可) CM71-10131-1 bit10 DBW0 ・CS0 : 10B (32ビット) ・CS0 : 01B (2バースト) ・CS1 : 10B (32ビット) ・CS1 : 01B (2バースト) ・CS2 : 00B (8ビット) ・CS2~CS5 : 00B ・CS3 : 10B (32ビット) (シングルアクセス) ・CS4 : 10B (32ビット) ・CS5 : 10B (32ビット) ・CS0 : 2H (256Kバイト) ・CS1 : 0H (64Kバイト) ・CS2 : 0H (64Kバイト) ・CS3 : 2H (256Kバイト) ・CS4 : 0H (64Kバイト) ・CS5 : 0H (64Kバイト) ACRxL bit11 DBW1 bit4 0 bit3 TYP3 bit2 TYP2 bit1 TYP1 bit0 TYP0 CS0~CS5 : 0H (通常アクセス) FUJITSU MICROELECTRONICS LIMITED 37 第 2 章 デバイスの取扱いについて 2.2 MB91402/403 シリーズ ■ AWR (Area Wait Register) 設定例 図 2.2-4 AWR(Area Wait Register) 設定例 bit15 W15 AWRxH bit14 W14 bit13 W13 bit12 W12 bit11 W11 bit7 W07 bit6 W06 bit5 W05 bit4 W04 01B ・CS0~CS3,CS5 (リード/ライト連続時の (ライトリカバリ アイドルサイクル:1) サイクル:0) ・CS4 : 01B : 00B bit9 W09 bit8 W08 ・CS0 : 1H (1ウェイトサイクル) ・CS1 : 1H (1ウェイトサイクル) 以外, 0H ・CS0 : 0H (0ウェイトサイクル) ・CS1 : 0H (0ウェイトサイクル) ・CS2 : 2H (2ウェイトサイクル) ・CS3 : 1H (1ウェイトサイクル) ・CS4 : 2H (2ウェイトサイクル) ・CS5 : 2H (2ウェイトサイクル) AWRxL bit10 W10 (バーストアクセスノンサポート) bit3 W03 bit2 W02 bit1 W01 bit0 W00 1B 0B 0B 0B (CSセット (CSホー (非同期ラ (アドレス イトストロー セットアップ アップサイ ルドサイ クル:0) ブ出力) サイクル:0) クル:0) (ライトリカバリ サイクル:1) <注意事項> AWR4 の W05, W04 においては , 00B の設定は禁止です。 38 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.2 MB91402/403 シリーズ ■ アドレスマップ 以下に MB91402/403 シリーズのアドレスマップを示します。 図 2.2-5 アドレスマップ Module Name Chip Select SIZE Wait Cycle 0000_0000H FR コア領域 FRコア内部領域 0004_0000H 0010_0000H 010F_0000H 内蔵RAM CS1 64Kバイト 0 I2C IF CS2 64Kバイト 2 MAC/MII IF 暗号・認証処理部 CS3 256Kバイト 1 ユーザ領域 0110_0000H 0111_0000H 0112_0000H MB91402/403シリーズ 管理領域 0113_0000H 0114_0000H 0115_0000H MPU IF/GPIO CS4 64Kバイト 2 DH処理部 CS5 64Kバイト 2 0116_0000H FFFF_FFFFH MB91402/403 シリーズ管理領域に割り当てられている内蔵 RAM および周辺モジュー ルは , 上図以外のアドレス空間への設定も可能です。その際 , CS5 ∼ CS2 領域は , ス タートアドレスが以下の条件を満たす必要があります。 【CS3 スタートアドレス設定条件】 Address[17:16]= 00B 【CS5, CS4, CS2 スタートアドレス設定条件】 Address[13:12]= 00B CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 39 第 2 章 デバイスの取扱いについて 2.3 2.3 MB91402/403 シリーズ 動作説明 FR70 のほかのシリーズと異なる MB91402/403 シリーズ固有の動作を説明します。 ■ クロック • クロック発生制御 内部動作クロックは , FR コアにて以下のように発生します。 - ソースクロックの選択:クロックの供給源を選択します。 - ベースクロックの発生:ソースクロックを 2 分周または PLL 発振させ , 基本ク ロックを生成します。 - 各内部クロックの発生:ベースクロックを分周し , 各部に供給する 3 種類の動作 クロックを生成します。 以下 , 各クロック生成とその制御について説明します。各解説にあるレジスタフラ グの詳細な説明は ,「3.12.4 クロック生成制御部のブロックダイヤグラム」,「3.12.5 クロック生成制御部のレジスタ」を参照してください。 • ソースクロック - 自励発振モード (X0/X1 端子入力 ) 外部発振端子に発振子を接続し, 内蔵発振回路で生成した原発振をソースクロッ クとするモードです。外部バスクロックを含むすべてのクロック供給源は , FR コ アとなります。 - 外部発振モード (X0 端子入力 , X1 端子開放 ) LSI外部で発振モジュールなどにより発生させたクロックをソースクロックとす るモードです。外部バスクロックを含むすべてのクロックの供給源は , FR コア となります。 <注意事項> 外部より入力される波形が小振幅波形の場合で , 信号がインバータの Vth(VDDE/2) を横切 らない場合には , クロック信号が LSI 内部に伝播しません。その場合は , 基板上の発振モ ジュールなどと X0 端子間にコンデンサを 0.01 µF 程度直列に挿入し , 信号をインバータ の Vth 中心の入力波形に整形して入力するなどの対策が必要な場合があります。 • ベースクロック 内部ベースクロックは , 以下のソースクロックのうちから選択します。 - メインクロックを 2 分周したもの - メインクロックを PLL で逓倍したもの ソースクロックの選択制御は , クロックソース制御レジスタ (CLKR) の設定により 行います。 40 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.3 MB91402/403 シリーズ ● クロック発生制御部の概要図 以下に , クロック発生制御部のブロックダイヤグラムを示します。 図 2.3-1 クロック発生制御部のブロックダイヤグラム クロック生成部 外部バスクロック分周 セレクタ 周辺クロック分周 CPUクロック 停 止 制 御 セレクタ CPUクロック分周 セレクタ DIVR0,DIVR1レジスタ 周辺クロック (FR内部) 外部バスクロック 周辺クロック (MAC IFなど) X0 X1 発振 回路 PLL セレクタ CLKRレジスタ 1/2 FRコア MB91402/403シリーズ CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 41 第 2 章 デバイスの取扱いについて 2.3 MB91402/403 シリーズ ■ リセット MB91402/403 シリーズは , リセット要因が発生すると , すべてのプログラムおよびハー ドウェア動作を停止して状態を初期化します。 リセット動作は , 3 種類に分けられ , それぞれ発生要因および初期化の内容が異なりま す。 ● 設定初期化リセット (INIT 端子 ) INIT( リセット ) 端子の "L" レベル入力アサートすることにより , リセットが発生して初 期化を行います。 【初期化箇所】 • FR コア :設定初期化リセット (INIT) を行ないます(「3.11.1 リセットレベル ■設定初期化リセット (INIT)」を参照)。 • 周辺マクロ:すべてのレジスタおよび内部動作 , 外部端子の情報が初期化されます。 電源電圧 X0,X1端子 INIT端子 INIT端子には, 電源電圧や外部クロック入力が安定するまで"L"レベルを印加してくだ さい。 ● ウォッチドッグリセット ウォッチドッグ発生により , ウォッチドッグリセットが発生して初期化を行います。 【初期化箇所】 FR コア:設定初期化リセット (INIT) を行ないます( 「3.11.1 リセットレベル ■設定初期 化リセット (INIT)」を参照) 。ただし , リセット要因フラグはクリアしません。 ● FR リセット FR コアによるソフトウェアリセットにより , リセットが発生して初期化を行います。 【初期化箇所】 • FR コア :動作初期化リセット (RST) を行ないます(「3.11.1 リセットレベル ■動作初期化リセット (RST)」を参照) 。 • 周辺マクロ:すべてのレジスタおよび内部動作 , 外部端子の情報が初期化されます。 42 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 2 章 デバイスの取扱いについて 2.3 MB91402/403 シリーズ ■ 割込み FR コアには 8 本の外部割込み端子があり , そのうち 6 本を MB91402/403 シリーズ内部 の割込みとして使用して残り 2 本を外部端子に接続し , MB91402/403 シリーズ外部か らの割込みに割り当てています。 MB91402/403 シリーズ内部の割込みは , FR コアの外部割込み端子に接続されており , その割付けは以下のようになっております。また , 各外部割込み許可 , 割込み要求 , 割 込み要求検出の設定は , FR コア内の ENIR( 外部割込み許可レジスタ ), EIRR( 外部割込 み要因レジスタ ), ELVR( 要求レベル設定レジスタ ) で行います。 図 2.3-2 割込み MB91402/403シリーズ FRコア 外部割込み端子:INT7, INT6 INT7, INT6 外部割込み 端子(8本) INT5 GPIO INT4 I2C IF INT3 MPU IF INT2 予約 INT1 認証処理部 INT0 Ethernet MAC IF INT7, INT6 外部割込み端子:INT7, INT6 に割り当てられています。 INT5 GPIO(Port A) からの割込み信号が入力されます。 INT4 I2C IF からの割込み信号が入力されます。 INT3 MPU IF からの割込み信号が入力されます。 INT2 予約です。 INT1 認証処理部からの割込み信号が入力されます。 INT0 Ethernet MAC IF からの割込み信号が入力されます。 <注意事項> MB91402/403 シリーズ内部の割込み信号は , すべて "H" アクティブです。 したがって , ELVR レジスタには "H" レベル検出を設定してください。 各割込みの設定および処理に関しては , 各モジュールのマニュアルを参照してくださ い。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 43 第 2 章 デバイスの取扱いについて 2.3 MB91402/403 シリーズ ■ DMA 転送 MB91402/403 シリーズの DMA 転送機能は , FR コアの DMAC を使用します。 DMAC の チャネル数は 5 本あり , MB91402/403 シリーズ内部においては , そのうち 2 本を使用し ています。 FR コアの DMAC のチャネルは以下のように割り当てられています。 ① ch.0 Ethernet MAC IF からの DMA 要因 MAC IF(受信FIFO) to Memoryの場合は, Fly-by(I/O to Memory)モードも対応可能です。 <注意事項> • Memory to MAC IF( 送信 FIFO) の場合は , ソフトウェア起動による DMA 転送にのみ対 応可能です。 • Fly-by 設定時においては , CPU 内の IOWR0(I/O Wait Register for DMAC) において , I/O ウェイトサイクルを 2 サイクルにする必要があります。 ② ch.1 MPU IF からの DMA 要因 MPU IF( 受信 FIFO) to Memory の場合は , Fly-by(I/O to Memory) モードにも対 応可能です。 ③ ch.2 DREQ 以外の DMA 要因 ④ ch.3 DREQ 以外の DMA 要因 ⑤ ch.4 DREQ 以外の DMA 要因 図 2.3-3 DMA 転送 MB91402/403シリーズ FRコア DREQ0 DMAC (ch.0) DACK0 IORD Ethernet MAC IF EOP0 EOT0 DREQ1 DMAC (ch.1) DACK1 IORD EOP1 MPU IF 開放 EOT1 DMAC DREQ以外からの要因 (ch.2~ch.4) 44 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第3章 CPU および制御部 MB91402/403 シリーズの CPU コアの機能を知る ために , アーキテクチャ , 仕様 , 命令などの基本的 なことについて説明します。 3.1 FR コアのブロックダイヤグラム 3.2 内部アーキテクチャ 3.3 命令キャッシュ 3.4 プログラミングモデル 3.5 専用レジスタ 3.6 データ構造 3.7 ワードアライメント 3.8 メモリマップ 3.9 分岐命令 3.10 EIT( 例外・割込み・トラップ ) 3.11 リセット ( デバイス初期化 ) 3.12 クロック生成制御 3.13 デバイス状態制御 3.14 動作モード CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 45 第 3 章 CPU および制御部 3.1 3.1 MB91402/403 シリーズ FR コアのブロックダイヤグラム 図 3.1-1 に FR コアのブロックダイヤグラムを示します。 ■ FR コアブロックダイヤグラム 図 3.1-1 FR コアブロックダイヤグラム ICLK ICD3~ICD0 ICS2~ICD0 BREAKI デバッグ A22~A0 サポート FR ユニット CPU D31~D0 Trace RD RAM 128ワード WR1, WR0 CS7, CS0 ビットサーチ SRAS Data RAM 命令キャッシュ 8Kバイト SCAS 4Kバイト WE メモリ I/F 32 32 バスコンバータ クロック INIT 32 リセット 32 to 16 制御 アダプタ バスコントローラ 5チャネル 32 MCLKE RDY DMAC X0,X1 MCLKO DREQ1, DREQ0 DACK1, DACK0 IORD 16 割込み コントローラ U-TIMER 2チャネル INT7, INT6 外部割込み UART 2チャネル SIN1, SIN0 SOUT1, SOUT0 SCK1, SCK0 リロード タイマ 3チャネル 46 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 3.2 第 3 章 CPU および制御部 3.2 内部アーキテクチャ FR CPU は , RISC アーキテクチャを採用し , 組込み用途向けの高機能命令を導入し た高性能コアです。 ■ 内部アーキテクチャの特長 • RISC アーキテクチャの採用 基本命令 1 命令 1 サイクル • 32 ビットアーキテクチャ 汎用レジスタ 32 ビット× 16 本 • 4G バイトのリニアなメモリ空間 • 乗算器の搭載 32 ビット× 32 ビット乗算 5 サイクル 16 ビット× 16 ビット乗算 3 サイクル • 割込み処理機能の強化 高速応答速度 (6 サイクル ) 多重割込みのサポート レベルマスク機能 (16 レベル ) • I/O 操作用命令の強化 メモリ - メモリ転送命令 ビット処理命令 • 高いコード効率 基本命令語長 16 ビット • 低消費電力 スリープモード・ストップモード • クロック分周比設定機能 • FR ファミリと命令互換 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 47 第 3 章 CPU および制御部 3.2 MB91402/403 シリーズ ■ 内部アーキテクチャ FR の CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造を採用 しています。命令バス (I-bus) にはオンチップの命令キャッシュが接続されています。 32 ビット ←→ 16 ビットバスコンバータはバス (F-bus) に接続され , CPU と周辺リソー スとのインタフェースを実現します。ハーバード←→プリンストン バスコンバータは I-bus, D-bus 双方に接続され , CPU とバスコントローラとのインタフェースを実現しま す。 図 3.2-1 内部アーキテクチャ FR CPU D-bus I-bus D アドレス I アドレス D データ I データ データ インストラクション RAM 32 32 32 キャッシュ 32 ハーバード 32ビット 32 16ビット 32 プリンストン F-bus バス バスコンバータ コンバータ アドレス R-bus 16 ペリフェラルリソース 48 データ 32 32 バスコントローラ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.2 MB91402/403 シリーズ ■ CPU CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの です。 1 サイクルあたり 1 命令の実行を行うため , 5 段階の命令パイプライン方式を採用して います。パイプラインは以下のステージから構成されています。 • 命令フェッチ (IF) … 命令アドレスを出力して命令をフェッチします。 • 命令デコード (ID) … フェッチした命令をデコードします。レジスタの読出 しも行います。 • 実行 (EX) … 演算を実行します。 • メモリアクセス (MA) … メモリに対するロードまたはストアのアクセスを行い ます。 • ライトバック (WB) … 演算結果 ( またはロードされたメモリデータ ) をレジス タに書き込みます。 図 3.2-2 命令パイプライン CLK 命令 1 WB 命令 2 MA WB 命令 3 EX MA WB 命令 4 ID EX MA WB 命令 5 IF ID EX MA WB IF ID EX MA 命令 6 WB 命令は , 順不同で実行されることはありません。すなわち , 命令 A が命令 B の前にパ イプラインに入ると , 命令 A は必ず命令 B の前にライトバックステージに達します。 命令の実行は , 原則として 1 サイクルあたり 1 命令の速度で行われます。ただし , メモ リウェイトを伴ったロード・ストア命令 , 遅延スロットを持たない分岐命令 , 複数サイ クル命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い 場合も命令の実行速度が低下します。 ■ 命令キャッシュ オンチップの命令キャッシュにより , 外部高速メモリとそれに関連する制御ロジック のコストを発生することなく高性能なシステムを構築することができます。外部バス の速度が遅い場合にも , CPU への命令供給を高速に行うことができます。命令キャッ シュの詳細については「3.3 命令キャッシュ」を参照してください。 ■ 32 ビット←→ 16 ビットバスコンバータ 32 ビット幅で高速アクセスされる F-bus と , 16 ビット幅でアクセスされる R-bus との インタフェースを行い , CPU から内蔵周辺リソースへのデータアクセスを実現します。 CPU から 32 ビット幅のアクセスがあった場合 , このバスコンバータがそれを 2 回の 16 ビット幅アクセスに変換して R-bus へのアクセスを行います。内蔵周辺リソースの一 部にはアクセス幅に関して制限のあるものがあります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 49 第 3 章 CPU および制御部 3.2 MB91402/403 シリーズ ■ ハーバード←→プリンストン バスコンバータ CPU の命令アクセスとデータアクセスの整合をとり , 外部バスとのスムーズなインタ フェースを実現します。 CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造です。一方 , 外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構 造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス アクセス順位が常に最適化されたものになります。 ■ 命令概要 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理演算とビット操作お よびダイレクトアドレッシング命令をサポートしています。命令セットの一覧を「付 録 E 命令一覧」に示します。各命令は 16 ビット長 ( 一部命令は 32 ビット , 48 ビット 長 ) ですので , 優れたメモリ使用効率があります。 命令セットは以下の機能グループに分けることができます。 • 算術演算 • ロードとストア • 分岐 • 論理演算とビット操作 • ダイレクトアドレッシング • その他 ● 算術演算 標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や , アドレス計算に便利なフラグ値を変化させない演算も可能です。さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令と , 32 ビット÷ 32 ビットのステップ除算命令 があります。また , レジスタに即値をセットする即値転送命令やレジスタ間転送命令も 備えています。 算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを使用して演算を 行います。 ● ロードとストア ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内 の周辺リソース (I/O) への読出しと書込みにも使用されます。 ロードとストアにはバイト , ハーフワード , ワードの 3 種類のアクセス長があります。 また , 一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令については ディスプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付 きレジスタ間接のメモリアドレッシングも可能です。 ● 分岐 分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットがあるものと ないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細について は「3.9 分岐命令」を参照してください。 50 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.2 ● 論理演算とビット操作 論理演算命令は汎用レジスタ間 , または汎用レジスタとメモリ ( および I/O) 間で AND, OR, EOR の論理演算を行うことが可能です。また , ビット操作命令はメモリ ( および I/O) の内容を直接操作することができます。メモリアドレッシングは一般的なレジス タ間接です。 ● ダイレクトアドレッシング ダイレクトアドレッシング命令は I/O と汎用レジスタ間 , または I/O とメモリ間のアク セスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定す ることにより , 高速 , 高効率なアクセスを行うことができます。一部の命令については レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシングも 可能です。 ● その他 PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また , 高級言語対応の関数入口 / 出口 , レジスタマルチロード / ストア命令も備えています。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 51 第 3 章 CPU および制御部 3.3 3.3 MB91402/403 シリーズ 命令キャッシュ 命令キャッシュの概要について説明します。 ■ 命令キャッシュの概要 命令キャッシュは , 一時記憶メモリです。命令コードを外部の低速メモリからアクセス する場合 , 一度アクセスしたコードを内部に保持する役目を果たし , 2 回目以降のアク セス速度を速めるために使用します。 命令キャッシュデータ RAM, タグ RAM は , RAM モードに設定することによりソフト ウェアで直接リード / ライトアクセスができるようになります。 52 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.3 MB91402/403 シリーズ 命令キャッシュの構成 3.3.1 命令キャッシュの構成について説明します。 ■ 本体構成 命令キャッシュの本体構成は以下のとおりです。 • FR の基本命令長 : 2 バイト • ブロックの配置方式 : 2 ウェイセットアソシアティブ方式 • ブロック : 1 ウェイは 128 ブロック構成 1 ブロックは 16 バイト ( = 4 サブブロック ) 1 サブブロックは 4 バイト ( = 1 バスアクセス単位 ) 図 3.3-1 命令キャッシュ構成 4 バイト ウェイ 1 4 バイト 4 バイト 4 バイト I3 I2 I1 I0 2 サブブロック 1 サブブロック 0 ブロック 0 キャッシュタグ サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 127 キャッシュタグ サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 0 サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 127 … … キャッシュタグ CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED … … … … ウェイ 2 128 ブロック … サブブロック 3 サブブロック キャッシュタグ 128 ブロック 4 バイト 53 第 3 章 CPU および制御部 3.3 MB91402/403 シリーズ ■ 命令キャッシュタグ 図 3.3-2 に命令キャッシュタグの構成を示します。 図 3.3-2 命令キャッシュタグ ウェイ 1 bit31 bit9 アドレスタグ bit8 空き bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SBV3 SBV2 SBV1 SBV0 TAGV 空き LRU ETLK TAG バリッド サブブロックバリッド LRU エントリロック ウェイ 2 bit31 bit9 アドレスタグ bit8 空き bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SBV3 SBV2 SBV1 SBV0 TAGV 空き 空き ETLK サブブロックバリッド TAG バリッド エントリロック [bit31 ∼ bit9] アドレスタグ 対応するブロックにキャッシュされている命令のメモリアドレスの上位 23 ビット がストアされています。 ブロック i のサブブロック k に格納されている命令データのメモリアドレス IA は , IA =アドレスタグ× 211 + i × 24 + k × 22 となります。 CPU からアクセス要求された命令アドレスの一致を検査するために使用します。タ グ検査の結果に従い , 以下のような動作をします。 • 要求された命令データがキャッシュ内に存在するとき ( ヒット ), キャッシュから CPU へサイクル内にデータを転送します。 • 要求された命令データがキャッシュ内に存在しないとき ( ミス ), 外部アクセスで 取得されたデータを CPU とキャッシュが同時に取得します。 [bit7 ∼ bit4] SBV3 ∼ SBV0 : サブブロックバリッド 本ビットが 1 のとき , 対応するサブブロックにタグで示されたアドレスの現行命令 データがエントリされています。サブブロックには , 通常 2 命令が格納されます ( 即値転送命令を除く ) 。 54 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.3 [bit3] TAGV : TAG バリッドビット アドレスタグの値が有効かどうかを示します。このビットが"0"のときはサブバリッ ドビットとは無関係に , このブロックはインバリッド状態になります ( フラッシュ 時 )。 [bit1] LRU( ウェイ 1 のみ ) ウェイ 1 の命令キャッシュタグにのみ存在します。選択されたセットについて , 最後にアクセスしたエントリがウェイ 1・ウェイ 2 のどちらであるかを示します。 LRU = 1 のときはウェイ 1, LRU = 0 のときはウェイ 2 のセットのエントリが最後 にアクセスしたことを示します。 [bit0] ETLK : エントリロック タグに相当するブロック内の全エントリをキャッシュにロックします。ETLK = 1 の ときにロック状態で , キャッシュミス時にはエントリは更新されません。ただし , 無 効なサブブロックは更新されます。ウェイ 1, ウェイ 2 ともにエントリロックされて いるときにキャッシュミスした場合は , キャッシュミス判定の 1 サイクルをロスした 後に外部メモリをアクセスします。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 55 第 3 章 CPU および制御部 3.3 3.3.2 MB91402/403 シリーズ 制御レジスタ構成 制御レジスタには , キャッシュサイズレジスタ (ISIZE) と , 命令キャッシュコント ロールレジスタ (ICHCR) があります。 これらのレジスタの機能について説明します。 ■ キャッシュサイズレジスタ (ISIZE) 図 3.3-3 に , キャッシュサイズレジスタ (ISIZE) のビット構成を示します。 図 3.3-3 キャッシュサイズレジスタ (ISIZE) のビット構成 ISIZE (8 ビット ) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000 0307H − − − − − − SIZE1 SIZE0 ---- --10B − − − − − − R/W R/W R/W : リード / ライト可能 [bit1, bit0] SIZE1, SIZE0 キャッシュ容量を設定するビットです。設定によりキャッシュサイズと IRAM 容量 , RAM モード時のアドレスマップが図 3.3-5 のように変化します。キャッシュ容量を 変更した場合は , 必ずフラッシュおよびエントリロックを解除してからキャッシュ を ON にしてください。 表 3.3-1 キャッシュサイズレジスタ SIZE1 SIZE0 0 0 1K バイト 0 1 2K バイト 1 0 4K バイト ( 初期値 ) 1 1 設定禁止 容量 ■ 命令キャッシュコントロールレジスタ (ICHCR) 命令キャッシュコントロールレジスタ (ICHCR:I-CacHe Control Register) は , 命令キャッ シュの動作を制御します。 ICHCR への書込みは , 以降 , 3 サイクル以内にフェッチされる命令のキャッシュ動作に は影響を与えません。 図 3.3-4 命令キャッシュコントロールレジスタ (ICHCR) のビット構成 ICHCR (8 ビット ) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000 03E7H RAM − GBLK ALFL EOLK ELKR FLSH ENAB 0-00 0000B R/W − R/W R/W R/W R/W R/W R/W R/W : リード / ライト可能 56 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.3 [bit7] RAM:RAM モード "1" で RAM モードとして動作します。RAM モードにすることによって , ENAB が "1" でキャッシュ・ON となっている場合はキャッシュ RAM が図 3.3-6 のとおりに マッピングされます。 [bit5] GBLK:グローバルロック すべてのカレントエントリをキャッシュにロックします。 GBLK = 1 のとき , キャッ シュ内の有効なエントリはミス時には更新されません。ただし , 無効なサブブロッ クは更新されます。その際の命令データフェッチ動作は , ロックしていないときと 同様です。 [bit4] ALFL:オートロックフェイル 既にロックしているエントリをさらにロックしようとすると ALFL = 1 にセットさ れます。エントリオートロック中のエントリの更新が , 既にロックされているエン トリに対して行われようとしたとき , ユーザの意図に反して , 新たなエントリは キャッシュ中にロックされません。このようなプログラムのデバッグのために参照 します。"0" 書込みでクリアされます。 [bit3] EOLK:エントリオートロック 命令キャッシュ内の各エントリに対して , オートロッキングの有効・無効を切り換 えます。EOLK = 1 のときにアクセス ( ミス時のみ ) されたエントリは , キャッシュ タグ内のエントリロックビットがハードウェアで "1" にセットされることにより ロックされます。ロックされたエントリは以後 , キャッシュミス時の更新の対象に はなりません。ただし , 無効なサブブロックは更新されます。確実にロックするた めには一度フラッシュした後 , このビットをセットしてください。 [bit2] ELKR:エントリロック解除 すべてのキャッシュタグ中のエントリロックビットのクリアを指定します。ELKR = 1 にセットされた次のサイクルで , すべてのキャッシュタグ中のエントリロックビット が "0" にクリアされます。ただし , 本ビットの内容が保持されるのは 1 クロックサイ クルのみであり , 2 クロックサイクル以降は "0" にクリアされます。 [bit1] FLSH:フラッシュ 命令キャッシュのフラッシュを指定します。FLSH = 1 のとき , キャッシュの内容 がフラッシュされます。ただし , 本ビットの内容が保持されるのは 1 クロックサイ クルのみであり , 2 クロックサイクル以降は "0" にクリアされます。 [bit0] ENAB:許可 命令キャッシュの許可・禁止を切り換えます。ENAB = 0 のとき禁止状態で , CPU からの命令アクセスは , キャッシュを介さず外部に対して直接行われます。禁止状 態では , キャッシュの内容は保存されます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 57 第 3 章 CPU および制御部 3.3 MB91402/403 シリーズ 図 3.3-5 RAM のアドレスマップ アドレス 00010000H 00010200H Cache OFF Cache OFF RAM OFF RAM ON TAG Cache ON 4K バイト RAM OFF Cache ON 4K バイト RAM ON TAG Cache ON 2K バイト RAM OFF Cache ON 2K バイト RAM ON TAG Cache ON 1K バイト RAM OFF Cache ON 1K バイト RAM ON TAG(way1) (way1) (way1) (way1) [TAG way1] [TAG way1] [TAG way1] 00010800H [TAG way1] [TAG way1] [TAG way1] [TAG way1] [TAG way1] … … … … 00010400H 00010600H 00014000H TAG TAG TAG … [TAG way1] TAG(way2) 00014200H 00014400H (way2) (way2) (way2) [TAG way2] [TAG way2] [TAG way2] [TAG way2] [TAG way2] [TAG way2] [TAG way2] [TAG way2] … … $RAM (way1) $RAM (way1) IRAM IRAM (way1) … [TAG way2] $RAM(way1) IRAM (way1) (way1) [ $/I way1 ] [IRAM way] [ $/I way1 ] … … … $RAM (way2) IRAM $RAM(way2) IRAM IRAM (way2) (way2) (way2) [ $/I way2 ] [IRAM way2] [ $/I way2 ] … … … … … … 00014600H 00014800H … 00018000H 00018200H 00018400H 00018600H 00018800H IRAM (way1) *1 $RAM(IRAM) (way1) IRAM (way1) [$RAM way1] [IRAM way1]*2 [IRAM way1] [$RAM way1] … … … … 0001C000H IRAM (way2) $RAM(IRAM) (way2) $RAM (way2) 0001C200H 0001C400H *1 0001C600H 0001C800H [IRAM way2] [$RAM way2] … 00020000H … … … IRAM (way2) [$RAM way2] [IRAM way2]*2 … … … … … … ] はミラーとなる領域 *1 ISIZE レジスタの値に従い , キャッシュ ON 時と同様のマップになります。 *2 ミラー領域は 4K バイトごとの上位 2K バイトに発生します。 [ TAGRAM 00010000H 00010004H 00010008H 0001000CH 00010010H 00010014H 00010018H 0001001CH 00010020H $RAM 00018000H 00018004H 00018008H 0001800CH 00018010H 00018014H 00018018H 0001801CH 00018020H ← 00x 番地のエントリ ← 00x のミラー ← 01x 番地のエントリ ← 01x のミラー 000 番地の命令 (SBV0) 004 番地の命令 (SBV1) 008 番地の命令 (SBV2) 00C 番地の命令 (SBV3) 000 番地の命令 (SBV0) 004 番地の命令 (SBV1) 008 番地の命令 (SBV2) 00C 番地の命令 (SBV3) 図 3.3-6 各キャッシュ容量時のメモリの割当て アドレス 000H Cache 4K バイト 200H 400H $RAM (WAY1) 600H … 000H 200H 400H 600H 58 Cache 2K バイト $RAM IRAM … $RAM (WAY2) $RAM IRAM Cache 1K バイト $RAM IRAM Cache OFF IRAM … $RAM IRAM FUJITSU MICROELECTRONICS LIMITED IRAM CM71-10131-1 第 3 章 CPU および制御部 3.3 MB91402/403 シリーズ 3.3.3 各動作モードの状態 各動作モード時のキャッシュの状態およびキャッシュのエントリ更新について説明 します。 ■ 各動作モード時のキャッシュの状態 禁止 / フラッシュはビット操作命令などでそのビットだけを変化させた場合の状態を 示しています。 表 3.3-2 各動作モード時の命令キャッシュの状態 禁止 (ENAB=0) リセット直後 フラッシュ キャッシュ メモリ 内容は不定 直前の状態を保持 禁止中書換え不可能 直前の状態を保持 アドレスタグ 内容は不定 直前の状態を保持 禁止中書換え不可能 直前の状態を保持 サブブロック バリッドビット 内容は不定 直前の状態を保持 禁止中書換え不可能 直前の状態を保持 内容は不定 直前の状態を保持 禁止中書換え不可能 直前の状態を保持 エントリロック ビット 内容は不定 直前の状態を保持 禁止中書換え不可能 直前の状態を保持 ( 要 エントリロック解除 ) TAG バリッドビット 内容は不定 直前の状態を保持 禁止中フラッシュ可能 すべてのエントリが インバリッド 通常モード 直前の状態を保持 禁止中フラッシュ可能 直前の状態を保持 グローバルロック アンロック 直前の状態を保持 禁止中書換え可能 直前の状態を保持 オートロック フェイル フェイルなし 直前の状態を保持 禁止中書換え可能 直前の状態を保持 エントリ オートロック アンロック 直前の状態を保持 禁止中書換え可能 直前の状態を保持 エントリロック 解除 解除なし 直前の状態を保持 禁止中書換え可能 直前の状態を保持 許可 禁止 禁止 直前の状態を保持 フラッシュ フラッシュしない 直前の状態を保持 禁止中書換え可能 メモリアクセス直後の サイクルでフラッシュ。 以後 , "0" に戻る。 タ LRU グ RAM 制 御 レ ジ ス タ CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 59 第 3 章 CPU および制御部 3.3 MB91402/403 シリーズ ■ キャッシュのエントリ更新 キャッシュのエントリ更新は , 以下の表のように行います。 表 3.3-3 命令キャッシュのエントリ更新 アンロック 60 ロック ヒット 更新しない。 更新しない。 ミス メモリをロードし , キャッシュ のエントリの内容を更新する。 タグミスの場合は更新しない。 サブブロックインバリッドの場 合は更新する。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 3.3.4 第 3 章 CPU および制御部 3.3 命令キャッシュのキャッシュ可能領域 命令キャッシュのキャッシュ可能領域について説明します。 ■ キャッシュ可能領域 • 命令キャッシュは , 外バス空間のみをキャッシュ可能とします。 • DMA転送で外部メモリの内容が更新されたとしてもキャッシュの内容とのコヒーレ ンシはとりません。 このような場合はキャッシュをフラッシュすることで , コヒーレンシを保ってくだ さい。 • 各チップセレクトの領域ごとに非キャッシュ領域に設定することができます。この 場合でもキャッシュオフに比べて 1 サイクルのペナルティーを受けます 「 ( 4.3 チッ プセレクト領域の設定例」の項を参照 )。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 61 第 3 章 CPU および制御部 3.3 3.3.5 MB91402/403 シリーズ I-Cache を使用するときの設定方法 I-Cache を使用するときの設定方法について説明します。 ■ I-Cache を使用するときの設定方法 ● 初期化 I-Cache を使い始める最初はキャッシュの中身をクリアしておく必要があります。 レジスタの FLSH ビットと ELKR ビットを "1" にして , 過去のデータを消去します。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00000110,r1 // FLSH ビット (bit1) // ELKR ビット (bit2) stb r1,@r0 // レジスタへ書込み これで , キャッシュが初期化されます。 ● キャッシュを有効 (ON) にする I-Cache を有効にするには ENAB ビットを "1" にします。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00000001,r1 // ENAB ビット (bit0) stb r1,@r0 // レジスタへ書込み これ以降の命令アクセスがキャッシュに取り込まれていきます。 キャッシュの有効化は , キャッシュの初期化と同時に行うこともできます。 ldi ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス #0B00000111,r1 // ENAB ビット (bit0) // FLSH ビット (bit1) // ELKR ビット (bit2) stb r1,@r0 // レジスタへ書込み ● キャッシュを無効 (OFF) にする I-Cache を無効にするには ENAB ビットを "0" にします。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00000000,r1 // ENAB ビット (bit0) stb r1,@r0 // レジスタへ書込み この状態 ( リセット後の状態と同じ ) では , キャッシュがないのと同じで何もしま せん。 キャッシュミスが連続する場合, OFFにすると処理性能が向上することがあります。 62 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.3 MB91402/403 シリーズ ● キャッシュの内容をすべてロックする 現在 I-Cache に入っている命令がキャッシュから追い出されないようにロックしま す。 レジスタの GBLK ビットを "1" にします。本機能使用時は , ENAB ビットを "1" に しておく必要があります。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00100001,r1 // ENAB ビット (bit0) // GBLK ビット (bit5) stb r1,@r0 // レジスタへ書込み ● 特定の命令をキャッシュにロックする 特定の命令群 ( サブルーチンなど ) をキャッシュにロックするには , それらの命令 を実行する前に EOLK ビットを "1" にします。 ロックした命令は高速な内部 ROM のようにアクセスされます。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00001001,r1 // ENAB ビット (bit0) // EOLK ビット (bit3) stb r1,@r0 // レジスタへ書込み メモリのウェイト数によりますが , stb 命令の次以降の命令から有効になります。 ロックしたい命令群が終わったところで EOLK ビットを "0" にします。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00000001,r1 // ENAB ビット (bit0) // EOLK ビット (bit3) stb r1,@r0 // レジスタへ書込み ● キャッシュのロックを解除する 上記「●特定の命令をキャッシュにロックする」でロックした命令のロック情報を 解除します。 ldi #0x000003e7,r0 // I-Cache コントロールレジスタのアドレス ldi #0B00000000,r1 // キャッシュディセーブル stb r1,@r0 // レジスタへ書込み ldi #0B00000100,r1 // ELKR ビット (bit2) stb r1,@r0 // レジスタへ書込み ロック情報だけ解除されるので , ロックされていた命令は , LRU ビットの状態に応 じて順次新しい命令に置き換わります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 63 第 3 章 CPU および制御部 3.4 3.4 MB91402/403 シリーズ プログラミングモデル FR ファミリのプログラミングモデル , 汎用レジスタおよび専用レジスタについて説 明します。 ■ 基本プログラミングモデル 図 3.4-1 に , FR ファミリの基本プログラミングモデルを示します。 図 3.4-1 基本プログラミングモデル 32 ビット 初期値 R0 XXXX XXXXH ......... 汎用レジスタ ..... ......... R1 R12 R13 AC R14 FP XXXX XXXXH R15 SP 0000 0000H プログラムカウンタ PC プログラムステータス PS テーブルベースレジスタ – ILM – SCR CCR TBR RP リターンポインタ システムスタックポインタ SSP ユーザスタックポインタ USP MDH 乗除算結果レジスタ 64 MDL FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.4 MB91402/403 シリーズ 3.4.1 汎用レジスタ レジスタ R0 ∼ R15 は汎用レジスタです。 各種演算におけるアキュムレータおよびメモリアクセスのポインタとして使用され ます。 ■ 汎用レジスタ 図 3.4-2 に汎用レジスタの構成を示します。 図 3.4-2 汎用レジスタの構成 32 ビット R0 初期値 XXXX XXXXH ......... ..... ......... R1 R12 R13 AC R14 FP XXXX XXXXH R15 SP 0000 0000H レジスタ R0 ∼ R15 は汎用レジスタです。各種演算におけるアキュムレータ , およびメ モリアクセスのポインタとして使用されます。 16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために 一部の命令が強化されています。 R13:仮想アキュムレータ R14:フレームポインタ R15:スタックポインタ リセットによる初期値のR0∼R14は不定です。R15は, 00000000H(SSPの値)となります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 65 第 3 章 CPU および制御部 3.5 3.5 MB91402/403 シリーズ 専用レジスタ 専用レジスタは , 特定の目的のために使用します。 FR ファミリでは , 以下の専用レジスタが用意されています。 • PS (Program Status) • CCR (Condition Code Register) • SCR (System Condition code Register) • ILM (Interrupt Level Mask Register) • PC (Program Counter) • TBR (Table Base Register) • RP (Return Pointer) • SSP (System Stack Pointer) • USP (User Stack Pointer) • MDH, MDL (Multiply & Divide register:乗除算結果レジスタ ) ■ PS (Program Status) プログラムステータスを保持するレジスタで , ILM と SCR, CCR の 3 つのパートに分か れています。 図中 , 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。 書込みは無効です。 図 3.5-1 プログラムステータスレジスタ (PS) のビット構成 bit31 20 16 10 ILM 8 7 0 SCR CCR ■ CCR (Condition Code Register ) 図 3.5-2 コンディションコードレジスタ (CCR) のビット構成 66 bit7 bit6 − − bit5 S bit4 I bit3 N bit2 Z bit1 V FUJITSU MICROELECTRONICS LIMITED bit0 C 初期値 --00XXXXB CM71-10131-1 第 3 章 CPU および制御部 3.5 MB91402/403 シリーズ [bit5] S:スタックフラグ R15 として使用されるスタックポインタを指定します。 表 3.5-1 スタックフラグ (S) の内容 値 内容 0 SSP が R15 として使用されます。 EIT 発生時 , 自動的に "0" になります ( ただし , スタックに退避される値はクリアされる前の値です )。 1 USP が R15 として使用されます。 リセットにより "0" にクリアされます。 RETI 命令実行時は "0" にしてください。 [bit4] I:割込み許可フラグ ユーザ割込み要求の許可・禁止を制御します。 表 3.5-2 割込み許可フラグ (I) の内容 値 内容 0 ユーザ割込み禁止。INT 命令実行時 , "0" にクリアされます ( ただし , ス タック退避させる値はクリアする前の値です )。 1 ユーザ割込み許可。ユーザ割込み要求のマスク処理は , ILM の保持する値 により制御されます。 リセットにより "0" にクリアされます。 [bit3] N:ネガティブフラグ 演算結果を 2 の補数で表現された整数とみなしたときの符号を示します。 表 3.5-3 ネガティブフラグ (N) の内容 値 内容 0 演算結果が正の値であったことを示します。 1 演算結果が負の値であったことを示します。 リセットによる初期状態は不定です。 [bit2] Z:ゼロフラグ 演算結果が "0" であったかどうかを示します。 表 3.5-4 ゼロフラグ (Z) の内容 値 内容 0 演算結果が "0" 以外の値であったことを示します。 1 演算結果が "0" であったことを示します。 リセットによる初期状態は不定です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 67 第 3 章 CPU および制御部 3.5 MB91402/403 シリーズ [bit1] V:オーバフローフラグ 演算に使用したオペランドを 2 の補数で表現される整数であるとみなし , 演算の結 果 , オーバフローが発生したかどうかを示します。 表 3.5-5 オーバフローフラグ (V) の内容 値 内容 0 演算の結果 , オーバフローは発生していないことを示します。 1 演算の結果 , オーバフローが発生したことを示します。 リセットによる初期状態は不定です。 [bit0] C:キャリフラグ 演算により , 最上位ビットからのキャリ , またはボローが発生したかどうかを示し ます。 表 3.5-6 キャリフラグ (C) の内容 値 内容 0 キャリもボローも発生していないことを示します。 1 キャリまたはボローが発生したことを示します。 リセットによる初期状態は不定です。 ■ SCR (System Condition code Register) 図 3.5-3 システムコンディションコードレジスタ (SCR) のビット構成 bit10 D1 bit9 D0 bit8 T 初期値 XX0B [bit10, bit9] D1, D0:ステップ除算用フラグ ステップ除算実行時の中間データを保持します。 除算処理の実行途中には変更しないでください。 ステップ除算実行途中にほかの処理を行う場合は , PS レジスタの値を退避・復帰す ることによりステップ除算の再開が保証されます。 リセットによる初期状態は不定です。 DIV0S 命令の実行により被除数と除数を参照して設定されます。 DIV0U 命令の実行により , 強制的にクリアされます。 68 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.5 MB91402/403 シリーズ [bit8] T:ステップトレーストラップフラグ ステップトレーストラップを有効にするかどうかを指定するフラグです。 表 3.5-7 ステップトレーストラップ (T) の内容 値 内容 0 ステップトレーストラップ無効 1 ステップトレーストラップ有効 このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となります。 リセットにより "0" に初期化されます。 ステップトレーストラップの機能をエミュレータが使用します。エミュレータ使用 時 , ユーザプログラム中で使用することはできません。 ■ ILM (Interrupt Level Mask Register) 図 3.5-4 割込みレベルレジスタ (ILM) のビット構成 bit20 ILM4 bit19 ILM3 bit18 ILM2 bit17 ILM1 bit16 ILM0 初期値 01111B 割込みレベルマスク値を保持するレジスタで , この ILM の保持する値がレベルマスク に使用されます。 CPU に入力される割込み要求の中で , 対応する割込みレベルが , この ILM で示される レベルよりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0(00000 B) が最強で , 31(11111B ) が最弱です。 プログラムから設定可能な値には制限があります。 • 元の値が 16 ∼ 31 のとき:新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を 設定する命令を実行すると , ( 指定した値+ 16) という値 が転送されます。 • 元の値が 0 ∼ 15 のとき:0 ∼ 31 の任意の値を設定可能です。 リセットにより , 15(01111 B ) に初期化されます。 PS レジスタに関して • DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込み・NMI を受け付けた場合 , (b) ステップ実行を行った場合 , (c) データイベントまたはエミュレータメニューにてブ レークした場合 , 以下のような動作を行う場合があります。 (1) D0, D1 フラグが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み・NMI またはエミュレータ ) を実行します。 (3) EIT から復帰後 , DIV0U/DIV0S 命令が実行されて D0/D1 フラグが (1) と同じ値 に更新されます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 69 第 3 章 CPU および制御部 3.5 MB91402/403 シリーズ • ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために ORCCR, STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み・NMI) を実行します。 (3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更新され ます。 • 一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッ ガ使用時に割込み処理ルーチンでブレークしたり , PS フラグの表示内容が更新され たりする場合があります。いずれの場合も EIT から復帰後以降に正しく再処理を行 いますので , EIT 前後の動作は仕様どおりの処理を行います。 1. DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込み・NMI を受け付けた場合 , (b) ステップ実行を行った場合 , (c) データイベントまたはエミュレータメニュー にてブレークした場合 , 以下のような動作を行う場合があります。 (1) D0, D1 フラグが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み・NMI またはエミュレータ ) を実行します。 (3) EIT から復帰後 , DIV0U/DIV0S 命令が実行されて D0/D1 フラグが (1) と同じ 値に更新されます。 2. ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために ORCCR, STLIM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み・NMI) を実行します。 (3) EIT から復帰後 , 上記命令が実行されて PS レジスタが (1) と同じ値に更新さ れます。 ■ PC (Program Counter) 図 3.5-5 プログラムカウンタ (PC) のビット構成 bit31 PC bit0 初期値 XXXXXXXXH [bit31 ∼ bit0] プログラムカウンタで , 実行している命令のアドレスを示しています。 命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。bit0 が "1" になる可能 性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , そ の場合でも bit0 は無効であり , 命令を 2 の倍数のアドレスに置く必要があります。 リセットによる初期値は不定です。 70 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.5 MB91402/403 シリーズ ■ TBR (Table Base Register) 図 3.5-6 テーブルベースレジスタ (TBR) のビット構成 bit31 bit0 TBR 初期値 000FFC00H [bit31 ∼ bit0] テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アド レスを保持します。 リセットによる初期値は , "000FFC00H" です。 ■ RP (Return Pointer) 図 3.5-7 リターンポインタ (RP) のビット構成 bit31 bit0 RP 初期値 XXXXXXXXH [bit31 ∼ bit0] リターンポインタで , サブルーチンから復帰するアドレスを保持します。 CALL 命令実行時 , PC の値がこの RP に転送されます。 RET 命令実行時 , RP の内容が PC に転送されます。 リセットによる初期値は不定です。 ■ SSP (System Stack Pointer) 図 3.5-8 システムスタックポインタ (SSP) のビット構成 bit31 bit0 SSP 初期値 00000000H [bit31 ∼ bit0] SSP は , システムスタックポインタです。 S フラグが "0" のとき , R15 として機能します。 SSP を明示的に指定することも可能です。また , EIT 発生時に PS と PC を退避する スタックを指定するスタックポインタとしても使用されます。 リセットによる初期値は "00000000H" です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 71 第 3 章 CPU および制御部 3.5 MB91402/403 シリーズ ■ USP (User Stack Pointer) 図 3.5-9 ユーザスタックポインタ (USP) のビット構成 bit31 bit0 USP 初期値 XXXXXXXXH [bit31 ∼ bit0] USP は , ユーザスタックポインタです。 S フラグが "1" のとき , R15 として機能します。 USP を明示的に指定することも可能です。 リセットによる初期値は不定です。 RETI 命令で使用することはできません。 ■ MDH, MDL (Multiply & Divide register:乗除算レジスタ ) 図 3.5-10 乗除算結果格納レジスタ bit31 bit0 MDH MDL [bit31 ∼ bit0] 乗除算用のレジスタで , 各々 32 ビット長です。 リセットによる初期値は不定です。 乗算実行時 32 ビット× 32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除 算結果格納レジスタに格納されます。 MDH …… 上位 32 ビット MDL …… 下位 32 ビット 16 ビット× 16 ビットの乗算のときは , 以下のように結果が格納されます。 MDH …… 不定 MDL …… 結果 32 ビット 除算実行時 計算開始時 , 被除数を MDL に格納します。 DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果 が MDL と MDH に格納されます。 MDH …… 剰余 MDL …… 商 72 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.6 MB91402/403 シリーズ データ構造 3.6 FR ファミリのデータ配置には , 次の 2 つがあります。 • ビットオーダリング • バイトオーダリング ■ ビットオーダリング FR ファミリでは , ビットオーダリングとして , リトルエンディアンを採用しています。 図 3.6-1 ビットオーダリングのビット構成 bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 MSB LSB ■ バイトオーダリング FR ファミリでは , バイトオーダリングとして , ビッグエンディアンを採用しています。 図 3.6-2 バイトオーダリングの構造 メモリ n番地 (n+1)番地 (n+2)番地 (n+3)番地 CM71-10131-1 bit bit 7 0 10101010 11001100 11111111 00010001 MSB LSB bit31 23 15 7 0 10101010 11001100 11111111 00010001 FUJITSU MICROELECTRONICS LIMITED 73 第 3 章 CPU および制御部 3.7 3.7 MB91402/403 シリーズ ワードアライメント 命令やデータはバイト単位でアクセスするため , 配置するアドレスは命令長やデー タ幅で異なります。 ■ プログラムアクセス FR ファミリのプログラムは , 2 の倍数のアドレスに配置する必要があります。PC の bit0 は , 命令の実行に伴う PC の更新時に "0" に設定されます。"1" になる可能性がある のは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , その場合でも bit0 は無効であり , 命令は 2 の倍数のアドレスに置かなくてはなりません。 奇数アドレス例外はありません。 ■ データアクセス FR ファミリでは , データアクセスを行う際 , そのデータ長により , 強制的にアライメン トを合わせます。 ワードアクセス : アドレスは , 4 の倍数 ( 最下位 2 ビットは強制的に "00B") ハーフワードアクセス : アドレスは , 2 の倍数 ( 最下位 ビットは強制的に "0") バイトアクセス : ── ワードおよびハーフワードデータアクセス時に , 一部のビットが強制的に "0" にされる のは , 実効アドレスの計算結果に対してです。例えば , @ (R13,Ri) のアドレッシング モードの場合 , 加算前のレジスタは ( たとえ最下位ビットが "1" であっても ) そのまま 計算に使用され , 加算結果の下位ビットがマスクされます。計算前のレジスタがマスク されるわけではありません。 [ 例 ] LD @ (R13,R2),R0 R13 0 0 0 0 2 2 2 2 H R2 0 0 0 0 0 0 0 3 H 0 0 0 0 2 2 2 5 H +) 加算結果 ↓ 下位2ビット強制マスク アドレス端子0 0 0 0 2 2 2 4 74 H FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.8 MB91402/403 シリーズ 3.8 メモリマップ FR ファミリのメモリマップを示します。 ■ メモリマップ アドレス空間は 32 ビットリニアです。 図 3.8-1 メモリマップ 0000 0000H バイトデータ 0000 0100H ハーフワードデータ 0000 0200H ダイレクト アドレッシング領域 ワードデータ 0000 0400H 000F FC00H ベクタテーブル 000F FFFFH FFFF FFFFH ● ダイレクトアドレッシング領域 アドレス空間の下記の領域は , I/O 用の領域です。この領域は , ダイレクトアドレッシ ングにより , 命令中で直接オペランドアドレスを指定することができます。 ダイレクトアドレス指定可能なアドレス領域の大きさは , データ長ごとに異なります。 • バイトデータ ( 8 ビット ) …… 000H ∼ 0FFH • ハーフワードデータ (16 ビット ) …… 000H ∼ 1FFH • ワードデータ (32 ビット ) …… 000H ∼ 3FFH ● ベクタテーブル初期領域 000FFC00H ∼ 000FFFFFH の領域は EIT ベクタテーブル初期領域です。 EIT処理時に使用されるベクタテーブルは, TBRを書き換えることにより任意のアドレ スに配置可能ですが , リセットによる初期化によってこのアドレスに配置されます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 75 第 3 章 CPU および制御部 3.9 3.9 MB91402/403 シリーズ 分岐命令 FR ファミリでは , 分岐命令に遅延スロット付きの動作と遅延スロットなしの動作を 指定することができます。 ■ 遅延スロット付きの分岐命令 以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。 76 JMP:D @Ri CALL:D label12 CALL:D @Ri RET:D BRA:D label9 BNO:D label9 BEQ:D label9 BNE:D label9 BC:D label9 BNC:D label9 BN:D BP:D BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 label9 FUJITSU MICROELECTRONICS LIMITED label9 CM71-10131-1 第 3 章 CPU および制御部 3.9 MB91402/403 シリーズ 3.9.1 遅延スロット付き分岐命令の動作 遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅 延スロット」とよびます ) に置かれた命令を実行した後に分岐します。 ■ 遅延スロット付き分岐命令の動作 分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル となります。その代わり , 遅延スロットに有効な命令を入れることができないときは , NOP 命令を置かなくてはなりません。 [例] ; 命令の並び ADD R1, R2 ; BRA:D LABEL ; 分岐命令 MOV R2, R3 ; 遅延スロット ……分岐の前に実行されます。 … LABEL : ST R3, @R4 ; 分岐先 条件分岐命令の場合には , 分岐条件が成立する場合も成立しない場合も遅延スロット に置かれた命令は実行されます。 遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の 更新動作だけについてであり , その他の動作 ( レジスタの更新・参照など ) はあくまで 記述された順番で実行されます。 以下に , 具体的な説明をします。 ● JMP:D @Ri / CALL:D @Ri 命令 JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は , 遅延スロットの中の命令が Ri を更新 しても影響を受けません。 [例] LDI:32 #Label, R0 JMP:D @R0 LDI:8 #0, ; Label に分岐 R0 ; 分岐先アドレスには影響を与えない。 … ● RET:D 命令 RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響を受 けません。 [例] ; これより前に設定された RP の示すアドレスへ分岐 RET:D MOV R8, RP ; リターン動作には影響を与えない。 … CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 77 第 3 章 CPU および制御部 3.9 MB91402/403 シリーズ ● Bcc:D rel 命令 Bcc:D rel 命令が参照するフラグも , 遅延スロットの命令の影響を受けません。 [例] ADD #1, BC:D Overflow AND CCR R0 ; フラグ変化 ; 上記の命令の実行結果により分岐 ; このフラグ更新は上記分岐命令では参照しない。 #0 … ● CALL:D 命令 CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令により更新 された内容が読み出されます。 [例] CALL:D Label MOV RP, ; RP R0 を更新して分岐 ; 上記 CALL:D の実行結果の RP を転送 … ■ 遅延スロット付き分岐命令の制限事項 ● 遅延スロットに置くことができる命令 遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。 • 1 サイクル命令 • 分岐命令ではないこと • 順番が変化した場合でも動作に影響を与えない命令 「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」, 「a」, 「b」, 「c」 または「d」と記載された命令です。 ● ステップトレーストラップ 遅延スロットがある分岐命令の実行と遅延スロットの間では , ステップトレースト ラップは発生しません。 ● 割込み /NMI 遅延スロットがある分岐命令の実行と遅延スロットの間では , 割込み /NMI を受理 しません。 ● 未定義命令例外 遅延スロットに未定義命令があった場合には , 未定義命令例外は発生しません。こ のとき , 未定義命令は NOP 命令として動作します。 78 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.9 MB91402/403 シリーズ 3.9.2 遅延スロットなし分岐命令の動作 遅延スロットなしの動作では , あくまで命令の並び順に実行します。直後の命令が 分岐前に実行されることはありません。 ■ 遅延スロットなしの分岐命令 以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。 JMP @Ri CALL label12 CALL @Ri RET BRA label9 BNO label9 BEQ label9 BNE label9 BC label9 BNC label9 BN label9 BP label9 BV label9 BNV label9 BLT label9 BGE label9 BLE label9 BGT label9 BLS label9 BHI label9 ■ 遅延スロットなしの分岐命令の動作 遅延スロットなしの動作では , あくまで命令の並びの順に実行します。直後の命令が分 岐前に実行されることはありません。 [例] ; 命令の並び ADD R1, R2 ; BRA LABEL ; 分岐命令 ( 遅延スロットなし ) MOV R2, R3 ; 実行されません。 … LABEL: ST R3, @R4 ; 分岐先 遅延スロットなしの分岐命令の実行サイクル数は , 分岐するときに 2 サイクル , 分岐し ないときに 1 サイクルとなります。 遅延スロットに適当な命令を入れることができないために NOP を明記した遅延スロッ ト付き分岐命令に比べ , 命令コード効率を上げることができます。 遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , そ うでないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率を 両立させることが可能となります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 79 第 3 章 CPU および制御部 3.10 3.10 MB91402/403 シリーズ EIT( 例外・割込み・トラップ ) EIT とは , 現プログラム実行時にイベントの発生によりそのプログラムの実行を中断 してほかのプログラムを実行することを指し , 例外 (Exception), 割込み (Interrupt), トラップ (Trap) の総称です。 ■ EIT ( 例外・割込み・トラップ ) 例外とは実行中のコンテキストに関連して発生する事象です。例外を起こした命令か ら再実行します。 割込みとは実行中のコンテキストとは無関係に発生する事象です。イベント要因は ハードウェアです。 トラップとは実行中のコンテキストに関連して発生する事象です。システムコールの ようにプログラムで指示するものがあります。トラップを起こした命令の次の命令か ら再実行します。 ■ EIT の特長 • 割込みに多重割込みをサポート • 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 ) • トラップ命令 (INT) • エミュレータ起動用 EIT( ハードウェア / ソフトウェア ) ■ EIT 要因 EIT 要因として , 以下のものがあります。 • リセット • ユーザ割込み ( 内部リソース , 外部割込み ) • NMI • 遅延割込み • 未定義命令例外 • トラップ命令 (INT) • トラップ命令 (INTE) • ステップトレーストラップ • コプロセッサ不在トラップ • コプロセッサエラートラップ ■ EIT からの復帰 EIT からの復帰には , RETI 命令を使用します。 80 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ EIT 割込みレベル 3.10.1 割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。 表 3.10-1 に各レベルの割当てを示します。 表 3.10-1 EIT の割込みレベル レベル 割込み要因 2 進数 10 進数 00000 0 ( システム予約 ) … … … … … … 00011 3 ( システム予約 ) 00100 4 INTE 命令 ステップトレーストラップ 00101 5 ( システム予約 ) … … … … … … 01110 14 ( システム予約 ) 01111 15 NMI( ユーザ用 ) 10000 16 割込み 10001 17 割込み … … … … 11110 … 30 … 11111 31 ─ 備考 ILM の元の値が 16 ∼ 31 のとき , 15 以下の値をプログラムにより ILM に 設定することはできません。 初期値 ILM 設定時 , ユーザ割込み禁止 割込み ICR 設定時 , 割込み禁止 操作が可能なのは , 16 ∼ 31 のレベルです。 未定義命令例外, コプロセッサ不在トラップ, コプロセッサエラートラップ, そしてINT 命令は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。 ■ I フラグ 割込みの許可 / 禁止を指定するフラグです。PS レジスタの CCR の bit4 として設けられ ています。 表 3.10-2 I フラグの設定 値 CM71-10131-1 内容 0 割込み禁止。 INT 命令実行時 "0" にクリアされます ( ただし , スタック退避させる値はクリアする前の値です )。 1 割込み許可。 割込み要求のマスク処理は , ILM の保持する値により制御されます。 FUJITSU MICROELECTRONICS LIMITED 81 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ ■ 割込みレベルマスクレジスタ (ILM) 割込みレベルマスク値を保持するプログラムステータスレジスタ (PS)(bit20 ∼ bit16) で す。 CPU に入力される割込み要求の中で対応する割込みレベルが , この ILM で示されるレ ベルよりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。 プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな値 として設定できるのは 16 ∼ 31 です。0 ∼ 15 の値を設定する命令を実行すると , ( 指定 した値+ 16) という値が転送されます。 元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値を設定可能です。 <注意事項> 設定するには STILM 命令を使用します。 ■ 割込み /NMI に対するレベルマスク NMI および割込み要求が発生したときは , 割込み要因の割込みレベル ( 表 3.10-1 を参 照 ) が ILM の保持するレベルマスク値と比較されます。そして , 次の条件が成立した ときはマスクされ , 要求は受理されません。 要因の割込みレベル ≧ レベルマスク値 82 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ 割込み制御レジスタ (ICR:Interrupt Control Register) 3.10.2 割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを 設定します。ICR は割込み要求入力の各々に対応して用意されています。ICR は I/O 空間にマッピングされており , CPU からはバスを通してアクセスされます。 ■ 割込み制御レジスタ (ICR) のビット構成 図 3.10-1 割込み制御レジスタ (ICR) のビット構成 bit 7 6 − − 5 4 3 2 1 0 初期値 − ICR4 ICR3 ICR2 ICR1 ICR0 ---11111B R R/W R/W R/W R/W R/W : リード / ライト可能 R : リードオンリ [bit4] ICR4 このビットは , 常に "1" です。 [bit3 ∼ bit0] ICR3 ∼ ICR0 対応する割込み要因の割込みレベルの下位 4 ビットです。読出しおよび書込みが可 能です。 bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。 ■ 割込み制御レジスタ (ICR) のマッピング 表 3.10-3 割込み要因と割込み制御レジスタ , 割込みベクタ 割込み制御レジスタ 割込み要因 対応する割込みベクタ 番号 レジスタ名 アドレス IRQ00 ICR00 IRQ01 アドレス 16 進 10 進 00000440H 10H 16 TBR + 3BCH ICR01 00000441H 11H 17 TBR + 3B8H IRQ02 ICR02 00000442H 12H 18 TBR + 3B4H … … … … … … … … … … … … IRQ45 ICR45 0000046DH 3DH 61 TBR + 308H IRQ46 ICR46 0000046EH 3EH 62 TBR + 304H IRQ47 ICR47 0000046FH 3FH 63 TBR + 300H ( 注意事項 ) 「第 5 章 割込みコントローラ」を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 83 第 3 章 CPU および制御部 3.10 3.10.3 MB91402/403 シリーズ システムスタックポインタ (SSP) EIT の受理および復帰動作時のデータ退避 / 復活用スタックを示すポインタとしてシ ステムスタックポインタ (SSP) が使用されます。 図 3.10-2 システムスタックポインタ (SSP) のビット構成 bit 31 0 初期値 00000000H SSP EIT 処理時に内容が 8 減ぜられ , RETI 命令の実行による EIT からの復帰動作時に 8 加 算されます。 リセットによる初期値は "00000000H" です。 SSP は , CCR 中の S フラグが "0" のときに汎用レジスタ R15 としても機能します。 ■ 割込みスタック システムスタックポインタ (SSP) により示される領域で , PC および PS の値が退避 / 復 帰されます。割込み後は SSP の示すアドレスに PC が , (SSP + 4) のアドレスに PS が 格納されています。 図 3.10-3 割込みスタック [例] SSP [割込み前] 80000000H [割込み後] SSP 7FFFFFF8H メモリ 80000000H 80000000H 7FFFFFFCH 7FFFFFFCH PS 7FFFFFF8H 7FFFFFF8H PC 84 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ 3.10.4 テーブルベースレジスタ (TBR) テーブルベースレジスタ (TBR:Table Base Register) は , EIT 用ベクタテーブルの 先頭アドレスを示すレジスタです。 図 3.10-4 テーブルベースレジスタ (TBR) のビット構成 bit 31 0 初期値 000FFC00H TBR TBR と EIT 要因ごとに決められたオフセット値を加算したアドレスがベクタアドレス となります。 リセットによる初期値は "000FFC00H" です。 ■ EIT ベクタテーブル テーブルベースレジスタ (TBR) の示すアドレスから 1K バイトの領域が , EIT 用ベクタ 領域となっています。 1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は下記のよ うに表されます。 vctadr = TBR + vctofs = TBR + (3FCH − 4 × vct) vctadr : ベクタアドレス vctofs : ベクタオフセット vct : ベクタ番号 加算結果の下位 2 ビットは常に "00B" として扱われます。 "000FFC00H" ∼ "000FFFFFH" の領域がリセットによるベクタテーブルの初期領域です。 ベクタテーブルの詳細は , 「付録 B 割込みベクタ」を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 85 第 3 章 CPU および制御部 3.10 3.10.5 MB91402/403 シリーズ 多重 EIT 処理 複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を選択して受理 し , EIT シーケンスを実行した後に再び EIT 要因の検出を行う , という動作を繰り返 します。EIT 要因検出の際に , 受理可能な EIT 要因がなくなったとき , 最後に受理し た EIT 要因のハンドラの命令を実行します。そのため , 複数の EIT 要因が同時に発 生した場合の各要因のハンドラの実行順序は , 次の 2 つの要素により決まります。 • EIT 要因受理の優先順位 • 受理した場合にほかの要因をどのようにマスクするか ■ EIT 要因受理の優先度 EIT 要因受理の優先度とは , PS と PC を退避して PC を更新し ( 必要に応じて ) ほかの 要因のマスク処理を行うという , EIT シーケンスを実行する要因を選ぶときの順番で す。必ずしも , 先に受理された要因のハンドラが先に実行されるわけではありません。 EIT 要因受理の優先度は , 3.10-4 のようになっています。 表 3.10-4 EIT 要因の受理の優先度とほかの要因へのマスク 受理の優先順位 要因 ほかの要因に対するマスク 1 リセット ほかの要因は破棄されます。 2 未定義命令例外 取消し 3 INT 命令 I フラグ= 0 4 コプロセッサ不在トラップ ― コプロセッサエラートラップ 5 ユーザ割込み ILM =受理した要因のレベル 6 NMI( ユーザ用 ) ILM = 15 7 (INTE 命令 ) ILM = 4* 8 NMI( エミュレータ用 ) ILM = 4 9 ステップトレーストラップ ILM = 4 10 INTE 命令 ILM = 4 *: INTE 命令とエミュレータ用 NMI が同時に発生したときのみ優先度が 6 になります ( 本マクロではエミュレータ用 NMI をデータアクセスによるブレークに使用してい ます )。 86 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ EIT 要因を受理した後のほかの要因に対するマスクの処理を加味すると , 同時に発生し た EIT 要因の各ハンドラの実行順序は , 3.10-5 のようになります。 表 3.10-5 EIT ハンドラの実行順序 ハンドラの実行順序 要因 1 リセット *1 2 未定義命令例外 3 ステップトレーストラップ *2 4 INTE 命令 *2 5 NMI( ユーザ用 ) 6 INT 命令 7 ユーザ割込み 8 コプロセッサ不在トラップ , コプロセッサエラートラップ *1: ほかの要因は破棄されます。 *2: INTE 命令をステップ実行したときはステップトレーストラップの EIT のみを発 生します。INTE による要因は無視されます。 図 3.10-5 多重 EIT 処理 [例] メインルーチン NMIのハンドラ ①最初に実行 INT命令 のハンドラ 優先度 (高) NMI発生 (低) INT命令実行 CM71-10131-1 ②次に実行 FUJITSU MICROELECTRONICS LIMITED 87 第 3 章 CPU および制御部 3.10 3.10.6 MB91402/403 シリーズ EIT の動作 EIT の動作について説明します。 以下の説明で , 転送元の「PC」とは各 EIT 要因を検出した命令のアドレスを示すもの とします。また , 「次の命令のアドレス」とは , EIT を検出した命令が下記のように なっていることを意味します。 • LDI:32 のとき …… PC + 6 • LDI:20, COPOP, COPLD, COPST, COPSV のとき …… PC + 4 • その他の命令 のとき …… PC + 2 ■ ユーザ割込み /NMI の動作 ユーザ割込みまたはユーザ用 NMI の割込み要求が発生すると , 以下の順序で要求受理 の可否が判定されます。 [ 割込み要求受理の可否判定 ] ① 同時に発生した要求の割込みレベルを比較し, 最も強いレベル(最も小さい数値) を保持するものが選択されます。 比較に使用されるレベルは, マスク可能割込みについては対応するICRの保持す る値が , NMI についてはあらかじめ定められた定数が使用されます。 ② 同じレベルの割込み要求が複数発生しているときは , 最も若い割込み番号を持 つ割込み要求が選択されます。 ③ 割込みレベル ≧ レベルマスク値 のとき , 割込み要求はマスクされます。 割込みレベル < レベルマスク値 のとき , ④へ。 ④ 選択された割込み要求がマスク可能割込みであるとき , I フラグが "0" ならば割 込み要求はマスクされ , 受理されません。I フラグが 1 ならば⑤へ。 選択された割込み要求が NMI であるとき , I フラグの値にかかわらず⑤へ。 ⑤ 上記の条件が成立したとき , 命令処理の切れ目で割込み要求が受理されます。 EIT 要求検出時にユーザ割込み /NMI の要求が受理されると , 受理された割込み要求に 対応した割込み番号を使用して , CPU は以下のように動作します。 ( ) はレジスタの指すアドレスを表します。 [ 動作 ] ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ 次の命令のアドレス → (SSP) ⑤ 受理した要求の割込みレベル → ILM ⑥ "0" → S フラグ ⑦ (TBR +受理した割込み要求のベクタオフセット ) → PC 割込みシーケンス終了後 , ハンドラの先頭の命令を実行する前に新たな EIT の検出を 行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス に遷移します。 88 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ ■ INT 命令の動作 INT #u8 命令は , 以下のように動作します。 u8 で示されるベクタの割込みハンドラへ分岐します。 [ 動作 ] ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ PC + 2 → (SSP) ⑤ "0" → I フラグ ⑥ "0" → S フラグ ⑦ (TBR + 3FCH − 4 × u8) → PC ■ INTE 命令の動作 INTE 命令は , 以下のように動作します。 ベクタ番号 #9 のベクタの割込みハンドラへ分岐します。 [ 動作 ] ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ PC + 2 → (SSP) ⑤ "00100B" → ILM ⑥ "0" → S フラグ ⑦ (TBR + 3D8H) → PC INTE 命令およびステップトレーストラップの処理ルーチン中では , INTE 命令を使用 しないでください。また , ステップ実行中は INTE による EIT の発生はありません。 ■ ステップトレーストラップの動作 PS 中の SCR における T フラグをセットしてステップトレースの機能をイネーブルに しておくと , 一命令実行ごとにトラップが発生してブレークします。 [ ステップトレーストラップ検出の条件 ] ① T フラグ = 1 ② 遅延分岐命令ではないとき ③ INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中のとき 以上の条件が成立すると , 命令動作の切れ目でブレークします。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 89 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ [ 動作 ] ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ 次の命令のアドレス → (SSP) ⑤ "00100B" → ILM ⑥ "0" → S フラグ ⑦ (TBR + 3CCH) → PC Tフラグをセットしてステップトレーストラップをイネーブルにしたとき, ユーザ用の NMI とユーザ割込みは禁止状態となります。また , INTE 命令による EIT は発生しなく なります。 FR ファミリでは , T フラグをセットした次の命令からトラップが発生します。 ■ 未定義命令例外の動作 命令のデコード時に未定義命令であることを検出すると , 未定義命令例外が発生しま す。 未定義命令例外の検出条件は , 以下のとおりです。 ① 命令のデコード時に , 未定義命令であることを検出 ② 遅延スロット外に置かれている ( 遅延分岐命令の直後ではない ) 以上の条件が成立すると , 未定義命令例外が発生してブレークします。 [ 動作 ] ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ PC → (SSP) ⑤ "0" → S フラグ ⑥ (TBR + 3C4H) → PC PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。 ■ コプロセッサ不在トラップ 実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ サ不在トラップが発生します。 [ 動作 ] 90 ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ 次の命令のアドレス → (SSP) ⑤ "0" → S フラグ ⑥ (TBR + 3E0H) → PC FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.10 MB91402/403 シリーズ ■ コプロセッサエラートラップ コプロセッサを使用しているときにエラーが発生した場合 , 次にそのコプロセッサを 操作するコプロセッサ命令を実行したときにコプロセッサエラートラップが発生しま す。 [ 動作 ] ① SSP − 4 → SSP ② PS → (SSP) ③ SSP − 4 → SSP ④ 次の命令のアドレス → (SSP) ⑤ "0" → S フラグ ⑥ (TBR + 3DCH) → PC ■ RETI 命令の動作 RETI 命令は , EIT 処理ルーチンから復帰する命令です。 [ 動作 ] ① (R15) → PC ② R15 + 4 → R15 ③ (R15) → PS ④ R15 + 4 → R15 RETI 命令は , S フラグが "0" の状態で実行する必要があります。 ■ 遅延スロットの注意事項 分岐命令の遅延スロットには , EIT に関して制約があります。 「3.9 分岐命令」を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 91 第 3 章 CPU および制御部 3.11 3.11 MB91402/403 シリーズ リセット ( デバイス初期化 ) FR ファミリデバイスの初期化であるリセット動作について説明します。 ■ リセット ( デバイスの初期化 ) リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作 を停止して状態を初期化します。この状態をリセット状態とよびます。 リセット要因の消失により , デバイスは初期状態からプログラムおよびハードウェア 動作を開始します。このリセット状態から動作開始にいたる一連の動作をリセット シーケンスとよびます。 92 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.11 リセットレベル 3.11.1 FR ファミリのリセット動作は , 2 種類のレベルに分けられ , それぞれ発生要因およ び初期化の内容が異なります。各リセットレベルについて説明します。 ■ 設定初期化リセット (INIT) すべての設定を初期化する最強レベルのリセットを設定初期化リセット (INIT) とよび ます。 設定初期化リセット (INIT) により初期化される主な内容は以下のとおりです。 ● 設定初期化リセット (INIT) による初期化箇所 • 内部クロックに関するすべての設定 ( クロックソース選択 , 分周比設定 ) • 外部バスインタフェースのすべての設定 • その他 , 端子状態に関するすべての設定 • 動作初期化リセット (RST) で初期化されるすべての箇所 詳細はそれぞれの機能の解説を参照してください。 <注意事項> 電源投入後は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。 ■ 動作初期化リセット (RST) プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ びます。 設定初期化リセット (INIT) 時には , 同時に動作初期化リセット (RST) も発生します。 動作初期化リセット (RST) により初期化される主な内容は以下のとおりです。 ● 動作初期化リセット (RST) による初期化箇所 • 動作モード ( バスモードおよび外部バス幅の設定 ) • プログラム動作 • CPU および内部バス • 周辺リソースのレジスタ設定値 • 外部バスの CS0 領域に関するすべての設定 詳細はそれぞれの機能の解説を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 93 第 3 章 CPU および制御部 3.11 3.11.2 MB91402/403 シリーズ リセット要因 FR ファミリコアマクロにおける各リセット発生要因と発生するリセットレベルにつ いて説明します。 過去に発生したリセット要因は , リセット要因レジスタ (RSRR) を読み出すことに より知ることが可能です。 各説明にあるレジスタ , フラグの詳細な説明は , 「3.12.4 クロック生成制御部のブ ロックダイヤグラム 」,「3.12.5 クロック生成制御部のレジスタ」で説明します。 ■ INIT 端子入力 ( 設定初期化リセット端子 ) INIT 端子は , 設定初期化リセット端子として機能します。 本端子へ"L"レベル入力を行っている間, 設定初期化リセット(INIT)要求が発生します。 本端子へ "H" レベルを入力することにより , 設定初期化リセット (INIT) 要求は解除さ れます。 本端子要求による設定初期化リセット (INIT) が発生した場合 , リセット要因レジスタ (RSRR) 中の bit15:INIT ビットがセットされます。 本端子要求による設定初期化リセット (INIT) は , すべてのリセット要因中で最強のも のであり , すべての入力・動作・状態よりも優先されます。 なお , 電源投入直後は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。 また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INIT 端子への "L" レベル入力を発振回路の要求する発振安定待ち時間の間持続してください (INIT 端 子による INIT では , 発振安定待ち時間の設定は最小値に初期化されています )。 • 発生要因 :外部 INIT 端子への "L" レベル入力 • 解除要因 :外部 INIT 端子への "H" レベル入力 • 発生レベル :設定初期化リセット (INIT) • 対応フラグ :bit15:INIT 94 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.11 ■ ソフトウェアリセット (STCR:SRST ビット書込み ) スタンバイ制御レジスタ (STCR) の bit4:SRST ビットに "0" が書き込まれると , ソフト ウェアリセット要求が発生します。 ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。 要求が受け付けられて動作初期化リセット (RST) が発生するとソフトウェアリセット 要求は解除されます。 ソフトウェアリセット要求による動作初期化リセット(RST)が発生した場合, リセット 要因レジスタ (RSRR) の bit11:SRST ビットがセットされます。 ソフトウェアリセット要求による動作初期化リセット(RST)は, タイムベースカウンタ 制御レジスタ (TBCR) の bit7:SYNCR ビットがセットされている場合 ( 同期リセット モード ), すべてのバスアクセスが停止してからでないと発生しません。 このため, バスの使用状況によっては動作初期化リセット (RST)が発生するまでに長時 間を要する場合があります。 ・発生要因 : STCR( スタンバイ制御レジスタ ) の bit4:SRST ビットへの "0" 書込み ・解除要因 : 動作初期化リセット (RST) の発生 ・発生レベル:動作初期化リセット (RST) ・対応フラグ: bit11:SRST ■ ウォッチドッグリセット ウォッチドッグタイマ制御レジスタ (RSRR) に対して書込みを行うと , ウォッチドッグ タイマが起動します。その後 , RSRR の bit9, bit8:WT1, WT0 ビットにて設定した周期内 にウォッチドッグリセット発生延期レジスタ (WPR) への A5H/5AH 書込みが行われない と , ウォッチドッグリセット要求が発生します。 ウォッチドッグリセット要求は , 設定初期化リセット (INIT) 要求です。要求が受け付け られて設定初期化リセット (INIT) が発生するか , 動作初期化リセット (RST) が発生す ると , ウォッチドッグリセット要求は解除されます。 ウォッチドッグリセット要求による設定初期化リセット(INIT)が発生した場合, リセッ ト要因レジスタ (RSRR) の bit13:WDOG ビットがセットされます。 なお , ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合 には , 発振安定待ち時間の設定は初期化されません。 ・発生要因 : ウォッチドッグタイマの設定周期経過 ・解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の発生 ・発生レベル:設定初期化リセット (INIT) ・対応フラグ:bit13:WDOG CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 95 第 3 章 CPU および制御部 3.11 3.11.3 MB91402/403 シリーズ リセットシーケンス リセット要因の消失により , デバイスはリセットシーケンスの実行を開始します。 リセットシーケンスは , リセットレベルによりそれぞれ動作内容が異なります。 各リセットレベルにおけるリセットシーケンスの動作内容について説明します。 ■ 設定初期化リセット (INIT) 解除シーケンス 設定初期化リセット (INIT) 要求が解除されると , デバイスは以下の動作を順に実行し ます。 (1) 設定初期化リセット (INIT) の解除 , 発振安定待ち状態へ遷移 (2) 発振安定待ち時間 (STCR の bit3, bit2:OS1, OS0 にて設定 ) の間 , 動作初期化リセッ ト (RST) 状態を保持 , 内部クロック停止 (3) 動作初期化リセット (RST) 状態 , 内部クロック動作開始 (4) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移 (5) 000FFFF8H 番地より , 8 ビットバス幅として動作し , モードベクタの読出し (6) モードレジスタ (MODR) へ , モードベクタの書込み (7) 000FFFFCH 番地より , リセットベクタの読出し (8) プログラムカウンタ (PC) へ , リセットベクタの書込み (9) プログラムカウンタ (PC) の示す番地より , プログラム動作開始 ■ 動作初期化リセット (RST) 解除シーケンス 動作初期化リセット(RST)要求が解除されると, デバイスは以下の動作を順に実行しま す。 (1) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移 (2) 000FFFF8H 番地より , 8 ビットバス幅として動作し , モードベクタの読出し (3) モードレジスタ (MODR) へ , モードベクタの書込み (4) 000FFFFCH 番地より , リセットベクタの読出し (5) プログラムカウンタ (PC) へ , リセットベクタの書込み (6) プログラムカウンタ (PC) の示す番地より , プログラム動作開始 96 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 3.11.4 第 3 章 CPU および制御部 3.11 発振安定待ち時間 デバイスの原発振が停止していたか , その可能性がある状態から復帰したとき , 自動 的に発振安定待ち状態に遷移します。 この機能により , 発振開始後の安定していないクロック入力を使用しないようにし ます。 発振安定待ち時間中は , 内部および外部へのクロック供給を停止し , 内蔵タイムベー スカウンタのみが動作して , スタンバイ制御レジスタ (STCR) にて設定された安定待 ち時間の経過を待ちます。 ■ 発振安定待ち時間発生要因 発振安定待ち時間の発生要因を , 以下に示します。 ● 設定初期化リセット (INIT) の解除時 各種要因による設定初期化リセット (INIT) が解除された直後に , 発振安定待ち状態 へ遷移します。 発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。 ● ストップモードからの復帰時 ストップモードが解除された直後に , 発振安定待ち状態へ遷移します。ただし , 設 定初期化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状態に遷移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷 移します。 発振安定待ち時間経過後は , ストップモードが解除された要因に対応した状態へと遷 移します。 • 有効な外部割込み要求入力 (NMI を含む ) の発生による復帰時: 通常動作状態へ遷移します。 • 設定初期化リセット (INIT) 要求による復帰時: 設定初期化リセット (INIT) 状態へ遷移します。 • 動作初期化リセット (RST) 要求による復帰時: 動作初期化リセット (RST) 状態へ遷移します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 97 第 3 章 CPU および制御部 3.11 MB91402/403 シリーズ ■ 発振安定待ち時間の選択 発振安定待ち時間は , 内蔵タイムベースカウンタを使用して計測します。 発振安定待ち発生要因が発生して発振安定待ち状態へ遷移すると , 内蔵タイムベース カウンタは一度初期化された後 , 発振安定待ち時間の計測を開始します。 スタンバイ制御レジスタ (STCR) の bit3, bit2:OS1, OS0 ビットにより , 発振安定待ち時 間を 4 種類のうちから選択して設定することができます。 一度選択した設定は , INIT 端子による設定初期化リセット (INIT) 以外では初期化され ません。それ以外のウォッチドッグリセットによる設定初期化リセット (INIT) や , 動 作初期化リセット(RST)では , リセット発生以前に設定した発振安定待ち時間が保持さ れます。 発振安定待ち時間の選択の 4 種類の設定は , それぞれ以下の用途を想定してあります。 • OS1, OS0 = 00B:発振安定待ち時間なし ( ストップモードで発振器を停止させない場合 ) • OS1, OS0 = 01B:発振安定待ち時間 ( 短 ) ( ストップモードで発振器を停止させない場合 ) • OS1, OS0 = 10B:発振安定待ち時間 ( 中 ) ( セラミック振動子などの安定が速い発振子を使用する場合 ) • OS1, OS0 = 11B:発振安定待ち時間 ( 長 ) ( 一般の水晶発振子などを使用する場合 ) なお , 電源投入直後は必ず INIT 端子にて設定初期化リセット (INIT) をかけてください。 また , 電源投入直後は , INIT 端子への "L" レベル入力をクロックが安定するまでの間持 続してください (INIT 端子による INIT では , 発振安定待ち時間の設定は最小値に初期 化されています )。 98 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 3.11.5 第 3 章 CPU および制御部 3.11 リセット動作モード 動作初期化リセット (RST) には , 非同期リセットモードと同期リセットモードの 2 つのモードがあり , タイムベースカウンタ制御レジスタ (TBCR) の bit7:SYNCR ビットによってどちらのモードで動作するかを設定します。 このモード設定は , 設定初期化リセット (INIT) のみで初期化されます。 設定初期化リセット (INIT) は , 常に非同期でリセット動作を行います。 ■ 非同期リセット動作 動作初期化リセット (RST) 要求が発生した際に , 即座に動作初期化リセット (RST) 状態 への遷移を行う動作を非同期リセット動作とよびます。 このモードにおいては, リセット(RST)要求またはハードウェアスタンバイ要求が受け 付けられると , 内部バスアクセスの動作状態にかかわらず , 即時にリセット (RST) 状態 へ遷移します。 このモードでは , 各状態へ遷移する時点で行われていたバスアクセスについては , その 結果を保証できません。しかし , それら要求を確実に受け付けることが可能です。 タイムベースカウンタ制御レジスタ (TBCR) の bit7:SYNCR ビットが "0" のときに非同 期リセットモードとなります。 設定初期化リセット (INIT) の発生後の初期値は , 非同期リセットモードとなります。 ■ 同期リセット動作 動作初期化リセット(RST)要求が発生した際に, すべてのバスアクセスが停止してから 動作初期化リセット (RST) 状態への遷移を行う動作を同期リセット動作とよびます。 このモードにおいては , リセット (RST) 要求が受け付けられても , 内部バスアクセスが 行われている間は , リセット (RST) 状態への遷移を行いません。 上記要求が受け付けられると , それにより内部バスに対してスリープ要求が発行され ます。各バスが動作を切り上げてスリープ状態に移行すると , 動作初期化リセット (RST) 状態へ遷移します。 このモードでは , 各状態へ遷移する時点ではすべてのバスアクセスが停止しているた め , すべてのバスアクセスの結果を保証できます。 しかし , バスアクセスが何らかの理由により停止しない場合 , その間各要求を受け付け ることができなくなります ( このような場合でも , 設定初期化リセット (INIT) は即座に 有効となります )。バスアクセスが停止しない要因には以下の場合があげられます。 外部バスインタフェースに対してバス解放要求 (BRQ) が入力され続け , バス解放アク ノリッジ (BGRNT) が有効となっている場合で , 内部バスから新たなバスアクセス要求 が発生しているような場合。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 99 第 3 章 CPU および制御部 3.11 MB91402/403 シリーズ 外部バスインタフェースに対してレディ要求 (RDY) が入力され続け , バスウェイトが 有効となっている場合。また , 以下の場合においては , 最終的には各状態へ遷移します が , 遷移するまでに長時間かかってしまいます。 DMA コントローラについては , 各要求の受付けにより転送停止を行いますので , 各状 態への遷移を遅延させることはありません。 タイムベースカウンタ制御レジスタ (TBCR) の bit7:SYNCR ビットが "1" のときに同期 リセットモードとなります。 設定初期化リセット (INIT) の発生後の初期値は , 非同期リセットモードに戻ります。 100 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ 3.12 クロック生成制御 クロックの発生とその制御について説明します。 ■ クロック生成制御 FR ファミリデバイスの内部動作クロックは以下のように発生します。 • ソースクロックの選択:クロックの供給源を選択します。 • ベースクロックの生成:ソースクロックを 2 分周または PLL 発振させ , 基本クロッ クを生成します。 • 各内部クロックの生成:ベースクロックを分周し , 各部に供給する 3 種類の動作ク ロックを生成します。 以下 , 各クロック生成とその制御について説明します。 各説明にあるレジスタ , フラグの詳細な説明は ,「3.12.4 クロック生成制御部のブロッ クダイヤグラム」,「3.12.5 クロック生成制御部のレジスタ」を参照してください。 ■ 外部クロック 外部クロックの場合は X0 端子からの入力になります。 外部ソースクロックに関しては「2.3 動作説明 ■クロック」を参照してください。 ■ 発振器 発振子を X0, X1 端子に接続します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 101 第 3 章 CPU および制御部 3.12 3.12.1 MB91402/403 シリーズ PLL 制御 メインのソースクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可 / 禁止 と逓倍率設定を独立に制御することが可能です。各制御は , クロックソース制御レ ジスタ (CLKR) の設定によって行います。以下に , 各制御内容について説明します。 ■ PLL 動作許可 メイン PLL 発振動作の許可 / 停止は , クロックソース制御レジスタ (CLKR) の bit10(PLL1EN ビット ) の設定によって行います。 ● PLL 動作制御 どちらのビットも設定初期化リセット (INIT) 後は "0" に初期化され , PLL の発振動作は 停止しています。停止中は , ソースクロックとして , PLL 出力を選択することはできま せん。 プログラム動作を開始したら , まず , クロックソースとして使用する PLL の逓倍率を 設定し , かつ動作許可した後 , PLL のロック待ち時間経過後にソースクロックを切り換 えてください。この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用す ることができます。 ソースクロックとして PLL 出力を選択している間は , その PLL を動作停止させること はできません ( レジスタへの書込みは無効となります )。ストップモードに移行する際 などで PLL を停止させたい場合は , 一度ソースクロックをメインクロックの 2 分周し たものに選択し直した後 , PLL を停止させてください。 なお ,PLL はストップモード遷移時に自動的に停止しますので , 動作停止を改めて設定 する必要はありません。その後 , ストップモードから復帰する際 , PLL は自動的に発振 動作を開始します。 102 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.12 ■ PLL 逓倍率 メイン PLL の逓倍率は , クロックソース制御レジスタ (CLKR) の bit14 ∼ bit12 (PLL1S2, PLL1S1, PLL1S0 ビット ) によって設定します。 設定初期化リセット (INIT) 後は , 全ビットが "0" に初期化されています。 ● PLL 逓倍率設定 PLL 逓倍率設定を初期値より変更する場合 , プログラム動作開始後 , PLL を動作許可す る前または同時に設定してください。逓倍率変更後は , ロック待ち時間経過後にソース クロックを切り換えてください。この際の PLL ロック待ち時間には , タイムベースタ イマ割込みを使用することができます。 動作中に PLL 逓倍率設定を変更する場合 , 一度ソースクロックを該当 PLL 以外に切り 換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間経過後に ソースクロックを切り換えてください。 PLL 逓倍率設定の変更を PLL 使用中に変更することも可能ですが , この際は逓倍率設 定書換え後から自動的に発振安定待ち状態に遷移します。設定された発振安定待ち時 間が経過するまでの間はプログラム動作を停止します。 PLL 以外にクロックソースを切り換えた場合にはプログラム動作は停止しません。 ■ 発振安定待ち ソースクロックとして選択するクロックが安定動作状態にない場合には , 発振安定待 ち時間が必要となります。INIT 端子により外部で発振安定待ちを制御する必要があり ます ( 「3.11.4 発振安定待ち時間」を参照 )。 ● 電源投入後の待ち時間 電源投入後は , まず , 入力クロックの発振安定待ち時間が必要となります。 発振安定待ち時間の設定は , INIT 端子入力へ "L" レベルを入力する時間により確保し ます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 103 第 3 章 CPU および制御部 3.12 3.12.2 MB91402/403 シリーズ クロック分配 ソースクロックから生成したベースクロックを元に , 各機能用の動作クロックをそ れぞれ生成します。 内部動作クロックは全部で 3 種類あり , それぞれが独立に分周比を設定できます。 この項では , 各内部動作クロックについて説明します。 ■ CPU クロック (CLKB) CPU と内部メモリ (FR コア内部 ) および内部バスで使用するクロックです。 このクロックを使用する回路には , 以下のようなものがあります。 • CPU • 命令キャッシュ • データ RAM • ビットサーチモジュール • I-bus, D-bus, X-bus, F-bus • DMA コントローラ • DSU 動作可能な上限周波数は 33 MHz ですので , これを超える周波数になる逓倍率と分周比 の組合せを設定しないでください。 ■ 周辺クロック (CLKP) FR コア内の周辺回路で使用するクロックです。 このクロックを使用する回路には , 以下のようなものがあります。 • ペリフェラルバス • クロック制御部 ( バスインタフェース部のみ ) • 割込みコントローラ • 外部割込み入力 • UART • 16 ビットタイマ 動作可能な上限周波数は 16.5 MHz ですので , これを超える周波数になる逓倍率と分周 比の組合せを設定しないでください。 ■ 外部インタフェースクロック (MCLKO) FR コア外の周辺回路で使用するクロックです。 次の回路がこのクロックを使用します。 • LAN コントローラ , GPIO IF, I2C IF, 外部メモリ IF, 内蔵 RAM 外部インタフェースで使用するクロックです。 このクロックを使用する回路には , 以下のようなものがあります。 • メモリインタフェース • CLK 出力 (MCLK) 動作可能な上限周波数は 33 MHz ですので , これを超える周波数になる逓倍率と分 周比の組合せを設定しないでください。 104 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 3.12.3 第 3 章 CPU および制御部 3.12 クロック分周 各内部動作クロックは , それぞれ独立に , ベースクロックからの分周比を設定するこ とができます。この機能により , 各回路に最適な動作周波数を設定することができ ます。 ■ クロック分周 分周比は , 基本クロック分周設定レジスタ 0(DIVR0) および基本クロック分周設定レジ スタ 1(DIVR1) にて設定します。各レジスタには各クロックに対応する 4 ビットずつの 設定ビットがあり , ( レジスタ設定値+ 1) がそのクロックのベースクロックに対する分 周比となります。分周比設定が奇数であっても , 常にデューティ比は 50% となります。 設定値の変更があった場合 , 設定後 , 次のクロックの立上りから変更後の分周比が有効 となります。 分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の 設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。 初期状態では , 周辺クロック (CLKP) 以外はすべて分周比が "1" となりますので , ソー スクロックを高速なものに変更する前に必ず分周比の設定を行ってください。 各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , 分 周比の設定の組合せで , 上限周波数を超える設定をした場合には動作が保証されませ んので注意してください。ソースクロック選択の変更設定との順序を間違えないよう に注意してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 105 第 3 章 CPU および制御部 3.12 3.12.4 MB91402/403 シリーズ クロック生成制御部のブロックダイヤグラム 図 3.12-1 にクロック生成制御部のブロックダイヤグラムを示します。図中のレジス タの詳細な説明は , 「3.12.5 クロック生成制御部のレジスタ」を参照してください。 ■ クロック発生制御部のブロックダイヤグラム 図 3.12-1 クロック発生制御部のブロックダイヤグラム [クロック生成部] DIVR0, DIVR1レジスタ R-bus CPUクロック分周 セレ クタ セレ クタ 外部バスクロック分周 セレ クタ 停止制御 周辺クロック分周 CPUクロック 各周辺クロック 外部バスクロック CLKRレジスタ X1 PLL 発振回路 セレクタ X0 1/2 [ ストップ・スリープ制御部] 内部割込み STCRレジスタ 内部リセット ストップ状態 状態遷移 制御回路 SLEEP状態 リセット発生 F/F リセット発生 F/F 内部リセット(RST) 内部リセット(INIT) [リセット要因回路] INIT端子 RSRRレジスタ [ウォッチドッグ制御部] ウォッチドッグ F/ F WPRレジスタ タイムベースカウンタ カウンタクロック CTBRレジスタ TBCRレジスタ セレ クタ オーバフロー検出F/F 割込み許可 106 FUJITSU MICROELECTRONICS LIMITED タイムベースタイマ 割込み要求 CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ クロック生成制御部のレジスタ 3.12.5 クロック生成制御部で使用するレジスタの機能について説明します。 ■ リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR) 図 3.12-2 リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR) のビット構成 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 アドレス : 0000 0480H INIT − WDOG − SRST LINIT WT1 WT0 アクセス R R R R R R R/W R/W 初期値 (INIT 端子 ) 1 0 0 0 0 0 0 0 初期値 (INIT) * * * × × * 0 0 初期値 (RST) × × × * * × 0 0 * X R/W R − × :要因により変化します。 :初期化されません。 :リード / ライト可能 :リードオンリ :未定義ビット :不定値 直前に発生したリセットの要因の保持 , およびウォッチドッグタイマの周期設定およ び起動制御を行うレジスタです。 本レジスタを読むと , 保持されたリセット要因は読出し後にクリアされます。読み出す までの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複数の フラグがセットされることになります。 本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降は , リセッ ト (RST) が発生するまでウォッチドッグタイマは動作を続けます。 [bit15]: INIT (INITialize reset occurred) INIT 端子入力によるリセット (INIT) の発生の有無を示します。 表 3.12-1 INIT の機能 0 INIT 端子入力による INIT は発生していません。 1 INIT 端子入力による INIT が発生しました。 • 読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に対して意味を持ちません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 107 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit13]: WDOG (WatchDOG reset occurred) ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。 表 3.12-2 WDOG の機能 0 ウォッチドッグタイマによる INIT は発生していません。 1 ウォッチドッグタイマによる INIT が発生しました。 • INIT 端子入力によるリセット (INIT), または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に対して意味を持ちません。 [bit11]: SRST (Software ReSeT occurred) STCRレジスタの SRST ビット書込み( ソフトウェアリセット ) によるリセット (RST) の発生の有無を示します。 表 3.12-3 SRST の機能 0 ソフトウェアリセットによる RST は発生していません。 1 ソフトウェアリセットによる RST が発生しました。 • INIT 端子入力によるリセット (INIT), または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に対して意味を持ちません。 [bit10]: LINIT (Lowvoltage detect INITialize reset occurred) MB91402/403 シリーズは低電圧リセット機能を持ちません。 • INIT 端子入力によるリセット (INIT), または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に対して意味を持ちません。 [bit9, bit8]: WT1, WT0 (Watchdog interval Time select) ウォッチドッグタイマの周期を設定します。 このビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類 のうちから選択します。 表 3.12-4 ウォッチドッグタイマの周期設定 ウォッチドッグリセットの発生 WPR への最終 "5AH" 書込みから を抑止するために最低限必要な ウォッチドッグリセットが発生 WPR への書込み間隔 するまでの時間 WT1 WT0 0 0 φ × 216 ( 初期値 ) φ × 216 ∼ φ × 217 0 1 φ × 218 φ × 218 ∼ φ × 219 1 0 φ × 220 φ × 220 ∼ φ × 221 1 1 φ × 222 φ × 222 ∼ φ × 223 φ : システムベースクロックの周期 • リセット (RST) により "00B" に初期化されます。 • 読出し可能で , 書込みはリセット (RST) 後に 1 回のみ有効で , それ以降の書込み は無効です。 108 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ ■ スタンバイ制御レジスタ (STCR) 図 3.12-3 スタンバイ制御レジスタ (STCR) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス : 0000 0481H STOP SLEEP HIZ SRST OS1 OS0 − − アクセス R/W R/W R/W R/W R/W R/W 初期値 (INIT 端子 ) 0 0 1 1 0 0 − 1 − 1 初期値 (INIT) 0 0 1 1 × × 1 1 初期値 (RST) 0 0 × 1 × × × × R/W :リード / ライト可能 − :未定義ビット × :不定値 ( 注意事項 ) INIT 端子による初期化と同時の場合のみ。それ以外は INIT 時と同じ。 デバイスの動作モードを制御するレジスタです。 ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を 行います。 <注意事項> スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ 制御レジスタの bit8 : SYNCS ビットにて設定します ) を使用した上で , 以下のシーケンス を必ず使用してください。 (LDI #value_of_standby,R0) ; value_of_standby は STCR へのライトデータ (LDI #_STCR,R12) ; _STCR は STCR のアドレス (481H) STB R0,@R12 ; スタンバイ制御レジスタ (STCR) への書込み LDUB @R12,R0 ; 同期スタンバイのための STCR 読出し LDUB @R12,R0 ; もう一度 STCR をダミー読出し NOP NOP NOP NOP NOP [bit7]: STOP (STOP mode) ストップモードへの遷移を指示します。bit6:SLEEP ビットと本ビット両方に "1" を 書き込んだ場合は , 本ビットの方が優先となり , ストップモードへ遷移します。 表 3.12-5 STOP の機能 0 ストップモードへの遷移を行いません。( 初期値 ) 1 ストップモードへ遷移します。 • リセット (RST) およびストップ復帰要因により "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 109 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit6]: SLEEP (SLEEP mode) スリープモードへの遷移を指示します。bit7:STOP ビットと本ビット両方に "1" を書 き込んだ場合は, bit7:STOPビットの方が優先となり, ストップモードへ遷移します。 表 3.12-6 SLEEP の機能 0 スリープモードへの遷移を行いません。( 初期値 ) 1 スリープモードへ遷移します。 • リセット (RST) およびスリープ復帰要因により "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit5]: HIZ (HIZ mode) ストップモード時の端子状態を制御します。 表 3.12-7 HIZ の機能 0 ストップモード遷移前の端子状態を維持します。 1 ストップモード中は端子出力をハイインピーダンス状態にします。 ( 初期値 ) • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 ( 注意事項 ) MB91402/403 シリーズにおいては , ストップモードにおける HIZ=1 の 設定は禁止です。 [bit4]: SRST (Software ReSeT) ソフトウェアリセット (RST) の発行を指示します。 表 3.12-8 SRST の機能 0 ソフトウェアリセットを発行します。 1 ソフトウェアリセットの発行を行いません。( 初期値 ) • リセット (RST) により "1" に初期化されます。 • 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。 110 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit3, bit2]: OS1, OS0 (Oscillation Stabilization time select) リセット (INIT) 後 , およびストップモード復帰後などにおける発振安定待ち時間を 設定します。 本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選 択します。 表 3.12-9 発振安定待ち時間の設定 OS1 OS0 0 0 φ × 21 ( 初期値 ) 0 1 φ × 211 120.0 µs 1 0 φ × 216 3932.0 µs 1 1 φ × 222 251.7 ms 原発振 33 MHz の場合 (PLL 未使用時 ) 発振安定待ち時間 120 ns φ : システムベースクロックの周期。この場合は原発振入力の周期 • INIT 端子入力によるリセット (INIT) により "00B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit1, bit0]: Reserved • リセット (INIT) により "1" に初期化されます。 • 書込み時は "1" を設定してください。 ■ タイムベースカウンタ制御レジスタ (TBCR) 図 3.12-4 タイムベースカウンタ制御レジスタ (TBCR) のビット構成 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 アドレス : 0000 0482H TBIF TBIE TBC2 TBC1 TBC0 − アクセス R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 × × × × 0 0 初期値 (RST) 0 0 × × × × × × SYNCR SYNCS R/W : リード / ライト可能 − :未定義ビット × :不定値 タイムベースタイマ割込みなどを制御するレジスタです。 タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択およびリセット動 作のオプション機能の設定を行います。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 111 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit15]: TBIF (Time-Base timer Interrupt Flag) タイムベースタイマ割込みフラグです。 タイムベースカウンタが設定されたインターバル時間 (bit13 ∼ bit11:TBC2 ∼ TBC0 ビットにて設定 ) を経過したことを示します。 bit14:TBIE ビットにより割込み発生が許可 (TBIE=1) されているときに本ビットが "1" になると , タイムベースタイマ割込み要求が発生します。 クリア要因 命令による "0" の書込み セット要因 設定されたインターバル時間の経過 ( タイムベースカウンタ出力の立下りエッジ検出 ) • リセット (RST) により "0" に初期化されます。 • 読出し / 書込み可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込んでも ビット値は変化しません。また , リードモディファイライト (RMW) 系命令での 読出し値は , 常に "1" となります。 [bit14]: TBIE (Time-Base timer Interrupt Enable) タイムベースタイマ割込み要求出力許可ビットです。 タイムベースカウンタのインターバル時間経過による割込み要求出力を制御しま す。本ビットが "1" のときに , bit15:TBIF ビットが "1" になると , タイムベースタイ マ割込み要求が発生します。 0 タイムベースタイマ割込み要求出力禁止 ( 初期値 ) 1 タイムベースタイマ割込み要求出力許可 • リセット (RST) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 112 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit13 ∼ bit11]: TBC2 ∼ TBC0 (Time-Base timer Counting time select) タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定 します。 本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選 択します。 表 3.12-10 インターバル時間の設定 TBC2 TBC1 TBC0 タイマインターバル 時間 原発振 33 MHz の場合 (PLL 未使用時 ) 0 0 0 φ × 211 120.0 µs 0 0 1 φ × 212 240.0 µs 0 1 0 φ × 213 480.0 µs 0 1 1 φ × 222 251.7 ms 1 0 0 φ × 223 502.4 ms 1 0 1 φ × 224 1004.8 ms 1 1 0 φ × 225 2009.6 ms 1 1 1 φ × 226 4019.2 ms φ : システムベースクロックの周期 • 初期値は不定です。割込みを許可する前に必ず値を設定してください。 • 読出しおよび書込みが可能です。 [bit10]: (reserved bit) 予約ビットです。読出し値は不定で , 書込みは動作に意味を持ちません。 [bit9]: SYNCR (SYNChronous Reset enable) 同期リセット動作許可ビットです。 動作初期化リセット (RST) 要求が発生した際に , 即座にリセット (RST) 動作を行う か , すべてのバスアクセスが停止してから動作初期化リセット (RST) を行う同期リ セット動作を行うかを選択します。 0 非同期リセット動作 ( 初期値 ) 1 同期リセット動作 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 113 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit8]: SYNCS (SYNChronous Standby enable) 同期スタンバイ動作許可ビットです。 スタンバイモード ( スリープモードまたはストップモード ) を使用する際は , 必ず "1" を設定してください。 0 非同期スタンバイ動作 ( 初期値 ) 1 同期スタンバイ動作 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 ■ タイムベースカウンタクリアレジスタ (CTBR) 図 3.12-5 タイムベースカウンタクリアレジスタ (CTBR) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス : 0000 0483H D7 D6 D5 D4 D3 D2 D1 D0 アクセス W W W W W W W W 初期値 (INIT) × × × × × × × × 初期値 (RST) × × × × × × × × W :ライトオンリ X :不定値 タイムベースカウンタを初期化するためのレジスタです。 本レジスタに連続して "A5H" , "5AH" を書き込むと , "5AH" 書込みの直後にタイムベー スカウンタを全ビット "0" にクリアします。"A5H" 書込みと "5AH" 書込みの間の時間に 制限はありませんが , "A5H" 書込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア動作を行いません。 本レジスタの読出し値は不定です。 <注意事項> 本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ちの時間 , ウォッチドッグタイマ周期およびタイムベースタイマの周期が一時的に変動します。 114 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ ■ クロックソース制御レジスタ (CLKR) 図 3.12-6 クロックソース制御レジスタ (CLKR) のビット構成 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 アドレス : 0000 0484H − アクセス R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 0 0 0 0 0 0 初期値 (RST) × × × × × × × × PLL1S2 PLL1S1 PLL1S0 PLL1EN CLKS1 CLKS0 − R/W : リード / ライト可能 − :未定義ビット × :不定値 クロックソース制御レジスタ (CLKR) は , システムのベースクロックとするクロック ソースの選択や PLL の制御を行うレジスタです。このレジスタでクロックソースを 2 種類のうちから選択します。また , PLL の動作許可および逓倍率の選択を制御します。 以下に , クロックソース制御レジスタ (CLKR) の各ビットの機能を説明します。 [bit15] (reserved bit) このビットは , 予約ビットです。 [bit14 ∼ bit12] PLL1S2 ∼ PLL1S0(PLL1 ratio Select 2 ∼ 0) これらのビットは , PLL の逓倍率選択ビットです。表 3.12-11 に示す PLL の逓倍率 を 8 種類のうちから選択します。 これらのビットをクロックソースとしてメインPLLを選択している間に書き換える ことを禁止します。 表 3.12-11 メイン PLL 逓倍率の設定 PLL1S2 PLL1S1 PLL1S0 メイン PLL 逓倍率 0 0 0 × 1 ( 等倍 ) 設定禁止 0 0 1 × 2 (2 逓倍 ) φ=30.0 ns (33.0 MHz) 0 1 0 × 3 (3 逓倍 ) φ=20.2 ns (49.5 MHz) 0 1 1 × 4 (4 逓倍 ) 設定禁止 1 0 0 × 5 (5 逓倍 ) 設定禁止 1 0 1 × 6 (6 逓倍 ) 設定禁止 1 1 0 × 7 (7 逓倍 ) 設定禁止 1 1 1 × 8 (8 逓倍 ) 設定禁止 原発振 16.5 MHz の場合 φ : システムベースクロックの周期 • リセット (INIT) により "000B" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> PLL の発振保証周波数範囲は , 32.5 MHz ∼ 62.5 MHz です。この範囲内になるように設定 してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 115 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ [bit11](reserved bit) このビットは , 予約ビットです。 [bit10] PLL1EN(PLL1 ENable) このビットは , メイン PLL の動作許可ビットです。 このビットは,クロックソースとしてPLLを選択している間は書換えを禁止します。 また , このビットが "0" の間はクロックソースとしてメイン PLL を選択することを 禁止します (bit9, bit8 の CLKS1, CLKS0 ビットの設定による )。 以下の表に , メイン PLL の動作許可ビット (PLL1EN) の機能を示します。 表 3.12-12 メイン PLL の動作許可ビット (PLL1EN) の機能 PLL1EN 機能 0 メイン PLL 停止 ( 初期値 ) 1 メイン PLL 動作許可 • リセット (INIT) により , "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit9, bit8] CLKS1, CLKS0(CLocK source Select) これらのビットは , FR コアで使用するクロックソースを設定します。 これらのビットに書き込む値により , クロックソースを以下の表に示す 2 種類のう ちから選択します。 以下に , クロックソースの設定を示します。 表 3.12-13 クロックソースの設定 CLKS1 CLKS0 0 0 X0/X1 からの原発振入力の 2 分周 ( 初期値 ) 0 1 X0/X1 からの原発振入力の 2 分周 1 0 メイン PLL 1 1 設定禁止 クロックソース設定 以下に , CLKS1, CLKS0 ビットの変更不可能な組合せおよび変更可能な組合せを示 します。 表 3.12-14 CLKS1, CLKS0 ビットの変更不可能 / 変更可能な組合せ 変更不可能な組合せ 変更可能な組合せ "00B" → "11B" "00B" → "01B" または "10B" "01B" → "10B" "01B" → "11B" または "00B" "10B" → "01B" または "11B" "10B" → "00B" "11B" → "00B" または "10B" "11B" → "01B" • リセット (INIT) により "00B" に初期化されます。 • 読出しおよび書込みが可能です。 116 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ ■ ウォッチドッグリセット発生延期レジスタ (WPR) 図 3.12-7 ウォッチドッグリセット発生延期レジスタ (WPR) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス : 0000 0485H D7 D6 D5 D4 D3 D2 D1 D0 アクセス W W W W W W W W 初期値 (INIT) × × × × × × × × 初期値 (RST) × × × × × × × × W : ライトオンリ × :不定値 ウォッチドッグリセットの発生を延期するためのレジスタです。 本レジスタに連続して "A5H" , "5AH" を書き込むと , "5AH" 書込みの直後にウォッチ ドッグタイマの検出用 FF をクリアし , ウォッチドッグリセットの発生を延期します。 "A5H" 書込みと "5AH" 書込みの間の時間に制限はありませんが , "A5H" 書込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んで もクリア動作を行いません。また , 下表の期間内に両データの書込みを終えないと ウォッチドッグリセットを発生します。 RSRR レジスタの WT1(bit9) , WT0(bit8) の状態により下表のように変化します。 表 3.12-15 ウォッチドックタイマ周期の設定 WPR への最終 "5AH" 書込みか WT1 WT0 RSRR のウォッチドッグリセッ トの発生を抑止するために最低 限必要な WPR への書込み間隔 らウォッチドッグリセットが発 生するまでの時間 0 0 φ × 216 ( 初期値 ) φ × 216 ∼ φ × 217 0 1 φ × 218 φ × 218 ∼ φ × 219 1 0 φ × 220 φ × 220 ∼ φ × 221 1 1 φ × 222 φ × 222 ∼ φ × 223 φ : システムベースクロックの周期。 WT1, WT0 は RSRR の bit9, bit8 でウォッチドッグタ イマ周期設定 ただし , ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的に クリアを行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的 に延期されます。ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合で はウォッチドッグリセットは延期されませんので , 長期間外部バスをホールドする場 合はスリープモードにしてからホールド要求 (BRQ) を入力してください。 本レジスタの読出し値は不定です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 117 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ ■ 基本クロック分周設定レジスタ 0 (DIVR0) 図 3.12-8 基本クロック分周設定レジスタ 0 (DIVR0) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス : 0000 0486H B3 B2 B1 B0 P3 P2 P1 P0 アクセス R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 0 0 0 0 1 1 初期値 (RST) × × × × × × × × R/W : リード / ライト可能 × :不定値 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , CPU および内部バスのクロック (CLKB) と , 周辺回路およびペリフェ ラルバスクロック (CLKP) の分周比の設定を行います。 各クロックには動作可能な上限周波数が規定されています。ソースクロックの選択 , 分 周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は保証されませんの で注意してください ( ソースクロック選択の変更設定との順序を間違えないように注 意してください )。 本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周 比が有効となります。 [bit15 ∼ bit12] B3 ∼ B0 (clkB divide select 3 ∼ 0) CPU クロック (CLKB) クロック分周比設定ビットです。 CPU と内部メモリおよび内部バスのクロック (CLKB) のクロック分周比を設定しま す。 本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに 対する分周比 ( クロック周波数 ) を表 3.12-16 に示す 16 種類のうちから選択します。 表 3.12-16 クロック分周比 (CPU クロック ) の設定 クロック周波数 : 原発振 16.5 MHz および PLL の 2 逓倍の場合 B3 B2 B1 B0 クロック分周比 0 0 0 0 φ 0 0 0 1 φ × 2 (2 分周 ) 16.5 MHz 0 0 1 0 φ × 3 (3 分周 ) 11 MHz 0 0 1 1 φ × 4 (4 分周 ) 8.25 MHz 0 1 0 0 φ × 5 (5 分周 ) 6.6 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.5 MHz … … … … … 1 1 1 1 φ × 16(16 分周 ) 33 MHz ( 初期値 ) … 2.063 MHz φ : システムベースクロックの周期 • リセット (INIT) により "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 118 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ <注意事項> CPU クロックの動作可能上限周波数は 33.0 MHz ですので , これを超える設定はしないで ください。 [bit11 ∼ bit8] P3 ∼ P0 (clkP divide select 3 ∼ 0) 周辺クロック (CLKP) クロック分周比設定ビットです。 周辺回路およびペリフェラルバスのクロック (CLKP) のクロック分周比を設定しま す。 本ビットに書き込む値により , 周辺回路およびペリフェラルバスのクロックのベー スクロックに対する分周比 ( クロック周波数 ) を表 3.12-17 に示す 16 種類のうちか ら選択します。 表 3.12-17 クロック分周比 ( 周辺クロック ) の設定 クロック周波数 : 原発振 16.5 MHz および PLL2 逓倍の場合 P3 P2 P1 P0 クロック分周比 0 0 0 0 φ 設定禁止 0 0 0 1 φ × 2 (2 分周 ) 16.5 MHz 0 0 1 0 φ × 3 (3 分周 ) 11 MHz 0 0 1 1 φ × 4 (4 分周 ) 8.25 MHz ( 初期値 ) 0 1 0 0 φ × 5 (5 分周 ) 6.6 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.5 MHz … 1 … 1 … 1 … 1 … φ × 16(16 分周 ) … 2.063 MHz φ : システムベースクロックの周期 • リセット (INIT) により "0011B" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> FR コア内部の周辺回路の動作可能上限周波数は 16.5 MHz ですので , これを超える設定は しないでください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 119 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ ■ 基本クロック分周設定レジスタ 1 (DIVR1) 図 3.12-9 基本クロック分周設定レジスタ 1 (DIVR1) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス : 0000 0487H T3 T2 T1 T0 − − − − アクセス R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 0 0 0 0 0 0 初期値 (RST) × × × × × × × × R/W : リード / ライト可能 − :未定義ビット × :不定値 基本クロック分周設定レジスタ 1(DIVR1) は , 各内部クロックのベースクロックに対す る分周比を制御するレジスタです。このレジスタでは , 外部拡張バスインタフェースの クロック (CLKT) の分周比の設定を行います。各クロックには , 動作可能な上限周波数 が規定されています。ソースクロックの選択 , PLL の逓倍率の設定 , 分周比の設定の組 合せで,上限周波数を超える設定をした場合には動作は保証されませんので注意してく ださい。ソースクロック選択の変更設定との順序を間違えないように注意してくださ い。 このレジスタの設定に変更があった場合,設定後の次のクロックレートから変更後の分 周比が有効となります。 [bit7 ∼ bit4] T3 ∼ T0(clkT divide select 3 ∼ 0) これらのビットは , 外部バスクロック (CLKT) のクロック分周比設定ビットです。外 部拡張バスインタフェースのクロック (CLKT) のクロック分周比を設定します。こ のビットに書き込む値により , 外部拡張バスインタフェースのクロックのベースク ロックに対する分周比 ( クロック周波数 ) を , 表 3.12-18 に示す 16 種類のうちから 選択します。 以下に , クロック分周比 ( 外部バスクロック ) の設定を示します。 表 3.12-18 クロック分周比 ( 外部バスクロック ) の設定 クロック周波数 : 原発振 16.5 MHz および PLL の 2 逓倍の場合 T3 T2 T1 T0 0 0 0 0 φ 33 MHz ( 初期値 ) 0 0 0 1 φ × 2 (2 分周 ) 16.5 MHz 0 0 1 0 φ × 3 (3 分周 ) 11 MHz 0 0 1 1 φ × 4 (4 分周 ) 8.25 MHz 0 1 0 0 φ × 5 (5 分周 ) 6.6 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.5 MHz … … … … 1 1 1 1 クロック分周比 … φ × 16(16 分周 ) … 2.063 MHz φ : システムベースクロックの周期 読出しおよび書込みが可能です。 120 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.12 [bit3 ∼ bit0] (reserved bit) このビットは , 予約ビットです。 書込み時は必ず "0000B" を設定してください。 <注意事項> 外部バス上限周波数は 33 MHz ですので , これを超える設定はしないでください。また , 外部バスに接続される MAC IF において , 100Base の通信を行うには , 25 MHz より上に 設定を行う必要があります (33 MHz ≧ 外部バス周波数 > 25 MHz)。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 121 第 3 章 CPU および制御部 3.12 3.12.6 MB91402/403 シリーズ クロック制御部にある周辺回路 クロック制御部にある周辺回路機能について説明します。 ■ タイムベースカウンタ クロック制御部には , 26 ビット長のタイムベースカウンタがあり , システムベースク ロックで動作しています。 タイムベースカウンタは , 発振安定待ち時間の計測のほか , 以下の用途に使用されま す。発振安定待ち時間の詳細につては , 「3.11.4 発振安定待ち時間」を参照してくださ い。 • ウォッチドッグタイマ システムの暴走検出用のウォッチドッグタイマをタイムベースカウンタのビット 出力を使用して計測します。 • タイムベースタイマ タイムベースカウンタ出力を使用してインターバル割込みを発生します。 以下 , これらの機能について説明します。 ● ウォッチドッグタイマ ウォッチドッグタイマは , タイムベースカウンタ出力を使用した暴走検出用タイマで す。プログラムの暴走などで設定したインターバルの間にウォッチドッグリセットの 発生延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リセッ ト (INIT) 要求を発生します。 【ウォッチドッグタイマの起動と周期設定】 ウォッチドッグタイマは , リセット (RST) 後の 1 回目のリセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR) への書込み動作により起動します。こ のとき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビットに より設定します。インターバル時間の設定は , この最初の書込みで設定した時間の みが有効となり , それ以降の書込みはすべて無視されます。 【ウォッチドッグリセットの発生延期】 いったん , ウォッチドッグタイマを起動すると , プログラムで定期的にウォッチ ドッグリセット発生延期レジスタ (WPR) に対して "A5H" , "5AH" の順でデータを書 き込む必要があります。この操作により , ウォッチドッグリセット発生用フラグが 初期化されます。 【ウォッチドッグリセットの発生】 ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出 時にフラグがセットされていると , ウォッチドッグリセットとして設定初期化リ セット (INIT) 要求を発生します。 122 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.12 【ウォッチドッグタイマの停止】 いったん , ウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生 するまではウォッチドッグタイマを停止することはできません。 動作初期化リセット (RST) の発生する以下の状態では , ウォッチドッグタイマは停 止し , 再度プログラム動作にて起動するまでは機能しません。 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 • 発振安定待ちリセット状態 • ハードウェアスタンバイ状態 【ウォッチドッグタイマの一時停止 ( 自動発生延期 )】 ウォッチドッグタイマは , CPU のプログラム動作が停止している場合には , いった ん , ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの 発生を延期します。プログラム動作の停止とは具体的には以下の動作を示します。 • スリープ状態 • ストップ状態 • 発振安定待ち RUN 状態 • I-bus ( 命令バス ) または D-bus ( データバス ) のどちらかに対する DMA 転送中 • エミュレータデバッガ , モニタデバッガを使用時のブレーク中 • INTE 命令の実行から RETI 命令の実行までの期間 • 命令キャッシュ制御レジスタ(ISIZE, ICHRC), RAMモード時のキャッシュメモリ へのデータアクセス中 また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発 生用フラグも初期化されてウォッチドッグリセットの発生が延期されます。 なお , システムの暴走により上記の状態となってしまった場合には , ウォッチドッ グリセットが発生しない可能性があります。その場合には , 外部 INIT 端子によりリ セット (INIT) をかけてください。 ● タイムベースタイマ タイムベースタイマは , タイムベースカウンタ出力を使用したインターバル割込み発 生用タイマです。マクロ外部に接続された PLL のロック待ち時間やサブクロックなど の発振安定待ち時間など , 最大で { ベースクロック× 227} サイクルまでの比較的長時 間の時間計測を行う用途に適しています。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを検出 すると , タイムベースタイマ割込み要求を発生します。 【タイムベースタイマの起動とインターバル設定】 タイムベースタイマは , タイムベースカウンタ制御レジスタ (TBCR) の bit13 ∼ bit11:TBC2 ∼ TBC0 ビットにてインターバル時間を設定します。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは 常に検出されているため , インターバル時間の設定後はまず bit15:TBIF ビットをク リアしてから , bit14:TBIE ビットを "1" にして割込み要求出力を許可してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 123 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ インターバル時間を変更する際は , あらかじめ bit14:TBIE ビットを "0" にして割込 み要求出力を禁止しておいてください。 タイムベースカウンタはこれら設定に影響されず常にカウント動作を行っていま すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ イムベースカウンタをクリアしてください。クリアしない場合は割込み許可直後に 割込み要求が発生することがあります。 【プログラムによるタイムベースカウンタのクリア】 タイムベースカウンタクリアレジスタ(CTBR)に対して "A5H" , "5AH" の順でデータ を書き込むと , "5AH" 書込みの直後に , タイムベースカウンタを全ビット "0" にクリ アします。"A5H" 書込みと "5AH" 書込みの間の時間に制限はありませんが , "A5H" 書込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア動作を行いません。 このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期 されます。 【コアマクロ状態によるタイムベースカウンタのクリア】 タイムベースカウンタは , 以下のコアマクロ状態の遷移時に , 同時に全ビット "0" に クリアされます。 • ストップ状態 • 設定初期化リセット (INIT) 状態 • ハードウェアスタンバイ状態 特にストップ状態の場合 , 発振安定待ち時間の計測にタイムベースカウンタが使用 されるため , 意図せずにタイムベースタイマのインターバル割込みが発生してしま うことがあります。そのため, ストップモードを設定する前には, タイムベースタイ マ割込みを禁止し , タイムベースタイマを使用しないようにしてください。 それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー スタイマ割込みは自動的に禁止されます。 124 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 3.12.7 第 3 章 CPU および制御部 3.12 クロックの滑らかな起動と停止 内部電圧降下または電圧サージを抑制するための方法を説明します。 ■ クロックの滑らかな起動と停止 内部電圧降下または電圧サージを抑制するために C 端子に 5.0µF 程度のバイパスコン デンサを接続すると内部電圧変化が大幅に抑制されます。また,すべてのクロック(CPU および内部バスクロック (CLKB), 外部バスクロック (CLKT), 周辺回路およびペリフェ ラルバスクロック (CLKP)) を低周波数から目標とする周波数にいきなり切り換えるの ではなく , 段階的に切り換えてください。 低周波数での動作に戻す場合も段階的に行って,以下のようなクロックの起動とシャッ トダウンを行ってください。 高周波数での動作から低周波数での動作に切り換える場合も , 同様の方法で行います。 ● 起動 1) PLL 動作許可 ( クロックソース制御レジスタ (CLKR) の PLL1EN ビットを "1" に設 定してください )。 2) 発振安定待ち時間 3) CLKB, CLKT, CLKPを16分周します(DIVR0, DIVR1レジスタを設定してください)。 4) PLL の逓倍率を設定し , X0 を PLL 側に切り換えます ( クロックソース制御レジス タ (CLKR) を設定してください )。 5) CLKB, CLKT, CLKP の分周比を段階的に下げます。分周ステップの間に待機ループ を挿入します。 ● シャットダウン 1) CLKB, CLKT, CLKP を段階的 ( ステップ数は周波数の設定による ) に最大分周係数 まで分周し , 分周ステップの間に待機ループを挿入します (DIVR0, DIVR1 レジスタを設定してください )。 2) PLL からX0/X1よりの原発振に切り換えます(クロックソース制御レジスタ(CLKR) を設定してください )。 3) PLL を無効にします ( クロックソース制御レジスタ (CLKR) の PLL1EN ビットを "0" に設定してください )。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 125 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ ■ クロックの滑らかな起動と停止のプログラム例 ● 起動手順 #macro wait_loop loop_number #local _wait64_loop ldi #loop_number,r0 _wait64_loop: add #-1,r0 bne _wait64_loop #endm smooth_up_start3: ldi #_DIVR0,r1 // CLKB および CLKP 用の分周レジスタ ldi #_DIVR1,r2 // CLKT 用の分周レジスタ ldi #_CLKR,r3 // CLKR レジスタ ldi #0xff,r4 ldi #0x11,r5 ldi #0x33,r6 ldi #0x77,r7 ldi #0x01,r8 ldi #0x34,r12 ldi #0x36,r13 nop nop nop stb r12,@r3 // PLL → X0 PLL 動作許可 //CLKB, CLKT, CLKP を 16 分周します stb r4,@r1 // CLKB , CLKP 16 分周 stb r4,@r2 // CLKT 16 分周 wait_loop 4 stb r13,@r3 //X0 を PLL 側に切り換えます。 wait_loop 4 //CLKB, CLKP の分周比を段階的に下げます。 stb r7,@r1 // CLKB , CLKP 16 分周→ 8 分周 wait_loop 8 stb r6,@r1 // CLKB , CLKP 8 分周→ 4 分周 // CLKB , CLKP 4 分周→ 2 分周 wait_loop 8 stb r5,@r1 wait_loop 16 126 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ stb r8,@r1 // CLKB 2 分周→分周なし , CLKP 2 分周→ 2 分周 wait_loop 16 //CLKT の分周比を段階的に下げます。 stb r7,@r2 // CLKT 16 分周→ 8 分周 wait_loop 8 stb r6,@r2 // CLKT 8 分周→ 4 分周 wait_loop 8 stb r5,@r2 // CLKT 4 分周→ 2 分周 wait_loop 16 stb r8,@r2 // CLKT 分周なし wait_loop 16 ● シャットダウン手順 #macro wait_loop loop_number #local _wait64_loop ldi #loop_number,r0 _wait64_loop: add #-1,r0 bne _wait64_loop #endm smooth_down_start3: ldi #_DIVR0,r1 // CLKB および CLKP 用の分周レジスタ ldi #_DIVR1,r2 // CLKT 用の分周レジスタ ldi #_CLKR,r3 // CLKR レジスタ ldi #0x11,r5 ldi #0x3f,r6 ldi #0xff,r8 ldi #0x04,r9 ldi #0x33,r10 ldi #0xff,r12 ldi #0x00,r13 ldi #0x1f,r14 nop nop nop //CLKT の分周比を段階的に上げます。 stb r14,@r2 // CLKT 分周なし→ 2 分周 wait_loop 16 stb r6,@r2 // CLKT 2 分周→ 4 分周 wait_loop 8 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 127 第 3 章 CPU および制御部 3.12 MB91402/403 シリーズ stb r8,@r2 // CLKT 4 分周→ 16 分周 wait_loop 4 //CLKB, CLKP の分周比を段階的に上げます。 stb r5,@r1 // CLKB 分周なし→ 2 分周 , CLKP 2 分周→ 2 分周 wait_loop 16 stb r10,@r1 // CLKB , CLKP 2 分周→ 4 分周 wait_loop 8 stb r12,@r1 // CLKB , CLKP 4 分周→ 16 分周 wait_loop 4 //PLL の逓倍率を段階的に下げます。 stb r9,@r3 // PLL から X0/X1 よりの原発振に切り換えます。 stb r13,@r3 // PLL off nop nop nop ret 128 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.13 MB91402/403 シリーズ 3.13 デバイス状態制御 FR ファミリの各種状態とその制御および低消費電力モードについて説明します。 ■ デバイス状態 FR ファミリの動作状態には以下のものがあります。 これらの詳細については , 「3.13.1 デバイス状態と各遷移」で説明します。 • RUN 状態 ( 通常動作 ) • スリープ状態 • ストップ状態 • 発振安定待ち RUN 状態 • 発振安定待ちリセット (RST) 状態 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 ■ 低消費電力モード 低消費電力モードには以下の 2 つがあります。 これらの詳細については「3.13.2 低消費電力モード」で説明します。 • スリープモード • ストップモード ■ デバイス状態と各遷移 MB91402/403 シリーズのデバイスの状態遷移を図 3.13-1 に示します。 図 3.13-1 MB91402/403 シリーズの状態遷移 1 INIT 2 INIT 3 4 5 6 7 8 9 10 0(INT) 1(INIT ) (INT) (RST) (RST) (RST) ( ( ) ) 1 (INIT) (INIT) 2 1 1 9 1 3 RUN 1 3 (RST) 7 4 5 1 1 8 RUN 6 CM71-10131-1 10 FUJITSU MICROELECTRONICS LIMITED 129 第 3 章 CPU および制御部 3.13 3.13.1 MB91402/403 シリーズ デバイス状態と各遷移 デバイスの動作状態と , 各動作状態間の遷移について説明します。 ■ RUN 状態 ( 通常動作 ) この状態は , プログラム実行状態です。 すべての内部クロックが供給され , すべての回路が動作可能な状態です。 各状態遷移要求を受け付けますが , 同期リセットモードを選択している場合 , 通常リ セットモードの場合と一部要求に対する状態遷移動作が異なります。詳細は , 「3.11.5 リセット動作モード ■同期リセット動作」を参照してください。 ■ スリープ状態 この状態は , プログラム停止状態です。プログラム動作により遷移します。 CPU のプログラム実行のみを停止し , 周辺回路は動作可能な状態です。命令キャッシュ を停止し , 各種内蔵メモリおよび内部 / 外部バスは DMA コントローラが要求しない限 り停止状態です。 • 有効な割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移 します。 • 設定初期化リセット (INIT) 要求の発生により設定初期化リセット (INIT) 状態へ遷移 します。 • 動作初期化リセット (RST) 要求の発生により動作初期化リセット (RST) 状態へ遷移 します。 • ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し ます。 ■ ストップ状態 この状態は , デバイス停止状態です。プログラム動作により遷移します。 すべての内部回路が停止します。内部クロックはすべて停止し , 発振回路の停止指示を 設定により有効にさせることが可能です。また , 設定により , 外部端子のアウトプット 許可を禁止にすることが可能です ( 一部端子を除く )。 • 特定の ( クロックを必要としない ) 有効な割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。 • 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 • 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット状態へ遷移し ます。 • ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し ます。 130 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 3 章 CPU および制御部 3.13 ■ 発振安定待ち RUN 状態 この状態は , デバイス停止状態です。ストップ状態からの復帰後に遷移します。 クロック発生制御部 ( タイムベースカウンタおよびコアマクロ状態制御部 ) を除くすべ ての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路の停止指示 は有効にはなりません。 • ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 • 設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。 • 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 • 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット状態へ遷移し ます。 • ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し ます。 ■ 発振安定待ちリセット状態 この状態は , デバイス停止状態です。ストップ状態または設定初期化リセット (INIT) 状態からの復帰後に遷移します。 クロック発生制御部 ( タイムベースカウンタおよびコアマクロ状態制御部 ) を除くすべ ての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路は動作許可 状態になります。 • ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 • 内部回路に対し , 動作初期化リセット (RST) を出力します。 • 設定された発振安定待ち時間の経過により , 発振安定待ちリセット状態へ遷移しま す。 • 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 • ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し ます。 ■ 動作初期化リセット (RST) 状態 この状態は , プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , ま たは発振安定待ちリセット状態の終了により遷移します。 CPU のプログラム実行を停止し , プログラムカウンタは初期化されます。周辺回路は 一部を除き初期化されます。すべての内部クロックと発振回路は動作許可状態になり ます。 • 内部回路に対して動作初期化リセット (RST) を出力します。 • 動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動 作初期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの 復帰後だった場合は , 設定初期化リセットシーケンスを実行します。 • 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 • ハードウェアスタンバイ要求の発生により , ハードウェアスタンバイ状態に遷移し ます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 131 第 3 章 CPU および制御部 3.13 MB91402/403 シリーズ ■ 設定初期化リセット (INIT) 状態 全設定初期化状態です。設定初期化リセット (INIT) 要求の受付け , またはハードウェ アスタンバイ状態の終了により遷移します。 CPU のプログラム実行を停止し , プログラムカウンタは初期化されます。周辺回路は すべて初期化されます。発振回路を動作します。すべての内部クロックは , INIT 端子へ の "L" レベル入力期間は停止しますが , それ以外では動作します。 • 内部回路に対して設定初期化リセット (INIT) および動作初期化リセット (RST) を出 力します。 • 設定初期化リセット (INIT) 要求の消失により , 本状態は解除され , 発振安定待ちリ セット状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初 期化リセットシーケンスを実行します。 ■ 各状態遷移要求の優先順位 どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部要求 は特定の状態でしか発生しませんので , その状態でしか有効になりません。 【最強】設定初期化リセット (INIT) 要求 ↓ ハードウェアスタンバイ要求 ↓発振安定待ち時間の終了 ( 発振安定待ちリセット状態および発振安定待ち RUN 状態にのみ発生 ) ↓ 動作初期化リセット (RST) 要求 ↓ 有効な割込み要求 (RUN, スリープ , ストップ状態のみ発生 ) ↓ ストップモード要求 ( レジスタ書込み )(RUN 状態のみ発生 ) 【最弱】スリープモード要求 ( レジスタ書込み )(RUN 状態のみ発生 ) 132 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.13 MB91402/403 シリーズ 低消費電力モード 3.13.2 FR ファミリの各低消費電力モードとその使用方法について説明します。 ■ 低消費電力モード FR ファミリの低消費電力モードには , 以下のものがあります。 • スリープモード レジスタ書込みにより , スリープ状態へ遷移させます。 • ストップモード レジスタ書込みにより , ストップ状態へ遷移させます。 以下 , 各モードについて説明します。 ■ スリープモード スタンバイ制御レジスタ (STCR) の bit6:SLEEP ビットに "1" を書き込むとスリープモー ドとなり , スリープ状態へ遷移します。以降 , スリープ状態からの復帰要因が発生する まではスリープ状態を維持します。 スタンバイ制御レジスタ (STCR) の bit7:STOP ビットとこのビット両方に "1" を書き込 んだ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。 スリープ状態については , 「3.13.1 デバイス状態と各遷移 ■スリープ状態」も参照し てください。 【スリープモードへの移行】 スリープモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の シーケンスを必ず使用してください。 (LDI #value_of_sleep,R0) ; value_of_sleep は STCR へのライト ; データ (LDI #_STCR,R12) ; _STCR は STCR のアドレス (481H) STB R0,@R12 ; スタンバイ制御レジスタ(STCR)への書込 ; み LDUB @R12,R0 ; 同期スタンバイのための STCR リード LDUB @R12,R0 ; もう一度 STCR をダミーリード NOP NOP NOP NOP NOP CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 133 第 3 章 CPU および制御部 3.13 MB91402/403 シリーズ ● スリープ状態で停止する回路 • CPU のプログラム実行 • 命令キャッシュ • ビットサーチモジュール (DMA 転送が発生した場合は動作します。) • 各種内蔵メモリ (DMA 転送が発生した場合は動作します。) • 内部 / 外部バス (DMA 転送が発生した場合は動作します。) ● スリープ状態で停止しない回路 • クロック発生制御部 • 割込みコントローラ • 周辺リソース • DMA コントローラ • DSU ● スリープ状態からの復帰要因 • 有効な割込み要求の発生 CPU の ILM にて設定したレベルより強い割込み要求が発生すると , スリープモード は解除され , RUN 状態 ( 通常動作 ) へ遷移します。このとき , CPU のプロセッサステー タスレジスタ (PS) の I フラグを "1" にセットして割込み受付けを許可状態にし , スリー プ復帰後 , 割込みハンドラを実行するようにしてください。 CPU の ILM にて設定したレベル以下の割込み要求が発生しても , スリープモードは解 除されません。 • 設定初期化リセット (INIT) 要求の発生 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 • ハードウェアスタンバイ要求の発生 ハードウェアスタンバイ要求が発生すると , 無条件でハードウェアスタンバイ状態 に遷移します。 • 動作初期化リセット (RST) 要求の発生 動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット (RST) 状態へ遷移します。 各要因の優先順位については , 「3.13.1 デバイス状態と各遷移 ■各状態遷移要求の優 先順位」を参照してください。 ● 同期スタンバイ動作 タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" を設定してあ る場合には同期スタンバイ動作が許可されます。この場合 , SLEEP ビットへの書込み のみではスリープ状態へは遷移しません。その後 , STCR レジスタを読み出すことに よってスリープ状態へ遷移します。 スリープモードを使用する場合は ,【スリープモードへの移行】にあるシーケンスを必 ず使用してください。 134 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.13 MB91402/403 シリーズ ■ ストップモード スタンバイ制御レジスタ (STCR) の bit7:STOP ビットに "1" を書き込むとストップモー ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する まではストップ状態を維持します。 スタンバイ制御レジスタ (STCR) の bit6:SLEEP ビットと本ビット両方に "1" を書き込ん だ場合は bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。 ストップ状態については , 「3.13.1 デバイス状態と各遷移 ■ストップ状態」を参照し てください。 【ストップモードへの移行】 ストップモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウ ンタ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下の シーケンスを必ず使用してください。 (LDI #value_of_stop,R0); value_of_stop は STCR へのライトデー ; タ (LDI STB #_STCR,R12) R0,@R12 ; _STCR は STCR のアドレス (481H) ; スタンバイ制御レジスタ(STCR)への書込 ; み LDUB @R12,R0 ; 同期スタンバイのための STCR リード LDUB @R12,R0 ; もう一度 STCR をダミーリード NOP NOP NOP NOP NOP ● ストップ状態で停止する回路 すべての内部回路 ● ストップ状態で停止しない回路 なし ● ストップ状態での端子のハイインピーダンス制御 • スタンバイ制御レジスタ (STCR) の bit5:HIZ ビットに "1" が設定してあると , ストッ プ状態中の端子出力のアウトプット許可を禁止状態にします。本制御の対象となる 端子については ,「付録 C 各 CPU ステートにおける端子状態」を参照してください。 • スタンバイ制御レジスタ (STCR) の bit5:HIZ ビットに "0" が設定してあると , ストッ プ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は , 「付録 C 各 CPU ステートにおける端子状態」を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 135 第 3 章 CPU および制御部 3.13 MB91402/403 シリーズ ● ストップ状態からの復帰要因 • 特定の ( クロックを必要としない ) 有効な割込み要求の発生 外部割込み入力端子のみが有効です。 CPU の ILM にて設定したレベルより強い割込み要求が発生すると , ストップモード は解除され , RUN 状態 ( 通常動作 ) へ遷移します。このとき , CPU のプロセッサステー タスレジスタ (PS) の I フラグを "1" にセットして割込み受付けを許可状態にし , ストッ プ復帰後 , 割込みハンドラを実行するようにしてください。 CPU の ILM にて設定したレベル以下の割込み要求が発生してもストップモードは解 除されません。 • 設定初期化リセット (INIT) 要求の発生 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 • ハードウェアスタンバイ要求の発生 ハードウェアスタンバイ要求が発生すると , 無条件でハードウェアスタンバイ状態 に遷移します。 • 動作初期化リセット (RST) 要求の発生 動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット (RST) 状態へ遷移します。 各要因の優先順位については , 「3.13.1 デバイス状態と各遷移 ■各状態遷移要求の優 先順位」を参照してください。 ● 同期スタンバイ動作 タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" を設定してあ る場合には同期スタンバイ動作が許可されます。この場合 , STOP ビットへの書込みの みではストップ状態へは遷移しません。その後 , STCR レジスタを読み出すことによっ てストップ状態へ遷移します。 ストップモードを使用する場合は ,【ストップモードへの移行】にあるシーケンスを必 ず使用してください。 136 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 3 章 CPU および制御部 3.14 MB91402/403 シリーズ 動作モード 3.14 動作モードには , バスモードとアクセスモードがあります。それぞれのモードにつ いて説明します。 ■ 動作モード バスモード アクセスモード シングルチップ 外 ROM 外バス 32 ビットバス幅 16 ビットバス幅 8 ビットバス幅 ● バスモード バスモードとは, 内部ROMの動作と外部アクセス機能の動作を制御するモードを指し, モード設定端子 (MDI2 ∼ MDI0) とモードデータの内容で指定します。ただし , アーキ テクチャ上は上記バスモードをサポートしますが , 本コアは , シングルチップおよび内 ROM 外バスモードは使用できません。外 ROM 外バスモードのみ選択可能です。 ● アクセスモード アクセスモードとは , 外部データバス幅を制御するモードを示し , モードレジスタ内の WTH1, WTH0 ビットと ACR0 ∼ ACR7(Area Configuration Register) 内の DBW1 , DBW0 ビットで指定します。 ■ モード設定 FR ファミリでは , モード端子 (MDI2 ∼ MDI0) とモードレジスタ (MODR) で動作モー ドの設定を行います。 ● モード端子 MDI2 ∼ MDI0 の 3 端子で , モードベクタフェッチに関する指定およびテストモードの 設定を行います。 表 3.14-1 モード設定 モード端子 MDI2 ∼ MDI0 モード名 リセットベクタアクセス領域 0 0 0 Reserved 0 0 1 外 ROM モードベクタ 0 1 0 Reserved ― 0 1 1 Reserved ― 1 0 0 Reserved ― 1 0 1 Reserved ― 1 1 0 Reserved ― 1 1 1 Reserved ― CM71-10131-1 備考 ― 外部 バス幅はモードデータで設定 FUJITSU MICROELECTRONICS LIMITED 137 第 3 章 CPU および制御部 3.14 MB91402/403 シリーズ ● モードレジスタ (MODR) モードベクタフェッチによってハードウェアがモードレジスタ (MODR) に書き込む データをモードデータとよびます。 本レジスタにハードウェアによる設定が行われた後 , 本レジスタの設定に従った動作 モードで動作します。 モードレジスタは , INIT レベルのリセット要因でしか設定されません。また , ユーザプ ログラムからはアクセスすることはできません。ただし , 例外として , INTE 命令によ りエミュレーションモードに遷移した状態, ICEを使用したデバッグ時にブレークによ りエミュレーションモードに遷移した状態では , 0000_07FDH に本レジスタがマッピン グされます。ICE 使用時には , その機能を使用して本レジスタに適切な値を書き込むこ とにより , プログラムロード前のモードデータの設定を行います。 <注意事項> FR ファミリのモードレジスタのアドレス (0000_07FFH) には何も存在しません。 <レジスタ詳細説明> 図 3.14-1 モードレジスタのビット構成 (MODR) MODR bit7 0 bit6 0 bit5 0 bit4 0 bit3 0 bit2 0 bit1 bit0 初期値 WTH1 WTH0 XXXXXXXXB 動作モード設定ビット [bit7 ∼ bit2] 予約ビット 必ず "000000B" を設定してください。"000000B" 以外の値を設定したときの動作は 保証できません。 [bit1, bit0] WTH1, WTH0( バス幅指定ビット ) バス幅指定を行います。この値が ACR0(CS0 領域 ) の DBW1, DBW0 ビットに設定 されます。"10B" "11B" 以外を設定してください。 表 3.14-2 バス幅指定の設定内容 138 WTH1 WTH0 0 0 8 ビットバス幅 外バスモード 0 1 16 ビットバス幅 外バスモード 1 0 設定禁止 1 1 設定禁止 機能 FUJITSU MICROELECTRONICS LIMITED 備考 CM71-10131-1 第4章 外部バスインタフェース 外部バスインタフェースコントローラは , LSI の内 部バスと外部のメモリ , 機能マクロ , および I/O デ バイスとのインタフェースを制御します。 本章では , 外部バスインタフェースの各機能につい て説明します。 4.1 外部バスインタフェース ( メモリインタフェース ) の概要 4.2 外部バスインタフェースのレジスタ 4.3 チップセレクト領域の設定例 4.4 エンディアンとバスアクセス 4.5 通常バスインタフェースの動作 4.6 バーストアクセスの動作 4.7 プリフェッチ動作 4.8 SDRAM/FCRAM インタフェースの動作 4.9 レジスタ設定手順 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 139 第 4 章 外部バスインタフェース 4.1 4.1 MB91402/403 シリーズ 外部バスインタフェース ( メモリインタフェース ) の概要 外部バスインタフェースコントローラは , " コア内部バス " と外部メモリおよび周辺 リソースとのインタフェースを制御します。 外部バスインタフェース ( メモリインタフェース ) の各機能について説明します。 ■ 外部バスインタフェースの特長 • 最大 32 ビット長 (4G バイト空間 ) のアドレス出力 • 各種外部メモリ (8 ビット /16 ビット /32 ビット品 ) を直結できるほか , 複数のアクセ スタイミングを混在制御可能 - 非同期 SRAM, 非同期 ROM/ フラッシュメモリ ( 複数ライトストローブ方式また はバイトイネーブル方式 ) - ページモード ROM/ フラッシュメモリ ( ページサイズ 2/4/8 が可能 ) - バーストモード ROM/ フラッシュメモリ - SDRAM(FCRAMタイプも対応, CASレイテンシ1∼8, 2バンク品および4バンク品) - 同期メモリ (ASIC 内蔵メモリなど ) ( 注意事項 ) Synchronous SRAM を直結できません。 • 独立した 8 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ プセレクト出力が可能 - 各領域のサイズは 64K バイトの倍数単位で設定可能 (1 チップセレクト領域あた り 64K バイト∼ 2G バイトまで ) - 各領域は論理アドレス空間上の任意の位置に設定可能 ( 領域サイズによりバウン ダリの制限あり ) • チップセレクト領域ごとに以下の機能を独立に設定可能 - チップセレクト領域の許可 / 禁止 ( 禁止された領域はアクセスを行いません ) - 各種メモリ対応などのアクセスタイミングタイプ設定 - 詳細アクセスタイミング設定(ウェイトサイクルなどのアクセスタイプ個別設定) - データバスの幅設定 (8 ビット /16 ビット /32 ビット ) - バイトオーダリングのエンディアン設定 ( ビッグまたはリトル )(CS0 領域は , ビッ グエンディアンのみ可能 ) - 書込み禁止の設定 ( 読出し専用領域 ) - 内蔵キャッシュへの取込み許可 / 禁止設定 - プリフェッチ機能の許可 / 禁止設定 - 最大バースト長設定 (1, 2, 4, 8) 140 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.1 • アクセスタイミングタイプごとに異なる詳細なタイミングを設定可能 - 同一タイプでもチップセレクト領域ごとに異なる設定を混在可能 - オートウェイトは , 最大 15 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash, I/O 領域 ) - 外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O 領域 ) - ファーストアクセスウェイトとページウェイトを設定可能 ( バースト・ページ モード ROM/Flash 領域 ) - 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能 - CAS レイテンシ , RAS-CAS ディレイなどのタイミング設定可能 (SDRAM 領域 ) - 分散 / 集中オートリフレッシュ , セルフリフレッシュなどの各種リフレッシュタ イミング制御可能 (SDRAM 領域 ) CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 141 第 4 章 外部バスインタフェース 4.1 MB91402/403 シリーズ ■ 外部バスインタフェースのブロックダイヤグラム 図 4.1-1 外部バスインタフェースのブロックダイヤグラム アドレスバス データバス A-OUT 32 32 外部データバス D31~D0 MUX ライトバッファ スイッチ リードバッファ スイッチ DATA BLOCK ADDRESS BLOCK +1 or +2 EXTERNAL ADDRESS BUS A22~A0 address buffer ASR CS7~CS0 ACR comparator SRAS,SCAS SWE,MCLKE SDRAM制御部 DQMUU,DQMUL DQMLU,DQMLL RCR (注意事項)SWE,DQM は, Refresh counter 外部端子:WE,WR3~WR0と 共有 外部端子制御部 RD,WE WR3~WR0 全block制御 resisters & control 142 FUJITSU MICROELECTRONICS LIMITED RDY MCLKO CM71-10131-1 第 4 章 外部バスインタフェース 4.1 MB91402/403 シリーズ ■ 外部バスインタフェースのレジスタ一覧 図 4.1-2 外部バスインタフェースのレジスタ一覧 アドレス bit31 24 23 16 15 8 7 0 00000640H ASR0 ACR0 00000644H ASR1 ACR1 00000648H ASR2 ASR2 0000064CH ASR3 ACR3 00000650H ASR4 ACR4 00000654H ASR5 ACR5 00000658H Reserved Reserved 0000065CH ASR7 ACR7 00000660H AWR0 AWR1 00000664H AWR2 AWR3 00000668H AWR4 AWR5 0000066CH Reserved AWR7 00000670H MCRA MCRB Reserved Reserved 00000674H Reserved Reserved Reserved Reserved 00000678H IOWR0 IOWR1 IOWR2 Reserved 0000067CH Reserved Reserved Reserved Reserved 00000680H CSER CHER Reserved TCR Reserved Reserved 00000684H RCR 00000688H Reserved ∼ 000007F8H 000007FCH Reserved (MODR) Reserved Reserved Reserved:予約レジスタです。アクセスを禁止します。 MODR はユーザプログラムからはアクセスできません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 143 第 4 章 外部バスインタフェース 4.2 4.2 MB91402/403 シリーズ 外部バスインタフェースのレジスタ 外部バスインタフェースで使用するレジスタの構成および機能について説明します。 ■ 外部バスインタフェースのレジスタの種類 外部バスインタフェースで使用するレジスタには , 以下のものがあります。 • 領域選択レジスタ (ASR0 ∼ ASR5, ASR7) • 領域構成レジスタ (ACR0 ∼ ACR5, ACR7) • 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7) • メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA) • メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) • DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) • チップセレクト領域許可レジスタ (CSER) • キャッシュ取込みレジスタ (CHER) • 端子 / タイミングコントロールレジスタ (TCR) • リフレッシュコントロールレジスタ (RCR) • モードレジスタ (MODR) 144 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ 領域選択レジスタ 0 ∼ 5, 7(ASR0 ∼ ASR5, ASR7) 4.2.1 図 4.2-1 に領域選択レジスタの構成を示します。 ■ 領域選択レジスタ 0 ∼ 5, 7 (ASR0 ∼ ASR5, ASR7) の構成 図 4.2-1 領域選択レジスタ 0 ∼ 5, 7(ASR0 ∼ ASR5, ASR7) の構成 初期値 ASR0 0000 0640H ASR1 0000 0644H ASR2 0000 0648H ASR3 0000 064CH ASR4 0000 0650H ASR5 0000 0654H ASR7 0000 065CH bit31 bit30 bit29 bit28 A31 A30 A29 ... bit31 bit30 bit29 bit28 A31 A30 A29 ... bit15 bit14 bit13 bit12 A31 A30 A29 ... bit15 bit14 bit13 bit12 A31 A30 A29 ... bit15 bit14 bit13 bit12 A31 A30 A29 ... bit15 bit14 bit13 bit12 A31 A30 A29 ... bit15 bit14 bit13 bit12 A31 A30 A29 ... ... bit18 bit17 bit16 INIT 時 RST 時 アクセス ... A18 0000H 0000H R/W ... bit18 bit17 bit16 ... A18 A17 A16 xxxxH xxxxH R/W ... bit2 bit1 bit0 ... A18 A17 A16 xxxxH xxxxH R/W ... bit2 bit1 bit0 ... A18 A17 A16 xxxxH xxxxH R/W ... bit2 bit1 bit0 ... A18 A17 A16 xxxxH xxxxH R/W ... bit2 bit1 bit0 ... A18 A17 A16 xxxxH xxxxH R/W ... bit2 bit1 bit0 ... A18 A17 A16 xxxxH xxxxH R/W A17 A16 R/W : リード / ライト可能 × :不定値 <注意事項> ASR と ACR はワードアクセスで同時設定してください。 ASR, ACRをハーフワードでアクセスする場合にはASR設定後にACRを設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 145 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ ■ 領域選択レジスタ (ASR0 ∼ ASR5, ASR7) のビット機能 ASR0 ∼ ASR5, ASR7(Area Select Register 0 ∼ 5, 7) は , CS0 ∼ CS5, CS7 の各チップセレ クト領域の開始アドレスを指定します。 開始アドレスは, A31∼A16の上位16ビットを設定できます。各チップセレクト領域は, このレジスタに設定されたアドレスから始まり , ASR0 ∼ ASR5, ASR7 レジスタの ASZ3 ∼ ASZ0 ビットで設定された範囲をとります。 各チップセレクト領域のバウンダリは , ASR0 ∼ ASR5, ASR7 レジスタの ASZ3 ∼ ASZ0 ビットの設定に従います。例えば , ASZ3 ∼ ASZ0 ビットにより , 1M バイトの領域を設 定した場合は , ASR0 ∼ ASR5, ASR7 レジスタの下位 4 ビットは無視され , A31 ∼ A20 ビットのみ意味を持ちます。 ASR0 レジスタは , INIT および RST により " 0000H" に初期化されます。ASR1 ∼ ASR5, ASR7 は , INIT および RST によっては初期化されて不定となります。 CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応する ASR レ ジスタを設定してください。 146 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ 領域構成レジスタ 0 ∼ 5, 7(ACR0 ∼ ACR5, ACR7) 4.2.2 ACR0 ∼ ACR5, ACR7(Area Configuration Register 0 ∼ 5, 7) は , 各チップセレク ト領域の機能を設定します。 ■ 領域構成レジスタ 0 ∼ 5, 7 (ACR0 ∼ ACR5, ACR7) の構成 図 4.2-2 領域構成レジスタ 0 ∼ 5, 7(ACR0 ∼ ACR5, ACR7) の構成 初期値 ACR0 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 0000 0642H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 ACR0 bit7 bit6 bit5 0000 0643H SREN PFEN WREN ACR1 bit15 bit14 bit13 bit4 0 bit12 bit3 bit2 bit1 bit10 bit9 RST 時 アクセス 1111**00B 1111**00B R/W 00000000B 00000000B R/W bit0 TYP3 TYP2 TYP1 TYP0 bit11 INIT 時 bit8 0000 0646H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB ACR1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0000 0647H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB ACR2 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit7 bit6 bit5 bit4 bit3 bit2 bit1 R/W bit8 0000 0652H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB ACR4 R/W bit0 0000 064FH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB ACR4 R/W bit8 0000 064EH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB ACR3 R/W bit0 0000 064BH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB ACR3 R/W bit8 0000 064AH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB ACR2 R/W R/W bit0 0000 0653H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB R/W R/W : リード / ライト可能 X : 不定値 *:モード端子の設定による ( 続く ) CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 147 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ ( 続き ) 初期値 ACR5 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 INIT 時 RST 時 0000 0656H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB ACR5 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit7 bit6 bit5 bit4 bit3 bit2 bit1 R/W bit8 0000 065EH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB ACR7 R/W bit0 0000 0657H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB ACR7 アクセス R/W bit0 0000 065FH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB R/W R/W : リード / ライト可能 X : 不定値 以下に , 各ビットの機能を説明します。 [bit15 ∼ bit12] ASZ3 ∼ ASZ0:Area SiZe bit 3 ∼ 0 各チップセレクト領域のサイズを以下のとおり設定します。 表 4.2-1 領域のサイズ設定 ASZ3 ASZ2 ASZ1 ASZ0 各チップセレクト領域のサイズ 0 0 0 0 64 K バイト (00010000H バイト , ASR A[31:16] ビット指定が有効 ) 0 0 0 1 128 K バイト (00020000H バイト , ASR A[31:17] ビット指定が有効 ) 0 0 1 0 256 K バイト (00040000H バイト , ASR A[31:18] ビット指定が有効 ) 0 0 1 1 512 K バイト (00080000H バイト , ASR A[31:19] ビット指定が有効 ) 0 1 0 0 1 M バイト (00100000H バイト , ASR A[31:20] ビット指定が有効 ) 0 1 0 1 2 M バイト (00200000H バイト , ASR A[31:21] ビット指定が有効 ) 0 1 1 0 4 M バイト (00400000H バイト , ASR A[31:22] ビット指定が有効 ) 0 1 1 1 8 M バイト (00800000H バイト , ASR A[31:23] ビット指定が有効 ) 1 0 0 0 16 M バイト (01000000H バイト , ASR A[31:24] ビット指定が有効 ) 1 0 0 1 32 M バイト (02000000H バイト , ASR A[31:25] ビット指定が有効 ) 1 0 1 0 64 M バイト (04000000H バイト , ASR A[31:26] ビット指定が有効 ) 1 0 1 1 128 M バイト (08000000H バイト , ASR A[31:27] ビット指定が有効 ) 1 1 0 0 256 M バイト (10000000H バイト , ASR A[31:28] ビット指定が有効 ) 1 1 0 1 512 M バイト (20000000H バイト , ASR A[31:29] ビット指定が有効 ) 1 1 1 0 1024 M バイト (40000000H バイト , ASR A[31:30] ビット指定が有効 ) 1 1 1 1 2048 M バイト (80000000H バイト , ASR A[31] ビット指定が有効 ) ASZ3 ∼ ASZ0 では , ASR とのアドレス比較のビット数を変更させることにより , 各 領域のサイズを設定します。そのため , ASR には比較されないビットが存在します。 ACR0 の ASZ3 ∼ ASZ0 ビットは , RST により 1111B(0FH) に初期化されますが , この設 定にかかわらず RST 直後の CS0 領域は特別に 00000000H から FFFFFFFFH ( 全領域 ) に 設定されています。これはリセットベクタおよび初期プログラムのフェッチのためで 148 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ あり , 一時的な状態です。ACR0 への最初の書込み後より , 全領域設定が解除され , 上 記の表に従ったサイズに設定されます。初期プログラムの早期の段階で , 必ず ACR0 を含む CS0 領域のすべての設定を行ってください。初期状態のままでは , CSER レジ スタの bit0:CSE0 を "0" に設定しても CS0 領域は禁止されず , また , ACR0 レジスタの bit5:WREN を "0" に設定しても CS0 領域への書込みはマスクされません。 ASR7 で設定する領域に FCRAM を接続する場合には , それぞれ 128M バイト (1011H) 以下に設定してください。 [bit11, bit10] DBW1, DBW0:Data Bus Width 1,0 各チップセレクト領域のデータバス幅を以下のとおり設定します。 表 4.2-2 チップセレクト領域のデータバス幅の設定 DBW1 DBW0 0 0 8 ビット 0 1 16 ビット ( ハーフワードアクセス ) 1 0 32 ビット ( ワードアクセス ) 1 1 データバス幅 ( バイトアクセス ) Reserved 設定禁止 ACR0 の DBW1, DBW0 ビットは , リセットシーケンス中にモードベクタの WTH ビットの値と同じ値が書き込まれます。 FCRAM を接続する領域では , 本ビットによるデータバス幅の設定はすべて同じに してください。 [bit9, bit8] BST1, BST0:Burst Size 1,0 各チップセレクト領域のバースト長を以下のとおりに設定します。 表 4.2-3 各チップセレクト領域の最大バースト長の設定 BST1 BST0 0 0 1( シングルアクセス ) 0 1 2 バースト 1 0 4 バースト 1 1 8 バースト 最大バースト長 シングルアクセス以外のバースト長が設定された領域は , プリフェッチアクセスま たはバス幅を超えるサイズのデータの読出しを行った場合のみ , バースト長から決 まるアドレス境界内で連続したバーストアクセスを行います。 • バス幅 32 ビット領域の最大バースト長は 4 バースト以下に設定してください。 2 バースト以下を推奨します。 • バス幅 16 ビット領域の最大バースト長は 2 バースト以下を推奨します。 シングルアクセス以外のバースト長設定を行った領域では RDY 入力を無視します。 FCRAM を接続する領域では , 本ビットによるバースト長の設定はすべて同じにし てください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 149 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit7] SREN:ShaRed ENable 各チップセレクト領域の BRQ/BGRNT による共有の許可・禁止を設定します。 表 4.2-4 各チップセレクト領域の BRQ/BGRNT による共有の許可 / 禁止の設定 SREN 共有の許可・禁止 0 BRQ/BGRNT による共有を禁止 (CSn は Hi-Z になりません *1) 1 BRQ/BGRNT による共有を許可 (CSn は Hi-Z になります *2) CSER により許可されたすべての領域の共有が許可されている場合のみ , アクセス ストローブ出力 (RD, WRn, WE) が Hi-Z になります。 [bit6] PFEN:PreFetch ENable 各チップセレクト領域のプリフェッチの許可 / 禁止を以下のとおりに設定します。 表 4.2-5 各チップセレクト領域のプリフェッチの許可 / 禁止の設定 PFEN プリフェッチ許可 / 禁止 0 プリフェッチ禁止 1 プリフェッチ許可 プリフェッチが許可された領域に対しての読出しを行うと , それに続くアドレスに 対して先読みを行い , 内蔵プリフェッチバッファに蓄積します。蓄積されたアドレ スに対して内部バスからのアクセスがあると , 外部アクセスを行わずにプリフェッ チバッファに先読みされたデータを返します。 詳細は「4.7 プリフェッチ動作」の項を参照してください。 [bit5] WREN:WRite ENable 各チップセレクト領域の書込みの許可 / 禁止を設定します。 表 4.2-6 各チップセレクト領域の書込みの許可 / 禁止の設定 WREN 書込み許可 / 禁止 0 書込み禁止 1 書込み許可 書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その アクセスは無視され , 外部アクセスを一切行いません。 データ領域などの書込みが必要な領域は , WREN ビットに "1" を設定してください。 150 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit4] LEND:Little ENDian select 各チップセレクト領域のバイトオーダリングを設定します。 表 4.2-7 各チップセレクト領域のバイトオーダリングの設定 LEND バイトオーダリング 0 ビッグエンディアン 1 リトルエンディアン ACR0のLENDビットには必ず"0"が設定され, 常にビッグエンディアンとなります。 [bit3 ∼ bit0] TYP3 ∼ TYP0:TYPe select 各チップセレクト領域のアクセスタイプを以下のとおりに設定します。 表 4.2-8 各チップセレクト領域のアクセスタイプの設定 TYP3 TYP2 TYP1 TYP0 0 x x 通常アクセス ( 非同期 SRAM, I/O, single/page/burst-ROM/Flash) 1 x x アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 ) x 0 RDY 端子による WAIT 挿入無効 x 1 RDY 端子による WAIT 挿入有効 ( バースト時は無効 ) 0 x WR3 ∼ WR0 端子をライトストローブとして使用 (WE は "H" 固定 ) 1 x WE 端子をライトストローブとして使用 *1 0 Memory type A: SDRAM/FCRAM( オートプリチャージを使用しません )*2 1 Memory type B: FCRAM( オートプリチャージを使用します )*2 0 x 0 1 アクセスタイプ 0 0 1 0 設定禁止 0 1 1 設定禁止 1 0 0 設定禁止 1 0 1 設定禁止 1 1 0 設定禁止 1 1 1 マスク領域設定 ( アクセスタイプは重複した領域のものになります。)*3 *1 : この設定をした場合 , WR3 ∼ WR0 は , 各バイトのイネーブルとして使用できます。 *2 : ACR7 レジスタにのみ有効です。ACR0, ACR1, ACR2, ACR3, ACR4, ACR5 レジス タでは設定禁止です。 *3 : 「● CS 領域マスク設定機能」を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 151 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ ● CS 領域マスク設定機能 ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更した領 域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP3 ∼ TYP0=1111B を設定し , マスク設定領域として機能させることができます。 マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設定を禁止 します。 マスク設定領域へのアクセスは , 以下のような動作を行います。 • マスク設定領域に対応する CS はアサートされません。 • ベース設定領域に対応する CS がアサートされます。 • ACR の以下の設定はマスク設定領域側のものが有効になります。 - bit11, bit10 (DBW1, DBW0) : バス幅設定 - bit9, bit8 (BST1, BST0) : バースト長設定 - bit7 (SREN) : 共有許可設定 - bit6 (PFEN) : プリフェッチ許可設定 - bit5 (WREN) : ライト許可設定 ( 注意事項 ) この設定のみ , ベース設定領域と異 なる設定を禁止します。 - bit4 (LEND) : リトルエンディアン設定 • ACR の以下の設定はベース設定領域側のものが有効になります。 - bit3 ∼ bit0 (TYP3 ∼ TYP0):アクセスタイプ設定 • AWR の設定はマスク設定領域側のものが有効になります。 • CHER の設定はマスク設定領域側のものが有効になります。 マスク設定領域は, ほかのベース設定領域内の一部の領域にのみ設定できます。ベース 設定領域がない領域に対して , マスク設定領域を設けないでください。また , マスク設 定領域を複数重複させないでください。ASR および ACR の ASZ3 ∼ ASZ0 ビットの設 定には十分注意してください。 これらのビットの使用に際して , 以下の制限事項があります。 • 書込み許可設定をマスクで実現することはできません。 • 書込み許可設定は , ベースとなるベース設定領域とマスク設定領域とで同じ設定と してください。 • マスク設定領域で書込み禁止を設定すると , その領域はマスクされずベース設定領 域として動作します。 • ベース設定領域で書込み禁止を設定し , マスク設定領域で書込み許可を設定すると , ベース設定のない領域となって誤動作します。 152 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7) 4.2.3 領域ウェイトレジスタについて説明します。 ■ 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7) AWR0 ∼ AWR5, AWR7 は , 各チップセレクト領域の各種ウェイトタイミングを指定し ます。 AWR0 以外は初期値が不定ですので , 各領域を CSER レジスタによって有効にする前 に , 設定を行ってください。 図 4.2-3 領域ウェイトレジスタ (AWR0 ∼ AWR5, AWR7) の構成 初期値 AWR0H bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 INIT 時 RST 時 アクセス 0000 0660H W15 W14 W13 W12 W11 W0 W09 W08 011111111B 011111111B R/W AWR0L bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 0000 0661H W07 W06 W05 W04 W03 W02 W01 W00 11111111B 11111011B R/W AWR1H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 0000 0662H W15 W14 W13 W12 W11 W0 W09 W08 xxxxxxxxB xxxxxxxxB R/W AWR1L bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0000 0663H W07 W06 W05 W04 W03 W02 W01 W00 xxxxxxxxB xxxxxxxxB R/W AWR2H bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 0000 0664H W15 W14 W13 W12 W11 W0 W09 W08 xxxxxxxxB xxxxxxxxB R/W AWR2L bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 0000 0665H W07 W06 W05 W04 W03 W02 W01 W00 xxxxxxxxB xxxxxxxxB R/W AWR3H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 0000 0666H W15 W14 W13 W12 W11 W0 W09 W08 xxxxxxxxB xxxxxxxxB R/W AWR3L bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0000 0667H W07 W06 W05 W04 W03 W02 W01 W00 xxxxxxxxB xxxxxxxxB R/W AWR4H bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 0000 0668H W15 W14 W13 W12 W11 W0 W09 W08 xxxxxxxxB xxxxxxxxB R/W AWR4L bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 0000 0669H W07 W06 W05 W04 W03 W02 W01 W00 xxxxxxxxB xxxxxxxxB R/W R/W : リード / ライト可能 X : 不定値 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 153 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ ( 続く ) ( 続き ) 初期値 AWR5H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 INIT 時 RST 時 アクセス 0000 066AH W15 W14 W13 W12 W11 W0 W09 W08 xxxxxxxxB xxxxxxxxB R/W AWR5L bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0000 066BH W07 W06 W05 W04 W03 W02 W01 W00 xxxxxxxxB xxxxxxxxB R/W AWR7H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 0000 066EH W15 W14 W13 W12 W11 W0 W09 W08 xxxxxxxxB xxxxxxxxB R/W AWR7L bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0000 066FH W07 W06 W05 W04 W03 W02 W01 W00 xxxxxxxxB xxxxxxxxB R/W R/W : リード / ライト可能 X : 不定値 ● 通常アクセスおよびアドレス / データマルチプレックスアクセス ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ たチップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアク セス動作を行う領域となります。 表 4.2-9 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定 TYP3 TYP2 TYP1 TYP0 0 0 x x アクセスタイプ 通常アクセス ( 非同期 SRAM, I/O, single/page/burst-ROM/Flash) 通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての AWR0 to AWR5, AWR7 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定ですので , 各領域を CSER レジスタによって有効にする前に設定を行ってください。 [bit15 ∼ bit12] W15 ∼ W12: ファーストアクセスウェイトサイクル (First Access Wait Cycle) これらのビットは , 各サイクルの最初のデータ取込み時のオートウェイトサイクル 数を設定します。バーストアクセスサイクル以外は , このウェイト設定にのみ使用 されます。 CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。 表 4.2-10 自動ウェイトサイクル数の設定 ( ファーストアクセス時 ) W15 W14 W13 W12 0 0 0 0 自動ウェイトサイクル 0 0 0 0 1 自動ウェイトサイクル 1 ファーストアクセスウェイトサイクル … 1 154 1 … 1 1 自動ウェイトサイクル 15 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit11 ∼ bit8] W11 ∼ W08: ページ内アクセスウェイトサイクル (Inpage Access Wait Cycle) これらのビットは , バーストアクセス時 , ページ内アクセスのオートウェイトサイ クル数を設定します。バーストアクセスサイクル以外では意味がありません。 表 4.2-11 自動ウェイトサイクル数の設定 ( バーストアクセス時 ) W11 W10 W09 W08 0 0 0 0 自動ウェイトサイクル 0 0 0 0 1 自動ウェイトサイクル 0 1 1 1 1 ページ内アクセスウェイトサイクル … … 自動ウェイトサイクル 15 ファーストアクセスウェイトサイクルとページ内アクセスウェイトサイクルに同 じ値を設定しても , それぞれのアクセスサイクルでのアドレスからのアクセスタイ ムは同じにはならないことに注意してください。ページ内アクセスサイクルでは , アドレス出力遅延が含まれるためです。 [bit7, bit6] W07, W06:読出し→書込みアイドルサイクル (Read → Write Idle Cycle) 読出し→書込みアイドルサイクルは , 読出しサイクル後に書込みサイクルが続く場 合に , 読出しデータと書込みデータのデータバス上での衝突を防ぐために設定しま す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子 はハイインピーダンス状態を維持します。 読出し後に書込みが続く場合 , もしくは , 読出しの後に別のチップセレクト領域へ のアクセスが発生した場合に指定したアイドルサイクルを挿入します。 表 4.2-12 アイドルサイクルの設定内容 CM71-10131-1 W07 W06 0 0 0 サイクル 0 1 1 サイクル 1 0 2 サイクル 1 1 3 サイクル 読出し→書込みアイドルサイクル FUJITSU MICROELECTRONICS LIMITED 155 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit5, bit4] W05, W04:書込みリカバリサイクル (Write Recovery Cycle) 書込みリカバリサイクルは , 書込みアクセス後に続けてアクセスする際の時間間隔 に制限のあるデバイスへのアクセスを制御する場合に設定します。書込みリカバリ サイクル中はすべてのチップセレクト信号をネゲートし , データのライトイネーブ ル端子を "H" に維持します。 書込みリカバリサイクルを "1" 以上に設定した場合は , 書込みアクセスの後には必 ず書込みリカバリサイクルが挿入されます。 表 4.2-13 書込みリカバリサイクル数の設定内容 W05 W04 0 0 0 サイクル 0 1 1 サイクル 1 0 2 サイクル 1 1 3 サイクル 書込みリカバリサイクル [bit3] W03:WRn, 出力タイミング選択 WRn, 出力タイミング設定は , 書込みストローブ出力を非同期ストローブとして使 用するか , 同期書込みイネーブルとして使用するかを選択します。非同期ストロー ブとすることにより通常メモリ / I/O に対応し , 同期イネーブルとすることによりク ロック同期のメモリ / I/O (ASIC 内蔵メモリなど ) に対応します。 表 4.2-14 WR0 ∼ WR1, WRn 出力タイミング設定 W03 WRn, 出力タイミング選択 0 MCLK 同期書込みイネーブル出力 (AS="L" から有効 ) 1 非同期書込みストローブ出力 ( 通常動作 ) 同期書込みイネーブルとした場合 (AWR:W03 ビットが "0"), 以下のような動作とな ります。 • 同期書込みイネーブル出力のタイミングは , 外部メモリアクセスクロックの MCLK 出力の立上りエッジで取り込まれることを前提としたタイミングになります。非同 期ストローブ出力とはタイミングが異なります。 • WRn, WE 端子出力は AS 端子出力がアサートされているタイミングから , 同期書 込みイネーブル出力をアサートします。外部バスへの書込みが行われる場合 , 同 期書込みイネーブル出力は "L" を出力します。外部バスからの読出しが行われる 場合 , 同期書込みイネーブル出力は "H" を出力します。 • 同期書込みイネーブル出力をアサートした次のクロックサイクルにて, 外部デー タ出力端子より書込みデータを出力します。 • 読出しストローブ出力 (RD) は , WRn, 出力タイミング設定の内容にかかわらず , 非同期読出しストローブとして機能します。データの入出力方向制御にそのまま 使用してください。 156 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ 同期書込みイネーブル出力を使用する場合には , 以下の制限があります。 • 以下の追加ウェイト設定をしないでください。 - CS → RD/WRn セットアップ設定 (AWR:W01 ビットには常には "0" を書いてく ださい ) - ファーストアクセスウェイトサイクル設定 (AWR:W15 ∼ W12 ビットには常に "0000B" を書いてください ) • 以下のアクセスタイプ設定 (ACR レジスタ中の TYP3 ∼ TYP0 ビット (bit3 ∼ bit0)) を設定しないでください。 - WRXO3 ∼ WRXO0 をライトストローブとして使用する設定 (ACR:TYP1 ビッ トには常に "0" を書いてください ) - RDY 入力有効設定 (ACR:TYP0 ビットには常に "0" を書いてください ) • 同期書込みイネーブル出力の場合 , バースト長は常に "1" (ACR:BST1, BST0 ビッ トに "00B") を設定してください。 [bit2] W02:アドレス→ CS 遅延 (Address → CS Delay) アドレス→ CS 遅延設定は , CS の立下りに対してアドレスなどが一定のセットアッ プを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする際にも CS のエッジを必要とする場合などに設定します。 アドレス出力から , CSXO7 ∼ CSXO0 出力のディレイを設定します。 表 4.2-15 アドレス→ CSn 遅延設定 W02 アドレス→ CS 遅延 0 遅延なし 1 遅延あり "0" を設定し , 遅延なしを選択した場合は , AS のアサートと同じタイミングで CSXO7 ∼ CSXO0 がアサート開始されます。このとき , 同じチップセレクト領域に連続したア クセスを実行した場合 , 両アクセスの間も CSXO7 ∼ CSXO0 はアサートを継続した まま変化しないことがあります。 "1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック MCLK 出力の立上 りから CSXO7 ∼ CSXO0 がアサート開始されます。このとき , 同じチップセレクト 領域に連続したアクセスを実行した場合でも , 両アクセスの間に CSXO7 ∼ CSXO0 ネゲートタイミングが発生します。 CS遅延ありを選択した場合は, 遅延させたCSXO7∼CSXO0のアサートから, 読出し/ 書込みストローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入 します (W01 の CS → RD/WRn セットアップ設定と同等の動作となります )。 アドレス→ CS 遅延設定は , 同一領域に対して出力される DACK2 ∼ DACK0 信号に も同様に作用します。 DACK2 ∼ DACK0 出力は , その領域に対する CSXO7 ∼ CSXO0 と同じ波形となりま す。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 157 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit1] W01:CS → RD/WRn セットアップ延長サイクル (CS → RD/WRn setup) CS→RD/WRnセットアップ延長サイクルは, CSXO7∼CSXO0アサート後, 読出し/書 込みストローブをアサートするまでの期間を延長する場合に設定します。CS アサー ト後 , 読出し / 書込みストローブをアサートする前に最低 1 サイクルのセットアッ プ延長サイクルを挿入します。 表 4.2-16 CSn → RD/WRn セットアップ延長サイクルの機能 W01 CS → RD/WRn セットアップ延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定して 0 サイクルを選択した場合は , 最速で ,CSXO7 ∼ CSXO0 アサート直 後の外部メモリクロック MCLKO 出力の立上りから RDXO/WRXO3 ∼ WRXO0 が出 力されます。 "1" を設定し , 1 サイクルを選択した場合は , RDXO/WRXO3 ∼ WRXO0/WE とも , 必 ず 1 サイクル以上遅れて出力されます。 同一チップセレクト領域内で , CSXO7 ∼ CSXO0 をネゲートしないまま連続してアク セスする場合 , このセットアップ延長サイクルは挿入されません。アドレス確定の セットアップ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CS 遅延を挿入することにより , 毎アクセス時に CS がいったんネゲートされるため , このセットアップ延長サイクルが有効となります。 W02 の CS 遅延設定を挿入してある場合 , W01 ビットの設定によらず常にこのセッ トアップサイクルが有効となります。 [bit0] W00:RD/WRn → CS ホールド延長サイクル (RD/WRn → CS Hold Cycle) RD/WRn → CS ホールド延長サイクルは , 読出し / 書込みストローブネゲート後 , CSXO7 ∼ CSXO0 ネゲートまでの期間を延長する場合に設定します。読出し / 書込 みストローブネゲート後 , CSXO7 ∼ CSXO0 をネゲートする前に , 1 サイクルのホー ルド延長サイクルを挿入します。 表 4.2-17 RD/WRn → CSn ホールド延長サイクルの機能 W00 RD/WRn → CS ホールド延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定して 0 サイクルを選択した場合は , RDXO/WRXO3 ∼ WRXO0 がネゲート された後の外部メモリクロック MCLKO 出力の立上りエッジよりホールド遅延経過 後に CSXO7 ∼ CSXO0 がネゲートされます。 "1" を設定して 1 サイクルを選択した場合は , CSXO7 ∼ CSXO0 は 1 サイクル遅れ てネゲートされます。 同一チップセレクト領域内で , CSXO7 ∼ CSXO0 をネゲートしないまま連続してア クセスする場合 , このホールド延長サイクルは挿入されません。アドレス確定の ホールド延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CS 遅延を挿入することにより , 毎アクセス時に CSXO7 ∼ CSXO0 がいったんネゲート されるため , このホールド延長サイクルが有効となります。 158 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ ● Memory type A(SDRAM/FCRAM) および Memory type B(FCRAM) ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ たチップセレクト領域は , SDRAM/FCRAM アクセスを行う領域となります。 表 4.2-18 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定 TYP3 TYP2 TYP1 TYP0 アクセスタイプ 1 0 0 0 Memory type A: SDRAM/FCRAM ( オートプリチャーを使用しません ) 1 0 0 1 Memory type B: FCRAM ( オートプリチャージを使用します ) SDRAM アクセス領域に対しての AWR6, AWR7 の各ビットの機能を以下に示します。 初期値が不定ですので, 各領域をCSERレジスタによって有効にする前に設定を行って ください。 SDRAM/FCRAM を接続する領域では , 本レジスタの設定をすべて同じにしてくださ い。 [bit15] W15:予約ビット 予約ビットです。必ず "0" を設定してください。 [bit14 ∼ bit12] W14 ∼ W12:RAS-CAS ディレイサイクル (RAS-CAS delay Cycle) これらのビットには , RAS 出力から CAS 出力までのサイクル数を設定してくださ い。 表 4.2-19 RAS 出力から CAS 出力までのサイクル数の設定 W14 W13 W12 0 0 0 1 サイクル 0 0 1 2 サイクル 1 … 1 1 RAS-CAS ディレイサイクル … 8 サイクル SDRAM/FCRAM を接続する領域では , 本ビットによる RAS-CAS ディレイサイクル の設定をすべて同じにしてください。 [bit11] W11:予約ビット 予約ビットです。必ず "0" を設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 159 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit10 ∼ bit8] W10 ∼ W08:CAS レイテンシ (CAS レイテンシ Cycle) これらのビットには , CAS レイテンシを設定してください。 表 4.2-20 CAS レイテンシの設定 W10 W09 W08 0 0 0 1 サイクル 0 0 1 2 サイクル 1 … 1 CAS レイテンシ … 1 8 サイクル SDRAM/FCRAM を接続する領域では , 本ビットによる CAS レイテンシの設定をす べて同じにしてください。 [bit7, bit6] W07, W06:読出し→書込みアイドルサイクル (Read → Write Idle Cycle) これらのビットには , 最後の読出しデータ入力サイクルから , 書込みコマンド発行 までの最小サイクル数を設定してください。 表 4.2-21 読出し→書込みサイクル W07 W06 0 0 1 サイクル 0 1 2 サイクル 1 0 3 サイクル 1 1 4 サイクル 読出し→書込みアイドルサイクル SDRAM/FCRAMを接続する領域では, 本ビットによる読出し→書込みアイドルサイ クルの設定をすべて同じにしてください。 [bit5, bit4] W05, W04:書込みリカバリサイクル (Write Recovery Cycle) これらのビットには , 最後の書込みデータ出力から , 次のリードコマンド発行まで の最小サイクル数を設定してください。 表 4.2-22 書込みリカバリサイクル設定 W05 W04 0 0 1 サイクル 0 1 2 サイクル 1 0 3 サイクル 1 1 4 サイクル 書込みリカバリサイクル SDRAM/FCRAMを接続する領域では, 本ビットによる書込みリカバリサイクルの設 定をすべて同じにしてください。 160 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit3, bit2] W03, W02:RAS アクティブタイム (RAS Active time) これらのビットには , RAS アクティブタイムの最小サイクル数を設定してくださ い。 表 4.2-23 RAS アクティブタイム設定 W03 W02 0 0 1 サイクル 0 1 2 サイクル 1 0 5 サイクル 1 1 6 サイクル RAS アクティブタイム SDRAM/FCRAM を接続する領域では , 本ビットによる RAS アクティブタイムの設 定をすべて同じにしてください。 [bit1, bit0] W01, W00:RAS プリチャージサイクル (RAS precharge cycle) これらのビットには , RAS プリチャージサイクル数を設定してください。 表 4.2-24 RAS プリチャージサイクル設定 W01 W00 0 0 1 サイクル 0 1 2 サイクル 1 0 3 サイクル 1 1 4 サイクル RAS プリチャージサイクル SDRAM/FCRAM を接続する領域では , 本ビットによる RAS プリチャージサイクル の設定をすべて同じにしてください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 161 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ メモリ設定レジスタ (SDRAM/FCRAM オート プリチャージなしモード用 )(MCRA) 4.2.4 メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA) の構成および機能について説明します。 ■ メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA) の構成 図 4.2-4 メモリ設定レジスタ (SDRAM/FCRAM オートプリチャージなしモード用 )(MCRA) の構成 初期値 MCRA bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 0000 0670H 予約 PSZ2 PSZ1 PSZ0 WBST BANK ABS1 ABS0 INIT 時 RST 時 アクセス xxxxxxxxB xxxxxxxxB R/W R/W : リード / ライト可能 × :不定値 ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ たチップセレクト領域に接続する SDRAM/FCRAM の各種設定を行います。 表 4.2-25 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定 TYP3 TYP2 TYP1 TYP0 1 0 0 0 アクセスタイプ Memory type A: SDRAM/FCRAM ( オートプリチャージを使用しません ) MCRB とレジスタハードウェアを共用しています。したがって , MCRA を変更した場 合は MCRB も変更されます。 同時に異なる値を書き込んだ場合 , MCRA に書き込んだ値が両レジスタに設定されま す。 [bit31] 予約:予約ビット 予約ビットです。必ず "0" を設定してください。 [bit30 ∼ bit28] PSZ2 ∼ PSZ0:ページサイズ (Page SiZe) これらのビットには , 接続する SDRAM のページサイズを設定してください。 表 4.2-26 SDRAM のページサイズの設定 PSZ2 PSZ1 PSZ0 162 SDRAM Page size 0 0 0 8 ビットカラムアドレス= A0 ∼ A7(256 メモリワード ) 0 0 1 9 ビットカラムアドレス= A0 ∼ A8(512 メモリワード ) 0 1 0 10 ビットカラムアドレス= A0 ∼ A9(1024 メモリワード ) 0 1 1 11 ビットカラムアドレス= A0 ∼ A9, A11(2048 メモリワード ) 1 x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit27] WBST:ライトバースト設定 (Write BurST enable) これらのビットには , 書込み時にバースト書込みを行うかどうかを設定してくださ い。 表 4.2-27 書込みバースト設定 WBST ライトバースト設定 0 シングル書込み 1 バースト書込み なお , FCRAM を接続する場合は , 必ず "1" を設定してください。FCRAM は "Burstread, Single-write" モードをサポートしていません。 [bit26] BANK:バンク数設定 (BANK type select) これらのビットには , 接続する SDRAM のバンク数を設定してください。 表 4.2-28 バンク数設定 BANK バンク数設定 0 2 バンク 1 4 バンク [bit25, bit24] ABS1, ABS0:アクティブバンク数設定 (Active Bank Select) これらのビットには , 同時にアクティブにする最大バンク数を設定してください。 表 4.2-29 アクティブバンク数設定 CM71-10131-1 ABS1 ABS0 0 0 1 バンク 0 1 2 バンク 1 0 3 バンク 1 1 4 バンク アクティブバンク数設定 FUJITSU MICROELECTRONICS LIMITED 163 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ メモリ設定レジスタ (FCRAM オートプリチャージ ありモード用 )(MCRB) 4.2.5 メモリ設定レジスタ (FCRAM オートプリチャージありモード用 ) (MCRB) の構成お よび機能について説明します。 ■ メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) の構成 ACR0 ∼ ACR7 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ たチップセレクト領域に接続する FCRAM の各種設定を行います。 図 4.2-5 メモリ設定レジスタ (FCRAM オートプリチャージありモード用 )(MCRB) の構成 初期値 MCRB bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 0000 0671H 予約 PSZ2 PSZ1 PSZ0 WBST BANK ABS1 ABS0 INIT 時 RST 時 アクセス xxxxxxxxB xxxxxxxxB R/W R/W : リード / ライト可能 × :不定値 表 4.2-30 アクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定 TYP3 TYP2 TYP1 TYP0 1 0 0 1 アクセスタイプ Memory type B: FCRAM ( オートプリチャージを使用します ) MCRA とレジスタハードウェアを共用しています。したがって , MCRA を変更した場 合は MCRB も変更されます。 同時に異なる値を書き込んだ場合には , MCRA に書き込んだ値が両レジスタに設定さ れます。 MCRA と同じ機能です。しかし , 本 TYP 設定においては , WBST ビットの機能を使用 できません (FCRAM は " バースト読出し , シングル書込み " モードをサポートしてい ません )。 164 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) 4.2.6 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成および機能について説明 します。 ■ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成 DMA フライバイアクセス時の各種ウェイトを設定します。 図 4.2-6 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成 初期値 IOWR0 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 0000 0678H RYE0 HLD0 WR01 WR00 IW03 IW02 IW01 IW00 IOWR1 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit15 bit14 bit13 bit12 bit11 bit10 bit9 RST 時 アクセス xxxxxxxxB xxxxxxxxB R/W xxxxxxxxB xxxxxxxxB R/W xxxxxxxxB xxxxxxxxB R/W bit16 0000 0679H RYE1 HLD1 WR11 WR10 IW13 IW12 IW11 IW10 IOWR2 INIT 時 bit8 0000 067AH RYE2 HLD2 WR21 WR20 IW23 IW22 IW21 IW20 R/W : リード / ライト可能 × :不定値 [bit31, bit23, bit15] RYE0, RYE1, RYE2:RDY 機能設定 (ReadY Enable0,1,2) DMA フライバイアクセス時の ch.0 ∼ ch.2 のチャネルごとの RDY 機能によるウェ イト制御の設定を行います。 表 4.2-31 RDY 機能設定 RYEn RDY 機能設定 0 I/O アクセスに対する RDY 入力は無効となります。 1 I/O アクセスに対する RDY 入力が有効になります。 "1" を設定することにより , 該当するチャネルのフライバイ転送時 , RDY 端子によ るウェイト挿入が可能となります。IOWR, IORD は RDY 端子が許可になるまで延 長されます。また , メモリ側の RDXO/WRXO3 ∼ WRXO0/WE もそれに同期して延 長されます。 フライバイ転送相手のチップセレクト領域が ACR レジスタにより RDY 有効に設定 されていると , IOWR 側の RYEn ビットとは関係なく , RDY 端子によるウェイト挿 入が可能となります。また , フライバイ転送相手のチップセレクト領域で ACR レジ スタにより RDY 無効にされている場合でも , IOWR 側の RYEn ビットにより RDY 有効に設定されていると , フライバイアクセス時のみ , RDY 端子によるウェイト挿 入が可能となります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 165 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit30, bit22, bit14] HLD0, HLD1, HLD2:ホールドウェイト設定 (HoLD wait control) DMA フライバイアクセス時の転送元アクセス側の読出しストローブ信号のホール ドサイクルを制御します。 表 4.2-32 ホールドウェイト設定 HLDn ホールドウェイト設定 0 ホールド延長サイクルを挿入しません。 1 ホールド延長サイクルを挿入し , 読出しサイクルを 1 サイクル延長 します。 "0" 設定時は , 転送元アクセス側の読出しストローブ信号 ( メモリ→ I/O の場合は RDXO, I/O →メモリの場合は IORD) と書込みストローブ信号 ( メモリ→ I/O の場合 は IOWR, I/O →メモリの場合は , WRXO3 ∼ WRXO0 および WE) は同じタイミング で出力されます。 "1"設定時は, 転送元アクセス側データの転送先に対するホールドタイムを確保する ため , ライトストローブ信号に対してリードストローブ信号を "1" サイクル長く出 力します。 [bit29, bit28, bit21, bit20, bit13, bit12] WR01, WR00, WR11, WR10, WR21, WR20 :I/O アイドルサイクル設定 (I/O Idle Cycle) DMA フライバイアクセス時に , 連続した I/O アクセスに対するアイドルサイクルを 設定します。 表 4.2-33 I/O アイドルサイクル数の設定内容 WRn1 WRn0 0 0 0 サイクル 0 1 1 サイクル 1 0 2 サイクル 1 1 3 サイクル I/O アイドルサイクル設定 アイドルサイクルを 1 サイクル以上設定した場合 , DMA フライバイアクセス時に , I/O アクセスの後に設定したサイクル数のアイドルサイクルを挿入します。アイド ルサイクル中は , すべての CS およびストローブ出力はネゲートされ , データ端子は ハイインピーダンスとなります。 166 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit27 ∼ bit24, bit19 ∼ bit16, bit11 ∼ bit8] IW03 ∼ IW00, IW13 ∼ IW10, IW23 ∼ IW20 : I/O ウェイトサイクル (I/O Wait Cycle) DMA フライバイアクセス時の I/O アクセスの自動ウェイトサイクルを指定します。 表 4.2-34 I/O ウェイトサイクル数の設定内容 IWn3 IWn2 IWn1 IWn0 0 0 0 0 0 サイクル 0 0 0 1 1 サイクル 1 1 1 1 I/O ウェイトサイクル … … 15 サイクル ウェイトサイクルの挿入数は , 転送元と転送先とでのデータの同期のため , IWnn ビットによる I/O 側の設定とフライバイ転送相手 ( メモリなど ) のウェイト設定の うち , 大きい方を使用します。そのため , IWnn ビットに設定したサイクル数より多 いウェイトが挿入される場合があります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 167 第 4 章 外部バスインタフェース 4.2 4.2.7 MB91402/403 シリーズ チップセレクト領域許可レジスタ (CSER ) チップセレクト領域許可レジスタ (CSER) の構成および機能について説明します。 ■ チップセレクト領域許可レジスタ (CSER) のビット構成 図 4.2-7 チップセレクト領域許可レジスタ (CSER) のビット構成 初期値 CSER bit31 0000 0680H CSE7 bit30 − bit29 bit28 bit27 bit26 bit25 bit24 INIT 時 CSE5 CSE4 CSE3 CSE2 CSE1 CSE0 00000001B RST 時 アクセス 00000001B R/W R/W : リード / ライト可能 − :未定義ビット [bit31 ∼ bit24] CSE7 ∼ CSE0:チップセレクト領域許可 (Chip select enable 0 ∼ 7) CS0 ∼ CS7 の各チップセレクト領域許可ビットです。 初期値は , "00000001B" で CS0 領域のみ許可されています。 "1" を書き込むことにより ASR0 ∼ ASR7, ACR0 ∼ ACR7, AWR0 to AWR5, AWR7 の 設定に従って動作します。 許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ い。ただし , リフレッシュコントロールレジスタ RCR の PON ビットによるパワー オンシーケンスの実行は , CSER によるチップセレクト領域の許可を行った後に開 始してください。CSER で許可されていない領域に接続された FCRAM に対しては , パワーオンシーケンスは無効となります。 表 4.2-35 チップセレクト領域許可 0 ∼ 7 の機能 CSEn 領域コントロール 0 禁止 1 許可 bit30 には常に "0" を書き込んでください。 表 4.2-36 チップセレクト領域許可ビットの対応する CS 領域 168 CSE のビット 対応する CS 領域 bit24:CSE0 CS0 bit25:CSE1 CS1 bit26:CSE2 CS2 bit27:CSE3 CS3 bit28:CSE4 CS4 bit29:CSE5 CS5 − bit31:CSE7 − CS7 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ キャッシュ取込み許可レジスタ (CHER) 4.2.8 キャッシュ取込み許可レジスタ (CHER) の構成および機能について説明します。 ■ キャッシュ取込み許可レジスタ (CHER) の構成 各チップセレクト領域から読み出したデータの内蔵キャッシュへの取込みを制御しま す。 図 4.2-8 キャッシュ取込み許可レジスタ (CHER) の構成 初期値 CHER bit23 0000 0681H CHE7 bit22 − bit21 bit20 bit19 bit18 bit17 bit16 CHE5 CHE4 CHE3 CHE2 CHE1 CHE0 INIT 時 RST 時 アクセス xxxxxxx1B xxxxxxx1B R/W R/W : リード / ライト可能 − :未定義ビット × :不定値 [bit23 ∼ bit16] CHE7 ∼ CHE0= キャッシュ領域設定 (Cache Enable 7 ∼ 0) チップセレクト領域ごとにキャッシュへの取込みの許可・禁止を指定します。 表 4.2-37 キャッシュ領域設定 CHEn キャッシュ領域設定 0 非キャッシュ領域 ( 該当する領域より読み出したデータをキャッシュに保存しません ) 1 キャッシュ領域 ( 該当する領域より読み出したデータをキャッシュに保存します ) bit22 には常に "0" を書き込んでください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 169 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ 端子 / タイミングコントロールレジスタ (TCR) 4.2.9 端子 / タイミングコントロールレジスタ (TCR) の構成および機能について説明します。 ■ 端子 / タイミングコントロールレジスタ (TCR) の構成 共通端子機能設定やタイミング制御など , 外部バス IF コントローラ全般にかかわる機 能を制御します。 図 4.2-9 端子 / タイミングコントロールレジスタ (TCR) の構成 初期値 TCR bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0000 0683H BREN PSUS PCLR 予約 予約 予約 RDW1 RDW0 00000000B INIT 時 RST 時 アクセス 0000xxxxB R/W R/W : リード / ライト可能 × :不定値 [bit7] BREN:BRQ 入力許可設定 (BRQ enable) BRQ 端子入力を許可し , 外部バス共有を可能にします。 表 4.2-38 BRQ 入力許可の設定 BREN BRQ 入力許可設定 0 BRQ/BGRNT によるバス共有を行いません。 BRQ 入力は無効となります。 1 BRQ/BGRNT によるバス共有を行います。 BRQ 入力は有効となります。 初期状態 ("0") のときは , BRQ の入力を無視します。 "1" を設定すると , BRQ 入力が "H" になった後 , バス開放が可能になった時点でバ スを開放 ( ハイインピーダンス制御 ) して BGRNT をアクティブ ("L" 出力 ) にします。 アドレス , データのアウトプットイネーブル (AC3 ∼ AC0, DC3 ∼ DC0) を禁止状態 ("H"出力)にします。CSX7∼CSX0は, ACRのSRENビットが"1"の領域に対してのみ, 対応する CSC7 ∼ CSC0 を禁止状態 ("H" 出力 ) にします。各ストローブのアウト プットイネーブル (RDXC, WRXC) は , CSER で有効に設定してある領域に対応する ACR の SREN がすべて "1" の場合に禁止状態 ("H" 出力 ) となります。 <注意事項> MB91402/403 シリーズは内蔵 RAM への 32bit bus を FR コアと MPU I/F で共用するため に FR コアが持つ外部バス共有機能を使用しています。そのため , MPU I/F を使用すると きは , 本ビットをセットする必要があります ( 図 1.2-1 を参照してください )。 170 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit6] PSUS:プリフェッチ抑止 (Prefetch SUSpend) すべての領域に対するプリフェッチの一時停止を制御します。 表 4.2-39 プリフェッチの制御 PSUS プリフェッチ制御 0 プリフェッチ許可 1 プリフェッチ抑止 "1" を設定すると , "0" を書き込むまでの間 , 新規のプリフェッチ動作を行いません。 この間 , プリフェッチバッファへのミスが発生しない限りはプリフェッチバッファ の内容は消去されませんので , プリフェッチを再開する前に bit5:PCLR ビット機能 によりプリフェッチバッファのクリアを行ってください。 [bit5] PCLR:プリフェッチバッファ全クリア (Prefetch buffer CleaR) プリフェッチバッファのすべての内容をクリアします。 表 4.2-40 プリフェッチバッファの制御 PCLR プリフェッチバッファ制御 0 通常状態 1 プリフェッチバッファクリア "1" を書き込むと 1 度だけプリフェッチバッファをすべてクリアします。バッファ クリアが完了すると自動的にビット値は "0" に戻ります。 PSUS ビットでプリフェッ チを中断 ("1" に設定 ) しておいてからバッファのクリアを行ってください (PSUS と PCLR の両ビットに同時に "10B" を書込み可能 )。 [bit4 ∼ bit2] 予約:予約ビット 予約ビットです。必ず "0" を設定してください。 [bit1, bit0] RDW1, RDW0:ウェイトサイクル短縮 (ReDuce Wait cycle) すべてのチップセレクト領域およびフライバイ用 I/O チャネルに対して , 自動アク セスサイクルウェイトの設定値を AWR レジスタの設定値はそのままで自動ウェイ トサイクルのみ一律に削減します。アイドルサイクルやリカバリサイクル , セット アップやホールドサイクルの設定には影響しません。 表 4.2-41 ウエイトサイクルの設定 RDW1 RDW0 0 0 通常ウェイト (AWR0 to AWR5, AWR7 の設定値 ) 0 1 AWR0 to AWR5, AWR7 の設定値の 1/2(1 ビット右シフト ) 1 0 AWR0 to AWR5, AWR7 の設定値の 1/4(2 ビット右シフト ) 1 1 AWR0 to AWR5, AWR7 の設定値の 1/8(3 ビット右シフト ) ウェイトサイクル短縮 この機能は , ベースクロックを低速にしている間や , 外部バスクロックの分周比設 定を大きくしている間など , 低速クロックで動作している間 , 過剰なアクセスサイ CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 171 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ クルウェイトがかかることを防ぐためのものです。 通常 , このような場合にウェイトサイクルを設定し直すには , すべての AWR をそれ ぞれ書換えなければなりませんが , RDW1, RDW0 ビットの機能を使うと , すべての AWRの設定は高速クロックのときの設定のままで, アクセスサイクルウェイトのみ 一度に削減することができます。 クロックを高速に戻す前に , 必ず RDW1, RDW0 ビットを "00B" に設定し直してくだ さい。 172 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ リフレッシュコントロールレジスタ (RCR) 4.2.10 リフレッシュコントロールレジスタ (RCR) の構成および機能について説明します。 ■ リフレッシュコントロールレジスタ (RCR) のビット構成 図 4.2-10 リフレッシュコントロールレジスタ (RCR) のビット構成 初期値 RCRH bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 0000 0684H SELF RRLD RFINT5 RFINT4 RFINT3 RFINT2 RFINT1 RFINT0 RCRL bit23 bit22 bit21 bit20 bit19 bit18 bit17 INIT 時 RST 時 アクセス 00xxxxxxB 00xxxxxxB R/W xxxx0xxxB xxxx0xxxB R/W bit16 0000 0685H BRST RFC2 RFC1 RFC0 PON TRC2 TRC1 TRC0 R/W : リード / ライト可能 × :不定値 SDRAM に対する各種リフレッシュ制御設定を行います。どの領域に対しても SDRAM 制御を設定していない場合 , 本レジスタの設定には意味がありませんが , その場合はレ ジスタ値を初期化状態から書き換えないでください。 リードモディファイライト (RMW) 系命令 の読出しの場合は , SELF, RRLD, PON ビッ トは必ず "0" を返します。 [bit31] SELF:セルフリフレッシュ制御 (SELF refresh assert) セルフリフレッシュモードに対応するメモリに対してセルフリフレッシュモード の制御を行います。 表 4.2-42 セルフリフレッシュの制御 SELF セルフリフレッシュ制御 0 オートリフレッシュもしくはパワーダウン 1 セルフリフレッシュモードへ移行 "1" を設定すると SELF コマンド発行後にセルフリフレッシュを行います。"0" を書 き込むとセルフリフレッシュモードを終了します。 デバイスをストップモードにする際に SDRAM の内容を保持させたい場合は , ス トップモードに入れる前に本ビットにてセルフリフレッシュモードに入れてくだ さい。この際 , セルフリフレッシュ遷移前に集中リフレッシュを行いますので , そ れが終了するまでの間に発生した外部アクセス要求は待たされます。また , ストッ プモードへの遷移も待たされます。 セルフリフレッシュモードからの解除は , 本ビットへの "0" 書込みまたは SDRAM に 対するアクセスの発生によって行われます。この際 , 解除直後に集中リフレッシュを 行いますので , SDRAM アクセスを含む外部アクセスを行うと , しばらくの間 , 外部ア CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 173 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ クセス要求が待たされて CPU の動作が停止します。 セルフリフレッシュモードに入れない状態で LSI をストップモードにすると , その ままパワーダウンモードとなり , SDRAM の内容が破壊されます。 リードモディファイライト (RMW) 系命令の読出しの場合は , 必ず "0" を返します。 [bit30] RRLD:リフレッシュカウンタ起動制御 (Refresh counter ReLoaD) リフレッシュカウンタの動作開始およびリロードを指示します。 表 4.2-43 リフレッシュカウンタ起動の制御 RRLD リフレッシュカウンタ起動制御 0 無効 ( 何もしません ) 1 オートリフレッシュを 1 回実行し , RFINT の値をリロードします。 初期状態ではリフレッシュカウンタは停止しています。この状態で本ビットに "1" を設定すると , その時点で CSER で有効になっているすべての SDRAM 領域に対し て分散リフレッシュモード時はオートリフレッシュを 1 回 , 集中リフレッシュモー ド時は RFC で指定された回数実行し , その後 RFINT5 ∼ RFINT0 ビットの値をリ ロードします。これ以降 , リフレッシュカウンタはダウンカウントを開始し , カウ ンタ値が "000000B" からアンダフローを発生するたびに , RFINT5 ∼ RFINT0 ビット の値をリロードすると同時にオートリフレッシュを 1 回実行する , という動作を繰 り返します。リロード終了後 "0" に戻ります。 オートリフレッシュを停止させたい場合は , RFINT5 ∼ RFINT0 ビットに "000000B" を書き込んでください。 リードモディファイライト (RMW) 系命令の読出しの場合は , 必ず "0" を返します。 [bit29 ∼ bit24] RFINT5 ∼ RFINT0: オートリフレッシュインターバル (ReFresh INTerval) RFINT5 ∼ RFINT0 は , オートリフレッシュの間隔を指定します。 オートリフレッシュ間隔は分散リフレッシュモード時 {(RFINT5 ∼ RFINT0 の値 ) × 32×(外部バスクロックサイクル)}, 集中リフレッシュモード時 {(RFINT5∼RFINT0 の値 ) × 32 × (RFC での指定回数 ) × ( 外部バスクロックサイクル )} で求めること ができます。 オートリフレッシュを停止させたい場合は , RFINT5 ∼ RFINT0 ビットに "000000B" を書き込んでください。 なお , オートリフレッシュコマンドを発行している時間も , リフレッシュカウンタ はダウンカウントを行っています。 174 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ [bit23] BRST:バーストリフレッシュ制御 (BuRST refresh select) オートリフレッシュの際の動作モードを制御します。 表 4.2-44 オートリフレッシュモードの制御 BRST オートリフレッシュモードの制御 0 分散リフレッシュ ( 分散してオートリフレッシュを起動します ) 1 バーストリフレッシュ (1 回に連続してオートリフレッシュを起動します ) 分散リフレッシュを設定している場合 , 1 回のリフレッシュ間隔ごとに 1 回 , オート リフレッシュコマンドを発行します。 バーストリフレッシュを設定している場合 , 1 回のリフレッシュ間隔ごとに , リフ レッシュカウンタに設定した回数のオートリフレッシュコマンドを連続して発行 します。 [bit22 ∼ bit20] RFC2 ∼ RFC0:リフレッシュ回数 (ReFresh Count) SDRAM すべてをリフレッシュするために必要なリフレッシュ回数を指定します。 表 4.2-45 リフレッシュ回数の設定 RFC2 RFC1 RFC0 0 0 0 256 0 0 1 512 0 1 0 1024 0 1 1 2048 1 0 0 4096 1 0 1 8192 1 1 0 設定禁止 1 1 1 リフレッシュ禁止 リフレッシュ回数 ここで指定されたリフレッシュ回数は , セルフリフレッシュモード遷移前および遷 移後に実行される集中リフレッシュの際の回数となります。また , BRST ビットに よりバーストリフレッシュを選択している場合は , リフレッシュインターバル 1 回 ごとに発行されるリフレッシュコマンドの回数となります。 [bit19] PON:パワーオン制御 (Power ON) SDRAM(FCRAM) のパワーオンシーケンスを制御します。 表 4.2-46 パワーオンシーケンスの制御 PON パワーオン制御 0 無効 ( 何もしません ) 1 パワーオンシーケンス開始 PON ビットに "1" を書き込むことにより , SDRAM のパワーオンシーケンスを開始 します。パワーオンシーケンスを開始する前に必ず対応する AWR, MCRA(B), CSER などのレジスタを設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 175 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ パワーオンシーケンスを開始すると本ビットは "0" に戻ります。 PON ビットを有効にするときには , RFINT の設定と RRLD を有効にしてリフレッ シュカウンタも動作させてください。PON ビットのみでは , リフレッシュ動作を行 いません。 SELF ビットと同時に有効にしないでください。 リードモディファイライト (RMW) 系命令 の読出しの場合は , 必ず "0" を返します。 [bit18 ∼ bit16] TRC2 ∼ TRC0:リフレッシュサイクル (tRC) 設定 (Time of Refresh Cycle) リフレッシュサイクル (tRC) を設定してください。 表 4.2-47 リフレッシュサイクルの設定 176 TRC2 TRC1 TRC0 0 0 0 4 0 0 1 5 0 1 0 6 0 1 1 7 1 0 0 8 1 0 1 9 1 1 0 10 1 1 1 11 リフレッシュサイクル (tRC) FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.2 MB91402/403 シリーズ モードレジスタ (MODR) 4.2.11 モードレジスタ (MODR) の構成および機能について説明します。 ■ モードレジスタ (MODR) 動作モードを決定します。本レジスタは , INIT 直後のリセットシーケンス中に , ハード ウェアにより "000FFFF8H" 番地に配置された 1 バイトのモードデータを自動的に書き 込みます。 ユーザプログラムによるアクセスはできません。ただし , 例外として , エミュレータデ バッガ , モニタデバッガを使用して , 0000_07FDH をマニュアル操作でアクセスするこ とにより , 変更可能です。ICE 使用時はその機能を使用して , 本レジスタに適切な値を 書き込むことにより , プログラムロード前のモードデータの設定を行います。 FR ファミリのモードレジスタのアドレス (0000_07FFH) には何も存在しません。 図 4.2-11 モードレジスタ (MODR) のビット構成 初期値 MODR bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 予約 予約 予約 予約 予約 予約 WTH1 WTH0 INIT 時 RST 時 アクセス xxxxxxxxB xxxxxxxxB R/W R/W : リード / ライト可能 × :不定値 [bit23 ∼ bit18] 予約:予約ビット 予約ビットです。必ず "0" が設定されるようにしてください。 [bit17, bit16] WTH1, WTH0:初期バス幅設定 (bus WidTH 1, 0) リセットベクタ読出し時のバス幅 , および ACR0 レジスタの DBW1, DBW0 ビット の初期値を指定します。 表 4.2-48 初期バス幅の設定 WTH1 WTH0 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 設定禁止 バス幅 WTH1, WTH0 ビットの設定が , ACR0 レジスタの DBW1, DBW0 ビットに反映され ます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 177 第 4 章 外部バスインタフェース 4.3 4.3 MB91402/403 シリーズ チップセレクト領域の設定例 外部バスインタフェースには全 8 領域分のチップセレクト領域を設定できます。 チップセレクト領域の設定例を説明します。 ■ チップセレクト領域の設定例 各領域のアドレス空間は , ASR0 ∼ ASR7(Area Select Register) と ACR0 ∼ ACR7(Area Configuration Register) の ASZ3 ∼ ASZ0 ビットで , 4G バイトの空間に最小 64K バイト 単位で任意に配置することができます。これらのレジスタによって指定された領域に 対してバスアクセスを行うと , アクセスサイクル中に対応するチップセレクト信号 (CSX0, CSX1, CSX6) が "L" 出力となります。 ● ASR および ASZ3 ∼ ASZ0 の設定例 • ASR0=000CH ACR0 → ASZ3 ∼ ASZ0=0010B : チップセレクト領域 0 は , 000C0000H から 000FFFFFH に割り当てられます。 • ASR1=0020H ACR1 → ASZ3 ∼ ASZ0=0000B : チップセレクト領域 1 は , 00200000H から 0020FFFFH に割り当てられます。 • ASR6=0800H ACR6 → ASZ3 ∼ ASZ0=0100B : チップセレクト領域 6 は , 08000000H から 080FFFFFH に割り当てられます。 このとき , ACR → ASZ3 ∼ ASZ0 が 1M バイトの設定になっているので , バ ウンダリは 1M バイト単位となり , ASR6[bit19 ∼ bi1t6] は無視されます。 リセット後は , ACR0 に書込みが行われるまでの間 , 00000000H ∼ FFFFFFFFH がチップ セレクト領域 0 に割り当てられます。 チップセレクト領域は , お互いにオーバラップしないように設定してください。 図 4.3-1 チップセレクト領域の設定例 (初期値) (例) 00000000H 00000000H 000C0000H 領域0 256Kバイト 領域1 64Kバイト 領域6 1Mバイト 000FFFFFH 00100000H 領域0 00200000H 0020FFFFH 00210000H 08000000H 080FFFFFH FFFFFFFFH 178 FFFFFFFFH FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ 4.4 エンディアンとバスアクセス WR3∼WR0の制御信号は, データバス幅に関係なくデータバスのバイト位置に常に1 対 1 に対応します。以下に , バスモード別に , 設定されたデータバス幅で使用される FR ファミリのデータバスのバイト位置とそれに対応する制御信号をまとめます。 ■ データバス幅と制御信号との関係 WR3∼WR0の制御信号は, データバス幅に関係なくデータバスのバイト位置に常に1対 1 に対応します。 ここでは , バスモード別に設定されたデータバス幅で使用されるデータバスのバイト 位置とそれに対応する制御信号をまとめます。 ● 通常バスインタフェース 図 4.4-1 通常バスインタフェース a) 32ビットバス幅 データバス 制御信号 b) 16ビットバス幅 データバス 制御信号 c) 8ビットバス幅 データバス 制御信号 D31 WR0 WR0 WR0 WR1 WR1 - - WR2 - - - WR3 - - - D0 (D15~D0は未使用) (D23~D0は未使用) ● 時分割入出力インタフェース 図 4.4-2 時分割入出力インタフェース a) 16ビットバス幅 データバス b) 8ビットバス幅 出力アドレス 制御信号 データバス 出力アドレス 制御信号 D31 A15~A8 WR0 A7~A0 WR0 A7~A0 WR1 - - - D16 - - - - - - - - - - - - (D15~D0は未使用) CM71-10131-1 (D23~D0は未使用) FUJITSU MICROELECTRONICS LIMITED 179 第 4 章 外部バスインタフェース 4.4 4.4.1 MB91402/403 シリーズ ビッグエンディアンのバスアクセス FR ファミリは CS0 領域を除いて , チップセレクトごとにビッグエンディアン / リト ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に 設定した場合は , その領域をリトルエンディアンとして扱います。 通常 , FR ファミリは , ビッグエンディアンで外部バスアクセスを行います。 ■ データフォーマット 内部レジスタと外部データバスとの関係は以下のようになります。 ● ワードアクセス (LD, ST 命令実行時 ) 図 4.4-3 データフォーマット(ワードアクセス) 内部レジスタ 外部バス D31 D31 AA AA BB BB CC CC DD DD D23 D23 D15 D15 D7 D7 D0 D0 ● ハーフワードアクセス (LDUH, STH 命令実行時 ) 図 4.4-4 データフォーマット(ハーフワードアクセス) a)出力アドレス下位"00H" 内部レジスタ b)出力アドレス下位"10H" 外部バス D31 内部レジスタ 外部バス D31 D31 D31 D23 D23 D23 D15 D15 AA D23 BB D15 AA D7 D7 AA BB BB D7 D7 BB D0 D0 D15 AA D0 D0 ● バイトアクセス (LDUB, STB 命令実行時 ) 図 4.4-5 データフォーマット(バイトアクセス) a)出力アドレス下位"00H" b)出力アドレス下位"01H" c)出力アドレス下位"10H" d)出力アドレス下位"11H" 内部レジスタ 外部バス 内部レジスタ 外部バス 内部レジスタ 外部バス 内部レジスタ 外部バス D31 D31 D31 D31 D31 D31 D31 D31 D23 D23 D23 D23 D23 D15 D15 D15 AA D23 D23 D23 AA D15 D15 D15 D15 D15 AA D7 D7 D7 D0 180 D7 D7 AA AA D0 D0 D7 D7 AA D0 D0 D7 AA D0 FUJITSU MICROELECTRONICS LIMITED D0 AA D0 CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ データバス幅 ● 32 ビットバス幅 図 4.4-6 データバス幅 (32 ビットバス ) 内部レジスタ D31 D23 D15 D07 外部バス AA BB AA BB 読出し/書込み CC CC DD DD D31 D23 D15 D07 ● 16 ビットバス幅 図 4.4-7 データバス幅 (16 ビットバス ) 内部レジスタ 外部バス 出力アドレス下位 D31 D23 D15 D07 AA 読出し/書込み BB "00H" "10H" AA CC BB DD D31 D23 CC DD ● 8 ビットバス幅 図 4.4-8 データバス幅 (8 ビットバス ) 内部レジスタ D31 D23 D15 D07 CM71-10131-1 外部バス 出力アドレス下位 読出し/書込み AA "00H" "01H" "10H" "11H" AA BB CC DD D31 BB CC DD FUJITSU MICROELECTRONICS LIMITED 181 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ 外部バスアクセス 外部バスアクセス (32 ビット /16 ビット /8 ビットバス幅 ) をワード / ハーフワード / バ イトアクセスの別に , 図 4.4-9 , 図 4.4-10 , 図 4.4-11 に示します。 また , 以下の項目も合わせて 図 4.4-9 , 図 4.4-10 , 図 4.4-11 に示します。 • アクセスバイト位置 • プログラムアドレス • 出力アドレスバスアクセス回数 PA1/PA0 : プログラムで指定したアドレス下位 2 ビット 出力 A1/A0 : 出力するアドレスの下位 2 ビット : 出力するアドレスの先頭バイト位置 : アクセスするデータバイト位置 + ①∼④ : バスアクセス回数 FR ファミリは , ミスアラインエラーを検出しません。したがって , ワードアクセスの 場合には , プログラムで指定したアドレス下位 2 ビットが "00B" "01B" "10B" "11B" で あっても , 出力するアドレスの下位 2 ビットはすべて "00B" となり , ハーフワードアク セスの場合には "00B" "01B" のときには "00B" に , "00B" "01B" のときには "10B" になり ます。 ● 32 ビットバス幅 (A) ワードアクセス 図 4.4-9 外部バスアクセス (32 ビット幅 ) (a) PA1/PA0=00B (b) PA1/PA0=01B (c) PA1/PA0=10B (d) PA1/PA0=11B → ①出力 A1/A0=00B → ① 出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B ① ① ① MSB LSB ① ⇒ 00H 01H 10H 11H ⇒ 00H 01H 10H 11H ⇒ 00H 01H 10H 11H ⇒ 00H 01H 10H 11H 32 ビット (B) ハーフワードアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B (c) PA1/PA0=10B (d) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=10B → ①出力 A1/A0=10B ① ① ① ① ⇒ 182 00H 01H 10H 11H ⇒ 00H 01H 10H 11H ⇒ 00H 01H 10H 11H FUJITSU MICROELECTRONICS LIMITED ⇒ 00H 01H 10H 11H CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ (C) バイトアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B (c) PA1/PA0=10B (d) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=01B → ①出力 A1/A0=10B → ① 出力 A1/A0=11B ① ① ① ① ⇒ 00H 01H 10H ⇒ 11H 00H 01H 10H 11H ⇒ 00H 01H 10H 11H ⇒ 00H 01H 10H 11H ● 16 ビットバス幅 (A) ワードアクセス 図 4.4-10 外部バスアクセス (16 ビットバス幅 ) (a) PA1/PA0=00B (a) PA1/PA0=01B (c) PA1/PA0=10B (d) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B ②出力 A1/A0=10B ②出力 A1/A0=10B ②出力 A1/A0=10B ②出力 A1/A0=10B MSB LSB ① ⇒ 00H 01H ① ⇒ 00H 01H ① ⇒ 00H 01H ① ⇒ 00H 01H ② ⇒ 10H 11H ② ⇒ 10H 11H ② ⇒ 10H 11H ② ⇒ 10H 11H 16 ビット (B) ハーフワードアクセス (a) PA1/PA0=00B (a) PA1/PA0=01B (c) PA1/PA0=10B (d) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=10B → ①出力 A1/A0=10B ① ⇒ 00H 01H 10H 11H CM71-10131-1 ① ⇒ 00H 01H 10H 11H ① ⇒ 00H 01H 10H 11H FUJITSU MICROELECTRONICS LIMITED ① ⇒ 00H 01H 10H 11H 183 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ (C) バイトアクセス (a) PA1/PA0=00B (a) PA1/PA0=01B (c) PA1/PA0=10B (d) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=01B → ①出力 A1/A0=10B → ①出力 A1/A0=10B ① ⇒ 00H 01H 10H 11H ① ⇒ 00H 01H 10H 11H ⇒ ① 00H 01H 10H 11H ⇒ ① 00H 01H 10H 11H ● 8 ビットバス幅 (A) ワードアクセス 図 4.4-11 外部バスアクセス (8 ビットバス幅 ) (a) PA1/PA0=00B (a) PA1/PA0=01B (a) PA1/PA0=10B (a) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B ②出力 A1/A0=01B ③出力 A1/A0=10B ④出力 A1/A0=11B ②出力 A1/A0=01B ③出力 A1/A0=10B ④出力 A1/A0=11B ②出力 A1/A0=01B ③出力 A1/A0=10B ④出力 A1/A0=11B ②出力 A1/A0=01B ③出力 A1/A0=10B ④出力 A1/A0=11B MSB LSB ① ⇒ 00H ① ⇒ 00H ① ⇒ 00H ① ⇒ 00H ② ⇒ 01H ② ⇒ 01H ② ⇒ 01H ② ⇒ 01H ③ ⇒ 10H ③ ⇒ 10H ③ ⇒ 10H ③ ⇒ 10H ④ ⇒ 11H ④ ⇒ 11H ④ ⇒ 11H ④ ⇒ 11H 8 ビット (B) ハーフワードアクセス (a) PA1/PA0=00B (a) PA1/PA0=01B (a) PA1/PA0=10B (a) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B → ①出力 A1/A0=00B ②出力 A1/A0=01B ②出力 A1/A0=01B ②出力 A1/A0=01B ②出力 A1/A0=11B ① ⇒ 00H ① ⇒ 00H 00H 00H ② ⇒ 01H ② ⇒ 01H 01H 01H 184 10H 10H ① ⇒ 10H ① ⇒ 10H 11H 11H ② ⇒ 11H ② ⇒ 11H FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ (C) バイトアクセス (a) PA1/PA0=00B (a) PA1/PA0=01B (a) PA1/PA0=10B (a) PA1/PA0=11B → ①出力 A1/A0=00B → ①出力 A1/A0=01B → ①出力 A1/A0=10B → ①出力 A1/A0=11B ① ⇒ 00H 01H ① ⇒ 00H 00H 00H 01H 01H 01H 10H 10H 10H 10H 11H 11H ① ⇒ 11H ① ⇒ 11H ■ 外部デバイスとの接続例 図 4.4-12 外部デバイスとの接続例 D07 ~ D00 WR3 D15 ~ D08 WR2 D23 ~ D16 WR1 D31 ~ D24 WR0 FR コア A31 ~ A00 A31 A31 A02 A01 ~ 00H D31 01H D24 D23 10H 11H D16 D15 D08 D07 D00 A31 ~ ~ 0 D15 A00 1 D08 D07 D00 * 32ビットデバイス 16ビットデバイス ("00B"~"11B" アドレス下位2ビット) ("0"/"1" アドレス下位1ビット) 0 D07 D00 8ビットデバイス* *:16ビット/8ビットデバイスの場合は,本マクロの MSB側のデータバスを使用します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 185 第 4 章 外部バスインタフェース 4.4 4.4.2 MB91402/403 シリーズ リトルエンディアンのバスアクセス FR ファミリは CS0 領域を除いて , チップセレクトごとにビッグエンディアン / リト ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に 設定した場合は , その領域はリトルエンディアンとして扱います。 FR ファミリのリトルエンディアンバスアクセスは , ビッグエンディアン時のバスア クセス動作を利用し , 基本的にはビッグエンディアン時の出力アドレスの順番と制 御信号の出力は同じで , データバスのバイト位置をバス幅に応じてスワップするこ とにより実現しています。 接続時には , ビッグエンディアン領域とリトルエンディアン領域を物理的に分ける 必要がありますので注意してください。 ■ リトルエンディアンとビッグエンディアンの相違点 リトルエンディアンとビッグエンディアンの相違点を以下に説明します。 • 出力するアドレスの順番はビッグエンディアン / リトルエンディアンでは変わりま せん。 • ワードアクセス : ビッグエンディアンのアドレス A1,A0=00B に対応する MSB 側のバイトデータがリトルエンディアンでは LSB 側 のバイトデータになります。 ワードアクセスの場合は , ワード内の 4 バイトのすべての バイト位置が反転します。 • ハーフワードアクセス : ビッグエンディアンのアドレス A0 に対応する MSB 側の バイトデータがリトルエンディアンでは LSB 側のバイト データになります。 ハーフワードアクセスの場合は , ハーフワード内の 2 バイ トのバイト位置が反転します。 • バイトアクセス : ビッグエンディアン / リトルエンディアンとも同じです。 ■ リトルエンディアン領域に対する制限事項 • リトルエンディアン領域に対してプリフェッチを許可している場合は , その領域に 対するアクセスは必ずワードアクセスにて行ってください。プリフェッチバッファ に読み込まれたデータをワード長以外でアクセスすると , 正しくエンディアン変換 が行われず , 誤ったデータを読み出してしまいます。これは , エンディアン変換機構 のハードウェア的な制限によるものです。 • リトルエンディアン領域には , 命令コードを配置しないでください。 186 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ データフォーマット 内部レジスタと外部データバスとの関係は以下のようになります。 ● ワードアクセス (LD, ST 命令実行時 ) 図 4.4-13 内部レジスタと外部データバスとの関係 ( ワードアクセス ) 内部レジスタ 外部バス D31 D31 AA DD BB CC CC BB DD AA D23 D23 D15 D15 D7 D7 D0 D0 ● ハーフワードアクセス (LDUH, STH 命令実行時 ) 図 4.4-14 内部レジスタと外部データバスとの関係 ( ハーフワードアクセス ) b)出力アドレス下位"10B" a)出力アドレス下位"00B" 内部レジスタ 外部バス D31 内部レジスタ 外部バス D31 D31 D31 D23 D23 D23 D15 D15 BB D23 AA D15 AA D7 D7 BB BB AA D7 D7 BB D0 D0 D15 AA D0 D0 ● バイトアクセス (LDUB, STB 命令実行時 ) 図 4.4-15 内部レジスタと外部データバスとの関係 ( バイトアクセス ) a)出力アドレス下位"00B" 内部レジスタ 外部バス D31 b)出力アドレス下位"01B" 内部レジスタ 外部バス D31 D31 c)出力アドレス下位"10B" 内部レジスタ 外部バス d)出力アドレス下位"11B" 内部レジスタ 外部バス D31 D31 D31 D31 D31 D23 D23 D23 D23 D23 D15 D15 D15 AA D23 D23 D23 AA D15 D15 D15 D15 D15 AA D7 D7 D7 AA D0 CM71-10131-1 D7 D7 AA D0 D0 D7 D7 AA D0 D0 D7 AA D0 FUJITSU MICROELECTRONICS LIMITED D0 AA D0 187 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ データバス幅 ● 32 ビットバス幅 図 4.4-16 データバス幅 (32 ビット ) 内部レジスタ D31 D23 D15 D07 外部バス AA BB DD CC 読出し/書込み CC BB DD AA D31 D23 D15 D07 ● 16 ビットバス幅 図 4.4-17 データバス幅 (16 ビット ) 内部レジスタ 外部バス 出力アドレス下位 D31 D23 D15 D07 AA 読出し/書込み BB "00" "10" DD BB CC AA D31 D23 CC DD ● 8 ビットバス幅 図 4.4-18 データバス幅 (8 ビット ) 内部レジスタ D31 D23 D15 D07 188 外部バス 出力アドレス下位 読出し/書込み AA "00" "01" "10" "11" DD CC BB AA D31 BB CC DD FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ 外部デバイスとの接続例 FR ファミリと外部デバイスとの接続例をバス幅ごとに示します。 ● 32 ビットバス幅 図 4.4-19 外部デバイスとの接続例 (32 ビットバス幅) 00H D31 01H 10H D07 ~ D00 WR3 D15 ~ D08 WR1 D23 ~ D16 WR0 D31 ~ D24 WR2 FR70 コア A31 ~ A02 11H D24 D23 D16 D15 D08 D07 ビッグエンディアン領域 11H D00 D31 01H 10H 00H D24 D23 D16 D15 D08 D07 D00 リトルエンディアン領域 ● 16 ビットバス幅 図 4.4-20 外部デバイスとの接続例 (16 ビットバス幅) D23 ~ D16 0 D15 D08 D07 WR1 D31 ~ D24 WR0 FR70 コア 1 1 D00 ビッグエンディアン領域 CM71-10131-1 A31 ~ A01 D15 0 D08 D07 D00 リトルエンディアン領域 FUJITSU MICROELECTRONICS LIMITED 189 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ● 8 ビットバス幅 図 4.4-21 外部デバイスとの接続例 (8 ビットバス幅) FR70 コア D07 A31 ~ A00 WR0 D31 ~ D24 D00 D07 ビッグエンディアン領域 190 D00 リトルエンディアン領域 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ビッグエンディアンとリトルエンディアンの外部 アクセスの比較 4.4.3 バス幅に対するワードアクセス , ハーフワードアクセスおよびバイトアクセスにつ いて , ビッグエンディアンとリトルエンディアンの外部アクセスの比較を示します。 これらの図は , ビッグエンディアン領域とリトルエンディアン領域とを分け , 「4.4.1 ビッグエンディアンのバスアクセス」および「4.4.2 リトルエンディアンの バスアクセス」で示した外部デバイスとの接続例に従ってデータバスを接続した場 合に , すべてのアクセスについて内部 Reg においてビッグエンディアンになること を示します。 ■ ワードアクセス 表 4.4-1 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( ワードアクセス ) ビッグエンディアンモード 内部 Reg 外部端子 リトルエンディアンモード 内部 Reg 制御端子 アドレス下位2ビット:"0" D31 32 ビット バス幅 外部端子 D31 D31 D31 AA AA WR0 AA DD WR0 BB BB WR1 BB CC WR1 CC CC - CC BB - DD - DD AA DD D00 内部 Reg D00 ① 外部端子 アドレス : "0" D31 BB 内部 Reg 制御端子 AA CC WR0 AA BB DD WR1 BB "2" DD BB WR0 CC AA WR1 D16 CC - - - DD - - - CC - - - DD - - - ① ② D00 D00 ① 内部 Reg D31 ② 外部端子 アドレス : "0" "1" 制御端子 内部 Reg D31 AA BB CC DD 外部端子 アドレス : "0" "2" "3" D31 AA WR0 "1" 制御端子 "2" "3" D31 AA D24 DD CC BB AA WR0 D24 BB - - - - - BB - - - - - CC - - - - - CC - - - - - DD - - - - - DD - - - - - D00 D00 ① CM71-10131-1 制御端子 D31 D31 D16 8 ビット バス幅 外部端子 アドレス : "0" "2" D31 AA - D00 D00 ① 16 ビット バス幅 制御端子 アドレス : "0" ② ③ ④ FUJITSU MICROELECTRONICS LIMITED ① ② ③ ④ 191 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ ハーフワードアクセス 表 4.4-2 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( ハーフワードアクセス ) (1 / 2) ビッグエンディアンモード 内部 Reg 外部端子 リトルエンディアンモード 制御端子 アドレス: "0" D31 D31 WR0 BB WR0 BB WR1 AA WR1 - - AA - D00 - BB D00 D00 ① 内部 Reg D31 外部端子 ① 制御端子 アドレス: "2" D31 CC DD D00 内部 Reg D31 外部端子 アドレス: "2" D31 - - - CC - DD - CC DD D00 制御端子 内部 Reg D31 AA WR0 BB WR1 - 外部端子 制御端子 BB WR0 AA WR1 AA - - BB - - D16 AA - - BB - - D00 D00 ① 内部 Reg 外部端子 ① 制御端子 アドレス : "2" D31 内部 Reg D31 CC WR0 DD WR1 外部端子 制御端子 アドレス : "2" D31 DD WR0 CC WR1 CC - - DD - - D16 D16 CC - - DD - - D00 D00 ① 192 CC アドレス : "0" D31 D16 D31 - ① アドレス : "0" D31 D31 16 ビット バス幅 DD D00 ① 外部端子 制御端子 - D00 内部 Reg 制御端子 AA BB 32 ビット バス幅 外部端子 アドレス: "0" D31 D31 AA D00 内部 Reg FUJITSU MICROELECTRONICS LIMITED ① CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ 表 4.4-2 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( ハーフワードアクセス ) (2 / 2) ビッグエンディアンモード 内部 Reg 外部端子 アドレス : "0" D31 リトルエンディアンモード 制御端子 内部 Reg アドレス : "0" "1" D31 D31 AA BB BB D00 WR0 - - - - - - - - - D00 内部 Reg BB AA AA BB D00 制御端子 内部 Reg D31 CC DD DD - - - - - - - ① ② 制御端子 "3" D31 DD CC WR0 D24 - - - - - - - - - D00 CC DD D00 ① CM71-10131-1 - 外部端子 WR0 D24 D00 - アドレス : "2" "3" D31 CC WR0 D00 ② 外部端子 アドレス : "2" D31 "1" D24 ① 8 ビット バス幅 制御端子 D31 D24 AA 外部端子 - - - - - - - - - ① ② D00 ② FUJITSU MICROELECTRONICS LIMITED 193 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ ■ バイトアクセス 表 4.4-3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( バイトアクセス ) (1 / 3) ビッグエンディアンモード 内部 Reg 外部端子 リトルエンディアンモード 制御端子 内部 Reg アドレス : "0" D31 D31 D31 AA - - - - AA D00 D00 D00 ① ① 外部端子 制御端子 内部 Reg アドレス : "1" D31 外部端子 D31 D31 - BB - WR1 BB - D00 - BB D00 D00 ① 32 ビット バス幅 内部 Reg 外部端子 アドレス: D31 ① 制御端子 外部端子 アドレス: D31 "2" D31 - - - - D00 CC 外部端子 D00 ① 制御端子 内部 Reg アドレス : "3" D31 D31 DD D00 外部端子 D31 - - - - - - - DD D00 DD - D00 ① 194 制御端子 アドレス : "3" D31 DD D00 - - CC D00 ① 内部 Reg 制御端子 - - CC D00 内部 Reg "2" D31 CC WR1 - - BB 制御端子 アドレス : "1" D31 D00 WR0 - - AA 内部 Reg 制御端子 D31 WR0 AA D00 外部端子 アドレス : "0" FUJITSU MICROELECTRONICS LIMITED ① CM71-10131-1 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ 表 4.4-3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( バイトアクセス ) (2 / 3) ビッグエンディアンモード 内部 Reg 外部端子 リトルエンディアンモード 制御端子 内部 Reg アドレス : "0" D31 D31 D31 WR0 AA - D16 - - - AA D00 - AA D00 ① 内部 Reg 外部端子 ① 制御端子 内部 Reg アドレス : "1" D31 外部端子 D31 D31 BB 制御端子 アドレス : "1" D31 - - BB WR1 D16 WR1 D16 - - - BB D00 - BB D00 ① 内部 Reg 外部端子 ① 制御端子 内部 Reg アドレス : "2" D31 外部端子 制御端子 アドレス : "2" D31 D31 CC D31 CC WR0 - WR0 - D16 D16 - - - CC D00 - CC D00 ① 内部 Reg 外部端子 ① 制御端子 内部 Reg アドレス : "3" D31 外部端子 D31 DD 制御端子 アドレス : "3" D31 D31 - - DD WR1 D16 WR1 D16 - - - DD D00 - DD D00 ① CM71-10131-1 WR0 - D16 16 ビット バス幅 制御端子 アドレス : "0" D31 AA 外部端子 FUJITSU MICROELECTRONICS LIMITED ① 195 第 4 章 外部バスインタフェース 4.4 MB91402/403 シリーズ 表 4.4-3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ( バイトアクセス ) (3 / 3) ビッグエンディアンモード 内部 Reg 外部端子 リトルエンディアンモード 制御端子 内部 Reg アドレス : "0" D31 D31 D31 AA WR0 D24 - - - - - AA - AA D00 ① 内部 Reg 外部端子 ① 制御端子 内部 Reg アドレス : "1" D31 外部端子 制御端子 アドレス : "1" D31 D31 BB D31 BB WR0 D24 WR0 D24 - - - - - BB D00 - BB D00 ① 内部 Reg 外部端子 ① 制御端子 内部 Reg アドレス : "2" D31 外部端子 制御端子 アドレス : "2" D31 D31 CC D31 CC WR0 D24 WR0 D24 - - - - - CC D00 - CC D00 ① 内部 Reg 外部端子 ① 制御端子 内部 Reg アドレス : "3" D31 外部端子 制御端子 アドレス : "3" D31 D31 DD D31 DD WR0 D24 WR0 D24 - - - - - DD D00 - DD D00 ① 196 WR0 D24 D00 8 ビット バス幅 制御端子 アドレス : "0" D31 AA 外部端子 FUJITSU MICROELECTRONICS LIMITED ① CM71-10131-1 MB91402/403 シリーズ 4.5 第 4 章 外部バスインタフェース 4.5 通常バスインタフェースの動作 通常バスインタフェースの動作について説明します。 ■ 通常バスインタフェース 通常バスインタフェースでは , 読出し / 書込みアクセスともに 2 クロックサイクルが基 本バスサイクルになります。 通常バスインタフェースにおける以下の動作について , タイミングチャートを示して 説明します。 • 基本タイミング ( アクセスが連続する場合 ) • WRn +バイト制御タイプ • 読出し→書込み • 書込み→書込み • 自動ウェイトサイクル • 外部ウェイトサイクル • 同期書込みイネーブル出力 • CSn 遅延設定 • CSn → RD/WRn セットアップ , RD/WRn → CSn ホールド設定 • DMA フライバイ転送 (I/O →メモリ ) • DMA フライバイ転送 ( メモリ→ I/O) CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 197 第 4 章 外部バスインタフェース 4.5 4.5.1 MB91402/403 シリーズ 基本タイミング ( アクセスが連続する場合 ) (ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H) アクセスが連続する場合の基本タイミングを示します。 ■ 通常バスインタフェース ( 基本タイミング ( アクセスが連続する場合 )) 図 4.5-1 通常バスインタフェース ( 基本タイミング ( アクセスが連続する場合 )) MCLKO MCLKI * A31~A0 #1 #2 CSn RD 読出し D31~D0 #1 #2 WRn 書込み D31~D0 #1 #2 DC3~DC0 * : 内部信号です • AS は , バスアクセス開始サイクルに 1 サイクルアサートします。 • A31 ∼ A0 は , ワード / ハーフワード / バイト アクセスの先頭バイト位置のアドレス をバスアクセス開始サイクルからバスアクセス終了サイクルまで出力します。 • CSn は , AWR0 to AWR5, AWR7 レジスタの W02 ビットが "0" のときは , AS と同じ タイミングでアサートし , 連続するアクセスがある場合には CSn はネゲートしませ ん。AWR レジスタの W00 ビットが "0" の場合はバスサイクル終了後に CSX7 ∼ CSX0 をネゲートし , W00 ビットが "1" の場合はバスアクセス終了の 1 サイクル後に ネゲートします。 • RD は , バスアクセス第二サイクルから MCLKI ↑より遅延してアサートします。AWR レジスタ W15 ∼ W12 ビットのウェイトサイクルを挿入した後にネゲートします。 • WRn は , バスアクセス第二サイクルから MCLKO ↑より遅延してアサートします。 AWRレジスタW15∼W12ビットのウェイトサイクルを挿入した後にネゲートします。 • RD, WRn をアサートするタイミングは AWR レジスタ W01 ビットを "1" に設定する ことにより 1 サイクル遅らせることができます。 198 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.5 • ACR → TYP3 ∼ TYP0=0x0xB のように WRn を使用する設定の場合には WE は "H" 固定です。 • リードアクセスの場合 , RD アサート後ウェイトサイクルが終了したサイクルの MCLKI の立上りで D 31 ∼ D0 を取り込みます。 • ライトアクセスの場合 , WRn をアサートしたタイミングから D 31 ∼ D0 にデータを 出力します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 199 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ WRn +バイト制御タイプ (ACR → TYP3 ∼ TYP0 = 0010B, AWR = 0008H) 4.5.2 WRn +バイト制御タイプの動作タイミングを示します。 ■ 通常バスインタフェース (WRn +バイト制御タイプ ) 図 4.5-2 通常バスインタフェース (WRn +バイト制御タイプ ) MCLKO MCLKI* A31~A0 AS CSn * RD WR1, WR0 読出し WR3, WR2 D31~D0 WE WR1, WR0 WR3, WR2 書込み D31~D0 DC1, DC0 DC3, DC2 * : 内部信号です • AS, CSn, RD, A31 ∼ A0, D31 ∼ D0 は , 「4.5.1 基本タイミング ( アクセスが連続 する場合 ) (ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H)」と同様の動作を行 います。 200 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.5 AWR レジスタ W15 ∼ W12 • WE は , バスアクセス第二サイクルからアサートします。 ビットのウェイトサイクルを挿入した後にネゲートします。RD, WRn をアサートす るタイミングは AWR レジスタ W01 ビットを "1" に設定することにより 1 サイク ル遅らせることができます (「4.5.1 基本タイミング ( アクセスが連続する場合 ) (ACR → TYP3 ∼ TYP0 = 0000B, AWR = 0008H)」の WRn と同様の動作を行います )。 • WRn は , バイトイネーブル信号としてアクセスするバイト位置を負論理で示しま す。バスアクセス開始サイクルからバスサイクル終了までアサートします。アドレ スと同じタイミングで変化します。リード / ライトアクセスともにアクセスするバ イト位置を示します。 • ライトアクセスの場合 , WE をアサートしたタイミングから D31 ∼ D0 にデータを 出力します。 • ACR → TYP3 ∼ TYP0=0x0xB(WRn 使用 ), TYP3 ∼ TYP0=0x1xB(WE + byte control) の領域を混在させる場合には , 使用するすべての領域にて , 必ず以下の設定を行っ てください。 - リード→ライトアイドルサイクルを最低 1 サイクル以上設定してください。 - ライトリカバリサイクルを最低 1 サイクル以上設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 201 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ 読出し → 書込みタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0048H) 4.5.3 読出し→書込み動作のタイミングを示します。 ■ 通常バスインタフェース ( 読出し → 書込みタイミング ) 図 4.5-3 通常バスインタフェース ( 読出し → 書込みタイミング ) リード アイドル ライト MCLKO MCLKI * A31~A0 AS CSn RD WRn DI31~DI0 DO31~DO0 DC3~DC0 * * : 内部信号です • AWR レジスタ W07, W06 ビットの設定により , 0 ∼ 3 サイクルまでのアイドルサイ クル挿入が可能です。 • 読出し側の CS 領域の設定が有効になります。 • リードアクセスの次のアクセスがライトアクセス , または別の領域へのアクセスで ある場合にこのアイドルサイクルを挿入します。 • DI31 ∼ DI0 は読出し時の D31 ∼ D0 を表します。DO31 ∼ DO0 は書込み時の D31 ∼ D0 を表します。 202 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ 書込み → 書込みタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0018H) 4.5.4 書込み→書込み動作のタイミングを示します。 ■ 通常バスインタフェース ( 書込み → 書込みタイミング ) 図 4.5-4 通常バスインタフェース ( 書込み → 書込みタイミング ) ライト ライトリカバリ ライト MCLK * A31~A0 AS CSn WRn D31~D0 DC3~DC0 * * : 内部信号です • AWR レジスタ W05, W04 ビットの設定により , 0 ∼ 3 サイクルまでのライトリカバ リサイクルを挿入可能です。 • すべてのライトサイクル後に , リカバリサイクルが発生します。 • 設定したバス幅以上のアクセスによってライトアクセスが分割された場合もライ トリカバリサイクルは発生します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 203 第 4 章 外部バスインタフェース 4.5 4.5.5 MB91402/403 シリーズ 自動ウェイトタイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=2008H) 自動ウェイトサイクルの動作タイミングを示します。 ■ 通常バスインタフェース ( 自動ウェイトタイミング ) 図 4.5-5 通常バスインタフェース ( 自動ウェイトタイミング ) 基本サイクル ウェイトサイクル MCLKO MCLKI * A31~A0 AS CSn RD 読出し D31~D0 WRn 書込み D31~D0 DC3~DC0 * * : 内部信号です • AWR レジスタ W15 ∼ W12 ビット ( ファーストウェイトサイクル ) の設定により自 動ウェイトサイクルを 0 ∼ 15 まで設定可能です。 • 図 4.5-5 では , 自動ウェイトサイクルを 2 サイクル挿入して合計 4 サイクルのアクセ スとなっています。 • 自動ウェイトを設定した場合 , バスサイクルは最小で 2 サイクル+ ( ファーストウェ イトサイクル ) となります。書込みの場合は内部状態によりさらに長くなることが あります。 204 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ 外部ウェイトタイミング (ACR → TYP3 ∼ TYP0=0001B, AWR=2008H) 4.5.6 外部ウェイトサイクルの動作タイミングを示します。 ■ 通常バスインタフェース ( 外部ウェイトタイミング ) 図 4.5-6 通常バスインタフェース ( 外部ウェイトタイミング ) 基本サイクル 自動ウェイト2サイクル RDYによる ウェイトサイクル MCLKO MCLKI * A31~A0 AS CSn RD 読出し D31~D0 WRn 書込み D31~D0 DC3~DC0* RDY 解除 ウェイト * : 内部信号です ACR レジスタの TYP0 ビットを "1" に設定し , 外部 RDY 入力端子を有効にすることに より外部ウェイトサイクルを挿入可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 205 第 4 章 外部バスインタフェース 4.5 4.5.7 MB91402/403 シリーズ 同期書込みイネーブル出力タイミング (ACR → TYP3 ∼ TYP0=0000B, AWR=0000H) 同期書込みイネーブル出力の動作タイミングを示します。 ■ 通常バスインタフェース ( 同期書込みイネーブル出力タイミング ) 図 4.5-7 通常バスインタフェース ( 同期書込みイネーブル出力タイミング ) MCLKO MCLKI* A31~A0 #2 #1 AS CSn RD 読出し D31~D0 #1 #2 WRn 書込み D31~D0 #1 #2 DC3~DC0* * : 内部信号です • 同期書込みイネーブルとした場合 (AWR:W03 ビットが "0"), 以下のような動作とな ります。 • WRn, WE 端子出力は , AS がアサートされているタイミングで , 同期書込みイネーブ ル出力をアサートします。外部バスへの書込みが行われる場合には , 同期書込みイ ネーブル出力は "L" を出力します。外部バスからの読出しが行われる場合には , 同 期書込みイネーブル出力は "H" を出力します。 • 同期書込みイネーブル出力をアサートした次のクロックサイクルにて , 外部データ 出力端子より書込みデータを出力します。 • 読出しストローブ出力 (RD) は , WRn, WE 出力タイミング設定の内容にかかわらず , 非同期読出しストローブとして機能します。データの入出力制御にそのまま使用し てください。 同期書込みイネーブル出力を使用する場合には , 以下の制限があります。 206 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.5 - 同期書込みイネーブル出力のタイミングが無意味なものとなりますので , 以下の 追加ウェイト設定をしないでください。 - CSn → RD/WRn セットアップ設定 (AWR:W01 ビットは常に "0" を書いてくだ さい ) - ファーストウェイトサイクル設定 (AWR:W15 ∼ W12 ビットは常に "0000B" を 書いてください ) - 同期書込みイネーブル出力のタイミングが無意味なものとなりますので , 以下の アクセスタイプ設定 (ACR レジスタの TYP3 ∼ TYP0 ビット (bit3 ∼ bit0)) を設定 しないでください。 - マルチプレックスバス設定 (ACR→TYPE[2]ビットは常に"0"を書いてください) - RDY 入力有効設定 (ACR → TYPE[0] ビットは常に "0" を書いてください ) - 同期書込みイネーブル出力の場合 , バースト長は常に "1"(BST1, BST0 ビットに "0") を設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 207 第 4 章 外部バスインタフェース 4.5 4.5.8 MB91402/403 シリーズ CSn 遅延設定 (ACR → TYP3 ∼ TYP0=0000B, AWR=000CH) CSn 遅延設定の動作タイミングを示します。 ■ 通常バスインタフェース (CSn 遅延設定 ) 図 4.5-8 通常バスインタフェース (CSn 遅延設定 ) MCLKO MCLKI * A31~A0 AS CSn RD 読出し D31~D0 WRn 書込み D31~D0 DC3~DC0 * * : 内部信号です • W02 ビットが "1" のときは AS アサートの次のサイクルからアサートし , 連続する アクセスがある場合にはネゲート期間を挿入します。 • 遅延させた CS7 ∼ CS0 のアサートから , リード / ライトストローブをアサートする 前に , 1 サイクルのセットアップサイクルを挿入します (W01 の CSn → RD/WRn セッ トアップ設定と同等の動作となります )。 208 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ 4.5.9 CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定 (TYP3 ∼ TYP0=0000B, AWR=000BH) CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定の動作タイミング を示します。 ■ 通常バスインタフェース(CSn→RD/WRnセットアップおよびRD/WRn→CSnホー ルド設定 ) 図 4.5-9 通常バスインタフェース (CSn → RD/WRn セットアップおよび RD/WRn → CSn ホールド設定 ) MCLKO MCLKI * A31~A0 AS CSn CS->RD/WRn RD/WRn->CS Delay Delay RD 読出し D31~D0 WRn 書込み D31~D0 DC3~DC0 * : 内部信号です • AWR レジスタの W01 ビットを "1" に設定することにより , CSn → RD/WRn セット アップディレイを設定可能です。チップセレクトアサート後 , リード / ライトスト ローブまでの期間を延長する場合に設定します。 • AWR レジスタの W00 ビットを "1" に設定することにより , RD/WRn → CSn ホール ドディレイを設定可能です。リード / ライトストローブネゲート後 , チップセレク トネゲートまでの期間を延長する場合に設定します。 • CSn → RD/WRn セットアップディレイ (W01 ビット ) と RD/WRn → CSn ホールド ディレイ (W00 ビット ) は独立に設定可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 209 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ • 同一チップセレクト領域内で , チップセレクトをネゲートしないまま連続してアク セスする場合は , CSn → RD/WRn セットアップディレイ , RD/WRn → CSn ホールド ディレイともに挿入されません。 • アドレス確定からのセットアップサイクルおよびアドレス確定のホールドサイク ルが必要な場合は , アドレス→ CSn 遅延設定 (AWR レジスタの W02 ビット ) を "1" に設定してください。 210 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.5 MB91402/403 シリーズ DMA フライバイ転送 (I/O →メモリ ) (TYP3 ∼ TYP0=0000B, AWR=0008H, IOWR=51H) 4.5.10 ( メモリ側のウェイト設定なしの場合) DMA フライバイ転送 (I/O →メモリ ) の動作タイミングを示します。 ■ 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ )) 図 4.5-10 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ )) I/Oウェイト I/Oホールド サイクル *1 ウェイト*2 基本サイクル I/Oアイドル サイクル 基本サイクル I/Oウェイト I/Oホールド サイクル*1 ウェイト *2 MCLKO MCLKI * A31~A0 AS CSn WRn D31~D0 DC3~DC0=H * IORD DACK[n] * * : 内部信号です • IOWR0 ∼ IOWR2 レジスタの HLD ビットを "1" に設定することにより , I/O リード サイクルを 1 サイクル延長します。 • IOWR0 ∼ IOWR2 レジスタの IW3 ∼ IW0 ビットの設定により , 0 ∼ 15 サイクルま でのウェイトサイクルを挿入可能です。 • メモリ側にもウェイトの設定がある場合 (W15 ∼ W12 が "0" でないとき ) は , I/O ウェイト (IW3 ∼ IW0 ビット ) と比較して大きい方の値をウェイトサイクルとして 使用します。 • データ出力 (DO31 ∼ DO0) は不定です。また , データ入力 (D31 ∼ D16) はサンプリ ングしません。 <注意事項> DMA の fly-by 転送は MPU IF と Ethernet MAC IF のみをサポートします。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 211 第 4 章 外部バスインタフェース 4.6 MB91402/403 シリーズ バーストアクセスの動作 4.6 外部バスインタフェースにおいては , 1 回のアクセスシーケンスで複数のデータを連 続して転送する動作をバーストアクセスとよびます。バーストアクセス以外の通常 のアクセスサイクルをシングルアクセスとよびます。1 回のアクセスシーケンスと は , AS および CSn のアサートから始まり , CSn がネゲートされるまでを示します。 複数のデータとは , その領域に設定されたバス幅単位で 2 単位以上のデータを示し ます。 バーストアクセスの動作について説明します。 ■ バーストアクセス (first access wait cycle:1, page wait cycle:1) (ACR → TYP3 ∼ TYP0=0000B, AWR=3208H) 図 4.6-1 通常バスインタフェース ( バーストアクセス (first access wait cycle:1, page wait cycle:1)) 第一サイクル ウェイト インページアクセス ウェイト インページアクセス ウェイト インページアクセス ウェイト MCLKO MCLKI * A31~A0 AS (LBA) CSn RD WRn BAA D31~D0 * : 内部信号です • 外部バスインタフェースにおいては , 1 回のアクセスシーケンスで複数のデータを 連続して転送する動作をバーストアクセスとよびます。バーストアクセス以外の通 常のアクセスサイクルをシングルアクセスとよびます。ここでいう 1 回のアクセス シーケンスとは , AS および CSn のアサートから始まり , CSn がネゲートされるまで を示します。複数のデータとは , その領域に設定されたバス幅単位で 2 単位以上の データを示します。 • バーストサイクルは, ページモードROMなどの非同期メモリやバーストフラッシュ メモリなど , まとまったデータを読む際のアクセスサイクルの効率化のほか , 通常 の非同期メモリからの読出しにも使用できます。 212 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.6 • バーストサイクル時のアクセスシーケンスは , 以下の 2 種類のサイクルに分かれま す。 - ファーストアクセスサイクル バーストアクセスの開始サイクルで , 通常のシングルアクセスサイクルと同じ動 作を行います。 - ページアクセスサイクル ファーストアクセスサイクルに引き続き , CSn や RD( リードストローブ) をアサー トしたまま行うサイクルです。シングルサイクル時とは異なるウェイトサイクル を設定することができます。バースト長設定から決定されるアドレスバウンダリ 内にある間 , ページアクセスサイクルは繰り返して行われます。アドレスバウン ダリ内のアクセスが終了するとバーストアクセスは終了となり , CSn がネゲート されます。 • AWR レジスタの W15 ∼ W12 ビットの設定により , 0 ∼ 15 サイクルの第一ウェイト サイクルを挿入可能です。このとき , ファーストアクセスサイクルは最小でウェイ トサイクル+ 2 サイクルとなります ( 図 4.6-1 では 3 サイクル )。 • AWR レジスタの W11 ∼ W08 ビットの設定により , 0 ∼ 15 サイクルのページウェイ トサイクルを挿入可能です。このとき , ページアクセスサイクルはページウェイト サイクル+ 1 サイクルとなります ( 図 4.6-1 では 2 サイクル )。 • ACR レジスタの BST ビットの設定により , バースト長を 1, 2, 4, 8 に設定可能です。 バースト長を "1" に設定するとシングルアクセスとなり , 第一サイクルのみが繰り 返されます。ただし , データバス幅 32 ビット (ACR レジスタ BST ビットを "10B") に設定した場合は , バースト長を 4 以下に設定してください ( バースト長 8 に設定 した場合は誤動作します )。 • バーストアクセスを有効にした場合 , プリフェッチアクセスまたは設定したデータ バス幅よりも大きなサイズで転送を行うときにバーストアクセスを行います。例え ば , データバス幅を 8 ビット , バースト長を 4 に設定した領域にワードアクセスを 行った場合にはバイトアクセスを 4 回ではなく , 4 バースト 1 回のアクセスを行い ます。 • バースト設定を行った領域では , RDY 入力は無視されますので ACR → TYP3 ∼ TYP0=0xx1B に設定しないでください。 • バーストアクセス中に設定したウェイト後に A31 ∼ A0 の更新を行います。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 213 第 4 章 外部バスインタフェース 4.7 4.7 MB91402/403 シリーズ プリフェッチ動作 プリフェッチ動作について説明します。 ■ プリフェッチ動作 外部バスインタフェースコントローラは 8 ビット× 16 本で構成されるプリフェッチ バッファを内蔵しています。 TCR レジスタの PSUS ビットが "0" の場合には , ACR レジスタの PFEN ビットをセッ ト ("1") してある領域に対するリードアクセスが発生すると , それ以降続くアドレスに 対してプリフェッチを行い , プリフェッチバッファ内に蓄積します。 蓄積されたアドレスに対して内部バスからのアクセスがあると , 外部アクセスを行わ ずにプリフェッチバッファに先読みされたデータを返します。これにより, 外部バス領 域への連続したアクセスでの待ち時間を少なくすることができます。 ● プリフェッチによる外部アクセスを開始する基本条件 プリフェッチによる外部バスアクセスは , 以下の条件が揃っている場合に発生します。 • TCR レジスタの PSUS ビットが "0" であること。 • スリープまたはストップモードでないこと。 • プリフェッチ許可されたチップセレクト領域への外部バスリードアクセスが行わ れたこと。ただし , DMA アクセスおよびリードモディファイライト (RMW) 系命令 によるリードアクセスを除きます。 • プリフェッチアクセス以外の外部バスアクセス要求 ( プリフェッチを許可していな い領域への外部バス領域アクセスや , 外部バス領域との間の DMA 転送など ) が発生 していないこと。 • 次の 1 回のプリフェッチアクセスで取り込む部分のプリフェッチバッファがすべて 空であること。 これらの条件が成立する間 , プリフェッチアクセスを続けます。 なお , プリフェッチアクセス後に , プリフェッチを許可していない領域への外部バス領 域アクセスが発生した後でも , プリフェッチバッファクリア条件が発生しない限り , プ リフェッチ許可領域へのプリフェッチアクセスは引き続き行われます。 複数のプリフェッチ許可領域と複数のプリフェッチ禁止領域とを混在させてアクセス を行っている場合 , プリフェッチバッファは常に最後にアクセスされたプリフェッチ 許可領域に対するプリフェッチを行い , そのデータを保持しています。この場合 , プリ フェッチ禁止領域へのアクセスはプリフェッチバッファの状態には一切影響を及ぼさ ないため , プリフェッチ禁止のデータアクセスとプリフェッチ許可の命令フェッチと が混在しても , プリフェッチバッファ内のデータを無駄にすることはありません。 214 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.7 ● 1 回のプリフェッチアクセス動作の単位 1 回のプリフェッチアクセスの単位は , ACR レジスタの DBW ビット ( バス幅 ) と BST ビット ( バースト長 ) によって決まります。 プリフェッチアクセスは常に DBW ビットで設定されたバス幅いっぱいのサイズでア クセスし , BST ビットにて設定されたバースト長の回数のアクセスを 1 回のアクセス で行います。つまり , BST ビットに "00B" 以外を設定した場合 , プリフェッチアクセス は常にページモード / バーストモードでのアクセスとなります。対応していない ROM/ RAM やアクセスタイム不足に注意してください (AWR レジスタの W15 ∼ W08 ビット に適切な値を設定してください )。 バーストアクセス時は , バースト長に依存したアドレスバウンダリ内でしか連続アク セスを行いません。そのため , バッファの空きバイト数が例えば 4 バイトあったとして も , バウンダリをまたいでいる場合には 4 バイト分を 1 回でアクセスすることはできま せん ( プリフェッチバッファ先頭が xxxxxx0EH で , バッファに 4 バイト空きがあり , バ ス幅 16 ビットであっても , 2 バーストを設定した場合は , 次のプリフェッチアクセスで は xxxxxx0EH と xxxxxx0FH の 2 バイトしか取り込みません )。 以下に , 2 つの例を示します。 • バス幅 16 ビット , バースト長 2 を設定した領域→ 1 回のプリフェッチでバッファに読み出されるデータ量は , 4 バイト分となりま す。 この場合 , プリフェッチバッファに 4 バイト分の空きができるまでプリフェッチ アクセスは行われません。 • バス幅 8 ビット , バースト長 8 を設定した領域→ 1 回のプリフェッチでバッファに読み出されるデータ量は , 8 バイト分となりま す。 この場合 , プリフェッチバッファに 8 バイト分の空きができるまでプリフェッチ アクセスは行われません。 ● バースト長設定とプリフェッチ効率 「● 1 回のプリフェッチアクセス動作の単位」で説明した 1 回のプリフェッチアクセス が行われている間に , プリフェッチアクセス以外の外部バスアクセス要求やプリ フェッチバッファへのミスが発生した場合でも , 実行中のプリフェッチバッファのア クセスが終了するまでは , それらのアクセス要求は待たされます。 そのため , バースト長をあまり大きく設定すると , プリフェッチ以外のバスアクセスの 効率や反応が低下します。反面 , バースト長を "1" に設定すると , バースト / ページア クセスメモリを接続している場合でも常にシングルアクセスを行うため , 読込みサイ クルの無駄が多く発生します。また , 1 回のプリフェッチアクセスで読み出されるデー タが多い設定の場合には , それだけプリフェッチバッファの空きができないとプリ フェッチアクセスが開始できないため , プリフェッチバッファへのアクセス頻度が少 ないと外部バスがアイドル状態になりやすくなります。例えば , バス幅が 16 ビット・ バースト長 8 を設定した場合 , 1 回のプリフェッチでバッファに読み出されるデータ量 は , 16 バイト分となるため , プリフェッチバッファがすべて空にならないと , 新たなプ リフェッチアクセスができなくなります。 これらを考慮し , 使用状況・環境に応じて最適なバースト長設定を調整してください。 一般に , バースト / ページアクセスのできない非同期メモリを接続する場合は , バース CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 215 第 4 章 外部バスインタフェース 4.7 MB91402/403 シリーズ ト長は 1( シングルアクセス ) を設定するのが最適です。ページ ROM など , 連続アクセ スサイクルの短いメモリを接続する場合は , バースト長は 1( シングルアクセス ) 以外 を設定するのが最適です。この場合は , バス幅に応じて 1 回で 8 バイト ( バッファの半 分 ) を読み込む設定をするのが最適ですが , 外部アクセスの頻度や外部アクセスクロッ クの分周比設定などによっても条件は変わってきます。 ● プリフェッチバッファからの読出し プリフェッチバッファ内にストアされたデータは , 内部バスからのアクセスでアドレ スが一致すると読み出され , 外部へのアクセスを行いません。バッファの読出しは順方 向であればアドレスが連続していなくてもヒット可能 ( 最大 16 バイト ) ですので , 短 い前方への分岐などでも極力外部バスへの 2 度読みが発生しないようになっています。 内部バスからのアクセスで , 現在プリフェッチアクセス中のアドレスが一致した場合 , プリフェッチアクセスが完了してデータが取り込まれるまでの間は , 内部に対して ウェイトを返します。この場合 , バッファミス扱いにはなりません。 DMA 転送での読出しにて , プリフェッチバッファ内のアドレスが一致した場合は , プ リフェッチバッファ内のデータは使用されず , 外部バスから新たに読出しを行います。 この場合 , バッファミス扱いになりますが , 引き続きプリフェッチを継続せずに , プリ フェッチ許可領域への新たな外部アクセスが発生するまではプリフェッチアクセスを 行いません。 ● プリフェッチバッファのクリア , 更新 プリフェッチバッファは , 以下の条件のいずれかが成立した場合にすべてクリアされ ます。 • TCR レジスタの PCLR ビットに "1" が書き込まれたとき • バッファリードミス ( 後述 ) が発生したとき • バッファライトヒット ( 後述 ) が発生したとき プリフェッチバッファは , 以下の条件が成立した場合に一部のみクリアされます。 • バッファリードヒットが発生したとき。この場合 , ヒットしたアドレス以前のバッ ファのみがクリアされます。 バッファリードミスとは , 以下のものを示します。 • プリフェッチ許可領域へのリードアクセスで , バッファ内のアドレスに一致するも のがない場合。この場合 , 外部バスに対して新たにアクセスを行います。この際の リードデータは , バッファ内にはストアされませんが , 続くアドレスからプリ フェッチアクセスを開始し , バッファにストアしていきます。 • プリフェッチ許可領域へのリードアクセスで , リードモディファイライト (RMW) 系 命令による読出しである場合。この場合 , 外部バスに対して新たにアクセスを行い ます。この際のリードデータは , バッファ内にはストアされませんし , 続けてプリ フェッチアクセスを行いません(次にそのアドレスに対して書込みが行われるため)。 • プリフェッチ許可領域へのリードアクセスで , DMA 転送による読出しである場合。 この場合 , 外部バスに対して新たにアクセスを行います。この際のリードデータは , バッファ内にはストアされませんし , 続けてプリフェッチアクセスを行いません。 216 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 4 章 外部バスインタフェース 4.7 バッファライトヒットとは , 以下のものを示します。 • プリフェッチ許可領域へのライトアクセスで , バッファ内のアドレスに 1 バイトで も一致するものがあった場合。この場合 , 外部バスに対して新たにアクセスを行い ますが , プリフェッチアクセスは , 新たなリードアクセスが発生するまでは行われ ません。 ● プリフェッチ許可領域に対する制限事項 リトルエンディアン領域に対してプリフェッチを許可している場合は , その領域に対 するアクセスは必ずワードアクセスにて行ってください。プリフェッチバッファに読 み出されたデータをワード長以外でアクセスすると , 正しくエンディアン変換が行わ れず , 誤ったデータを読み出してしまいます。これは , エンディアン変換機構のハード ウェア的な制限によるものです。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 217 第 4 章 外部バスインタフェース 4.8 MB91402/403 シリーズ SDRAM/FCRAM インタフェースの動作 4.8 SDRAM/FCRAM インタフェースの動作について説明します。 ■ SDRAM/FCRAM インタフェース CS6, CS7 の領域は , 領域構成レジスタ (ACR) の TYP3 ∼ TYP0 ビットを "100XB" に設 定することにより SDRAM/FCRAM 空間として使用できます。 SDRAM/FCRAM インタフェースにおける以下の動作について , タイミングチャートを 示して説明します。 • バースト読出し / 書込み ( ページヒット , CAS レイテンシを 2 に設定した場合 ) • シングル読出し / 書込み ( ページヒット , CAS レイテンシを 3, オートプリチャージ なしに設定した場合 ) • シングル読出し / 書込み ( ページミス , CAS レイテンシを 3, オートプリチャージあ りに設定した場合 ) • オートリフレッシュ ■ バースト読出し / 書込み ( ページヒット , CAS レイテンシ= 2) 図 4.8-1 バースト読出し / 書込み ( ページヒット , CAS レイテンシを 2) MCLKO A13~A0 #1 DO31~DO0 (書込み) #1 #1 #2 #3 #4 #1 DI31~DI0 (読出し) SRAS, SCAS, SWE #2 #3 #4 READ WRIT ライトリカバリ Cas レイテンシ ライトサイクル リードサイクル • A13 ∼ A0 は , SDRAM 容量により , すべての端子を使用しない場合があります。接 続例を参考にしてください。 • MCLKO は , SDRAM に入力するクロックです。アドレス , データ , コマンドなどの 信号は , MCLKO の立上りで SDRAM に取り込まれます。 • AWR レジスタの W05, W04 ビットで SDRAM/FCRAM の規格に合わせてライトリカ バリサイクルを設定してください。 • AWR レジスタの W10 ∼ W08 ビットで SDRAM/FCRAM の規格に合わせて CAS レ イテンシを設定してください。 • バースト長の設定は ACR レジスタの BST ビットにて設定してください。 • DO31 ∼ DO0 は書込み時の D31 ∼ D0 を表します。DI31 ∼ DI0 は読込み時の D31 ∼ D0 を表します。 218 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 4 章 外部バスインタフェース 4.8 MB91402/403 シリーズ ■ シングル読出し/ 書込み( ページヒット, CAS レイテンシ=3, オートプリチャージなし) 図 4.8-2 シングル読出し / 書込み ( ページヒット , CAS レイテンシを 3, オートプリチャージなし ) MCLKO A13~A0 #1 #1 DO31~DO0 (書込み) #1 DI31~DI0 (読出し) SRAS, SCAS, SWE #1 読出し 書込み リード→ライト Cas レイテンシ アイドル サイクル リードサイクル ライトサイクル AWR レジスタの W07, W06 ビットで SDRAM/FCRAM の規格に合わせてリード→ライ トアイドルサイクルを設定してください。 ■ シングル読出し ( ページミス , CAS レイテンシ= 3, オートプリチャージなし ) 図 4.8-3 シングル読出し ( ページミス , CAS レイテンシ= 3, オートプリチャージなし ) MCLKO A13~A0 BA Row #1 D31~D0 SRAS, SCAS, SWE #1 PRE 読出し ACTV RAS プリチャージサイクル (tRP) RAS→CASディレイ (tRCD) Casレイテンシ • ページミスが発生した場合は , PRE チャージコマンド , ACTV コマンド発行後に読 出しを行います。 • SDRAM/FCRAM の規格に合わせて , AWR レジスタの W01, W00 ビットに RAS プリ チャージサイクル (tRP) を設定してください。 • SDRAM/FCRAM の規格に合わせて , AWR レジスタの W14 ∼ W12 ビットに RAS to CAS ディレイ (tRCD) を設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 219 第 4 章 外部バスインタフェース 4.8 MB91402/403 シリーズ ■ シングル読出し/書込み(CASレイテンシ=1, TYP=1001B, オートプリチャージあり) 図 4.8-4 シングル読出し / 書込み (CAS レイテンシ= 1, TYP = 1001B, オートプリチャージあり ) MCLKO A13~A0 Row DO31~DO0 (書込み) Col Row Col Row Col #3 #1 DI31~DI0 (読出し) #2 SRAS, SCAS, SWE ACTV WRITA ACTV CL+BL-1 READA ACTV CL+BL-1 WRITA リードライト アイドルサイクル • TYP = 1001B に設定した場合 , オートプリチャージ付きのリード / ライトコマンド を発行します。ただし , READA/WRITA 発行から ACTV 発行までのサイクルは CL + BL − 1 に固定されますので , FCRAM 接続の場合のみ TYP = 1001B 設定が可能 です。 • PRE コマンドを発行するサイクルがなくなるため , ページミスを多発するような場 合に有効です。 ■ オートリフレッシュ 図 4.8-5 オートリフレッシュ MCLKO A31~A0 DC3~DC0 * "H" SRAS, SCAS, SWE REF ACTV tRC リフレッシュサイクル * : 内部信号です • RCR レジスタの RFINT5 ∼ RFINT0 × 32 サイクルごとにリフレッシュコマンドを 発行し , リフレッシュ終了後にアクセスを再開します。 • SDRAM/FCRAM の規格に合わせて , RCR レジスタの TRC ビットを設定してくださ い。 220 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 4.8.1 第 4 章 外部バスインタフェース 4.8 セルフリフレッシュ セルフリフレッシュについて説明します。 ■ セルフリフレッシュ リフレッシュコントロールレジスタ (RCR) の SELF ビットへの "1" 書込みにより , SDRAM/FCRAM インタフェースはセルフリフレッシュ以降シーケンスを開始します。 SDRAM/FCRAM インタフェースは RFC2 ∼ RFC0 で設定した回数オートリフレッシュ を実行した後 , SDRAM/FCRAM へ SELF コマンドを発行してセルフリフレッシュモー ドへ移行します。 セルフリフレッシュモードの解除は , SELF ビットへの "0" 書込みおよび SDRAM/ FCRAM へのリード / ライトアクセスで行います。 SDRAM/FCRAM インタフェースは , セルフリフレッシュモード中に SELF ビットへの "0" 書込みもしくは SDRAM/FCRAM へのアクセスを検出した場合に SELFX コマンド を発行し , RFC2 ∼ RFC0 で設定した回数のオートリフレッシュを実行します。した がって , セルフリフレッシュモードを設定し , チップをスリープモードに入れた後に , DMA 転送で SDRAM/FCRAM へのアクセスがあった場合にもセルフリフレッシュモー ドは解除されます。 ● セルフリフレッシュモード以降の手順 ① SELF ビットへ "1" をセット ② RFC2 ∼ RFC0 で設定した回数の REF コマンド発行 ③ SELF コマンドを発行 ● セルフリフレッシュモード解除の手順 ① SELF ビットへ "0" 書込みもしくは SDRAM/FCRAM へのアクセス ② SELFX コマンドの発行 ③ RFC2 ∼ RFC0 で設定した回数の REF コマンド発行 ④通常アクセス状態に移行 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 221 第 4 章 外部バスインタフェース 4.8 4.8.2 MB91402/403 シリーズ パワーオンシーケンス パワーオンシーケンスについて説明します。 ■ パワーオンシーケンス リフレッシュコントロールレジスタ (RCR) の PON ビットを "1" にセットすることによ りパワーオンシーケンスを開始しします。 以下の手順に従い PON ビットを "1" に設定し , パワーオンシーケンスへ移行させてく ださい。 ① SDRAM/FCRAM マニュアルに規定してあるクロック安定待ち時間を確保してく ださい。 ② ACR, AWR, MCRA, MCRB を設定してください。 ③ CSER を設定し , SDRAM/FCRAM を接続した領域を有効にしてください。 ④ RCR の値を設定すると同時に PON ビットを "1" に設定してください。 以上の手順を実行すると SDRAM/FCRAM インタフェースは以下のパワーオンシーケ ンスを実行します。 ⑤ REF コマンドを 8 回実行します。 ⑥ ACR の BST ビット , AWR の CL(CAS レイテンシ ), MCRA の WBST ビットに従 いモードレジスタセットしてください。 ⑦ 通常アクセス状態に移行します。 222 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 4.8.3 第 4 章 外部バスインタフェース 4.8 複数領域への SDRAM/FCRAM 接続 複数領域への SDRAM/FCRAM 接続について説明します。 ■ 複数領域への SDRAM/FCRAM 接続 SDRAM/FCRAM 設定を CS6, CS7 領域に設定可能ですが , 同時に 2 つの領域に SDRAM/ FCRAM を接続する場合は同じタイプのものを接続してください。具体的には , 以下のレジスタ設定が同じになるものを接続してください。 • ACR レジスタ :DBW1, DBW0, BST1, BST0, TYP3 ∼ TYP0 の設定を同じにしてく ださい。 • AWR レジスタ : すべてのビットが同じになるようにしてください。 • MCR レジスタ : レジスタが共通のため , すべての設定が同じになります。 • RCR レジスタ : レジスタが共通のため , すべての設定が同じになります。 なお, 2つの領域を同時に有効にした場合, パワーオンシーケンス/オートリフレッシュ/ セルフリフレッシュを同時に行います。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 223 第 4 章 外部バスインタフェース 4.8 4.8.4 MB91402/403 シリーズ アドレスマルチプレックス・フォーマット アドレスマルチプレックス・フォーマットについて説明します。 ■ アドレスマルチプレックス・フォーマット SDRAM/FCRAM へのアクセスアドレスは , ASZ3 ∼ ASZ0 ビット , DBW1, DBW0 ビッ ト , PSZ2 ∼ PSZ0 ビット , バンクビットの設定によりローアドレス , バンクアドレス , カラムアドレスへの対応が変わります。アドレスの対応は , 下位ビットから カラムア ドレス , バンクアドレス , ローアドレスの順に並べます。各ビットを , 以下のように設 定してください。 • ASZ3 ∼ ASZ0 ビット:対応する領域に接続する SDRAM/FCRAM の総容量を設定し ます。2 個並列に使用する場合は合計容量を設定してくださ い。ローアドレス本数に影響します。 • DBW1, DBW0 ビット:データバス幅を設定します (8 ビット品 2 個を並列に接続する 場合は 16 ビットに設定してください )。 データバス幅指定に従い , カラムアドレスのシフトを行いま す。 8 ビット:そのまま , 16 ビット:1 ビット シフト , 32 ビット: 2 ビットシフト。 • PSZ2 ∼ PSZ0 ビット: SDRAM/FCRAM で使用するカラムアドレスの本数を設定し てください。 • BANK ビット : SDRAM/FCRAM のバンクアドレスの本数を設定してくださ い。 以下にアクセスアドレスとローアドレス , バンクアドレス , カラムアドレスの対応の例 を示します。 図 4.8-6 アクセスアドレスとローアドレス , バンクアドレス , カラムアドレスの対応 (1) 4Mバイト(ASZ=0110B), 8ビットバス幅(DBW=00B), 256カラム(PSZ=000B), 2バンク(BANK=0B) A22A21 A31 A9 A8 A7 Row A0 BA Column (2) 16Mバイト(ASZ=1000B), 16ビットバス幅(DBW=01B), 512カラム(PSZ=001B), 4バンク(BANK=1B) A24A23 A31 A12A11A10 A9 Row BA A1 A0 Column (3) 64Mバイト(ASZ=1010B), 32ビットバス幅(DBW=10B), 512カラム(PSZ=001B), 4バンク(BANK=1B) A31 A26A25 A13A12A11A10 Row 224 BA FUJITSU MICROELECTRONICS LIMITED A2 A1 A0 Column CM71-10131-1 第 4 章 外部バスインタフェース 4.8 MB91402/403 シリーズ 4.8.5 メモリ接続例 メモリ接続例について説明します。 ■ メモリ接続例 SDRAM/FCRAM インタフェースから SDRAM/FCRAM への接続は , 基本的に以下のよ うなります。 表 4.8-1 メモリ接続例 SDRAM/FCRAM インタフェース端子 SDRAM/FCRAM 端子 備考 MCLKO CLK MCLKE CKE SRAS RAS SCAS CAS WE WE CS7 CS A9 ∼ A0 A9 ∼ A0 A10/AP A10/AP ローアドレス出力時 A10, その他 AP A13 ∼ A11 A13 ∼ A11 SDRAM/FCRAM で使用するアドレスまで接続。 A14 BA0 2 バンク品の場合は BA A15 BA1 2 バンク品の場合は使用しません。 D31 ∼ D16 DQ エンディアン , データバス幅により接続が変わります。 詳しい接続は , 「4.4 エンディアンとバスアクセス」を 参照してください。 DQMUU(WR0), DQMUL(WR1) DQM エンディアン , データバス幅により接続が変わります。 詳しい接続は , 「4.4 エンディアンとバスアクセス」を 参照してください。 CM71-10131-1 CS6/CS7 領域のみ SDRAM/FCRAM 設定が可能です。 FUJITSU MICROELECTRONICS LIMITED 225 第 4 章 外部バスインタフェース 4.8 MB91402/403 シリーズ ● 8 ビットの SDRAM/FCRAM を使用する場合 ( ビッグエンディアン ) 合計データ幅 16 ビット . . . SDRAM 2 個を使用します。 合計データ幅 8 ビット . . . . SDRAM 1 個を使用します。 容量 64M ビットの SDRAM を使用する場合 ( バンクアドレス 2 本 , ローアドレス 12 本 ) を示します。 図 4.8-7 8 ビットの SDRAM/FCRAM を使用する場合 ( ビッグエンディアン ) MB91402/403シリーズ CS7 A13~A0 DQMUU SRAS SCAS SWE WR0 DQMUL WR1 AS BAA WE MCLKE MCLK D31~D16 [D31~D24] ____ CS IA13~IA0 ______ RAS ______ CAS _____ WE CKE DQM CLK DQ7~DQ0 SDRAM(No.1) [D23~D16] ____ CS IA13~IA0 ______ RAS ______ CAS _____ WE CKE DQM CLK DQ7~DQ0 SDRAM(No.2) ● 16 ビットの SDRAM/FCRAM を使用する場合 合計データ幅 16 ビット . . . SDRAM 1 個を使用します。 容量 64M ビットの SDRAM を使用する場合 ( バンクアドレス 2 本 , ローアドレス 12 本 ) を示します。 図 4.8-8 16 ビットの SDRAM/FCRAM を使用する場合 MB91402/403シリーズ CS7 A13~A0 DQMUU SRAS SCAS SWE WR0 DQMUL AS BAA WE MCLKE WR1 MCLK D31~D16 [D31~D16] ____ CS IA13~IA0 ______ ______ RAS CAS _____ WE CKE DQMU DQML CLK DQ15~DQ0 SDRAM(No.1) データ幅 16 ビットで使用時は SDRAM No.2 は不要であり , DQ15 ∼ DQ0, DQM1, DQM0 を開放としてください。 226 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 4.9 第 4 章 外部バスインタフェース 4.9 レジスタ設定手順 レジスタ設定手順を説明します。 ■ レジスタ設定手順 外部バスインタフェースに関する設定は , 以下の手順で行ってください。 (1) レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を使用し ない設定 ("0") にして行ってください。"1" のまま設定を変更した場合 , その前後 のアクセスは保証されません。 (2) レジスタの変更は以下の手順で行ってください。 ① 該当領域に対応する CSER のビットを "0" に設定してください。 ② ASR と ACR をワードアクセスで同時に設定してください。 ASR, ACR をハーフワードでアクセスする場合には , ASR 設定後に ACR を設定 してください。 ③ AWR を設定してください。 ④ 該当領域に対応する CHER のビットを設定してください。 ⑤ 該当領域に対する CSER のビットを設定してください。 (3) CS0領域はリセット解除後から有効になっており, プログラム領域として使用して いる場合は CSER を "1" のままで書き換える必要がありますが , この場合は内部ク ロックが低い初期状態で上記②∼④の設定を行ってください。その後 , クロックを 高速クロックに切り換えてください。 (4) プリフェッチ許可を設定した領域のレジスタ値の変更は以下の手順で行ってくだ さい。 ① 該当領域に対応する CSER のビットを "0" に設定してください。 ② TCRレジスタPSUSビットおよびPCLRビットをともに"1"に設定してください。 ③ ASR と ACR をワードアクセスにて同時に設定してください。 ASR, ACR をハーフワードでアクセスする場合には , ASR 設定後に ACR を設定 してください。 ④ AWR を設定してください。 ⑤ 該当領域に対応する CHER のビットを設定してください。 ⑥ TCR レジスタの PSUS ビットおよび PCLR ビットに "0" を設定してください。 ⑦ 該当領域に対応する CSER のビットを "1" に設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 227 第 4 章 外部バスインタフェース 4.9 228 MB91402/403 シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第5章 割込みコントローラ 割込みコントローラの概要 , レジスタの構成 / 機 能 , 割込みコントローラの動作 , およびホールド リクエスト取下げ要求機能の使用例について説明 します。 5.1 割込みコントローラの概要 5.2 割込みコントローラのレジスタ 5.3 割込みコントローラの動作 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 229 第 5 章 割込みコントローラ 5.1 5.1 MB91402/403 シリーズ 割込みコントローラの概要 割込みコントローラは , 割込み受付け / 調停処理を行います。 ■ ハードウェア構成 本モジュールは , 以下のレジスタおよび回路より構成されます。 • ICR レジスタ • 割込み優先度判定回路 • 割込みレベル , 割込み番号 ( ベクタ ) 発生部 • ホールドリクエスト取下げ要求発生部 ■ 割込みコントローラの主要機能 本モジュールには , 主に以下のような機能があります。 • 割込み要求の検出 • 優先度判定 ( レベルおよび番号による ) • 判定結果の要因の割込みレベル伝達 (CPU へ ) • 判定結果の要因の割込み番号伝達 (CPU へ ) • 割込みレベルが "11111B" 以外の割込み発生によるストップモードからの復帰指示 (CPU へ ) • DMAC へのホールドリクエスト取下げ要求発生 230 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 5 章 割込みコントローラ 5.1 MB91402/403 シリーズ ■ 割込みコントローラのレジスタ一覧 図 5.1-1 割込みコントローラのレジスタ一覧 アドレス 00000440H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR00 00000441H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR01 00000442H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR02 00000443H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR03 00000444H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR04 ICR3 ICR2 ICR1 ICR0 ICR05 00000445H − − − ICR4 00000446H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR06 00000447H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR07 00000448H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR08 00000449H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR09 0000044AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR10 0000044BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR11 0000044CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR12 ICR3 ICR2 ICR1 ICR0 ICR13 0000044DH − − − ICR4 0000044EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR14 0000044FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR15 00000450H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR16 00000451H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR17 00000452H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR18 00000453H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR19 00000454H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR20 ICR3 ICR2 ICR1 ICR0 ICR21 00000455H − − − ICR4 00000456H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR22 00000457H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR23 00000458H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR24 00000459H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR25 0000045AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR26 0000045BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR27 0000045CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR28 ICR3 ICR2 ICR1 ICR0 ICR29 0000045DH − − − ICR4 0000045EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR30 0000045FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR31 00000460H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR32 00000461H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR33 00000462H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR34 00000463H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR35 00000464H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR36 − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR37 00000465H − − ( 続く ) CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 231 第 5 章 割込みコントローラ 5.1 MB91402/403 シリーズ ( 続き ) アドレス 00000466H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR38 00000467H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR39 00000468H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR40 00000469H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR41 ICR3 ICR2 ICR1 ICR0 ICR42 0000046AH − − − ICR4 0000046BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR43 0000046CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR44 0000046DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR45 0000046EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR46 0000046FH − − − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR47 00000045H − − − LVL4 R LVL3 R/W LVL2 R/W LVL1 R/W LVL0 R/W HRCL ■ 割込みコントローラのブロックダイヤグラム 図 5.1-2 割込みコントローラのブロックダイヤグラム WAKEUP(LEVEL≠11111Bのとき "1") UNMI 優先度判定 * NMI 処理 LEVEL4~LEVEL0 5 / ホールド リクエスト 取下げ要求 レベル判定 RI00 ICR00 ・ ・ ・ ・ レベル, ベクタ 発生 6 ベクタ / 判定 ・ ・ RI47 ICR47 MHALTI VCT5~VCT0 (DLYIRQ) R-bus *:MB91402/403シリーズはNMI端子を持ちません。 232 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 5 章 割込みコントローラ 5.2 MB91402/403 シリーズ 割込みコントローラのレジスタ 5.2 割込みコントローラのレジスタ構成および機能について説明します。 ■ 割込み制御レジスタ (ICR) 図 5.2-1 割込み制御レジスタ (ICR) のビット構成 ch.0 0000 0440H ∼ ch.47 bit7 − bit6 − bit5 bit4 bit3 bit2 bit1 bit0 初期値 − ICR4 ICR3 ICR2 ICR1 ICR0 ---11111B R R/W R/W R/W R/W 0000 046FH R/W : リード / ライト可能 R :リードオンリ − : 未定義ビット 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対応する割 込み要求の割込みレベルを設定します。 [bit7 ∼ bit5] 未定義ビット 書き込むときは "000B" を書き込んでください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 233 第 5 章 割込みコントローラ 5.2 MB91402/403 シリーズ [bit4 ∼ bit0] ICR4 ∼ ICR0 割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。 本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定されたレベルマ スク値以上の場合は , CPU 側にて割込み要求がマスクされます。 リセットにより , "11111B" に初期化されます。 設定可能な割込みレベル設定ビットと割込みレベルの対応を表 5.2-1 に示します。 表 5.2-1 設定可能な割込みレベル設定ビットと割込みレベルの対応 ICR4 ICR3 ICR2 ICR1 ICR0 0 0 0 0 0 0 0 1 1 1 0 14 0 1 1 1 1 15 1 0 0 0 0 16 1 0 0 0 1 17 1 0 0 1 0 18 1 0 0 1 1 19 1 0 1 0 0 20 1 0 1 0 1 21 1 0 1 1 0 22 1 0 1 1 1 23 1 1 0 0 0 24 1 1 0 0 1 25 1 1 0 1 0 26 1 1 0 1 1 27 1 1 1 0 0 28 1 1 1 0 1 29 1 1 1 1 0 30 (弱) 1 1 1 1 1 31 割込み禁止 割込みレベル システム予約 NMI 設定可能な最強レベル (強) ICR4 は "1" 固定で , "0" を書き込むことはできません。 234 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 5 章 割込みコントローラ 5.2 MB91402/403 シリーズ ■ Hold Request Cancel Level register (HRCL) 図 5.2-2 Hold Request Cancel Level register(HRCL) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − LVL4 LVL3 LVL2 LVL1 LVL0 HRCL R R/W R/W R/W R/W ---11111B( 初期値 ) アドレス:00000045H R/W : リード / ライト可能 R :リードオンリ − : 未定義ビット ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。 [bit7 ∼ bit5] 未定義ビット 書き込むときは "000B" を書き込んでください。 [bit4 ∼ bit0] LVL4 ∼ LVL0 バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定 します。 本レジスタに設定した割込みレベルより強いレベルを持つ割込み要求が発生した 場合は , バスマスタに対してホールドリクエスト取下げ要求を出します。 LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 235 第 5 章 割込みコントローラ 5.3 5.3 MB91402/403 シリーズ 割込みコントローラの動作 割込みコントローラの以下の動作について説明します。 • 優先順位判定 • ホールドリクエストの取下げ要求 • スタンバイモード ( ストップ / スリープ ) からの復帰 ■ 優先順位判定 本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選 択し , その要因の割込みレベルと割込み番号を CPU へ出力します。 割込み要因の優先順位判定基準は , 次のとおりです。 以下の条件を満たす要因 • 割込みレベルの数値が 31 以外 (31 は割込み禁止 ) • 割込みレベルの数値が最も小さい要因 • その中で , 最も小さい割込み番号の要因 上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし て 31(11111B) を出力します。そのときの割込み番号は不定です。 割込み要因と割込み番号 , 割込みレベルの関係を表 5.3-1 に示します。 236 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 5 章 割込みコントローラ 5.3 MB91402/403 シリーズ 表 5.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (1 / 2) 割込み番号 割込み要因 リセット モードベクタ システム予約 システム予約 システム予約 システム予約 システム予約 コプロセッサ不在トラップ コプロセッサエラートラップ INTE 命令 命令ブレーク例外 オペランドブレークトラップ ステップトレーストラップ NMI 要求 (tool) 未定義命令例外 NMI 要求 Ethernet MAC IF 認証処理部 予約 MPU IF I2C IF GPIO 外部割込み 6 外部割込み 7 リロードタイマ 0 リロードタイマ 1 リロードタイマ 2 UART0( 受信完了 ) UART1( 受信完了 ) UART0( 送信完了 ) UART1( 送信完了 ) DMAC0( 終了 , エラー ) Ethernet MAC IF DMAC1( 終了 , エラー ) MPU IF DMAC2( 終了 , エラー ) DMAC3( 終了 , エラー ) DMAC4( 終了 , エラー ) システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 CM71-10131-1 TBR デフォルト リソース のアドレス 番号 10 進 16 進 割込み レベル オフセット 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E − − − − − − − − − − − − − − − FH 固定 ICR00 ICR01 ICR02 ICR03 ICR04 ICR05 ICR06 ICR07 ICR08 ICR09 ICR10 ICR11 ICR12 ICR13 ICR14 3FCH 3F8H 3F4H 3F0H 3ECH 3E8H 3E4H 3E0H 3DCH 3D8H 3D4H 3D0H 3CCH 3C8H 3C4H 3C0H 3BCH 3B8H 3B4H 3B0H 3ACH 3A8H 3A4H 3A0H 39CH 398H 394H 390H 38CH 388H 384H 000FFFFCH 000FFFF8H 000FFFF4H 000FFFF0H 000FFFECH 000FFFE8H 000FFFE4H 000FFFE0H 000FFFDCH 000FFFD8H 000FFFD4H 000FFFD0H 000FFFCCH 000FFFC8H 000FFFC4H 000FFFC0H 000FFFBCH 000FFFB8H 000FFFB4H 000FFFB0H 000FFFACH 000FFFA8H 000FFFA4H 000FFFA0H 000FFF9CH 000FFF98H 000FFF94H 000FFF90H 000FFF8CH 000FFF88H 000FFF84H − − − − − − − − − − − − − − − − 4 5 8 9 31 1F ICR15 380H 000FFF80H − 32 20 ICR16 37CH 000FFF7CH − 33 34 35 36 37 38 39 40 41 42 21 22 23 24 25 26 27 28 29 2A ICR17 ICR18 ICR19 ICR20 ICR21 ICR22 ICR23 ICR24 ICR25 ICR26 378H 374H 370H 36CH 368H 364H 360H 35CH 358H 354H 000FFF78H 000FFF74H 000FFF70H 000FFF6CH 000FFF68H 000FFF64H 000FFF60H 000FFF5CH 000FFF58H 000FFF54H − − − − − − − − − − FUJITSU MICROELECTRONICS LIMITED − − − − 6 7 − 0 1 2 3 237 第 5 章 割込みコントローラ 5.3 MB91402/403 シリーズ 表 5.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (2 / 2) 割込み要因 システム予約 システム予約 U-TIMER0 U-TIMER1 タイムベースタイマ オーバフロー システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 遅延割込み要因ビット システム予約 (REALOS にて使用 ) システム予約 (REALOS にて使用 ) システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 INT 命令で使用 238 割込み番号 TBR デフォルト リソース のアドレス 番号 割込み レベル オフセット ICR27 ICR28 ICR29 ICR30 350H 34CH 348H 344H 000FFF50H 000FFF4CH 000FFF48H 000FFF44H − − − − 2F ICR31 340H 000FFF40H − 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ICR32 ICR33 ICR34 ICR35 ICR36 ICR37 ICR38 ICR39 ICR40 ICR41 ICR42 ICR43 ICR44 ICR45 ICR46 ICR47 33CH 338H 334H 330H 32CH 328H 324H 320H 31CH 318H 314H 310H 30CH 308H 304H 300H 000FFF3CH 000FFF38H 000FFF34H 000FFF30H 000FFF2CH 000FFF28H 000FFF24H 000FFF20H 000FFF1CH 000FFF18H 000FFF14H 000FFF10H 000FFF0CH 000FFF08H 000FFF04H 000FFF00H − − − − − − − − − − − − − − − − 64 40 − 2FCH 000FFEFCH − 65 41 − 2F8H 000FFEF8H − 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ∼ 255 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 ∼ FF − − − − − − − − − − − − − − 2F4H 2F0H 2ECH 2E8H 2E4H 2E0H 2DCH 2D8H 2D4H 2D0H 2CCH 2C8H 2C4H 2C0H 2BCH 000FFEF4H 000FFEF0H 000FFEECH 000FFEE8H 000FFEE4H 000FFEE0H 000FFEDCH 000FFED8H 000FFED4H 000FFED0H 000FFECCH 000FFEC8H 000FFEC4H 000FFEC0H 000FFEBCH − − − − − − − − − − − − − − − ∼ 000H ∼ 000FFC00H − 10 進 43 44 45 46 16 進 2B 2C 2D 2E 47 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 5 章 割込みコントローラ 5.3 MB91402/403 シリーズ ■ ホールドリクエスト取下げ要求 (Hold Request Cancel Request) 優先度の高い割込み処理を CPU のホールド中に行いたい場合は , ホールドリクエスト 発生元においてリクエストを取り下げてもらう必要があります。この取下げ要求発生 の基準となる割込みレベルを HRCL レジスタに設定します。 ● 発生基準 HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合 には , ホールドリクエスト取下げ要求を発生します。 HRCL レジスタの割込みレベル>優先度判定後の割込みレベル→取下げ要求発生 HRCL レジスタの割込みレベル≦優先度判定後の割込みレベル→取下げ要求なし 取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効 であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割 込み要因をクリアしてください。 ● 設定可能なレベル HRCL レジスタに設定可能な値は , ICR と同様に "10001B" から "11111B" までです。 "11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生します。 ホールドリクエスト取下げ要求発生となる割込みレベルの設定を表 5.3-2 に示します。 表 5.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定 HRCL レジスタ 17 18 ∼ 31 取下げ要求発生となる割込みレベル 割込みレベル 16 割込みレベル 16, 17 ∼ 割込みレベル 16 ∼ 30〔初期値〕 リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割 込みが発生していると DMA 転送が行われませんので , HRCL レジスタの値を必要な値 に設定してください。 ■ スタンバイモード ( ストップ / スリープ ) からの復帰 割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し ます。周辺からの割込み要求 ( 割込みレベルが 11111B 以外 ) が 1 つでも発生すると , クロック制御部に対してストップモードからの復帰要求を発生します。 優先度判定部はストップ復帰後にクロックが供給されてから動作を再開しますので , 優先度判定部の結果が出るまでの間 CPU は命令を実行します。 スリープ状態からの復帰においても , 同様に動作します。また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。 <注意事項> • NMI 要求においてもストップモードからの復帰を行います。ただし , ストップ時に有効 な入力を検出するように NMI の設定を行ってください。 • ストップおよびスリープからの復帰の要因としたくない割込み要因は , 対応する周辺 の制御レジスタにて割込みレベルを "11111B" にしてください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 239 第 5 章 割込みコントローラ 5.3 MB91402/403 シリーズ ■ ホールドリクエスト取下げ要求機能 (HRCR) の使用例 DMA 転送中に , CPU が優先度の高い処理を行いたいときは , DMA に対してホールド リクエストを取り下げてもらってホールド状態を解除する必要があります。ここでは , 割込みを利用して DMA に対してホールドリクエストの取下げ , すなわち CPU の優先 動作を実現します。 ● 制御レジスタ HRCL( ホールドリクエストキャンセルレベル設定レジスタ ) 本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に , DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ ルを設定します。 ICR 使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定しま す。 ● ハードウェア構成 各信号の流れは , 次のようになっています。 図 5.3-1 ホールドリクエストの各信号の流れ 本モジュール IRQ バスアクセス要求 MHALTI I - UNIT DHREQ DMA B-UNIT DHREQ : D-busホールドリクエスト CPU (ICR) DHACK : D-busホールドアクノリッジ IRQ (HRCL) DHACK : 割込み要求 MHALTI : ホールドリクエスト 取下げ要求 ● シーケンス 図 5.3-2 割込みレベル HRCL > ICR(LEVEL) RUN バスホールド 割込み処理 バスホールド(DMA転送) 割込みルーチンの例 CPU バスアクセス要求 ①割込み要因クリア DHREQ ~ DHACK ②RETI IRQ LEVEL MHALTI 割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した レベルより強いと DMA に対して MHALTI をアクティブにします。これによって , DMA はアクセス要求を下げ , CPU はホールド状態から復帰して割込み処理を行います。 多重割込みの場合を , 以下に示します。 240 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 5 章 割込みコントローラ 5.3 MB91402/403 シリーズ 図 5.3-3 割込みレベル HRCL > ICR( 割込みⅠ ) > ICR( 割込みⅡ ) RUN バスホールド 割込み I CPU 割込み処理 II ③ ④ 割込み処理 I ① バスホールド(DMA転送) ② バスアクセス要求 DHREQ DHACK IRQ1 IRQ2 LEVEL MHALTI 割込みルーチンの例 ① , ③割込み要因クリア ∼ ② , ④ RETI 上記例では , 割込みルーチン I を実行中にそれよりも優先度の高い割込みが発生した場 合を示しています。HRCL レジスタに設定した割込みレベルより高い割込みレベルが 発生している間は , DHREQ は "L" レベルになります。 <注意事項> HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 241 第 5 章 割込みコントローラ 5.3 242 MB91402/403 シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第6章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能 , および動作について説明します。 6.1 外部割込み制御部の概要 6.2 外部割込み制御部のレジスタ 6.3 外部割込み制御部の動作 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 243 第 6 章 外部割込み制御部 6.1 6.1 MB91402/403 シリーズ 外部割込み制御部の概要 外部割込み制御部は , INT7, INT6 に入力される外部割込み要求の制御を行います。 外部割込み入力は , 検出する要求のレベルとして , "H", "L", " 立上りエッジ ", " 立下 りエッジ " から選択できます。 ■ 外部割込み制御部のレジスタ一覧 外部割込み制御部のレジスタ一覧を示します。 図 6.1-1 外部割込み 制御部のレジスタ一覧 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 外部割込み許可レジスタ EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 (ENIR) bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 外部割込み要因レジスタ ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 (EIRR) bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 要求レベル設定レジスタ LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 (ELVR) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 ■ 外部割込み制御部のブロックダイヤグラム 外部割込み制御部のブロックダイヤグラムを図 6.1-2 に示します。 図 6.1-2 外部割込み制御部のブロックダイヤグラム R-bus 割込み許可レジスタ 8 割込み 要求 9 ゲート 要因 F/F エッジ検出回路 2 INT7,INT6 244 8 割込み要因レジスタ 8 要求レベル設定レジスタ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 6 章 外部割込み制御部 6.2 MB91402/403 シリーズ 外部割込み制御部のレジスタ 6.2 外部割込み制御部で使用するレジスタの構成および機能について説明します。 ■ 外部割込み許可レジスタ (ENIR : ENable Interrupt request Register) 図 6.2-1 外部割込み許可レジスタ (ENIR : ENable Interrupt request Register) のビット構成 ENIR bit7 アドレス : 000041H bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 R/W R/W R/W R/W R/W R/W R/W R/W R/W : リード / ライト可能 ENIR は外部割込み要求出力のマスク制御を行います。このレジスタの "1" を書かれた ビットに対応する割込み要求出力は許可され (INT0 の許可を EN0 が制御 ), 割込みコン トローラに対して要求が出力されます。"0" が書かれたビットに対応する端子は割込み 要因を保持しますが , 割込みコントローラに対しては要求を発生しません。 NMI に対するマスクビットは , 存在しません。 ■ 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) 図 6.2-2 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) のビット構成 EIRR アドレス : 000040H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W R/W : リード / ライト可能 EIRR は読出し時には対応する外部割込み要求があることを示し , 書込み時にはこの要 求を示すフリップフロップ内容をクリアするレジスタです。この EIRR レジスタを読 み出したときに "1" であった場合 , そのビットに対応する端子に外部割込み要求がある ことを示します。また , このレジスタに "0" を書き込むと , 対応するビットの要求フ リップフロップがクリアされます。"1" の書込みは無効です。 リードモディファイライト (RMW) 系命令の読出し時には "1" が読まれます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 245 第 6 章 外部割込み制御部 6.2 MB91402/403 シリーズ ■ 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) 図 6.2-3 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) のビット構成 ELVR アドレス : 000042H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 00000000B R/W R/W R/W R/W R/W R/W R/W R/W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B ELVR アドレス : 000043H LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 R/W R/W R/W R/W R/W R/W R/W R/W R/W : リード / ライト可能 ELVR は要求検出の選択を行うレジスタです。INT7 ∼ INT0 に 2 ビットずつ割り当て られていて , 以下のような設定になります。要求入力がレベルの場合 , EIRR の各ビッ トをクリアしても入力がアクティブレベルならば該当するビットは再びセットされま す。 表 6.2-1 ELVR 割当て表 LBx LAx 0 0 "L" レベルで要求あり 0 1 "H" レベルで要求あり 1 0 立上りエッジで要求あり 1 1 立下りエッジで要求あり 動 作 NMI は常にその立下りエッジが検出されます ( ストップ時を除く )。 ストップ時は , "L" レベル検出となります。 246 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 6 章 外部割込み制御部 6.3 MB91402/403 シリーズ 6.3 外部割込み制御部の動作 要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された 要求が入力されると本モジュールは , 割込みコントローラに対して割込み要求信号 を発生します。割込みコントローラ内で同時に発生した割込みの優先順位を識別し た結果 , 本リソースからの割込みが最も優先順位が高かったときに該当する割込み が発生します。 ■ 外部割込みの動作について 図 6.3-1 外部割込みの動作 外部割込み 割込みコントローラ CPU リソース要求 ELVR ICR y y EIRR IL CMP ENIR ICR x x CMP ILM 割込み 要因 ■ スタンバイからの復帰について クロック停止モードのスタンバイ状態からの復帰に外部割込みを使う場合は , 外部割 込み要求レベル設定レジスタ (ELVR) の設定にかかわらず , 入力要求は "H" レベル要求 となります。 ■ 外部割込みの動作手順について 外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。 1. 許可レジスタの対象となるビットを禁止状態にする 2. 要求レベル設定レジスタの対象となるビットを設定する 3. 要因レジスタの対象となるビットをクリアする 4. 許可レジスタの対象となるビットを許可状態にする ( ただし , 3. と 4. は 16 ビットデータによる同時書込み可能 ) 本モジュール内のレジスタを設定するときには必ず許可レジスタを禁止状態に設定し ておかなくてはなりません。また , 許可レジスタを許可状態にする前に必ず要因レジス タをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態時に 誤って割込み要因が起こってしまうことを避けるためです。 <注意事項> 外部割込みのすべてのチャネルをスタンバイからの復帰に使用可能です。使用しないチャ ネルは , スタンバイに入る前に必ず , 禁止状態にしてください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 247 第 6 章 外部割込み制御部 6.3 MB91402/403 シリーズ ■ 外部割込み要求レベルについて ① 要求レベルがエッジ要求のときにエッジがあったことを検出するには , パルス幅は 最小 3 マシンサイクル ( 周辺系クロックマシンサイクル ) を必要とします。 ② 要求入力レベルがレベル設定のとき , 外部より要求入力が入って , その後 , 取り下げ られても内部に要因保持回路が存在するので , 割込みコントローラへの要求はアク ティブのままです。 割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要が あります。 図 6.3-2 レベル設定時の要因保持回路のクリア 割込み入力 レベル検出 割込み要因 F/F 許可ゲート (要因保持回路) 割込み コントローラ クリアしない限り要因を保持し続ける 図 6.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求 "H"レベル 割込み入力 割込みコントローラ への割込み要求 要因F/Fのクリアによって要求取り下げとなる 248 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第7章 REALOS 関連ハード REALOS 関連ハードは , リアルタイム OS により 使用されます。したがって , REALOS を使用する 場合にはユーザプログラムで使用することはでき ません。 7.1 遅延割込みモジュール 7.2 遅延割込みモジュールのレジスタ 7.3 遅延割込みモジュールの動作 7.4 ビットサーチモジュール 7.5 ビットサーチモジュールのレジスタ 7.6 ビットサーチモジュール動作 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 249 第 7 章 REALOS 関連ハード 7.1 7.1 MB91402/403 シリーズ 遅延割込みモジュール 遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールで す。 本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生 / 取消しを行うことができます。 ■ 遅延割込みモジュールのレジスタ一覧 図 7.1-1 遅延割込みモジュールのレジスタ一覧 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − − − − − DLYI アドレス : 000044H DICR R/W R/W : リード / ライト可能 ■ 遅延割込みモジュールのブロックダイヤグラム 図 7.1-2 遅延割込みモジュールのブロックダイヤグラム R-bus 割込み要求 250 DLYI FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 7 章 REALOS 関連ハード 7.2 MB91402/403 シリーズ 7.2 遅延割込みモジュールのレジスタ 遅延割込みモジュールのレジスタについて説明します。 ■ DICR (Delayed Interrupt Control Register) 図 7.2-1 遅延割込みモジュールレジスタ (DICR) のビット構成 アドレス : 000044H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − − − − − DLYI -------0B ( 初期値 ) R/W R/W : リード / ライト可能 − :未定義ビット 遅延割込みを制御するレジスタです。 [bit0] DLYI DLYI 説 明 0 遅延割込み要因の解除・要求なし〔初期値〕 1 遅延割込み要因の発生 本ビットにより , 該当する割込み要因の発生・解除を制御します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 251 第 7 章 REALOS 関連ハード 7.3 7.3 MB91402/403 シリーズ 遅延割込みモジュールの動作 遅延割込みは , タスク切換え用の割込みを発生します。本機能により , ソフトウェア で CPU に対して割込み要求の発生 , 取消しを行うことができます。 ■ 割込み番号 遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。 本マクロでは , 遅延割込みを割込み番号 63(3FH) に割り当てています。 ■ DICR の DLYI ビット このビットに "1" を書き込むことで遅延割込み要因が発生します。また , "0" を書き込 むことで , 遅延割込み要因を解除します。 本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ ンの中で本ビットをクリアし , 併せてタスクの切換えを行うようにしてください。 252 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 7 章 REALOS 関連ハード 7.4 MB91402/403 シリーズ 7.4 ビットサーチモジュール 入力レジスタに書き込まれたデータに対して , "0", "1" または変化点を検索して検出 したビット位置を返します。 ■ ビットサーチモジュールのレジスタ一覧 ビットサーチモジュールのレジスタ一覧を図 7.4-1 に示します。 図 7.4-1 ビットサーチモジュールのレジスタ一覧 bit31 bit0 アドレス:000003F0H BSD0 0 検出用データレジスタ アドレス:000003F4H BSD1 1 検出用データレジスタ アドレス:000003F8H BSDC 変化点検出用データレジスタ アドレス:000003FCH BSRR 検出結果レジスタ ■ ビットサーチモジュールのブロックダイヤグラム 図 7.4-2 ビットサーチモジュールのブロックダイヤグラム D-bus 入力ラッチ アドレスデコーダ 検出モード 1検出データ化 ビットサーチ回路 検索結果 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 253 第 7 章 REALOS 関連ハード 7.5 7.5 MB91402/403 シリーズ ビットサーチモジュールのレジスタ ビットサーチモジュールで使用するレジスタの構成および機能について説明します。 ■ 0 検出用データレジスタ (BSD0) 図 7.5-1 0 検出用データレジスタ (BSD0) のビット構成 bit31 bit0 000003F0H W W : ライトオンリ 初期値 : 不定 書き込んだ値に対して , 0 検出を行います。 リセットによる初期値は不定です。読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令を使用しないでください )。 ■ 1 検出用データレジスタ (BSD1) 図 7.5-2 1 検出用データレジスタ (BSD1) のビット構成 bit31 bit0 000003F4H R/W R/W : リード / ライト可能 初期値 : 不定 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令を使用しないでください )。 • 書込み時 書き込んだ値に対して , 1 を検出します。 • 読出し時 ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避 / 復帰する ときに使用します。0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合 でも , 1 検出用データレジスタのみ操作することで退避 / 復帰できます。 リセットによる初期値は不定です。 254 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 7 章 REALOS 関連ハード 7.5 MB91402/403 シリーズ ■ 変化点検出用データレジスタ (BSDC) 図 7.5-3 変化点検出用データレジスタ (BSDC) のビット構成 bit31 bit0 000003F8H W W →ライトオンリ 初期値→不定 書き込んだ値に対して , 変化点の検出を行います。 リセットによる初期値は不定です。 読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令を使用しないでください )。 ■ 検出結果レジスタ (BSRR) 図 7.5-4 検出結果レジスタ (BSRR) のビット構成 bit31 bit0 000003FCH R R →リードオンリ 初期値→不定 0 検出 , 1 検出または変化点検出の結果が読み出されます。 どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ れます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 255 第 7 章 REALOS 関連ハード 7.6 7.6 MB91402/403 シリーズ ビットサーチモジュール動作 ビットサーチモジュールの 3 種類の動作について説明します。 • 0 検出 • 1 検出 • 変換点検出 ■ 0 検出 0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "0" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。 検出した位置と , 返す数値の関係は , 表 7.6-1 のとおりです。 "0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ), 32 という値をサーチ 結果として返します。 【実行例】 書込みデータ 読出し値 (10 進 ) 11111111111111111111000000000000 B (FFFFF000H) → 20 11111000010010011110000010101010 B (F849E0AAH) → 5 10000000000000101010101010101010 B (8002AAAAH) → 1 11111111111111111111111111111111 B (FFFFFFFFH) → 32 ■ 1 検出 1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "1" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。 検出した位置と返す値との関係は , 表 7.6-1 のとおりです。 "1" が存在しないとき ( すなわち 00000000H という数値のとき ), 32 という値をサーチ 結果として返します。 【実行例】 書込みデータ 256 読出し値 (10 進 ) 00100000000000000000000000000000 B (20000000H) → 2 00000001001000110100010101100111 B (01234567H) → 7 00000000000000111111111111111111 B (0003FFFFH) → 14 00000000000000000000000000000001 B (00000001H) → 31 00000000000000000000000000000000 B (00000000H) → 32 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 7 章 REALOS 関連ハード 7.6 MB91402/403 シリーズ ■ 変化点検出 変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンして MSB の値と比較します。最初に MSB と異なる値を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。 検出した位置と返す値は , 表 7.6-1 のとおりです。 変化点が存在しないときは , 32 を返します。 変化点検出では , 結果として "0" を返すことはありません。 【実行例】 書込みデータ 読出し値 (10 進 ) 00100000000000000000000000000000 B (20000000H) → 2 00000001001000110100010101100111 B (01234567H) → 7 00000000000000111111111111111111 B (0003FFFFH) → 14 00000000000000000000000000000001 B (00000001H) → 31 00000000000000000000000000000000 B (00000000H) → 32 11111111111111111111000000000000 B (FFFFF000H) → 20 11111000010010011110000010101010 B (F849E0AAH) → 5 10000000000000101010101010101010 B (8002AAAAH) → 1 11111111111111111111111111111111 B (FFFFFFFFH) → 32 表 7.6-1 ビット位置と返す値 (10 進 ) 検出した ビット位置 返す値 検出した ビット位置 返す値 検出した ビット位置 返す値 検出した ビット位置 返す値 31 0 23 8 15 16 7 24 30 1 22 9 14 17 6 25 29 2 21 10 13 18 5 26 28 3 20 11 12 19 4 27 27 4 19 12 11 20 3 28 26 5 18 13 10 21 2 29 25 6 17 14 9 22 1 30 24 7 16 15 8 23 0 31 存在しない 32 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 257 第 7 章 REALOS 関連ハード 7.6 MB91402/403 シリーズ ■ 退避 / 復帰の処理 割込みハンドラ中でビットサーチモジュールを使う場合のように , ビットサーチモ ジュールの内部状態を退避 / 復帰させる必要がある場合には , 以下の手順に従ってくだ さい。 ① 1 検出用データレジスタを読み出して , この内容を保存する ( 退避 ) ② ビットサーチモジュールを使用 ③ ①で退避したデータを 1 検出用データレジスタに書き込む ( 復帰 ) 以上の操作により , 次に検出結果レジスタを読み出したときに得られる値は , ①以前に , ビットサーチモジュールに書き込まれた内容に応じたものとなります。最後に書き込ま れたデータレジスタが 0 検出用または変化点検出用であっても , 上記の手順で正しく元 に戻ります。 258 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第8章 16 ビットリロードタイマ 16 ビットリロードタイマの概要 , レジスタの構成 / 機能 , および 16 ビットリロードタイマの動作につ いて説明します。 8.1 16 ビットリロードタイマの概要 8.2 16 ビットリロードタイマのブロックダイヤグラム 8.3 16 ビットリロードタイマのレジスタ 8.4 16 ビットリロードタイマの動作 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 259 第 8 章 16 ビットリロードタイマ 8.1 8.1 MB91402/403 シリーズ 16 ビットリロードタイマの概要 16 ビットタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジスタ , 内 部カウントクロック作成用プリスケーラ , コントロールレジスタで構成されていま す。 入力クロックとして内部クロック 3 種類 ( マシンクロックの 2 / 8 / 32 分周 ) と外部 クロックから選択できます。 外部イベントカウント機能をリロードモードで使用すると , 外部クロックモードの 分周器として使用することができます。 本マクロは , 本タイマを 0 ∼ 2 までの 3 チャネル内蔵しています。 ch.0 と ch.1 は , 割込みによる DMA 転送の起動が可能です。 ■ 16 ビットリロードタイマのレジスタ一覧 図 8.1-1 16 ビットリロードタイマのレジスタ一覧 bit15 bit14 bit13 bit12 bit11 bit10 − − − − CSL1 CSL0 MOD2 MOD1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MOD0 − INTE UF CNTE TRG bit15 OUTL RELD bit9 bit8 コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2) bit0 16 ビットタイマレジスタ (TMR0 ∼ TMR2) bit15 bit0 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) 260 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 8 章 16 ビットリロードタイマ 8.2 MB91402/403 シリーズ 8.2 16 ビットリロードタイマのブロックダイヤグラム 16 ビットリロードタイマのブロックダイヤグラムを示します。 ■ 16 ビットリロードタイマのブロックダイヤグラム 図 8.2-1 16 ビットリロードタイマのブロックダイヤグラム 16 16ビットリロードレジスタ 8 リロード RELD 16ビットダウンカウンタ UF OUTE 16 OUTL OUT 2 GATE 2 2 UF IRQ CNTE リトリガ CSL0 φ φ EXCK 21 23 25 プリスケーラ クリア TRG OPEN (LSI内部) IN CTL. φ 内部クロック INTE CSL1 クロックセレクタ R-bus CTL. 3 OPEN (LSI内部) MOD2 MOD1 MOD0 3 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 261 第 8 章 16 ビットリロードタイマ 8.3 8.3 MB91402/403 シリーズ 16 ビットリロードタイマのレジスタ 16 ビットリロードタイマのレジスタの構成と機能について説明します。 ■ コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2) 図 8.3-1 コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2) のビット構成 TMCSRTMCSR0 ∼ TMCSR2 アドレス bit11 bit10 bit9 bit8 bit7 ch.0 0000 004EH CSL1 CSL0 MOD2 MOD1 MOD0 ch.1 0000 0056H R/W R/W R/W R/W R/W bit6 bit5 bit4 bit3 OUTL RELD INTE R/W R/W R/W − R bit2 UF R/W bit1 bit0 CNTE TRG R/W R/W 初期値 : 000000 000000B ch.2 0000 005EH R/W : リード / ライト可能 R : リードオンリ 16 ビットタイマの動作モードおよび割込みの制御をします。 UF, CNTE, TRG ビット以外のビットの書換えは , CNTE=0 のときに行うようにしてく ださい。 同時書込みは可能です。 [bit11, bit10] CSL1, CSL0 (Count clock SeLect) カウントクロックセレクトビットです。 選択されるクロックソースを表 8.3-1 に示します。また , 外部イベントカウントモー ドを設定した場合のカウント有効エッジは , MOD1, MOD0 ビットにより設定され ます。 表 8.3-1 CSL ビット設定クロックソース CSL1 CSL0 クロックソース (φ:マシンクロック ) 0 0 φ/21 0 1 φ/23 1 0 φ/25 1 1 外部クロック ( イベント ) 外部クロックに必要な最小パルス幅は , 2T(T:周辺系クロックマシンサイクル ) で す。 262 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 8 章 16 ビットリロードタイマ 8.3 MB91402/403 シリーズ [bit9 ∼ bit7] MOD2 ∼ MOD0 (MODe) 動作モードおよび入出力端子の機能を設定するビットです。 MOD2 ビットは , 入力端子の機能を選択するビットです。"0" の場合には入力端子 がトリガ入力端子となり , 有効エッジが入力されるとリロードレジスタの内容をカ ウンタへロードしてカウント動作を継続します。 "1"の場合にはゲートカウントモー ドになり , 入力端子がゲート入力となり , 有効レベルが入力されている間のみカウ ントをします。 MOD1, MOD0ビットは, 各モードにおける端子の機能を設定します。 MOD2∼MOD0 ビットの設定を表 8.3-2 および表 8.3-3 に示します。 表 8.3-2 MOD2 ∼ MOD0 ビットの設定方法 (1) 内部クロックモード時 (CSL0, CSL1=00B, 01B, 10B) MOD2 MOD1 MOD0 入力端子機能 有効エッジ , レベル 0 0 0 0 1 0 0 1 1 X 0 1 0 1 0 トリガ禁止 − − 立上りエッジ 立下りエッジ 両エッジ "L" レベル 1 X 1 − "H" レベル トリガ入力 表 8.3-3 MOD2 ∼ MOD0 ビットの設定方法 (2) イベントカウントモード時 (CSL0, CSL1=11B) MOD2 MOD1 MOD0 入力端子機能 有効エッジ , レベル 0 1 0 1 − − X 0 0 1 1 トリガ入力 立上りエッジ 立下りエッジ 両エッジ ( 注意事項 ) 表中の X は , 任意の値 [bit6] (reserved) 未使用ビットです。 常に "0" が読み出されます。 [bit5] OUTL 外部タイマ出力レベルを設定するビットです。本ビットが "0" のときと , "1" のとき では出力レベルが逆になります。 表 8.3-4 OUTL, RELD の設定方法 CM71-10131-1 UOTL RELD 出力波形 0 0 カウント中 "H" の矩形波 0 1 カウント中 "L" の矩形波 1 0 カウントスタート時 "L" のトグル出力 1 1 カウントスタート時 "H" のトグル出力 FUJITSU MICROELECTRONICS LIMITED 263 第 8 章 16 ビットリロードタイマ 8.3 MB91402/403 シリーズ [bit4] RELD リロード許可ビットです。"1" のときにリロードモードになり , カウンタの値が 0000H → FFFFH へのアンダフローと同時にリロードレジスタの内容をカウンタへ ロードしてカウント動作を続けます。 "0" のときにカウンタの値が 0000H → FFFFH へのアンダフローによりカウント 動作 を停止します。 [bit3] INTE 割込み要求許可ビットです。"1" のときに UF ビットが "1" になると割込み要求を発 生します。"0" のときは割込み要求を発生しません。 [bit2] UF タイマ割込み要求フラグです。カウンタの値が , 0000H → FFFFH へのアンダフロー により "1" にセットされます。"0" の書込みによってクリアされます。 このビットへの "1" 書込みは , 意味がありません。 リードモディファイライト (RMW) 系命令における読出し時には , "1" が読み出され ます。 [bit1] CNTE タイマのカウントイネーブルビットです。このビットに "1" を書き込むと , 起動ト リガ待ち状態になります。"0" 書込みによりカウント動作を停止します。 [bit0] TRG ソフトウェアトリガビットです。"1" 書込みによりソフトウェアトリガがかかり , リ ロードレジスタの内容をカウンタへロードしてカウント動作を開始します。 "0" 書込み動作は意味がありません。読出し値は , 常に "0" です。 このレジスタによるトリガ入力は , CNTE=1 のときにのみ有効となります。 CNTE=0 のときには , 何も起こりません。 ■ 16 ビットタイマレジスタ (TMR0 ∼ TMR2) 図 8.3-2 16 ビットタイマレジスタ (TMR0 ∼ TMR2) のビット構成 TMR0 ∼ TMR2 ch.0 0000 004AH ch.1 0000 0052H ch.2 0000 005AH R X R X R X R X ∼∼ bit15 ∼∼ アドレス …… …… bit0 R X R X R X R X R : リードオンリ 16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定で す。 このレジスタの読出しは , 必ず 16 ビットデータ転送命令で行ってください。 264 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 8 章 16 ビットリロードタイマ 8.3 MB91402/403 シリーズ ■ 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) 図 8.3-3 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) のビット構成 TMRLR0 ∼ TMRLR2 ch.1 0000 0050H ch.2 0000 0058H 初期値 W X W X W X W X ∼∼ bit15 ∼∼ アドレス ch.0 0000 0048H …… …… bit0 W X W X W X W X W : ライトオンリ 16 ビットリロードレジスタは , カウントの初期値を保持しておくレジスタです。 初期値は不定です。このレジスタへの書込みは , 必ず 16 ビットデータ転送命令で行っ てください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 265 第 8 章 16 ビットリロードタイマ 8.4 8.4 MB91402/403 シリーズ 16 ビットリロードタイマの動作 16 ビットリロードタイマの動作について説明します。 ■ 内部クロック動作 内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ ンクロックの 2, 8, 32 分周のクロックから選択することができます。 カウント許可と同時にカウント動作を開始したい場合は , コントロールステータスレ ジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。 カウンタの起動 , カウンタの動作について , 図 8.4-1 に示します。 カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ ロードされるまでに , T(T:周辺系クロックマシンサイクル ) の時間がかかります。 図 8.4-1 カウンタの起動および動作 カウンタクロック リロード データ カウンタ -1 -1 -1 データロード CNTE(レジスタ) TRG(レジスタ) T 266 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 8 章 16 ビットリロードタイマ 8.4 MB91402/403 シリーズ ■ アンダフロー動作 カウンタの値が 0000H から FFFFH になるときをアンダフローとしています。したがっ て , 〔リロードレジスタの設定値+ 1〕カウントでアンダフローが発生します。 アンダフロー発生時にコントロールレジスタの RELD ビットが "1" の場合には , リロー ドレジスタの内容をカウンタへロードしてカウント動作を継続します。RELD ビット が "0" の場合には , カウンタは FFFFH で停止します。 アンダフローによりコントロールレジスタの UF ビットがセットされ , INTE ビットが "1" のときに割込み要求を発生します。 アンダフロー動作について図 8.4-2 に示します。 図 8.4-2 アンダフロー動作 カウンタクロック カウンタ 0000H リロード データ -1 -1 -1 データロード アンダフローセット 〔RELD=1〕 カウントクロック カウンタ 0000H FFFFH アンダフローセット 〔RELD=0〕 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 267 第 8 章 16 ビットリロードタイマ 8.4 MB91402/403 シリーズ ■ カウンタの動作状態 カウンタの状態は , コントロールレジスタの CNTE ビットと内部信号の WAIT 信号に よって決まっています。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状 態 ), CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ), CNTE=1, WAIT=0 の動作 状態 (RUN 状態 ) があります。各状態の遷移を図 8.4-3 に示します。 図 8.4-3 カウンタ状態遷移 ハードウェアによる状態遷移 リセット STOP CNTE=0 CNTE=0, WAIT=1 レジスタアクセスによる状態遷移 T1:入力禁止 T0:汎用ポート カウンタ:停止時の値を保持 リセット直後は不定 CNTE=1 TRG=0 CNTE=0 CNTE=1 TRG=1 WAIT RUN CNTE=1, WAIT=1 T1:トリガ入力のみ有効 T0:初期値出力 CNTE=1, WAIT=0 T1:T1として機能 T0:T0として機能 カウンタ:停止時の値を保持 リセット直後ロード するまでは不定 カウンタ:動作 RELD・UF TRG=1 TRG=1 LOAD TINからトリガ CNTE=1, WAIT=0 リロードレジスタの内容をカウ ンタへロード RELD・UF ロード終了 ■ その他 リロードタイマの ch.0 , ch.1 は , その割込み要求信号により DMA 転送を起動すること が可能です。 DMA コントローラは , 転送要求の受付けと同時にリロードタイマの割込みフラグをク リアします。 ■ 注意点 • 内部プリスケーラは , コントロールステータスレジスタの bit1( タイマ許可:CNTE) が "1" に設定されている状態でトリガ ( ソフトウェア トリガ ) がかかると動作可能 となります。 ゲートカウントモードのみで使用する場合でも有効ゲートレベル入力前に必ず 1 度 トリガをかけてください (CNTE を設定するときに同レジスタ bit0(TRG) に "1" を書 き込むことを推奨します )。 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ グセットが優先し , クリア動作は無効となります。 • 16 ビットタイマリロードレジスタへの書込みとリロードのタイミングが重なった場合には , 旧データがカウンタにロードされて新データがカウンタにロードされるのは , 次のリロード のときになります。 • 16 ビットタイマレジスタはロードとカウントのタイミングが重複した場合には , ロード ( リ ロード ) 動作の方が優先されます。 268 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第9章 U-TIMER U-TIMER の概要 , レジスタの構成 , 機能 , および動 作について説明します。 9.1 U-TIMER の概要 9.2 U-TIMER のレジスタ 9.3 U-TIMER の動作 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 269 第 9 章 U-TIMER 9.1 9.1 MB91402/403 シリーズ U-TIMER の概要 U-TIMER は , UART のボーレートを発生するための 16 ビットタイマです。チップの 動作周波数と , U-TIMER のリロード値の組合せで任意のボーレートを設定できます。 また , カウントアンダフローで割込みを発生するので , インターバルタイマとしても 使用可能です。 MB91402/403 シリーズは , 本タイマを 2 チャネル内蔵しています。インターバルタ イマとして使用する場合には 2 組の U-TIMER をカスケードして使用でき , 最大 232 × φ のインターバルをカウントできます。 ■ U-TIMER のレジスタ一覧 図 9.1-1 U-TIMER のレジスタ一覧 bit15 bit8 bit7 bit0 (R) UTIM1, UTIM0 UTIMR1, UTIMR0 (W) UTIMC1, UTIMC0 (R/W) ■ U-TIMER のブロックダイヤグラム 図 9.1-2 U-TIMER のブロックダイヤグラム bit15 bit0 UTIMR(リロードレジスタ) ロード bit15 bit0 UTIM(タイマ) クロック (周辺系クロック) MUX ch.0 のみ アンダフロー コントロール F/F UARTへ U-TIMER1アンダフロー 270 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 9 章 U-TIMER 9.2 MB91402/403 シリーズ 9.2 U-TIMER のレジスタ U-TIMER で使用するレジスタの構成および機能について説明します。 ■ U-TIMER(UTIM1, UTIM0) 図 9.2-1 U-TIMER(UTIM1, UTIM0) のビット構成 UTIM1, UTIM0 ch.0 アドレス 0000 0064H ch.1 アドレス 0000 006CH bit15 bit14 bit2 bit1 bit0 b15 b14 b2 b1 b0 R アクセス 0 初期値 R : リードオンリ UTIM1, UTIM0 は , タイマの値を示します。16 ビット転送命令でアクセスしてくださ い。 ■ リロードレジスタ (UTIMR1, UTIMR0) 図 9.2-2 リロードレジスタ (UTIMR1, UTIMR0) のビット構成 UTIMR1, UTIMR0 ch.0 アドレス 0000 0064H ch.1 アドレス 0000 006CH bit15 bit14 bit2 bit1 bit0 b15 b14 b2 b1 b0 W アクセス 0 初期値 W : ライトオンリ UTIMR1, UTIMR0 は , UTIM1, UTIM0 がアンダフローしたときに UTIM1, UTIM0 にリ ロードされる値を格納するレジスタです。 16 ビット転送命令でアクセスしてください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 271 第 9 章 U-TIMER 9.2 MB91402/403 シリーズ ■ U-TIMER コントロールレジスタ (UTIMC1, UTIMC0) 図 9.2-3 U-TIMER コントロールレジスタ (UTIMC1, UTIMC0) のビット構成 UTIMC1, UTIMC0 ch.0 アドレス 0000 0067H ch.1 アドレス 0000 006FH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 UCC1 − − UTIE UNDR CLKS UTST UTCR R/W − − R/W R/W R/W R/W 0 − − 0 0 0 0 R/W アクセス 1 初期値 R/W : リード / ライト可能 UTIMC1, UTIMC0 は , U-TIMER の動作を制御します。 [bit7] UCC1 (U-timer Count Control 1) UCC1 ビットは , U-TIMER のカウントの仕方を制御します。 表 9.2-1 U-TIMER のカウント方法 UCC1 動作 0 通常動作 . α = 2n + 2 〔初期値〕 1 + 1 モード α = 2n + 3 n : UTIMR の設定値 α : UART に対する出力クロックの周期 U-TIMER は , UART に対して通常の 2(n + 1) の周期のクロックのほかに奇数分周を 設定できます。 UCC1 を "1" に設定すると 2n + 3 の周期を発生します。 設定例 : 1.UTIMR=5, UCC1=0 ──→ 発生周期 = 2n + 2 = 12 サイクル 2.UTIMR=25, UCC1=1 ──→ 発生周期 = 2n + 3 = 53 サイクル 3.UTIMR=60, UCC1=0 ──→ 発生周期 = 2n + 2 = 122 サイクル U-TIMER をインターバルタイマとして使用する場合は , UCC1 の値を "0" に設定し てください。 [bit6, bit5] (reserved) [bit4] UTIE (U-TIMER Interrupt Enable) UTIE は , U-TIMER のアンダフローによる割込み許可ビットです。 0 : 割込み禁止 〔初期値〕 1 : 許可 [bit3] UNDR (UNDeR flow flag) UNDR は , アンダフローが発生したことを示すフラグです。UTIE が "1" で UNDR がセットされるとアンダフロー割込みが発生します。 UNDR はリセット , または "0" 書込みによりクリアされます。 リードモディファイライト (RMW) 系命令の読出し時は , 常に "1" が読み出されま す。また , UNDR に対する "1" 書込みは無効です。 272 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 9 章 U-TIMER 9.2 [bit2] CLKS (clock select) CLKS は , U-TIMER の ch.0 と ch.1 のカスケード指定ビットです。 0: クロックソースは , 周辺系クロック (φ)〔初期値〕 1: U-TIMER ch.0 のソースクロックタイミングとして , ch.1 のアンダフロー信号を 使用 ( 図 9.1-2 の F/F) CLKS は ch.0 でのみ有効 , ch.1 では常に "0" にしてください。 ( 注意事項 ) φ( 周辺系クロック ) は , ギアの設定により周期が変わります。 [bit1] UTST (U-TIMER STart) U-TIMER の動作許可ビットです。 0: 停止。動作中でも "0" を書き込むと停止します。〔初期値〕 1: 動作。動作中に "1" を書き込んでも動作は続行されます。 [bit0] UTCR (U-TIMER CleaR) UTCRに"0"を書き込むとU-TIMER は"0000H"にクリアされます(F/Fも"0"にクリア) 。 常に "1" が読まれます。 <注意事項> • ストップ状態からスタートビット UTST をアサート ( スタート ) すると自動的にリロー ドします。 • ストップ状態からクリアビット UTCR とスタートビット UTST を同時にアサートする と , カウンタを "0" にクリアして , 直後のカウントダウンでアンダフローが発生します。 • 動作中にクリアビット UTCR をアサートすると , カウンタも "0" にクリアされます。こ のため , 出力波形にヒゲ状の短いパルスが出力される場合があり , UART やカスケード モードの上位側の U-TIMER が誤動作する可能性があります。出力クロックを使用して いる場合には , 動作中にクリアビットによるクリアを行わないでください。 • カスケードモードで , 下位側の UTIMR( リロードレジスタ ) に "0" または "1" をセット すると正しくカウントされません。 • U-TIMER コントロールレジスタのビット 1(U-TIMER スタートビット:UTST) および bit0(U-TIMER のクリアビット:UTCR) をタイマ停止状態で同時にアサートすると , ク リアした後のカウンタロードのタイミングで同レジスタの bit3( アンダフローフラグ: UNDR) がセットします。また , 内部ボーレートクロックは同タイミングで "H" レベル になります。 • 割込み要求セットタイミングとクリアタイミングが重複した場合には , フラグセット が優先され , クリア動作は無効となります。 • ch.0 をカスケードモードで使用しない場合や本モジュールを単にタイマ機能として使 用する場合には , U-TIMER コントロールレジスタの bit2( 基準クロック選択ビット: CLKS) には常に "0" を書き込んでください。また , "CLKS" の設定変更は , 本モジュー ルが動作停止の状態で行ってください。 • U-TIMER リロードレジスタへの書込みとリロードのタイミングが重複した場合には , 旧データがカウンタにロードされ , 新データがカウンタにロードされるのは , 次のリ ロードのタイミングとなります。 • タイマクリアとタイマカウント / リロードのタイミングが重複した場合には , タイマク リアが最優先されます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 273 第 9 章 U-TIMER 9.3 9.3 MB91402/403 シリーズ U-TIMER の動作 U-TIMER のボーレートの計算およびカスケードモードについて説明します。 ■ ボーレートの計算 UART は , 対応する U-TIMER (U-TIMER0 → UART0, U-TIMER1 → UART1) のアンダ フローフリップフロップ ( 図 9.1-2 の F/F) をボーレート 用クロックソースとして使用 します。 ● 非同期 ( 調歩同期 ) モード UART は , U-TIMER の出力を 16 分周して使用します。 φ bps = n … UTIMR ( リロード値 ) ……… UCC1=0 時 (2n+2) × 16 φ … 周辺系マシンクロック周波数 ( ギアにより変動 ) φ bps = ……… UCC1=1 時 (2n+3) × 16 最大 bps :257812.5bps (16.5 MHz 時 ) ● CLK 同期モード φ bps = (2n+2) n … UTIMR ( リロード値 ) ……… UCC1=0 時 φ … 周辺系マシンクロック周波数 ( ギアにより変動 ) φ bps = (2n+2) ……… UCC1=1 時 最大 bps : 4125000bps (16.5 MHz 時 ) <注意事項> UART のモード 2(CLK 同期モード ) で U-TIMER をボーレートとして使用する場合 , UTIMR に "0" を設定することは禁止です。 274 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 9 章 U-TIMER 9.3 MB91402/403 シリーズ ■ カスケードモード U-TIMER ch.0 と ch.1 はカスケードモードで使用できます。 例 ) UTIMR ch.0 を "0100B" に , UTIMR ch.1 を "0002B" に設定した場合 : 図 9.3-1 カスケードモードのタイミングチャート φ UTIM ch.1 01 00 02 01 00 02 01 00 02 01 00 02 01 00 02 01 00 02 01 00 F/F ch.1 UTIM ch.0 0002H 0001H 0000H 0100H F/F ch.0 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 275 第 9 章 U-TIMER 9.3 276 MB91402/403 シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART UART の概要 , レジスタの構成 / 機能 , および UART の動作について説明します。 10.1 UART の概要 10.2 UART のレジスタ 10.3 UART の動作 10.4 UART の応用例 10.5 ボーレートと U-TIMER のリロード値の設定例 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 277 第 10 章 UART 10.1 10.1 MB91402/403 シリーズ UART の概要 UART は , 非同期 ( 調歩同期 ) 通信 , または CLK 同期通信を行うためのシリアル I/O ポートです。MB91402/403 シリーズは , UART を 2 チャネル内蔵します。 ■ UART の特長 • 全二重ダブルバッファ • 非同期 ( 調歩同期 ), CLK 同期通信が可能 • マルチプロセッサモードのサポート • 完全プログラマブルボーレート • 内蔵タイマにより任意のボーレートを設定可能 (「第 9 章 U-TIMER」を参照 ) • 外部クロックによる自由なボーレートの設定が可能 • エラー検出機能 ( パリティ , フレーミング , オーバラン ) • 転送信号は NRZ 符号 • MSB ファースト /LSB ファースト選択可能 • 割込みによる DMA 転送の起動が可能 • DRCL レジスタへの書込み動作による DMAC の割込み要因クリア 278 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.1 MB91402/403 シリーズ ■ UART のレジスタ一覧 図 10.1-1 UART のレジスタ一覧 bit15 bit8 bit7 bit0 SCR0, SCR1 SMR0, SMR1 (R/W) SSR0, SSR1 SIDR (R)/SODR (W) (R/W) DRCL0, DRCL1 (W) 8 ビット 8 ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 D7 D6 D5 D4 D3 D2 D1 D0 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 PE ORE FRE RIE TIE bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MD1 MD0 − − CS0 − SCKE − bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 PEN P SBL CL A/D REC RXE TXE bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 − − − − − − − − R/W R W − RDRF TDRE MSBF シリアルインプットレジスタ シリアルアウトプットレジスタ (SIDR/SODR) シリアルステータスレジスタ (SSR0, SSR1) シリアルモードレジスタ (SMR0, SMR1) シリアルコントロールレジスタ (SCR0, SCR1) (DRCL0, DRCL1) : リード / ライト可能 : リードオンリ : ライトオンリ : 未定義ビット CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 279 第 10 章 UART 10.1 MB91402/403 シリーズ ■ UART のブロックダイヤグラム 図 10.1-2 UART のブロックダイヤグラム 制御信号 受信割込み (CPUへ) U-TIMERより 外部クロック SCK SCK(クロック) 送信クロック クロック 選択回路 SIN (受信データ) 送信割込み (CPUへ) 受信クロック 受信制御回路 送信制御回路 スタートビット 検出回路 送信スタート 回路 受信ビット カウンタ 送信ビット カウンタ 受信パリティ カウンタ 送信パリティ カウンタ SOUT(送信データ) 受信用シフタ 受信状態判定回路 送信用シフタ 受信終了 送信開始 SIDR SODR DMA用 受信エラー発生信号 (DMACへ) R-bus MD1 MD0 SMR レジスタ CS0 SOE SCR レジスタ PEN P SBL CL A/D REC RXE TXE SSR レジスタ PE ORE FRE RDRF TDRE RIE TIE 制御信号 280 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.2 MB91402/403 シリーズ 10.2 UART のレジスタ UART で使用するレジスタの構成および機能について説明します。 ■ シリアルモードレジスタ (SMR1, SMR0) 図 10.2-1 シリアルモードレジスタ (SMR1, SMR0) のビット構成 SMR1, SMR0 bit7 bit6 アドレス : 000063H MD1 00006BH R/W MD0 R/W bit5 − bit4 bit3 − CS0 W bit2 bit1 bit0 − SCKE R/W − 初期値 00--0-0-B R/W : リード / ライト可能 W : ライトオンリ − :未定義ビット SMR1, SMR0 は , UART の動作モードを指定します。動作モードの設定は動作停止中に 行い , 動作中にこのレジスタへの書込みを行わないでください。 [bit7, bit6] MD1, MD0 (MoDe select) UART の動作モードを選択します。 表 10.2-1 動作モード選択 モード MD1 MD0 0 0 0 非同期 ( 調歩同期 ) ノーマルモード〔初期値〕 1 0 1 非同期 ( 調歩同期 ) マルチプロセッサモード 2 1 0 CLK 同期モード ― 1 1 設定禁止 動作モード <注意事項> モード 1 の 非同期マルチプロセッサモードとは , 1 台のホスト CPU に数台のスレーブ CPU が接続される使用方法です。本リソースでは , 受信データのデータ形式を判別でき ません。したがって , マルチプロセッサモード のマスタのみをサポートします。また , パ リティチェック機能を使用できませんので SCR レジスタの PEN は "0" に設定してくださ い。 [bit5, bit4] (reserved) 常に "1" を書き込んでください 。 [bit3] CS0(Clock Select) UART の動作クロックを選択します。 0 : 内蔵タイマ (U-TIMER) 〔初期値〕 1 : 外部クロック CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 281 第 10 章 UART 10.2 MB91402/403 シリーズ [bit2] (reserved) 常に "0" を書き込んでください。 [bit1] SCKE(Serial Clock Enable) 本ビットの値が SCKE[1], SCKE[0] 端子に出力されます。SCKOUT1, SCKOUT0, SCKIN1, SCKIN0 の方向制御に使用できます。 [bit0] (reverse) 未使用ビットです。 ■ シリアルコントロールレジスタ (SCR1, SCR0) 図 10.2-2 シリアルコントロールレジスタ (SCR1, SCR0) のビット構成 SCR1, SCR0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス : 000062H PEN 00006AH R/W P R/W SBL R/W CL R/W A/D R/W REC W RXE R/W TXE R/W 初期値 00000100B R/W : リード / ライト可能 W :ライトオンリ SCR1, SCR0 はシリアル通信を行う場合の転送プロトコルを制御します。 [bit7] PEN (Parity Enable) シリアル通信において , パリティを付加してデータ通信を行うかどうかを指定しま す。 0:パリティなし 〔初期値〕 1:パリティあり <注意事項> パリティを付加できるのは , 非同期 ( 調歩同期 ) 通信モードのノーマルモード ( モード 0) のみです。マルチプロセッサモード ( モード 1) および CLK 同期通信 ( モード 2) では , パ リティを付加することはできません。 [bit6] P (Parity) パリティを付加してデータ通信を行うとき , 偶数 / 奇数パリティを指定します。 0:偶数パリティ 〔初期値〕 1:奇数パリティ [bit5] SBL (Stop Bit Length ) 非同期 ( 調歩同期 ) 通信を行うときのフレームエンドマークであるストップビット のビット長を指定します。 0:1 ストップビット 〔初期値〕 1:2 ストップビット 282 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 10 章 UART 10.2 [bit4] CL(Character Length): 送受信する 1 フレームのデータ長を指定します。 0:7 ビットデータ 〔初期値〕 1:8 ビットデータ <注意事項> 7 ビットデータを扱えるのは , 非同期 ( 調歩同期 ) 通信のうちのノーマルモード ( モード 0) のみです。マルチプロセッサモード ( モード 1) および CLK 同期通信 ( モード 2) では , 8 ビットデータとしてください。 [bit3] A/D (Address/Data) 非同期 ( 調歩同期 ) 通信のマルチプロセッサモード ( モード 1) において , 送受信す るフレームのデータ形式を指定します。 0:データフレーム 〔初期値〕 1:アドレスフレーム [bit2] REC (Receiver Error Clear) "0" を書き込むことで , SSR レジスタのエラーフラグ (PE, ORE, FRE) をクリアしま す。 "1" 書込みは無効であり , 読出し値は常に "1" になります。 [bit1] RXE (Receiver Enable ) UART の受信動作を制御します。 0:受信動作を禁止します。〔初期値〕 1:受信動作を許可します。 <注意事項> 受信中 ( 受信シフトレジスタにデータが入力されているとき ) に受信動作を禁止した場合 には , そのフレームの受信を完了して受信データバッファ SIDR レジスタに受信データを ストアしたところで受信動作を停止します。 [bit0] TXE(Transmitter Enable) UART の送信動作を制御します。 0:送信動作を禁止します。〔初期値〕 1:送信動作を許可します。 <注意事項> 送信中 ( 送信レジスタからデータが出力されているとき ) に送信動作を禁止した場合は , 送信データバッファ SODR レジスタにデータがなくなった後に送信動作を停止します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 283 第 10 章 UART 10.2 MB91402/403 シリーズ ■ シリアルインプットデータレジスタ (SIDR)/ シリアルアウトプットデータレジスタ (SODR) 図 10.2-3 シリアルインプットデータレジスタ (SIDR)/ シリアルアウトプットデータレジスタ (SODR) のビット構成 SIDR アドレス ch.0 000061H ch.1 000069H SODR アドレス ch.0 000061H ch.1 000069H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 D7 R D6 R D5 R D4 R D3 R D2 R D1 R D0 R bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 D7 W D6 W D5 W D4 W D3 W D2 W D1 W D0 W 初期値 xxxxxxxxB 初期値 xxxxxxxxB R : リードオンリ W: ライトオンリ 本レジスタは , 受信 / 送信用のデータバッファレジスタです。 データ長が 7 ビットの場合 bit7(D7) は無効データとなります。SODR レジスタへの書 込みは , SSR レジスタの TDRE が "1" のときに書き込んでください。 <注意事項> このアドレスへの書込みは SODR レジスタへの書込みを , 読出しは SIDR レジスタの読 出しを意味します。 ■ シリアルステータスレジスタ (SSR1, SSR0) 図 10.2-4 シリアルステータスレジスタ (SSR1, SSR0) のビット構成 SSR1, SSR0 アドレス ch.0 000060H ch.1 000068H bit7 bit6 bit5 PE R ORE R FRE R bit4 bit3 bit2 RDRF TDRE MSBF R R R/W bit1 bit0 RIE R/W TIE R/W 初期値 00001000B R/W : リード / ライト可能 R : リードオンリ SSR1, SSR0 は UART の動作状態を表すフラグで構成されています。 [bit7] PE(Parity Error ) 受信時にパリティエラーが発生したときにセットされる割込み要求フラグです。 一度セットされたフラグをクリアするには , SCR レジスタの REC ビット (bit10) に "0" を書き込みます。 本ビットがセットされた場合には , SIDR のデータは無効データとなります。 0:パリティエラーなし 〔初期値〕 1:パリティエラーが発生 284 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 10 章 UART 10.2 [bit6] ORE (Over Run Error) 受信時にオーバランエラーが発生したときにセットされる割込み要求フラグです。 一度セットされたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書 き込みます。 本ビットがセットされた場合には , SIDR のデータは無効データとなります。 0:オーバランエラーなし 〔初期値〕 1:オーバランエラー発生 [bit5] FRE (FRaming Error ) 受信時にフレーミングエラーが発生したときにセットされる割込み要求フラグで す。 一度セットされたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書 き込みます。 本ビットがセットされた場合には , SIDR のデータは無効データとなります。 0:フレーミングエラーなし 〔初期値〕 1:フレーミングエラー発生 <注意事項> • シリアルモードレジスタの bit3 による内 / 外ボーレートクロックの切換えは書込み後 , すぐに反映されるので , UART が動作停止状態のときに行ってください。 • シリアルモードレジスタの bit3 はライトオンリです。 [bit4] RDRF(Receiver Data Register Full ) SIDR レジスタに受信データがあることを示す割込み要求フラグです。 SIDR レジスタに受信データがロードされるとセットされ , SIDR レジスタを読み出 すと自動的にクリアされます。 0:受信データなし 〔初期値〕 1:受信データあり [bit3] TDRE(Transmitter Data Register Empty ) SODR に送信データを書き込めることを示す割込み要求フラグです。 SODR レジスタに送信データを書き込むとクリアされます。書き込んだデータが送 信用シフタにロードされて転送が開始されると再びセットされ , 次の送信データを 書き込めることを表します。 0:送信データの書込み禁止 1:送信データの書込み許可 〔初期値〕 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 285 第 10 章 UART 10.2 MB91402/403 シリーズ [bit2] MSBF (MSB First) データ転送方向選択を制御します。 0:シリアルデータを最下位ビット側から転送します (LSB ファースト )。〔初期値〕 1:シリアルデータを最上位ビット側から転送します (MSB ファースト )。 <注意事項> シリアルデータレジスタへの読出し , 書込み時にデータの上位側と下位側を入れ替えるた め , SODR にデータを書き込んだ後 , このビットを書き換えると , そのデータは無効にな ります。 [bit1] RIE (Receiver Interrupt Enable ) 受信割込みを制御します。 0:割込みを禁止します。〔初期値〕 1:割込みを許可します。 <注意事項> 受信割込み要因には , PE, ORE, FRE によるエラー発生のほかに RDRF による正常受信が あります。 [bit0] TIE (Transmitter Interrupt Enable) 送信割込みを制御します。 0:割込みを禁止します。〔初期値〕 1:割込みを許可します。 <注意事項> 送信割込み要因は , TDRE による送信要求があります。 ■ DRCL1, DRCL0 図 10.2-5 DRCL1, DRCL0 のビット構成 DRCL1, DRCL0 アドレス ch.0 000066H ch.1 00006EH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − W − W − W − W − W − W − W − W 初期値 --------B W : ライトオンリ − : 未定義ビット DMAC の割込み要因をクリアするためのレジスタです。任意の値を書き込むことに よって DMAC への割込み要因がクリアされます。初めて DMAC を起動する際 , または それ以前に UART を使用している場合にはこのレジスタを利用して割込み要因をクリ アしてください ( このレジスタは書込み専用です )。 286 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.3 MB91402/403 シリーズ UART の動作 10.3 UART には , 非同期 ( 調歩同期 ) モードとクロック同期モードがあり , さらに非同期 モードには , ノーマルモードとプロセッサモードがあります。これらの各動作モー ドにおける動作について説明します。 ■ 動作モード UART には 表 10.3-1 に示す動作モードがあり , SMR レジスタ , SCR レジスタに値を設 定することによりモードを切り換えることができます。 表 10.3-1 UART の動作モード モード パリティ データ長 あり / なし 7 ビット あり / なし 8 ビット 1 なし 8 ビット+ 1 ビット 2 なし 8 ビット 0 動作モード 非同期 ( 調歩同期 ) ノーマルモード 非同期 ( 調歩同期 ) マルチプロセッサモード クロック同期モード ストップビット長 1 ビットまたは 2 ビット なし ただし , 非同期 ( 調歩同期 ) モードでのストップビット長については送信動作のみに指 定が可能です。受信動作については常に 1 ビット長となります。上記モード以外では 動作しませんので設定しないでください。 ■ UART のクロック選択 ● 内部タイマ CS0 を "0" に設定して U-TIMER を選択した場合は , U-TIMER に設定したリロード値で ボーレートが決まります。このときのボーレートの算出式は , 次のとおりです。 非同期 ( 調歩同期 ) φ /(16 × β) CLK 同期 φ / β φ : 周辺系マシンクロック周波数 β : U-TIMER で設定した周期 (2n + 2 または 2n + 3, n はリロード値 ) 非同期 ( 調歩同期 ) モードのボーレートは , 設定したボーレートの− 1% ∼+ 1% まで の範囲で転送が可能です。 ● 外部クロック CS0 を "1" に設定して外部クロックを選択した場合のボーレートは , 外部クロックの周 波数を f とすると次のようになります。 非同期 ( 調歩同期 ) f/16 CLK 同期 f ただし , f は最大で周辺系クロック /8 です。33 MHz の場合は 4.125 MHz までです。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 287 第 10 章 UART 10.3 MB91402/403 シリーズ ■ 非同期 ( 調歩同期 ) モード ● 転送データフォーマット UART は , NRZ(Non Return to Zero) 形式のデータのみを扱います。図 10.3-1 に , データ フォーマットを示します。 図 10.3-1 転送データフォーマット ( モード 0, モード 1) SIN, SOUT 0 1 0 1 1 0 0 1 0 1 1 STOP MSB A/D STOP Start LSB (モード0) (モード1) 転送されたデータは 01001101B 図 10.3-1 に示すように , 転送データは必ずスタートビット ("L" レベル データ ) より始 まり , LSB ファーストで指定されたデータビット長の転送が行われ , ストップビット ("H" レベル データ ) で終了します。外部クロックを選択している場合は , 常にクロッ クを入力してください。 ノーマルモード ( モード 0) ではデータ長を 7 ビットまたは 8 ビットに設定することが できますが , マルチプロセッサモード ( モード 1) では 8 ビットでなければなりません。 また, マルチプロセッサモードではパリティを付加することはできません。そのかわり, A/D ビットが必ず付加されます。 ● 受信動作 SCR レジスタの RXE ビット (bit1) が "1" ならば , 常に受信動作が行われています。 受信ラインにスタートビットが現れると , SCR レジスタで決められたデータフォー マットに従って 1 フレームデータの受信が行われます。1 フレームの受信が終わると , エラーが発生した場合にはエラーフラグのセットが行われた後に RDRF フラグ(SSRレ ジスタ bit4 ) がセットされます。このとき , 同じ SSR レジスタの RIE ビット (bit1) が "1" にセットされていると CPU に対して受信割込みが発生します。SSR レジスタの各 フラグを調べ , 正常受信なら SIDR レジスタを読み出して , エラーが発生していれば必 要な処理を行うようにしてください。 RDRF フラグは , SIDR レジスタを読み出すとクリアされます。 ● 送信動作 SSR レジスタの TDRE フラグ (bit3) が "1" のとき , SODR レジスタに送信データを書き 込みます。ここで , SCR レジスタの TXE ビット (bit0) が "1" の場合には送信が行われ ます。 SODR レジスタにセットしたデータが送信用シフトレジスタにロードされて送信が開 始されると TDRE フラグが再びセットされ , 次の送信データをセットできるようにな ります。このとき , 同じ SSR レジスタの TIE ビット (bit0) が "1" にセットされていると CPU に対して送信割込みが発生して , SODR レジスタに送信データをセットするよう に要求します。 TDRE フラグは , SODR レジスタにデータをセットするといったんクリアされます。 288 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.3 MB91402/403 シリーズ ■ クロック同期モード ● 転送データフォーマット UART は , NRZ(Non Return to Zero) 形式のデータのみを扱います。図 10.3-2 に , 送受信 クロックとデータとの関係を示します。 図 10.3-2 転送データフォーマット ( モード 2) SODR書込み マーク SCK RXE, TXE SIN, SOUT 1 LSB 0 1 1 0 0 1 0 MSB (モード2) 転送されたデータは,01001101B 内部クロック (U-TIMER ) を選択している場合は , データを送信するとデータ受信用同 期クロックが自動的に生成されます。また , 外部クロックを選択している場合は , 送信 側 UART の送信用データバッファ SODR レジスタにデータがあること (TDRE フラグ が "0") を確かめた後 , 正確に 1 バイト分のクロックを供給する必要があります。また , 送信開始前と終了後は , 必ずマークレベルにしてください。 データ長は 8 ビットのみとなり , パリティを付加することはできません。また , スター ト / ストップビットがないのでオーバランエラー以外のエラー検出は行われません。 ● 初期化 クロック同期モードを使用する場合の各制御レジスタの設定値を示します。 ① SMR レジスタ MD1, MD0 :"10B" CS :クロック入力を指定 SOE :送信を行う場合は "1", 受信のみの場合は "0" ② SCR レジスタ PEN :"0" P, SBL, A/D :これらのビットには意味がありません CL :"1" REC :"0" ( 初期化するため ) RXE, TXE :少なくとも , どちらか一方を "1" ③ SSR レジスタ CM71-10131-1 RIE :割込みを使用する場合は "1", 割込みを使用しない場合 は "0" TIE :"0" FUJITSU MICROELECTRONICS LIMITED 289 第 10 章 UART 10.3 MB91402/403 シリーズ ● 通信開始 SODR レジスタへの書込みによって通信を開始します。受信のみの場合でも , 必ず仮の 送信データを SODR レジスタに書き込む必要があります。 ● 通信終了 SSR レジスタの RDRF フラグが "1" に変化したことにより確認できます。SSR レジス タの ORE ビットによって , 通信が正常に行われたかを判断してください。 ■ 割込み発生およびフラグのセットタイミング UART には , 5 つのフラグと 2 つの割込み要因があります。 5 つのフラグとは PE/ORE/FRE/RDRF/TDRE です。PE はパリティエラー , ORE はオー バランエラー , FRE はフレーミングエラーのことで , 受信時エラーが発生したときに セットされ , SCR レジスタの REC に "0" を書き込むとクリアされます。RDRF は受信 データが SIDR レジスタにロードされるとセットされ , SIDR レジスタを読み出すこと でクリアされます。ただし , モード 1 ではパリティ検出機能 , モード 2 ではパリティ検 出機能とフレーミングエラー検出機能はありません。TDRE は , SODR レジスタが空に なり , 書込み可能な状態になるとセットされ , SODR レジスタへ書き込むとクリアされ ます。 2 つの割込み要因は , 受信用のものと送信用のものです。受信時は , PE/ORE/FRE/RDRF により割込みを要求します。送信時は , TDRE により割込みを要求します。各動作モー ドによる割込みフラグのセットタイミングを以下に示します。 ● モード 0 の受信動作時 PE, ORE, FRE, RDRF は受信転送が終了して最後のストップビットを検出するときにフ ラグがセットされ, CPUへの割込み要求が発生します。 PE, ORE, FREがアクティブ時は, SIDR のデータは無効データとなります。 図 10.3-3 ORE, FRE, RDRF のセットタイミング ( モード 0) データ D6 D7 STOP PE, ORE, FRE RDRF 受信割込み 290 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.3 MB91402/403 シリーズ ● モード 1 の受信動作時 ORE, FRE, RDRF は受信転送が終了して最後のストップビットを検出するときにフラ グがセットされ , CPU への割込み要求が発生します。また , 受信可能なデータ長は 8 ビットのため , 最後の 9 ビット目のアドレス / データを示すデータは無効データとなり ます。ORE, FRE がアクティブ時は , SIDR のデータは無効データとなります。 図 10.3-4 ORE, FRE, RDRF のセットタイミング ( モード 1) データ D7 アドレス/ データ STOP PE, ORE, FRE RDRF 受信割込み ● モード 2 の受信動作時 ORE, RDRF は受信転送が終了し , 最後のデータ (D7) を検出するときにフラグがセット され , CPU への割込み要求が発生します。ORE がアクティブ時は , SIDR のデータは無 効データとなります。 図 10.3-5 ORE, RDRF のセットタイミング ( モード 2) データ D5 D6 D7 PE, ORE, FRE RDRF 受信割込み CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 291 第 10 章 UART 10.3 MB91402/403 シリーズ ● モード 0, モード 1, モード 2 の送信動作時 TDRE は SODR レジスタへ書き込まれるとクリアされ , 内部のシフトレジスタに転送 されて次のデータ書込みが可能な状態になるとセットされ , CPU への割込み要求が発 生します。送信動作中に SCR レジスタの TXE に "0"( モード 2 のときは RXE も含む ) を書き込むと , SSR レジスタの TDRE が "1" となり , 送信用のシフタが停止してから UART の送信動作を禁止します。送信動作中に SCR レジスタの TXE に "0"( モード 2 のときは RXE も含む ) を書き込んだ後 , 送信が停止する前に SODR レジスタへ書き込 まれたデータが送信されます。 図 10.3-6 TDRE のセットタイミング ( モード 0, モード 1) SODR書込み TDRE CPUへ割込みを要求する SO割込み SOUT[n]出力 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SP ST D0 D1 A/D ST :スタートビット D0~D7 :データビット SP :ストップビット A/D : アドレス/データマルチプレクサ 図 10.3-7 TDRE のセットタイミング ( モード 2) SODR書込み TDRE CPUへ割込みを要求する SO割込み SOUT[n]出力 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D0~D7 :データビット ■ 使用上の注意 通信モードの設定は , 動作停止中に行ってください。モード設定時に送受信したデータ は保証されません。割込みによる DMA 転送を最初に起動する前に DRCL レジスタに 書き込んでください。 292 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.4 MB91402/403 シリーズ 10.4 UART の応用例 UART の応用例を示します。 モード 1 は , 1 台のホスト CPU に数台のスレーブ CPU が接続されるような場合に 使用されます。 ■ UART の応用例 モード 1 を使用した場合のシステム構築例を図 10.4-1 に示します。 このリソースでは , ホスト側の通信インタフェースのみをサポートします。 図 10.4-1 モード 1 を使用時のシステム構築例 SOUT[n] SIN[n] ホストCPU SOUT SIN スレーブCPU#0 SOUT SIN スレーブCPU#1 通信はホスト CPU がアドレスデータを転送することによって始まります。アドレス データとは , SCR レジスタの A/D が "1" のときのデータで , それにより通信先となるス レーブ CPU が選択されてホスト CPU との通信が可能になります。通常データは , SCR レジスタのA/Dが"0"のときのデータです。図 10.4-2 にそのフローチャートを示します。 このモードにおいては , パリティチェック機能を使用できませんので SCR レジスタの PEN ビットを "0" としてください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 293 第 10 章 UART 10.4 MB91402/403 シリーズ 図 10.4-2 モード 1 使用時の通信フローチャート (ホストCPU) START 転送モードを"1"とする D0~D7にスレーブCPUを 選択するデータ、A/Dに"1" をセットして1バイト転送 A/Dに"0"をセット 受信動作許可 スレーブCPU と通信 NO 通信終了? YES ほかの スレーブCPUと 通信 NO YES 受信動作禁止 END 294 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 10 章 UART 10.5 MB91402/403 シリーズ ボーレートと U-TIMER のリロード値の設定例 10.5 ボーレートと U-TIMER のリロード値の設定例を示します。 ■ ボーレートと U-TIMER のリロード値の設定例 表中の周波数は , 周辺系マシンクロック周波数を表します。また , UCC1 は U-TIMER の UTIMC レジスタの UCC1 ビットに設定する値です。 表中の "-" 部は , 誤差が± 1% を超えてしまうため使用できないことを示します。 表 10.5-1 非同期 ( 調歩同期 ) モード ボーレート (bps) 同期 (ms) 16.5 MHz 12.5 MHz 10 MHz 8.25 MHz 1200 833.33 428(UCC1=1) 324(UCC1=1) 259(UCC1=1) 214(UCC1=0) 2400 416.67 214(UCC1=0) 162(UCC1=0) 129(UCC1=0) 106(UCC1=1) 4800 208.33 106(UCC1=1) 80(UCC1=1) 64(UCC1=0) 52(UCC1=1) 9600 104.17 52(UCC1=1) 39(UCC1=1) 31(UCC1=1) 26(UCC1=0) 19200 52.08 26(UCC1=0) 19(UCC1=1) ── 12(UCC1=1) 38400 26.04 12(UCC1=1) 12(UCC1=1) ── 57600 17.36 8(UCC1=0) 10400 96.15 49(UCC1=0) ── 36(UCC1=1) ── 29(UCC1=0) ── 3(UCC1=1) 24(UCC1=0) 31250 32.00 15(UCC1=1) 11(UCC1=1) 9(UCC1=0) ── 62500 16.00 ── ── 4(UCC1=0) ── 16.5 MHz 12.5 MHz 10 MHz 8.25 MHz 表 10.5-2 クロック同期モード ボーレート (bps) 同期 (ms) 250K 4.00 32(UCC1=0) 24(UCC1=0) 19(UCC1=0) 15(UCC1=1) 500K 2.00 15(UCC1=1) 11(UCC1=1) 9(UCC1=0) 7(UCC1=1) 1M 1.00 7(UCC1=1) 5(UCC1=0)* 4(UCC1=0) 3(UCC1=1) * : ± 1% 以上の誤差あり CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 295 第 10 章 UART 10.5 296 MB91402/403 シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) DMA コントローラ (DMAC) の概要 , レジスタの構 成 / 機能 , および DMA コントローラ (DMAC) の動 作について説明します。 11.1 DMAC の概要 11.2 DMAC のレジスタ 11.3 DMAC の動作 11.4 転送要求の設定 11.5 転送シーケンス 11.6 DMA 転送全般 11.7 動作フローチャート 11.8 データパス 11.9 DMA 設定例 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 297 第 11 章 DMAC (DMA コントローラ ) 11.1 11.1 MB91402/403 シリーズ DMAC の概要 DMAC は , DMA(Direct Memory Access) 転送を実現するためのモジュールです。 DMA 転送により , CPU を介さずに各種データ転送を高速に行うことが可能となり , システムのパフォーマンスを向上させます。 ■ DMAC のハードウェア構成 本モジュールは , 主に以下のものより構成されます。 • 独立した DMA チャネル× 5 チャネル • 5 チャネル独立アクセス制御回路 • 32 ビット アドレスレジスタ ( リロード指定可能:各チャネル 2 本 ) • 16 ビット 転送回数レジスタ ( リロード指定可能:各チャネル 1 本 ) • 4 ビットブロック回数レジスタ ( 各チャネル 1 本 ) • フライバイ転送 (I/O →メモリ ) I/O 側のアクセス信号のために , IORD が出力されます。 • 2 サイクル転送 ■ DMAC の主要機能 本モジュールによるデータ転送には主に以下のような機能があります。 複数チャネルの独立したデータ転送が可能 (5 チャネル ) (1) 優先順位 (ch.0>ch.1>ch.2>ch.3>ch.4) (2) ch.0, ch.1 間にて順位回転を可能 (3) DMAC 起動要因 • 外部専用端子入力 ( エッジ検出 / レベル検出 ch.0 ∼ ch.2 のみ ) • 内蔵周辺要求 ( 割込み要求を共用 --- 外部割込みを含む ) • ソフトウェア要求 ( レジスタ書込み ) (4) 転送モード • デマンド転送 / バースト転送 / ステップ転送 / ブロック転送 • アドレッシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 ) ( アドレス増減幅は− 255 ∼+ 255 まで指定可能 ) • データの種類バイト / ハーフワード / ワード長 • シングルショット / リロード選択可能 298 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.1 MB91402/403 シリーズ 図 11.1-1 DMA チャネルの接続 MB91402/403シリーズ FRコア DREQ0 DACK0 DMAC (ch.0) IORD Ethernet MAC IF DEOP0 EOT0 DREQ1 DACK1 DMAC (ch.1) IORD DEOP1 MPU IF 開放 EOT1 DMAC (ch.2~ch.4) CM71-10131-1 DREQ以外からの要因 FUJITSU MICROELECTRONICS LIMITED 299 第 11 章 DMAC (DMA コントローラ ) 11.1 MB91402/403 シリーズ ■ DMAC のレジスタ一覧 図 11.1-2 DMAC のレジスタ一覧 bit 31 ch.0 コントロール / ステータスレジスタ A DMACA0 00000200H ch.0 コントロール / ステータスレジスタ B DMACB0 00000204H ch.1 コントロール / ステータスレジスタ A DMACA1 00000208H ch.1 コントロール / ステータスレジスタ B DMACB1 0000020CH ch.2 コントロール / ステータスレジスタ A DMACA2 00000210H ch.2 コントロール / ステータスレジスタ B DMACB2 00000214H ch.3 コントロール / ステータスレジスタ A DMACA3 00000218H ch.3 コントロール / ステータスレジスタ B DMACB3 0000021CH ch.4 コントロール / ステータスレジスタ A DMACA4 00000220H ch.4 コントロール / ステータスレジスタ B DMACB4 00000224H 全体制御レジスタ DMACR 00000240H ch.0 転送元アドレスレジスタ DMASA0 00001000H ch.0 転送先アドレスレジスタ DMADA0 00001004H ch.1 転送元アドレスレジスタ DMASA1 00001008H ch.1 転送先アドレスレジスタ DMADA1 0000100CH ch.2 転送元アドレスレジスタ DMASA2 00001010H ch.2 転送先アドレスレジスタ DMADA2 00001014H ch.3 転送元アドレスレジスタ DMASA3 00001018H ch.3 転送先アドレスレジスタ DMADA3 0000101CH ch.4 転送元アドレスレジスタ DMASA4 00001020H ch.4 転送先アドレスレジスタ DMADA4 00001024H 300 FUJITSU MICROELECTRONICS LIMITED 24 23 16 15 87 0 CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.1 MB91402/403 シリーズ ■ DMAC 5 チャネルブロックダイヤグラム 図 11.1-3 DMAC 5 チャネルブロックダイヤグラム カウンタ バスコントローラへ DMA転送要求 DMA起動 要因選択回路 & 要求受付け制御 セレクタ ライトバック バッファ DTC 2段レジスタ ペリフェラル起動要求/停止入力 外部端子起動要求/停止入力 DTCR カウンタ DSS2~DSS0 読出し 書込み 読出し/書込み 制御 優先度回路 割込みコントローラへ ERIE,EDIE セレクタ 周辺割込みクリア BLKレジスタ 状態遷移回路 セ レ ク タ DDNO バスコン トローラ へ バ ス 制 御 部 ア ド レ アクセス ス カ アドレス ウ ン タ CM71-10131-1 カ ウ ン タ バ ッ フ ァ カ ウ ン タ バ ッ フ ァ TYPE1, TYPE0, MOD1, MOD0, WS1, WS0 DDNOレジスタ MCLREQ バ ス 制 御 部 DMAコントロール セ レ ク タ IRQ4~IRQ0 X-bus バッファ DSAD 2段レジスタ SADM, SASZ7~SASZ0 SADR DDAD 2段レジスタ DADM, DASZ7~DASZ0 DADR ライトバック セ レ ク タ ライトバック FUJITSU MICROELECTRONICS LIMITED 301 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ DMAC のレジスタ 11.2 DMAC で使用するレジスタの構成および機能について説明します。 ■ レジスタ設定時の注意 DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがありま す。動作中 ( 転送中 ) に設定した場合には正常な動作が保証されません。 * マークは DMAC 転送中に設定すると動作に影響するビットです。このビットの書換 えは DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってください。 DMA 転送の起動禁止状態 (DMACR:DMAE=0 または DMACA:DENB=0) のときに設定 した場合は , 起動許可後に設定が有効になります。 DMA転送の一時停止状態(DMACR:DMAH3∼DMAH0≠0000BまたはDMACA:PAUS=1) のときに設定した場合は , 一時停止解除後に設定が有効になります。 ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 (DMACA0 ∼ DMACA4) コントロール / ステータスレジスタ A DMAC各チャネルの動作を制御するレジスタで, チャネルごとに独立して存在します。 各ビットの機能は以下に示すとおりです。 図 11.2-1 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A (DMACA0 ∼ DMACA4) のビット構成 アドレス ch.0 ch.1 ch.2 ch.3 ch.4 0000 0200H 0000 0208H 0000 0210H 0000 0218H 0000 0220H bit 31 30 29 28 27 26 25 24 23 21 20 19 Reserved IS4 ∼ IS0 DENB PAUS STRG 22 18 17 16 BLK3 ∼ BLK0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W bit 15 14 13 11 11 10 9 8 7 6 5 4 3 2 1 0 DTC15 ∼ DTC0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W:リード / ライト可能 ( 初期値:00000000_00000000_0000XXXX_XXXXXXXXB) [bit31] DENB (Dma ENaBle) :DMA 動作許可ビット 各転送チャネルに対応し , DMA 転送の起動許可 / 禁止を行います。 起動されたチャネルは , 転送要求が発生して受け付けられると DMA 転送を開始し ます。 起動許可されていないチャネルに対して発生した転送要求は , すべて無効となりま す。 起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" にな り , 転送を停止します。 本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [DMACA:bit30] で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) してください。一時停止 しないで強制停止した場合は DMA を停止しますが転送データは保証されません。 停止の確認を DSS2 ∼ DSS0 ビット [DMACB:bit18 ∼ bit16] で行ってください。 302 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.2 表 11.2-1 DMA 動作制御 DENB 機 能 0 対応チャネル DMA 動作禁止 ( 初期値 ) 1 対応チャネル DMA 動作許可 • リセット時 , 停止要求が受け付けられた場合:"0" に初期化されます。 • 読出し / 書込み可能です。 • DMAC 全体制御レジスタ DMACR の bit15:DMAE ビットにより , 全チャネルの動 作が禁止されている場合 , 本ビットへの "1" 書込みは無効となり , 停止状態を維 持します。また , 本ビットにより動作が許可されている状態にて前記ビットによ り動作が禁止された場合 , 本ビットは "0" となり , 転送を中断します ( 強制停止 )。 [bit30] PAUS (PAUSe):一時停止指示 対応するチャネルの DMA 転送の一時停止制御を行います。本ビットがセットされ ると , 再び本ビットがクリアされるまでの間は DMA 転送を行いません (DMA が停 止中は DSS ビットが "1xxB" になります )。 本ビットをセットしてから起動した場合 , 一時停止状態のままとなります。 本ビットがセットされている間に新たに発生した転送要求は受け付けられますが , 本ビットをクリアしないと転送を開始しません (「11.6 DMA 転送全般 ■転送要求 の受付けと転送」を参照 )。 表 11.2-2 DMA 転送の一時停止制御 PAUS 機 能 0 対応チャネル DMA 動作許可 ( 初期値 ) 1 対応チャネル DMA 一時停止 • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit29] STRG (Software TRiGger) :転送要求 対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開 始します。ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操 作は無効となります。 ( 注意事項 ) DMAE ビットの書込みによる起動と同時に本ビットによる転送要求が 同時の場合 , 転送要求は有効となり , 転送を開始します。また , PAUS ビットへの"1"書込みと同時である場合,転送要求は有効となりますが, PAUS ビットを "0" に戻すまで DMA 転送を開始しません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 303 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ 表 11.2-3 DMA 転送要求の生成 STRG 機 能 0 無効 1 DMA 起動要求 • リセット時:"0" に初期化されます。 • 読出し値は常に "0" となります。 • 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。 [bit28 ∼ bit24] IS4 ∼ IS0 (Input Select)*:転送要因選択 転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ トウェア転送要求は本設定にかかわらず有効となります。 表 11.2-4 転送要求の要因選択 IS 00000B 機能 ソフトウェア転送要求にのみ有効 00001B ↓ 01101B 設定禁止 01110B DREQ "H" レベル または ↑エッジ検出 01111B DREQ "L" レベル または ↓エッジ検出 10000B UART0 受信完了 10001B UART1 受信完了 10010B UART0 送信完了 10011B UART1 送信完了 10100B 設定禁止 10101B 設定禁止 10110B リロードタイマ 0 10111B リロードタイマ 1 11000B 設定禁止 11001B 設定禁止 11010B ↓ 11111B 設定禁止 • リセット時:"00000B" に初期化されます。 • 読出し / 書込み可能です。 304 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ <注意事項> • デマンド転送モードを選択した場合は , IS4 ∼ IS0=01110B, 01111B にのみ設定可能で す。ほかの要因での起動はしないでください。 • 外部要求入力は , ch.0, ch.1, ch.2 にのみ有効です。ch.3, ch.4 は外部要求入力は選択で きません。また , レベル検出かエッジ検出かはモード設定により決定されます ( デマン ド転送はレベル , ほかはエッジ検出になります )。 [bit23 ∼ bit20] Reserved • リセット時:"0000B" に初期化されます。 • 書込み時 :"0000B" を設定してください。 [bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) :ブロックサイズ指定 対応するチャネルのブロック転送時のブロックサイズを指定します。本ビットに設定 した値が 1 回の転送単位におけるワード数 ( 正確には , データ幅設定の繰返し回数 ) と なります。ブロック転送を行わない場合は 0001B ( サイズ 1) を設定してください ( デ マンド転送時は本レジスタ値は無視されてサイズ 1 となります )。 表 11.2-5 ブロックサイズの指定 BLK3 ∼ BLK0 XXXXB 機 能 対応チャネルのブロックサイズ指定 • リセット時:初期化されません。 • 読出し / 書込み可能です。 • 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。 • 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。 [bit15 ∼ bit0] DTC15 ∼ DTC0 (Dma Terminal Count register) *:転送回数レジスタ 転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。 すべてのレジスタには専用のリロードレジスタがあります。転送回数レジスタの リロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定 値をレジスタに戻します。 表 11.2-6 転送回数の指定 DTC15 ∼ DTC0 XXXXH 機 能 対応チャネルの転送回数指定 DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 )。DMA の転 送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了 します。よって , DMA 動作中の転送回数値を読み出すことはできません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 305 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ • 読出し / 書込み可能です。DTC のアクセスは , 必ずハーフワード長またはワード 長にてアクセスしてください。 • 読出し時の値は , カウント値となります。リロード値の読出しはできません。 306 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 (DMACB0 ∼ DMACB4) コントロール / ステータスレジスタ B DMAC各チャネルの動作を制御するレジスタで, チャネルごとに独立して存在します。 各ビットの機能は以下に示すとおりです。 図 11.2-2 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B (DMACB0 ∼ DMACB4) のビット構成 bit アドレス ch.0 ch.1 ch.2 ch.3 ch.4 0000 0204H 0000 020CH 0000 0214H 0000 021CH 0000 0224H 31 30 TYPE1, TYPE0 29 28 27 MOD1, MOD0 26 WS1, WS0 25 24 23 22 21 20 19 SAD M DAD M DTC R SAD R DAD R ERIE EDIE 18 17 16 DSS2 ∼ DSS0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W bit 15 14 13 11 11 10 9 8 7 6 SASZ7 ∼ SASZ0 5 4 3 2 1 0 DASZ7 ∼ DASZ0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W:リード / ライト可能 ( 初期値:00000000_00000000_XXXXXXXX_XXXXXXXXB) [bit31, bit30] TYPE1, TYPE0 (TYPE) *:転送タイプ設定 対応チャネルの動作タイプを以下のように設定します。 2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を 設定して読出し動作と書込み動作を転送回数分繰り返し て転送するモード。転送元 / 転送先ともに全領域 (32 ビッ トアドレス ) 指定可能です。 フライバイ転送モード : 転送先アドレス (DMADA) にメモリアドレスを設定するこ とにより外部 ↔ 外部転送を 1 サイクルで行うモード。メ モリアドレスは必ず外部領域を指定してください。 表 11.2-7 転送タイプの設定 TYPE1, TYPE0 機 能 00B 2 サイクル転送 ( 初期値 ) 01B フライバイ : メモリ→ I/O 転送 10B フライバイ : I/O →メモリ転送 11B 設定禁止 • リセット時:"00B" に初期化されます。 • 読出し / 書込み可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 307 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ [bit29, bit28] MOD1, MOD0 (MODE)* :転送モード設定 対応チャネルの動作モードを以下のように設定します。 表 11.2-8 転送モードの設定 MOD1, MOD0 機 能 00B ブロック / ステップ転送モード 01B バースト転送モード 10B デマンド転送モード 11B 設定禁止 ( 初期値 ) • リセット時:"00B" に初期化されます。 • 読出し / 書込み可能です。 [bit27, bit26] WS1, WS0 (Word Size) :転送データ幅選択 対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で 指定回数分の転送を行います。 表 11.2-9 転送データ幅の選択 WS1, WS0 機 能 00B バイト単位で転送 01B ハーフワード単位で転送 10B ワード単位で転送 11B 設定禁止 ( 初期値 ) • リセット時:"00B" に初期化されます。 • 読出し / 書込み可能です。 [bit25] SADM (Source-ADdr. Count-Mode select) *: 転送元アドレスカウントモード 指定 対応するチャネルの転送元アドレスの 1 転送ごとのアドレス処理を指定します。 アドレス増加 / 減少は , 設定された転送元アドレスカウント幅 (SASZ) に従って 1 転 送後に加算 / 減算され , 転送終了時に次回アクセス用アドレスが対応するアドレス レジスタ (DMASA) に書き込まれます。 よって , DMA 転送が終了されるまで転送元アドレスレジスタは更新されません。 アドレス固定にする場合は,本レジスタを増減に指定してアドレスカウント幅を"0" としてください。 308 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.2 表 11.2-10 転送元アドレスカウントモードの指定 SADM 機 能 0 転送元アドレスは増加 ( 初期値 ) 1 転送元アドレスは減少 • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit24] DADM (Destination-ADdr. Count-Mode select) *: 転送先アドレスカウント モード指定 対応するチャネルの転送先アドレスの 1 転送ごとのアドレス処理を指定します。 アドレス増加 / 減少は , 設定された転送先アドレスカウント幅 (DASZ) に従って 1 転 送後に加算 / 減算され , 転送終了時に次回アクセス用アドレスが対応するアドレス レジスタ (DMADA) に書き込まれます。 よって , DMA 転送が終了されるまで転送先アドレスレジスタは更新されません。 アドレス固定にする場合は,本レジスタを増減に指定してアドレスカウント幅を"0" としてください。 表 11.2-11 転送先アドレスカウントモードの指定 DADM 機 能 0 転送先アドレスは増加 ( 初期値 ) 1 転送先アドレスは減少 • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit23] DTCR (DTC-reg. Reload)*:転送回数レジスタリロード指定 対応するチャネルの転送回数レジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に回数レジスタ値 を初期設定値に戻して再度転送を起動します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。 表 11.2-12 転送回数レジスタリロードの指定 DTCR 機 能 0 転送回数レジスタリロードを禁止 1 転送回数レジスタリロードを許可 ( 初期値 ) • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 309 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ [bit22] SADR (Source-ADdr.-reg. Reload) *:転送元アドレスレジスタリロード指定 対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス レジスタ値を初期設定値に戻します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。この 場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。 本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し ている場合は , 増加したアドレスとなります )。 表 11.2-13 転送元アドレスレジスタリロードの指定 SADR 機 能 0 転送元アドレスレジスタリロード禁止 ( 初期値 ) 1 転送元アドレスレジスタリロード許可 • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit21] DADR (Dest.-ADdr.-reg. Reload)*:転送先アドレスレジスタリロード指定 対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス レジスタ値を初期設定値に戻します。 その他 , 機能の詳細は bit22:SADR の内容と等価になります。 表 11.2-14 転送先アドレスレジスタリロードの指定 DADR 機 能 0 転送先アドレスレジスタリロード禁止 ( 初期値 ) 1 転送先アドレスレジスタリロード許可 • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 310 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ [bit20] ERIE (ERror Interrupt Enable)* :エラー割込み出力許可 エラー発生による終了時の割込み発生を制御します。 発生したエラーの内容は DSS2 ∼ DSS0 にて示されます。すべての終了要因で本割込みが発生するのではな く , 特定の終了要因の際にのみ割込みが発生することに注意してください (DSS2 ∼ DSS0 ビットの説明を参照 )。 表 11.2-15 エラー割込み発生の制御 ERIE 機 能 0 エラー割込み要求出力禁止 1 エラー割込み要求出力許可 ( 初期値 ) • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit19] EDIE (EnD Interrupt Enable) *:終了割込み出力許可 正常終了時の割込み発生を制御します。 表 11.2-16 終了割込み発生の制御 EDIE 機 能 0 終了割込み要求出力禁止 1 終了割込み要求出力許可 ( 初期値 ) • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit18 ∼ bit16] DSS2 ∼ DSS0 (DMA Stop Status)*:転送停止要因表示 対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビット のコード ( 終了コー ド ) を表示します。終了コードの内容は以下のとおりです。 表 11.2-17 DMA 転送停止 / 終了の要因表示 DSS2 ∼ DSS0 機 能 割込み発生 000B 初期値 x01B アドレスエラー ( アンダフロー / オーバフロー ) エラー x10B 転送停止要求 エラー x11B 正常終了 終了 1xxB DMA 一時停止中 (DMAH, PAUS ビット , 割込みなど ) なし なし 転送停止要求は , 周辺回路からの要求を使用した場合にのみセットされます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 311 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ <注意事項> 「割込み発生」欄は , 発生可能な割込み要求の種類を示します。 • リセット時:"000B" に初期化されます。 • "000B" を書き込むことにより , クリアされます。 • 読出し / 書込み可能ですが , 本ビットへの書込みは "000B" のときのみ有効となります。 [bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr. count SiZe) * : 転送元アドレスカウント サイズ指定 対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減を指定します。 本ビットに設定した値が 1 回の転送単位におけるアドレス増減となります。アドレ スの増減は転送元アドレスカウントモード (SADM) の指定に従います。 表 11.2-18 転送元アドレスカウントサイズ指定 SASZ7 ∼ SASZ0 XXH 機 能 転送元アドレスの増減幅を指定します。0 ∼ 255 • リセット時:初期化されません。 • 読出し / 書込み可能です。 [bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr. count size) * : 転送先アドレスカウント サイズ指定 対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減を指定します。 本ビットに設定した値が一回の転送単位におけるアドレス増減となります。アドレ スの増減は転送先アドレスカウントモード (DADM) の指定に従います。 表 11.2-19 転送先アドレスカウントサイズ指定 DASZ7 ∼ DASZ0 XXH 機 能 転送先アドレスの増減幅を指定します。0 ∼ 255 • リセット時:初期化されません。 • 読出し / 書込み可能です。 312 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ ■ DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) DMAC 各チャネルの動作を制御するレジスタで , チャネルごとに独立して存在します。 各ビットの機能は以下に示すとおりです。 図 11.2-3 DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビット構成 bit アドレス ch.0 ch.1 ch.2 ch.3 ch.4 0000 1000H 0000 1008H 0000 1010H 0000 1018H 0000 1020H 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 DMASA31 ∼ DMASA16 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W bit 15 14 13 11 11 10 9 8 7 6 5 4 3 2 1 0 DMASA15 ∼ DMASA0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ( 初期値:XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB) bit ch.0 ch.1 ch.2 ch.3 ch.4 0000 1004H 0000 100CH 0000 1014H 0000 101CH 0000 1024H 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 DMADA31 ∼ DMADA16 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W bit 15 14 13 11 11 10 9 8 7 6 5 4 3 2 1 0 DMADA15 ∼ DMADA0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W:リード / ライト可能 ( 初期値:XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB) 転送元 / 転送先アドレスを格納するレジスタ群です。各レジスタは 32 ビット長で構成 されています。 [bit31 ∼ bit0] DMASA31 ∼ DMASA0 (DMA Source Addr.) *: 転送元アドレス設定 転送元アドレスを設定します。 [bit31 ∼ bit0] DMADA31 ∼ DMADA0 (DMA Destination Addr.) *:転送先アドレス設定 転送先アドレスを設定します。 DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ ンタバッファに格納して 1 転送ごとに設定に従ってアドレスカウントします。DMA の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA を 終了します。 よって, DMA動作中のアドレスカウンタ値を読み出すことはできません。 すべてのレジスタには専用のリロードレジスタがあります。転送元 / 転送先アドレ スレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に自動 的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには影響 を与えません。 • リセット時:初期化されません。 • 読出し / 書込み可能です。本レジスタには , 必ず 32 ビットデータでアクセスして ください。 • 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア ドレス値となります。リロード値の読出しはできません。よって , 転送アドレス をリアルタイムで読み出すことはできません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 313 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ <注意事項> 本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ に DMA 転送を行うことはできません。 ■ DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 DMAC 全体制御レジスタ (DMACR) DMAC 5 チャネル分全体の動作を制御するレジスタです。本レジスタには必ずバイト長 でアクセスしてください。 各ビットの機能は以下に示すとおりです。 図 11.2-4 DMAC-ch.0, ch.1 , ch.2, ch.3, ch.4 DMAC 全体制御レジスタ (DMACR) のビット構成 アドレス 0000 0240H bit 31 30 DMAE R/W bit 15 29 28 PM01 − 27 26 25 24 23 22 21 20 DMAH3 ∼ DMAH0 19 18 17 16 − R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 14 13 11 11 10 9 8 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W − R/W R/W R/W R/W R/W R/W R/W R/W :リード / ライト可能 − X R/W ( 初期値:0XX00000_XXXXXXXX_XXXXXXXX_XXXXXXXXB) :未定義ビット :不定値 [bit31] DMAE (DMA Enable) :DMA 動作許可 DMA 全チャネルの動作を制御します。 本ビットにより DMA 動作が禁止されている場合 , チャネルごとの起動 / 停止の設 定や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。転送中であっ たチャネルは要求を取り下げ , ブロック境界にて転送を停止します。禁止状態にて , 各チャネルに対して行われる起動操作は , すべて無効となります。 本ビットにより DMA 動作が許可されている場合 , チャネルごとに起動 / 停止操作 が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに対 する起動は行われません。 本ビットに "0" を書き込むと強制停止しますが , 必ず DMAH3 ∼ DMAH0 ビット [DMACR:bit27 ∼ bit24] で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) し てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー タは保証されません。停止の確認は DSS2 ∼ DSS0 ビット [DMACB:bit18 ∼ bit16] で 行ってください。 表 11.2-20 DMA 動作の制御 DMAE 機 能 0 全チャネル DMA 転送禁止 1 全チャネル DMA 転送許可 ( 初期値 ) • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 314 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.2 MB91402/403 シリーズ [bit28] PM01 (Priority mode ch.0, ch.1 robin) :チャネル優先度回転 ch.0, ch.1 の優先度を転送ごとに順位を回転させるときに設定します。 表 11.2-21 チャネル優先度回転の制御 PM01 機 能 0 優先順位固定 ( ch.0 > ch.1 ) 1 優先順位回転 ( ch.0 > ch.1 ←→ ch.1 > ch.0 ) ( 初期値 ) • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit27 ∼ bit24] DMAH3 ∼ DMAH0 (DMA Halt) :DMA 一時停止 DMA 全チャネルの一時停止を制御します。本ビットがセットされると , 再び本ビッ トがクリアされるまでの間は全チャネルの DMA 転送を行いません。 本ビットをセットしてから起動した場合,全チャネルが一時停止のままとなります。 本ビットがセットされている間に DMA 転送が許可 (DENB=1) されているチャネル に発生した転送要求は , すべて有効となり , 本ビットをクリアすることにより転送 を開始します。 表 11.2-22 DMA 一時停止の制御 DMAH3 ∼ DMAH0 機 能 0000B 全チャネル DMA 動作許可 0000B 以外 全チャネル DMA 一時停止 ( 初期値 ) • リセット時:"0" に初期化されます。 • 読出し / 書込み可能です。 [bit30, bit29, bit23 ∼ bit0] (Reserved) 読出し値は不定です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 315 第 11 章 DMAC (DMA コントローラ ) 11.3 11.3 MB91402/403 シリーズ DMAC の動作 DMAC は , CPU の命令動作を介することなく高速にデータ転送を制御する多機能 DMA コントローラです。 ■ 主要動作 • 各転送チャネルは , 独立に各種機能を設定します。 • 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いませ ん。 • 転送要求検出により , バスコントローラに対して DMA 転送要求を出力し , バスコン トローラの制御によりバス権を取得して転送を開始します。 • 転送はチャネルごとに独立に設定されたモード設定に従ったシーケンスで行われ ます。 ■ 転送モード DMA の各チャネルは , それぞれの DMACB レジスタの MOD1, MOD0 ビットで設定さ れた転送モードに従って転送動作を行います。 ● ブロック / ステップ転送 1 回の転送要求にて 1 ブロック転送単位のみ転送を行い , その後 , 次の転送要求が受け 付けられるまでは DMA はバスコントローラに対して転送要求を停止します。 1 ブロック転送単位:設定されたブロックサイズ分 (DMACA:BLK3 ∼ BLK0) ● バースト転送 1 回の転送要求にて指定転送回数終了まで連続して転送を行います。 指定転送回数:ブロックサイズ分×転送回数分 (DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0) ● デマンド転送 外部からの転送要求入力 (DREQ 端子 * のレベル検出 ) 終了か , 指定転送回数終了まで は連続して転送を行います。 デマンド転送での指定転送回数は設定した転送回数分 (DMACA:DTC15 ∼ DTC0) とな ります。ブロックサイズは "1" 固定となり , レジスタ値は無視されます。 *:MB91402/403 シリーズの DREQ 端子の接続先は図 11.1-1 を参照してください。 316 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.3 ■ 転送タイプ ● 2 サイクル転送 ( 通常転送 ) DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い ます。 転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへデー タを書き込みます。 ● フライバイ転送 (I/O →メモリ ) DMA コントローラの動作は , 書込み動作を 1 つの単位として行います。 フライバイ転送を設定して DMA 転送を行うと DMA はバスコントローラに対してフラ イバイ転送 ( 読出し ) 要求を出し , バスコントローラは外部インタフェースにフライバ イ転送 ( 書込み ) をさせます。 フライバイ転送のアクセス領域は必ず外部領域にしてください。 ■ 転送アドレス アドレッシングには以下のようなものがあり , 各チャネル転送元 / 転送先ごとに独立に 設定します。 2 サイクル転送とフライバイ転送でのアドレス設定レジスタ (DMASA, DMADA) の指 定方法は異なります。 ● 2 サイクル転送でのアドレスの指定 あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値を アドレスとしてアクセスします。 転送要求を受け付けると DMA はレジスタからアドレスを一時記憶バッファに格納し て転送を開始します。 1 回の転送 ( アクセス ) ごとにアドレスカウンタにて , 次回アクセスアドレスを生成 ( 加算 / 減算 / 固定を選択可能 ) して一時記憶バッファに戻します。この一時記憶バッ ファの内容は1ブロック転送単位終了ごとにレジスタ(DMASA, DMADA)へライトバッ クされます。 よって , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにしか更 新されませんので転送中のアドレスをリアルタイムに知ることはできません。 ● フライバイ転送でのアドレスの指定 フライバイ転送では転送先アドレスレジスタ (DMADA) から読み出した値をアドレス としてアクセスします。転送元アドレスレジスタ (DMASA) は無視されます。設定す るアドレスは必ず外部領域にしてください。 転送要求を受け付けると DMA はレジスタからアドレスを一時記憶バッファに格納し て転送を開始します。 1 回の転送 ( アクセス ) ごとにアドレスカウンタにて , 次回アクセスアドレスを生成 ( 加算 / 減算 / 固定を選択可能 ) して一時記憶バッファに戻します。この一時記憶バッ ファの内容は 1 ブロック転送単位終了ごとにレジスタ (DMADA) へライトバックされ ます。 よって , アドレスレジスタ (DMADA) 値は , 1 ブロック転送単位ごとにしか更新されま せんので転送中のアドレスをリアルタイムに知ることはできません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 317 第 11 章 DMAC (DMA コントローラ ) 11.3 MB91402/403 シリーズ ■ 転送回数と転送終了 ● 転送回数 1 ブロック転送単位終了ごとに , 転送回数レジスタをデクリメント ( − 1) します。転送 回数レジスタが "0" になると指定転送回数終了となり , 終了コードを表示して停止また は再起動 * します。 転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更新 されません。 *:転送回数レジスタリロードを禁止に設定している場合は転送を終了します。許可さ れている場合はレジスタ値を初期化して転送待ち状態になります(DMACB:DTCR)。 ● 転送終了 転送終了要因には以下のようなものがあり,終了時は終了コードとして要因が表示され ます (DMACB:DSS2 ∼ DSS0)。 • 指定転送回数の終了(DMACA:BLK3∼BLK0×DMACA:DTC15∼DTC0) => 正常終了 • 周辺回路からの転送停止要求の発生 => エラー • アドレスエラーの発生 => エラー • リセットの発生 => リセット 各終了要因に対応して , 転送停止要因表示 (DSS) されて転送終了割込み / エラー割込み を発生可能です。 318 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.4 MB91402/403 シリーズ 11.4 転送要求の設定 DMA 転送を起動する転送要求には , 外部転送要求 , 内蔵周辺要求およびソフトウェ ア要求の 3 種類があります。 ソフトウェア要求については , ほかの要求の設定にか かわらず常に使用することができます。 ■ 外部転送要求端子 (DREQ 入力 ) MB91402/403 シリーズはチャネルごとに 1 本用意された入力端子への入力により , 転 送要求を発生します。ch.0, ch.1 にのみ対応しています ( 図 11.1-1 を参照 )。 この際の有効入力は , 転送タイプと起動要因設定により次の要因が選択されます。 エッジ検出 転送タイプがブロック / ステップ / バースト転送のときはエッジ検出が選択されます。 • 立下りエッジ検出 : 転送要因選択レジスタで設定 DMACA:IS4 ∼ IS0=01110B のとき • 立上りエッジ検出 : 転送要因選択レジスタで設定 DMACA:IS4 ∼ IS0=01111B のとき 転送タイプがデマンド転送のときはレベル検出が選択されます。 • "H" レベル検出 : 転送要因選択レジスタで設定 DMACA:IS4 ∼ IS0=01110B のとき • "L" レベル検出 : 転送要因選択レジスタで設定 DMACA:IS4 ∼ IS0=01111B のとき ■ 内蔵周辺要求 内蔵周辺回路の割込み発生により , 転送要求を発生します。 チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します (DMACA:IS4 ∼ IS0=1xxxxB)。 外部転送要求とは同時に使用することができません。 <注意事項> 転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン トローラの ICR レジスタにより , 割込み禁止に設定してください。 ■ ソフトウェア要求 レジスタのトリガビットへの書込みにより , 転送要求を発生します (DMACA:STRG)。 上記 2 つの転送要求とは独立で , 常に使用することができます。 起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントローラに 対して DMA 転送要求を出力して転送を開始します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 319 第 11 章 DMAC (DMA コントローラ ) 11.5 11.5 MB91402/403 シリーズ 転送シーケンス チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと転 送モードを独立して設定することができます (DMACB:TYPE1, TYPE0, MOD1, MOD0 の設定 ) 。 ■ 転送シーケンスの選択 レジスタの設定により以下のシーケンスを選択可能です。 • バースト 2 サイクル転送 • デマンド 2 サイクル転送 • ブロック / ステップ 2 サイクル転送 • バーストフライバイ転送 • デマンド フライバイ転送 • ブロック / ステップフライバイ転送 ■ バースト 2 サイクル転送 1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転 送元 / 転送先アドレスは 32 ビット全領域指定可能です。 転送要因は , 周辺転送要求 / ソフトウェア転送要求 / 外部端子 (DREQ 入力 ) エッジ入力 検出要求を選択できます。 表 11.5-1 指定可能転送アドレス表 転送元アドレス指定 方向 転送先アドレス指定 32 ビット全領域指定可能 → 32 ビット全領域指定可能 ● バースト転送の特長 • 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送を 行います。 転送回数はブロックサイズ分×転送回数分になります (DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0)。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送回数レジスタのリロード機能が有効である場合 , 転送終了後より次の転送要求 を受け付けます。 • 転送中により高い優先順位の他チャネルの転送要求を受け付けた場合 , ブロック転 送単位の境目でチャネルを切り換え , そのチャネルの転送要求がクリアされるまで 復帰しません。 320 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.5 MB91402/403 シリーズ 図 11.5-1 外部端子立上りエッジ起動 , ブロック数= 1, 転送回数= 4 のときのバースト転送例 転送要求(↑エッジ) バス動作 CPU SA 転送回数 DA SA 4 DA SA 3 DA SA 2 DA CPU 1 0 転送終了 ■ バーストフライバイ転送 転送領域が外部領域のみであること , 転送単位が書込み (I/O →メモリ ) だけであること を除けば 2 サイクル転送と同じです。 表 11.5-2 指定可能転送アドレス表 転送元アドレス指定 方向 転送先アドレス指定 指定不要 ( 無効 ) なし 外部領域 ■ デマンド転送 2 サイクル転送 転送要求として , DREQ 入力の "H" または "L" レベルを選択している場合にのみ , デマ ンド転送シーケンスとなります ( レベル選択は , DMACA:IS3 ∼ IS0 にて設定します )。 ● 連続転送の特長 • 転送要求を 1 回の転送ごとにチェックし , 外部からの入力レベルが設定した転送要 求レベルの間は要求をクリアせずに連続して転送を行います。外部入力が変化する と要求がクリアされ , 転送は転送の境目にて停止します。これを指定転送回数終了 まで繰り返します。 • その他はバースト転送と同等に動作します。 図 11.5-2 外部端子 "H" レベル起動 , ブロック数= 1, 転送回数= 3 のときのデマンド転送例 転送要求("H"レベル) バス動作 転送回数 CPU SA DA SA 3 CPU DA 2 SA DA 1 CPU 0 転送終了 表 11.5-3 指定可能転送アドレス表 CM71-10131-1 転送元アドレス指定 方向 転送先アドレス指定 外部領域 → 外部領域 外部領域 → 内蔵 I/O 外部領域 → 内蔵 RAM 内蔵 I/O → 外部領域 FUJITSU MICROELECTRONICS LIMITED 321 第 11 章 DMAC (DMA コントローラ ) 11.5 MB91402/403 シリーズ <注意事項> デマンド転送時は , 必ず外部領域のアドレスを転送元か転送先 , または両方に設定してく ださい。デマンド転送モード時は , DMA 転送を外バスタイミングに合わせているため , 必 ず外部領域へのアクセスが必要になります。 ■ デマンド転送フライバイ転送 転送領域が外部領域のみであること , 転送単位が書込み (I/O →メモリ ) だけであること を除けば 2 サイクル転送と同じです。 表 11.5-4 指定可能転送アドレス表 転送元アドレス指定 方向 転送先アドレス指定 指定不要 ( 無効 ) なし 外部領域 ■ ステップ / ブロック転送 2 サイクル転送 ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場 合は転送元 / 転送先アドレスは 32 ビット全領域指定可能です。 表 11.5-5 指定可能転送アドレス表 転送元アドレス指定 方向 転送先アドレス指定 32 ビット全領域指定可能 → 32 ビット全領域指定可能 ● ステップ転送 ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。 ステップ転送の特長 • 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転送 を停止します ( バスコントローラに対して DMA 転送要求を取り下げる )。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送中により高い優先順位の他チャネルの転送要求を受け付けた場合 , 転送停止 後に , チャネルを切り換えて続けて転送を開始します。ステップ転送における優 先順位は , 転送要求が同時に発生した場合にのみ意味があります。 ● ブロック転送 ブロックサイズを "1" 以外に設定すると , ブロック転送シーケンスとなります。 ブロック転送の特長 1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ステッ プ転送と全く同じ動作となります。 322 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.5 MB91402/403 シリーズ 図 11.5-3 外部端子立上りエッジ起動 , ブロック数= 2, 転送回数= 2 のときのブロック転送例 転送要求(↑エッジ) バス動作 ブロック数 転送回数 CPU SA DA SA 2 DA 1 CPU SA 0 DA SA 0 2 DA 1 CPU 0 1 転送終了 ■ ステップ / ブロック転送 2 サイクル転送フライバイ転送 転送領域が外部領域のみであること , 転送単位が読出し ( メモリ→ I/O) または書込み (I/O →メモリ ) だけであること以外は 2 サイクル転送と同じです。 表 11.5-6 指定可能転送アドレス表 CM71-10131-1 転送元アドレス指定 方向 転送先アドレス指定 指定不要 ( 無効 ) なし 外部領域 FUJITSU MICROELECTRONICS LIMITED 323 第 11 章 DMAC (DMA コントローラ ) 11.6 11.6 MB91402/403 シリーズ DMA 転送全般 DMA 転送の動作全般について説明します。 ■ ブロックサイズ • 転送データの 1 転送単位はブロックサイズ指定レジスタに設定した数 ( ×データ幅 ) のデータの集合となります。 • 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転 送単位はブロックサイズ指定値分の転送サイクル数より構成されることになりま す。 • 転送中により高位の優先順位の転送要求が受け付けられた場合または転送の一時 停止要求が発生した場合において , ブロック転送時においても 1 転送単位の境界に ならないと停止しません。これにより , 分割・一時停止を希望しないデータブロッ クのデータ保護が可能ですが , ブロックサイズが大きい場合はレスポンスを低下さ せる原因ともなります。 • リセット発生の場合にのみ即時に停止しますが , 転送中であったデータの内容など は保証されません。 ■ リロード動作 本モジュールでは , チャネルごとに以下の 3 種類のリロード機能の設定が可能です。 ● 転送回数レジスタリロード機能 指定回数の転送が終了した後,転送回数レジスタに初期設定値を再設定して起動受付け 待ちします。 全転送シーケンスを繰り返して行う際に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のままとな り , 以降の転送は行われません。 ● 転送元アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定します。 転送元アドレス領域内で固定領域から繰り返して転送する場合に設定します。 リロード指定をしない場合,指定回数の転送終了後は転送元アドレスレジスタ値が終了 時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。 324 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.6 ● 転送先アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定します。 転送先アドレス領域内で固定領域へ繰り返して転送する場合に設定します。 • 転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了 後の再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。 ● 動作モードとリロード動作の特殊な例 • 外部端子入力レベル検出による連続転送モードで転送している場合 , 転送回数レジ スタのリロード機能を使用すると , 入力が連続している間に転送終了となってもそ のままリロードして転送を継続します。この場合も終了コードはセットされます。 • 転送終了にていったん停止し , 再度入力検出から行いたい場合は , リロード指定を 行わないでください。 • バースト / ブロック / ステップ転送モードで転送している場合では , 転送終了となる とリロード後 , いったん転送を中断し , 改めて転送要求入力が検出されるまで転送 を行いません。 ■ アドレッシングモード 各転送チャネルの転送先および転送元アドレスをそれぞれ独立に指定します。 指定方法には下記の方法があります。転送シーケンスによって設定してください。 ● アドレスレジスタ指定 • 2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) には転送元アド レスを , 転送先アドレス設定レジスタ (DMADA) には転送先アドレスを設定してく ださい。 • フライバイ転送モードでは , 転送先アドレス設定レジスタ (DMASA) にはメモリア ドレスを設定してください。このときの転送先アドレス設定レジスタ (DMADA) の 値は無視されます。 アドレスレジスタの特長 最大 32 ビット長のレジスタです。32 ビット長の場合にはメモリマップ上の全空間 がアクセス可能です。 アドレスレジスタの機能 • 毎アクセス時に読み出され , アドレスバスへ放出されます。 • 同時にアドレスカウンタにて次回アクセス時のアドレス計算が行われ , 計算結果 のアドレスにてアドレスレジスタを更新します。 • アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に , 加算 / 減算の内よ り選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ値によ ります (DMACB:SASZ, DASZ)。 • 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最 終アドレスにアドレス計算をした結果のアドレスが残されます。 • リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 325 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ <注意事項> • 32 ビット長フルアドレス計算の結果 , オーバフロー / アンダフローが発生した場合に はアドレスエラーとして検出され , そのチャネルの転送を中止します ( 終了コードに関 する項目を参照 )。 • アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。 • デマンド転送時は , 必ず外部領域のアドレスを転送元か転送先 , または両方に設定して ください。 • DMAC により DMAC 自身のレジスタへの転送を行わないでください。 ■ データの種類 1 回の転送で転送されるデータ長 ( データ幅 ) を以下から選択します。 ・バイト ・ハーフワード ・ワード DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ ス指定においてデータ長と食い違うアドレスが設定された場合には異なる下位ビット は無視されます。 • ワード … 実際のアクセスアドレスは下位 2 ビット が "00B" から始まる 4 バ イトとなります。 • ハーフワード … 実際のアクセスアドレスは下位 1 ビット が "0" から始まる 2 バイ トとなります。 • バイト … 実際のアクセスアドレスとアドレス指定が一致します。 転送元アドレスと転送先アドレスの下位ビットが食い違っている場合,内部アドレスバ ス上には設定そのままのアドレスが出力されますが , バス上の各転送対象において , 上 記の決まりに従ってアドレスが修正されてアクセスが行われます。 ■ 転送回数制御 転送回数は , 最大で 16 ビット長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回数指 定値は転送回数レジスタ (DMACA:DTC) に設定します。 レジスタ値は転送開始時に一時記憶バッファに格納され,転送回数カウンタにより減算 されます。このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され , そのチャネルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。 転送回数レジスタ群の特長 • 各レジスタ 16 ビット 長です。 • すべてのレジスタにはそれぞれ専用リロードレジスタがあります。 • レジスタ値が "0" 時に起動すると , 65536 回の転送を行います。 リロード動作 • リロード機能があるレジスタで , リロード機能が許可されている場合にのみ有効 です。 • 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。 • 転送回数カウンタにてカウントを行った際に "0" になると , 転送終了を通知する とともに , リロードレジスタより初期値を読み出して回数レジスタに書き込みま す。 326 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.6 ■ CPU 制御 DMA 転送要求が受け付けられると , DMA はバスコントローラに対して転送要求を発 行します。 バスコントローラはバス動作の切れ目にて内部バス使用権を DMA に明け渡して DMA 転送が開始されます。 ● DMA 転送と割込み • DMA 転送中は , 基本的には転送終了まで割込みの受付けを停止します。 また , 割込み処理動作中に DMA 転送要求があった場合 , 転送要求が受け付けられ , 転送終了まで割込み処理動作を停止します。 • 例外として , NMI 要求 , または割込みコントローラにて設定されたホールド抑止レ ベルより高いレベルの割込み要求が発生した場合には , DMAC は転送単位 (1 ブロッ ク ) の境界にてバスコントローラの転送要求を一時取り下げ , 割込み要求がクリア されるまでは転送を一時停止状態にします。この間 , 転送要求は内部で保持されま す。割込み要求がクリアされた後に再度 DMAC はバスコントローラは転送要求を 発行してバス使用権を取得し , DMA 転送を再開します。 ● DMA 抑止 • DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転送を中断して該 当割込みルーチンへ分岐します。この機能は割込み要求がある限り有効ですが , 割 込み要因をクリアすると抑止機能が働かなくなり , 割込み処理ルーチン内で DMA 転 送を再開します。このため , DMA 転送を中断するレベルの割込み要因の処理ルーチ ン内で , 割込み要因クリア後の DMA 再転送開始を抑止したいときは , DMA 抑止機 能を使用します。DMA 抑止機能は , DMA 全体制御レジスタの DMAH3 ∼ DMAH0 ビットに "0" 以外の値を書くことで起動し , "0" を書くことで停止します。 • 本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込 み要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このよう にすると , 以降 , DMA 転送を行いません。割込み処理への対応を行った後 , 復帰す る前に DMAH3 ∼ DMAH0 ビットの内容を 1 つ減少させます。多重割込みの場合に は , DMAH3 ∼ DMAH0 ビットの内容は , まだ "0" にならないため , 引き続いて DMA 転送は抑止されます。また , 多重割込みでない場合は DMAH3 ∼ DMAH0 ビットの 内容は "0" になるため , その後すぐに DMA 要求を有効にします。 <注意事項> • レジスタのビット数は 4 ビットですので , 15 レベルを超える多重割込みで本機能を使 用することはできません。 • DMA タスクの優先順位は必ずほかの割込みレベルより 15 レベルは上に置いてくださ い。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 327 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ■ ホールド調停 BREQ による外部バスホールド要求と本モジュールによる DMA 転送要求との関係は , 以下に示すとおりとなります。 ● 外部ホールド中の DMA 転送要求 DMA 転送を開始しますが , 外部バス領域へのアクセスがあった場合 , その時点で DMA 転送を一時停止します。外部ホールドが解除され次第 , DMA 転送を再開します。 ● DMA 転送中の外部ホールド要求 外部ホールド状態となります。DMA 転送による外部バス領域へのアクセスがあった場 合 , その時点で DMA 転送を一時停止します。外部ホールドが解除され次第 , DMA 転 送を再開します。 ● DMA 転送要求と外部ホールド要求の同時発生 外部ホールド状態となり , また , 内部では DMA 転送を開始します。DMA 転送による 外部バス領域へのアクセスがあった場合 , その時点で DMA 転送を一時停止します。外 部ホールドが解除され次第 , DMA 転送を再開します。 ■ 動作開始 DMA 転送の開始は , チャネルごとに独立に制御しますが , その前に全チャネルの動作 を許可しておく必要があります。 ● 全チャネル動作許可 DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら かじめ全チャネルの動作を許可する必要があります。許可されていない状態にて行っ た起動設定 , および発生した転送要求はすべて無効となります。 ● 転送起動 チャネルごとの制御レジスタにある動作許可ビットにて , 転送動作を起動します。起動 されたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転 送動作が開始されます。 ● 一時停止状態からの起動 チャネルごとまたは全チャネル制御にて , 起動前に一時停止状態にしてあった場合 , 転 送動作を起動しても一時停止状態を維持します。この間に転送要求が発生した場合は , 要求を受け付けて保持します。一時停止を解除した時点から転送を開始します。 328 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.6 ■ 転送要求の受付けと転送 • 起動後 , 各チャネルに対して設定した転送要求のサンプリングが開始されます。 • 外部端子起動要因でエッジ検出を選択した場合 , 転送要求が検出されると転送要求 クリア条件を満たすまで DMAC 内部で要求を保持します ( ブロック / ステップ / バー スト転送で外部端子起動要因を選択したとき )。 • 外部端子起動要因でレベル検出 , または周辺割込み起動を選択した場合は , 転送要 求がクリアされるまで DMAC は転送を続けますがクリアされると 1 転送単位で転 送を停止します ( デマンド転送 / 周辺割込み起動 )。 周辺割込みはレベル検出扱いとなりますので割込みは DMA による割込みクリアで 行うようにしてください。 • 転送要求は , 他チャネルの要求が受け付けられて転送が行われている間でも , 常に 受け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネル を決定しています。 ■ DMA による周辺割込みクリア • 本 DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因 に周辺割込みを選択したときに機能します (IS4 ∼ IS0=1xxxxB のとき )。 • 周辺割込みのクリアは設定された起動要因にのみ行われます。つまり IS4 ∼ IS0 で 設定された周辺機能のみがクリアされます。 ● 割込みクリアの発生タイミング 転送モードにより発生するタイミングが違います (「11.7 動作フローチャート」を参 照 )。 [ ブロック / ステップ転送 ] ブロック転送を選択した場合には , 1 ブロック ( ステップ ) 転送ごとにクリア信号 を発生します。 [ バースト転送 ] バースト転送を選択した場合には , 指定転送回数がすべて終了したらクリア信号を 発生します。 [ デマンド転送 ] デマンド転送では外部端子からの起動要求のみをサポートするため , クリア信号を 発生しません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 329 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ■ 一時停止 DMA 転送は , 以下の場合に一時停止します。 ● 制御レジスタへの書込みによる一時停止の設定(各チャネル独立または全チャネル同時に設 定) 一時停止ビットにより一時停止を設定すると,一時停止解除設定を再度設定するまでの 間 , 対応するチャネルの転送を停止します。一時停止の確認は DSS ビットで行ってく ださい。 一時停止を解除すると , 転送を再開します。 ● NMI/ ホールド抑止レベル割込み処理中 NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転 送中のチャネルはすべて転送単位の境界にて一時停止し , バス権を開放して NMI/ 割込 み処理を優先させます。また , NMI/ 割込み処理中に受け付けられた転送要求はそのま ま保持され , NMI 処理の終了を待ちます。 要求が保持されたチャネルは , NMI/ 割込み処理が終了した後に転送を再開します。 ■ 動作終了 / 停止 DMA 転送の終了は , チャネルごとに独立に制御しますが , 全チャネルの動作を禁止す ることも可能です。 ● 転送終了 リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了 コードにて『正常終了』を表示した後 , 以降の転送要求が無効となります (DMACA:DENB ビットをクリアする )。 リロード動作が有効である場合,転送回数レジスタが"0"になると初期値をリロードし, 終了コードにて『正常終了』を表示した後 , 再度転送要求待ちとなります (DMACA:DENB ビットをクリアしない )。 ● 全チャネル動作禁止 DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ ネルも含めて DMAC のすべての動作が停止します。以降 , 再度全チャネル DMA 動作 を許可しても , チャネルごとに再起動しないと , 転送は行われません。この場合 , 割込 みは一切発生しません。 330 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ■ エラーによる停止 指定回数の転送終了による正常終了以外の要因で停止する場合として,各種エラー発生 による停止および強制停止があります。 ● 周辺回路からの転送停止要求の発生 転送要求を出力する周辺回路によっては,異常を検出した際などに転送停止要求を発生 するものがあります ( 例:通信系周辺における受信 / 送信エラーなど )。 この転送停止要求を受け取った DMAC は , 終了コードにて『転送停止要求』を表示し て対応するチャネルの転送を停止します。 表 11.6-1 周辺回路からの転送停止要求の発生 IS 機能 00000B 転送停止要求 ソフトウェア転送要求にのみ有効 00001B ↓ 01101B 設定禁止 01110B DREQ "H" レベル または ↑エッジ検出 01111B DREQ "L" レベル または ↓エッジ検出 10000B UART0 受信完了 10001B UART1 受信完了 10010B UART0 送信完了 10011B UART1 送信完了 10100B 設定禁止 10101B 設定禁止 10110B リロードタイマ 0 10111B リロードタイマ 1 11000B 設定禁止 11001B 設定禁止 なし あり なし 11010B ↓ 11111B 設定禁止 各転送停止要求の発生条件についての詳細は , 各周辺回路の仕様を参照してください。 ● アドレスエラーの発生 各アドレッシングモードにて,以下に示すような不適切なアドレッシングが行われたと き , アドレスエラーとして検出されます (32 ビットアドレス指定時に , アドレスカウン タにてオーバフロー / アンダフローが発生した場合 )。 アドレスエラーを検出すると , 終了コードにて『アドレスエラーの発生』を表示して対 応するチャネルの転送を停止します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 331 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ■ DMAC 割込み制御 転送要求となる周辺割込みとは独立に , DMAC はチャネルごとに以下の割込みを出力 することが可能です。 • 転送終了割込み : 正常終了した場合にのみ発生 • エラー割込み : 周辺回路よりの転送停止要求 ( 周辺に起因するエラー ) アドレスエラーの発生 ( ソフトウェアに起因するエラー ) これら割込みはすべて終了コードの内容に従って出力されます。 割込み要求のクリアは , DMACB の DSS2 ∼ DSS0( 終了コード ) に "000B" を書き込む ことにより行います。 なお , 終了コードは再起動する際には必ず "000B" を書き込んでクリアしてください。 リロード動作が有効である場合は自動的に再起動しますが,この際には終了コードはク リアされず , 次の転送終了による新しい終了コードの書込み時まで保持されます。 終了コードにて表示できる終了要因は 1 種類のみですので , 複数の要因が同時に発生し た場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されて いる終了コードに従います。 終了コードの表示の優先順位を以下に示します ( 上から , 優先度の高い順 )。 1. リセット 2. "000B" 書込みによるクリア 3. 転送停止要求 4. 正常終了 5. アドレスエラー検出による停止 6. チャネル選択と制御 ■ スリープ中の DMA 転送 • DMAC は , スリープモード中でも動作させることができます。 • スリープモードでの動作を期待する場合 , 次のことに注意する必要があります。 - CPU は停止状態なので DMAC のレジスタを書き換えることはできません。スリー プモードに入る前に設定を済ませておいてください。 - スリープモードは , 割込みで解除されますので DMAC 起動要因で周辺での割込み を選択した場合は , 割込みコントローラで割込みを禁止する必要があります。 同様に DMAC 終了割込みでスリープモードを解除したくない場合は割込みを禁止にし てください。 332 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ■ チャネル選択と制御 転送チャネルの数は 5 チャネルまで同時設定が可能です。各チャネルは基本的に各機 能を独立に設定することが可能です。 ● チャネル間優先順位 DMA 転送は同時に 1 チャネルのみ可能なため , 各チャネル間には優先順位が設定され ます。 順位設定には , 固定 / 回転の 2 モードがあり , チャネルグループ ( 詳細は「●チャネル グループ」を参照 ) ごとに選択します。 (1) 固定モード チャネル番号の小さい順に固定されます。 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) 転送中に , より高い優先度の転送要求が受け付けられた場合 , 1 転送単位 ( ブロックサ イズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で , 転送チャネルが 高優先度側に切り換わります。 高優先度側の転送が終了すると , 元のチャネルの転送を再開します。 図 11.6-1 固定モード時の DMA 転送 ch.0転送要求 ch.1転送要求 バス動作 CPU SA 転送チャネル DA SA ch.1 DA SA ch.0 DA SA ch.0 DA CPU ch.1 ch.0転送終了 ch.1転送終了 (2) 回転モード (ch.0, ch.1 間のみ ) 動作許可後の初期状態は (1) と同じ順位に設定されますが , 1 転送終了ごとにその チャネルの優先度は逆転します。よって , 同時に転送要求が出力されている場合は 1 転送単位ごとにチャネルが切り換わります。 連続 / バースト転送を設定した場合に効果のあるモードです。 図 11.6-2 回転モード時の DMA 転送 ch.0転送要求 ch.1転送要求 バス動作 CPU 転送チャネル SA DA ch.1 SA DA ch.0 SA DA ch.1 SA DA CPU ch.0 ch.0転送終了 ch.1転送終了 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 333 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ● チャネルグループ 優先順位の選択は , 以下の単位で設定します。 表 11.6-2 DMA 優先順位選択の設定 モード 優先度 固定 ch.0 > ch.1 回転 ch.0 > ch.1 ↑↓ ch.1 > ch.0 備考 初期状態は上側の順位です。 上側が転送されると反転します。 ■ 外部端子と内部動作タイミングに関する補足 ● DREQ 入力の最小有効パルス幅について (0, 1, 2 チャネルのみ ) バースト / ステップ / ブロック / デマンド転送すべての転送モードで動作時最小 5 シス テムクロックサイクル ( 外部バスクロックの 5 周期分 ) の幅が必要です。 DACK出力は , DREQ 入力の受付けを示すものではありません。DMA許可状態で転送前 であれば DREQ 入力は常に受け付けられます。そのため , DACK 出力のアサートまで DREQ 入力を保持する必要はありません ( デマンド転送モードを除く )。 ● デマンド転送要求の停止時の DREQ 入力のネゲートタイミングについて (1) 2 サイクル転送時 デマンド転送時は , 必ず外部領域のアドレスを転送元か転送先 , または両方に設定 してください。 ・転送対象が外部 ↔ 外部の場合 最後の DMA 転送の転送元アクセス時の外部 WRXO3 ∼ WRXO0 端子出力が "L" 区 間の間にネゲートしてください。 (DACK="L" & WRXO3 ∼ WRXO0="L" の区間 ) これより後に DREQ 入力をネゲート した場合 , 次の転送まで行う可能性があります。 ・転送対象が外部 ↔ 内部の場合 最後の DMA 転送の転送元アクセス時の外部 RDXO 端子出力が "L" 区間の間にネ ゲートしてください。 (DACK="L" & RDXO="L" の区間 ) これより後に DREQ 入力をネゲートした場合 , 次 の転送まで行う可能性があります。 図 11.6-3 2 サイクル外部 => 内部転送時の DREQ 入力のネゲートタイミング例 バス動作 CPU 領域 SA DA SA DA 外部 内部 外部 内部 CPU SA DA SA DA 外部 内部 外部 内部 CPU D31~D0 DACK[n] DEOP[n] RDXO WRXO3~WRXO0 DREQ(”H”レベル) 334 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ・転送対象が内部 ↔ 外部の場合 最後の DMA 転送の転送元アクセス時の外部 WRXO3 ∼ WRXO0 端子出力が "L" 区 間の間にネゲートしてください。 (DACK="L" & WRXO3 ∼ WRXO0="L" の区間 ) これより後に DREQ 入力をネゲート した場合 , 次の転送まで行う可能性があります。 (2) フライバイ ( 書込み ) 転送時 デマンド転送時は , 必ず外部領域のアドレスを転送先に設定してください。 ・フライバイ ( 書込み ) の場合 最後の DMA 転送の転送元アクセス時の外部 WRXO3 ∼ WRXO0 端子出力が "L" 区 間の間にネゲートしてください。 (DACK="L" & WRXO3 ∼ WRXO0="L" の区間 ) これより後に DREQ 入力をネゲート した場合 , 次の転送まで行う可能性があります。 図 11.6-4 フライバイ ( 書込み ) の場合の DREQ 入力のネゲートタイミング例 バス動作 CPU 領域 DA DA DA DA 外部 外部 外部 外部 CPU DA DA DA DA 外部 外部 外部 外部 CPU D31~D0 DACK[n] DEOP[n] RDXO WRXO3~WRXO0 DREQ(”H”レベル) ● 同一チャネルで引き続き転送を行うための DREQ 入力のタイミングについて • バースト / ステップ / ブロック / デマンド転送時 DREQ 入力によって同一チャネルの転送を連続させた場合の動作は保証できませ ん。転送終了によって内部に保持した要求をクリアするため , 最速タイミングで DREQ 入力が再度アサートされたとしても最低でも 1 システムクロックサイクル (CLK 出力の 1 周期分 ) はほかのチャネルの転送要求の検出が有効になっており , 結 果ほかのチャネルの優先度が高ければそちらの転送が開始されます。また , それよ り以前に DREQ 入力が再度アサートされても , 転送が終了していないので無視され ます。ほかのチャネルの転送要求が発生していない場合には , DACK 端子出力がア サートされた時点で DREQ 入力を再度アサートすることにより , 同一チャネルでの 転送を再開します。 ● DACK 出力のタイミングについて • 本 DMAC の DACK 出力は , 受け付けられた転送要求に対する転送が行われている ことを示します。 • DACK の出力は , 基本的に外部バスアクセスタイミングのアドレス出力に同期して います。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 335 第 11 章 DMAC (DMA コントローラ ) 11.6 MB91402/403 シリーズ ● DEOP 出力のタイミングについて • 本 DMA での DEOP 出力は , 受け付けられたチャネルの DMA 転送が指定転送回数 分終了したことを示すものです。 • DEOP 出力は最終転送ブロックの外部領域アクセスが開始されると出力されます。 そのため , ブロックサイズを "1" 以外に設定 ( ブロック転送モード ) している場合 , 最終ブロックの最後のデータ転送時に DEOP が出力されます。この場合 , 転送がま だ行われている間 (DEOP 出力される前 ) でも , DACK 出力がアサートされていると , 次の DREQ 入力の受付けは開始されています。 • DEOP の出力は外部バスアクセスタイミングの RDXO, WRXO3 ∼ WRXO0 に同期し ています。しかし , 転送元 / 転送先が内部領域であった場合には DEOP は出力され ません。 ● 転送中に外部端子転送要求が再度入力された場合について • バースト / ステップ / ブロック転送時 DACK 信号が DMAC 内部でアサートされるまでの間 , 次の転送要求が入力されても 無効となります。しかし , 外部バス制御ユニットと DMAC の動作が完全に同期して いないため , DREQ 入力で転送要求を有効にするには DACK と DEOP 出力により DREQ 入力を作成する回路を初期化する必要があります。 • デマンド転送時 全転送回数が終了した際に転送回数レジスタのリロードを指定している場合 , 再度 転送要求が受け付けられます。 ● ブロック転送中にほかの転送要求が発生した場合について 指定したブロックの転送が終了するまでは , ほかの要求は検出されません。ブロックの 境界にて , その時点で受け付けられている転送要求を評価し , 最も優先順位の高いチャ ネルの転送を行います。 ● 外部 I/O―外部メモリ間の転送について 本 DMAC の転送対象として , 外部 I/O と外部メモリの区別は存在しません。外部 I/O は , アドレス固定の外部アドレスとして設定してください。 フライバイ転送を行う場合,外部メモリは転送先アドレスレジスタにアドレスを設定し てください。また , 外部 I/O に対しては IORD 出力と IOWR 出力を使用することができ ます。 336 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.7 MB91402/403 シリーズ 11.7 動作フローチャート DMAC のブロック転送 , バースト転送およびデマンド転送の動作フローチャートを 示します。 ■ ブロック転送 図 11.7-1 ブロック転送 DMA停止 DENB=>0 DENB=1 起動要求待機 リロード許可 起動要求 初期アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 フライバイ時は1回のアクセス 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 周辺割込み起動要因選択時のみ アドレス,転送回数,ブロック数 ライトバック 割込みクリア 割込みクリア発生 DTC=0 DMA転送終了 DMA割込み発生 ブロック転送 ・すべての起動要因で起動可能(選択) ・すべての領域へのアクセス可能 ・ブロック数の設定可能 ・ブロック数終了で割込みクリア発行 ・指定転送回数終了でDMA割込みを発行 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 337 第 11 章 DMAC (DMA コントローラ ) 11.7 MB91402/403 シリーズ ■ バースト転送 図 11.7-2 バースト転送 DMA停止 DENB=>0 DENB=1 起動要求待機 リロード許可 初期アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 フライバイ時は1回のアクセス 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 DTC=0 アドレス,転送回数,ブロック数 ライトバック 周辺割込み起動要因選択時のみ 割込みクリア DMA転送終了 割込みクリア発生 DMA割込み発生 バースト転送 ・すべての起動要因で起動可能(選択) ・すべての領域へのアクセス可能 ・ブロック数の設定可能 ・指定転送回数終了で割込みクリア,DMA割込みを発行 338 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.7 MB91402/403 シリーズ ■ デマンド転送 図 11.7-3 デマンド転送 DMA停止 DENB=>0 なし リロード許可 DENB=1 起動要求待機 起動要求あり 初期アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 フライバイ時は1回のアクセス 転送先アドレスアクセス アドレス演算 転送回数-1 アドレス,転送回数,ブロック数 ライトバック DTC=0 周辺割込み起動要因選択時のみ 割込みクリア 割込みクリア発生 DMA転送終了 DMA割込み発生 デマンド転送 ・DREQ入力からの要求(レベル検出)のみ受付け。ほかの要因での起動禁止 ・外部領域へのアクセスは必須条件(外部領域へのアクセスが次の起動要因となるため) ・ブロック数は,設定に関係なく1固定になる ・指定転送回数終了で割込みクリア,DMA割込みを発行 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 339 第 11 章 DMAC (DMA コントローラ ) 11.8 MB91402/403 シリーズ データパス 11.8 DMAC を使用したデータ転送例を示します ( 他の組合せは省略 )。 ■ 2 サイクル転送時のデータの動き 転送例を 6 種類図示します ( ほかの組合せは省略 )。 図 11.8-1 DMAC を使用したデータ転送例 外部領域=>外部領域転送 FR CORE FR CORE DMAC DMAC C P U D-bus RAM バスコントローラ X-bus データバッファ ライトサイクル I-bus C P U D-bus バスコントローラ データバッファ RAM I/O X-bus 外部バスインタフェース I-bus 外部バスインタフェース リードサイクル I/O 外部領域=>内部RAM領域転送 FR CORE FR CORE DMAC バスコントローラ X-bus D-bus RAM データバッファ ライトサイクル I-bus C P U バスコントローラ X-bus D-bus データバッファ RAM I/O 外部バスインタフェース I-bus C P U DMAC 外部バスインタフェース リードサイクル I/O 外部領域=>内蔵I/O領域転送 FR CORE FR CORE DMAC バスコントローラ X-bus C P U D-bus データバッファ RAM ライトサイクル I-bus バスコントローラ X-bus C P U D-bus データバッファ 外部バスインタフェース I-bus DMAC 外部バスインタフェース リードサイクル RAM I/O I/O ( 続く ) 340 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 11 章 DMAC (DMA コントローラ ) 11.8 MB91402/403 シリーズ ( 続き ) 内部RAM領域=>外部領域転送 FR CORE FR CORE DMAC DMAC C P U D-bus RAM バスコントローラ X-bus データバッファ ライトサイクル I-bus C P U D-bus バスコントローラ データバッファ RAM I/O X-bus 外部バスインタフェース I-bus 外部バスインタフェース リードサイクル I/O 内部RAM領域=>内蔵I/O領域転送 FR CORE FR CORE DMAC DMAC C P U D-bus バスコントローラ X-bus データバッファ ライトサイクル I-bus C P U D-bus RAM バスコントローラ X-bus データバッファ 外部バスインタフェース I-bus 外部バスインタフェース リードサイクル RAM I/O I/O 内蔵I/O領域=>内部RAM領域転送 FR CORE FR CORE DMAC DMAC C P U D-bus バスコントローラ データバッファ RAM X-bus ライトサイクル I-bus C P U D-bus バスコントローラ データバッファ RAM I/O CM71-10131-1 X-bus 外部バスインタフェース I-bus 外部バスインタフェース リードサイクル I/O FUJITSU MICROELECTRONICS LIMITED 341 第 11 章 DMAC (DMA コントローラ ) 11.8 MB91402/403 シリーズ ■ フライバイ転送時のデータの動き 図 11.8-2 フライバイ転送 (I/O →メモリ ) フライバイ転送 (I/O→メモリ) DMAC I-bus C P U バスコントローラ D-bus データバッファ X-bus 外部バスインタフェース リードサイクル memory FR CORE I/O RAM 342 WRXO3~WRXO0, CSXO[n]でmemory 書込みをします。 WRXO3~WRXO0とDACK[n]または IORDでI/O読出しをします。 I/O FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.9 DMA 設定例 11.9 各周辺部において DMA 転送を行う際の CPU に内蔵される DMAC の設定例を示し たものです。各周辺コントローラ部における DMA の設定は各機能説明の章を参照し てください。 ■ MAC IF 受信 DMA の場合は , DMA 制御信号を使用した転送が可能です。その場合は , DMAC の ch.0 を使用します。送信 DMA の場合は , ソフトウェア要求にのみ対応します。 ● 受信 DMA 設定例 以下に , FR コアの DMAC(ch.0) を使用して , MAC IF 部の受信 FIFO から外部メモリへ の DMA( フライバイモード ) 転送の設定例を示します。 1) 転送元アドレス設定 転送元アドレス設定レジスタ (DMASA0: DMASA) に MAC のバッファメモリポート レジスタ (BMPR8) を設定する。 2) 転送先アドレス設定 転送先アドレス設定レジスタ (DMADA0: DMADA) に転送先アドレスを設定する。 3) DMA 動作許可 DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 ) を設定する。 4) DMAC コントロール / ステータスレジスタ B(DMACB0) を設定 以下に示した以外の設定は , 初期値を意味します。 • TYPE:転送タイプ設定 TYPE1, TYPE0 = 10B( フライバイ : I/O →メモリ転送 ) • MODE:転送モード設定 MOD1, MOD0 = 10B( デマンド転送モード ) • WS:転送データ幅選択 WS1, WS0 = 10B( ワード単位で転送 ) • DADM:転送先アドレスカウントモード指定 DADM = 0( 転送元アドレスは増加します ) ( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。 • リロードおよび割込み設定 必要に応じて設定してください。 • SASZ:転送元アドレスカウントサイズ指定 SASZ = 00H( 転送アドレス増減幅 :0) • DASZ:転送先アドレスカウントサイズ指定 DASZ = 04H( 転送アドレス増減幅 :4) ( 注意事項 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必 要です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 343 第 11 章 DMAC (DMA コントローラ ) 11.9 MB91402/403 シリーズ 5) DMAC コントロール / ステータスレジスタ A(DMACA0) 設定 以下に示した以外の設定は , 初期値を意味します。 • DENB : DMA 動作許可ビット DENB = 1( 対応チャネル DMA 動作許可 ) • IS : 転送要因選択 IS4 ∼ IS0 = 01110B(DREQ "H" レベル ) • BLK : ブロックサイズ指定 BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない ) • DTC : 転送回数レジスタ 受信データ長を設定する。 例 ) 1536 バイトの場合 , 1536/ ワード= 384 ⇒ DTC = 180H 6) 転送要求 MAC IF の DMA イネーブルビット (BMPR12: DMA RENA) に "1"(DMA リード動作 イネーブル ) を書き込む。 5) の DENB(DMA 動作許可ビット ) の設定が最後の場合には , 上記の順番は問いま せん。 ● 送信 DMA 設定例 以下に , FR コアの DMAC を使用して外部メモリから MAC IF 部の送信 FIFO への DMA ( ソフトウェア起動 ) 転送の設定例を示します。 1) 転送元アドレス設定 転送元アドレス設定レジスタ (DMASAn: DMASA) に転送元アドレスを設定する。 2) 転送先アドレス設定 転送先アドレス設定レジスタ (DMADAn: DMADA) に , MAC のバッファメモリポー トレジスタ (BMPR8) を設定する。 3) DMA 動作許可 DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 ) を設定する。 4) DMAC コントロール / ステータスレジスタ B(DMACBn) を設定 以下に示した以外の設定は , 初期値を意味します。 • TYPE:転送タイプ設定 TYPE1, TYPE0 = 00B(2 サイクル転送 ) • MODE:転送モード設定 MOD1, MOD0 = 01B( バースト転送モード ) • WS:転送データ幅選択 WS1, WS0 = 10B( ワード単位で転送 ) • SADM:転送元アドレスカウントモード指定 SADM = 0( 転送元アドレスは増加します ) ( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。 • リロードおよび割込み設定 344 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.9 必要に応じて設定してください。 • SASZ:転送元アドレスカウントサイズ指定 SASZ = 04H( 転送アドレス増減幅 :4) 注 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必要です。 • DASZ:転送先アドレスカウントサイズ指定 DASZ = 00H( 転送アドレス増減幅 :0) 5) DMAC コントロール / ステータスレジスタ A(DMACAn) を設定 以下に示した以外の設定は , 初期値を意味します。 • DENB : DMA 動作許可ビット DENB = 1( 対応チャネル DMA 動作許可 ) • IS : 転送要因選択 IS4 ∼ IS0 = 00000B( ソフトウェア転送要求にのみ有効 ) • BLK : ブロックサイズ指定 BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない ) • DTC : 転送回数レジスタ 送信データ長を設定する。 例 ) 1536 バイトの場合 , 1536/ ワード= 384 ⇒ DTC = 180H 6) 転送要求 DMACAn: STRG:転送要求 STRG = 1(DMA 起動要求 ) 6) の設定が最後の場合には , 1) ∼ 5) までの設定の順番は問いません。また , 5) と 6) の設定は同時でも構いません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 345 第 11 章 DMAC (DMA コントローラ ) 11.9 MB91402/403 シリーズ ■ MPU IF 送信 / 受信とも , DMA 制御信号を使用した転送 ( 受信のみフライバイ転送が可能 ) が可 能です。その場合は , DMAC の ch.1 を使用します。しかし , MPU IF の DMA 制御信号 は , 1 組 (ch.1) のため , 送信 / 受信どちらかのみの使用となります。したがって , 送信 / 受信ともに , DMA 転送を実施する場合は , 受信 DMA 転送を , DMA 制御信号を使用し た転送で実施し , 送信 DMA 転送に関しては , 別の DMA チャネルにて , ソフトウェア起 動による転送により実施します。 ● 受信 DMA 設定例 以下に , FR コアの DMAC(ch.1) を使用して , MPU IF 部の受信 FIFO から , 外部メモリ への DMA( フライバイモード ) 転送の設定例を示します。 1) 転送元アドレス設定 転送元アドレス設定レジスタ (DMASA1: DMASA) に MPU IF の RX データレジスタ (MIFRXDR) を設定する。 2) 転送先アドレス設定 転送先アドレス設定レジスタ (DMADA1: DMADA) に , 転送先アドレスを設定する。 3) DMA 動作許可 DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 ) を設定する。 4) DMAC コントロール / ステータスレジスタ B(DMACB1) を設定 以下に示した以外の設定は , 初期値を意味します。 • TYPE:転送タイプ設定 TYPE1, TYPE0 = 10B( フライバイ : I/O →メモリ転送 ) • MODE:転送モード設定 MOD1, MOD0 = 10B( デマンド転送モード ) • WS:転送データ幅選択 WS1, WS0 = 10B( ワード単位で転送 ) • DADM:転送先アドレスカウントモード指定 DADM = 0( 転送元アドレスは増加します ) ( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。 • リロードおよび割込み設定 必要に応じて設定してください。 • SASZ:転送元アドレスカウントサイズ指定 SASZ = 00H( 転送アドレス増減幅 :0) • DASZ:転送先アドレスカウントサイズ指定 DASZ = 04H( 転送アドレス増減幅 :4) ( 注意事項 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必 要です。 346 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 11 章 DMAC (DMA コントローラ ) 11.9 5) DMAC コントロール / ステータスレジスタ A(DMACA0) を設定 以下に示した以外の設定は , 初期値を意味します。 • DENB : DMA 動作許可ビット DENB = 1( 対応チャネル DMA 動作許可 ) • IS : 転送要因選択 IS4 ∼ IS0 = 01110B(DREQ "H" レベル ) • BLK : ブロックサイズ指定 BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない ) • DTC : 転送回数レジスタ 受信データ長を設定する。 例 ) 1536 バイトの場合 , 1536/ ワード= 384 ⇒ DTC = 180H 6) 転送要求 MPU IF 部の DMA イネーブルビット (MIFCR: RX_DMA_ENA) に "1" を書き込む。 5) の DENB(DMA 動作許可ビット ) の設定が最後の場合には上記の順番は問いません。 ● 送信 DMA 設定例 以下に , FR コアの DMAC を使用して , 外部メモリから MPU IF 部の送信 FIFO への DMA ( ソフトウェア起動 ) 転送の設定例を示します。 1) 転送元アドレス設定 転送元アドレス設定レジスタ (DMASAn: DMASA) に転送元アドレスを設定する。 2) 転送先アドレス設定 転送先アドレス設定レジスタ (DMADAn: DMADA) に , MPU IF の TX Data Register (MIFTXDR) を設定する。 3) DMA 動作許可 DMAC 全体動作許可レジスタ (DMACR: DMAE) に "1"( 全チャネル DMA 転送許可 ) を設定する。 4) DMAC コントロール / ステータスレジスタ B(DMACBn) を設定 以下に示した以外の設定は , 初期値を意味します。 • TYPE:転送タイプ設定 TYPE1, TYPE0 = 00B(2 サイクル転送 ) • MODE:転送モード設定 MOD1, MOD0 = 01B( バースト転送モード ) • WS:転送データ幅選択 WS1, WS0 = 10B( ワード単位で転送 ) • SADM:転送元アドレスカウントモード指定 SADM = 0( 転送元アドレスは増加します ) ( 注意事項 ) 転送先の外部メモリのデータ配置に応じた対応が必要です。 • リロードおよび割込み設定 使用に応じて設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 347 第 11 章 DMAC (DMA コントローラ ) 11.9 MB91402/403 シリーズ • SASZ:転送元アドレスカウントサイズ指定 SASZ = 04H( 転送アドレス増減幅 :4) ( 注意事項 ) 転送先の外部メモリまたは I/O に応じたアドレス増減幅の設定が必 要です。 • DASZ:転送先アドレスカウントサイズ指定 DASZ = 00H( 転送アドレス増減幅 :0) 5) DMAC コントロール / ステータスレジスタ A(DMACAn) を設定 以下に示した以外の設定は , 初期値を意味します。 • DENB : DMA 動作許可ビット DENB = 1( 対応チャネル DMA 動作許可 ) • IS : 転送要因選択 IS4 ∼ IS0 = 00000B( ソフトウェア転送要求にのみ有効 ) • BLK : ブロックサイズ指定 BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない ) • DTC : 転送回数レジスタ 送信データ長を設定する。 例 ) 1536 バイトの場合 , 1536/ ワード= 384 ⇒ DTC = 180H 6) 転送要求 DMACAn:STRG:転送要求 STRG = 1(DMA 起動要求 ) 6) の設定が最後の場合には , 1) ∼ 5) までの設定の順番は問いません。また , 5) と 6) の設定は同時でも構いません。 348 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ LAN コントローラの概要 , レジスタ , 動作 , パケッ トフィルタ , および SMI インタフェースについて 説明します。 12.1 LAN コントローラの概要 12.2 LAN コントローラのレジスタ 12.3 LAN コントローラの動作 12.4 パケットフィルタ 12.5 SMI インタフェース CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 349 第 12 章 LAN コントローラ 12.1 12.1 MB91402/403 シリーズ LAN コントローラの概要 IEEE802.3 規格に準拠した L3/4 フィルタリング機能内蔵の 10/100BASE-T トラン シーバを内蔵した Ethernet LAN コントローラです。 ■ LAN コントローラの主要機能 LAN コントローラには以下のような機能があります。 • パケットフィルタリング機能搭載 • L3/L4 のパケットフィルタリング機能により , CPU の負荷の軽減を可能とします。 • IEEE802.3 に準拠した 10/100M MAC • MII インタフェース ( 全二重 / 半二重 ) • PHY デバイス制御用 SMI インタフェース LAN を使用して外部とデータ通信を行うときに , 以下の動作をハードウェアで行い , CPU 負荷の軽減を実現します。 • 送信データを LAN のデータフォーマットに変換 /LAN のデータフォーマットから受 信データに変換。 • 複数パケットの連続送受信処理 ( バッファマネージャ ) 送信バッファ 1536 バイト / 受信バッファ 3072 バイト • エラーチェック • コリジョン ( 衝突 ) 発生時の再送信 ( ネットワーク管理 ) <注意事項> MB91402/403 シリーズで 100Mbps 通信を行うには , LAN コントローラの動作周波数 (FR の外部バス周波数 ) を 25 MHz より上に設定する必要があります。 350 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.1 MB91402/403 シリーズ ■ LAN コントローラのブロックダイヤグラム 図 12.1-1 LAN コントローラのブロックダイヤグラム FR CORE パソコン/携帯 電話による 遠隔操作 PLL UART 2チャネル RAM I-Cache 4Kバイト 8Kバイト DMAC INTC タイマ DSU 5ch インターネット MPU IF GPIO 内蔵RAM 64Kバイト SMI CM71-10131-1 EtherMAC -L3/L4 Filtering パソコン/家電 などの制御機器 I2C MII PHY 8/16 Memory controller 8/16 SRAM/ SDRAM FUJITSU MICROELECTRONICS LIMITED ROM/ FLASH 351 第 12 章 LAN コントローラ 12.1 MB91402/403 シリーズ ■ LAN コントローラの特長 ● FR コアインタフェース LAN コントローラの FR コアインタフェースには , FR コアとインタフェースをするた めのデータバスバッファがあります。 ● DMA リード動作 ( データ受信動作 ) DMAリード動作は, バッファメモリ内の受信データを外部メモリに転送する動作(デー タ受信動作 ) です。これにより , 一度の指示でデータを受け取ることができます。 ● バッファメモリマネージャ LAN インタフェースには , 通常データリンクコントローラと FR コアインタフェース の間に送受信データのバッファがあります。LAN コントローラには , このバッファメ モリを管理および制御する専用のハードウェア ( バッファメモリマネージャ ) と RAM が内蔵されています。 ● データリンクコントローラ データリンクコントローラ(DLC)は, IEEE802.3 CSMA/CD方式用10/100 MbpsのEthernet 規格に準拠した諸機能を実行します。 <データリンクコントローラの機能> • バッファ内の送信データを LAN のデータフォーマットに変換して送信する機能 • LAN のデータフォーマットをバッファ内の受信データに変換して受信する機能 • 送信時 , 衝突 ( コリジョン ) が発生して送信が失敗した場合 , 2 進指数バックオフア ルゴリズム法による再送信機能 • 自分のアドレス以外にも , 登録されているマルチキャストアドレスの場合にデータ を受信する機能 ( マルチキャストアドレスフィルタ機能 ) また , フィルタリング機能を実装していることで , 必要なデータだけを受け取ることが できます。 <フィルタリング機能> レイヤ 3/4 のフィルタリング機能 ( ハードウェアに実装 )。 ● ネットワーク管理機能 LAN コントローラの内部レジスタから , ネットワークの管理をすることができます。 結果ステータス情報では以下の情報を知ることができます。 • ネットワークへの送信動作が成功したか • 受信時に , CRC エラー, アライメントエラー( ビットサイズが 8 の整数倍でない ) な どが発生したか • 送信時に衝突 ( コリジョン ) 発生したか , またその回数 これによって , 送受信したデータのエラー情報を知ることができます。この情報を使用 しての処理は , 利用者が作成する必要があります。 ● マルチキャスト受信アドレスフィルタリング機能 デスティネーションアドレス 48 ビットの CRC を計算した下位 6 ビットを指定してフィ ルタリングする機能により , L3/L4 フィルタリングテーブルでフィルタリングする検索 範囲を狭くすることができ , 負荷を軽減することができます。 352 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.1 MB91402/403 シリーズ ■ LAN コントローラのブロックダイヤグラム 図 12.1-2 LAN コントローラのブロックダイヤグラム リクエスト データ 書込み 信号 データ 送信データ リンク コントローラ 書込み信号 制御信号 送信バッファ メモリ マネージャ データ ステータス バッファ情報 制御信号 制御信号 レジスタ ブロック データ FRコア インタ フェース データ エラー情報 割込み信号 データ フィルタリング 情報 読出し 信号 受信データ リンク コントローラ バッファ情報 制御信号 フィルタ リング ブロック バッファ 情報 読出し信号 データ 受信バッファ メモリ マネージャ SMIブロック ここでは , LAN コントローラの 6 つの機能ブロックについて説明します。 データリンクコントローラ部 IEEE802.3 規格で規定されたデータリンクレイヤの機能を実行します。送信時には バッファメモリから読み出した送信データにプリアンブル , CRC コードを付加して 出力します。また , コリジョン発生時には自動的にバックオフアルゴリズムを実行 して再送信を行います。 受信時には , 送られてくる受信パケットのアドレスの一致を確認し , エラーチェッ クの後 , プリアンブルと CRC を除去してパラレルデータに変換してバッファメモリ に書き込みます。また , データリンクコントローラ部にはマルチキャストアドレス フィルタ機能があり , 最大 64 グループのマルチキャストアドレスグループの認識を 行うことができます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 353 第 12 章 LAN コントローラ 12.1 MB91402/403 シリーズ バッファマネージャ部 送受信データをバッファリングするために RAM を内蔵しています ( 送信バッファ 1536 バイト , 受信バッファ 3072 バイト )。バッファメモリは 1 ポートの送信バッ ファと 2 ポートの受信バッファで , バッファマネージャにより FR コア側とネット ワーク側からのアクセスのアービトレーション , バッファポインタの更新などをす べて自動的に行います。また , 送信バッファにはパケットチェーン機能があり , 複 数パケット分の送信データを格納しておくと , 1 回の送信スタート指示により , 連続 してバッファ内のパケットを送信することができます。 FR コアインタフェース部 FR コアバスと接続するためのデータバスとバス制御信号の入出力を行います。ま た , バイトオーダを設定できます。 LAN コントローラにはデータリンクコントロールレジスタ , バッファメモリポート レジスタ , マルチキャストアドレスレジスタの三組のレジスタセットがあり , FR コ アインタフェースを通してアクセスすることができます。また , バッファメモリ ポートとFRコア間の受信データの転送は, DMA転送によって行うことができます。 レジスタブロック データリンクコントロールレジスタ , バッファメモリポートレジスタなどのレジス タ類をまとめています。アドレスにより個々のステータスを知ることができます。 また , 割込み信号も出力します。 フィルタブロック 従来 , CPU で実行されてきたパケット受信時に行うフィルタリング処理をハード ウェアに実装していることで , CPU の処理負荷を大幅に軽減することができます。 L3/L4 のフィルタリング機能を備えています。 SMI ブロック SMI I/F を介して PHY レジスタへの読出し・書込みを行うブロックです。PHY レジ スタから各種ステータス ( 半二重 / 全二重 , リンクステータス , 10/100 識別など ) 情 報を引き出すとともにデバイスの設定を行う際にも使用されます。 354 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2 LAN コントローラのレジスタ LAN コントローラのレジスタについて説明します。 ■ LAN コントローラのレジスタ一覧 表 12.2-1 レジスタ一覧 (1 / 2) アドレス レジスタ名 レジスタ略称 サイズ R/W 初期値 Data Link Control Register 0 DLCR0 8 ビット R/W 0-000000 0110_0001H Data Link Control Register 1 DLCR1 8 ビット R/W 00000000 0110_0002H Data Link Control Register 2 DLCR2 8 ビット R/W 00000000 0110_0003H Data Link Control Register 3 DLCR3 8 ビット R/W 00000000 0110_0004H Data Link Control Register 4 DLCR4 8 ビット R/W 00000010 0110_0005H Data Link Control Register 5 DLCR5 8 ビット R/W 01000001 0110_0006H Data Link Control Register 6 DLCR6 8 ビット R/W 10000000 0110_0007H Data Link Control Register 7 DLCR7 8 ビット R/W 00000000 0110_0008H Data Link Control Register 8 DLCR8 8 ビット R/W 00000000 0110_0009H Data Link Control Register 9 DLCR9 8 ビット R/W 00000000 0110_000AH Data Link Control Register A DLCR10 8 ビット R/W 00000000 0110_000BH Data Link Control Register B DLCR11 8 ビット R/W 00000000 0110_000CH Data Link Control Register C DLCR12 8 ビット R/W 00000000 0110_000DH Data Link Control Register D DLCR13 8 ビット R/W 00000000 0110_0008H Multicast Address Register 1 MAR8 8 ビット R/W 00000000 0110_0009H Multicast Address Register 2 MAR9 8 ビット R/W 00000000 0110_000AH Multicast Address Register 3 MAR10 8 ビット R/W 00000000 0110_000BH Multicast Address Register 4 MAR11 8 ビット R/W 00000000 0110_000CH Multicast Address Register 5 MAR12 8 ビット R/W 00000000 0110_000DH Multicast Address Register 6 MAR13 8 ビット R/W 00000000 0110_000EH Multicast Address Register 7 MAR14 8 ビット R/W 00000000 0110_000FH Multicast Address Register 8 MAR15 8 ビット R/W 00000000 0110_0010H Buffer Memory Port Register 8 BMPR8 32 ビット R/W 0110_000AH Buffer Memory Port Register 10 BMPR10 8 ビット R/W 00000000 − − − − 0110_000CH Buffer Memory Port Register 12 BMPR12 8 ビット R/W 00000000 0110_000EH Buffer Memory Port Register 14 BMPR14 8 ビット R/W 00000000 FL_CMD 16 ビット R/W BANK2 BANK1 BANK0 0110_0000H 0110_000BH 予約 0110_0014H Filter Command Register 0110_0018H Filter Status Register FL_STATUS 0110_001CH Filter Data Register FL_DATA CM71-10131-1 1 ビット R 32 ビット R/W FUJITSU MICROELECTRONICS LIMITED 00000000 00000000 00000000 00000000 00000000 ---0---0 XXXXXXX0 00000000 00000000 00000000 00000000 355 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 表 12.2-1 レジスタ一覧 (2 / 2) アドレス レジスタ名 レジスタ略称 サイズ R/W 初期値 FL_CONTROL 11 ビット R/W XXXXX00 XXXXXXXX0 FL_SUBNET 32 ビット R/W 11111111 11111111 11111111 11111111 SMI_CMD 16 ビット R/W 0--00000 ---00000 0110_0020H Filter mode Control Register 0110_0024H Filter Subnet Register 0110_0028H SMI Command Register 0110_002CH SMI Command Status Register 0110_0030H SMI Data Register 0110_0034H SMI Polling Register 0110_0038H SMI PHY Address Register SMI_PHY_ADD 5 ビット R/W XXX00000 0110_003CH SMI Control Register SMI_CONTROL 3 ビット R/W XXXXX111 0110_0040H SMI Status Register SMI_STATUS 5 ビット R XXXXXXXX 0110_0044H SMI Interrupt Enable Register SMI_INTENABLE 1 ビット R/W XXXXXXX0 0110_0048H SMI MDC Register SMI_MDCDIV 5 ビット R/W XXX01011 SMI_CMD_ST 2 ビット R XXXXXX00 SMI_DATA 16 ビット R/W 00000000 00000000 SMI_POLLINTVL 16 ビット R/W 00000000 00000000 レジスタバンクについて LAN コントローラが専有する I/O アドレス空間は 32 バイトで , バンク切換えによっ て各レジスタとI/Oアドレス空間とを切り換えてアクセスするようになっています。 レジスタバンクはレジスタバンクビット (DLCR7:RBNKn) により切り換えることが できます。 表 12.2-2 レジスタバンクビット (DLCR7:RBNKn) bit3 bit2 0 0 バンク 0(DLCR0 ∼ DLCR7, DLCR8 ∼ DLCR13 のレジスタセット ) を使用 0 1 バンク 1(DLCR0 ∼ DLCR7, MAR8 ∼ MAR15 のレジスタセット ) を 使用 1 − バンク 2(DLCR0 ∼ DLCR7, BMPR8 ∼ BMPR14 のレジスタセット ) を使用 モード <注意事項> バッファメモリポートレジスタ (BMPR8) とパケットフィルタ関連および SMI インタ フェースレジスタに関しては , ワードアクセスにのみ対応です。 356 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 12 章 LAN コントローラ 12.2 ■ レジスタ詳細 レジスタの各ビットへのアクセス制限を表す記号説明 [ 記号 ] R : 読出し可能 R0 : 常に "0" 読出し R1 : 常に "1" 読出し RX : 読出しは不定 W : 書込み可能 W0 : 常に "0" 書込み W1 : 常に "1" 書込み WX : 書込み無効 [ 組合せ ] "/" と "," R/W: 書き込んだデータを読み出せる R, W: 書込みと読出しでビットの意味が異なる [ リードモディファイライト (RMW) 系命令への対応 ] "(" ")" の利用 R(RM1)/W : 書込みした値を読出し可能 (RMW 時の読出しは常に "1") R(RM1), W: 読出し可能 (RMW 時は常に "1"), 書込み可能 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 357 第 12 章 LAN コントローラ 12.2 12.2.1 MB91402/403 シリーズ 送信ステータスレジスタ :DLCR0 データリンクコントローラの送信ステータスを表示するレジスタです。バイト / ハー フワードでアクセスしてください。 ■ 送信ステータスレジスタ (DLCR0) のビット構成 図 12.2-1 送信ステータスレジスタ (DLCR0) のビット構成 アドレス 0110 0000H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − 0 R0/WX TMT OK NET BSY − − LTE COL COL RETRY OVER 0 R, W X R/WX 0 R0/WX 0 R0/WX 0 R, W 0 R, W 0 R, W 初期値 属性 R/WX :読出し可能 , 書込み無効 R0/WX :常に "0" 読出し , 書込み無効 R, W : 書込みと読出しでビットの意味が異なる − :未定義ビット X :不定値 [bit7] TMT OK : 送信 O.K TMT OK 読出し動作 書込み動作 0 本ビットがクリアされた 影響なし 1 送信バッファ内の全パケット送信を完了 本ビットをクリア パケットレディビットが "1" の場合 , 送信バッファ内の全パケットの送信を完了す ると自動的に "1" がセットされ , クリアされるまで保持します。 [bit6] NET BSY : ネットビジー NET BSY 読出し動作 0 ネットワークが空きである ( キャリアが検出されない ) 1 ネットワークが使用中である ( キャリアが検出されている ) [bit5, bit4] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit3] LTE COL : レイトコリジョン LTE COL 358 読出し動作 書込み動作 0 レイトコリジョンなし 影響なし 1 レイトコリジョンが起きた 本ビットをクリア FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit2] COL : コリジョンエラー COL 読出し動作 書込み動作 0 コリジョンエラーなし 影響なし 1 パケット送信中にネットワーク上でパケットの 衝突 ( コリジョン ) が発生した 本ビットをクリア コリジョンエラービットが "1" の場合 , 16 回までの衝突はデータリンクコントロー ラが自動的に再送信を行います。発生した衝突回数はコリジョンカウントビット (DLCR4: COLn) を読み出すことにより知ることができます。 [bit1] RETRY OVER : リトライオーバ RETRY OVER 読出し動作 書込み動作 0 16 回コリジョンエラーなし 影響なし 1 パケット送信中にコリジョンが続いて 16 回発生した 本ビットをクリア [bit0] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 bit7, bit3∼bit0のステータスビットはDLCR2の対応するビットをセットしておくと, ビットセットにより FR コアの外部割込み -INT をアサートします。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 359 第 12 章 LAN コントローラ 12.2 12.2.2 MB91402/403 シリーズ 受信ステータスレジスタ :DLCR1 データリンクコントローラの受信ステータスを表示するレジスタです。バイト / ハー フワードでアクセスしてください。 ■ 受信ステータスレジスタ (DLCR1) のビット構成 図 12.2-2 受信ステータスレジスタ (DLCR1) のビット構成 アドレス 0110 0001H bit7 bit6 PKT RDY 0 R, W bit5 RX ERR FIL DROP 0 R, W 0 R, W bit4 bit3 RX LNGPKT RX SRTPKT 0 R, W 0 R, W bit2 bit1 bit0 ALG ERR CRC ERR OVRFLO 0 R, W 0 R, W 0 R, W 初期値 属性 R, W : 書込みと読出しでビットの意味が異なる [bit7] PKT RDY : パケットレディ PKT RDY 読出し動作 書込み動作 0 受信バッファ内に受信されたパケットが 影響なし 存在しない 1 受信バッファへの転送が完了 本ビットをクリア • パケットレディビットが "1" の場合 , 自局あてのパケットを正常に受信し , 受信 バッファへの転送が完了したことを示します。すなわち , 受信バッファ内に少な くとも 1 パケットの受信データがあることを示します。 • パケットレディビットを "1" にすると , 本ビットをクリアします。しかし , ホス ト側が受信バッファより 1 パケット分の受信データを読み出した後も , まだ受信 バッファ内に受信したパケットが残っている場合には本ビットは自動的に再 セットされます。 [bit6] RX ERR : 通信エラー RX ERR 読出し動作 書込み動作 0 通信エラーなし 影響なし 1 通信エラーあり 本ビットをクリア [bit5] FIL DROP : フィルタリング Drop FIL DROP 360 読出し動作 書込み動作 0 フィルタリング機能によるパケットの Drop なし 影響なし 1 フィルタリング機能でパケットが Drop された 本ビットをクリア FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit4] RX LNG PKT : ロングパケット RX LNG PKT 読出し動作 書込み動作 0 ロングパケットエラーなし 影響なし 1 ロングパケットエラーあり 本ビットをクリア ロングパケットビットが "1" の場合 , 受信したパケットのデータ長 ( アドレス+デー タ長+データ本体 ) が規定の最大データ長 (1514 バイト ) を超えることを示します。 [bit3] RX SRT PKT : ショートパケット RX SRT PKT 読出し動作 書込み動作 0 ショートパケットエラーなし 影響なし 1 ショートパケットエラーあり 本ビットをクリア ショートパケットビットが "1" の場合 , 受信したパケットのデータ長 ( アドレス+ データ長+データ本体 ) が規定の最小データ長 (60 バイト ) に満たないことを示し ます。イネーブルショートパケット受信ビット [DLCR5:bit3] がセットされている場 合には 16 バイト未満の場合にセットされます。 [bit2] ALG ERR : アライメントエラー ALG ERR 読出し動作 書込み動作 0 アライメントエラーなし 影響なし 1 アライメントエラーあり 本ビットをクリア アライメントエラービットが "1" の場合 , 受信したパケットの CRC が正しくなく , かつ受信したデータのビット数が 8 の倍数でないことを示します。 [bit1] CRC ERR : CRC エラー CRC ERR CM71-10131-1 読出し動作 書込み動作 0 CRC エラーなし 影響なし 1 受信したパケットの CRC が正しくない 本ビットをクリア FUJITSU MICROELECTRONICS LIMITED 361 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit0] OVRFLO : オーバフローエラー OVRFLO 読出し動作 書込み動作 0 オーバフローエラーなし 影響なし 1 オーバフローエラーあり 本ビットをクリア オーバフローエラービットが "1" の場合 , 受信したパケットのデータ長が受信バッ ファメモリの空き容量よりも大きかったため , 消去されたことを示します。本ビッ トがセットされても次のパケットがバッファメモリの空き容量よりも小さかった 場合は正常に受信されます。本ビットがセットされた場合には受信バッファメモリ がほぼいっぱいの状態であることを示しており , バッファ内のデータを至急ホスト システム側へ転送してください。 bit7 ∼ bit0 のステータスビットは DLCR3 の対応するビットをセットしておくと , ビッ トセットにより FR コアの外部割込み -INT をアサートします。 ■ 受信ステータスレジスタ :DLCR1 の補足説明 ● ショートパケットビット [DLCR1:bit3] RX SRT PKT ビットは , 以下の条件でセットされます。 表 12.2-3 RX SRT PKT ビットのセット条件 R(K) < 20 バイト 20 バイト <= R(K)< 最小データ長 *2 RX SRT PKT ビット セットされる *1 セットされる *1 R(K)>= 最小データ長 *2 セットされない *1: コリジョンエラー時 ( 時局が送信したパケットが起こしたコリジョン ) により送信側データの キャリアドロップが起こったときには RX SRT PKT ビットはセットされません。 *2: 最小データ長は , DLCR5<ENA SRT PKT> =0 のとき → 64 バイトとなります。 DLCR5<ENA SRT PKT> =1 のとき → 24 バイトとなります。 R(K)>= 最小データ長の場合にのみ CRC エラーのチェックを行います。 362 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2.3 送信割込みイネーブルレジスタ :DLCR2 送信割込みを許可するレジスタです。バイト / ハーフワードでアクセスしてくださ い。 ■ 送信割込みイネーブルレジスタ (DLCR2) のビット構成 図 12.2-3 送信割込みイネーブルレジスタ (DLCR2) のビット構成 アドレス 0110 0002H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − 0 R/W ENA TMT OK − − − ENA LTE COL ENA COL ENA RETRY OVER 0 R/W 0 R0, WX 0 R0, WX 0 R0, WX 0 R/W 0 R/W 0 R/W 初期値 属性 R/W :リード / ライト可能 R0/WX :常に "0" 読出し , 書込み無効 − :未定義ビット [bit7] ENA TMT OK : 送信 O.K 割込み発生許可 ENA TMT OK モード 0 TMT OK 割込み発生禁止 1 TMT OK 割込み発生許可 [bit6 ∼ bit4] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit3] ENA LTE COL : レイトコリジョン 割込み発生許可 ENA LTE COL モード 0 LTE COL 割込み発生禁止 1 LTE COL 割込み発生許可 [bit2] ENA COL : コリジョンエラー 割込み発生許可 ENA COL モード 0 COL 割込み発生禁止 1 COL 割込み発生許可 [bit1] ENA RETRY OVER : リトライオーバ 割込み発生許可 ENA RETRY OVER CM71-10131-1 モード 0 RETRY OVER 割込み発生禁止 1 RETRY OVER 割込み発生許可 FUJITSU MICROELECTRONICS LIMITED 363 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit0] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 DLCR0 のステータスビットと対応するビットを "1" にセットすることにより , ステー タスビットセット時に FR コアの外部割込み INT0 をアサートします。 364 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2.4 受信割込みイネーブルレジスタ :DLCR3 受信割込みを許可するレジスタです。バイト / ハーフワードでアクセスしてくださ い。 ■ 受信割込みイネーブルレジスタ (DLCR3) のビット構成 図 12.2-4 受信割込みイネーブルレジスタ (DLCR3) のビット構成 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0110 0003H ENA PKT RDY ENA RX ERR ENA FIL DROP ENA RX LNG PKT ENA RX SRT PKT ENA ALG ERR ENA CRC ERR ENA OVRFLO 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 R/W : リード / ライト可能 [bit7] ENA PKT RDY : パケットレディ割込み発生許可 ENA PKT RDY モード 0 PKT RDY 割込み発生禁止 1 PKT RDY 割込み発生許可 [bit6] ENA RX ERR : 通信エラー割込み発生許可 ENA RX ERR モード 0 RX ERR 割込み発生禁止 1 RX ERR 割込み発生許可 [bit5] ENA FIL DROP : フィルタリングドロップ割込み発生許可 ENA FIL DROP モード 0 FIL DROP 割込み発生禁止 1 FIL DROP 割込み発生許可 [bit4] ENA RX LNG PKT : ロングパケット割込み発生許可 ENA RX LNG PKT CM71-10131-1 モード 0 RX LNG PKT 割込み発生禁止 1 RX LNG PKT 割込み発生許可 FUJITSU MICROELECTRONICS LIMITED 365 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit3] ENA RX SRT PKT : ショートパケット割込み発生許可 ENA RX SRT PKT モード 0 RX SRT PKT 割込み発生禁止 1 RX SRT PKT 割込み発生許可 [bit2] ENA ALG ERR : アライメントエラー割込み発生許可 ENA ALG ERR モード 0 ALG ERR 割込み発生禁止 1 ALG ERR 割込み発生許可 [bit1] ENA CRC ERR : CRC エラー割込み発生許可 ENA CRC ERR モード 0 CRC ERR 割込み発生禁止 1 CRC ERR 割込み発生許可 [bit0] ENA OVRFLO : オーバフロー割込み発生許可 ENA OVRFLO モード 0 OVRFLO 割込み発生禁止 1 OVRFLO 割込み発生許可 DLCR1 のステータスビットと対応するビットを "1" にセットすることにより , ステー タスビットセット時に FR コアの外部割込み INT0 をアサートします。 366 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2.5 送信モードレジスタ :DLCR4 送信部の動作モードの設定とコリジョン発生回数を表示するレジスタです。 ■ 送信モードレジスタ (DLCR4) のビット構成 図 12.2-5 送信モードレジスタ (DLCR4) のビット構成 アドレス bit7 bit6 bit5 bit4 0110 0004H COL3 0 R COL2 0 R COL1 0 R COL0 0 R bit3 − 0 R0, WX bit2 bit1 bit0 − 0 R0, WX LBC 1 R/W − 0 R0, WX 初期値 属性 R/W : リード / ライト可能 R0,WX :常に "0" 読出し , 書込み無効 R :リードオンリ − :未定義ビット [bit7 ∼ bit4] COL3 ∼ COL0 : コリジョンカウント 送信完了までに発生したコリジョンの回数を表示します。送信完了時にクリアされ ます。 [bit3, bit2] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit1] LBC : ループバックコントロール LBC 読出し動作 / 書込み動作 0 ループバックモード 1 通常の送受信動作 ループバック動作中も外部にデータは出力されます。 [bit0]: 未定義 書込みによる動作への影響はありません。読出し値は常に "0" です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 367 第 12 章 LAN コントローラ 12.2 12.2.6 MB91402/403 シリーズ 受信モードレジスタ :DLCR5 受信部の動作モードの設定と受信バッファメモリの状態を表示するレジスタです。 バイト / ハーフワードでアクセスしてください。 ■ 受信モードレジスタ (DLCR5) のビット構成 図 12.2-6 受信モードレジスタ (DLCR5) のビット構成 アドレス 0110 0005H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − AM1 AM0 0 R0, WX 0 R/W 1 R/W − BUF EMP − − ENA SRT PKT 0 R0, WX 1 R, WX 0 R0, WX 0 R0, WX 0 R/W 初期値 属性 R/W : リード / ライト可能 R,WX :読出し可能 , 書込み無効 R0,WX :常に "0" 読出し , 書込み無効 − :未定義ビット [bit7] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit6] BUF EMP : バッファエンプティ BUF EMP 読出し動作 0 受信バッファメモリ内に有効なデータが残っている 1 受信バッファメモリ内に有効なデータがない [bit5, bit4] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit3] ENA SRT PKT : イネーブルショートパケット受信 368 ENA SRT PKT 読出し動作 / 書込み動作 0 データ長 ( アドレス+データ長+データ本体 ) 60 バイト以上 1514 バイト以下のパケットを受信 1 データ長 ( アドレス+データ長+データ本体 ) 16 バイト以上 1514 バイト以下のパケットを受信 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit2]: ( イネーブルリモートリセット ) 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit1, bit0] AM1, AM0 : アドレスマッチモード 表 12.2-4 アドレスマッチモードの設定 CM71-10131-1 AM1 AM0 0 0 0 1 1 0 フィジカルアドレス , ブロードキャストアドレス , マルチキャストア ドレスで , かつマルチキャストアドレスレジスタで選択されたパケッ トを受信 1 1 デスティネーションアドレスにかかわらず , すべてのパケットを受信 アドレス一致検出モード パケットの受信を行いません。すべての受信パケットをアドレス不 一致としてリジェクト FUJITSU MICROELECTRONICS LIMITED 369 第 12 章 LAN コントローラ 12.2 12.2.7 MB91402/403 シリーズ コントロールレジスタ 1:DLCR6 LAN コントローラの送受信動作開始を設定するレジスタです。バイト / ハーフワー ドでアクセスしてください。 ■ コントロールレジスタ 1 (DLCR6) のビット構成 図 12.2-7 コントロールレジスタ 1 (DLCR6) のビット構成 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0110 0006H ENA DLC − 0 R0, WX − 0 R0, WX − 0 R0, WX − 0 R0, WX − 0 R0, WX − 0 R0, WX − 0 R0, WX 1 R/W 初期値 属性 R/W : リード / ライト可能 R0,WX :常に "0" 読出し , 書込み無効 − :未定義ビット [bit7] ENA DLC : イネーブルデータリンクコントローラ ENA DLC 読出し動作 / 書込み動作 0 LAN コントローラは送受信動作可能な状態 1 LAN コントローラは送受信動作不可能な状態 本ビットが "0" のときにはノード ID レジスタとフィルタテーブルにアクセスする ことを禁止します。 [bit6 ∼ bit0] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 370 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2.8 コントロールレジスタ 2:DLCR7 LAN コントローラの各動作モードを設定するレジスタです。バイト / ハーフワード でアクセスしてください。 ■ コントロールレジスタ 2 (DLCR7) のビット構成 図 12.2-8 コントロールレジスタ 2 (DLCR7) のビット構成 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0110 0007H − − − − RBNK1 RBNK0 − BYTE SWAP 0 R0, WX 0 R0, WX 0 R0, WX 0 R0, WX 0 R/W 0 R/W 0 R0, WX 0 R/W 初期値 属性 R/W : リード / ライト可能 R0,WX :常に "0" 読出し , 書込み無効 − :未定義ビット [bit7 ∼ bit4] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit3, bit2] RBNK1, RBNK0 : レジスタバンク RBNK1 RBNK0 0 0 バンク 0(DLCR0 ∼ DLCR7, DLCR8 ∼ DLCR15) のレジスタ セットを使用 0 1 バンク 1(DLCR0 ∼ DLCR7, MAR8 ∼ MAR15) のレジスタセッ トを使用 1 − バンク 2(DLCR0 ∼ DLCR7, BMPR10 ∼ BMPR14) のレジスタ セットを使用 モード • LAN コントローラには 3 種類の内部レジスタセットがあり , FR コア側からは本 ビットによりバンク切換えをすることにより各レジスタセットをアクセスする ことができます。 • DLCR0 ∼ DLCR7 と BMPR8 はレジスタバンクにかかわらず常にアクセスできま す。 [bit1] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 371 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ [bit0] BYTE SWAP : バイトスワップ BYTE SWAP モード 0 BMPR8 へのアクセスに対してバイトスワップを行いません ( リトルエンデュアル ) 1 BMPR8 へのアクセスに対してバイトスワップを行い , 上位と下位の データを入れ替えます ( ビックコンディアン ) BMPR8 以外のレジスタアクセスは本ビットをセットしてもバイトスワップされま せん。 372 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ ノード ID レジスタ 1 ∼ 6:DLCR8 ∼ DLCR13 12.2.9 自局のノード ID を格納しておくレジスタです。バイト / ハーフワードでアクセスし てください。 ■ ノード ID レジスタ 1 ∼ 6 (DLCR8 ∼ DLCR13) のビット構成 図 12.2-9 ノード ID レジスタ 1 ∼ 6 (DLCR8 ∼ DLCR13) のビット構成 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DLCR8 ch.8 0110 0008H ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 DLCR9 ch.9 0110 0009H ID15 ID14 ID13 ID12 ID11 ID10 ID9 ID8 DLCR10 ch.10 0110 000AH ID23 ID22 ID21 ID20 ID19 ID18 ID17 ID16 DLCR11 ch.11 0110 000BH ID31 ID30 ID29 ID28 ID27 ID26 ID25 ID24 DLCR12 ch.12 0110 000CH ID39 ID38 ID37 ID36 ID35 ID34 ID33 ID32 DLCR13 ch.13 0110 000DH ID47 ID46 ID45 ID44 ID43 ID42 ID41 ID40 0 0 0 0 0 0 0 0 初期値 R/W R/W R/W R/W R/W R/W R/W R/W 属性 R/W : リード / ライト可能 • 自局のノード ID を格納しておくレジスタです • DLCR8 ∼ DLCR13 は自局のノード ID を格納しておくレジスタです。受信パケット 内のデスティネーションアドレスと本レジスタの値を比較し , 一致したパケットを アドレスマッチモードビット (DLCR5:AMn) の設定に従って受信します。 • DLCR8 がノード ID の LSB になり , DLCR13 がノード ID の MSB になります。 • Ethernet では , デスティネーションアドレスは , LSB 側から送出されます。 • イネーブルデータリンクコントローラビット (DLCR6 : ENA DLC) が "1" のときにの み読出し / 書出し可能です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 373 第 12 章 LAN コントローラ 12.2 12.2.10 MB91402/403 シリーズ マルチキャストアドレスレジスタ 1 ∼ 8:MAR8 ∼ MAR15 アドレスマッチモードビット [DLCR5:bit1, bit0] を "1", "0" に設定した場合に受信 するマルチキャストアドレスパケットを選択するレジスタです。 ■ マルチキャストアドレスレジスタ 1 ∼ 8 (MAR8 ∼ MAR15) のビット構成 図 12.2-10 マルチキャストアドレスレジスタ 1 ∼ 8 (MAR8 ∼ MAR15) のビット構成 ch.8 ch.9 ch.10 ch.11 ch.12 ch.13 ch.14 ch.15 0110 0008H 0110 0009H 0110 000AH 0110 000BH 0110 000CH 0110 000DH 0110 000EH 0110 000FH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MID7 MID15 MID23 MID31 MID39 MID47 MID55 MID63 0 R/W MID6 MID14 MID22 MID30 MID38 MID46 MID54 MID62 0 R/W MID5 MID13 MID21 MID29 MID37 MID45 MID53 MID61 0 R/W MID4 MID12 MID20 MID28 MID36 MID44 MID52 MID60 0 R/W MID3 MID11 MID19 MID27 MID35 MID43 MID51 MID59 0 R/W MID2 MID10 MID18 MID26 MID34 MID42 MID50 MID58 0 R/W MID1 MID9 MID17 MID25 MID33 MID41 MID49 MID57 0 R/W MID0 MID8 MID16 MID24 MID32 MID40 MID48 MID56 0 R/W 初期値 属性 • アドレスマッチモードビット (DLCR5.AMn) を "1", "0" に設定した場合に受信するマ ルチキャストアドレスパケットを選択するレジスタです。 • マルチキャストアドレスは 32 ビットの CRC 回路に入力され , 計算された CRC の下 位 6 ビットにより 64 個のグループにグルーピングされます。MIDxx の xx 部分が CRC の下位 6 ビットの数字に対応しており , MID0 に "1" をセットすると CRC の下 位 6 ビット "000000B" のパケットが有効 , MID63 に "1" をセットすると CRC の下位 6 ビット "111111B" のパケットが有効となります。 • イネーブルデータリンクコントローラビット (DLCR6.-ENA DLC) が "1" のときにの み読出し / 書出し可能です。 マルチキャストの動作 本機能は受信したパケットのデスティネーションアドレスの先頭ビットが "1" の場 合は CRC 回路によりデスティネーションアドレス 48 ビットの CRC が計算され , 下 位 6 ビットが内部にラッチされます。そして , この 6 ビットの値とマルチキャスト アドレスレジスタとが比較され , 対応するマルチキャストレジスタのビットがセッ トされている場合にはそのマルチキャストパケットは受信され , セットされていな い場合には破棄されます。これにより , すべてのマルチキャストアドレスは 64 個に グループ分けされ , 任意のグループのマルチキャストパケットのみを受信すること ができます。マルチキャストアドレスレジスタの全ビットが "0" の場合にはマルチ キャストアドレスパケットを受信できません。また , 逆に全ビット "1" にセットし た場合にはすべてのマルチキャストアドレスパケットを受信します。 374 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 12 章 LAN コントローラ 12.2 • マルチキャストアドレス機能の CRC の生成多項式はパケットの最後に付加され る 32 ビットの CRC と同一です。 G(x) = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1 デスティネーションアドレスの全ビットが "1" の場合にはブロードキャストアド レスパケットなのでマルチキャストアドレスとは関係なく受信されます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 375 第 12 章 LAN コントローラ 12.2 12.2.11 MB91402/403 シリーズ バッファメモリポートレジスタ :BMPR8 FR コアとバッファメモリ間で送受信データの転送を行うためのデータポートです。 バイト / ハーフワードでアクセスしてください。 ■ バッファメモリポートレジスタ (BMPR8) のビット構成 図 12.2-11 バッファメモリポートレジスタ (BMPR8) のビット構成 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0110 0010H BMP7 BMP15 BMP23 BMP31 0 R/W BMP6 BMP14 BMP22 BMP30 0 R/W BMP5 BMP13 BMP21 BMP29 0 R/W BMP4 BMP12 BMP20 BMP28 0 R/W BMP3 BMP11 BMP19 BMP27 0 R/W BMP2 BMP10 BMP18 BMP26 0 R/W BMP1 BMP9 BMP17 BMP25 0 R/W BMP0 BMP8 BMP16 BMP24 0 R/W 初期値 属性 R/W : リード / ライト可能 • FR コアとバッファメモリ間で送受信データの転送を行うためのデータポートです。 本レジスタはワードアクセスしかできません。 • バイトスワップビット (DLCR7.BYTE SWAP) をセットすることにより本レジスタの MSB, LSB のバイトオーダを入れ替えることができます。 376 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2.12 送信パケット数レジスタ :BMPR10 送信開始ビットと送信パケット数を設定するレジスタです。バイト / ハーフワードで アクセスしてください。 ■ 送信パケット数レジスタ (BMPR10) のビット構成 図 12.2-12 送信パケット数レジスタ (BMPR10) のビット構成 アドレス 0110 000AH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 TMST TX PKT CNT 6 TX PKT CNT 5 TX PKT CNT 4 TX PKT CNT 3 TX PKT CNT 2 TX PKT CNT 1 TX PKT CNT 0 0 R0/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 R/W : リード / ライト可能 R0/W :常に "0" 読出し , 書込み可能 [bit7] TMST : 送信スタートビット TMST 書込み動作 0 影響なし 1 パケットの送信を起動 送信パケットを FR コアから送信バッファに転送後セットしてください。 [bit6 ∼ bit0] TX PKT CNT 6 ∼ TX PKT CNT 0 : 送信パケット数 • 送信開始後 , 1 パケット送信が完了するごとにデクリメントされ , 現在まだ送信 していないパケット数を表示します。全パケットの送信が完了すると "00H" にな ります。 • LAN コントローラは 1 回の送信コマンドで複数のパケット送信を起動すること ができます。本レジスタには TMST ビットセットと同時に送信パケット数 ( バッ ファメモリに転送したパケット数 ) を書き込んでください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 377 第 12 章 LAN コントローラ 12.2 12.2.13 MB91402/403 シリーズ DMA イネーブルレジスタ :BMPR12 FR コアと LAN コントローラ間の DMA 転送を制御するレジスタです。バイト / ハー フワードでアクセスしてください。 ■ DMA イネーブルレジスタ (BMPR12) のビット構成 図 12.2-13 DMA イネーブルレジスタ (BMPR12) のビット構成 アドレス 0110 000CH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − 0 R0, WX − − − − − − DMA RENA 0 R0, WX 0 R0, WX 0 R0, WX 0 R0, WX 0 R0, WX 0 R0, WX 0 R/W 初期値 属性 R/W : リード / ライト可能 R0,WX :常に "0" 読出し , 書込み無効 − :未定義ビット [bit7 ∼ bit2] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit1] DMA RENA : DMA RENA 書込み動作 0 DMA 読出し動作禁止 1 DMA 読出し ( 受信バッファの読出し ) 動作許可 [bit0]: 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 378 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.2 MB91402/403 シリーズ 12.2.14 受信バッファポインタコントロールレジスタ :BMPR14 FR コアと LAN コントローラ間の DMA 転送を制御するレジスタです。バイト / ハー フワードでアクセスしてください。 ■ 受信バッファポインタコントロールレジスタ (BMPR14) のビット構成 図 12.2-14 受信バッファポインタコントロールレジスタ (BMPR14) のビット構成 アドレス 0110 000EH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − 0 R0, WX 0 R0, WX − − − − − SKI PRX PKT 0 R0, WX 0 R0, WX 0 R0, WX 0 R0, WX 0 R0, WX 0 R/W 初期値 属性 R/W : リード / ライト可能 R0,WX :常に "0" 読出し , 書込み無効 − :未定義ビット [bit7 ∼ bit3] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 [bit2] SKI PRX PKT : 受信バッファポインタスキップ SKI PRX PKT 読出し動作 書込み動作 0 受信バッファポインタスキップ 完了 影響なし , 受信バッファポインタ はスキップされません。 1 受信バッファポインタスキップ 中 ( 更新中 ) 受信バッファポインタを次のパ ケットの先頭までスキップ • 受信バッファポインタスキップビットが "1" の場合 , 本ビットに "1" を書き込ん でから , ポインタのスキップが完了するまでのトランジェント状態であることを 示します。 • 受信バッファポインタスキップビットを "1" にすると , スキップ動作完了時に本 ビットは自動的にクリアされます。また , スキップしようとしたパケットが受信 バッファ内の最後のパケットの場合には , 受信バッファポインタをスキップ後 , バッファエンプティビット (DLCR5.BUF EMP) をセットします。 [bit1, bit0] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は常に "0" です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 379 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ LAN コントローラの動作 12.3 LAN コントローラの動作について説明します。 ■ バッファメモリについて 図 12.3-1 バッファメモリについて 自動的に行われる処理 ・パラレルデータから シリアルデータへ変換 ・64ビットのプリアンブル コードの生成付加 ・32ビットのCRC コード の生成付加 ・LANに出力 バッファメモリマネージャ (ハード処理) データリンク コントローラ (ハード処理) 送信バッファメモリ (1536バイト) パケット長 パケット長 送信データパケット n パケット長 送信データパケット n+1 パケット長 送信データパケット n+2 空き容量 次の送信データ パケットが格納される メモリ 受信バッファメモリ (3072バイト) L A N パケット長 受信データパケット n パケット長 自動的に行われる処理 ・シリアルデータからパラ レルデータへ変換 ・アドレスの比較 ・32ビットのCRCコードの チェック,除去 ・64ビットのプリアンブル の除去 ・受信バッファに転送 受信データパケット n+1 バッファメモリ ポートレジスタ (BNPR8) パケット長 受信データパケット n+2 DMA←→FR パケット長 受信データパケット n+3 空き容量 次の受信データ パケットが格納される LAN ←→バッファメモリの転送については , ハードで処理するため , 利用者はレジスタ←→バッファメモリレジスタ間の送信 , 受信を行います。 380 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ ■ 受信データパケットのフォーマット 図 12.3-2 受信データパケットのフォーマット bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 パケット長 デスティネーションアドレス ( 上位 4 バイト ) デスティネーションアドレス ( 下位 2 バイト ) ソースアドレス ( 上位 2 バイト ) ソースアドレス ( 下位 4 バイト ) 長さ / タイプ データ本体 データ本体 中略 データ本体 CRC ■ パケット長のフォーマット (4 バイト ) 図 12.3-3 パケット長のフォーマット (4 バイト ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 パケット長 11 ビット • パケット長は 11 ビットで表されるため , 先頭の 2 バイトと 3 バイト目の上位 5 ビッ トには "0" を書き込んでください。 • 送信時 : パケット長には , アドレス+データ長+データ本体のデータ長を書き込ん でください。 • 受信時 : 各受信データの先頭に 4 バイトのデータ長 ( アドレス+データ長+データ 本体 ) 情報が書き込まれます。 ■ パケットのフォーマット 図 12.3-4 パケットのフォーマット スタートフレームデリミタ デスティネー プリアン ションアドレス ブル 7バイト 1 6バイト バイト ソース アドレス 6バイト 長さ/タイプ *1 2バイト データ本体 CRC 46バイト~ 4バイト 1500バイト 1バイト=8ビット IEEE802.3パケットフォーマット 送信データ*2 送信パケット 受信パケット 受信データ*3 *1 : データ本体の長さ / タイプを設定するフィールドです。LAN コントローラの動作上ではこの値には意味 がありません。 *2 : 送信データの先頭にはこの送信データのバイト数情報を付加して , 送信バッファへ転送してください。 *3 : 受信ステータス内のデータ長には , この受信データのバイト数がセットされます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 381 第 12 章 LAN コントローラ 12.3 12.3.1 MB91402/403 シリーズ 送信フロー ( ホスト→バッファメモリ ) 送信フロー ( ホスト→バッファメモリ ) について説明します。 ■ メイン処理 図 12.3-5 メイン処理 1. ステータスのクリア 2. メモリ(RAM)上に,送信データを組み立てる ・デスティネーションアドレス ・ソースアドレス ・データ長 ・データ本体 3. LANコントローラの動作モードの設定 4. バッファ上に組み立てた送信データを置く (プログラムによる転送/DMA転送) 5. 送信OK割込み発生を許可する (送信が終了すると割込み発生) 6. 送信パケット数をレジスタに書き込む (送信スタート) 7. ハードで自動的に付加 ・プリアンブル ・スタートフレームデリミタ ・CRC 送信 バッファ内の全パケット が送信を完了したか (ハード処理) YES NO 382 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ 図 12.3-6 割込み TMT OK ERROR 割込み開始 8. 割込み開始 各種ステータスの クリア(送信OK ステータスなど) エラー処理 9. 割込み禁止にする 10. RETI(復帰) 上位のネットワーク プロトコルに 送信完了を通知する RETI(復帰) ● 手順 【パケット送信】 メイン処理 1. 各ステータスのクリア ①送信ステータスレジスタ (DLCR0) の設定:設定値 8AH 表 12.3-1 送信ステータスレジスタ (DLCR0) の設定 ビット 値 DLCR0 の位置 TMT OK 1 bit7 LTE COL 1 bit3 RETRY OVER 1 bit1 ②ループバックコントロールビット (DLCR4 : LBC) に "1"( 通常の送受信動作 ) を書 き込む。 2. メモリ (RAM) 上に送信データを組み立てる ①デスティネーションアドレス ②ソースアドレス ③長さ / タイプ ④データ本体の設定 ( 注意事項 ) 送信データ長が 4 バイトで割り切れない場合には送信データの最後 にダミーデータを付加する。 図 12.3-7 メモリへの送信データの置き方 スタートフレームデリミタ デスティネー プリアン ションアドレス ブル 7バイト 1 6バイト バイト CM71-10131-1 ソース アドレス 6バイト 長さ/タイプ 2バイト データ本体 CRC 46バイト~ 4バイト 1500バイト FUJITSU MICROELECTRONICS LIMITED 383 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ 3.LAN コントローラの動作モードの設定 表 12.3-2 コントロールレジスタ 2(DLCR7) の設定 ビット 値 DLCR7 の位置 RBNK1 1( バンク 2 を選択 ) bit3 RBNK0 1( バンク 2 を選択 ) bit2 BYTE SWAP 使用に応じてバイトスワップを設定 bit0 4. 外部メモリからバッファ上に送信データを置くための DMA 転送を行う。 DMA 設定 ( 送信例 ) FR コアの DMAC に下記の設定を行います。 ①転送元アドレス設定: 転送元アドレス設定レジスタ (DMASAn : DMASA) に転送元アドレスを設定する。 ②転送先アドレス設定: 転送先アドレス設定レジスタ (DMADAn : DMADA) に , MAC のバッファメモリ ポートレジスタ (BMPR8) を設定する。 ③ DMA 動作許可: DMAC 全体動作許可レジスタ (DMACR : DMAE) に "1"( 全チャネル DMA 転送許 可 ) を設定する。 ④ DMAC コントロール / ステータスレジスタ B(DMACBn) 設定: 以下に示した以外の設定は , 初期値を意味します。 • TYPE:転送タイプ設定 TYPE1, TYPE0 = 00B(2 サイクル転送 ) • MODE:転送モード設定 MOD1, MOD0 = 01B( バースト転送モード ) • WS:転送データ幅選択 WS1, WS0 = 10B( ワード単位で転送 ) • SADM:転送元アドレスカウントモード指定 SADM = 0( 転送元アドレスは増加します ) ( 注意事項 ) 転送元のバッファに応じた対応が必要です。 • リロードおよび割込み設定 使用に応じて設定してください。 • SASZ:転送元アドレスカウントサイズ指定 SASZ = 04H( 転送アドレス増減幅 :4) ( 注意事項 ) 転送元のバッファに応じた対応が必要です。 • DASZ:転送先アドレスカウントサイズ指定 DASZ = 00H( 転送アドレス増減幅 :0) 384 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ ⑤ DMAC コントロール / ステータスレジスタ A(DMACAn) 設定: 以下に示した以外の設定は , 初期値を意味します。 • DENB : DMA 動作許可ビット DENB = 1( 対応チャネル DMA 動作許可 ) • IS : 転送要因選択 IS4 ∼ IS0 = 00000B( ソフトウェア転送要求のみ有効 ) • BLK : ブロックサイズ指定 BLK3 ∼ BLK0 = 0001B( ブロック転送を行わない ) • DTC : 転送回数レジスタ 送信データ長を設定する。 例 )1536 バイトの場合 , 1536/ ワード= 384 ⇒ DTC = 180H ⑥転送要求: DMACAn.STRG:転送要求 STRG = 1(DMA 起動要求 ) 5. バッファにデータを転送 (DMA 設定 ) 送信パケット数の書込み ①送信割込みイネーブルレジスタ (DLCR2) の設定:設定値 8EH ビット 値 DLCR2 の位置 ENA TMT OK 1 bit7 ENA LTE COL 1 bit3 ENA COL 1 bit2 ENA RETRY OVER 1 bit1 6. 送信スタート ①イネーブルデータリンクコントロールビット (DLCR6 : ENA DLC) に "0"(LAN コ ントローラは送受信可能な状態 ) を書き込む。 ②送信パケット数ビット (BMPR10 : TX PKT CNTn) にこれから送信するパケットの 数を書き込む。 ③送信スタートビット (BMPR10 : TMST) に "1"( パケットの送信を起動 ) を書き込む ( パケット送信が完了するまでは次の送信データを送信バッファへ転送すること も , その送信動作を起動することも行わないこと )。 ④送信バッファの残りを計算し , すべてのデータを転送するまで , ② , ③の処理を繰 り返す。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 385 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ (7. ハードの処理 ) ①パケットの送信フォーマットに変換する プリアンブル , スタートフレームデリミタ , CRC を付加し , LAN ネットワーク上 へ送信される。 ②送信パケット数ビット (BMPR10 : TX PKT CNTn) が "0" になるまで , パケットの 送信が行われる (1 パケット送信するごとに , 自動でデクリメントされる )。 ③送信が終了すると , 送信 O.K. ビット (DLCR0 : TMT OK) が "1" になります。 送信の完了 ( 割込み発生 ) 8. ステータスクリア 送信ステータスレジスタ (DLCR0) の設定:設定値 8AH ビット 値 DLCR0 の位置 TMT OK 1 bit7 LTE COL 1 bit3 RETRY OVER 1 bit1 9. 割込み禁止にする 送信 O.K 割込み発生許可ビット (DLCR2 : ENA TMT OK) に "0"(TMT OK 割込み発 生禁止 ) を書き込む。 10. 上位に通知 必要ならば上位のネットワークプロトコルに送信完了を通知する。 386 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ 12.3.2 受信フロー ( バッファメモリ→ホスト ) 受信フロー ( バッファメモリ→ホスト ) について説明します。 ■ メイン処理 図 12.3-8 メイン処理 1. 初期処理(ステータスのクリア) 2. 各種割込み許可 3. LANコントローラのレジスタの設定 4. 受信スタート(自動的に行われる) (受信が終了すると割込み発生) 5. ハードの処理 ・自局あてのパケットかを確認する ・プリアンブルとCRCを取り除いて, バッファメモリに転送 ・エラーをチェック ・パケットレディビットに"1"(完了)が書き込まれる CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 387 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ 図 12.3-9 割込み ERROR PKT-RDY 割込み開始 割込み開始 6. 割込み禁止に変更する エラー処理 7. パケット長の読出し RETI(復帰) 8. DMA動作許可 9. データ読出し(DMA 転送)(ハードの処理) 1パケット受信 10. バッファエンプティ NO YES(バッファの領域がなくなった) 11. DMA動作禁止 12. 各種ステータスのクリア 13. 割込み許可 RETI(復帰) 388 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ ● 手順 【パケット受信】 メイン処理 1. 各ステータスのクリア 受信ステータスレジスタ (DLCR1) の設定:設定値 FFH ビット 値 DLCR1 の位置 PKT RDY 1 bit7 RX ERR 1 bit6 FIL DROP 1 bit5 RX LNG PKT 1 bit4 RX SRT PKT 1 bit3 ALG ERR 1 bit2 CRC ERR 1 bit1 OVRFLO 1 bit0 2. 各種割込み許可 受信割込みイネーブルレジスタ (DLCR3) の設定:設定値 CAH ビット 値 DLCR3 の位置 ENA PKT RDY 1 bit7 ENA RX ERR 1 bit6 ENA FIL DROP 0 bit5 ENA RX LNG PKT 0 bit4 ENA RX SRT PKT 1 bit3 ENA ALG ERR 0 bit2 ENA CRC ERR 1 bit1 ENA OVRFLO 0 bit0 3.LAN コントローラのレジスタの設定 ①ループバックコントロールビット (DLCR4 : LBC) に "1"( 通常の送受信動作 ) を書 き込む。 ②アドレスマッチモードビット (DLCR5 : AM1 ∼ AM0) において , "10B"( 選択され たパケットを受信 ) または , "11B"( すべてのパケットを受信 ) に設定する。 ③イネーブルデータリンクコントロールビット (DLCR6 : ENA DLC) に "0"(LAN コ ントローラは送受信可能な状態 ) を書き込む。 (4. ハードの処理 ) 受信スタート CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 389 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ (5. ハードの処理 ) • データリンクコントローラでデスティネーションアドレスのチェックをして , 自局 あてのパケットかを確認する。 • 自局あてのパケットはプリアンブルと CRC を取り除いて , バッファメモリに転送す る。 • 同時に , CRC, ショートパケット , アライメントの各エラーをチェックして , エラー が検出されると , 受信ステータスレジスタ (DLCR1) の対応するエラーステータス ビットをセットして , バッファメモリへ転送したパケットデータを消去する。 • 正常に受信が完了し , パケットデータをすべてバッファメモリに転送するとバッファ メモリマネージャはバッファメモリ内のパケットデータの先頭に 4 バイトのステータ ス情報を書き込んで , パケットレディビット (DLCR1 : PKT RDY) が "1" となる。 受信の完了 ( 割込み発生 ) 6. 割込み禁止にする 受信割込みイネーブルレジスタ (DLCR3) に "00H" を書き込む ( 受信割込みをすべて 禁止にする )。 7. パケット長の読出し パケット長をバッファメモリポートレジスタ (BMPR8) より読み出す。 DMA 転送処理 8.DMA 動作イネーブル DMA 設定 ( 受信例 ) FR コアの DMAC に下記の設定を行います。 1. 転送元アドレス設定: 転送元アドレス設定レジスタ (DMASA0 : DMASA) に MAC のバッファメモリ ポートレジスタ (BMPR8) を設定する。 2. 転送先アドレス設定: 転送先アドレス設定レジスタ (DMADA0 : DMADA) に , 転送先アドレスを設定 する。 3. DMA 動作許可 DMAC 全体動作許可レジスタ (DMACR : DMAE) に "1"( 全チャネル DMA 転送 許可 ) を設定する。 4. DMAC コントロール / ステータスレジスタ B(DMACB0) 設定 以下に示した以外の設定は , 初期値を意味します。 • TYPE:転送タイプ設定 TYPE1, TYPE0 = 10B ( フライバイ :I/O → メモリ転送 ) • MODE:転送モード設定 MOD1, MOD0 = 10B( デマンド転送モード ) • WS:転送データ幅選択 WS1, WS0 = 10B ( ワード単位で転送 ) 390 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ • 第 12 章 LAN コントローラ 12.3 DADM:転送先アドレスカウントモード指定 DADM = 0 ( 転送元アドレスは増加します ) ( 注意事項 ) 転送先のバッファに応じた対応が必要です。 • リロードおよび割込み設定 必要に応じて設定してください。 • SASZ:転送元アドレスカウントサイズ指定 SASZ = 00H ( 転送アドレス増減幅 :0) • DASZ:転送先アドレスカウントサイズ指定 DASZ = 04H ( 転送アドレス増減幅 :4) ( 注意事項 ) 転送先のバッファに応じた対応が必要です。 5. DMAC コントロール / ステータスレジスタ A(DMACA0) 設定 以下に示した以外の設定は , 初期値を意味します。 • DENB : DMA 動作許可ビット DENB = 1 ( 対応チャネル DMA 動作許可 ) • IS : 転送要因選択 IS4 ∼ IS0 = 01110B (DREQ "H" レベル ) • BLK : ブロックサイズ指定 BLK3 ∼ BLK0 = 0001B ( ブロック転送を行わない ) • DTC : 転送回数レジスタ 受信データ長を設定する。 例 )1536 バイトの場合 , 1536/ ワード= 384 ⇒ DTC = 180H 6. 転送要求 DMA イネーブルビット (BMPR12 : DMA RENA) に "1"(DMA 読出し動作許可 ) を書き込む。 9. データの読出し (DMA 転送 ) ※ 受信したパケットのデータ長が 32 ビットで割り切れない場合には , 受信データ の最後にダミーデータ ( 値は不定 ) が付加されてバッファメモリに格納されま す。例えば , 受信ステータス内のデータ長の値が "007FH" の場合 , ホストシステ ムでは , バッファメモリポートレジスタ (BMPR8) を 32 ワードリードし , 最後の 1 バイトは削除してください。 10. バッファエンプティの判断 ① バッファエンプティビット (DLCR5 : BUF EMP) が "0"( 受信バッファメモリ内に 有効なデータが残っている ) の場合 ② ①の処理をバッファエンプティビット (DLCR5 : BUF EMP) が "0"( 受信バッファ メモリ内に有効なデータはない ) になるまで繰り返す。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 391 第 12 章 LAN コントローラ 12.3 MB91402/403 シリーズ 11.DMA 動作ディセーブル DMA RENA ビット (BMPR12 : DMA RENA) に "0"(DMA 動作禁止 ) を書き込む。 12. ステータスのクリア 受信ステータスレジスタ (DLCR1) の設定:設定値 FFH ビット 値 DLCR1 の位置 PKT RDY 1 bit7 RX ERR 1 bit6 FIL DROP 1 bit5 RX LNG PKT 1 bit4 RX SRT PKT 1 bit3 ALG ERR 1 bit2 CRC ERR 1 bit1 OVRFLO 1 bit0 13. 割込み許可にする 受信割込みイネーブルレジスタ (DLCR3) の設定:設定値 CAH 392 ビット 値 DLCR3 の位置 ENA PKT RDY 1 bit7 ENA RX ERR 1 bit6 ENA FIL DROP 0 bit5 ENA RX LNG PKT 0 bit4 ENA RX SRT PKT 1 bit3 ENA ALG ERR 0 bit2 ENA CRC ERR 1 bit1 ENA OVRFLO 0 bit0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 12.4 第 12 章 LAN コントローラ 12.4 パケットフィルタ パケットフィルタについて説明します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 393 第 12 章 LAN コントローラ 12.4 12.4.1 MB91402/403 シリーズ パケットフィルタの概要 パケットフィルタについて説明します。 ■ パケットフィルタの概要・特長 この LAN コントローラには「プロトコルタイプ」 「L3/L4 フィルタテーブル」の 2 種 類のテーブルが用意されており , 以下の情報に基づくフィルタを実現できます。 • プロトコルタイプ (Ethernet のタイプフィールド ) プロトコルタイプ (8 件登録可能 ) • IP アドレス L3/L4 フィルタテーブル (16 件登録可能 ) • TCP/UDP ポート番号 • ICMP メッセージタイプ 図 12.4-1 パケットフィルタの概要 チップ MB91402/403 シリーズ L3/L4 フィルタテーブル 宛先アドレス :192.168.1.2 を破棄 送信元アドレス :163.170.2.3 を破棄 16 件登録可能 L3/L4 フィルタテーブルには , あらかじめ登録しておく 必要があります。 ①データレジスタ (FL_DATA) に登録データを書き込む。 ②コマンドレジスタ (FL_CMD) で書込み指示をする。 パケット 394 宛先アドレス:192.168.1.1 通過 宛先アドレス:192.168.1.2 L3/L4 フィルタテーブルに 登録されているため , 破棄 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ テーブル 12.4.2 パケットフィルタのテーブルについて説明します。 ■ プロトコルタイプテーブル プロトコルタイプによって, フィルタリングするときに使用します(最大8件登録可能)。 図 12.4-2 全体図 レコード 0 レコード 1 ∼ レコード 7 全体で 8 エントリのテーブルとなっています。 テーブルとの比較はレコード番号 0 番から 7 番の順で行われ , 一致した時点で比較終了 となります。 図 12.4-3 構成 bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 − ② − 8 7 6 5 ① 4 3 2 − 1 0 ③ ● テーブルに設定できる項目 ①【P_TYPE フィールド】[P_TYPE:16 ビット ] フィルタリングの対象となるプロトコルを表す値を設定します。 IP プロトコルの値 (IPv4:0800H, IPv6:86DDH) はこのプロトコルタイプテーブルで参 照を行いません。設定しても意味がありません。また , フィルタモード設定レジス タによる指定で処理しますので , PPPoE( ディスカバリステージ:8863H, セッション ステージ:8864H) は , このフィールドには設定しません。 ②【P_Pass_Drop フィールド】[P_Pass_Drop:1bit] フィルタリングの設定です。P_TYPE フィールドの値と一致した場合に破棄するか 通過するかを指定します。 "1" のとき………破棄する ( このプロトコルはこのレコードを使用しない ) "0" のとき………通過する ( このプロトコルを使用する ) ③【P_Valid フィールド】[P_Valid:1bit] エントリ有効フラグです。使用しないエントリ番号の P_ Valid フィールドには "0" を設定してください。 "0" のとき………このレコードは無効である。 "1" のとき………このレコードは有効である。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 395 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ L3/L4 フィルタテーブル L3/L4 のパケットの情報でフィルタリングするときに使用します ( 最大 16 件登録可能 )。 図 12.4-4 L3/L4 フィルタテーブル レコード 0 SRC0 SRC1 SRC2 SRC3 DES0 DES1 DES2 DES3 PORT LOWER PORT UPPER FILTERING1 FILTERING2 レコード 1 ∼ レコード 15 12 個のデータレジスタで 1 つのレコードとなり , 全体で 16 エントリのテーブルとなっ ています。 テーブルとの比較はレコード番号 0 番から 15 番の順で行われ , 一致した時点で比較終 了となります。 図 12.4-5 1 レコードの構成 bit31 bit0 SRC0 SRC1 SRC2 SRC3 DES0 DES1 DES2 DES3 DES PORT LOWER DES PORT UPPER P 396 SRC PORT LOWER SRC PORT UPPER フィルタ設定 PD ACK FUJITSU MICROELECTRONICS LIMITED M T V CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ● テーブル詳細 • SRC0, SRC1, SRC2, SRC3:送信元 IP フィールド 送信元 IP アドレスを設定するフィールドです。 図 12.4-6 テーブル詳細 ( 送信元 IP フィールド ) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 SRC0 SRC1 SRC2 SRC3 SRC0, SRC1, SRC2, SRC3: 送信元 IP アドレス 送信元 IP アドレスを設定します。 なお , 範囲指定のためのマスクをかけて比較する場合 , マスクしない IP アドレスの範 囲には "0" を設定してください。 (例) • 192.168.1.0 ∼ 192.168.1.255 の範囲を指定する場合 , IP フィールドには 192.168.1.0 と 定義します ( フィルタサブネットレジスタ (FL_SUBNET) には 255.255.255.0 と設定 します )。 • 192.168.1.0 ∼ 192.168.1.31 の範囲を指定する場合も , IP フィールドには 192.168.1.0 と定義します ( フィルタサブネットレジスタ (FL_SUBNET) には 255.255.255.224 と 設定します )。 • DES0, DES1, DES2, DES3:宛先 IP フィールド 宛先 IP アドレスを設定するフィールドです。 図 12.4-7 テーブル詳細 ( 宛先 IP フィールド ) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DES0 DES1 DES2 DES3 DES0, DES1, DES2, DES3: 宛先 IP アドレス 宛先 IP アドレスを設定します。 なお , 範囲指定をする場合 , マスクしない IP アドレスの範囲には "0" を設定してくださ い ( 指定方法は , 送信元 IP フィールドと同じです )。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 397 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ • PORT LOWER:下限ポート番号フィールド ポート番号の下限値を設定するフィールドです。 図 12.4-8 テーブル詳細 ( 下限ポート番号フィールド ) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 DES PORT LOWER 8 7 6 5 4 3 2 1 0 SRC PORT LOWER [bit31 ∼ bit16]: DES PORT LOWER:宛先下限ポート番号 • 宛先ポート番号の下限値を指定します。 • TCP あるいは UDP の宛先ポート番号の比較において , 範囲指定を行わない場合 には宛先ポート番号を設定します。 - フィルタリングの対象が TCP の場合 範囲指定を行う場合には宛先番号の下限値を設定します。 - フィルタリングの対象が ICMP の場合 ICMP のメッセージタイプを入力します。 データレジスタの MR16 ビットが "1"( 範囲指定を行う ) の場合は DES PORT UPPER も設定します。 [bit15 ∼ bit0]: SRC PORT LOWER:送信元下限ポート番号 • 送信元ポート番号の下限値を指定します。 • TCP あるいは UDP の送信元ポート番号の比較において , 範囲指定を行わない場 合 ( データレジスタの MR15 ビットが "0" の場合 ) には送信元ポート番号を設定 します。範囲指定を行う場合には送信元ポート番号の下限値を設定します。 データレジスタの MR15 ビットが "1"( 範囲指定を行う ) の場合は SRC PORT UPPER も設定します。 設定例 • 送信元ポート番号の範囲指定を行う場合 (10 ∼ 20 を設定する場合 ) MR15 1 SRC PORT LOWER 10 SRC PORT UPPER 20 • 送信元ポート番号の範囲指定を行わず , 単独で指定する場合 (15 を設定する場合 ) 398 MR15 0 SRC PORT LOWER 15 SRC PORT UPPER 0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ • PORT UPPER:上限ポート番号フィールド ポート番号の上限値を設定するフィールドです。 図 12.4-9 テーブル詳細 ( 上限ポート番号フィールド ) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 DES PORT UPPER 8 7 6 5 4 3 2 1 0 SRC PORT UPPER [bit31 ∼ bit16]: DES PORT UPPER:宛先上限ポート番号 • 宛先ポート番号の上限値を指定します。 • 範囲指定を行う場合(データレジスタのMR16ビットが"1"の場合)に設定します。 • 初期値として "0" を設定してください。 • 下限ポート番号 (DES PORT LOWER) より大きな値を設定してください。下限 ポート番号>上限ポート番号の場合は無視されます。 [bit15 ∼ bit0]: SRC PORT UPPER:送信元上限ポート番号 • 送信元ポート番号の上限値を指定します。 • 範囲指定を行う場合(データレジスタのMR15ビットが"1"の場合)に設定します。 • 初期値として "0" を設定してください。 • 下限ポート番号 (SRC PORT LOWER) より大きな値を設定してください。下限 ポート番号>上限ポート番号の場合は無視されます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 399 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ • FILTERING1:フィルタリングフィールド 1 フィルタリングの設定を行うフィールドです。 図 12.4-10 テーブル詳細 ( フィルタリングフィールド 1) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 P − 8 7 6 5 4 3 2 MR MR MR MR MR MR MR MR MR MR MR MR MR MR MR MR MR 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 − 0 1 0 T V [bit22 ∼ bit20]: P フィルタリングの対象とするプロトコルを指定します。 表 12.4-1 プロトコルの指定 P 意味 0 1 すべてのプロトコル TCP 2 UDP 3 TCP または UDP 4 ICMP [bit19]: MR16 TCP・UDP の宛先ポート番号を範囲指定して比較 MR16 意味 0 比較しません。 1 比較します。 [bit18]: MR15 TCP・UDP の送信元ポート番号を範囲指定して比較 MR15 意味 0 比較しません。 1 比較します。 [bit17]: MR14 TCP・UDP の宛先ポート番号の比較 MR14 400 意味 0 比較します。 1 比較しません。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ [bit16]: MR13 TCP・UDP の送信元ポート番号の比較 MR13 意味 0 比較します。 1 比較しません。 [bit15]: MR12 IPv6 宛先アドレス [127:112] (FP : TLA ID) の比較 MR12 意味 0 比較します。 1 比較しません。 [bit14]: MR11 IPv6 宛先アドレス [111:80] (NLA ID) の比較 MR11 意味 0 比較します。 1 比較しません。 [bit13]: MR10 IPv6 宛先アドレス [79:64] (SLA ID) の比較 MR10 意味 0 比較します。 1 比較しません。 [bit12]: MR9 IPv6 宛先アドレス [63:0]( インタフェース ID) の比較 MR9 意味 0 比較します。 1 比較しません。 [bit11]: MR8 IPv6 送信元アドレス [127:112](FP : TLA ID) の比較 MR8 CM71-10131-1 意味 0 比較します。 1 比較しません。 FUJITSU MICROELECTRONICS LIMITED 401 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ [bit10]: MR7 IPv6 送信元アドレス [111:80](NLA ID) の比較 MR7 意味 0 比較します。 1 比較しません。 [bit9]: MR6 IPv6 送信元アドレス [79:64](SLA ID) の比較 MR6 意味 0 比較します。 1 比較しません。 [bit8]: MR5 IPv6 送信元アドレス [63:0]( インタフェース ID) の比較 MR5 意味 0 比較します。 1 比較しません。 [bit7]: MR4 IPv4 宛先アドレスに範囲指定のためのマスクをかけて比較 MR4 意味 0 比較しません。 1 比較します。 [bit6]: MR3 IPv4 送信元アドレスに範囲指定のためのマスクをかけて比較 MR3 意味 0 比較しません。 1 比較します。 [bit5]: MR2 IPv4 宛先アドレスの比較 MR2 402 意味 0 比較します。 1 比較しません。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ [bit4]: MR1 IPv4 送信元アドレスの比較 MR1 意味 0 比較します。 1 比較しません。 [bit2]: MR0 ICMP タイプの比較 MR0 意味 0 比較します。 1 比較しません。 [bit1]: T IPv4 IPv6, どちらのモードで通信するのかを設定します。 T 意味 0 IPv6 1 IPv4 [bit0]: V エントリの有効フラグ V 意味 0 このレコードは無効です。 1 このレコードは有効です。 使用しないエントリには , "0" を設定してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 403 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ • FILTERING2:フィルタリングフィールド 2 フィルタリングの設定を行うフィールドです。 図 12.4-11 テーブル詳細 ( フィルタリングフィールド 2) bit 31 − 8 7 6 PD − 5 4 3 ACK ACK 1 0 2 1 0 − [bit8]: PD 条件に一致したメッセージの対処を指定します。 PD 意味 0 通過します。 1 破棄します。 [bit5]: ACK1 TCP のときの ACK フラグのチェックに使用します。 ACK1 意味 0 ACK フラグのチェックを行います。 1 ACK フラグのチェックを行いません。 [bit4]: ACK0 TCP のときの ACK フラグに応じたフィルタリングの設定に使用します。 ACK0 404 意味 0 ACK フラグが立っていないパケットにフィルタをかけます。 1 ACK フラグが立っているパケットにフィルタをかけます。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ MR フィールドでは下表のような設定有効・無効関係があります。表中 , ○は設定が有 効であることを示し , 対象となるプロトコルに対してビットの設定が必要であること を示します。×は無効であることを示し , 設定の必要がないことを示します。設定の必 要のないものは " 比較を行わない " を設定してください。 表 12.4-2 MR フィールドでの設定有効・無効の関係 IPv4 ビット IPv6 TCP UDP ICMP TCP UDP ICMP 16 TCP・UDP の宛先ポート番号を範囲指定して 比較 ○ ○ × × ○ ○ × × 15 TCP・UDP の送信元ポート番号を範囲指定して 比較 ○ ○ × × ○ ○ × × 14 TCP・UDP の宛先ポート番号の比較 ○ ○ × × ○ ○ × × 13 TCP・UDP の送信元ポート番号の比較 ○ ○ × × ○ ○ × × IPv6 宛先アドレス [127:112] (FP : TLA ID) の 比較 × × × × ○ ○ ○ ○ 11 IPv6 宛先アドレス [111:80] (NLA ID) の比較 × × × × ○ ○ ○ ○ 10 IPv6 宛先アドレス [79:64] (SLA ID) の比較 × × × × ○ ○ ○ ○ 12 9 IPv6 宛先アドレス [63:0] ( インタフェース ID) の比較 × × × × ○ ○ ○ ○ 8 IPv6 送信元アドレス [127:112](FP : TLA ID) の 比較 × × × × ○ ○ ○ ○ 7 IPv6 送信元アドレス [111:80](NLA ID) の比較 × × × × ○ ○ ○ ○ 6 IPv6 送信元アドレス [79:64](SLA ID) の比較 × × × × ○ ○ ○ ○ 5 IPv6 送信元アドレス [63:0]( インタフェース ID) の比較 × × × × ○ ○ ○ ○ 4 IPv4 宛先アドレスに範囲指定のためのマスクを かけて比較 ○ ○ ○ ○ × × × × 3 IPv4 送信元アドレスに範囲指定のためのマスク をかけて比較 ○ ○ ○ ○ × × × × 2 IPv4 宛先アドレスの比較 ○ ○ ○ ○ × × × × 1 IPv4 送信元アドレスの比較 ○ ○ ○ ○ × × × × 0 ICMP タイプの比較 × × ○ × × × ○ × CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 405 第 12 章 LAN コントローラ 12.4 12.4.3 MB91402/403 シリーズ レジスタ一覧 パケットフィルタのレジスタ一覧を , 図 12.4-12 に示します。 ■ LAN コントローラのレジスタ一覧 図 12.4-12 LAN コントローラのレジスタ一覧 アドレス 0110_0014H bit31 bit0 FL_CMD フィルタコマンドレジスタ 0110_0018H FL_STATUS フィルタステータスレジスタ 0110_001CH FL_DATA フィルタデータレジスタ 0110_0020H FL_CONTROL フィルタコントロールレジスタ 0110_0024H FL_SUBNET フィルタサブネットレジスタ :使用領域 空白 :未使用領域 ワードアクセスオンリ 406 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 12.4.4 第 12 章 LAN コントローラ 12.4 レジスタ詳細 レジスタの各ビットへのアクセス制限を表す記号を説明します。 ■ レジスタ詳細の見方 [ 記号 ] R : 読出し可能 R0 : 常に "0" R1 : 常に "1" RX : 不定 W : 書込み可能 W0 : 常に "0" 書込み W1 : 常に "1" 書込み WX : 書込み無効 [ 組合せ ] "/" と "," R/W : 書き込んだデータを読み出せる R, W : 書込みと読出しでビットの意味が異なる [ リードモディファイライト (RMW) 系命令への対応 ] "(" ")" の利用 R(RM1)/W : 書き込んだ値を読出し可能 ( リードモディファイライト (RMW) 系命 令時の読出しは常に "1") R(RM1), W : 読出し可能 ( リードモディファイライト (RMW) 系命令時は常に "1"), 書込み可能 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 407 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ FL_CMD: コマンドレジスタ テーブルアクセスの指示を行うレジスタです。ワードでアクセスしてください。 図 12.4-13 コマンドレジスタのビット構成 アドレス 0110_0014H bit31 16 12 11 8 7 5 4 3 1 − id item − table − X 0 0 X 0 X RX/WX R/W R/W RX/WX R/W 0 cmd 0 初期値 RX/WX R/W 属性 [bit31 ∼ bit16] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit15 ∼ bit12]: id:アクセスエントリ指定 id 0 ∼ 15 書込み動作 設定した位置に書き込む指示 • フィルタのエントリ位置 ( 番号 ) を示すフィールドです。 • item[bit11 ∼ bit18] の値が 12 の場合は , プロトコルタイプテーブルの設定のため , 0∼7の範囲を指定してください(プロトコルタイプテーブルは8エントリのため)。 • テーブルの優先順位は , 上から (id 順 ) となります。 [bit11 ∼ bit8]: item:書込み種別 書込み動作 item 書き込むテーブル SRC0 部分に書き込む指示 0∼3 4∼7 8 9 場所 DES0 部分に書き込む指示 L3/L4 フィルタテーブル (table ビット [bit4] には "0" を設 定すること ) PORT LOWER 部分に書き込む指示 PORT UPPER 部分に書き込む指示 10 FILTERING1 部分に書き込む指示 11 FILTERING2 部分に書き込む指示 12 プロトコルタイプテーブル (table ビット [bit4] には "1" を設 定すること ) P_TYPE 部分に書き込む指示 item はそれぞれのテーブル内に書き込む内容を指定するためのフィールドです。 L3/ L4 フィルタテーブルにおいては , 1 ワード (32 ビット ) データではテーブルの書込 みが 1 回で終了しないために 1 エントリ内のどの部分を書き込むのか指定するため に必要なフィールドとなっています。プロトコルタイプテーブルのエントリ指定も このフィールドにマージされています。 408 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ [bit7 ∼ bit5] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit4]: table:テーブル table 書込み動作 0 L3/L4 フィルタテーブルを対象とする (item ビット [bit11 ∼ bit8] には 0 ∼ 11 を設定すること ) 1 プロトコルタイプテーブルを対象とする (item ビット [bit11 ∼ bit8] には 12 を設定すること ) • 上記のitemビット[bit11∼bit8]の書き込む場所に合わせたテーブルを指定します。 [bit3 ∼ bit1] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit0]: cmd:コマンド cmd 書込み動作 0 読出し指示 1 書込み指示 コマンドフィールドは書込み / 読出しの指示です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 409 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ FL_STATUS: ステータスレジスタ テーブルへのアクセス制御用に使用するレジスタです。ワードでアクセスしてくださ い。 図 12.4-14 ステータスレジスタのビット構成 アドレス bit31 1 0110_0018H 0 status − X RX/WX 0 R 初期値 属性 R:リードオンリ [bit31 ∼ bit1] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit0]: status:ステータス status 読出し動作 0 現在 , 書込み動作は行われていない 1 現在 , 書込み動作中 新しいデータの書込みの際にはこのステータスの値が "0" になっていることを確認 します。 410 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ FL_DATA: データレジスタ L3/L4 フィルタテーブル , プロトコルタイプテーブルに読み書きする 32 ビットのデー タフィールドです。ワードでアクセスしてください。 FL_CMD レジスタの item フィールドの示す値によってデータレジスタに書くべきデー タの内容は変わります。 図 12.4-15 データレジスタのビット構成 アドレス bit31 0 0110_001CH FL-DATA 0 R/W 初期値 属性 R/W : リード / ライト可能 表 12.4-3 L3/L4 フィルタテーブルの設定 (1 / 2) item ビット No. L3/L4 フィルタ テーブルとの対応 0 31 ∼ 0 SRC0 1 31 ∼ 0 SRC1 IPv6 2 31 ∼ 0 SRC2 IPv6 3 31 ∼ 0 SRC3 IPv6 4 31 ∼ 0 DES0 5 31 ∼ 0 DES1 IPv6 6 31 ∼ 0 DES2 IPv6 7 31 ∼ 0 DES3 IPv6 31 ∼ 16 DES PORT LOWER IPv4・IPv6 宛先 IP アドレスポート番号の下限値 15 ∼ 0 SRC PORT LOWER IPv4・IPv6 送信元ポート番号の下限値 8 9 対象 機能 IPv4・IPv6 送信元 IP アドレス 送信元アドレス (IPv6 のみ ) IPv4・IPv6 宛先 IP アドレス 宛先 IP アドレス (IPv6 のみ ) 31 ∼ 16 DES PORT UPPER IPv4・IPv6 宛先ポート番号の上限値 15 ∼ 0 SRC PORT UPPER IPv4・IPv6 送信元ポート番号の上限値 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 411 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 表 12.4-3 L3/L4 フィルタテーブルの設定 (2 / 2) item 10 11 412 ビット No. L3/L4 フィルタ テーブルとの対応 対象 31 ∼ 23 − − 22 ∼ 20 P 19 MR16 IPv4・IPv6 TCP・UDP の宛先ポート番号を範囲指定して比 較 18 MR15 IPv4・IPv6 TCP・UDP の送信元ポート番号を範囲指定して 比較 17 MR14 IPv4・IPv6 TCP・UDP の宛先ポート番号の比較 16 MR13 IPv4・IPv6 TCP・UDP の送信元ポート番号の比較 15 MR12 IPv6 IPv6 宛先アドレス [127 ∼ 112] (FP : TLA ID) の 比較 14 MR11 IPv6 IPv6 宛先アドレス [111 ∼ 80] (NLA ID) の比較 13 MR10 IPv6 IPv6 宛先アドレス [79 ∼ 64] (SLA ID) の比較 12 MR9 IPv6 IPv6 宛先アドレス [63 ∼ 0] ( インタフェース ID) の比較 11 MR8 IPv6 IPv6 送信元アドレス [127 ∼ 112](FP : TLA ID) の 比較 10 MR7 IPv6 IPv6 送信元アドレス [111 ∼ 80](NLA ID) の比較 9 MR6 IPv6 IPv6 送信元アドレス [79 ∼ 64](SLA ID) の比較 8 MR5 IPv6 IPv6 送信元アドレス [63 ∼ 0]( インタフェース ID) の比較 7 MR4 IPv4 IPv4 宛先アドレスに範囲指定のためのマスクを かけて比較 6 MR3 IPv4 IPv4 送信元アドレスに範囲指定のためのマスク をかけて比較 5 MR2 IPv4 IPv4 宛先アドレスの比較 4 MR1 IPv4 IPv4 送信元アドレスの比較 3 − − 2 MR0 1 T IPv4・IPv6 通信モード 0 V IPv4・IPv6 エントリ有効フラグ 31 ∼ 9 − 8 PD 7, 6 − 5 ACK1 IPv4・IPv6 ACK フラグのチェック 4 ACK_0 IPv4・IPv6 3∼0 − − 機能 reserved IPv4・IPv6 フィルタリングの対象とするプロトコル reserved IPv4・IPv6 ICMP タイプの比較 − reserved IPv4・IPv6 条件に一致したメッセージの対処 − reserved ACK フラグとパケットフィルタの関係 (ACK フラグをチェックする場合に有効 ) reserved FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 表 12.4-4 プロトコルタイプテーブルの設定 item 12 ビット No. プロトコルタイプ テーブルとの対応 対象 31 ∼ 25 − − 24 P_Pass_Drop IPv4・IPv6 23 ∼ 20 − − 19 ∼ 4 P_TYPE15 ∼ P_TYPE0 IPv4・IPv6 3∼1 − − 0 P_Valid IPv4・IPv6 CM71-10131-1 機能 reserved 条件に一致したメッセージの対処 reserved プロトコルを表す値 reserved エントリ有効フラグ FUJITSU MICROELECTRONICS LIMITED 413 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ FL_CONTROL: フィルタモード設定レジスタ フィルタの各動作モードに該当するパケットをどう取り扱うかを指定するレジスタで す。ワードでアクセスしてください。 図 12.4-16 フィルタモード設定レジスタのビット構成 アドレス bit10 bit9 bit8 0110_0020H UDF tunnel 0 R/W 0 R/W bit7 fragment L3/L4 table 0 R/W 0 R/W bit6 p_type 0 R/W bit5 bit4 bit3 bit2 bit1 bit0 discovery IPv4 drop IPv4 pass IPv6 drop IPv6 pass 0 R/W 0 R/W 0 R/W 0 R/W IP i/o 0 R/W 0 R/W 初期値 属性 R/W : リード / ライト可能 [bit10] UDF : UDF フィールド UDF 書込み動作 0 − 1 認識できない TCP/UDP/IP パケットを廃棄します。 TCP/UDP/IPヘッダが正常に認識されないことは本来はありえないケースですが, IP ヘッダが IP アドレスの途中で途切れていた場合などが該当します。 [bit9] tunnel : tunnel フィールド IPv4 の中に IPv6 がカプセル化されているパケットの場合の処理設定です。 tunnel 書込み動作 0 (IPv4 モード ) IPv6 は未知プロトコルとみなされ , L3/L4 フィルタテーブル との IP アドレス比較はパケットのトンネルヘッダにあたる IPv4 アドレス で行われ , IPv6 アドレスは比較対象になりません。この場合 , L3/L4 フィル タにおけるフィルタの対象は IPv4 アドレスのみとなります。 1 (IPv6 モード ) L3/L4 フィルタテーブルとの IP アドレス比較はパケットの IPv6 アドレスで行われ , IPv4 アドレスは比較対象になりません。 [bit8] fragment : fragment フィールド fragment 書込み動作 0 フラグメントパケットは通過します。 1 フラグメントパケットは無条件に破棄されます。 "0" の場合 , TCP/UDP ヘッダを含む最初のフラグメントパケットは L3/L4 テーブル にてフィルタリングが実行されます。2 番目以降のパケットは TCP/UDP ポート番 号をパラメータとしたフィルタにかかりません。 414 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ [bit7] L3/L4 table : L3/L4 table フィールド L3/L4 テーブルに一致するエントリがないパケットの処理設定です。 L3/L4 table 書込み動作 0 パケットは通過します。 1 パケットは破棄されます。 [bit6] p_type : p_type フィールド プロトコルタイプテーブルに一致するエントリがないパケットの処理設定です。 p_type 書込み動作 0 パケットは通過します。 1 パケットは破棄されます。 [bit5] discovery : discovery フィールド discovery 書込み動作 0 無条件に通過します。 1 PPPoE ディスカバリステージのデータパケットは破棄されます。 [bit4] IPv4 drop : IPv4 drop フィールド discovery フィールド [bit5] において "0" が設定されており , かつ PPPoE セッション ステージにおけるパケットの上位層が IPv4 プロトコルの場合の処理設定です。 IPv4 drop 書込み動作 0 以下の IPv6 pass フィールド [bit3] の設定に従います。 1 パケットを破棄します。 [bit3] IPv4 pass : IPv4 pass フィールド discovery フィールド [bit5] において "0" が設定されており , かつ PPPoE セッション ステージにおけるパケットの上位層が IPv4 プロトコルの場合の処理設定です。 IPv4 pass 書込み動作 0 L3/L4 フィルタテーブル参照が行われます。 1 処理なしで , 通過します。 [bit2] IPv6 drop : IPv6 drop フィールド PPPoE セッションステージにおけるパケットの上位層が IPv6 プロトコルの場合の 処理設定です。 IPv6 drop CM71-10131-1 書込み動作 0 以下の IPv6 pass フィールド [bit1] の設定に従います。 1 パケットを破棄します。 FUJITSU MICROELECTRONICS LIMITED 415 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ [bit1] IPv6 pass : IPv6 pass フィールド IPv6 drop フィールド [bit2] において "0" が設定されており , かつ PPPoE セッション ステージにおけるパケットの上位層が IPv6 プロトコルの場合の処理設定です。 IPv6 pass 書込み動作 0 L3/L4 フィルタテーブルの参照が行われます。 1 処理なしで , 通過します。 [bit0] IP i/o : IP i/o フィールド PPPoE セッションステージにおけるパケットの上位層が IPv4 プロトコルでも IPv6 プロトコルでもない場合の処理設定です。 IP i/o 416 書込み動作 0 パケットを通過します。 1 パケットを破棄します。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ FL_SUBNET: フィルタサブネットレジスタ フィルタの範囲指定登録用レジスタです。ワードでアクセスしてください。 図 12.4-17 フィルタサブネットレジスタのビット構成 アドレス bit31 0 FL_SUBNET 0110_0024H FFFFFFFFH R/W 初期値 属性 R/W : リード / ライト可能 フィルタが IPv4 アドレスのネットマスクを必要とする際に使用するフィルタの範囲指 定登録用のレジスタです。IPv4 アドレスのうち , 範囲指定だけを抽出したい場合には , L3/L4 フィルタテーブルの FILTERING1 フィールド MR4, MR3 に "1" を設定するとレ ジスタに登録されているアドレスに範囲指定のマスクをかけます。このレジスタは範 囲指定のマスクをビット単位で登録可能です。 [bit31 ∼ bit0] FL_SUBNET : FL_SUBNET フィルタの範囲指定を指定します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 417 第 12 章 LAN コントローラ 12.4 12.4.5 MB91402/403 シリーズ テーブルアクセスの際の注意事項 テーブルアクセスの際の注意事項を説明します。 ■ テーブルアクセスの際の注意事項 CPU がテーブルへアクセスしている間は , パケットの参照を正しくできません。した がって , テーブルへのアクセスを行う際には , 必ずイネーブルデータリンクコントロー ラ [DLCR6 : bit7] を "1" に設定し , LAN コントローラを送受信動作不可能な状態にして ください。 418 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 12.4.6 フィルタの設定方法 フィルタの設定方法を説明します。 ■ L3/L4 フィルタテーブルへのアクセス方法 手順 1. ステータスレジスタ (FL_STATUS) のステータス値が "0"( 現在書込み動作が行 われていない ) であることを確認します。 手順 2. データレジスタ (FL_DATA) にフィルタテーブルに登録するデータを書き込み ますが , 一度に全部は書き込めないので 12 回に分けて処理します。まずは , FL_CMD レジスタの item フィールドが "0" の場合として , SRC_IP の最初の部 分 [bit127 ∼ bit96] に登録するデータ ( 送信元 IP アドレス (SRC IP アドレス ) の最初の 32 ビット [bit127 ∼ bit96]) をデータレジスタ (FL_DATA) に書き込み ます。 FL_DATA:データレジスタ 0010010011111110… (IP アドレスの最初の 32 ビット ) 手順 3. コマンドレジスタの設定 ①コマンドレジスタの id( テーブルのエントリ番号 ) にテーブルに登録したい場所 ( 今回は "1") をセットします。 ② item に "0" を設定します。 表 12.4-5 コマンドレジスタの設定 item L3/L4 フィルタテーブルとの対応 機能 0 SRC0 送信元 IP アドレス 1 SRC1 2 SRC2 3 SRC3 4 DES0 5 DES1 6 DES2 7 DES3 8 PORT LOWER ポート番号の下限値 9 PORT UPPER ポート番号の上限値 10 FILTERING フィルタリング 11 FILTER MODE フィルタモード 送信元アドレス (IPv6 のみ ) 宛先 IP アドレス 宛先 IP アドレス (IPv6 のみ ) ③ table に "0"(L3/L4 フィルタテーブルを対象とする ) を設定します。 ④ cmd に "1"( 書込み指示 ) をセットします。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 419 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ FL_CMD: コマンドレジスタ 図 12.4-18 コマンドレジスタのビット構成 bit31 16 12 8 id 1 item 0 X X X X X X X X − 5 − 4 table − 0 cmd 0 X 1 X 手順 4. ハードが書込み指示を開始するので , ステータスレジスタ (FL_STATUS) のス テータス値が "0"( 現在書込み動作が行われていない ) となるまで待ちます。 手順 5. 同じように item 番号を変えながら 2 ∼ 4 を繰り返してフィルタテーブルを書 き込んでいきます。 ■ 設定方法 (1) L3/L4 フィルタテーブルを初期化する場合 手順 1. データレジスタ (FL_DATA) の設定 bit0 に "1" を設定します ( レコード無効の設定 )。 手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0A01H ビット名 値 FL_CMD の位置 id 0000B bit15 ∼ bit12 item 1010B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 手順 3. id ビット 1 ∼ 15 についても 2. と同様に設定します ( すべてのエントリを無効 にします )。 420 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ L3/L4 フィルタテーブル全体の設定方法 下記の条件のデータのみを通過させる設定例を示します。 • 宛先ポート番号 12 は , すべての宛先 IP アドレスを通過 • 宛先ポート番号 11 ∼ 20 は宛先 IP アドレス 192.168.1.1 ( ただし , 宛先ポート番号 15 は , 宛先 IP アドレス 192.168.1.2 だけ通過 ) テーブルを上から参照 (ID 番号順 ) し , 条件に一致した段階でパケットのフィルタリン グ処理を行うため , 条件の細かいものからテーブル番号の小さい順に設定する必要が あります。 1) フィルタモード設定レジスタにて , プロトコルタイプテーブルに一致するエントリ がないパケットについて破棄する設定 2) 宛先ポート番号 15, 宛先 IP アドレス 192.168.1.2 を有効 ( テーブル番号 0 番に設定 ) 3) 宛先ポート番号11∼14, 宛先IPアドレス 192.168.1.1を有効(テーブル番号1番に設定) 4) 宛先ポート番号16∼20, 宛先IPアドレス 192.168.1.1を有効(テーブル番号2番に設定) 5) 宛先ポート番号 12 を有効 ( テーブル番号 3 番に設定 ) 6) 残りのテーブル設定を無効にする。( テーブル番号 4 ∼ 15 番 ) ■ フィルタモード設定レジスタの設定 フィルタモード設定レジスタ (FL_CONTROL) の設定:設定値 0000_0080H ビット名 値 fi_control の位置 L3/L4 table 1 bit7 ■ ポート番号 15, IP アドレス 2 を有効 ( テーブル番号 0 番に設定 ) ● 宛先 IP アドレスの設定 手順 1. データレジスタ (FL_DATA) の設定 IP アドレス "192.168.1.2" を設定します。 手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0401H CM71-10131-1 ビット名 値 FL_CMD の位置 id 0000B bit15 ∼ bit12 item 0100B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 FUJITSU MICROELECTRONICS LIMITED 421 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ● 下限ポート番号フィールドの設定 手順 3. データレジスタ (FL_DATA) の設定 通過させる TCP の宛先ポート番号 "15" を bit31 ∼ bit16 に設定します。 図 12.4-19 データレジスタのビット構成 bit31 16 15 bit0 DES PORT LOWER SRC PORT LOWER 手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0801H ビット名 値 FL_CMD の位置 id 0000B bit15 ∼ bit12 item 1000B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 1 の設定 手順 5. データレジスタ (FL_DATA) の設定:設定値 0011_FF17H 422 ビット名 値 FL_DATA の位置 p 001B bit22 ∼ bit20 MR16 0 bit19 MR15 0 bit18 MR14 0 bit17 MR13 1 bit16 MR12 1 bit15 MR11 1 bit14 MR10 1 bit13 MR9 1 bit12 MR8 1 bit11 MR7 1 bit10 MR6 1 bit9 MR5 1 bit8 MR4 0 bit7 MR3 0 bit6 MR2 0 bit5 MR1 1 bit4 MR0 1 bit2 t 1 bit1 V 1 bit0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0A01H ビット名 値 FL_CMD の位置 id 0000B bit15 ∼ bit12 item 1010B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 2 の設定 手順 7. データレジスタ (FL_DATA) の設定:設定値 0000_0000H ビット名 値 FL_DATA の位置 PD 0 bit8 手順 8. コマンドレジスタ (FL_CMD) の設定:設定値 0000_0B01H ビット名 値 FL_CMD の位置 id 0000B bit15 ∼ bit12 item 1011B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ■ ポート番号 10 ∼ 14, IP アドレス 1 を有効 ( テーブル番号 1 番に設定 ) ● 宛先 IP アドレスの設定 手順 1. データレジスタ (FL_DATA) の設定 宛先 IP アドレス "192.168.1.1" を設定します。 手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_1401H CM71-10131-1 ビット名 値 FL_CMD の位置 id 0001B bit15 ∼ bit12 item 0100B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 FUJITSU MICROELECTRONICS LIMITED 423 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ● 下限ポート番号フィールドの設定 手順 3. データレジスタ (FL_DATA) の設定 破棄したい TCP の宛先ポート番号の下限 "11" を設定します。 図 12.4-20 データレジスタのビット構成 bit31 16 15 bit0 DES PORT LOWER SRC PORT LOWER 手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_1801H ビット名 値 FL_CMD の位置 id 0001B bit15 ∼ bit12 item 1000B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● 上限ポート番号フィールドの設定 手順 5. データレジスタ (FL_DATA) の設定 破棄したい TCP の宛先ポート番号の上限 "14" を設定します。 図 12.4-21 データレジスタのビット構成 bit31 16 15 bit0 DES PORT UPPER SRC PORT UPPER 手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_1901H 424 ビット名 値 FL_CMD の位置 id 0001B bit15 ∼ bit12 item 1001B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ● フィルタリングフィールド 1 の設定 手順 7. データレジスタ (FL_DATA) の設定:設定値 0019_FF17H ビット名 値 FL_DATA の位置 P 001B bit22 ∼ bit20 MR16 1 bit19 MR15 0 bit18 MR14 0 bit17 MR13 1 bit16 MR12 1 bit15 MR11 1 bit14 MR10 1 bit13 MR9 1 bit12 MR8 1 bit11 MR7 1 bit10 MR6 1 bit9 MR5 1 bit8 MR4 0 bit7 MR3 0 bit6 MR2 0 bit5 MR1 1 bit4 MR0 1 bit2 T 1 bit1 V 1 bit0 手順 8. コマンドレジスタ (FL_CMD) の設定 0000_1A01H を設定します。 ビット名 値 FL_CMD の位置 id 0001B bit15 ∼ bit12 item 1010B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 2 の設定 手順 9. データレジスタ (FL_DATA) の設定:設定値 0000_0000H CM71-10131-1 ビット名 値 FL_DATA の位置 PD 0 bit8 FUJITSU MICROELECTRONICS LIMITED 425 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 手順 10.コマンドレジスタ (FL_CMD) の設定:設定値 0000_1B01H ビット名 値 FL_CMD の位置 id 0001B bit15 ∼ bit12 item 1011B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ■ ポート番号 16 ∼ 20, IP アドレス 1 を有効 ( テーブル番号 3 番に設定 ) ● 宛先 IP アドレスの設定 手順 1. データレジスタ (FL_DATA) の設定 宛先 IP アドレス "192.168.1.1" を設定します。 手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2401H 表 12.4-6 ビット名 値 FL_CMD の位置 id 0010B bit15 ∼ bit12 item 0100B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● 下限ポート番号フィールドの設定 手順 3. データレジスタ (FL_DATA) の設定 破棄したい TCP の宛先ポート番号の下限 "16" を設定します。 図 12.4-22 データレジスタのビット構成 bit31 16 15 bit0 DES PORT LOWER SRC PORT LOWER 手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2801H 426 ビット名 値 FL_CMD の位置 id 0010B bit15 ∼ bit12 item 1000B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ● 上限ポート番号フィールドの設定 手順 5. データレジスタ (FL_DATA) の設定 破棄したい TCP の宛先ポート番号の上限 "20" を設定します。 図 12.4-23 データレジスタのビット構成 bit31 16 15 bit0 DES PORT UPPER SRC PORT UPPER 手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2901H ビット名 値 FL_CMD の位置 id 0010B bit15 ∼ bit12 item 1001B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 1 の設定 手順 7. データレジスタ (FL_DATA) の設定:設定値 0019_FF17H CM71-10131-1 ビット名 値 FL_DATA の位置 P 001B bit22 ∼ bit20 MR16 1 bit19 MR15 0 bit18 MR14 0 bit17 MR13 1 bit16 MR12 1 bit15 MR11 1 bit14 MR10 1 bit13 MR9 1 bit12 MR8 1 bit11 MR7 1 bit10 MR6 1 bit9 MR5 1 bit8 MR4 0 bit7 MR3 0 bit6 MR2 0 bit5 MR1 1 bit4 MR0 1 bit2 T 1 bit1 V 1 bit0 FUJITSU MICROELECTRONICS LIMITED 427 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 手順 8. コマンドレジスタ (FL_CMD) の設定:設定値 0000_2A01H ビット名 値 FL_CMD の位置 id 0010B bit15 ∼ bit12 item 1010B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 2 の設定 手順 9. データレジスタ (FL_DATA) の設定:設定値 0000_0000H ビット名 値 FL_DATA の位置 PD 0 bit8 手順 10.コマンドレジスタ (FL_CMD) の設定:設定値 0000_2B01H 428 ビット名 値 FL_CMD の位置 id 0010B bit15 ∼ bit12 item 1011B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ ■ 宛先ポート番号 12 を有効 ( テーブル番号 3 番に設定 ) ● 下限ポート番号フィールドの設定 手順 1. データレジスタ (FL_DATA) の設定 通過したい TCP の宛先ポート番号 "12" を設定します。 図 12.4-24 データレジスタのビット構成 bit31 16 15 bit0 DES PORT LOWER SRC PORT LOWER 手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_3801H ビット名 値 FL_CMD の位置 id 0011B bit15 ∼ bit12 item 1000B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 1 の設定 手順 3. データレジスタ (FL_DATA) の設定:設定値 0019_FF37H CM71-10131-1 ビット名 値 FL_DATA の位置 P 001B bit22 ∼ bit20 MR16 1 bit19 MR15 0 bit18 MR14 0 bit17 MR13 1 bit16 MR12 1 bit15 MR11 1 bit14 MR10 1 bit13 MR9 1 bit12 MR8 1 bit11 MR7 1 bit10 MR6 1 bit9 MR5 1 bit8 MR4 0 bit7 MR3 0 bit6 MR2 1 bit5 MR1 1 bit4 MR0 1 bit2 T 1 bit1 V 1 bit0 FUJITSU MICROELECTRONICS LIMITED 429 第 12 章 LAN コントローラ 12.4 MB91402/403 シリーズ 手順 4. コマンドレジスタ (FL_CMD) の設定:設定値 0000_3A01H ビット名 値 FL_CMD の位置 id 0011B bit15 ∼ bit12 item 1010B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ● フィルタリングフィールド 2 の設定 手順 5. データレジスタ (FL_DATA) の設定:設定値 0000_0000H ビット名 値 FL_DATA の位置 PD 0 bit8 手順 6. コマンドレジスタ (FL_CMD) の設定:設定値 0000_3B01H ビット名 値 FL_CMD の位置 id 0011B bit15 ∼ bit12 item 1011B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 ■ 残りのテーブル設定を無効 ( テーブル番号 4 ∼ 15 番 ) ● フィルタリングフィールド 1 の設定 手順 1. データレジスタ (FL_DATA) の設定:設定値 0000_0000H ビット名 値 FL_DATA の位置 V 0 bit0 手順 2. コマンドレジスタ (FL_CMD) の設定:設定値 0000_4A01H ビット名 値 FL_CMD の位置 id 0100B bit15 ∼ bit12 item 1010B bit11 ∼ bit8 table 0 bit4 cmd 1 bit0 手順 3. id ビット (FL_CMD.bit15 ∼ bit12) を変更して , 1.2. を繰り返す。 430 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 12.5 第 12 章 LAN コントローラ 12.5 SMI インタフェース SMI インタフェースについて説明します。 ■ SMI インタフェースの概要 SMI インタフェースには以下のような特長があります。 SMI I/F( シリアル通信 ) を通して PHY チップの MII レジスタにアクセスし , リンクス テータスを周期的に監視します。ポーリングの結果は MAC ブロックに送られますの で , ポーリング機能を利用して PHY の状態を取得してください。また , ホストから PHY レジスタへのアクセスは , このブロック中のコマンドレジスタ , データレジスタに値を セットすることで行われます。 <注意事項> PHY は , 内部データから LAN に送り出すためにデジタル←→アナログ化する機能を持っ た外付けチップです。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 431 第 12 章 LAN コントローラ 12.5 12.5.1 MB91402/403 シリーズ レジスタ一覧 SMI 関連のレジスタ一覧を説明します。 ■ SMI 関連のレジスタ一覧 図 12.5-1 SMI 関連のレジスタ一覧 bit31 アドレス 0110_0028H bit0 SMI_CMD SMI コマンドレジスタ 0110_002CH SMI_CMD_ST SMI コマンドステータスレジスタ 0110_0030H SMI_DATA SMI データレジスタ 0110_0034H SMI_POLLINTVL SMI ポーリングレジスタ 0110_0038H SMI_PHY_ADD 0110_003CH SMI_CONTROL SMI コントロールレジスタ 0110_0040H SMI_STATUS 0110_0044H SMI_INTENABLE SMI リンクレジスタ 0110_0048H SMI_MDCDIV SMIPHY アドレスレジスタ SMI ステータスレジスタ SMIMDC クロック選択レジスタ :使用領域 空白 :未使用領域 リードアクセスオンリ 432 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ 12.5.2 レジスタ詳細 SMI 関連のレジスタの詳細を説明します。 ■ SMI コマンドレジスタ : SMI_CMD コマンドレジスタは PHY デバイスの MII レジスタへアクセスする際 , 書込みや読出し のコマンドを発行するレジスタです。ワードでアクセスしてください。 図 12.5-2 SMI コマンドレジスタのビット構成 アドレス bit31 16 0110 0028H 15 Access type − X RX/WX 14 13 12 − 8 7 5 4 bit0 reg add − phy add 0 R/W X RX/WX 0 R/W 0 X R/W RX/WX 初期値 属性 [bit31 ∼ bit16] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit15]: Access type:コマンド Access type 書込み動作 0 読み出す 1 書き込む [bit14, bit13] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit12 ∼ bit8]: reg add:アクセスレジスタ指定 MII register のアドレスを指定します。 [bit7 ∼ bit5] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit4 ∼ bit0]: phy add:PHY アドレス PHY chip のアドレスを指定します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 433 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMI コマンドステータスレジスタ : SMI_CMD_ST PHY デバイスへアクセスする際の制御用ステータスレジスタです。ワードでアクセス してください。 図 12.5-3 SMI コマンドステータスレジスタのビット構成 アドレス bit31 2 0110 002CH 1 0 cmd_er cmd_st − X RX 0 R 0 R 初期値 属性 [bit31 ∼ bit2] 予約 : 予約ビット 読出し値は不定です。 [bit1]: cmd_er:エラー cmd_er 読出し動作 0 エラーのない場合 1 PHY デバイスの MII レジスタへのアクセスが失敗した場合 • アクセスが失敗する主な理由は PHY デバイスがダウンしていることです。 • 次のコマンドが成功するまでクリアされません。 [bit0]: cmd_st:PHY アクセス cmd_st 読出し動作 0 PHY デバイスへアクセスなし 1 現在 , ハードウェアが PHY デバイスにアクセスを行っている コマンド実行終了と同時にクリアされます。 434 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMI データレジスタ : SMI_DATA コマンドレジスタは PHY デバイスの MII レジスタへアクセスする際 , 書込みや読出し のコマンドを発行するレジスタです。ワードでアクセスしてください。 図 12.5-4 SMI データレジスタのビット構成 アドレス bit31 0110 0030H 16 15 − X RX/WX bit0 data 0 R/W 初期値 属性 [bit31 ∼ bit16] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit15 ∼ bit0]: data:データ SMI_CMD で指定された PHY デバイスの MII レジスタに対して書き込むべきデー タを格納します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 435 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMI ポーリングレジスタ : SMI_POLLINTVL PHY デバイスにアクセスする際の周期を設定するレジスタです。ワードでアクセスし てください。 図 12.5-5 SMI ポーリングレジスタのビット構成 アドレス bit31 16 15 0110 0034H bit0 Pollintvl 0 R/W − X RX/WX 初期値 属性 [bit31 ∼ bit16] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit15 ∼ bit0]: Pollintvl:ポーリングサイクル Pollintvl 0 1∼ 書込み動作 ポーリングしない ポーリングする際の周期を表す。 • PHY デバイスへ定期的にアクセス ( ポーリング ) する際の周期を設定します。 320 µs (128 サイクル× 5 @ 2 MHz) が 1 単位です。 • 2 MHz という値は MDC で供給する分周クロックの値に関係しており , MDC レジ スタにより設定されます。詳しくは「■ SMIMDC クロック選択レジスタ : SMI_MDCDIV」 を参照してください (MDC とは Management Data Clock の略で , PHY と MB91402/403 シリーズとの間のクロックです )。 436 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMIPHY アドレスレジスタ : SMI_PHY_ADD ポーリングを行う際に使用する PHY デバイスのアドレス設定するレジスタです。ワー ドでアクセスしてください。 図 12.5-6 SMIPHY アドレスレジスタのビット構成 アドレス bit31 0110 0038H 5 4 − X RX/WX bit0 phy_add 0 R/W 初期値 属性 [bit31 ∼ bit5] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit4 ∼ bit0]: phy_add:PHY アドレス PHY デバイス用アドレスを指定します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 437 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMI コントロールレジスタ : SMI_CONTROL PHY デバイスの動作モードを設定するレジスタです。ワードでアクセスしてください。 図 12.5-7 SMI コントロールレジスタのビット構成 アドレス bit31 3 0110 003CH 2 1 0 − LS_ mode LD_ mode LA_ mode X RX/WX 1 R/W 1 R/W 1 R/W 初期値 属性 [bit31 ∼ bit3] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit2]: LS_mode:通信速度 LS_mode 書込み動作 0 10BASE の速度で通信する。 1 100BASE の速度で通信する。 [bit1]: LD_mode:通信モード LD_mode 書込み動作 0 半二重モードとなる。 1 全二重モードとなる。 "1" を設定した場合でも , ポーリングを行い PHY デバイスのステータスを取得しな いと MAC ブロックに反映されません。 [bit0]: LA_mode:オートリンク LA_mode 書込み動作 0 オートリンクを無効にする。 1 オートリンクを有効にする。 bit0 が "1" にセットされている場合には , LS_mode [bit2], LD_mode [bit1] の設定は無 効です。 438 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMI ステータスレジスタ : SMI_STATUS リンクの状態にかかわるステータスレジスタです。ワードでアクセスしてください。 図 12.5-8 SMI ステータスレジスタのビット構成 アドレス bit31 5 0110 0040H 4 3 2 1 0 − Link Status Change Link Status Link Speed Link Duplex Link Auto X RX 1 0 1 1 0 初期値 R/WX R/WX R/WX R/WX R/WX 属性 [bit31 ∼ bit4] 予約 : 予約ビット 読出し値は不定です。 [bit4]: Link Status Change:ステータスチェンジ Link Status 読出し動作 0 リンクアップまたはリンクダウン / スピード /duplex モード / オート ネゴシエーションに変化なし 1 リンクアップまたはリンクダウン / スピード /duplex モード / オート ネゴシエーションに変化あり • SMI_INTENABLE レジスタの Link Status [bit0] に "1" がセットされている場合 , Link Status Change が "1" になると割込みがアサートされます ( 読出しクリア )。 • オートネゴシエーションが許可のときにのみ有効です。 [bit3]: Link Status:リンク Link Status 読出し動作 0 リンクダウンを示します。 1 リンクアップを示します。 [bit2]: Link Speed:通信速度 Link Speed 読出し動作 0 10BASE の速度で通信しています。 1 100BASE の速度で通信しています。 [bit1]: Link Duplex:通信モード Link Duplex CM71-10131-1 読出し動作 0 半二重モードで通信しています。 1 全二重モードで通信しています。 FUJITSU MICROELECTRONICS LIMITED 439 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ [bit0]: Link Auto:オートリンク Link Auto 440 読出し動作 0 オートリンクが無効となっています。 1 オートリンクが有効となっています。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ 割込みイネーブルレジスタ : SMI_INTENABLE ステータスレジスタ (SMI_ATATUS) の値が変化したときの割込みを制御するレジスタ です。ワードでアクセスしてください。 図 12.5-9 割込みイネーブルレジスタのビット構成 アドレス bit31 1 0 − Link Status Change X RX/WX 0 R/W 0110 0044H 初期値 属性 [bit31 ∼ bit1] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit0]: Link Status Change:割込みイネーブル Link Status Change 書込み動作 0 リンク・ステータス変更割込みを無効にします。 1 リンク・ステータス変更割込みを有効にします。 bit0 が "1" にセットされている場合 , SMI_STATUS レジスタの bit4 が "1" になると 割込みがアサートされます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 441 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ■ SMIMDC クロック選択レジスタ : SMI_MDCDIV システムクロックから MDC 用の分周クロックを生成するために使用するレジスタで す。ワードでアクセスしてください。 図 12.5-10 SMIMDC クロック選択レジスタのビット構成 アドレス bit31 5 4 0110 0048H − X RX/WX 0 mdcdiv 01011 R/W 初期値 属性 [bit31 ∼ bit5] 予約 : 予約ビット • 読出し値は不定です。 • 書き込んだ値は動作に影響を与えません。 [bit4 ∼ bit0]: mdcdiv:分周値 分周クロック生成用の値を設定する ( この値は , 生成時の計算に使用される )。 [ 計算式 ] 分周値 (Hz)= システムクロック (Hz) ÷ (smi_mdcdiv レジスタ値+ 1) ÷ 2 442 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 12.5.3 第 12 章 LAN コントローラ 12.5 動作説明 SMI インタフェースの動作を説明します。 ■ SMI のレジスタによる PHY デバイス ( レジスタ ) へのアクセス ● PHY デバイス MII レジスタの読出し手順 1) cmd_st ビット (SMI_CMD_ST. cmd_st) が , "0"(PHY デバイスにアクセスなし ) である ことを確認する。 2) Access type ビット (SMI_CMD. Access type) に "0"( 読出しを行う ) をセットする。 phy add ビット (SMI_CMD. phy add) に PHY chip のアドレスをセットする。 ポーリング周期ビット (SMI_POLLINTVL.Pollintvl) にすべて "0"( ポーリングしない ) をセットする(SMIコントロールブロックからポーリングが行われている場合, ホスト からのコマンドは無視されます。SMI_POLLINTVL レジスタに 16’h0000 をセットする と , SMI コントロールブロックからのポーリングを停止できます )。 ( ハードの処理 ) 3) Command レジスタに書き込まれた設定に従って , PHY デバイスとの通信が始まりま す。PHY デバイスはコマンドに従って指定されたアドレスの PHY レジスタからデー タを読み出します。(cmd_st ビット (SMI_CMD_ST. cmd_st) が "1"( 現在 , ハードウェ アが PHY デバイスへアクセスを行っている ) となります。 4) cmd_st ビット (SMI_CMD_ST.cmd_st) が "0"(PHY デバイスにアクセスなし ) になっ たことを確認する ( 読出し完了 )。 5) cmd_er ビット (SMI_CMD_ST.cmd_er) が "0"( エラーなし ) であることを確認する (SMI_CMD_ST レジスタのビット 1 にセットされていた場合 , 読出し動作が失敗であ ることを示します。この場合 , SMI_DATA レジスタには正しい値が取り込まれてい ません )。 6) data ビット (SMI_DATA.data) を読み出す (SMI_DATA レジスタから値を読み出す )。 ● PHY デバイス MII レジスタの書込み手順 1) data ビット (SMI_DATA.data) に PHY デバイスに書き込みたいデータを格納する。 2) cmd_st ビット (SMI_CMD_ST.cmd_st) が "0"(PHY デバイスにアクセスなし ) である ことを確認する。 Access type ビット (SMI_CMD.Access type) に "1"( 書込みを行う ) をセットする。 ポーリング周期ビット (SMI_POLLINTVL.Pollintbl) にすべて "0"( ポーリングしない ) をセットする (SMI_POLLINTVL レジスタについては , 読出しのときと同じ設定をし ておきます )。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 443 第 12 章 LAN コントローラ 12.5 MB91402/403 シリーズ ( ハードの処理 ) 3) SMI_DATA レジスタ , SMI_CMD レジスタに書き込まれた設定に従って , PHY デバ イスとの通信が始まります。PHY デバイスはこのコマンドに従って指定されたアド レスのPHYレジスタへデータを書き込みます。(cmd_stビット(SMI_CMD_ST.cmd_st) が "1" ( 現在 , ハードウェアが PHY デバイスへアクセスを行っている ) となります。 4) cmd_st ビット (SMI_CMD_ST.cmd_st) が "0" (PHY デバイスにアクセスなし ) になっ たことを確認する ( 書込み完了 )。 ● ポーリング ポーリングの前に , まず SMI I/F ブロックは PHY チップの初期化を行います。初期化 は, コントロールレジスタの設定に従い, PHYデバイスのMIIレジスタ0(control register), 4(autonegotiation advertise register) に書き込みます。オートネゴシエーションを許可にす る場合は , オートネゴシエーションリスタートをします。その後 , オートネゴシエー ションに必要と見られる時間だけ待ってポーリング動作に移ります。 以下にこの動作の説明を行います。 1) コントロールレジスタの中身が変わっている場合 ( オートネゴシエーションイネー ブル , スピード , duplex mode), MII レジスタ 0, 4 の設定を行います。 2) そうでない場合は , MII レジスタ 1(status register) を読み出します。 3) リンクがダウンしていると , 対応する interrput bit をセットします。 4) オートネゴシエーションに対応していない場合は , 対応する interrupt bit をセットし て , 次のインタフェースに移ります。 ( ハードの処理 ) 5) オートネゴシエーションが完了していない場合には , 何もしません。 6) オートネゴシエーションが完了している場合は , MII レジスタ 5 を読み出して動作 モード ( スピード , duplex) を判断します。 7) 結果がステータスレジスタに反映されます。 444 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO MPU/GPIO の概要 , 構成図 , 信号 , アドレス , レジ スタ , MPU IF 動作 , および GPIO 動作について説 明します。 13.1 MPU/GPIO の概要 13.2 構成図 13.3 信号 13.4 アドレス一覧 13.5 レジスタ詳細説明 13.6 MPU IF 動作説明 13.7 GPIO (Port A) 動作説明 13.8 GPIO (Port B) 動作説明 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 445 第 13 章 MPU IF/GPIO 13.1 MB91402/403 シリーズ MPU/GPIO の概要 13.1 MPU/GPIO の概要を説明します。 ■ MPU IF スレーブバスとして機能して, 外部のMCUと直接データ通信を行うためのポートで, 16 ビットまたは 8 ビットで通信することができます。 大量のデータ送受信を実現する大容量送受信 FIFO と通信用のレジスタにより構成さ れ , CPU 負荷の軽減とともに , 効率の良い通信を実現します。 ■ GPIO 4 ビットの専用汎用入出力ポート (Port A) と , MPU IF の端子を共有ピンとした最大 22 ビットの汎用入出力ポート (Port B) を備えており , さまざまな用途に使用できます。 Port A に関しては , 入力ポート設定時において , 信号変化における割込み発生機能を備 えております。 ■ MPU/GPIO の特長 ● 8/16 ビットデータインタフェース GPIO(General Purpose I/O:Port B) と共通のため , 以下の使い方ができます。 ① MPU IF のみ (16 ビット ) ② MPU IF(8 ビット ), GPIO(8 ビット ) ③ GPIO(22 ビット ) ● 768 バイトシングルポート RAM × 2 面構成の RX_FIFO RX_FIFO は 2 面で構成され , 一方の面が書き込まれている間に , もう一方の面を読み 込むことができます。書込み途中の場合は , 書込み動作と読出し動作の競合を避けるた め , 読出し禁止データサイズに動作中のデータサイズが格納されます。 ● 1536 バイトデュアルポート RAM × 1 面構成の TX_FIFO TX_FIFO はデュアルポート RAM(1 面 ) で構成され , 本チップ内部からのデータ書込み と , 外部からのデータ読出しを同時に行えます。 ● 送受信レジスタ 大量のデータ送受信を実現する FIFO 以外に , 通信制御を目的とした送受信レジスタを それぞれ 16 ビット備えています。これにより , データを送受信中においても通信制御 を可能にします。 ● DMA 送受信機能 FR コアの DMA コントローラを使用して RX_FIFO および TX_FIFO への DMA 転送を 行うことができます。また , RX_FIFO への DMA 転送時にのみ , DMA コントローラに よるフライバイ (I/O →メモリ ) 転送が可能とし , 高速なデータ送受信を実現します。 446 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 13 章 MPU IF/GPIO 13.1 ● 専用汎用入出力ポート (Port A) MPU IF と共有される汎用入出力ポート (Port B) 以外に , 専用の汎用入出力ポート PA3 ∼ PA0 (4 ビット ) を備えています。 レジスタ設定により , ビットごとの入出力選択が可能です。また , 入力選択時において は , 入力信号の変化に応じて割込み信号を発生する機能があります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 447 第 13 章 MPU IF/GPIO 13.2 13.2 MB91402/403 シリーズ 構成図 図 13.2-1 に MPU/GPIO のブロックダイヤグラムを示します。 ■ MPU/GPIO のブロックダイヤグラム 図 13.2-1 MPU/GPIO のブロックダイヤグラム シリアル通信 外部CPU など FRコア PA3~PA0 GPIO(Port A) 入力信号変化 割込み GPIO(Port B) Rx FIFO Tx_ REG BUS IF データセレクタ 外部IF通信 受信割込み ・REG Data In ・RxFIFO Full Rx_ REG MIFD15~MIFD0/ PB15~PB0 Tx FIFO MIFCS/PB21 MIFA/PB20 MIFRD/PB19 制御部 MIFWR/PB18 MIFDRQR/PB17 MIFPRQT/PB16 MPU IF MB91402/403シリーズ 448 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.3 MB91402/403 シリーズ 13.3 信号 表 13.3-1 に MPU/GPIO の信号を示します。 ■ 信号の一覧 表 13.3-1 信号の一覧 端子名 名称 MIFD15 ∼ MIFD0/ 入力・出力データバス / PB15 ∼ PB0 汎用 I/O ポート 入出力 機能 入出力 [MIFD15 ∼ MIFD0] データ入力・出力端子。 [PB15 ∼ PB0] 汎用入出力ポート MIFCS/ PB21 チップセレクト信号 / 汎用 I/O ポート 入力 / 入出力 [MIFCS] チップセレクト信号入力端子。 ローアクティブです。 PB21 : 汎用入出力ポート EXA/ PB20 アドレス信号 / 汎用 I/O ポート 入力 / 入出力 EXA アドレス信号入力端子。"0" のとき , レジスタ選択。"1" のとき , データ選 択。 PB20 : 汎用入出力ポート MIFRD/ PB19 リードストローブ信号 / 汎用 I/O ポート 入力 / 入出力 MIFRD リードストローブ信号入力端子。 ローアクティブです。 PB19 : 汎用入出力ポート MIFWD/ PB18 ライトバイトトローブ 信号 / 汎用 I/O ポート 入力 / 入出力 MIFRD ライトバイトストローブ信号入力端 子。ローアクティブです。 PB18 : 汎用入出力ポート 出力 / 入出力 MIFDRQR 受信データ要求信号端子。ロー アクティブです。 外部 MCU → MB91402/403 シ リーズへのデータ要求です。 外部に , データ受信可能である ことを示す信号です。 PB17 : 汎用入出力ポート MIFDRQR/ PB17 受信データ要求信号 / 汎用 I/O ポート MIFDRQT/ PB16 送信データ要求信号 / 汎用 I/O ポート 出力 / 入出力 MIFDRQT 送信データ要求信号出力端子。 ローアクティブです。 MB91402/403 シリーズ→外部 MCU へのデータ要求です。 外部に , 送信データがあることを 示す信号です。 PB16 : 汎用入出力ポート PA3 ∼ PA0 汎用 I/O ポート 入出力 [PA3 ∼ PA0] 汎用入出力ポート CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 449 第 13 章 MPU IF/GPIO 13.4 13.4 MB91402/403 シリーズ アドレス一覧 表 13.4-1 に MPU/GPIO のアドレス一覧を示します。 ■ アドレス一覧 表 13.4-1 アドレス一覧 ブロック MPU IF R/W 初期値 MPU.IF RX データレジス 0114 _0000H MIFRXDR 32 ビット タ R 32'hxxxxxxxx MPU.IF TX データレジス MIFTXDR 32 ビット 0114 _0004H タ W 32'h0 0114 _0008H MPU.IF RX レジスタ MIFRXR 16 ビット R 16'h0 0114 _000CH MPU.IF TX レジスタ MIFTXR 16 ビット W 16'h0 0114 _0010H MPU.IF 制御レジスタ MIFCR 11 ビット R/W MPU.IF ステータスレジ 0114 _0014H スタ MIFSR 10 ビット R 10'b0 MPU.IF RX FIFO ステー 0114 _0018H タスレジスタ MIFRXSR 32 ビット R 32'h0 MPU.IF TX FIFO ステー 0114 _001CH タスレジスタ MIFTXSR 32 ビット R 32'h06000000 アドレス レジスタ名 0114 _0020H PA 制御レジスタ GPIO (PORT A) 0114 _0024 H PA データレジスタ 0114 _0030H PB 制御レジスタ GPIO (PORT B) 0114 _0034 H PB データレジスタ 450 略称 サイズ 9'b0 PACR 9 ビット R/W 9'b0 PADR 8 ビット R/W 接続先を反映 PBCR 9 ビット R/W 22'b0 PBDR 8 ビット R/W 接続先を反映 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 13.5 第 13 章 MPU IF/GPIO 13.5 レジスタ詳細説明 レジスタの各ビットへのアクセス制限を表す記号を説明します。 ■ レジスタ詳細説明の見方 [ 記号 ] R : 読出し可能 R0 : 常に "0" R1 : 常に "1" RX : 不定 W : 書込み可能 W0 : 常に "0" 書込み W1 : 常に "1" 書込み WX : 書込み無効 [ 組合せ ] "/" と "," R/W : 書き込んだデータを読み出せる R, W : 書込みと読出しでビットの意味が異なる [ リードモディファイライト (RMW) 系命令への対応 ] "(" ")" の利用 R(RM1)/W : 書き込んだ値を読出し可能 (RMW 時の読出しは常に "1") R(RM1), W : 読出し可能 (RMW 時は常に "1"), 書込み可能 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 451 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ MPU IF RX データレジスタ :MIFRXDR RX_FIFO に接続されるデータレジスタです。 図 13.5-1 MPU IF RX データレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0000H RD31 RD30 RD29 RD28 RD27 RD26 RD25 RD24 RD23 RD22 RD21 RD20 RD19 RD18 RD17 RD16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R R R R R R R R R R R R R R R R 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 0002H RD15 RD14 RD13 RD12 RD11 RD10 RD9 RD8 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R R R R R R R R R R R R R R R R 属性 R : リードオンリ [bit31 ∼ bit0] RD31 ∼ RD0 : RD DATA レジスタ • RX_FIFO に接続されるデータレジスタです。 • アクセスするたびに , 内部にてアドレスをインクリメントして , RX_FIFO のデー タを出力します。 ■ MPU IF TX データレジスタ :MIFTXDR TX_FIFO に接続されるデータレジスタです。 図 13.5-2 MPU IF TX データレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0004H TD31 TD30 TD29 TD28 TD27 TD26 TD25 TD24 TD23 TD22 TD21 TD20 TD19 TD18 TD17 TD16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 W W W W W W W W W W W W W W W W 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 0006H TD15 TD14 TD13 TD12 TD11 TD10 TD9 TD8 TD7 TD6 TD5 TD4 TD3 TD2 TD1 TD0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 W W W W W W W W W W W W W W W W 属性 W : ライトオンリ [bit31 ∼ bit0] TD31 ∼ TD0 : TX DATA レジスタ • TX_FIFO に接続されるデータレジスタです • アクセスするたびに , 内部にてアドレスをインクリメントして , TX_FIFO のデー タを書き込みます。 452 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ MPU IF RX レジスタ :MIFRXR 外部より , RX_REG に入力された値を示すレジスタです。 図 13.5-3 MPU IF RX レジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0008H RR15 RR14 RR13 RR12 RR11 RR10 RR9 RR8 RR7 RR6 RR5 RR4 RR3 RR2 RR1 RR0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R R R R R R R R R R R R R R R R 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 0009H − X RX 初期値 属性 R : リードオンリ [bit31 ∼ bit16] RR15 ∼ RR0 : RX_REG • 外部より , RX_REG に入力された値を示します。 • MIFCRレジスタのbit11, bit10:SELが"00B"の場合, RR15∼RR0が有効になります。 • MIFCRレジスタのbit11, bit10:SELが"01B"の場合, RR15∼RR8が有効になります。 • MIFCR レジスタの bit11, bit10:SEL が "1xB" の場合 , 無効になります。 [bit15 ∼ bit0] 予約 : 予約ビット 読出し値は不定です。 ■ MPU IF TX レジスタ :MIFTXR TX_REG への入力レジスタです。 図 13.5-4 MPU IF TX レジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 000CH TR15 TR14 TR13 TR12 TR11 TR10 TR9 TR8 TR7 TR6 TR5 TR4 TR3 TR2 TR1 TR0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 000EH − X WX 初期値 属性 [bit31 ∼ bit16] TR15 ∼ TR0 : TX_REG • TX_REG への入力レジスタです。 • MIFCRレジスタのbit11, bit10:SELが"00B"の場合, TR15∼TR0が有効になります。 • MIFCRレジスタのbit11, bit10:SELが"01B"の場合, TR15∼TR8が有効になります。 • MIFCR レジスタの bit11, bit10:SEL が "1xB" の場合 , 無効になります。 [bit15 ∼ bit0] 予約 : 予約ビット 書き込んだ値は動作に影響を与えません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 453 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ MPU IF 制御レジスタ :MIFCR TX_FIFO, RX_FIFO の動作指示を行うレジスタです。 図 13.5-5 MPU IF 制御レジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0010H − X 初期値 WX 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − SEL TX_ RX_ TX_ INT_ INT_ DMA_ DMA_ DMA_ TX_ RX_ ENA ENA ENA EMP FULL X WX 0 R/W 0 0 0 0 0 0 0 0 0 初期値 R/W R/W R/W R/W R/W R/W R/W R/W R/W 属性 0114 0012H TX_ CLR RX_ CLR TX_ RX_ STAT STAT [bit31 ∼ bit11] 予約 : 予約ビット 書き込んだ値は動作に影響を与えません。 [bit10, bit9] SEL : IF 選択制御 SEL モード 00B MPU IF:16 ビットバスモードが有効となります。 01B MPU IF:8 ビットバスモード + Port B7 ∼ Port B0 が有効となります。 1xB Port B21 ∼ Port B0 が有効となります。 [bit8] TX_DMA_ENA : TX_FIFO DMA 転送制御 TX_DMA_ENA モード 0 TX_FIFO 領域が空のとき , DREQ 信号 (TX_FIFO データの DMA 転送要求信号 ) を有効にしません。 1 TX_FIFO 領域が空のとき , DREQ 信号 (TX_FIFO データの DMA 転送要求信号 ) を有効にします。 DREQ 信号は , フルになる前の DMA 書込み終了後に無効にします。 [bit7] RX_DMA_ENA : RX_FIFO DMA 転送制御 RX_DMA_ENA モード 0 RX_FIFO 領域 (A 面または B 面 ) がフルのとき , DREQ 信号を出 力しません。 1 RX_FIFO 領域 (A 面または B 面 ) がフルのとき , DREQ 信号を出 力します。 RX_FIFO は 2 面で構成されており , それぞれがフルになるごとに DREQ 信号を出力 します。DREQ 信号は , RX_FIFO を読み出して , 空になる 1 つ前の DMA 読出し終 了後に無効とします。 454 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ [bit6] INT_TX_ENA : TX_FIFO エンプティ割込み制御 INT_TX_ENA モード 0 TX_FIFO 領域が空のとき , 割込みは発生しません。 1 TX_FIFO 領域が空のとき , 割込みが発生します。 DREQ 信号は , フルになる前の DMA 書込み終了後に無効にします。 [bit5] INT_RX_FULL : RX_FIFO フル割込み制御 INT_RX_FULL モード 0 RX_FIFO 領域 (A 面または B 面 ) がフルのとき , 割込みは発生しま せん。 1 RX_FIFO 領域 (A 面または B 面 ) がフルのとき , 割込みが発生しま す。 RX_FIFO は 2 面で構成されており , それぞれがフルになるごとに割込み信号が発生 します。 [bit4] INT_RX_REG_I : RX_REG データイン割込み制御 INT_RX_REG_I モード 0 RX_REG にデータが入力されたとき , 割込みは発生しません。 1 RX_REG にデータが入力されたとき , 割込みが発生します。 [bit3] TX_CLR : TX_REG/FIFO クリア制御 TX_CLR モード 0 処理なし。 1 TX_REG, および TX_FIFO アドレスをクリアします。 "1" を設定した場合 , クリア後自動的に "0" にリセットされます。 [bit2] RX_CLR : RX_REG/FIFO クリア制御 RX_CLR モード 0 処理なし。 1 RX_REG, および RX_FIFO アドレスをクリアします。 "1" を設定した場合 , クリア後自動的に "0" にリセットされます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 455 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ [bit1] TX_STAT : 外部データ送信制御 TX_STAT モード 0 外部インタフェースより , データ送信は行いません。 1 外部インタフェースより , データ送信を行います。 [bit0] RX_STAT : 外部データ受信制御 RX_STAT 456 モード 0 外部インタフェースより , データ受信は行いません。 1 外部インタフェースより , データ受信を行います。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ MPU IF ステータスレジスタ :MIFSR TX_FIFO, RX_FIFO のステータス状況を示すレジスタです。 図 13.5-6 MPU IF ステータスレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0014H − X 初期値 RX 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 0016H TX_FIFO − X RX 0 R 0 R RX_FIFO_ RX_FIFO_ TX_ RX_ REG_ REG_ B A OUT IN 0 R 0 R 0 R 0 R 0 R 0 R 初期値 属性 [bit31 ∼ bit8] 予約 : 予約ビット 読出し値は不定です。 [bit7, bit6] TX_FIFO : TX_FIFO ステータス TX_FIFO モード 00B TX_FIFO 領域にはデータがありません ( クリアした場合も )。 01B TX_FIFO 領域にはデータがあります。 10B TX_FIFO 領域は , データフルになりました。 11B 予約 [bit5, bit4] RX_FIFO_B : RX_FIFO ステータス SIDE-B(2 面ある RX_FIFO 領域の B 面 のステータス状況 ) RX_FIFO_B モード 00B RX_FIFO 領域 (B 面 ) にはデータがありません ( クリアした場合も )。 01B RX_FIFO 領域 (B 面 ) にはデータがあります。 10B RX_FIFO 領域 (B 面 ) は , データフルになりました。 11B 予約 [bit3, bit2] RX_FIFO_A : RX_FIFO ステータス SIDE-A(2 面ある RX_FIFO 領域の A 面 のステータス状況 ) RX_FIFO_A CM71-10131-1 モード 00B RX_FIFO 領域 (A 面 ) にはデータがありません ( クリアした場合も )。 01B RX_FIFO 領域 (A 面 ) にはデータがあります。 10B RX_FIFO 領域 (A 面 ) は , データフルになりました。 11B 予約 FUJITSU MICROELECTRONICS LIMITED 457 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ [bit1] TX_REG_OUT : TX_REG 出力 ステータス TX_REG_OUT モード 0 TX_REG からのデータ出力はありません ( クリアした場合も )。 1 TX_REG からのデータ出力がありました。 読出し処理を行うと "0" にリセットされます。 [bit0] RX_REG_IN : RX_REG 入力ステータス RX_REG_IN モード 0 外部ホストから RX_REG へのデータ入力はありません ( クリアした場合も )。 1 外部ホストから RX_REG へのデータ入力がありました。 読出し処理を行うと "0" にリセットされます。 458 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 13 章 MPU IF/GPIO 13.5 ■ MPU IF RX FIFO ステータスレジスタ :MIFRXSR RX_FIFO の読出し可能データサイズを示すレジスタです。 図 13.5-7 MPU IF RX FIFO ステータスレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0018H AP_RXSIZE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R R R R R R R R R R R R R R R R 属性 0114 001AH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DISAP_RXSIZE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R R R R R R R R R R R R R R R R 属性 [bit31 ∼ bit16] AP_RXSIZE: RX_FIFO 読出し許可データサイズ ( 単位はバイト ) • RX_FIFO から読出し可能なデータサイズを示します。 • 読出し許可データサイズを超えて, データを読み出すと正しいデータが反映され ません。 [bit15 ∼ bit0] DISAP_RXSIZE:RX_FIFO 読出し禁止データサイズ ( 単位はバイト ) RX_FIFO から読出し禁止のデータサイズを示します。 <注意事項> RX_FIFO はシングルポート RAM を 2 面で構成しており , 片方の面が読み出されている間 にもう一方の面を書き込むダブルバッファになっております。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 459 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ MPU IF TX FIFO ステータスレジスタ :MIFTXSR TX_FIFO の書込み可能データサイズを示すレジスタです。 図 13.5-8 MPU IF TX FIFO ステータスレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 001CH AP_TXSIZE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 初期値 R R R R R R R R R R R R R R R R 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 001EH − X RX 初期値 属性 [bit31 ∼ bit16] AP_TXSIZE: TX_FIFO 書込み許可データサイズ ( 単位はバイト ) TX_FIFO への書込み可能なデータサイズを示します。 <注意事項> TX_FIFO はデュアルポート RAM を 1 面で構成しており , 本チップ内部からの書込みと外 部インタフェースからのデータ読出しを同時に行うことができます。 [bit15 ∼ bit0] 予約 : 予約ビット 読出し値は不定です。 460 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ Port A コントロールレジスタ :PACR Port A の制御レジスタです。 図 13.5-9 Port A コントロールレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0020H − X 初期値 RX 属性 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0114 0022H − X RX INTE N 0 R/W − 0 R/W PADIR 0 R/W 初期値 属性 [bit31 ∼ bit9] 予約 : 予約ビット 読出し値は不定です。 [bit8] INTEN : 割込み許可制御 入力設定時 , 信号変化時の割込み信号発生許可制御ビットです。 INTEN モード 0 信号変化時の割込み信号を発生しません。 1 信号変化時の割込み信号を発生します。 [bit7 ∼ bit4] 予約 : 予約ビット [bit3 ∼ bit0] PADIR : Port A 方向制御 各 Port A ビットの方向制御を行います。 PADIR[x] モード 0 入力 1 出力 各ビットは , 以下の端子に割り当てられます。 bit3 : PA3 bit2 : PA2 bit1 : PA1 bit0 : PA0 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 461 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ Port A データレジスタ :PADR Port A のデータレジスタです。 図 13.5-10 Port A データレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0024H − X 初期値 RX 属性 0114 0026H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PADATA − X − 初期値 RX R/W 属性 [bit31 ∼ bit4] 予約 : 予約ビット 読出し値は不定です。 [bit3 ∼ bit0] PADATA : Port A データ 各 Port A ビットのデータが反映されます。 各ビットは , 以下の端子に割り当てられます。 bit3 : PA3 bit2 : PA2 bit1 : PA1 bit0 : PA0 462 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ Port B 制御レジスタ :PBCR Port B の制御レジスタです。 図 13.5-11 Port B 制御レジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0030H PBDIR − X 0 初期値 RX R/W 属性 0114 0032H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PBDIR 0 初期値 R/W 属性 [bit31 ∼ bit22] 予約 : 予約ビット 読出し値は不定です。 [bit21 ∼ bit0] PBDIR : Port B 方向制御 各 Port B ビットの方向制御を行います。 PBDIR[x] モード 0 入力 1 出力 各ビットは , 以下の端子に割り当てられます。 bit21 ∼ bit0 ↔ PB21 ∼ PB0 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 463 第 13 章 MPU IF/GPIO 13.5 MB91402/403 シリーズ ■ Port B データレジスタ :PBDR Port B のデータレジスタです。 図 13.5-12 Port B データレジスタのビット構成 bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 アドレス 0114 0034H PBDATA − X − 初期値 RX R/W 属性 0114 0036H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PBDATA − 初期値 R/W 属性 [bit31 ∼ bit22] 予約 : 予約ビット 読出し値は不定です。 [bit21 ∼ bit0] PBDATA : Port B データ 各 Port B ビットのデータが反映されます。 各ビットは , 以下の端子に割り当てられます。 bit21 ∼ bit0 ↔ PB21 ∼ PB0 464 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.6 MB91402/403 シリーズ 13.6 MPU IF 動作説明 MPU IF の動作を説明します。 ■ 受信動作 • データ受信要求信号(MIFDRQR)が有効となっているときに , 外部からのデータ書込 み処理が行われると , アドレス信号 (MIFA) に応じて RX_REG および RX_FIFO への 書込みが行われます。 • RX_REG への書込みが発生した場合 , MIFSR:bit0 に "1" が書き込まれます。 • データ受信は , 2 面の RX_FIFO を使用して交互に行います。それぞれの RX_FIFO が フルとなった場合 , RX-FIFO ステータス SIDE-B[MIFSR:bit5, bit4], RX-FIFO ステー タス SIDE-A[MIFSR:bit3, bit2] に "10B" が書き込まれます。 • RX_FIFOが両面フルとなったときにのみ, RX_FIFOデータの受信要求信号(MIFDRQR) が無効となります ■ 送信動作 • データ送信要求信号 (MIFDRQT) を有効にするときに , 外部からのデータリード処理 が行われると , アドレス信号 (MIFA) に応じて TX_REG および TX_FIFO への読出し を行い , 外部へデータを出力します。 • 外部から TX_REG への読出しが発生した場合 , TX_REG 出力ステータスビット [MIFSR:bit1] が "1"(TX_REG レジスタからのデータ出力があり ) になります。一度 , TX_REG への読出しが行われますと再度 TX_REG への書込みが行われない限り , データを出力しません。 • TX_FIFO がエンプティになった場合 , ステータスレジスタ [MIFSR:bit7, bit6] に "00B" が書き込まれます。割込み制御にて, TX_FIFOエンプティの割込みビット[MIFSR:bit6] が "1" の場合に割込みを発生します。 • TX_REG および TX_FIFO のデータがすべて読み出された場合に , TX_FIFO データ の送信要求信号 (MIFDRQT) が無効となります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 465 第 13 章 MPU IF/GPIO 13.6 MB91402/403 シリーズ 設定方法 13.6.1 MPUIF を使うために必要な項目 ( 概要 ) を以下に示します。 ■ MPU IF 設定方法 表 13.6-1 受信設定 動作 参照先 レジスタ データの受信要求をするには ? 1. MIFCR[bit0] 受信されたデータを読み出すには ? 2. MIFXDR 受信データをクリアするには ? 3. MIFCR[bit2, bit0] DMA 受信機能を使用するには ? 4. MIFCR[bit8] 受信時に割込みを発生させるには ? 5. MIFCR[bit5, bit4] 表 13.6-2 送信設定 動作 参照先 レジスタ データの送信を要求するには ? 6. MIFCR[bit1] データ送信要求を終了するには ? 7. MIFCR[bit3, bit1] 送信データをクリアするには ? 8. MIFCR[bit3, bit1] 送信時に割込みを発生させるには ? 9. MIFCR[bit5] 1. データの受信要求をするには ? データ受信開始ビット [MIFCR:bit0] に "1" をセットする。 これにより , RX_FIFO データの受信要求信号 (MIFDRQR) が有効となり , 外部に対 してデータ書込みを要求します (RX_FIFO が両面ともフル時は除く )。 <注意事項> 受信要求信号 (MIFDRQR) が無効の場合は , 外部から RX_REG および RX_FIFO への書込 みが行われても , RX_REG および RX_FIFO への書込みは行われません。 2. 受信されたデータを読み出すには ? MPUIF データレジスタ (MIFRXDR) を読み出します。ただし , RX_FIFO ステータス SIDE-B[MIFSR:bit5, bit4], RX_FIFO ステータス SIDE-A[MIFSR:bit3, bit2] が , "01B" の 場合 , RX_FIFO がフルにならない受信データ量なので , 以下の手順で受信したデー タを読み出します。 (1) データ受信開始ビット [MIFSR:bit0] に "0" をセットし , 外部からのデータ受信 をストップします。 (2)RX_FIFO 読出し許可データサイズビット [MIFRXSR:bit31 ∼ bit16] を読み出し ます。 466 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 13 章 MPU IF/GPIO 13.6 3. 受信データをクリアするには ? ①データ受信開始ビット [MIFCR:bit0] に "0" をセットし , 外部からのデータ受信を ストップします。 ② RX_REG/FIFO クリアビット [MIFCR:bit2] に "1" をセットし , RX_REG/RX_FIFO のアドレスをクリアします。 <注意事項> クリアビット自体は , 自動的に "0" にクリアされます。いったん , データ受信開始ビット [MIFCR:bit0] に "0" をセットした後に , 再びデータ受信開始ビット [MIFCR:bit0] を "1" に セットする場合は , その前にクリアビット [MIFCR:bit2] を "1" にセットし , 受信データを クリアする必要があります。このとき , 受信 FIFO 内のデータはクリアされるので , クリ アビットを "1" にセットする前に受信 FIFO 内のデータをすべて読み出しておく必要があ ります。 4.DMA 受信機能を使用するには ? RX_FIFO DMA 転送制御ビット [MIFCR:bit8] に "1" をセットし , データ受信を開始 しますと , RX_FIFO のどちらかの面がフルとなったときに , FR コア内の DMA コン トローラに対して , DMA 転送要求信号 (DREQ 信号 ) を有効にします。 5. 受信時に割込みを発生させるには ? • RX_FIFO の SIDE-A, SIDE-B のどちらかの面がフルとなり , データが読み出せる 状態となったときに割込みを発生させるには ? RX_FIFO フル割込み信号 [MIFCR:bit5] に "1" をセットします。 • RX_REG にデータが入力されたときに割込みを発生させるには ? RX_REG データイン割込み制御ビット [MIFCR:bit4] に "1" をセットします。 6. データの送信を要求するには ? データ送信開始ビット [MIFCR:bit1] に "1" をセットします。 これにより , TX_FIFO データの送信要求信号 (MIFDRQT) が有効となり , TX_FIFO への書込みが MB91402/403 シリーズ内部で発生すると , 外部に対してデータ読出し を要求します。 7. データ送信要求を終了するには ? ① TX_REG/FIFO クリアビット [MIFCR:bit3] に "1" をセットし , TX_REG レジスタ および TX_FIFO アドレスをクリアします。 ②データ送信開始ビット [MIFCR:bit1] に "0" をセットし , MIFDRQT 信号を無効と します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 467 第 13 章 MPU IF/GPIO 13.6 MB91402/403 シリーズ 8. 送信データをクリアするには ? ① TX_REG/FIFO クリアビット [MIFCR:bit3] に "1" をセットし , TX_REG レジスタ / TX_FIFO アドレスをクリアします。 ②データ送信開始ビット [MIFCR:bit1] に "0" をセットし , 外部へのデータ送信をス トップします。 <注意事項> クリアビット自体は , 自動的に "0" にクリアされます。 9. 送信時に割込みを発生させるには ? TX_FIFO 領域が空の場合に割込みを発生させるには ? TX_FIFO エンプティ割込み制御ビット [MIFCR:bit6] に "1" をセットして , TX_FIFO がエンプティになると割込みが発生します。 <注意事項> 割込み信号はステータスレジスタ (MIFSR) を読み出すことにより , 無効にする仕様となっ ていますので , ステータスレジスタを読み出すと , 読出し終了後に割込み信号が無効とな ります。 468 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 13 章 MPU IF/GPIO 13.6 MB91402/403 シリーズ 波形図 13.6.2 MPU IF の波形図を示します。 ■ MPU IF の波形図 図 13.6-1 MPU IF の波形図 MB91402/403シリーズ内部側 受信動作 4'h0 A3~A0 CS4 WRn > 3サイクル RD data1 D31~D0(読出し) 2サイクル D31~D0(書込み) MIFA 外部側 MIFCS > 4サイクル MIFWR MIFRD MIFD15~ MIFD0 data1 MB91402/403シリーズ内部側 送信動作 A3~A0 4'h0 CS4 WRn RD 4'hf 4'h0 4'hf > 3サイクル D31~D0(読出し) D31~D0(書込み) data2 外部側 MIFA MIFCS MIFWR MIFRD > 5サイクル MIFD15~ MIFD0 CM71-10131-1 data2 FUJITSU MICROELECTRONICS LIMITED 469 第 13 章 MPU IF/GPIO 13.7 13.7 MB91402/403 シリーズ GPIO (Port A) 動作説明 GPIO (Port A) は , 入力信号の変化に応じて割込み信号を発生する機能を搭載した汎 用 I/O ポートです。 ■ 割込み仕様 レジスタ PADIR(Port A Control Register7 ∼ Port A Control Register0) にて , 入力端子仕様 に設定し , レジスタ INTEN ビットを "1" にセットした場合 , 入力信号の変化に応じて 割込み信号を発生します。 ■ 割込み動作波形 外部からの入力信号は , 内部でダブルラッチした値がレジスタに反映されます。 信号の変化は , ラッチ 3 段目とラッチ 2 段目を XOR することにより判別します。 それぞれのビットを OR した値から , 割込み信号の生成を行います。 割込み信号は , PADR レジスタを読み出すことによりクリアされます。 470 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 13.8 第 13 章 MPU IF/GPIO 13.8 GPIO (Port B) 動作説明 GPIO(Port B) は , 汎用 I/O ポートです。 GPIO(Port B) は , MPU IF の端子と共有しています。MIFCR レジスタの SEL ビット を使用して設定することができます。 ■ EXIFCR レジスタ 設定値は , 図 13.5-5 の SEL ビット (bit10, bit9) の説明を参照してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 471 第 13 章 MPU IF/GPIO 13.8 13.8.1 MB91402/403 シリーズ 端子選択仕様 Port B は , MPU IF の端子と共有します。 以下に , Port B 端子と MPU IF 端子のセレクタ仕様を示します。 ■ Port B 端子と MPU IF 端子のセレクタ仕様 図 13.8-1 Port B 端子と MPU IF 端子のセレクタ仕様 SEL[1] | SEL[0] EXDOE_L7~EXDOE_L0 MIFD7~MIFD0/ PB7~PB0 1 PBOE7~PBOE0 : Port B出力制御 0 EX_DOE : MPU IF出力制御 1 PBDO7~PBDO0 : Port Bデータ出力 0 EX_DO7~EX_DO0 : MPU IFデータ出力 EXDO7~EXDO0 PBDI7~PBDI0 : Port Bデータ入力 EX_DI7~EX_DI0 : MPU IFデータ入力 SEL[1] EXDOE_L15~EXDOE_L8 MIFD15~MIFD8/ PB15~PB8 1 PBOE15~PBOE8 : Port B出力制御 0 EX_DOE : MPU IF出力制御 1 PBDO15~PBDO8 : Port Bデータ出力 0 EX_DO15~EX_DO8 : MPU IFデータ出力 EXDO15~EXDO8 PBDI15~PBDI8 : Port Bデータ入力 EX_DI15~EX_DI8 : MPU IFデータ入力 EXDOE_L21~EXDOE_L18 PBOE21~PBOE18 : Port B出力制御 SEL[1] MIFCS, MIFA, MIFRD, MIFWR/ PB21~PB18 PBDO21~PBDO18 : Port Bデータ出力 PBDI21~PBDI18 : Port Bデータ入力 EXCS, EXA, EXRD, EXWR : 外部IF制御入力 SEL[1] EXDOE_L17,EXDOE_L16 MIFDRQT, MIFDRQR/ PB17,PB16 1 PBOE17,PBOE16 : Port B出力制御 0 EX_DOE : 外部IF出力制御 1 PBDO17,PBDO16 : Port Bデータ出力 0 MIFDRQT, MIFDRQR: 外部IF制御出力 EXDO17,EXDO16 PBDI17,PBDI16 : Port Bデータ入力 472 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース I2C インタフェースの概要 , レジスタ , 動作 , およ び注意事項について説明します。 14.1 I2C インタフェースの概要 14.2 I2C インタフェースのレジスタ 14.3 I2C インタフェースの動作説明 14.4 注意事項 14.5 動作フローチャート CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 473 第 14 章 I2C インタフェース 14.1 14.1 MB91402/403 シリーズ I2C インタフェースの概要 I2C インタフェースは IC 間バスをサポートし , I2C バス上のマスタ / スレーブデバイ スとして動作するシリアル I/O ポートです。 ■ I2C インタフェースの特長 I2C インタフェースの特長は , 下記のとおりです。 • マスタ送受信機能 • スレーブ送受信機能 • アービトレーション機能 • クロック同期化機能 • スレーブアドレス検出機能 • ゼネラルコールアドレス検出機能 • 転送方向検出機能 • スタートコンディションの繰返し発生および検出機能 • バスエラー検出機能 • 標準モード ( 最大 100 kbps)/ 高速モード ( 最大 400 kbps) に対応 474 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.1 MB91402/403 シリーズ ■ I2C インタフェースのブロックダイヤグラム 図 14.1-1 I2C インタフェースのブロックダイヤグラム SDA SCL ノイズ フィルタ スタートコンディション/ ストップコンディション 検出回路 ADR BSR コンパレータ BCR DAR CCR アービトレーションロスト 検出回路 スタートコンディション/ ストップコンディション 発生回路 シフトクロック 発生回路 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 475 第 14 章 I2C インタフェース 14.1 MB91402/403 シリーズ ■ I2C インタフェースの機能説明 ● スタートコンディション / ストップコンディション検出回路 SDA および SCL の状態変化からスタートコンディションおよびストップコンディショ ンの検出を行います。 ● スタートコンディション / ストップコンディション発生回路 SDA および SCL の状態を変化させてスタートコンディションおよびストップコンディ ションの発生を行います。 ● アービトレーションロスト検出回路 データ送信時に , SDA ラインへ出力したデータと SDA ラインより入力したデータを比 較して , データが一致しているかを確認します。一致していない場合には , アービト レーションロストを発生させます。 ● シフトクロック発生回路 クロックコントロールレジスタの設定により , シリアルデータ転送用クロックの発生 タイミングカウント , ならびに SCL クロックの出力コントロールを行います。 ● コンパレータ 受信したアドレスと , アドレスレジスタに指定した自己アドレスとが一致するか , 受信 したアドレスがグローバルアドレスかを比較します。 ● ADR スレーブアドレスを指定する 7 ビットレジスタです。 ● DAR シリアルデータ転送に使用される 8 ビットレジスタです。 ● BSR I2C バスの状態などを示すための 8 ビットレジスタで , 以下の機能があります。 • 繰返しスタートコンディション検出 • アービトレーションロスト検出 • アクノリッジビット格納 • データ転送方向 • アドレッシング検出 • ゼネラルコールアドレス検出 • 第 1 バイト検出 ● BCR I2C バスのコントロールおよび割込みコントロールを行う 8 ビットレジスタで , 以下の 機能があります。 • 割込み要求 / 割込み許可 • スタートコンディション発生 • マスタ / スレーブの選択 • アクノリッジ発生許可 476 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 第 14 章 I2C インタフェース 14.1 ● CCR シリアルデータ転送用クロックの周波数を設定する 7 ビットレジスタです。 • 動作許可 • シリアルクロックの周波数の設定 • 標準モードのみの選択 ( 高速モードの選択は禁止 ) ● ノイズフィルタ 3 段シフトレジスタ回路で構成されるノイズフィルタで , SCL/SDA 入力信号を連続サ ンプリングした 3 回の値すべてが "1" の場合にフィルタ出力が "1" に , 逆に 3 回の値す べてが "0" の場合にフィルタ出力が "0" に , それ以外のサンプリングに対しては 1 ク ロック前の状態を保持します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 477 第 14 章 I2C インタフェース 14.2 14.2 MB91402/403 シリーズ I2C インタフェースのレジスタ I2C インタフェースのレジスタを説明します。 ■ I2C インタフェースのレジスタマップ 表 14.2-1 I2C インタフェースのレジスタマップ ブロック I2C IF アドレス レジスタ名 略称 サイズ R/W 初期値 010F _0000H バスステータスレジスタ BSR 8 ビット R 00000000 010F _0001H バスコントロールレジスタ BCR 8 ビット R/W 00000000 010F _0002H クロックコントロールレジスタ CCR 8 ビット R/W 10000000 010F _0003H アドレスレジスタ ADR 8 ビット R/W 10000000 010F _0004H データレジスタ DAR 8 ビット R/W XXXXXXXX 010F _0005H 拡張 CS レジスタ CSR 8 ビット R/W 00000000 010F _0006H バスクロック周波数レジスタ FSR 8 ビット R/W 00000001 010F _0007H バスコントロール 2 レジスタ BC2R 8 ビット R/W 00XX0000 010F _0008H 010F ∼ _FFFFH アクセス禁止 ( 注意事項 ) I2C IF へのレジスタアクセスは , バイトアクセスのみ可能です。 478 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ バスステータスレジスタ (BSR) 14.2.1 I2C バスのステータスを示します。 ■ バスステータスレジスタ (BSR) のビット構成 図 14.2-1 バスステータスレジスタ (BSR) のビット構成 アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 010F 0000H BB RSC AL LRB TRX AAS GCA FBT 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 初期値 属性 表 14.2-2 バスステータスレジスタ (BSR) のビット詳細 (1 / 2) ビット名 bit31 BB 初期値 R/W 0 R bit30 RSC 0 R bit29 AL 0 R bit28 LRB 0 R CM71-10131-1 機能 Bus Busy I2C バスの状態を示すビットです。 0 : ストップコンディションを検出した。 1 : スタートコンディションを検出した ( バスは使用中 )。 Repeated Start Condition 繰返しスタートコンディション検出ビットです。 0 : 繰返しスタートコンディションは検出されていない。 1 : バス使用中に , 再びスタートコンディションを検出した。 ( 注意事項 ) INT ビットへの "0" 書込み , スレーブ時にアドレスさ れなかった場合 , バス停止中のスタートコンディショ ン検出 , またはストップコンディション検出でクリア されます。 Arbitration Lost アービトレーションロスト検出ビットです。 0 : アービトレーションロストは検出されていない。 1 : マスタ送信中にアービトレーションロストが発生した , または ほかのシステムがバスを使用中であるときに MSS ビットに "1" を書き込んだ。 ( 注意事項 ) INT ビットへの "0" 書込みでクリアされます。 【制限事項】 マルチマスタ環境で , 本 IF と同時にほかのマスタがゼネラルコー ル・アドレスを送信し , かつ本インタフェースが 2 バイト目以降で アービトレーションロストする使用方法を禁止します。 Last Received Bit アクノリッジ (ACK)/ ネガティブアクノリッジ (NACK) を示すデー タの 9 ビット目を格納するビットです。 0 : アクノリッジ (ACK) 検出 1 : ネガティブアクノリッジ (NACK) 検出 ( 注意事項 ) スタートコンディション検出またはストップコン ディションの検出でクリアされます。 FUJITSU MICROELECTRONICS LIMITED 479 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ 表 14.2-2 バスステータスレジスタ (BSR) のビット詳細 (2 / 2) ビット名 bit27 TRX 初期値 R/W 0 R bit26 AAS 0 R bit25 GCA 0 R bit24 FBT 0 R 機能 Transfer/Receiver データ送信の送受信状態を示すビットです。 0 : 受信状態。 1 : 送信状態。 Address As Slave アドレッシング検出ビットです。 0 : スレーブ時に , アドレッシングされていない。 1 : スレーブ時に , アドレッシングされた。 ( 注意事項 ) スタートコンディション検出 , またはストップコン ディション検出でクリアされます。 General Call Address ゼネラルコールアドレス (00H) 検出ビットです。 0 : スレーブ時に , ゼネラルコールアドレスを受信していない。 1 : スレーブ時に , ゼネラルコールアドレスを受信した。 ( 注意事項 ) スタートコンディション検出 , またはストップコン ディション検出でクリアされます。 First Byte Transfer 第一バイト検出ビットです。 0 : 受信データが第一バイト以外である。 1 : 受信データが第一バイト ( アドレスデータ ) である。 ( 注意事項 ) スタートコンディション検出で "1" にセットされて も , INT ビットの "0" 書込み , またはスレーブ時にア ドレスされなかった場合にはクリアされます。 ( 注意事項 ) このレジスタの全ビットは , CCR の EN ビットが "0" の期間にクリアされます。 480 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ バスコントロールレジスタ (BCR) 14.2.2 I2C バス制御レジスタです。 ■ バスコントロールレジスタ (BCR) のビット構成 図 14.2-2 バスコントロールレジスタ (BCR) のビット構成 アドレス bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 010F 0001H BER BEIE SCC MSS ACK GCAA INTE INT 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 表 14.2-3 バスコントロールレジスタ (BCR) のビット詳細 (1 / 3) ビット名 初期値 R/W 機能 Bus ERror バスエラー割込み要求フラグビットです。 • 書込み時 0 : バスエラー割込み要求フラグをクリアする。 1 : 関係なし。 bit23 BER 0 R/W • 読出し時 0 : バスエラーは検出されていない。 1 : データ転送中に , 不正なスタート , ストップコンディ ションを検出した。 ( 注意事項 ) このビットがセットされた場合 , CCR レジスタの EN ビットはクリアされ , 本インタフェースは停止 状態になり , データ転送は中断されます。 bit22 BEIE 0 R/W bit21 SCC 0 R/W Bus Error Interrupt Enable バスエラー割込み許可ビットです。 0 : バスエラー割込み禁止。 1 : バスエラー割込み許可。 ( 注意事項 ) このビットが "1" のとき , BER ビットが "1" なら 割込みを発生します。 Start Condition Continue スタートコンディション発生ビットです。 • 書込み時 CM71-10131-1 0 : 関係なし。 1 : マスタ転送時に再びスタートコンディションを発生させ る。 ( 注意事項 ) このビットの読出し値は常に "0" です。 FUJITSU MICROELECTRONICS LIMITED 481 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ 表 14.2-3 バスコントロールレジスタ (BCR) のビット詳細 (2 / 3) ビット名 初期値 R/W 機能 Master Slave Select マスタ / スレーブの選択ビットです。 • 書込み時 bit20 MSS 0 bit19 ACK 0 bit18 GCAA 0 bit17 482 INTE 0 "0" :ストップコンディションを発生して転送終了後 , ス レーブモードとなります。 "1" :マスタモードとなり , スタートコンディションを発生 して転送を開始します。 R/W ( 注意事項 ) このビットは , マスタ送信中にアービトレーショ ンロストが発生した場合にクリアされ , スレーブ モードになります。 【制限事項】 マルチマスタ環境で , 本インタフェースと同時にほかのマスタ がゼネラルコールアドレスを送信し , かつ本インタフェースが 2 バイト目以降でアービトレーションロストする使用方法を禁 止します。 ACKnowledge データを受信した場合のアクノリッジ発生許可ビットです。 "0" : アクノリッジを発生しない。 R/W "1" : アクノリッジを発生する。 ( 注意事項 ) このビットは , スレーブ時のアドレスデータ受信 時には無効となります。 General Call Address Acknowledge ゼネラルコールアドレスを受信した場合のアクノリッジ発生 R/W 許可ビットです。 "0" : アクノリッジを発生しない。 "1" : アクノリッジを発生する。 R/W INTerrupt Enable 割込み許可ビットです。 "0" : 割込み禁止。 "1" : 割込み許可。 ( 注意事項 ) このビットが "1" のときに INT ビットが "1" の場 合には割込みを発生します。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ 表 14.2-3 バスコントロールレジスタ (BCR) のビット詳細 (3 / 3) ビット名 初期値 R/W 機能 INTerrupt 転送終了割込み要求ビットです。 • 書込み時 "0" :転送終了割込み要求フラグをクリアする。 "1" :関係なし。 • 読出し時 bit16 INT 0 R/W "0" :転送終了していない。 "1" :アクノリッジビットを含めた 1 バイト転送が終了した ときに次の条件に該当する場合に設定されます。 - バスマスタである。 - アドレスされたスレーブである。 - ゼネラルコールアドレスを受信した(GCAA=1でのみ)。 - アービトレーションロストが起こった ( バス獲得状態 でのみ )。 - ほかのシステムがバスを使用中にスタートコンディ ションを発生しようとした。 ( 注意事項 ) このビットが "1" のとき , SCL ラインは "L" レベ ルに保たれます。このビットへの "0" 書込みによ りクリアされ , SCL ラインを開放し , 次バイトの 転送を行います。また , マスタ時にスタートコン ディションまたはストップコンディションの発生 により "0" にリセットされます。 ( 注意事項 ) このレジスタビット 7, 6 以外は , CCR の EN ビットが "0" の期間にクリアされます。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 483 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ <注意事項> 図 14.2-3 と図 14.2-4 に示したタイミングで , スタートコンディションを発生させる命令 を実行 (MSS ビットへの "1" 設定 ) すると , アービトレーションロスト検出 (AL ビット =1) による割込み (INT ビット =1) は発生しません。 • AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 1 スタートコンディション未検出 (BB ビット =0) 状態で , SDA 端子または SCL 端子レベ ルが "L" のときに , スタートコンディションを発生させる命令を実行 (BCR レジスタの MSS ビットに "1" を設定 ) した場合。 図 14.2-3 AL ビット =1 検出による割込みが発生しないタイミング SCL端子またはSDA端子が"L"レベル SCL端子 "L" SDA端子 "L" 1 I2C動作許可状態(ENビット=1) マスタモード設定(MSSビット=1) アービトレーションロスト検出(ALビット=1) 484 バスビジー(BBビット) 0 割込み(INTビット) 0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ • AL ビット =1 検出による割込み (INT ビット =1) が発生しない条件 2 ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (EN ビット =1) してス タートコンディションを発生させる命令を実行 (BCR レジスタの MSS ビットに "1" を 設定 ) した場合。 図 14.2-4 に示したとおり , I2C が動作禁止 (EN ビット =0) の状態で , I2C バス上のほか のマスタが通信を開始すると , スタートコンディション未検出 (BB ビット =0) で I2C バ スが占有されている状態になるためです。 図 14.2-4 AL ビット =1 検出による割込みが発生しないタイミング スタートコンディション 9クロック目でINTビット割込みが ストップコンディション 発生しない SCL端子 SDA端子 SLAVE ADDRESS ACK DAT ACK ENビット MSSビット ALビット 0 BBビット 0 INTビット 上記のような現象が発生する可能性がある場合には , 以下の手順でソフト処理をして ください。 1) スタートコンディションを発生させる命令を実行 (MSS ビットへの "1" 設定 )。 2) タイマ機能などを使用して , CCR レジスタに設定されている I2C 転送周波数での 3 ビットデータ送信時間待つ *。 例:I2C 転送周波数 100 kHz の場合 3 ビットデータ送信時間 {1/(100 × 103)} × 3=30µs 3) BSR レジスタの AL ビットと BB ビットを確認し , AL ビット =1, BB ビット =0 の場 合には , CCR レジスタの EN ビットを "0" にして I2C を初期化する。AL ビットと BB ビットがその他の状態のときは通常処理を行う。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 485 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ 以下にフロー例を示します。 図 14.2-5 AL ビット =1 検出による割込みが発生しない場合のソフト処理フロー例 マスタモード設定 バス制御レジスタ(BCR)のMSSビットを"1"に設定 クロック制御レジスタ(ICCR)に 設定されているI2C転送周波数での 3ビットデータ送信時間待つ* NO BBビット=0で かつALビット=1 YES ENビットを"0"にしてI2Cの初期化 通常処理へ *:アービトレーションロストが検出された場合,MSSビット=1設定後I2C転送周波数での 3ビットデータ送信時間後には確実にALビット=1となります。 • AL ビット =1 検出による割込み (INT ビット =1) が発生する例 バスビジー検出 (BB ビット =1) されている状態で , スタートコンディションを発生さ せる命令を実行 (MSS ビットへの "1" 設定 ) してアービトレーションロストした場合に は , AL ビット =1 検出時に INT ビット割込みが発生します。 図 14.2-6 AL ビット =1 時に割込みが発生するタイミング図 スタートコンディション SCL端子 SDA端子 SLAVE ADDRESS ACK DAT ENビット MSSビット ソフトでのALビットクリア ALビット BBビット ソフトでのINTビットクリアで SCL開放 INTビット 486 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ クロックコントロールレジスタ (CCR) 14.2.3 I2C バスの周波数を制御するレジスタです。 ■ クロックコントロールレジスタ (CCR) のビット構成 図 14.2-7 クロックコントロールレジスタ (CCR) のビット構成 アドレス bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 010F 0002H − HSM EN CS4 CS3 CS2 CS1 CS0 1 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W − 初期値 属性 表 14.2-4 クロックコントロールレジスタ (CCR) のビット詳細 ビット名 bit23 bit22 bit21 bit20 ∼ bit16 − HSM EN CS4 ∼ CS0 初期値 R/W 0 − 0 0 0 機能 未定義 読出し時は , 必ず "1" が読み出されます。 R/W High Speed Mode 標準 / 高速モード設定ビットです。 "0" : 標準モード。 "1" : 高速モード。 R/W ENable 動作許可ビットです。 "0" : 動作禁止。 "1" : 動作許可。 ( 注意事項 )このビットが "0" のとき , BSR レジスタ , BCR レジス タ (BER, BEIE ビットを除く ) の各ビットはクリアさ れます。BER ビットがセットされた場合 , このビッ トはクリアされます。 R/W Clock Period Select 4 ∼ 0 シリアル転送クロックの周波数を設定するビットです。 CSR レジスタを設定することによりバスクロック周波数の上限を 拡張することができます ( 詳細は , CSR レジスタの説明を参照 )。 CSR レジスタを使用しない (CSR レジスタを初期状態のまま使用 する ) 場合には , シリアル転送クロックの周波数 fscl は表下の式 のようになります。 fscl は , マスタ動作時に以下に示す値を超えないように設定してください。 標準モード時:100 kHz 高速モード時:400 kHz • 標準モード時 fscl = φ / ( (2 × m) + 2 ) φ:システムクロック * • 高速モード時 fscl = φ / ( int(1.5 × m) + 2 ) φ:システムクロック * int( ) は小数点以下切捨て CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 487 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ * : システムクロックは , 「3.12.3 クロック分周」に示す外部インタフェースクロック (MCLKO) を意味します。 m は表 14.2-5 を参照してください。 <注意事項> + 2 のサイクルは , SCL 端子の出力レベルが変化したことをチェックしているための最小 のオーバヘッドです。SCL 端子の立上りのディレイが大きい場合やスレーブデバイスで クロックを引き延ばしている場合には , この値より大きくなります。 m の値は , CS4 ∼ CS0 の値に対して次のようになります。 表 14.2-5 シリアル転送クロック周波数例 CS4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 488 CS3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 CS2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 CS1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 m CS0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 標準 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 FUJITSU MICROELECTRONICS LIMITED 高速 設定禁止 設定禁止 設定禁止 設定禁止 設定禁止 設定禁止 設定禁止 設定禁止 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ アドレスレジスタ (ADR) 14.2.4 アドレスレジスタ (ADR) について説明します。 ■ アドレスレジスタ (ADR) のビット構成 図 14.2-8 アドレスレジスタ (ADR) のビット構成 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 010F 0003H − A6 A5 A4 A3 A2 A1 A0 1 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W − 初期値 属性 表 14.2-6 アドレスレジスタ (ADR) のビット詳細 ビット名 bit7 − bit6 ∼ A6 ∼ A0 bit0 CM71-10131-1 初期値 R/W 1 − 0 R/W 機能 未定義 読出し時は , 必ず "1" となります。 Address6 ∼ Address0 スレーブアドレス格納ビットです。 ( 注意事項 )スレーブ時 , アドレスデータ受信後に ADR レジスタ との比較が行われ , 一致している場合はマスタに対し てアクノリッジを送信します。 FUJITSU MICROELECTRONICS LIMITED 489 第 14 章 I2C インタフェース 14.2 14.2.5 MB91402/403 シリーズ データレジスタ (DAR) データレジスタ (DAR) について説明します。 ■ データレジスタ (DAR) のビット構成 図 14.2-9 データレジスタ (DAR) のビット構成 アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 010F 0004H D7 D6 D5 D4 D3 D2 D1 D0 X R/W X R/W X R/W X R/W X R/W X R/W X R/W X R/W 初期値 属性 X:不定値 表 14.2-7 データレジスタ (DAR) のビット詳細 ビット名 bit31 ∼ bit24 490 D7 ∼ D0 初期値 X R/W 機能 R/W Data7 ∼ Data0 シリアルデータ格納ビットです。 ( 注意事項 ) シリアル転送に使用されるデータレジスタであり, MSB から転送されます。データ受信時 (TRX = 0) は , データ出力は "1" になります。 このレジスタの書込み側はダブルバッファになっ ており , バスが使用中 (BB=1) である場合 , 書込み データは各バイト転送時にシリアル転送用のレジ スタにロードされます。読出し時はシリアル転送 用のレジスタを直接読み出すため , 受信データは INT ビットがセットされている場合にのみ有効で す。 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ 拡張 CS レジスタ (CSR) 14.2.6 拡張 CS レジスタ (CSR) について説明します。 ■ 拡張 CS レジスタ (CSR) のビット構成 図 14.2-10 拡張 CS レジスタ (CSR) のビット構成 アドレス bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 010F 0005H TST1 TST0 CS10 CS9 CS8 CS7 CS6 CS5 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 表 14.2-8 拡張 CS レジスタ (CSR) のビット詳細 ビット名 bit23, bit22 bit21 ∼ bit16 初期値 TST1, TST0 CS10 ∼ CS5 0 0 R/W R/W R/W 機能 Test Mode Test モードビットです。 00 : 通常モード。 00 以外 : テストモード。 Clock Period Select 10 ∼ 5 CCR レジスタ内の CS4 ∼ CS0 を拡張して , バスクロックの使用 周波数の上限を拡張するときに設定します。 CS10 ∼ CS5 の初期値は , "000000B" で , "000000B" 以外の値を設 定することで周波数上限拡張モードになります。 : バスクロックの周波数の上限拡張なし 000000B (CS4 ∼ CS0 のみを使用 ) 000000B 以外: バスクロック周波数の上限拡張あり fscl は , マスタ動作時に以下に示す値を超えないように設定してください。 標準モード時:100 kHz 高速モード時:400 kHz • 標準モード時 fscl = φ / ( (2 × m) + 2 ) φ:システムクロック * • 高速モード時 fscl = φ / ( int(1.5 × m) + 2 ) φ:システムクロック * int( ) は小数点以下切捨て * : システムクロックは ,「第 3 章 CPU および制御部」で記される外部インタフェース クロック (MCLKO) を意味します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 491 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ <注意事項> + 2 のサイクルは , SCL 端子の出力レベルが変化したことをチェックしているための最小 のオーバヘッドです。SCL 端子の立上りのディレイが大きい場合やスレーブデバイスで クロックを引き延ばしている場合には , この値より大きくなります。 拡張 CS レジスタを使用する場合の m の値は , CS10 ∼ CS0 の値+ 1 になります。 492 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ バスクロック周波数レジスタ (FSR) 14.2.7 ノイズフィルタの特性を設定するレジスタです。 ■ バスクロック周波数レジスタ (FSR) のビット構成 図 14.2-11 バスクロック周波数レジスタ (FSR) のビット構成 アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 010F 0006H − − − − FS3 FS2 FS1 FS0 0 R/W 0 R/W 0 R/W 1 R/W 0 0 0 0 − − − − 初期値 属性 表 14.2-9 バスクロック周波数レジスタ (FSR) のビット詳細 ビット名 bit15 ∼ bit12 − bit11 ∼ bit8 FS3 ∼ FS0 初期値 R/W 0000 0001 機能 未定義 読出し時は , 必ず "0000B" となります。 − Bus Clock Frequency Select 3 ∼ 0 使用するバスクロックの周波数を選択します。このレジスタの設 R/W 定によりノイズフィルタの特性が設定されます。下表に標準的な 設定値を示しますが , I2C バス上のノイズ状態により調整が必要と なる場合があります。 表 14.2-10 バスクロック周波数設定例 CM71-10131-1 FS3 FS2 FS1 FS0 周波数 [MHz] 0 0 0 0 設定禁止 0 0 0 1 14 以上 ∼ 20 未満 0 0 1 0 20 以上 ∼ 40 未満 0 0 1 1 40 以上 ∼ 60 未満 0 1 0 0 60 以上 ∼ 80 未満 0 1 0 1 80 以上 ∼ 100 未満 0 1 1 0 100 以上 ∼ 120 未満 0 1 1 1 120 以上 ∼ 140 未満 1 0 0 0 140 以上 ∼ 160 未満 1 0 0 1 160 以上 ∼ 180 未満 1 0 1 0 180 以上 ∼ 200 未満 1 0 1 1 200 以上 ∼ 220 未満 1 1 0 0 − 1 1 0 1 − 1 1 1 0 − 1 1 1 1 − FUJITSU MICROELECTRONICS LIMITED 493 第 14 章 I2C インタフェース 14.2 MB91402/403 シリーズ バスコントロール 2 レジスタ (BC2R) 14.2.8 バスコントロール 2 レジスタ (BC2R) について説明します。 ■ バスコントロール 2 レジスタ (BC2R) のビット構成 図 14.2-12 バスコントロール 2 レジスタ (BC2R) のビット構成 アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 010F 0007H − − SCLS X − SDAL SCLL 0 SDAS X − 0 0 0 − − R R − − 0 R/W 0 R/W 初期値 属性 表 14.2-11 バスコントロール 2 レジスタ (BC2R) のビット詳細 ビット名 bit7, bit6 bit5 − SDAS 初期値 R/W 00 − 未定義 読出し時は , 必ず "00B" となります。 R SDA Status ノイズフィルタ通過後の SDA ラインの信号レベルを示します。 "0" : SDA ラインは "0"。 "1" : SDA ラインは "1"。 X 機能 bit4 SCLS X R SCL Status ノイズフィルタ通過後の SCL ラインの信号レベルを示します。 "0" : SCL ラインは "0"。 "1" : SCL ラインは "1"。 bit3, bit2 − 00 − 未定義 読出し時は , 必ず "00B" となります。 R/W SDA Low drive SDA 出力を強制的に "L" にします。 "0" : SDA 出力は通常動作。 "1" : SDA 出力を強制的に "L"。 R/W SCL Low drive SCL 出力を強制的に "L" にします。 "0" : SCL 出力は通常動作。 "1" : SCL 出力を強制的に "L"。 bit1 bit0 494 SDAL SCLL 0 0 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ 14.3 I2C インタフェースの動作説明 I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロック (SCL) の 2 本の双方向バスラインにより通信が行われます。本インタフェースには SDA 用に SDA 入力 (SDAI) と SDA 出力 (SDAO) があり , オープンドレイン I/O セルを経て SDA ラインに接続されます。また , SCL 用にも SCL 入力 (SCLI) と SCL 出力 (SCLO) があり , オープンドレイン I/O セルを経て SCL ラインに接続されます。 SDA ラインと SCL ラインには , ワイヤード論理で接続されます。 ■ スタートコンディション バスが開放されている状態 (BSR の BB=0, BCR の MSS=0) で MSS ビットに "1" を書き 込むと , 本インタフェースはマスタモードになりスタートコンディションを発生しま す。マスタ時では , バスが使用状態 (BB=1) であっても , SCC ビットに "1" を書き込む ことで再びスタートコンディションを発生することができます。 スタートコンディションを発生させる条件として , 次の 2 とおりがあります。 • バスが使用されていない状態 (MSS=0 & BB=0 & INT=0 & AL=0) での MSS ビットへ の "1" 書込み • バスマスタ時の割込み状態 (MSS=1 & BB=1 & INT=1 & AL=0) での SCC ビットへの "1" 書込み アイドル状態中に , MSS ビットへ "1" を書き込むと , AL ビットが "1" にセットされま す。上記 2 条件以外での MSS ビット , SCC ビットへの "1" 書込みは無視されます。 ● I2C バス上でのスタートコンディション SCL ラインが "1" の状態で , SDA ラインが "1" から "0" に変化することをスタートコン ディションとよびます。 図 14.3-1 スタートコンディション SDA SCL スタートコンディション CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 495 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ ストップコンディション マスタ時 (MSS=1) に MSS ビットに "0" を書き込むと , ストップコンディションを発生 してスレーブになります。 ストップコンディションを発生させる条件は , 次のとおりです。 • バスマスタ時の割込み状態 (MSS=1 & BB=1 & INT=1 & AL=0) での MSS ビットへの "0" 書込み。 上記以外での MSS ビットへの "0" 書込みは無視されます。 ● I2C バス上でのストップコンディションについて SCL ラインが "1" の状態で , SDA ラインが "0" から "1" に変化することをストップコン ディションとよびます。 図 14.3-2 ストップコンディション SDA SCL ストップコンディション 496 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ アドレッシング マスタモードでは , スタートコンディション発生後 , BB=1, TRX=1 にセットされ , DAR レジスタの内容を MSB から出力します。アドレスデータ送信後 , スレーブからアクノ リッジを受信すると , 送信データの bit0( 送信後の DAR レジスタの bit0) を反転して TRX ビットへ格納します。 スレーブモードでは , スタートコンディション発生後 , BB=1, TRX=0 にセットされ , マ スタからの送信データを DAR レジスタへ受信します。アドレスデータ受信後に DAR レジスタと ADR レジスタとの比較が行われ , 一致している場合には AAS=1 にセット し , マスタに対してアクノリッジを送信します。その後 , 受信データの bit0( 受信後の DAR レジスタの bit0) を TRX ビットへ格納します。 ● スレーブアドレスの転送フォーマット スレーブアドレスの転送フォーマットを示します。 図 14.3-3 スレーブアドレスの転送フォーマット MSB A6 A5 A4 A3 A2 A1 A0 LSB 0 R/W ACK スレーブアドレス ● スレーブアドレスのマップ スレーブアドレスのマップを示します。 表 14.3-1 スレーブアドレスのマップ スレーブアドレス R/W 0000 000H 0 ゼネラルコールアドレス 0000 000H 1 スタートバイト 0000 001H X CBUS アドレス 0000 010H X 予約 0000 011H X 0000 0XXH X 説明 予約 0001 XXXH 利用可能なスレーブアドレス 1111 0XXH X 10 ビットスレーブアドレス * 1111 1XXH X 予約 ∼ X 1110 XXXH *: 本マクロでは , 10 ビットスレーブアドレスをサポートしていません。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 497 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ SCL の同期調停 複数の I2C デバイスがほぼ同時にマスタデバイスとなり SCL ラインを駆動した場合 , それぞれのデバイスが SCL ラインの状態をセンスして , 遅いデバイスのタイミングに 合わせて自動的に SCL ラインの駆動タイミングを調整します。 図 14.3-4 SCL の駆動タイミングの調整 SCLライン マクロA SCLO(調停前) SCLO(調停後) SCLラインが"H"になってから,次の SCLO="L"までのタイミングを取る SCLラインが"H"になってから, 次のSCLO="L"までの タイミングを取る マクロB SCLO(調停前) SCLO(調停後) 498 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ アービトレーション マスタ送信時に, ほかのマスタも同時にデータを送信している場合, アービトレーション が発生します。本インタフェースの送信データが "1", SDA ライン上のデータが "0" の場 合 , 本インタフェースはアービトレーションを失ったとみなし , AL=1 にセットします。 また, ほかのマスタがバスを使用状態のときに, スタートコンディションを発生させよう とすると , アービトレーションを失ったとみなし , AL=1 になります。また , バスが未使 用状態を確認し , MSS=1 を書き込んだ場合でも , 実際にスタートコンディションを発生 するまでの間に , ほかのマスタが発生したスタートコンディションを検出したときは , アービトレーションを失ったとみなし , AL=1 になります。 AL ビットが "1" にセットされると , MSS=0, TRX=0 となり , スレーブ受信モードとな ります。 アービトレーションをなくした ( バス使用権をなくした ) 時点で , マスタは SDA のド ライブを中止します。ただし , SCL のドライブは 1 バイト転送が終了し , 割込みがクリ アされるまで中止されません。 図 14.3-5 アービトレーション SDAライン SCLライン マクロA 出力と入力が一致しているため パスを使用する権利がある SDAI SDAO マクロB SDAI 出力と入力が一致していないため パスを使用する権利がある SDAO CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 499 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ アクノリッジ / ネガティブアクノリッジ 9 ビット目のデータはアクノリッジ (ACK)/ ネガティブアクノリッジ (NACK) を示しま す。9 ビット目のデータが "0" の状態がアクノリッジで , "1" の状態がネガティブアク ノリッジです。 アクノリッジ / ネガティブアクノリッジは , 受信側が送信側に対して送信します。デー タ受信時は , アクノリッジ / ネガティブアクノリッジが LRB ビットに格納されます。 スレーブ送信時に , マスタ受信側からのアクノリッジを受信しなかった場合 ( ネガティ ブアクノリッジを受信した場合 ), TRX=0 となり , スレーブ受信モードになります。 これにより , マスタはスレーブが SCL を開放したときに , ストップコンディションを 発生させることができます。 図 14.3-6 アクノリッジ (ACK)/ ネガティブアクノリッジ (NACK) ACK SDAライン SCLライン マクロA(送信) 1 2 3 4 5 6 7 8 9 クロックは 送信側は受信側のACK/NACK マスクが生成する 出力のためにバスを開放する SDAO SCLO マクロB(受信) ACK/NACKは,受信側が 送信側に返す ACK SDAO SCLO 500 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ バスエラー 以下の条件が成立した場合はバスエラーと判断され , 本インタフェースは停止状態に なります。 (1) データ転送中 (ACK ビットを含む ) の I2C バス上の基本規定違反の検出 (2) マスタ時のストップコンディション検出 (3) バスアイドル時の I2C バス上の基本規定違反の検出 図 14.3-7 バスエラー SDAライン SCLライン D7 D6 D5 START データ転送中のSCL="H"で, SDAが変化。 バスエラーとなる。 ■ 初期化 図 14.3-8 初期化フロー Start ADR :書込み CCR :書込み CS 4 ∼ CS0 :書込み EN :"1" 書込み BCR BER BEIE INT INTE CM71-10131-1 :書込み :"0" 書込み :"1" 書込み :"0" 書込み :"1" 書込み スレーブアドレス設定 クロック周波数設定 マクロイネーブル設定 割込み設定 End FUJITSU MICROELECTRONICS LIMITED 501 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ マスタからスレーブへの 1 バイト転送 図 14.3-9 マスタからスレーブへの 1 バイト転送フロー マスタ Start スレーブ DAR :書込み MSS :"1"書込み スタートコンディション BBセット, TRXセット BBセット, TRXセット アドレスデータ転送 AASセット アクノリッジ LRBリセット INTセット, TRXリセット DAR :書込み INT :"0"書込み 割込み INTセット, TRXセット ACK :"1"書込み INT :"0"書込み データ転送 アクノリッジ LRBリセット INTセット 割込み MSS :"0"書込み INTリセット BBリセット, TRXリセット ストップコンディション INTセット DAR :読出し INT :"0"書込み BBリセット,TRXリセット AASリセット End 502 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ スレーブからマスタへの 1 バイト転送 図 14.3-10 スレーブからマスタへの 1 バイト転送フロー マスタ Start スレーブ DAR :書込み MSS :"1"書込み スタートコンディション BBセット, TRXセット BBセット, TRXセット アドレスデータ転送 AASセット アクノリッジ LRBリセット INTセット, TRXリセット ACK :"0"書込み INT :"0"書込み 割込み INTセット, TRXセット DAR :書込み INT :"0"書込み データ転送 ネガティブアクノリッジ INTセット DAR:読出し LRBセット, TRXセット INTセット 割込み MSS :"0"書込み INTリセット BBリセット, TRXリセット ストップコンディション INT :"0"書込み BBリセット, TRXリセット AASリセット End CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 503 第 14 章 I2C インタフェース 14.3 MB91402/403 シリーズ ■ バスエラー後の復帰 図 14.3-11 バスエラー後の復帰フロー Start BDR BER BEIE :書込み :"0" 書込み :"1" 書込み CCR :書込み CS4 ∼ CS0 :書込み EN :"1" 書込み BCR BER BEIE INT INTE :書込み :"0" 書込み :"1" 書込み :"0" 書込み :"1" 書込み エラーフラグ解除 クロック周波数設定 マクロイネーブル設定 割込み設定 End ■ 割込み処理とマスタデバイス側へのウェイト要求動作 BCR レジスタの INT フラグが "H" の期間 ( 本インタフェースが割込みを発生して CPU が割込み処理を行っている間 ) は , SCL 出力を "L" にします。スレーブ側が SCL ライ ンを "L" にしている期間は , マスタ側は次の転送クロックを生成することができないた めに , スレーブ側からマスタ側へウェイトをかけることになります。 504 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 14.4 第 14 章 I2C インタフェース 14.4 注意事項 I2C インタフェースの注意事項を説明します。 ■ システムクロックと fscl について 本インタフェースには , 以下に示す範囲のシステムクロック * を供給してください。 システムクロックが 18 MHz を超える場合の通信には CSR の設定が必要です。 • マスタ動作 :14 MHz ∼ 33 MHz • スレーブ動作 :14 MHz ∼ 33 MHz * : システムクロックとは ,「第 3 章 CPU および制御部」で示される外部インタフェー スクロック (MCLKO) を意味します。 fscl には以下に示す上限を超えないように CCR の設定を行ってください。fscl が各モー ドの上限を超える場合 , I2C バス上のタイミング規定違反を起こすため , 正常な転送は 行われません。 標準 :100 kHz 高速 :400 kHz ■ 10 ビットスレーブアドレスについて 本インタフェースは 10 ビットスレーブアドレスをサポートしていません。したがって , 本インタフェースに対して "78H" から "7BH" のスレーブアドレスを指定しないでくだ さい。間違って指定した場合 , 1 バイト受信時にアクノリッジを返しますが , 正常な転 送はできません。 ■ SCC, MSS, INT ビットの競合 SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , スタートコンディション発 生 , ストップコンディション発生の競合が起こります。このときの優先度は次のように なります。 (1) 次バイト転送とストップコンディション発生 INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの "0" 書込みを優先 し , ストップコンディションが発生します。 (2) 次バイト転送とスタートコンディション発生 INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの "1" 書込みを優先 し , スタートコンディションが発生します。 (3) スタートコンディション発生とストップコンディション発生 SCC ビットに "1", MSS ビットに "0" の同時書込みを禁止します。 ■ シリアル転送クロックの設定について SCL 端子の立上りのディレイが大きい場合やスレーブデバイスでクロックを引き延ば している場合には , オーバヘッドが発生するため , 設定値 ( 計算値 ) より小さくなるこ とがあります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 505 第 14 章 I2C インタフェース 14.4 MB91402/403 シリーズ ■ マルチマスタで使用する場合のグローバル・コール・アドレス送信における制限 事項について I2C インタフェースをマルチマスタで使用する場合 , I2C インタフェースと同時にほか のマスタがグローバルコールアドレスを送信し , かつ I2C インタフェースが 2 バイト目 以降でアービトレーションロストとする使用法を禁止します。 以下のような使用方法は本制限事項に該当しません。 • I2C インタフェースをシングルマスタ環境で使用する。 • I2C インタフェースをマルチマスタ環境で使用するが , I2C インタフェースがゼネラ ルコールアドレス送信を使用しない。 • I2C インタフェースをマルチマスタ環境で使用するが , I2C インタフェース以外がゼ ネラルコールアドレス送信を使用しない。 • I2C インタフェースをマルチマスタ環境で使用し , I2C インタフェースと同時にほか のマスタがゼネラルコールアドレスを送信するが , 2 バイト目以降で I2C インタ フェースがアービトレーションロストすることがない。* * : 送信データの値が大きい方がアービトレーションロストを発生するので , 2 バイ ト目以降のデータが常にほかのマスタより小さいことが条件になります。 506 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.5 MB91402/403 シリーズ 14.5 動作フローチャート I2C インタフェースの動作フローを説明します。 ■ 動作フローチャート I2C インタフェースを使用して通信を行う場合のフローチャート例を示します。 図 14.5-1 動作フローチャート (1) 初期化 エラー解除 アドレス設定 エラー解除設定 マスタ送信 送信 送信または受信? 受信 クロックおよびEN設定 クロックおよびEN設定 割込み設定 割込み設定 終了 終了 相手アドレス および送信設定 相手アドレス および受信設定 ウェイト スタートコンディション およびアドレス送信 エラー解除 WAIT EN設定一時解除 BCR読出し BSR読出し * (1) アービト レーションロスト? (!BCR.MSSまたはBSR.AL) (0) 終了 *:バスが "L" レベル固定でハングアップしている可能性があります。バスのハングアップの場合 , 復 帰処理またはシステム再起動が必要です。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 507 第 14 章 I2C インタフェース 14.5 MB91402/403 シリーズ 図 14.5-2 動作フローチャート (2) *1 割込み処理 マスタ通信中? BCR読出し BSR読出し バスエラー? (BCR:BER) NO YES EN設定一時解除 (OCR<=0h0c_ccccB) (1) (0) アービト レーションロスト? (BCR:BER) ウェイト (100*PCLK) *2 (1) (0) スレーブ? (BSR:AASまたはOCL) (0) エラー解除 エラー解除 (1) マスタ通信中? (BCR:MSS) (0) (再)マスタ通信 (1) 送信または受信? (BSR:TRX) (0) 送信または受信? (BSR:TRX) (1) (0) ウェイト *3 (10*PCLK) (1) 4 6 2 3 マスタ データ送信 マスタ データ受信 スレーブ データ送信 スレーブ データ受信 終了 ウェイト*3 (10*PCLK) 終了 *1:バスエラー検出により BCR:MSS がクリアされるためマクロ外部での判定フラグを必要とします。 *2:再通信を行う場合には , バスが "H" レベルで安定するまで , 機能停止期間が必要です。 *3:エラー解除から割込み要求がなくなるまで待ちます。 508 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.5 MB91402/403 シリーズ 図 14.5-3 動作フローチャート (3) スレーブデータ送信 スレーブデータ受信 2 3 アドレス? (BSR:FBT) (0) *1 送信データあり? (1) *3 受信データリード (受信データ<=DAR) なし あり 次の受信データを 受信完了? 送信データセット (DAR<=通信データ) YES NO 割込みクリアおよび 次の受信でACK (BCR<=0100_0110B) 割込みクリアおよび送信 (BCR*=0100_0100B) 割込みクリアおよび 次の受信でNACK (BCR<=0100_0100B) *2 (10*FCLE) ウェイト 終了 *1:スレーブ送信時から通信中止を要求することはできません。 *2:割込みクリアから実際に割込み要求がなくなるまで待ちます。 *3:GCA によってグローバルアドレスコールか通常のスレーブアドレスかを判定します。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 509 第 14 章 I2C インタフェース 14.5 MB91402/403 シリーズ 図 14.5-4 動作フローチャート (4) 3 マスタデータ受信 アドレス? (BSR:FBT) (1) マスタデータ送信 2 (0) 送信完了? 終了 受信データリード (受信データ<=DAR) 継続 スレーブNACK? (BBRLRB) (1) (1) マスタNACK?*2 (BSR_LRB) (0) (0) 送信データセット (DAR<=送信データ) ウェイト (100*PCLE) 次の受信データ で受信終了? YES NO 割込みクリアおよび送信 (BCR<=0100_0110B) 割込みクリアおよび 次の受信でACK (BCR<=0100_1110B) 割込みクリアおよび ストップコンディション (BCR<=0100_0110B) 割込みクリアおよび 次の受信でNACK (BCR<=0101_0110B) *1 ウェイト (10*PCLK) 終了 *1:割込みクリアから実際に割込み要求がなくなるまで待ちます。 *2:マスタは ACK/NACK に関係なく , 通信を中止することができます。 510 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 第 14 章 I2C インタフェース 14.5 MB91402/403 シリーズ 図 14.5-5 動作フローチャート (5) マクロがマスタ通常モード時、SDA="L"(スレーブが"L"ドライブ またはバス短略)状態でハングアップした場合の復帰方法 システム ハングアップ 解除開始 他にマスタデバイス いない? (強制クロック入力フェーズ) (強制バスエラーフェーズ) SCLを"L"ドライブ YES "L"幅期間ウェイト SDA="L"ドライブ SCLを"H" SDAおよびSCLを モニタ 1ビット期間ウェイト 0.6*H幅期間ウェイト SDAを"H" SDA=DおよびSCL="L"が 一定時間続く? YES SDAをモニタ NO SDAおよび SCLをモニタ YES SDA="L"? NO 0.6*H幅期間ウェイト SDA=1および SCL=1? YES 2回クロック 入れた? YES NO 終了 *1 終了*2 終了*3 *1:他マスタデバイス通信中 *2:GIVE UP(復帰失敗) *3:復帰成功 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 511 第 14 章 I2C インタフェース 14.5 512 MB91402/403 シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 I/O マップ , 割込みベクタ , 端子状態一覧 , リトル エンディアン領域を使用する際の注意事項 , および 命令一覧について説明します。 付録 A I/O マップ 付録 B 割込みベクタ 付録 C 各 CPU ステートにおける端子状態 付録 D リトルエンディアン領域を使用する際の注意事項 付録 E 命令一覧 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 513 付録 付録 A I/O マップ 付録 A MB91402/403 シリーズ I/O マップ メモリ空間領域と周辺リソースの各レジスタの対応を示します。 ■ I/O マップ [ 表の見方 ] アドレス +0 PDR0 [R/W] B XXXXXXXX 00000H レジスタ +1 +2 PDR1 [R/W]B PDR2 [R/W]B XXXXXXXX XXXXXXXX +3 PDR3 [R/W]B XXXXXXXX ブロック T-unit ポートデータレジスタ リード/ライト属性, アクセス単位 (B:バイト, H:ハーフワード, W:ワード) リセット後のレジスタ初期値 レジスタ名(1コラムのレジスタが4n番地, 2コラムが4n+1番地・・・) 最左のレジスタ番地(ワードでアクセスした際は, 1コラム目の レジスタがデータのMSB側となる。) <注意事項> レジスタのビット値は , 以下のように初期値を表します。 "1": 初期値 "1" "0": 初期値 "0" "X":初期値 "X" "-" :リザーブ領域で , アクセス禁止 "*" :注意事項 , 表末に記述 514 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (1 / 7) アドレス レジスタ +0 +1 +2 +3 ブロック 0000_0000 H ∼ 0000_003C H ― 予約 0000_0040 H EIRR [R/W] 00000000 ENIR [R/W] 00000000 ELVR [R/W] 00000000 00000000 Ext Int 0000_0044 H DICR [R/W] -------0 HRCL [R/W] ----1111 ― DLYI/I-unit TMRLR0 [W] XXXXXXXX XXXXXXXX TMR0 [R] XXXXXXXX XXXXXXXX 0000_004C H ― TMCSR0 [R/W] ----0000 00000000 0000_0050 H TMRLR1 [W] XXXXXXXX XXXXXXXX TMR1 [R] XXXXXXXX XXXXXXXX 0000_0054 H ― TMCSR1 [R/W] ----0000 00000000 0000_0058 H TMRLR2 [W] XXXXXXXX XXXXXXXX TMR2 [R] XXXXXXXX XXXXXXXX ― TMCSR2 [R/W] ----0000 00000000 0000_0048 H 0000_005C H 0000_0060 H 0000_0064 H 0000_0068 H 0000_006C H SSR0 [R/W] 00001000 UTIM0 [R] 00000000 SSR1 [R/W] 00001000 UTIM1 [R] 00000000 リロードタイマ 0 リロードタイマ 1 リロードタイマ 2 SIDR0 [R] SODR0 [W] XXXXXXXX SCR0 [R/W] 00000100 SMR0 [R/W] 00--0-0- UART0 (UTIMR0 [W]) 00000000 DRCL0 [W] -------- UTIMC0 [R/W] 0--00001 U-TIMER0 SIDR1 [R] SODR1 [W] XXXXXXXX SCR1 [R/W] 00000100 SMR1 [R/W] 00--0-0- UART1 (UTIMR1 [W]) 00000000 DRCL1 [W] -------- UTIMC1 [R/W] 0--00001 U-TIMER1 0000_0070 H ∼ 0000_01FC H CM71-10131-1 ― FUJITSU MICROELECTRONICS LIMITED 予約 515 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (2 / 7) アドレス レジスタ +0 +1 +2 +3 0000_0200 H DMACA0 [R/W] 00000000 00000000 0000XXXX XXXXXXXX 0000_0204 H DMACB0 [R/W] 00000000 00000000 00000000 00000000 0000_0208 H DMACA1 [R/W] 00000000 00000000 0000XXXX XXXXXXXX 0000_020C H DMACB1 [R/W] 00000000 00000000 00000000 00000000 0000_0210 H DMACA2 [R/W] 00000000 00000000 0000XXXX XXXXXXXX 0000_0214 H DMACB2 [R/W] 00000000 00000000 00000000 00000000 0000_0218 H DMACA3 [R/W] 00000000 00000000 0000XXXX XXXXXXXX 0000_021C H DMACB3 [R/W] 00000000 00000000 00000000 00000000 0000_0220 H DMACA4 [R/W] 00000000 00000000 0000XXXX XXXXXXXX 0000_0224 H DMACB4 [R/W] 00000000 00000000 00000000 00000000 ブロック DMAC 0000_0228 H ∼ 0000_023C H 0000_0240 H ― 予約 DMACR [R/W] 0XX00000 XXXXXXXX XXXXXXXX XXXXXXXX DMAC ― 予約 0000_0244 H ∼ 0000_0300 H 0000_0304 H ISIZE [R/W] ------10 ― 命令キャッシュ 0000_0308 H ∼ 0000_03E0 H 0000_03E4 H ― 予約 ICHCR [R/W] 0-000000 ― 命令キャッシュ 0000_03E8 H ∼ 0000_03EC H ― 0000_03F0 H BSD0 [W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_03F4 H BSD1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_03F8 H BSDC [W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_03FC H BSRR [R] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 516 FUJITSU MICROELECTRONICS LIMITED 予約 ビットサーチ モジュール CM71-10131-1 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (3 / 7) アドレス レジスタ +0 +1 +2 +3 ブロック 0000_0400 H ∼ 0000_043C H ― 予約 0000_0440 H ICR00[R/W] ---11111 ICR01[R/W] ---11111 ICR02[R/W] ---11111 ICR03[R/W] ---11111 0000_0444 H ICR04[R/W] ---11111 ICR05[R/W] ---11111 ICR06[R/W] ---11111 ICR07[R/W] ---11111 0000_0448 H ICR08[R/W] ---11111 ICR09[R/W] ---11111 ICR10[R/W] ---11111 ICR11[R/W] ---11111 0000_044C H ICR12[R/W] ---11111 ICR13[R/W] ---11111 ICR14[R/W] ---11111 ICR15[R/W] ---11111 0000_0450 H ICR16[R/W] ---11111 ICR17[R/W] ---11111 ICR18[R/W] ---11111 ICR19[R/W] ---11111 0000_0454 H ICR20[R/W] ---11111 ICR21[R/W] ---11111 ICR22[R/W] ---11111 ICR23[R/W] ---11111 0000_0458 H ICR24[R/W] ---11111 ICR25[R/W] ---11111 ICR26[R/W] ---11111 ICR27[R/W] ---11111 0000_045C H ICR28[R/W] ---11111 ICR29[R/W] ---11111 ICR30[R/W] ---11111 ICR31[R/W] ---11111 0000_0460 H ICR32[R/W] ---11111 ICR33[R/W] ---11111 ICR34[R/W] ---11111 ICR35[R/W] ---11111 0000_0464 H ICR36[R/W] ---11111 ICR37[R/W] ---11111 ICR38[R/W] ---11111 ICR39[R/W] ---11111 0000_0468 H ICR40[R/W] ---11111 ICR41[R/W] ---11111 ICR42[R/W] ---11111 ICR43[R/W] ---11111 0000_046C H ICR44[R/W] ---11111 ICR45[R/W] ---11111 ICR46[R/W] ---11111 ICR47[R/W] ---11111 割込み制御 ユニット 0000_0470 H ∼ 0000_047C H ― 予約 0000_0480 H RSRR [R/W] 10000000 (*2) STCR [R/W] 00110011 (*2) TBCR [R/W] 00XXXX00 (*1) CTBR [W] XXXXXXXX 0000_0484 H CLKR [R/W] 00000000 WPR [W] XXXXXXXX DIVR0 [R/W] 00000011 (*1) DIVR1 [R/W] 00000000 クロック制御 ユニット 0000_0488 H ∼ 0000_063F H ― 予約 0000_0640 H ASR0 [R/W] 00000000 00000000 ACR0 [R/W] 1111**00 00000000 (*3) 0000_0644 H ASR1 [R/W] XXXXXXXX XXXXXXXX ACR1 [R/W] XXXXXXXX XXXXXXXX 0000_0648 H ASR2[R/W] XXXXXXXX XXXXXXXX ACR2 [R/W] XXXXXXXX XXXXXXXX 0000_064C H ASR3[R/W] XXXXXXXX XXXXXXXX ACR3 [R/W] XXXXXXXX XXXXXXXX CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED メモリインタ フェース 517 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (4 / 7) アドレス レジスタ +0 +1 +2 +3 0000_0650 H ASR4[R/W] XXXXXXXX XXXXXXXX ACR4 [R/W] XXXXXXXX XXXXXXXX 0000_0654 H ASR5[R/W] XXXXXXXX XXXXXXXX ACR5 [R/W] XXXXXXXX XXXXXXXX 0000_0658 H ― 0000_065C H ASR7[R/W] XXXXXXXX XXXXXXXX ACR7 [R/W] XXXXXXXX XXXXXXXX 0000_0660 H AWR0 [R/W] 01111111 11111111 AWR1 [R/W] XXXXXXXX XXXXXXXX 0000_0664 H AWR2 [R/W] XXXXXXXX XXXXXXXX AWR3 [R/W] XXXXXXXX XXXXXXXX 0000_0668 H AWR4 [R/W] XXXXXXXX XXXXXXXX AWR5 [R/W] XXXXXXXX XXXXXXXX 0000_066C H ― AWR7 [R/W] XXXXXXXX XXXXXXXX 0000_0670 H MCRA [R/W] XXXXXXXX MCRB [R/W] XXXXXXXX IOWR0 [R/W] XXXXXXXX IOWR1 [R/W] XXXXXXXX CSER [R/W] 00000001 CHER [R/W] XXXXXXX1 0000_0674 H 0000_0678 H 0000_0684 H メモリインタ フェース ― ― 0000_067C H 0000_0680 H ブロック IOWR2 [R/W] XXXXXXXX ― ― TCR [R/W] 00000000 (*1) ― RCR [R/W] 00XXXXXX XXXX0XXX ― 0000_0688 H ∼ 0000_0FFC H 518 ― FUJITSU MICROELECTRONICS LIMITED 予約 CM71-10131-1 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (5 / 7) アドレス レジスタ +0 +1 +2 +3 0000_1000 H DMASA0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1004 H DMADA0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1008 H DMASA1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_100C H DMADA1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1010 H DMASA2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1014 H DMADA2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1018 H DMASA3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_101C H DMADA3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1020 H DMASA4 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000_1024 H DMADA4 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ブロック DMAC 0000_1028 H ∼ 0000_FFFC H ― 予約 010F_0000 H BSR[R] 00000000 BCR[R/W] 00000000 CCR[R/W] 10000000 ADR[R/W] 10000000 010F_0004 H DAR[R/W] XXXXXXXX CSR[R/W] 00000000 FSR[R/W] 00000001 BC2R[R/W] 00XX0000 I 2C 010F_0008 H ∼ 010F_FFFF H ― 0110_0000 H DLCR0[*4] 0_000000 DLCR1[R, W] 00000000 DLCR2[*4] 00000000 DLCR3[R/W] 00000000 0110_0004 H DLCR4[*4] 00000010 DLCR5[*4] 01000001 DLCR6[*4] 10000000 DLCR7[*4] 00000000 0110_0008 H DLCR8[R/W] 00000000 DLCR9[R/W] 00000000 DLCR10[R/W] 00000000 DLCR11[R/W] 00000000 0110_000C H DLCR12[R/W] 00000000 DLCR13[R/W] 00000000 CM71-10131-1 LAN コントローラ バンク 0 ― FUJITSU MICROELECTRONICS LIMITED 519 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (6 / 7) アドレス レジスタ +0 +1 +2 +3 0110_0008 H MAR8[R/W] 00000000 MAR9[R/W] 00000000 MAR10[R/W] 00000000 MAR11[R/W] 00000000 0110_000C H MAR12[R/W] 00000000 MAR13[R/W] 00000000 MAR14[R/W] 00000000 MAR15[R/W] 00000000 0110_0008 H ― ― BMPR10[*4] 00000000 ― 0110_000C H BMPR12[*4] 00000000 ― BMPR14[*4] 00000000 ― 0110_0010 H BMPR8 [R/W] 00000000-00000000 00000000----0---0 0110_0014 H ― 0110_0018 H ― 0110_001C H 0110_0020 H 0110_0024 H ― バンク 2 FL_STATUS[R/W] XXXXXXX0 FL_DATA[R/W] 00000000-00000000-00000000-00000000 ― FL_CONTROL[R/W] XXXXX000-00000000 FL_SUBNET[R/W] 11111111-11111111-11111111-11111111 SMI_CMD[R/W] 0--00000----00000 ― 0110_002C H ― ― 0110_0030 H ― SMI_DATA[R/W] 00000000-00000000 0110_0034 H ― SMI_POLLINTVL[R/W] 00000000-00000000 0110_0038 H ― SMI_CMD_ST[R] XXXXXX00 ― SMI_PHY_AD D[R/W] XXX00000 0110_003C H ― ― SMI_CONTROL [R/W] XXXXX111 0110_0040 H ― ― SMI_STATUS[R] XXXXXXXX 0110_0044 H ― ― SMI_INTENABLE [R/W] XXXXXXX0 ― SMI_MDCDIV [R/W] XXX01011 520 バンク 1 FL_CMD[R/W] 00000000----0---0 0110_0028 H 0110_0048 H ブロック ― FUJITSU MICROELECTRONICS LIMITED SMI IF CM71-10131-1 付録 付録 A I/O マップ MB91402/403 シリーズ 付表 A-1 I/O マップ (7 / 7) アドレス レジスタ +0 +1 +2 +3 0114_0000 H MIFRXDR [R] 00000000-00000000 00000000-00000000 0114_0004 H MIFTXDR [W] 00000000-00000000 00000000-00000000 0114_0008 H MIFRXR[R] 00000000-00000000 ― 0114_000C H MIFTXR[W] 00000000-00000000 ― 0114_0010 H ― MIFCR[R/W] XXXXX000-00000000 0114_0014 H ― MIFSR[R] XXXXXXXX-00000000 ブロック MPU IF MIFRXSR [R] 00000000-00000000 00000000-00000000 0114_0018 H 0114_001C H MIFTXSR[R] 00000110-00000000 ― 0114_0020 H ― PACR[R/W] XXXXXXX0-00000000 0114_0024 H ― ― PADR[R/W] 0000XXXX GPIO(PORT A) 0114_0028 H ∼ 0114_002F H 0114_0030 H 0114_0034 H ― ― PBCR[R/W] XX000000-00000000-00000000 ― PBDR[R/W] XXXXXXXX-XXXXXXXX-XXXXXXXX 予約 GPIO(PORT B) *1: リセットレベルで初期値が異なるレジスタです。表示は , INIT レベルのものです。 *2: リセットレベルで初期値が異なるレジスタです。表示は , INIT 端子による INIT レベルによるも のです。 *3: 初期値はモードベクタの WTH ビットにより設定されます。 *4: ビットにより属性が異なります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 521 付録 付録 B 割込みベクタ 付録 B MB91402/403 シリーズ 割込みベクタ 表 B-1 に示す割込みベクタテーブルには , MB91402/403 シリーズの割込み要因と割 込みベクタ / 割込み制御レジスタの割当てが記載されています。 ICR: 割込みコントローラ内に設けられたレジスタで割込みの各要求に対する割込み レベルを設定します。 ICR は割込み要求の各々に対応して用意されています。 TBR: EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。 TBR と EIT 要因ごとに決められたオフセット値を加算したアドレスがベクタア ドレスとなります。 TBR の示すアドレスから 1K バイトの領域が EIT 用ベクタ領域となっています。 1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は下記のよ うに表されます。 vctadr = TBR + vctofs = TBR + (3FCH - 4 × vct) vctadr:ベクタアドレス vctofs :ベクタオフセット vc :ベクタ番号 表 B-1 割込みベクタテーブル (1 / 3) 割込み番号 割込み要因 522 10 進 16 進 割込み レベル オフ TBR デフォルト リソース セット 番号 のアドレス リセット 0 00 - 3FCH 000FFFFCH - モードベクタ 1 01 - 3F8H 000FFFF8H - システム予約 2 02 - 3F4H 000FFFF4H - システム予約 3 03 - 3F0H 000FFFF0H - システム予約 4 04 - 3ECH 000FFFECH - システム予約 5 05 - 3E8H 000FFFE8H - システム予約 6 06 - 3E4H 000FFFE4H - 000FFFE0H - コプロセッサ不在トラップ 7 07 - 3E0H コプロセッサエラートラップ 8 08 - 3DCH 000FFFDCH - INTE 命令 9 09 - 3D8H 000FFFD8H - 命令ブレーク例外 10 0A - 3D4H 000FFFD4H - オペランドブレークトラップ 11 0B - 3D0H 000FFFD0H - ステップトレーストラップ 12 0C - 3CCH 000FFFCCH - NMI 要求 (tool) 13 0D - 3C8H 000FFFC8H - 未定義命令例外 14 0E - 3C4H 000FFFC4H - NMI 要求 15 0F FH 固定 3C0H 000FFFC0H - FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 B 割込みベクタ MB91402/403 シリーズ 表 B-1 割込みベクタテーブル (2 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ TBR デフォルト リソース セット 番号 のアドレス Ethernet MAC IF 16 10 ICR00 3BCH 000FFFBCH 4 認証マクロ処理部 17 11 ICR01 3B8H 000FFFB8H 5 予約 18 12 ICR02 3B4H 000FFFB4H 8 External IF 19 13 ICR03 3B0H 000FFFB0H 9 2 I C IF 20 14 ICR04 3ACH 000FFFACH - GPIO 21 15 ICR05 3A8H 000FFFA8H - 外部割込み 6 22 16 ICR06 3A4H 000FFFA4H - 外部割込み 7 23 17 ICR07 3A0H 000FFFA0H - リロードタイマ 0 24 18 ICR08 39CH 000FFF9CH 6 リロードタイマ 1 25 19 ICR09 398H 000FFF98H 7 リロードタイマ 2 26 1A ICR10 394H 000FFF94H - UART0( 受信完了 ) 27 1B ICR11 390H 000FFF90H 0 UART1( 受信完了 ) 28 1C ICR12 38CH 000FFF8CH 1 UART0( 送信完了 ) 29 1D ICR13 388H 000FFF88H 2 UART1( 送信完了 ) 30 1E ICR14 384H 000FFF84H 3 DMAC0( 終了 , エラー ) Ethernet MAC IF 31 1F ICR15 380H 000FFF80H - DMAC1( 終了 , エラー ) External IF 32 20 ICR16 37CH 000FFF7CH - DMAC2( 終了 , エラー ) 33 21 ICR17 378H 000FFF78H - DMAC3( 終了 , エラー ) 34 22 ICR18 374H 000FFF74H - DMAC4( 終了 , エラー ) 35 23 ICR19 370H 000FFF70H - システム予約 36 24 ICR20 36CH 000FFF6CH - システム予約 37 25 ICR21 368H 000FFF68H - システム予約 38 26 ICR22 364H 000FFF64H - システム予約 39 27 ICR23 360H 000FFF60H - システム予約 40 28 ICR24 35CH 000FFF5CH - システム予約 41 29 ICR25 358H 000FFF58H - システム予約 42 2A ICR26 354H 000FFF54H - システム予約 43 2B ICR27 350H 000FFF50H - システム予約 44 2C ICR28 34CH 000FFF4CH - U-TIMER0 45 2D ICR29 348H 000FFF48H - U-TIMER1 46 2E ICR30 344H 000FFF44H - タイムベースタイマオーバフロー 47 2F ICR31 340H 000FFF40H - システム予約 48 30 ICR32 33CH 000FFF3CH - システム予約 49 31 ICR33 338H 000FFF38H - システム予約 50 32 ICR34 334H 000FFF34H - システム予約 51 33 ICR35 330H 000FFF30H - システム予約 52 34 ICR36 32CH 000FFF2CH - CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 523 付録 付録 B 割込みベクタ MB91402/403 シリーズ 表 B-1 割込みベクタテーブル (3 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ TBR デフォルト リソース セット 番号 のアドレス システム予約 53 35 ICR37 328H 000FFF28H - システム予約 54 36 ICR38 324H 000FFF24H - システム予約 55 37 ICR39 320H 000FFF20H - システム予約 56 38 ICR40 31CH 000FFF1CH - システム予約 57 39 ICR41 318H 000FFF18H - システム予約 58 3A ICR42 314H 000FFF14H - システム予約 59 3B ICR43 310H 000FFF10H - システム予約 60 3C ICR44 30CH 000FFF0CH - システム予約 61 3D ICR45 308H 000FFF08H - システム予約 62 3E ICR46 304H 000FFF04H - 遅延割込み要因ビット 63 3F ICR47 300H 000FFF00H - システム予約 (REALOS にて使用 ) 64 40 - 2FCH 000FFEFCH - システム予約 (REALOS にて使用 ) 65 41 - 2F8H 000FFEF8H - システム予約 66 42 - 2F4H 000FFEF4H - システム予約 67 43 - 2F0H 000FFEF0H - システム予約 68 44 - 2ECH 000FFEECH - システム予約 69 45 - 2E8H 000FFEE8H - システム予約 70 46 - 2E4H 000FFEE4H - システム予約 71 47 - 2E0H 000FFEE0H - システム予約 72 48 - 2DCH 000FFEDCH - システム予約 73 49 - 2D8H 000FFED8H - システム予約 74 4A - 2D4H 000FFED4H - システム予約 75 4B - 2D0H 000FFED0H - システム予約 76 4C - 2CCH 000FFECCH - システム予約 77 4D - 2C8H 000FFEC8H - システム予約 78 4E - 2C4H 000FFEC4H - システム予約 79 4F - 2C0H 000FFEC0H - 50 ∼ FF 2BCH 000FFEBCH INT 命令で使用 80 ∼ 255 ∼ 000H ∼ 000FFC00H 524 - FUJITSU MICROELECTRONICS LIMITED - CM71-10131-1 付録 付録 C 各 CPU ステートにおける端子状態 MB91402/403 シリーズ 付録 C 各 CPU ステートにおける端子状態 端子の状態に対する語句には以下の意味があります。 ①無効 入力をサンプリングしない状態です。 ②有効 入力をサンプリングして有効な値として使用します。 ③直前状態保持 本モードになる直前に出力していた状態をそのまま出力していることを意味しま す。 表 C-1 各 CPU ステートにおける端子状態 (1 / 2) ストップ時 CM71-10131-1 INIT 端子名 スリープ時 D31 ∼ D16 入力状態 : 無効 ← ← A22 ∼ A0 直前状態保持 ← "L" RDY 無効 ← ← RD "H" ← ← WR1, WR0 "H" ← ← MCLKE 直前状態保持 ← "H" SRAS "H" ← ← SCAS "H" ← ← WE "H" ← ← MCLKO 直前状態保持 ← "L" CS7, CS6 "H" ← ← INT7, INT6 有効 ← 無効 SIN1, SIN0 SIN1, SIN0 無効 ← SOUT1, SOUT0 SOUT1, SOUT0 直前状態保 持 "H" SCK1, SCK0 SCK1, SCK0 直前状態保 持 無効 TXCLK 無効 ← ← TXD3 ∼ TXD0 直前状態保持 ← "L" TXEN 直前状態保持 ← "L" RXCLK 無効 ← ← RXER 無効 ← ← RXD3 ∼ RXD0 無効 ← ← RXDV 無効 ← ← RXCRS 無効 ← ← HIZ=0* FUJITSU MICROELECTRONICS LIMITED 備考 525 付録 付録 C 各 CPU ステートにおける端子状態 MB91402/403 シリーズ 表 C-1 各 CPU ステートにおける端子状態 (2 / 2) ストップ時 INIT 端子名 スリープ時 COL 無効 ← ← MDCLK 直前状態保持 ← "L" MDIO 直前状態保持 ← 無効 MIFCS/PB21 無効 / 直前状態保持 ← 無効 MIFA/PB20 無効 / 直前状態保持 ← 無効 MIFRD/PB19 無効 / 直前状態保持 ← 無効 MIFWR/PB18 無効 / 直前状態保持 ← 無効 MIFDRQR/PB17 直前状態保持 ← "H" MIFDRQT/PB16 直前状態保持 ← "H" MIFD[15:0]/ PB[15:0] 直前状態保持 ← 無効 PA3 ∼ PA0 直前状態保持 ← 無効 SDA 直前状態保持 ← 無効 SCL 直前状態保持 ← 無効 HIZ=0* 備考 *: ストップモードにおける HIZ=1 の設定は禁止です。 526 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 付録 D 付録 付録 D リトルエンディアン領域を使用する際の注意事項 リトルエンディアン領域を使用する際の注意事項 リトルエンディアン領域を使用する際の注意事項を以下の項目ごとに説明します。 • C コンパイラ • アセンブラ • リンカ • デバッガ CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 527 付録 付録 D リトルエンディアン領域を使用する際の注意事項 D.1 MB91402/403 シリーズ C コンパイラ (fcc911) C 言語でプログラミングをするにあたって , リトルエンディアン領域に対して次のよ うな操作を行ったときには動作を保証できませんのでご注意ください。 • 初期値付き変数の配置 • 構造体代入 • 文字列操作関数を使用した文字型配列以外の操作 • 文字列操作関数使用時の -K lib オプションの指定 • double 型 , long double 型の使用 • スタックのリトルエンディアン領域への配置 ■ 初期値付き変数の配置 リトルエンディアン領域に , 初期値付きの変数を配置することはできません。コンパイ ラには , リトルエンディアンの初期値を生成する機能がありません。リトルエンディア ン領域に変数を配置することはできますが , 初期値を設定することはできません。プロ グラムの先頭で , 初期値を設定する処理を行ってください。 [ 例 ] リトルエンディアン領域の変数 little_data に初期値を設定する場合 extern int little_data; void little_init(void) { little_data =初期値 ; } void main(void) { little_init(); ... } 528 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 D リトルエンディアン領域を使用する際の注意事項 MB91402/403 シリーズ ■ 構造体代入 構造体どうしの代入を行うとき , コンパイラは最適な転送方法を選択してバイト , ハー フワード , ワードごとの転送を行います。このため , 通常の領域に割り当てられた構造 体変数とリトルエンディアンの領域に割り当てられた構造体変数の間で構造体代入を 行うと正しい結果が得られません。構造体のメンバをそれぞれ代入してください。 [ 例 ] リトルエンディアン領域の構造体変数 little_st に構造体を代入する場合 struct tag { char c; int i; } normal_st; extern struct tag little_st; #define STRMOVE(DEST,SRC) DEST.c=SRC.c;DEST.i=SRC.i; void main(void) { STRMOVE(little_st,normal_st); } また , 構造体のメンバの配置はコンパイラごとに違うので , ほかのコンパイラでコンパ イルされた構造体とは , メンバの配置が違っていることが考えられます。このようなと きには , 前述の方法においても正しい結果が得られません。構造体のメンバの配置が一 致しないときは , リトルエンディアン領域に構造体変数を配置しないでください。 ■ 文字列操作関数を使った文字型配列以外の操作 標準ライブラリとして用意されている文字列操作関数はバイト単位での処理を行いま す。このため , リトルエンディアン領域に配置された char, unsigned char, signed char 型 以外の型がある領域に対し , 文字列操作関数を使った処理を行うと , 正しい結果が得ら れません。このような処理を行わないでください。 [ 不具合例 ] memcpy でのワードデータの転送 int big = 0x01020304; extern int little; /* ビッグエンディアン領域 */ /* リトルエンディアン領域 */ memcpy(&little,&big,4); /* memcpy による転送 */ 上記の実行結果は ( ビッグエンディアン領域 ) 01 02 03 04 ( リトルエンディアン領域 ) → memcpy → 01 02 03 04 03 02 01 となり , ワードデータの転送結果としては誤りになる。 ( 正しい結果 ) CM71-10131-1 04 FUJITSU MICROELECTRONICS LIMITED 529 付録 付録 D リトルエンディアン領域を使用する際の注意事項 MB91402/403 シリーズ ■ 文字列操作関数使用時の -K lib オプションの指定 -K lib オプションを指定すると , コンパイラはいくつかの文字列操作関数に対してイン ライン展開を行います。このとき , 最適な処理を選択するためにハーフワードまたは ワードごとの処理に変更される場合があります。このため , リトルエンディアン領域に 対する処理が正しく実行されません。リトルエンディアン領域に対して文字列操作関 数を使った処理を行っているときは , -K lib オプションを指定しないでください。-K lib オプションを包含する -O 4 オプションや -K speed オプションも同様に指定しないで ください。 ■ double 型 , long double 型の利用 double 型および long double 型へのアクセスは , 上位 1 ワード , 下位 1 ワードをそれぞれ アクセスする方法で行われます。このため , リトルエンディアン領域に配置された double 型 , long double 型変数に対するアクセスは , 正しい結果が得られません。リトル エンディアン領域に割り当てられた同一型の変数どうしの代入は可能ですが , 最適化 の結果 , これらの代入が定数の代入に置き換えられるときもあります。double 型および long double 型変数をリトルエンディアン領域に配置しないでください。 [ 不具合例 ] double 型データの転送 double big = 1.0; /* ビッグエンディアン領域 */ extern int little; /* リトルエンディアン領域 */ little = big; /* double 型データの転送 */ 上記の実行結果は ( ビッグエンディアン領域 ) 3f f0 00 00 00 00 00 ( リトルエンディアン領域 ) 00 → 00 00 f0 3f 00 00 00 00 00 00 00 f0 3f となり , double 型データの転送結果としては誤りになる。 ( 正しい結果 ) 00 00 00 ■ スタックのリトルエンディアン領域への配置 リトルエンディアン領域にスタックの一部あるいは全部が配置された場合には動作を 保証しません。 530 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ D.2 付録 付録 D リトルエンディアン領域を使用する際の注意事項 アセンブラ (fasm911) FR のアセンブラ言語でプログラミングをするにあたって , リトルエンディアン領域 に関して注意が必要な項目を以下に示します。 ■ セクションについて リトルエンディアン領域は , 主にリトルエンディアン系 CPU とデータ交換を行うこと を目的としています。そのため , リトルエンディアン領域を初期値のないデータセク ションとして定義してください。もし , リトルエンディアン領域にコードやスタック , 初期値付きデータセクションなどを指定した場合には , MB91402/403 シリーズでのア クセス動作を保証できなくなります。 [例] /* 正しいリトルエンディアン領域のセクション定義 */ .SECTION Little_Area, DATA, ALIGN=4 Little_Word: .RES.W 1 Little_Half: .RES.H 1 Little_Byte: .RES.B CM71-10131-1 1 FUJITSU MICROELECTRONICS LIMITED 531 付録 付録 D リトルエンディアン領域を使用する際の注意事項 MB91402/403 シリーズ ■ データのアクセスについて リトルエンディアン領域へデータアクセスを行う場合,エンディアンを意識せずにコー ディングできます。ただし , リトルエンディアン領域のデータへのアクセスは , 必ず データサイズと同じサイズでアクセスしてください。 [例] LDI #0x01020304, r0 LDI #Little_Word, r1 LDI #0x0102, r2 LDI #Little_Half, r3 LDI #0x01, r4 LDI #Little_Byte, r5 /* 32 ビットデータは , ST 命令 ( や LD 命令など ) でアクセスします。*/ ST r0, @r1 /* 16 ビットデータは , STH 命令 ( や LDH 命令など ) でアクセスします。*/ STH /* r2, @r3 8 ビットデータは , STB 命令 ( や LDB 命令など ) でアクセスします。*/ STB r4, @r5 本マクロでデータサイズと異なるサイズでアクセスした場合には,その値の保証はでき ません。例えば , 連続する 2 つの 16 ビットデータを 32 ビットアクセス命令を使って一 度にアクセスした場合にはデータの値を保証できません。 532 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ D.3 付録 付録 D リトルエンディアン領域を使用する際の注意事項 リンカ (flnk911) リトルエンディアン領域を使用するプログラムの作成において , リンク時のセク ション配置で注意が必要な項目を以下に示します。 ■ セクション種別の制限 リトルエンディアン領域には , 初期値なしデータセクションのみを配置することがで きます。リトルエンディアン領域に初期値付きデータセクション , スタックセクション およびコードセクションを配置した場合,リンカの内部ではビッグエンディアンでアド レス解決などの演算処理を行っていますので , プログラム動作を保証できなくなりま す。 ■ エラーの未検出 リンカは , リトルエンディアン領域の認識をしていませんので , 上記制限事項に違反し た配置が行われても , エラーメッセージを通知することはありません。リトルエンディ アン領域に配置したセクションの内容を十分にご確認のうえ使用してください。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 533 付録 付録 D リトルエンディアン領域を使用する際の注意事項 D.4 MB91402/403 シリーズ デバッガ (sim911, eml911, mon911) デバッガを通してリトルエンディアン領域にアクセスする際の注意を以下に示しま す。 ■ シミュレータデバッガ リトルエンディアン領域を示すようなメモリ空間指定コマンドはありません。した がって , メモリ操作コマンドやメモリを操作する命令実行は , ビッグエンディアンとし て扱われます。 ■ エミュレータデバッガ , モニタデバッガ 以下のコマンドでリトルエンディアン領域をアクセスした場合には,正常な値として扱 われませんので注意してください。 • set memory/show memory/enter/examine/set watch コマンド → 浮動小数点 (single/double) のデータを扱った場合 , 指定した値を設定・表示とも にできません。 • search memory コマンド → ハーフワード , ワードのデータを検索した場合 , 指定した値で検索が行われませ ん。 • 行 / 逆アセンブル ( ソースウィンドウの逆アセンブル表示を含む ) → 正常な命令コードを設定・表示ともにできません ( リトルエンディアン領域には , 命令コードを配置しないようにしてください )。 • call/show call コマンド → スタック領域がリトルエンディアン領域に置かれた場合には正常に動作しませ ん(リトルエンディアン領域にスタック領域を配置しないようにしてください)。 534 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ 付録 E 付録 付録 E 命令一覧 命令一覧 FR ファミリ CPU の命令一覧の記号の意味と命令一覧表を示します。 E.1 命令一覧表の記号の意味 E.2 命令一覧表 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 535 付録 付録 E 命令一覧 E.1 MB91402/403 シリーズ 命令一覧表の記号の意味 命令一覧表に用いている記号の意味を説明します。 ■ 命令一覧表に用いている記号の意味 ● ニーモニック欄および動作欄 i4 4 ビット即値を示し , ゼロ拡張の場合は 0 ∼ 15, マイナス拡張の場合は -16 ∼ -1 の 指定になります。 i8 符号なし 8 ビット即値を示し , 0 ∼ 255 まで指定できます。 i20 符号なし 20 ビット即値を示し , 00000H ∼ FFFFFH まで指定できます。 i32 符号なし 32 ビット即値を示し , 00000000H ∼ FFFFFFFFH まで指定できます。 s8 符号付き 8 ビット即値を示し , -128 ∼ 127 まで指定できます。 s10 符号付き 10 ビット即値を示し , -512 ∼ 508 まで指定できます (4 の倍数 )。 u4 符号なし 4 ビット即値を示し , 0 ∼ 15 まで指定できます。 u8 符号なし 8 ビット即値を示し , 0 ∼ 255 まで指定できます。 u10 符号なし 10 ビット即値を示し , 0 ∼ 1020 まで指定できます (4 の倍数 )。 udisp6 符号なし 6 ビットアドレス値を示し , 0 ∼ 60 まで指定できます (4 の倍数 )。 disp8 符号付き 8 ビットアドレス値を示し , -0x80 ∼ 0x7F まで指定できます。 disp9 符号付き 9 ビットアドレス値を示し , -0x100 ∼ 0xFE まで指定できます (2 の倍数 )。 disp10 符号付き 10ビットアドレス値を示し, -0x200 ∼ 0x1FC まで指定できます (4の倍数)。 dir8 符号なし 8 ビットアドレス値を示し , 0 ∼ 0xFF まで指定できます。 dir9 符号なし 9 ビットアドレス値を示し , 0 ∼ 0x1FE まで指定できます (2 の倍数 )。 dir10 符号なし 10 ビットアドレス値を示し , 0 ∼ 0x3FC まで指定できます (4 の倍数 )。 536 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 E 命令一覧 MB91402/403 シリーズ label9 符号付き 9 ビット分岐アドレスを示し , PC の値に対して -0x100 ∼ 0xFE まで指定で きます (2 の倍数 )。 label12 符号付き 12 ビット分岐アドレスを示し , PC の値に対して -0x800 ∼ 0x7FE まで指定 できます (2 の倍数 )。 Ri, Rj 汎用レジスタ (R00 ∼ R15) を示します。 Rs 専用レジスタ (TBR, RP, USP, SSP, MDH, MDL) を示します。 ● 動作欄 extu( ) ゼロ拡張操作を示し , 上位ビットの欠けている部分に "0" を補います。 extn( ) マイナス拡張操作を示し , 上位ビットの欠けている部分に "1" を補います。 exts( ) 符号拡張操作を示し , () のデータの MSB が "0" ならばゼロ拡張操作をし , MSB が "1" ならばマイナス拡張操作をします。 () 間接アドレッシングを示します。( ) 内のレジスタまたは式の示すアドレスのメモリ 読出し・書込み値です。 {} 演算の優先順位を明示するための括弧になります。( ) を間接アドレス指定に使用し ているため , { } を使用します。 ● 型欄 A ∼ F は図 E-1 の TYPE-A ∼ TYPE-F に対応します。 図 E-1 命令フォーマット MSB 16ビット 4ビット 8ビット OP TYPE-A TYPE-B Ri Rj 8ビット 4ビット OP i8/o8 Ri 8ビット 4ビット 4ビット OP u4/m4/i4 Ri 8ビット 8ビット OP TYPE-D TYPE-E CM71-10131-1 4ビット 4ビット TYPE-C TYPE-F LSB u8/rel8/dir/rlist 12ビット 4ビット OP Ri/Rs 5ビット 11ビット OP rel11 FUJITSU MICROELECTRONICS LIMITED 537 付録 付録 E 命令一覧 MB91402/403 シリーズ ● OP 欄 オペコードの表記は型欄の内容により , 以下のように分かれます。 型欄が A, C, D OP の 8 ビットを 16 進数 2 桁で示します。 型欄が B OP の上位 4 ビットを上位 , 下位は "0" とした 16 進数 2 桁で示します。 型欄が E OP の上位 8 ビットを上位 2 桁 , SUB-OP の 4 ビットを次の 1 桁 , 残りを "0" とした 16 進数 4 桁で示します。 型欄が F OP の上位 5 ビットを上位 , 不足分は "0" を詰めた 16 進数 2 桁で示します。 ● CYC 欄 数値はマシンサイクルで , a ∼ d の最小は 1 サイクルです。 a メモリアクセスサイクルで , レディ機能により延びる可能性があります。 b メモリアクセスサイクルで , レディ機能により延びる可能性があります。ただし , LD動作の対象となるレジスタを直後の命令が参照する場合には,インターロックが かかり , 実行サイクル数が 1 サイクル増えて 2 サイクルになります。 c 直後の命令が R15, SSP または USP に対して読出しや書込みを行う命令のとき , ま たは命令フォーマットが TYPE-A の命令のときにインターロックがかかり実行サイ クル数が 1 サイクル増えて 2 サイクルになります。 d 直後の命令が MDH/MDL を参照するときにインターロックがかかり , 実行サイクル 数が 1 サイクル増えて 2 サイクルになります。ただし , DIV1 命令の直後に , 専用レ ジスタ (TBR, RP, USP, SSP, MDH, MDL) を ST Rs,@-R15 命令でアクセスすると , 常 にインターロックがかかり , 実行サイクル数が 1 サイクル増えて 2 サイクルになり ます。 ● FLAG 欄 C 操作の結果で変化します。 変化しません。 0 "0" になります。 1 "1" になります。 538 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 MB91402/403 シリーズ E.2 付録 付録 E 命令一覧 命令一覧表 FR ファミリ CPU の命令数は全部で 165 あり , 以下の 16 種類に分類しています。 この命令を表 E.2-1 ∼表 E.2-14 に示します。 • 加減算命令 (10 命令 ) • 比較演算命令 (3 命令 ) • 論理演算命令 (12 命令 ) • ビット操作演算命令 (8 命令 ) • 乗除算命令 (10 命令 ) • シフト演算命令 (9 命令 ) • 即値データ転送命令 (3 命令 ) • メモリロード命令 (13 命令 ) • メモリストア命令 (13 命令 ) • レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 ) • 遅延なし分岐命令 (23 命令 ) • 遅延分岐命令 (20 命令 ) • ダイレクトアドレス指定命令 (14 命令 ) • リソース命令 (2 命令 ) • コプロセッサ命令 (4 命令 ) • その他の命令 (16 命令 ) CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 539 付録 付録 E 命令一覧 MB91402/403 シリーズ ■ 命令一覧表 表 E.2-1 加減算命令 (10 命令 ) 型 OP CYC FLAG NZVC ADD Rj, Ri ADD #i4, Ri ADD2 #i4, Ri A C C A6 A4 A5 1 1 1 CCCC CCCC CCCC Ri+Rj → Ri Ri+extu (i4) → Ri Ri+extn (i4) → Ri ゼロ拡張 マイナス拡張 ADD CRj, Ri A A7 1 CCCC Ri+Rj+c → Ri キャリ付き加算 ADDN Rj, Ri ADDN #i4, Ri ADDN2 #i4, Ri A C C A2 A0 A1 1 1 1 ---------- Ri+Rj → Ri Ri+extu (i4) → Ri Ri+extn (i4) → Ri ゼロ拡張 マイナス拡張 SUB Rj, Ri A AC 1 CCCC Ri-Rj → Ri SUB CRj, Ri A AD 1 CCCC Ri-Rj-c → Ri SUBN Rj, Ri A AE 1 ---- 型 OP CYC FLAG NZVC A C C AA A8 A9 1 1 1 CCCC CCCC CCCC Ri-Rj Ri-extu (i4) Ri-extn (i4) 型 OP CYC FLAG NZVC 動作 AND Rj, Ri AND Rj, @Ri ANDH Rj, @Ri ANDB Rj, @Ri A A A A 82 84 85 86 1 1+2a 1+2a 1+2a CC-CC-CC-CC-- Ri &=Rj (Ri) &=Rj (Ri) &=Rj (Ri) &=Rj − ○ ○ ○ ワード ワード ハーフワード バイト OR Rj, Ri OR Rj, @Ri ORH Rj, @Ri ORB Rj, @Ri A A A A 92 94 95 96 1 1+2a 1+2a 1+2a CC-CC-CC-CC-- Ri|=Rj (Ri)|=Rj (Ri)|=Rj (Ri)|=Rj − ○ ○ ○ ワード ワード ハーフワード バイト EOR Rj, Ri EOR Rj, @Ri EORH Rj, @Ri EORB Rj, @Ri A A A A 9A 9C 9D 9E 1 1+2a 1+2a 1+2a CC-CC-CC-CC-- Ri^=Rj (Ri)^=Rj (Ri)^=Rj (Ri)^=Rj − ○ ○ ○ ワード ワード ハーフワード バイト ニーモニック 動作 備考 キャリ付き減算 Ri-Rj → Ri 表 E.2-2 比較演算命令 (3 命令 ) ニーモニック CMP Rj, Ri CMP #i4, Ri CMP2 #i4, Ri 動作 備考 ゼロ拡張 マイナス拡張 表 E.2-3 論理演算命令 (12 命令 ) ニーモニック 540 FUJITSU MICROELECTRONICS LIMITED RMW 備考 CM71-10131-1 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-4 ビット操作演算命令 (8 命令 ) FLAG NZVC 型 OP CYC ニーモニック 80 81 1+2a 1+2a ------- RMW 備考 (Ri) &= {F0 H+u4} ○ 下位4ビットを操作 (Ri) &={ {u4 << 4} +F H} ○ 上位4ビットを操作 動作 BANDL #u4, @Ri (u4:0 ∼ 0F H) BANDH #u4, @Ri (u4:0 ∼ 0F H) C C BORL #u4, @Ri (u4:0 ∼ 0F H) BORH #u4, @Ri (u4:0 ∼ 0F H) C C 90 91 1+2a 1+2a ------- (Ri)|=u4 (Ri)|= {u4 << 4} ○ ○ 下位4ビットを操作 上位4ビットを操作 BEORL #u4, @Ri (u4:0 ∼ 0F H) BEORH #u4, @Ri (u4:0 ∼ 0F H) C C 98 99 1+2a 1+2a ------- (Ri)^=u4 (Ri)^ {u4 << 4} ○ ○ 下位4ビットを操作 上位4ビットを操作 BTSTL #u4, @Ri (u4:0 ∼ 0F H) BTSTH #u4, @Ri (u4:0 ∼ 0F H) C C 88 89 2+a 2+a − − 下位4ビットテスト 上位4ビットテスト 0C-- (Ri) &u4 CC-- (Ri) & {u4 << 4} 表 E.2-5 乗除算命令 (10 命令 ) 型 OP CYC FLAG NZVC 動作 MUL Rj, Ri MULU Rj, Ri MULH Rj, Ri MULUH Rj, Ri A A A A AF AB BF BB 5 5 3 3 CCCCCCCC-CC-- Rj × Ri → MDH, MDL Rj × Ri → MDH, MDL Rj × Ri → MDL Rj × Ri → MDL DIV0S Ri DIV0U Ri DIV1 Ri DIV2 Ri DIV3 DIV4S E E E E E E 97-4 97-5 97-6 97-7 9F-6 9F-7 1 1 d 1 1 1 -------C-C -C-C ------- ニーモニック 備考 32 × 32 ビット =64 ビット 符号なし 16 × 16 ビット =32 ビット 符号なし ステップ演算 32/32 ビット =32 ビット 表 E.2-6 シフト演算命令 (9 命令 ) 型 OP CYC FLAG NZVC LSL Rj, Ri LSL #u4, Ri LSL2 #u4, Ri A C C B6 B4 B5 1 1 1 CC-C CC-C CC-C Ri << Rj → Ri Ri << u4 → Ri Ri << {u4+16} → Ri 論理シフト LSR Rj, Ri LSR #u4, Ri LSR2 #u4, Ri A C C B2 B0 B1 1 1 1 CC-C CC-C CC-C Ri >> Rj → Ri Ri >> u4 → Ri Ri >> {u4+16} → Ri 論理シフト ASR Rj, Ri ASR #u4, Ri ASR2 #u4, Ri A C C BA B8 B9 1 1 1 CC-C CC-C CC-C Ri >> Rj → Ri Ri >> u4 → Ri Ri >> {u4+16} → Ri 算術シフト ニーモニック CM71-10131-1 動作 FUJITSU MICROELECTRONICS LIMITED 備考 541 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-7 即値データ転送命令 ( 即値セット /16 ビット /32 ビット即値転送命令 )(3 命令 ) ニーモニック LDI:32 #i32, Ri LDI:20 #i20, Ri LDI:8 #i8, Ri 型 OP CYC FLAG NZVC E C B 9F-8 9B C0 3 2 1 ---------- 動作 備考 i32 → Ri i20 → Ri i8 → Ri 上位 12 ビットはゼロ 上位 24 ビットはゼロ 表 E.2-8 メモリロード命令 (13 命令 ) 型 OP CYC FLAG NZVC LD @Rj, Ri LD @(R13, Rj), Ri LD @(R14, disp10), Ri LD @(R15, udisp6), Ri LD @R15+, Ri LD @R15+, Rs LD @R15+, PS A A B C E E E 04 00 20 03 07-0 07-8 07-9 b b b b b b 1+a+b ------------------CCCC LDUH @Rj, Ri LDUH @(R13, Rj), Ri LDUH @(R14, disp9), Ri A A B 05 01 40 b b b ---------- (Rj) → Ri (R13+Rj) → Ri (R14+disp9) → Rj ゼロ拡張 ゼロ拡張 ゼロ拡張 LDUB @Rj, Ri LDUB @(R13, Rj), Ri LDUB @(R14, disp8), Ri A A B 06 02 60 b b b ---------- (Rj) → Ri (R13+Rj) → Ri (R14+disp8) → Ri ゼロ拡張 ゼロ拡張 ゼロ拡張 ニーモニック 動作 (Rj) → Ri (R13+Rj) → Ri (R14+disp10) → Ri (R15+udisp6) → Ri (R15) → Ri, R15+=4 (R15) → Rs, R15+=4 (R15) → PS, R15+=4 備考 Rs: 専用レジスタ <注意事項> 命令フォーマット中の TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記 述の disp8 ∼ disp10 の関係は以下のようになっています。 disp8 → o8=disp8 disp9 → o8=disp9 >>1 disp10 → o8=disp10 >>2 udisp6 → u4=udisp6 >>2 542 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-9 メモリストア命令 (13 命令 ) 型 OP CYC FLAG NZVC ST Ri, @Rj ST Ri, @(R13, Rj) ST Ri, @(R14, disp10) ST Ri, @(R15, udisp6) ST Ri, @-R15 ST Rs, @-R15 ST PS, @-R15 A A B C E E E 14 10 30 13 17-0 17-8 17-9 a a a a a a a ---------------------- Ri → (Rj) Ri → (R13+Rj) Ri → (R14+disp10) Ri → (R15+udisp6) R15-=4, Ri → (R15) R15-=4, Rs → (R15) R15-=4, PS → (R15) ワード ワード ワード STH Ri, @Rj STH Ri, @(R13, Rj) STH Ri, @(R14, disp9) A A B 15 11 50 a a a ---------- Ri → (Rj) Ri → (R13+Rj) Ri → (R14+disp9) ハーフワード ハーフワード ハーフワード STB Ri, @Rj STB Ri, @(R13, Rj) STB Ri, @(R14, disp8) A A B 16 12 70 a a a ---------- Ri → (Rj) Ri → (R13+Rj) Ri → (R14+disp8) バイト バイト バイト ニーモニック 動作 備考 Rs: 専用レジスタ <注意事項> 命令フォーマット中の TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記 述の disp8 ∼ disp10 の関係は以下のようになっています。 disp8 → o8=disp8 disp9 → o8=disp9 >>1 disp10 → o8=disp10 >>2 udisp6 → u4=udisp6 >>2 表 E.2-10 レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 ) ニーモニック MOV Rj, Ri MOV Rs, Ri MOV Ri, Rs MOV PS, Ri MOV Ri, PS CM71-10131-1 型 OP CYC FLAG NZVC A A A E E 8B B7 B3 17-1 07-1 1 1 1 1 c ------------CCCC 動作 Rj → Ri Rs → Ri Ri → Rs PS → Ri Ri → PS FUJITSU MICROELECTRONICS LIMITED 備考 汎用レジスタ間転送 Rs: 専用レジスタ Rs: 専用レジスタ 543 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-11 遅延なし分岐命令 (23 命令 ) 型 OP CYC FLAG NZVC JMP @Ri E 97-0 2 ---- Ri → PC CALL label12 CALL @Ri F E D0 97-1 2 2 ------- PC+2 → RP, PC+2+rel11 × 2 → PC PC+2 → RP, Ri → PC RET E 97-2 2 ---- RP → PC INT #u8 D 1F 3+3a ---- SSP-=4, PS→ (SSP) , SSP-=4, PC+2→ (SSP) , 0 → I フラグ , 0 → S フラグ , (TBR+3FC-u8 × 4) → PC INTE E 9F-3 3+3a ---- SSP-=4, PS→ (SSP) , SSP-=4, PC+2→ (SSP) , 0 → S フラグ , 4 → ILM, (TBR+3D8-u8 × 4) → PC RETI E 97-3 2+2a CCCC (R15) → PC, R15+=4, (R15) → PS, R15+=4 BNO label9 BRA label9 BEQ label9 BNE label9 BC label9 BNC label9 BN label9 BP label9 BV label9 BNV label9 BLT label9 BGE label9 BLE label9 BGT label9 BLS label9 BHI label9 D D D D D D D D D D D D D D D D E1 E0 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF 1 2 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 2/1 ------------------------------------------------- 非分岐 PC+2+rel8 × 2 → PC PC+2+rel8 × 2 → PC if Z==1 PC+2+rel8 × 2 → PC if Z==0 PC+2+rel8 × 2 → PC if C==1 PC+2+rel8 × 2 → PC if C==0 PC+2+rel8 × 2 → PC if N==1 PC+2+rel8 × 2 → PC if N==0 PC+2+rel8 × 2 → PC if V==1 PC+2+rel8 × 2 → PC if V==0 PC+2+rel8 × 2 → PC if V xor N==1 PC+2+rel8 × 2 → PC if V xor N==0 PC+2+rel8 × 2 → PC if (V xor N) or Z==1 PC+2+rel8 × 2 → PC if (V xor N) or Z==0 PC+2+rel8 × 2 → PC if C or Z==1 PC+2+rel8 × 2 → PC if C or Z==0 ニーモニック 動作 備考 リターン <注意事項> • 命令フォーマット中の TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブ ラ記述の label9, label12 の関係は以下のようになっています。 label9 → rel8=(label9-PC-2)/2 label12 → rel11=(label12-PC-2)/2 • CYC 欄の "2/1" は , 分岐するときは 2, 分岐しないときは 1 を示します。 • RETI を実行するときは S フラグが "0" である必要があります。 544 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-12 遅延分岐命令 (20 命令 ) 型 OP CYC FLAG NZVC JMP:D @Ri E 9F-0 1 ---- Ri → PC CALL:D label12 CALL:D @Ri F E D8 9F-1 1 1 ------- PC+4 → RP, PC+2+rel11 × 2 → PC PC+4 → RP, Ri → PC RET:D E 9F-2 1 ---- RP → PC BNO:D label9 BRA:D label9 BEQ:D label9 BNE:D label9 BC:D label9 BNC:D label9 BN:D label9 BP:D label9 BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 D D D D D D D D D D D D D D D D F1 F0 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ------------------------------------------------- 非分岐 PC+2+rel8 × 2 → PC PC+2+rel8 × 2 → PC if Z==1 PC+2+rel8 × 2 → PC if Z==0 PC+2+rel8 × 2 → PC if C==1 PC+2+rel8 × 2 → PC if C==0 PC+2+rel8 × 2 → PC if N==1 PC+2+rel8 × 2 → PC if N==0 PC+2+rel8 × 2 → PC if V==1 PC+2+rel8 × 2 → PC if V==0 PC+2+rel8 × 2 → PC if V xor N==1 PC+2+rel8 × 2 → PC if V xor N==0 PC+2+rel8 × 2 → PC if (V xor N) or Z==1 PC+2+rel8 × 2 → PC if (V xor N) or Z==0 PC+2+rel8 × 2 → PC if C or Z==1 PC+2+rel8 × 2 → PC if C or Z==0 ニーモニック 動作 備考 リターン <注意事項> • 命令フォーマット中の TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブ ラ記述の label9, label12 の関係は以下のようになっています。 label9 → rel8=(label9-PC-2)/2 label12 → rel11=(label12-PC-2)/2 • 遅延分岐命令は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。 • 遅延スロットに置くことができる命令は,以下の条件のいずれかに一致する必要があり ます。 これ以外の命令を置くと , 置いた命令の定義動作以外の動作を行うことがあります。 - 分岐命令以外の , CYC 欄に 1 と記述された命令 - CYC 欄に a, b, c, d と記述された命令 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 545 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-13 ダイレクトアドレス指定命令 (14 命令 ) 型 OP CYC FLAG NZVC 動作 DMOV @dir10, R13 DMOV R13, @dir10 DMOV @dir10, @R13+ DMOV @R13+, @dir10 DMOV @dir10, @-R15 DMOV @R15+, @dir10 D D D D D D 08 18 0C 1C 0B 1B b a 2a 2a 2a 2a ------------------- (dir10) → R13 R13 → (dir10) (dir10) → (R13) , R13+=4 (R13) → (dir10) , R13+=4 R15-=4, (dir10) → (R15) (R15) → (dir10) , R15+=4 ワード ワード ワード ワード ワード ワード DMOVH @dir9, R13 DMOVH R13, @dir9 DMOVH @dir9, @R13+ DMOVH @R13+, @dir9 D D D D 09 19 0D 1D b a 2a 2a ------------- (dir9) → R13 R13 → (dir9) (dir9) → (R13) , R13+=2 (R13) → (dir9) , R13+=2 ハーフワード ハーフワード ハーフワード ハーフワード DMOVB @dir8, R13 DMOVB R13, @dir8 DMOVB @dir8, @R13+ DMOVB @R13+, @dir8 D D D D 0A 1A 0E 1E b a 2a 2a ------------- (dir8) → R13 R13 → (dir8) (dir8) → (R13) , R13++ (R13) → (dir8) , R13++ バイト バイト バイト バイト ニーモニック 備考 <注意事項> 命令フォーマット中の TYPE-D の dir フィールドとアセンブラ記述の dir8 ∼ dir10 の関係 は以下のようになっています。 dir8 → dir=dir8 dir9 → dir=dir9 >>1 dir10 → dir=dir10 >>2 546 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 付録 付録 E 命令一覧 MB91402/403 シリーズ 表 E.2-14 その他の命令 (16 命令 ) ニーモニック 型 OP CYC FLAG NZVC NOP E 9F-A 1 ---- ANDCCR #u8 ORCCR #u8 D D 83 93 c c STILM #u8 D 87 1 ---- u8 → ILM − ILM 即値セット ADDSP #s10 D A3 1 ---- R15+=s10 − ADDSP 命令 EXTSB Ri EXTUB Ri EXTSH Ri EXTUH Ri E E E E 97-8 97-9 97-A 97-B 1 1 1 1 ------------- 符号拡張 8 → 32 ビット ゼロ拡張 8 → 32 ビット 符号拡張 16 → 32 ビット ゼロ拡張 16 → 32 ビット − − − − LDM0 (reglist) D 8C 注意事項 を参照 ------- − ロードマルチ R0 ∼ R7 LDM1 (reglist) D 8D (R15) → reglist, R15 インクリメント (R15) → reglist, R15 インクリメント − ロードマルチ R8 ∼ R15 STM0 (reglist) D 8E − ストアマルチ R0 ∼ R7 STM1 (reglist) D 8F R15 ディクリメント , reglist → (R15) R15 ディクリメント , reglist → (R15) − ストアマルチ R8 ∼ R15 ENTER #u10 D 0F 1+a ---- R14 → (R15-4) , R15-4 → R14, R15-u10 → R15 − 関数の入口処理 LEAVE E 9F-9 b ---- R14+4 → R15, (R15-4) → R14 − 関数の出口処理 XCHB @Rj, Ri A 8A 2a ---- Ri → TEMP (Rj) → Ri TEMP → (Rj) ○ セマフォ管理用 バイトデータ 注意事項 を参照 動作 RMW 何も変化しない CCCC CCRandu8 → CCR CCCC CCRoru8 → CCR ------- 備考 − − − <注意事項> • ADDSP 命令において , 命令フォーマット中の TYPE-D の s8 とアセンブラ記述の s10 の関係は以下のようになっています。 s10 → s8 = s10 >> 2 • ENTER 命令において , 命令フォーマット中の TYPE-D の u8 とアセンブラ記述の u10 の関係は以下のようになっています。 u10 → u8 = u10 >> 2 • LDM0(reglist), LDM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき , a × (n-1)+b+1 サイクルとなります。 • STM0(reglist), STM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき , a × n+1 サイクルとなります。 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 547 付録 付録 E 命令一覧 548 MB91402/403 シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ 索引 Numerics A 0 検出 0 検出 ......................................................................256 0 検出用データレジスタ 0 検出用データレジスタ (BSD0) ........................254 16 ビット 16 ビットリロードタイマのレジスタ一覧 ........260 16 ビットタイマレジスタ 16 ビットタイマレジスタ (TMR0 ∼ TMR2) ..........................................................................264 16 ビットリロードレジスタ 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) ..................................265 1 検出 1 検出 ......................................................................256 1 検出用データレジスタ 1 検出用データレジスタ (BSD1) ........................254 2 サイクル転送 2 サイクル転送時のデータの動き ......................340 ACR 領域構成レジスタ 0 ∼ 5,7 (ACR0 ∼ ACR5,ACR7) の構成 .............................................................. 147 ADR アドレスレジスタ (ADR) のビット構成 ........... 489 Area Wait Register AWR (Area Wait Register) 設定例 .......................... 38 ASR 領域選択レジスタ (ASR0 ∼ ASR5,ASR7) の ビット機能 ......................................................146 領域選択レジスタ 0 ∼ 5,7 (ASR0 ∼ ASR5,ASR7) の構成 .............................................................. 145 AWR AWR (Area Wait Register) 設定例 .......................... 38 領域ウェイトレジスタ (AWR0 ∼ AWR5,AWR7) ..........................................................................153 B BC2R バスコントロール 2 レジスタ (BC2R) の ビット構成 ......................................................494 BCR バスコントロールレジスタ (BCR) のビット構成 ..........................................................................481 BMPR DMA イネーブルレジスタ (BMPR12) の ビット構成 ......................................................378 受信バッファポインタコントロールレジスタ (BMPR14) のビット構成 ............................... 379 送信パケット数レジスタ (BMPR10) のビット構成 ..........................................................................377 バッファメモリポートレジスタ (BMPR8) の ビット構成 ......................................................376 BSD 0 検出用データレジスタ (BSD0) ........................ 254 1 検出用データレジスタ (BSD1) ........................ 254 BSDC 変化点検出用データレジスタ (BSDC) ..............255 BSR バスステータスレジスタ (BSR) のビット構成 ..........................................................................479 BSRR 検出結果レジスタ (BSRR) ..................................255 C CCR CCR (Condition Code Register ) ..............................66 クロックコントロールレジスタ (CCR) の ビット構成 ......................................................487 CHER キャッシュ取込み許可レジスタ (CHER) の構成 ..........................................................................169 CM71-10131-1 FUJITSU MICROELECTRONICS LIMITED 549 索引 MB91402/403 シリーズ CLKB CPU クロック (CLKB) ..........................................104 CLKP 周辺クロック (CLKP) ...........................................104 CLKR クロックソース制御レジスタ (CLKR) ..............115 Condition Code Register CCR (Condition Code Register ) ..............................66 CPU CPU ...........................................................................49 CPU クロック (CLKB) ..........................................104 CPU 制御 ................................................................327 CSER チップセレクト領域許可レジスタ (CSER) の ビット構成 ......................................................168 CSn 通常バスインタフェース (CSn 遅延設定 ) ........208 通常バスインタフェース (CSn → RD/WRn セット アップおよび RD/WRn → CSn ホールド設定 ) ..........................................................................209 CSR 拡張 CS レジスタ (CSR) のビット構成 .............491 CTBR タイムベースカウンタクリアレジスタ (CTBR) ..........................................................................114 D DAR データレジスタ (DAR) のビット構成 ...............490 Delayed Interrupt Control Register DICR (Delayed Interrupt Control Register) ............251 DICR DICR (Delayed Interrupt Control Register) ............251 DICR の DLYI ビット ...........................................252 DIVR 基本クロック分周設定レジスタ 0 (DIVR0) ..........................................................................118 基本クロック分周設定レジスタ 1 (DIVR1) ..........................................................................120 DLCR コントロールレジスタ 1 (DLCR6) のビット構成 ..........................................................................370 コントロールレジスタ 2 (DLCR7) のビット構成 ..........................................................................371 受信ステータスレジスタ (DLCR1) のビット構成 ..........................................................................360 受信ステータスレジスタ :DLCR1 の補足説明 ..........................................................................362 受信モードレジスタ (DLCR5) のビット構成 ..........................................................................368 受信割込みイネーブルレジスタ (DLCR3) の ビット構成 ......................................................365 送信ステータスレジスタ (DLCR0) のビット構成 ..........................................................................358 送信モードレジスタ (DLCR4) のビット構成 ..........................................................................367 送信割込みイネーブルレジスタ (DLCR2) の ビット構成 ......................................................363 DLYI DICR の DLYI ビット ...........................................252 550 DMA DMA による周辺割込みクリア .......................... 329 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ )) ............................................... 211 DMAC DMAC 5 チャネルブロックダイヤグラム ........301 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成 ........................... 165 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ A (DMACA0 ∼ DMACA4) ..........................................................................302 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ B (DMACB0 ∼ DMACB4) ..........................................................................307 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド レス設定レジスタ (DMASA0 ∼ DMASA4/ DMADA0 ∼ DMADA4) ................................. 313 DMAC の主要機能 ............................................... 298 DMAC のハードウェア構成 ............................... 298 DMAC のレジスタ一覧 .......................................300 DMAC 割込み制御 ............................................... 332 DMAC 全体制御レジスタ DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 DMAC 全体制御 レジスタ (DMACR) ........................................ 314 DMA イネーブルレジスタ DMA イネーブルレジスタ (BMPR12) の ビット構成 ......................................................378 DMA 転送 DMA 転送 ................................................................ 44 スリープ中の DMA 転送 .....................................332 double 型 double 型 ,long double 型の利用 .......................... 530 DRCL DRCL1,DRCL0 ......................................................286 DREQ 外部転送要求端子 (DREQ 入力 ) ........................ 319 E EIRR 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) .............................................. 245 EIT EIT ( 例外・割込み・トラップ ) .......................... 80 EIT からの復帰 ....................................................... 80 EIT の特長 ...............................................................80 EIT ベクタテーブル ...............................................85 EIT 要因 ................................................................... 80 EIT 要因受理の優先度 ...........................................86 ELVR 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) ..................................246 ENIR 外部割込み許可レジスタ (ENIR : ENable Interrupt request Register) ............................................... 245 ETHERNET MAC IF ETHERNET MAC IF ( 17 ピン ) ............................ 15 EXIFCR レジスタ EXIFCR レジスタ ................................................. 471 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ F FCRAM SDRAM/FCRAM インタフェース ......................218 複数領域への SDRAM/FCRAM 接続 .................223 メモリ設定レジスタ (FCRAM オートプリチャー ジありモード用 )(MCRB) の構成 .................164 メモリ設定レジスタ (SDRAM/FCRAM オートプ リチャージなしモード用 )(MCRA) の構成 ..........................................................................162 FL_CMD FL_CMD: コマンドレジスタ .......................408, 420 FL_CONTROL FL_CONTROL: フィルタモード設定レジスタ ..........................................................................414 FL_DATA FL_DATA: データレジスタ .................................411 FL_STATUS FL_STATUS: ステータスレジスタ .....................410 FL_SUBNET FL_SUBNET: フィルタサブネットレジスタ ..........................................................................417 FR コアブロックダイヤグラム FR コアブロックダイヤグラム .............................46 fscl システムクロックと fscl について .....................505 FSR バスクロック周波数レジスタ (FSR) のビット構成 ..........................................................................493 G GND 電源・GND (20 ピン ) ............................................17 GPIO GPIO .......................................................................446 GPIO (Port A) (4 ピン ) ...........................................17 MPU IF/GPIO (Port B) ( 22 ピン ) ..........................16 MPU/GPIO の特長 .................................................446 MPU/GPIO のブロックダイヤグラム ................448 H Hold Request Cancel Level register Hold Request Cancel Level register (HRCL) .........235 HRCL Hold Request Cancel Level register (HRCL) .........235 HRCR ホールドリクエスト取下げ要求機能 (HRCR) の 使用例 ..............................................................240 I K -K lib 文字列操作関数使用時の -K lib オプションの指定 ..........................................................................530 L L3 I/O マップ I/O マップ ..............................................................514 I2C IF I2C IF ( 2 ピン ) ........................................................16 2 I C インタフェース I2C インタフェースの機能説明 ..........................476 I2C インタフェースの特長 ..................................474 CM71-10131-1 I2C インタフェースのブロックダイヤグラム ..........................................................................475 2 I C インタフェースのレジスタマップ ..............478 I-Cache I-Cache を使用するときの設定方法 .....................62 ICE ICE ( 9 ピン ) ...........................................................12 ICHCR 命令キャッシュコントロールレジスタ (ICHCR) ............................................................................56 ICR 割込み制御レジスタ (ICR) ..................................233 割込み制御レジスタ (ICR) のビット構成 ........... 83 割込み制御レジスタ (ICR) のマッピング ........... 83 IF MAC IF ................................................................... 343 MPU IF ................................................................... 346 ILM ILM (Interrupt Level Mask Register) .......................69 割込みレベルマスクレジスタ (ILM) ................... 82 INIT INIT 端子入力 ( 設定初期化リセット端子 ) ........ 94 設定初期化リセット (INIT) ................................... 93 設定初期化リセット (INIT) 解除シーケンス ............................................................................96 設定初期化リセット (INIT) 状態 ........................ 132 INT INT 命令の動作 ....................................................... 89 SCC,MSS,INT ビットの競合 ............................... 505 INTE INTE 命令の動作 ....................................................89 Interrupt Level Mask Register ILM (Interrupt Level Mask Register) .......................69 IOWR DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成 ........................... 165 IP アドレス ポート番号 15,IP アドレス 2 を有効 ( テーブル番号 0 番に設定 ) .........................421 ISIZE キャッシュサイズレジスタ (ISIZE) .....................56 I フラグ I フラグ .................................................................... 81 L3/L4 フィルタテーブル .....................................396 L3/L4 フィルタテーブル全体の設定方法 ......... 421 L3/L4 フィルタテーブルへのアクセス方法 ..........................................................................419 L4 L3/L4 フィルタテーブル .....................................396 L3/L4 フィルタテーブル全体の設定方法 ......... 421 L3/L4 フィルタテーブルへのアクセス方法 ..........................................................................419 FUJITSU MICROELECTRONICS LIMITED 551 索引 MB91402/403 シリーズ LAN コントローラ LAN コントローラの主要機能 ...........................350 LAN コントローラの特長 ...................................352 LAN コントローラのブロックダイヤグラム ..................................................................351, 353 LAN コントローラのレジスタ一覧 ...........355, 406 long double 型 double 型 ,long double 型の利用 ...........................530 LQFP-144 外形寸法図 (LQFP-144) ............................................8 端子配列図 (LQFP-144) ............................................9 M MAC IF MAC IF ...................................................................343 MAR マルチキャストアドレスレジスタ 1 ∼ 8 (MAR8 ∼ MAR15) のビット構成 ................374 MB91402/403 シリーズ MB91402/403 シリーズの特長 ................................2 MB91402/403 シリーズのブロックダイヤグラム ..............................................................................7 MCLKO 外部インタフェースクロック (MCLKO) ..........104 MCRA メモリ設定レジスタ (SDRAM/FCRAM オートプ リチャージなしモード用 )(MCRA) の構成 ..........................................................................162 MCRB メモリ設定レジスタ (FCRAM オートプリチャー ジありモード用 )(MCRB) の構成 .................164 MDH MDH,MDL (Multiply & Divide register: 乗除算レジスタ ) ..............................................72 MDL MDH,MDL (Multiply & Divide register: 乗除算レジスタ ) ..............................................72 MEMORY IF MEMORY IF ( 50 ピン ) .........................................14 MIFCR MPU IF 制御レジスタ :MIFCR ............................454 MIFRXDR MPU IF RX データレジスタ :MIFRXDR ...........452 MIFRXR MPU IF RX レジスタ :MIFRXR ..........................453 MIFRXSR MPU IF RX FIFO ステータスレジスタ :MIFRXSR ..........................................................................459 MIFSR MPU IF ステータスレジスタ :MIFSR ................457 MIFTXDR MPU IF TX データレジスタ :MIFTXDR ............452 MIFTXR MPU IF TX レジスタ :MIFTXR ...........................453 MIFTXSR MPU IF TX FIFO ステータスレジスタ :MIFTXSR ..........................................................................460 MODR モードレジスタ (MODR) .....................................177 MPU MPU/GPIO の特長 .................................................446 552 MPU/GPIO のブロックダイヤグラム ................ 448 MPU IF MPU IF ...........................................................346, 446 MPU IF/GPIO (Port B) ( 22 ピン ) .......................... 16 MPU IF 設定方法 ..................................................466 MPU IF の波形図 ..................................................469 Port B 端子と MPU IF 端子のセレクタ仕様 ..........................................................................472 MPU IF RX FIFO ステータスレジスタ MPU IF RX FIFO ステータスレジスタ :MIFRXSR ..........................................................................459 MPU IF RX データレジスタ MPU IF RX データレジスタ :MIFRXDR ........... 452 MPU IF RX レジスタ MPU IF RX レジスタ :MIFRXR .......................... 453 MPU IF TX FIFO ステータスレジスタ MPU IF TX FIFO ステータスレジスタ :MIFTXSR ..........................................................................460 MPU IF TX データレジスタ MPU IF TX データレジスタ :MIFTXDR ............452 MPU IF TX レジスタ MPU IF TX レジスタ :MIFTXR ........................... 453 MPU IF ステータスレジスタ MPU IF ステータスレジスタ :MIFSR ................ 457 MPU IF 制御レジスタ MPU IF 制御レジスタ :MIFCR ............................454 MSS SCC,MSS,INT ビットの競合 ............................... 505 Multiply & Divide register MDH,MDL (Multiply & Divide register: 乗除算レジスタ ) .............................................. 72 N NMI ユーザ割込み /NMI の動作 ................................... 88 割込み /NMI に対するレベルマスク ................... 82 O OSCILLATOR OSCILLATOR ( 2 ピン ) .........................................12 P PACR Port A コントロールレジスタ :PACR ................ 461 PADR Port A データレジスタ :PADR ............................462 PBCR Port B 制御レジスタ :PBCR ................................. 463 PBDR Port B データレジスタ :PBDR ............................464 PC PC (Program Counter) .............................................. 70 PHY SMI のレジスタによる PHY デバイス ( レジスタ ) へのアクセス ..................................................443 PLL PLL 逓倍率 ............................................................ 103 PLL 動作許可 ........................................................ 102 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ Port A コントロールレジスタ Port A コントロールレジスタ :PACR ................461 Port A データレジスタ Port A データレジスタ :PADR ............................462 Port B Port B 端子と MPU IF 端子のセレクタ仕様 ..........................................................................472 Port B 制御レジスタ Port B 制御レジスタ :PBCR .................................463 Port B データレジスタ Port B データレジスタ :PBDR .............................464 Program Counter PC (Program Counter) ..............................................70 Program Status PS (Program Status) ..................................................66 PS PS (Program Status) ..................................................66 R RCR リフレッシュコントロールレジスタ (RCR) の ビット構成 ......................................................173 RD 通常バスインタフェース (CSn → RD/WRn セット アップおよび RD/WRn → CSn ホールド設定 ) ..........................................................................209 RETI RETI 命令の動作 .....................................................91 Return Pointer RP (Return Pointer) ...................................................71 RP RP (Return Pointer) ...................................................71 RSRR リセット要因レジスタ / ウォッチドッグタイマ 制御レジスタ (RSRR) ....................................107 RST 動作初期化リセット (RST) ....................................93 動作初期化リセット (RST) 解除シーケンス ............................................................................96 動作初期化リセット (RST) 状態 .........................131 RUN 状態 RUN 状態 ( 通常動作 ) ..........................................130 発振安定待ち RUN 状態 ......................................131 S SCC SCC,MSS,INT ビットの競合 ...............................505 SCL SCL の同期調停 ....................................................498 SCR SCR (System Condition code Register) ....................68 シリアルコントロールレジスタ (SCR1,SCR0) ..........................................................................282 SDRAM SDRAM/FCRAM インタフェース ......................218 複数領域への SDRAM/FCRAM 接続 .................223 メモリ設定レジスタ (SDRAM/FCRAM オートプ リチャージなしモード用 )(MCRA) の構成 ..........................................................................162 CM71-10131-1 SIDR シリアルインプットデータレジスタ (SIDR)/ シリ アルアウトプットデータレジスタ (SODR) ..........................................................................284 SMI SMI 関連のレジスタ一覧 .................................... 432 SMI のレジスタによる PHY デバイス ( レジスタ ) へのアクセス ..................................................443 SMI_CMD SMI コマンドレジスタ : SMI_CMD ...................433 SMI_CMD_ST SMI コマンドステータスレジスタ : SMI_CMD_ST ..........................................................................434 SMI_CONTROL SMI コントロールレジスタ : SMI_CONTROL ..........................................................................438 SMI_DATA SMI データレジスタ : SMI_DATA .....................435 SMI_INTENABLE 割込みイネーブルレジスタ : SMI_INTENABLE ..........................................................................441 SMI_MDCDIV SMIMDC クロック選択レジスタ : SMI_MDCDIV ..........................................................................442 SMIMDC クロック選択レジスタ SMIMDC クロック選択レジスタ : SMI_MDCDIV ..........................................................................442 SMI_PHY_ADD SMIPHY アドレスレジスタ : SMI_PHY_ADD ..........................................................................437 SMIPHY アドレスレジスタ SMIPHY アドレスレジスタ : SMI_PHY_ADD ..........................................................................437 SMI_POLLINTVL SMI ポーリングレジスタ : SMI_POLLINTVL ..........................................................................436 SMI_STATUS SMI ステータスレジスタ : SMI_STATUS ......... 439 SMI インタフェース SMI インタフェースの概要 ................................431 SMI コマンドステータスレジスタ SMI コマンドステータスレジスタ : SMI_CMD_ST ..........................................................................434 SMI コマンドレジスタ SMI コマンドレジスタ : SMI_CMD ...................433 SMI コントロールレジスタ SMI コントロールレジスタ : SMI_CONTROL ..........................................................................438 SMI ステータスレジスタ SMI ステータスレジスタ : SMI_STATUS ......... 439 SMI データレジスタ SMI データレジスタ : SMI_DATA .....................435 SMI ポーリングレジスタ SMI ポーリングレジスタ : SMI_POLLINTVL ..........................................................................436 SMR シリアルモードレジスタ (SMR1,SMR0) ........... 281 SODR シリアルインプットデータレジスタ (SIDR)/ シリ アルアウトプットデータレジスタ (SODR) ..........................................................................284 SSP SSP (System Stack Pointer) ...................................... 71 FUJITSU MICROELECTRONICS LIMITED 553 索引 MB91402/403 シリーズ SSR シリアルステータスレジスタ (SSR1,SSR0) ..........................................................................284 STCR スタンバイ制御レジスタ (STCR) .......................109 ソフトウェアリセット (STCR:SRST ビット書込み ) ...........................95 SYSTEM SYSTEM ( 6 ピン ) ..................................................12 System Condition code Register SCR (System Condition code Register) ....................68 System Stack Pointer SSP (System Stack Pointer) ......................................71 T Table Base Register TBR (Table Base Register) .......................................71 TBCR タイムベースカウンタ制御レジスタ (TBCR) ..........................................................................111 TBR TBR (Table Base Register) .......................................71 TCR 端子 / タイミングコントロールレジスタ (TCR) の 構成 ..................................................................170 TEST TEST ( 6 ピン ) ........................................................13 TMCSR コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2) ...................................262 TMR 16 ビットタイマレジスタ (TMR0 ∼ TMR2) ..........................................................................264 TMRLR 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR2) ..................................265 U-TIMER コントロールレジスタ U-TIMER コントロールレジスタ (UTIMC1,UTIMC0) .........................................272 UTIMR リロードレジスタ (UTIMR1,UTIMR0) ..............271 W WPR ウォッチドッグリセット発生延期レジスタ (WPR) ...............................................................117 WRn 通常バスインタフェース (CSn → RD/WRn セット アップおよび RD/WRn → CSn ホールド設定 ) ..........................................................................209 通常バスインタフェース (WRn +バイト制御タイプ ) .........................200 U UART UART ( 6 ピン ) .......................................................13 UART の応用例 .....................................................293 UART のクロック選択 .........................................287 UART の特長 .........................................................278 UART のブロックダイヤグラム .........................280 UART のレジスタ一覧 .........................................279 User Stack Pointer USP (User Stack Pointer) ..........................................72 USP USP (User Stack Pointer) ..........................................72 UTIM U-TIMER(UTIM1,UTIM0) ....................................271 UTIMC U-TIMER コントロールレジスタ (UTIMC1,UTIMC0) .........................................272 U-TIMER U-TIMER(UTIM1,UTIM0) ....................................271 U-TIMER のブロックダイヤグラム ...................270 U-TIMER のレジスタ一覧 ...................................270 ボーレートと U-TIMER のリロード値の設定例 ..........................................................................295 554 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ あ え アーキテクチャ 内部アーキテクチャ ...............................................48 アービトレーション アービトレーション .............................................499 アクセス データのアクセスについて .................................532 アクノリッジ アクノリッジ / ネガティブアクノリッジ .........500 アドレス アドレス一覧 .........................................................450 ポート番号 10 ∼ 14,IP アドレス 1 を有効 ( テーブル番号 1 番に設定 ) ..........................423 ポート番号 16 ∼ 20,IP アドレス 1 を有効 ( テーブル番号 3 番に設定 ) ..........................426 マルチマスタで使用する場合のグローバル・コー ル・アドレス送信における制限事項について ..........................................................................506 アドレスマップ アドレスマップ .......................................................39 アドレスマルチプレックス アドレスマルチプレックス・フォーマット ..........................................................................224 アドレスレジスタ アドレスレジスタ (ADR) のビット構成 ...........489 アドレッシング アドレッシング .....................................................497 アドレッシングモード アドレッシングモード .........................................325 アンダフロー アンダフロー動作 .................................................267 エミュレータ エミュレータデバッガ , モニタデバッガ ......... 534 エラー エラーによる停止 ................................................331 エラーの未検出 ....................................................533 エントリ更新 キャッシュのエントリ更新 ..................................60 い 一時停止 一時停止 .................................................................330 う ウェイト 通常バスインタフェース ( 外部ウェイトタイミング ) ..........................205 通常バスインタフェース ( 自動ウェイトタイミング ) ..........................204 割込み処理とマスタデバイス側への ウェイト要求動作 ..........................................504 ウェイトレジスタ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) の構成 ...........................165 ウォッチドッグ ウォッチドッグリセット .......................................95 ウォッチドッグタイマ制御レジスタ リセット要因レジスタ / ウォッチドッグタイマ 制御レジスタ (RSRR) ....................................107 ウォッチドッグリセット発生延期レジスタ ウォッチドッグリセット発生延期レジスタ (WPR) ...............................................................117 CM71-10131-1 お オートプリチャージ メモリ設定レジスタ (FCRAM オートプリチャー ジありモード用 )(MCRB) の構成 ................ 164 メモリ設定レジスタ (SDRAM/FCRAM オートプ リチャージなしモード用 )(MCRA) の構成 ..........................................................................162 オートリフレッシュ オートリフレッシュ ............................................ 220 か 外形寸法図 外形寸法図 (LQFP-144) ............................................ 8 解除 設定初期化リセット (INIT) 解除シーケンス ............................................................................96 動作初期化リセット (RST) 解除シーケンス ............................................................................96 外部インタフェース 外部インタフェースクロック (MCLKO) ..........104 外部ウェイト 通常バスインタフェース ( 外部ウェイトタイミング ) .........................205 外部クロック 外部クロック ........................................................ 101 外部端子 外部端子と内部動作タイミングに関する補足 ..........................................................................334 外部デバイス 外部デバイスとの接続例 ............................185, 189 外部転送要求端子 外部転送要求端子 (DREQ 入力 ) ........................ 319 外部バス 外部バスアクセス ................................................182 外部バスインタフェース 外部バスインタフェースの特長 ........................ 140 外部バスインタフェースのブロックダイヤグラム ..........................................................................142 外部バスインタフェースのレジスタ一覧 ........143 外部バスインタフェースのレジスタの種類 ..........................................................................144 外部割込み 外部割込み制御部のブロックダイヤグラム ..........................................................................244 外部割込み制御部のレジスタ一覧 .................... 244 外部割込みの動作手順について ........................ 247 外部割込みの動作について ................................247 外部割込み要求レベルについて ........................ 248 FUJITSU MICROELECTRONICS LIMITED 555 索引 MB91402/403 シリーズ 外部割込み許可レジスタ 外部割込み許可レジスタ (ENIR : ENable Interrupt request Register) ...............................................245 外部割込み要因レジスタ 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) ..............................................245 外部割込み要求レベル設定レジスタ 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) ..................................246 カウンタ カウンタの動作状態 .............................................268 書込み シングル読出し / 書込み (CAS レイテンシ= 1,TYP = 1001B, オートプリチャージあり ) ..........................................................................220 シングル読出し / 書込み ( ページヒット ,CAS レ イテンシ= 3, オートプリチャージなし ) ..........................................................................219 通常バスインタフェース ( 書込み → 書込みタイ ミング ) ............................................................203 通常バスインタフェース ( 同期書込みイネーブル 出力タイミング ) ............................................206 通常バスインタフェース ( 読出し → 書込みタイ ミング ) ............................................................202 バースト読出し / 書込み ( ページヒット ,CAS レ イテンシ= 2) ..................................................218 各状態遷移要求 各状態遷移要求の優先順位 .................................132 拡張 CS レジスタ 拡張 CS レジスタ (CSR) のビット構成 .............491 カスケードモード カスケードモード .................................................275 関数 文字列操作関数使用時の -K lib オプションの指定 ..........................................................................530 文字列操作関数を使った文字型配列以外の操作 ..........................................................................529 き 記号 命令一覧表に用いている記号の意味 .................536 基本クロック分周設定レジスタ 基本クロック分周設定レジスタ 0 (DIVR0) ..........................................................................118 基本クロック分周設定レジスタ 1 (DIVR1) ..........................................................................120 キャッシュ 各動作モード時のキャッシュの状態 ...................59 キャッシュ可能領域 ...............................................61 キャッシュのエントリ更新 ...................................60 キャッシュサイズレジスタ キャッシュサイズレジスタ (ISIZE) .....................56 キャッシュ取込み許可レジスタ キャッシュ取込み許可レジスタ (CHER) の構成 ..........................................................................169 競合 SCC,MSS,INT ビットの競合 ...............................505 556 く クリア DMA による周辺割込みクリア .......................... 329 グローバル マルチマスタで使用する場合のグローバル・コー ル・アドレス送信における制限事項について ..........................................................................506 クロック CPU クロック (CLKB) .........................................104 外部インタフェースクロック (MCLKO) ..........104 外部クロック ........................................................ 101 クロック .................................................................. 40 クロック生成制御 ................................................101 クロック同期モード ............................................ 289 クロックの滑らかな起動と停止 ........................ 125 クロックの滑らかな起動と停止のプログラム例 ..........................................................................126 クロック発生制御部のブロックダイヤグラム ..........................................................................106 クロック分周 ........................................................ 105 周辺クロック (CLKP) .......................................... 104 シリアル転送クロックの設定について ............505 クロックコントロールレジスタ クロックコントロールレジスタ (CCR) の ビット構成 ......................................................487 クロックソース制御レジスタ クロックソース制御レジスタ (CLKR) ..............115 け 検出結果レジスタ 検出結果レジスタ (BSRR) ..................................255 こ 構造体代入 構造体代入 ............................................................ 529 コール マルチマスタで使用する場合のグローバル・コー ル・アドレス送信における制限事項について ..........................................................................506 コプロセッサ コプロセッサエラートラップ ..............................91 コプロセッサ不在トラップ ..................................90 コマンドレジスタ FL_CMD: コマンドレジスタ ..............................408 コントロール / ステータスレジスタ DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ A (DMACA0 ∼ DMACA4) ..........................................................................302 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ス テータスレジスタ B (DMACB0 ∼ DMACB4) ..........................................................................307 コントロールステータスレジスタ コントロールステータスレジスタ (TMCSR0 ∼ TMCSR2) ..................................262 コントロールレジスタ コントロールレジスタ 1 (DLCR6) のビット構成 ..........................................................................370 コントロールレジスタ 2 (DLCR7) のビット構成 ..........................................................................371 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ し 事項 テーブルアクセスの際の注意事項 .....................418 システムクロック システムクロックと fscl について .....................505 自動ウェイト 通常バスインタフェース ( 自動ウェイトタイミング ) ..........................204 シミュレータ シミュレータデバッガ .........................................534 周辺クロック 周辺クロック (CLKP) ...........................................104 受信 受信データパケットのフォーマット .................381 受信ステータスレジスタ 受信ステータスレジスタ (DLCR1) のビット構成 ..........................................................................360 受信ステータスレジスタ :DLCR1 の補足説明 ..........................................................................362 受信動作 受信動作 .................................................................465 受信バッファポインタコントロールレジスタ 受信バッファポインタコントロールレジスタ (BMPR14) のビット構成 ................................379 受信モードレジスタ 受信モードレジスタ (DLCR5) のビット構成 ..........................................................................368 受信割込みイネーブルレジスタ 受信割込みイネーブルレジスタ (DLCR3) の ビット構成 ......................................................365 主要動作 主要動作 .................................................................316 乗除算レジスタ MDH,MDL (Multiply & Divide register: 乗除算レジスタ ) ..............................................72 初期化 INIT 端子入力 ( 設定初期化リセット端子 ) ........94 初期化 .....................................................................501 設定初期化リセット (INIT) ...................................93 設定初期化リセット (INIT) 解除シーケンス ............................................................................96 設定初期化リセット (INIT) 状態 ........................132 動作初期化リセット (RST) ....................................93 動作初期化リセット (RST) 解除シーケンス ............................................................................96 動作初期化リセット (RST) 状態 .........................131 リセット ( デバイスの初期化 ) .............................92 初期値 初期値付き変数の配置 .........................................528 シリアルアウトプットデータレジスタ シリアルインプットデータレジスタ (SIDR)/ シリ アルアウトプットデータレジスタ (SODR) ..........................................................................284 シリアルインプットデータレジスタ シリアルインプットデータレジスタ (SIDR)/ シリ アルアウトプットデータレジスタ (SODR) ..........................................................................284 シリアルコントロールレジスタ シリアルコントロールレジスタ (SCR1,SCR0) ..........................................................................282 CM71-10131-1 シリアルステータスレジスタ シリアルステータスレジスタ (SSR1,SSR0) ..........................................................................284 シリアル転送 シリアル転送クロックの設定について ............505 シリアルモードレジスタ シリアルモードレジスタ (SMR1,SMR0) ........... 281 シングル シングル読出し / 書込み ( ページヒット ,CAS レ イテンシ= 3, オートプリチャージなし ) ..........................................................................219 信号 信号の一覧 ............................................................ 449 す スタートコンディション スタートコンディション .................................... 495 スタック スタックのリトルエンディアン領域への配置 ..........................................................................530 割込みスタック ......................................................84 スタンバイ スタンバイからの復帰について ........................ 247 スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 239 スタンバイ制御レジスタ スタンバイ制御レジスタ (STCR) .......................109 ステップ ステップ / ブロック転送 2 サイクル転送 ......... 322 ステップトレーストラップ ステップトレーストラップの動作 ...................... 89 ストップコンディション ストップコンディション .................................... 496 ストップ状態 ストップ状態 ........................................................ 130 ストップモード ストップモード ....................................................135 スリープ スリープ中の DMA 転送 .....................................332 スリープ状態 スリープ状態 ........................................................ 130 スリープモード スリープモード ....................................................133 スレーブ スレーブからマスタへの 1 バイト転送 ............503 マスタからスレーブへの 1 バイト転送 ............502 スレーブアドレス 10 ビットスレーブアドレスについて ............... 505 せ 制御信号 データバス幅と制御信号との関係 .................... 179 制限 セクション種別の制限 ........................................ 533 セクション セクション種別の制限 ........................................ 533 セクションについて ............................................ 531 設定 設定方法 ................................................................ 420 FUJITSU MICROELECTRONICS LIMITED 557 索引 MB91402/403 シリーズ セルフリフレッシュ セルフリフレッシュ .............................................221 そ 送信 マルチマスタで使用する場合のグローバル・コー ル・アドレス送信における制限事項について ..........................................................................506 送信ステータスレジスタ 送信ステータスレジスタ (DLCR0) のビット構成 ..........................................................................358 送信動作 送信動作 .................................................................465 送信パケット数レジスタ 送信パケット数レジスタ (BMPR10) のビット構成 ..........................................................................377 送信モードレジスタ 送信モードレジスタ (DLCR4) のビット構成 ..........................................................................367 送信割込みイネーブルレジスタ 送信割込みイネーブルレジスタ (DLCR2) の ビット構成 ......................................................363 その他 その他 .....................................................................268 ソフトウェア要求 ソフトウェア要求 .................................................319 ソフトウェアリセット ソフトウェアリセット (STCR:SRST ビット書込み ) ...........................95 た 遅延 通常バスインタフェース (CSn 遅延設定 ) ........208 遅延スロット 遅延スロット付きの分岐命令 ..............................76 遅延スロット付き分岐命令の制限事項 ..............78 遅延スロット付き分岐命令の動作 ...................... 77 遅延スロットなしの分岐命令 ..............................79 遅延スロットなしの分岐命令の動作 .................. 79 遅延スロットの注意事項 ...................................... 91 遅延割込み 遅延割込みモジュールのブロックダイヤグラム ..........................................................................250 遅延割込みモジュールのレジスタ一覧 ............250 チップセレクト チップセレクト領域の設定例 ............................178 チップセレクト領域 チップセレクト領域設定 ...................................... 35 チップセレクト領域許可レジスタ チップセレクト領域許可レジスタ (CSER) の ビット構成 ......................................................168 チャネル選択 チャネル選択と制御 ............................................ 333 注意 使用上の注意 ........................................................ 292 レジスタ設定時の注意 ........................................ 302 注意点 注意点 ....................................................................268 調歩同期 非同期 ( 調歩同期 ) モード ..................................288 つ 退避 退避 / 復帰の処理 .................................................258 タイミング 通常バスインタフェース ( 書込み → 書込みタイミング ) ....................203 通常バスインタフェース ( 基本タイミング ( アクセスが連続する場合 )) ........................198 通常バスインタフェース ( 読出し → 書込みタイミング ) ....................202 割込み発生およびフラグのセットタイミング ..........................................................................290 タイムベースカウンタ タイムベースカウンタ .........................................122 タイムベースカウンタクリアレジスタ タイムベースカウンタクリアレジスタ (CTBR) ..........................................................................114 タイムベースカウンタ制御レジスタ タイムベースカウンタ制御レジスタ (TBCR) ..........................................................................111 ダイレクトアドレッシング ダイレクトアドレッシング領域 ...........................34 端子 端子機能説明 ...........................................................11 端子番号対応表 .......................................................18 端子 / タイミングコントロールレジスタ 端子 / タイミングコントロールレジスタ (TCR) の 構成 ..................................................................170 端子配列図 端子配列図 (LQFP-144) ............................................9 558 ち 通常バスインタフェース 通常バスインタフェース .................................... 197 通常バスインタフェース (CSn 遅延設定 ) ........208 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ )) ............................................... 211 通常バスインタフェース (WRn +バイト制御タイプ ) .........................200 通常バスインタフェース ( 外部ウェイトタイミング ) .........................205 通常バスインタフェース ( 書込み → 書込みタイミング ) ...................203 通常バスインタフェース ( 基本タイミング ( アクセスが連続する場合 )) ........................ 198 通常バスインタフェース ( 自動ウェイトタイミング ) .........................204 通常バスインタフェース ( 同期書込みイネーブル 出力タイミング ) ............................................ 206 通常バスインタフェース ( 読出し → 書込みタイミング ) ...................202 て 停止 エラーによる停止 ................................................331 動作終了 / 停止 ..................................................... 330 低消費電力 低消費電力モード ........................................129, 133 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ 逓倍率 PLL 逓倍率 .............................................................103 データ データのアクセスについて .................................532 データの種類 .........................................................326 データアクセス データアクセス .......................................................74 データパケット 受信データパケットのフォーマット .................381 データバス幅 データバス幅 .................................................181, 188 データバス幅と制御信号との関係 .....................179 データフォーマット データフォーマット .....................................180, 187 データレジスタ データレジスタ (DAR) のビット構成 ...............490 テーブルアクセス テーブルアクセスの際の注意事項 .....................418 テーブル設定 残りのテーブル設定を無効 ( テーブル番号 4 ∼ 15 番 ) ............................430 テーブル番号 宛先ポート番号 12 を有効 ( テーブル番号 3 番に設定 ) ..........................429 ポート番号 10 ∼ 14,IP アドレス 1 を有効 ( テーブル番号 1 番に設定 ) ..........................423 ポート番号 15,IP アドレス 2 を有効 ( テーブル番号 0 番に設定 ) ..........................421 ポート番号 16 ∼ 20,IP アドレス 1 を有効 ( テーブル番号 3 番に設定 ) ..........................426 デバイス状態 デバイス状態 .........................................................129 デバイス状態と各遷移 .........................................129 デバッガ エミュレータデバッガ , モニタデバッガ ..........534 シミュレータデバッガ .........................................534 デバッグ デバッグ関連に関する取扱い上の注意 ...............31 デマンド転送 デマンド転送 .........................................................339 デマンド転送 2 サイクル転送 .............................321 デマンド転送フライバイ転送 .............................322 電源 電源・GND (20 ピン ) ............................................17 電源に関する取扱い上の注意 ...............................28 転送 2 サイクル転送時のデータの動き ......................340 ステップ / ブロック転送 2 サイクル転送 .........322 ステップ / ブロック転送 2 サイクル転送 フライバイ転送 ..............................................323 スレーブからマスタへの 1 バイト転送 .............503 デマンド転送 2 サイクル転送 .............................321 デマンド転送フライバイ転送 .............................322 転送アドレス .........................................................317 転送回数と転送終了 .............................................318 転送タイプ .............................................................317 転送モード .............................................................316 バースト 2 サイクル転送 .....................................320 バーストフライバイ転送 .....................................321 フライバイ転送時のデータの動き .....................342 マスタからスレーブへの 1 バイト転送 .............502 転送回数制御 転送回数制御 .........................................................326 CM71-10131-1 転送先 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド レス設定レジスタ (DMASA0 ∼ DMASA4/ DMADA0 ∼ DMADA4) ................................. 313 転送シーケンス 転送シーケンスの選択 ........................................ 320 転送元 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アド レス設定レジスタ (DMASA0 ∼ DMASA4/ DMADA0 ∼ DMADA4) ................................. 313 転送要求 転送要求の受付けと転送 .................................... 329 と 同期調停 SCL の同期調停 ....................................................498 同期リセット 同期リセット動作 ..................................................99 動作開始 動作開始 ................................................................ 328 動作終了 動作終了 / 停止 ..................................................... 330 動作モード 動作モード ....................................................137, 287 トラップ EIT ( 例外・割込み・トラップ ) .......................... 80 コプロセッサエラートラップ ..............................91 コプロセッサ不在トラップ ..................................90 取扱 デバイスの取扱いについて ..................................24 な 内蔵周辺要求 内蔵周辺要求 ........................................................ 319 内部アーキテクチャ 内部アーキテクチャの特長 ..................................47 内部クロック 内部クロック動作 ................................................266 内部動作タイミング 外部端子と内部動作タイミングに関する補足 ..........................................................................334 に 入出力回路形式 入出力回路形式 ......................................................20 入出力端子 入出力端子 .............................................................. 10 ね ネガティブアクノリッジ アクノリッジ / ネガティブアクノリッジ ......... 500 の ノード ID レジスタ ノード ID レジスタ 1 ∼ 6 (DLCR8 ∼ DLCR13) の ビット構成 ......................................................373 FUJITSU MICROELECTRONICS LIMITED 559 索引 MB91402/403 シリーズ は バースト バースト 2 サイクル転送 .....................................320 バースト読出し / 書込み ( ページヒット ,CAS レイテンシ= 2) .........218 バーストアクセス バーストアクセス (first access wait cycle:1, page wait cycle:1) (ACR → TYP3 ∼ TYP0=0000B, AWR=3208H) ...................................................212 バースト転送 バースト転送 .........................................................338 バーストフライバイ バーストフライバイ転送 .....................................321 ハードウェア ハードウェア構成 .................................................230 ハーバード ハーバード←→プリンストン バスコンバータ ............................................................................50 ハーフワードアクセス ハーフワードアクセス .........................................192 バイトアクセス バイトアクセス .....................................................194 バイトオーダリング バイトオーダリング ...............................................73 バイト制御 通常バスインタフェース (WRn +バイト制御タイプ ) .........................200 パケット パケット長のフォーマット (4 バイト ) .............381 パケットのフォーマット .....................................381 パケットフィルタ パケットフィルタの概要・特長 .........................394 バスエラー バスエラー .............................................................501 バスエラー後の復帰 .............................................504 バスクロック周波数レジスタ バスクロック周波数レジスタ (FSR) のビット構成 ..........................................................................493 バスコントロール 2 レジスタ バスコントロール 2 レジスタ (BC2R) の ビット構成 ......................................................494 バスコントロールレジスタ バスコントロールレジスタ (BCR) のビット構成 ..........................................................................481 バスコンバータ 32 ビット←→ 16 ビットバスコンバータ ............49 ハーバード←→プリンストン バスコンバータ ............................................................................50 バスステータスレジスタ バスステータスレジスタ (BSR) のビット構成 ..........................................................................479 発振安定待ち 発振安定待ち .........................................................103 発振安定待ち RUN 状態 ......................................131 発振安定待ち時間発生要因 ...................................97 発振安定待ちリセット状態 .................................131 発振安定待ち時間 発振安定待ち時間の選択 .......................................98 発振器 発振器 .....................................................................101 560 バッファメモリ バッファメモリについて .................................... 380 バッファメモリポートレジスタ バッファメモリポートレジスタ (BMPR8) の ビット構成 ......................................................376 パワーオンシーケンス パワーオンシーケンス ........................................ 222 汎用レジスタ 汎用レジスタ .......................................................... 65 ひ ビッグエンディアン リトルエンディアンとビッグエンディアンの 相違点 .............................................................. 186 ビットオーダリング ビットオーダリング .............................................. 73 ビットサーチモジュール ビットサーチモジュールのブロックダイヤグラム ..........................................................................253 ビットサーチモジュールのレジスタ一覧 ........253 非同期 非同期 ( 調歩同期 ) モード ..................................288 非同期リセット 非同期リセット動作 .............................................. 99 ふ フィルタテーブル L3/L4 フィルタテーブル .....................................396 L3/L4 フィルタテーブル全体の設定方法 ......... 421 L3/L4 フィルタテーブルへのアクセス方法 ..........................................................................419 フィルタモード設定レジスタ フィルタモード設定レジスタの設定 ................ 421 復帰 退避 / 復帰の処理 ................................................. 258 バスエラー後の復帰 ............................................ 504 フライバイ転送 通常バスインタフェース (DMA フライバイ転送 (I/O →メモリ )) ............................................... 211 フライバイ転送時のデータの動き .................... 342 フラグ 割込み発生およびフラグのセットタイミング ..........................................................................290 プリフェッチ動作 プリフェッチ動作 ................................................214 プリンストン ハーバード←→プリンストン バスコンバータ ............................................................................50 フローチャート 動作フローチャート ............................................ 507 プログラミングモデル 基本プログラミングモデル ..................................64 プログラムアクセス プログラムアクセス .............................................. 74 ブロックサイズ ブロックサイズ ....................................................324 ブロックダイヤグラム MB91402/403 シリーズのブロックダイヤグラム ..............................................................................7 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ ブロック転送 ステップ / ブロック転送 2 サイクル転送 .........322 ブロック転送 .........................................................337 プロトコルタイプテーブル プロトコルタイプテーブル .................................395 分岐命令 遅延スロット付きの分岐命令 ...............................76 遅延スロット付き分岐命令の制限事項 ...............78 遅延スロット付き分岐命令の動作 .......................77 遅延スロットなしの分岐命令 ...............................79 遅延スロットなしの分岐命令の動作 ...................79 分周 クロック分周 .........................................................105 へ ベクタテーブル EIT ベクタテーブル ...............................................85 変化点検出 変化点検出 .............................................................257 変化点検出用データレジスタ 変化点検出用データレジスタ (BSDC) ..............255 変数 初期値付き変数の配置 .........................................528 ほ ポート番号 宛先ポート番号 12 を有効 ( テーブル番号 3 番に設定 ) ..........................429 ポート番号 10 ∼ 14,IP アドレス 1 を有効 ( テーブル番号 1 番に設定 ) ..........................423 ポート番号 15,IP アドレス 2 を有効 ( テーブル番号 0 番に設定 ) ..........................421 ポート番号 16 ∼ 20,IP アドレス 1 を有効 ( テーブル番号 3 番に設定 ) ..........................426 ホールド調停 ホールド調停 .........................................................328 ホールドリクエスト ホールドリクエスト取下げ要求 (Hold Request Cancel Request) .......................239 ホールドリクエスト取下げ要求機能 (HRCR) の 使用例 ..............................................................240 ボーレート ボーレートと U-TIMER のリロード値の設定例 ..........................................................................295 ボーレートの計算 .................................................274 本体 本体構成 ...................................................................53 ま マスタ スレーブからマスタへの 1 バイト転送 .............503 マスタからスレーブへの 1 バイト転送 .............502 マスタデバイス 割込み処理とマスタデバイス側への ウェイト要求動作 ..........................................504 マルチキャストアドレスレジスタ マルチキャストアドレスレジスタ 1 ∼ 8 (MAR8 ∼ MAR15) のビット構成 ................374 CM71-10131-1 マルチマスタ マルチマスタで使用する場合のグローバル・コー ル・アドレス送信における制限事項について ..........................................................................506 み 未検出 エラーの未検出 ....................................................533 め 命令 未定義命令例外の動作 .......................................... 90 命令一覧表 ............................................................ 540 命令一覧表に用いている記号の意味 ................ 536 命令概要 .................................................................. 50 命令キャッシュ ......................................................49 命令キャッシュタグ .............................................. 54 命令キャッシュの概要 .......................................... 52 命令キャッシュコントロールレジスタ 命令キャッシュコントロールレジスタ (ICHCR) ............................................................................56 メイン メイン処理 ............................................................ 382 メイン処理 メイン処理 ............................................................ 387 メモリ メモリ接続例 ........................................................ 225 メモリ空間 メモリ空間 .............................................................. 33 メモリ設定レジスタ メモリ設定レジスタ (FCRAM オートプリチャー ジありモード用 )(MCRB) の構成 ................ 164 メモリ設定レジスタ (SDRAM/FCRAM オートプ リチャージなしモード用 )(MCRA) の構成 ..........................................................................162 メモリマップ メモリマップ .................................................... 34, 75 も モード モード設定 ............................................................ 137 モードレジスタ モードレジスタ (MODR) .....................................177 文字型配列以外 文字列操作関数を使った文字型配列以外の操作 ..........................................................................529 文字列操作 文字列操作関数使用時の -K lib オプションの指定 ..........................................................................530 文字列操作関数を使った文字型配列以外の操作 ..........................................................................529 モニタ エミュレータデバッガ , モニタデバッガ ......... 534 ゆ ユーザ割込み ユーザ割込み /NMI の動作 ................................... 88 FUJITSU MICROELECTRONICS LIMITED 561 索引 MB91402/403 シリーズ 優先順位 各状態遷移要求の優先順位 .................................132 優先順位判定 .........................................................236 優先度 EIT 要因受理の優先度 ...........................................86 よ 読出し シングル読出し ( ページミス ,CAS レイテンシ= 3, オートプリチャージなし ) ........................219 シングル読出し / 書込み (CAS レイテンシ= 1,TYP = 1001B, オートプリチャージあり ) ..........................................................................220 シングル読出し / 書込み ( ページヒット ,CAS レ イテンシ= 3, オートプリチャージなし ) ..........................................................................219 通常バスインタフェース ( 読出し → 書込みタイミング ) ....................202 バースト読出し / 書込み ( ページヒット ,CAS レイテンシ= 2) .........218 り リセット INIT 端子入力 ( 設定初期化リセット端子 ) ........94 ウォッチドッグリセット .......................................95 設定初期化リセット (INIT) ...................................93 設定初期化リセット (INIT) 解除シーケンス ............................................................................96 設定初期化リセット (INIT) 状態 ........................132 同期リセット動作 ...................................................99 動作初期化リセット (RST) ....................................93 動作初期化リセット (RST) 解除シーケンス ............................................................................96 動作初期化リセット (RST) 状態 .........................131 非同期リセット動作 ...............................................99 リセット ...................................................................42 リセット ( デバイスの初期化 ) .............................92 リセット状態 発振安定待ちリセット状態 .................................131 リセット要因レジスタ リセット要因レジスタ / ウォッチドッグタイマ 制御レジスタ (RSRR) ....................................107 リトルエンディアン スタックのリトルエンディアン領域への配置 ..........................................................................530 リトルエンディアンとビッグエンディアンの相違 点 ......................................................................186 リトルエンディアン領域に対する制限事項 ..........................................................................186 リフレッシュコントロールレジスタ リフレッシュコントロールレジスタ (RCR) の ビット構成 ......................................................173 領域ウェイトレジスタ 領域ウェイトレジスタ (AWR0 ∼ AWR5,AWR7) ..........................................................................153 領域構成レジスタ 領域構成レジスタ 0 ∼ 5,7 (ACR0 ∼ ACR5,ACR7) の構成 ..............................................................147 562 領域選択レジスタ 領域選択レジスタ (ASR0 ∼ ASR5,ASR7) の ビット機能 ......................................................146 領域選択レジスタ 0 ∼ 5,7 (ASR0 ∼ ASR5,ASR7) の構成 .............................................................. 145 リロードタイマ 16 ビットリロードタイマの ブロックダイヤグラム ..................................261 16 ビットリロードタイマのレジスタ一覧 ....... 260 リロード値 ボーレートと U-TIMER のリロード値の設定例 ..........................................................................295 リロード動作 リロード動作 ........................................................ 324 リロードレジスタ リロードレジスタ (UTIMR1,UTIMR0) ..............271 れ 例外 EIT ( 例外・割込み・トラップ ) .......................... 80 未定義命令例外の動作 .......................................... 90 レジスタ 汎用レジスタ .......................................................... 65 レジスタ詳細 ........................................................ 357 レジスタ詳細説明の見方 .................................... 451 レジスタ詳細の見方 ............................................ 407 レジスタ設定時の注意 ........................................ 302 レジスタ設定手順 ................................................227 レベル 外部割込み要求レベルについて ........................ 248 レベルマスク 割込み /NMI に対するレベルマスク ................... 82 わ ワードアクセス ワードアクセス ....................................................191 割込み DMAC 割込み制御 ............................................... 332 DMA による周辺割込みクリア .......................... 329 EIT ( 例外・割込み・トラップ ) .......................... 80 ユーザ割込み /NMI の動作 ................................... 88 割込み ......................................................................43 割込み /NMI に対するレベルマスク ................... 82 割込み仕様 ............................................................ 470 割込み処理とマスタデバイス側への ウェイト要求動作 .......................................... 504 割込みスタック ......................................................84 割込み動作波形 ....................................................470 割込み発生およびフラグのセットタイミング ..........................................................................290 割込み番号 ............................................................ 252 割込みイネーブルレジスタ 割込みイネーブルレジスタ : SMI_INTENABLE ..........................................................................441 割込みコントローラ 割込みコントローラの主要機能 ........................ 230 割込みコントローラのブロックダイヤグラム ..........................................................................232 割込みコントローラのレジスタ一覧 ................ 231 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 索引 MB91402/403 シリーズ 割込み制御レジスタ 割込み制御レジスタ (ICR) ..................................233 割込み制御レジスタ (ICR) のビット構成 ...........83 CM71-10131-1 割込み制御レジスタ (ICR) のマッピング ........... 83 割込みレベルマスクレジスタ 割込みレベルマスクレジスタ (ILM) ................... 82 FUJITSU MICROELECTRONICS LIMITED 563 索引 MB91402/403 シリーズ 564 FUJITSU MICROELECTRONICS LIMITED CM71-10131-1 CM71-10131-1 富士通マイクロエレクトロニクス • CONTROLLER MANUAL FR70 32 ビット・マイクロコントローラ MB91402/403 Series ハードウェアマニュアル 2008 年 9 月 初版発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 ビジネス推進部