本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 FUJITSU SEMICONDUCTOR CONTROLLER MANUAL CM71-10142-5 FR60Lite 32 ビット・マイクロコントローラ MB91220 Series ハードウェアマニュアル FR60Lite 32 ビット・マイクロコントローラ MB91220 Series ハードウェアマニュアル 富士通セミコンダクターのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。 「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思わ れるチェック項目をリストにしたものです。 http://edevice.fujitsu.com/micom/jp-support/ 富士通セミコンダクター株式会社 はじめに ■ 本書の目的と対象読者 富士通セミコンダクター製品につきまして , 平素より格別のご愛顧を賜り厚くお礼申 し上げます。 FR* ファミリは , 32 ビット高性能 RISC CPU を使用し , 高性能 / 高速な CPU 処理が要 求される組込み制御用に各種 I/O リソースを内蔵したマイクロコントローラです。 デジタルビデオカメラ , ナビゲーションシステム , DVD プレーヤーなど , 高性能 / 高速 な CPU 処理パワーが要求される組込み用途に最適な仕様となっています。 本品種は , CPU として FR ファミリと互換性のある FR60 Lite を使用しています。 本書は , 実際に MB91220 シリーズを使用して製品を開発される技術者を対象に , MB91220 シリーズの機能や動作について解説したものです。本書をご一読ください。 *: FRは, FUJITSU RISC controllerの略で, 富士通セミコンダクター株式会社の製品です。 ■ 商標 本書に記載されている社名および製品名などの固有名詞は,各社の商標または登録商標 です。 ■ 本書の全体構成 本書は , 以下に示す 29 の章および付録から構成されています。 第 1 章 概要 MB91220 シリーズの特長 , ブロックダイヤグラム , 機能概要など , 全体を知るため の内容について説明します。 第 2 章 デバイスの取扱いについて MB91220 シリーズの取扱い上の注意について説明します。 第 3 章 CPU および制御部 FR60Lite のアーキテクチャ , 仕様 , 命令など , 機能を知るための基本的な内容につ いて説明します。 第 4 章 I/O ポート I/O ポートの概要 , レジスタの構成および機能について説明します。 第 5 章 割込みコントローラ 割込みコントローラの概要, レジスタの構成/機能 および動作について説明します。 第 6 章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能および動作について説明します。 i 第 7 章 REALOS 関連ハード REALOS 関連ハードは , リアルタイム OS により使用されます。したがって , REALOS を使用する場合にはユーザプログラムで使用することはできません。遅 延割込みモジュールおよびビットサーチモジュールの概要 , レジスタ構成および 機能 , 動作について説明します。 第 8 章 16 ビットリロードタイマ 16 ビットリロードタイマの概要 , レジスタの構成 / 機能およびリロードタイマの動 作について説明します。 第 9 章 PPG PPG の概要 , レジスタの構成 , 機能および PPG の動作について説明します。 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) PWC の概要 , レジスタの構成 , 機能および動作について説明します。 第 11 章 メイン発振安定待ちタイマ メイン発振安定待ちタイマの概要 , レジスタの構成 , 機能および動作について説明 します。 第 12 章 16 ビットフリーランタイマ 16 ビットフリーランタイマの概要 , レジスタの構成 / 機能および 16 ビットフリー ランタイマの動作について説明します。 第 13 章 インプットキャプチャ インプットキャプチャの概要 , レジスタの構成 , 機能および動作について説明しま す。 第 14 章 アウトプットコンペア アウトプットコンペアの概要 , レジスタの構成 , 機能および動作について説明しま す。 第 15 章 外部バスインタフェース 外部バスインタフェース , 内部バスと外部のメモリおよび I/O デバイスとのインタ フェースを制御します。 第 16 章 DMAC (DMA コントローラ ) DMAC の概要 , レジスタの構成 / 機能および動作について説明します。 第 17 章 ステッパモータコントローラ ステッパモータコントローラの概要 , レジスタの構成 / 機能および動作について説 明します。 第 18 章 サウンドジェネレータ サウンドジェネレータの概要 , レジスタの構成 / 機能および動作について説明しま す。 ii 第 19 章 リアルタイムクロック リアルタイムクロックの概要 , レジスタの構成 / 機能および動作について説明しま す。 第 20 章 LIN-UART LIN-UART の概要 , レジスタの構成 / 機能および動作について説明します。 第 21 章 A/D コンバータ A/D コンバータの概要 , レジスタの構成 / 機能および A/D コンバータの動作につい て説明します。 第 22 章 CAN CAN の機能と動作について説明します。 第 23 章 LCD コントローラ (LCDC) LCD コントローラ / ドライバ (LCDC) の概要 , レジスタの構成 / 機能および動作に ついて説明します。 第 24 章 32kHz クロック 補正ユニット 32kHz クロック補正ユニットの概要およびレジスタの構成 / 機能について説明しま す。 第 25 章 CPU 動作検出リセット回路 CPU 動作検出リセット回路の機能と動作について説明します。 第 26 章 D/A コンバータ D/A コンバータの機能と動作について説明します。 第 27 章 I2C インタフェース I2Cインタフェースの概要, レジスタの構成/機能, および動作について説明します。 第 28 章 フラッシュメモリ フラッシュメモリの概要 , レジスタの構成 / 機能および動作について説明します。 第 29 章 シリアル書込み接続例 シリアル書込み基本構成 , シリアルオンボード書込みに使用する端子 , シリアル 書込み接続例 , およびフラッシュマイコンプログラマシステム構成について説明 します。 付録 付録として , I/O マップ , 割込みベクタ , 端子状態一覧 , リトル・エンディアン領域 を利用する際の注意事項 , 命令一覧 , および使用上の注意事項について記載してい ます。 iii • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性 が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。 ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ い。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright ©2007-2011 FUJITSU SEMICONDUCTOR LIMITED All rights reserved. iv 目次 第1章 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 第2章 2.1 第3章 概要 ............................................................................................................ 1 MB91220 シリーズの特長 ...................................................................................................... 2 品種構成 ................................................................................................................................. 4 ブロックダイヤグラム............................................................................................................ 5 外形寸法図.............................................................................................................................. 6 端子配列図.............................................................................................................................. 7 端子機能説明 .......................................................................................................................... 8 入出力回路形式 .................................................................................................................... 17 本書の読み方 ........................................................................................................................ 21 デバイスの取扱いについて ...................................................................... 23 デバイス取扱い上の注意 ...................................................................................................... 24 CPU および制御部 ................................................................................... 27 3.1 メモリ空間............................................................................................................................ 28 3.2 メモリマップ ........................................................................................................................ 29 3.3 内部アーキテクチャ ............................................................................................................. 31 3.4 プログラミング・モデル ...................................................................................................... 36 3.4.1 レジスタ ..................................................................................................................... 37 3.5 データ構造............................................................................................................................ 44 3.6 ワードアライメント ............................................................................................................. 45 3.7 メモリマップ ........................................................................................................................ 46 3.8 分岐命令 ............................................................................................................................... 47 3.9 EIT ( 例外・割込み・トラップ ) ........................................................................................... 50 3.9.1 割込みレベル .............................................................................................................. 51 3.9.2 ICR (Interrupt Control Register).................................................................................. 53 3.9.3 SSP (System Stack Pointer)....................................................................................... 54 3.9.4 TBR (Table Base Register) ........................................................................................ 55 3.9.5 多重 EIT 処理.............................................................................................................. 59 3.9.6 EIT の動作 .................................................................................................................. 61 3.10 動作モード............................................................................................................................ 65 3.11 リセット ( デバイスの初期化 ) ............................................................................................. 68 3.11.1 リセット要因と発振安定待ち時間.............................................................................. 70 3.11.2 リセットレベル .......................................................................................................... 72 3.11.3 外部リセット端子....................................................................................................... 74 3.11.4 リセット動作 .............................................................................................................. 75 3.11.5 リセット要因ビット ................................................................................................... 77 3.11.6 発振安定待ち要因....................................................................................................... 80 3.12 クロック生成制御 ................................................................................................................. 81 3.12.1 ソースクロックの選択 ............................................................................................... 82 3.12.2 PLL 制御 ..................................................................................................................... 83 3.12.3 発振安定待ち・PLL ロック待ち時間.......................................................................... 85 3.12.4 クロック分配 .............................................................................................................. 86 3.12.5 クロック分周 .............................................................................................................. 88 3.12.6 クロック生成制御部のブロックダイヤグラム............................................................ 89 v 3.12.7 クロック生成制御部のレジスタ詳細説明................................................................... 90 3.12.8 クロック制御部が持つ周辺回路 ............................................................................... 110 3.13 デバイス状態制御 ............................................................................................................... 113 第4章 4.1 4.2 4.3 4.4 4.5 I/O ポート............................................................................................... 121 I/O ポートの概要 ................................................................................................................ 122 I/O ポートのレジスタ ......................................................................................................... 125 I/O 拡張機能........................................................................................................................ 145 レジスタ説明 ...................................................................................................................... 146 使用上の注意 ...................................................................................................................... 152 第5章 割込みコントローラ............................................................................... 153 5.1 割込みコントローラの概要................................................................................................. 154 5.2 割込みコントローラのレジスタ一覧 .................................................................................. 155 5.2.1 割込み制御レジスタ ( ICR)....................................................................................... 157 5.3 割込みコントローラの動作................................................................................................. 159 第6章 外部割込み制御部 .................................................................................. 167 6.1 外部割込み制御部の概要 .................................................................................................... 168 6.2 外部割込み制御部のレジスタ ............................................................................................. 169 6.2.1 割込み許可レジスタ (ENIR : ENable Interrupt request Register)............................. 170 6.2.2 外部割込み要因レジスタ (EIRR : External Interrupt Request Register)................... 171 6.2.3 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) .................. 172 6.3 外部割込み制御の動作........................................................................................................ 173 第7章 7.1 7.2 REALOS 関連ハード ............................................................................. 179 遅延割込みモジュール........................................................................................................ 180 ビットサーチモジュール .................................................................................................... 182 第8章 8.1 8.2 8.3 8.4 16 ビットリロードタイマ ...................................................................... 189 16 ビットリロードタイマの概要 ........................................................................................ 190 ブロックダイヤグラム........................................................................................................ 191 16 ビットリロードタイマのレジスタ................................................................................. 192 リロードタイマの動作........................................................................................................ 196 第9章 9.1 9.2 9.3 9.4 PPG........................................................................................................ 199 PPG の概要 ........................................................................................................................ 200 PPG のブロックダイヤグラム............................................................................................ 205 PPG のレジスタ ................................................................................................................. 211 PPG の動作説明 ................................................................................................................. 218 第 10 章 PWC (Pulse Width Count : パルス幅測定 ).......................................... 225 10.1 PWC の概要........................................................................................................................ 226 10.2 PWC のレジスタ ................................................................................................................ 228 10.3 PWC の動作説明 ................................................................................................................ 234 vi 第 11 章 11.1 11.2 11.3 11.4 メイン発振安定待ちタイマ .................................................................... 247 メイン発振安定待ちタイマの概要...................................................................................... 248 メイン発振安定待ちタイマのブロックダイヤグラム ......................................................... 249 メイン発振安定待ちタイマのレジスタ............................................................................... 250 メイン発振待ち割込みの動作 ............................................................................................. 252 第 12 章 16 ビットフリーランタイマ................................................................... 257 12.1 16 ビットフリーランタイマの概要 .................................................................................... 258 12.2 16 ビットフリーランタイマのレジスタ ............................................................................. 260 12.3 16 ビットフリーランタイマの動作 .................................................................................... 264 第 13 章 インプットキャプチャ ........................................................................... 267 13.1 インプットキャプチャの概要 ............................................................................................. 268 13.2 インプットキャプチャのレジスタ...................................................................................... 271 13.3 インプットキャプチャの動作 ............................................................................................. 273 第 14 章 アウトプットコンペア ........................................................................... 275 14.1 アウトプットコンペアの概要 ............................................................................................. 276 14.2 アウトプットコンペアのレジスタ...................................................................................... 278 14.3 アウトプットコンペアの動作 ............................................................................................. 281 第 15 章 15.1 15.2 15.3 15.4 15.5 15.6 外部バスインタフェース........................................................................ 285 外部バスインタフェースの概要 ......................................................................................... 286 外部バスインタフェースのレジスタ .................................................................................. 289 外部バスインタフェースのエンディアンとバスアクセス.................................................. 302 外部バスインタフェースの通常バスインタフェース ......................................................... 310 外部バスインタフェースのレジスタ設定手順.................................................................... 317 外部バスインタフェース使用上の注意............................................................................... 318 第 16 章 DMAC (DMA コントローラ ) ................................................................. 319 16.1 DMAC の概要 ..................................................................................................................... 320 16.2 DMAC のレジスタ詳細説明................................................................................................ 323 16.3 DMAC の動作説明 .............................................................................................................. 339 16.3.1 DMAC の動作 ........................................................................................................... 340 16.3.2 転送要求の設定 ........................................................................................................ 342 16.3.3 転送シーケンス ........................................................................................................ 343 16.3.4 DMA 転送全般 .......................................................................................................... 345 16.3.5 アドレッシングモード ............................................................................................. 347 16.3.6 データの種類 ............................................................................................................ 348 16.3.7 転送回数制御 ............................................................................................................ 349 16.3.8 CPU 制御.................................................................................................................. 350 16.3.9 動作 .......................................................................................................................... 351 16.3.10 転送要求の受付けと転送 .......................................................................................... 352 16.3.11 DMA による周辺割込みクリア ................................................................................. 353 16.3.12 一時停止 ................................................................................................................... 354 16.3.13 動作終了 / 停止 ......................................................................................................... 355 16.3.14 エラーによる停止..................................................................................................... 356 16.3.15 DMAC 割込み制御 .................................................................................................... 357 16.3.16 スリープ中の DMA 転送 ........................................................................................... 358 vii 16.3.17 チャネル選択と制御 ................................................................................................. 359 16.4 DMAC の動作フロー........................................................................................................... 361 16.5 DMAC のデータパス........................................................................................................... 363 第 17 章 ステッパモータコントローラ ................................................................ 365 17.1 ステッパモータコントローラの概要 .................................................................................. 366 17.2 ステッパモータコントローラのレジスタ ........................................................................... 367 17.2.1 PWM 制御レジスタ .................................................................................................. 368 17.2.2 PWM1, PWM2 コンペアレジスタ ............................................................................ 370 17.2.3 PWM1, PWM2 選択レジスタ ................................................................................... 372 17.3 動作説明 ............................................................................................................................. 374 17.4 ステッパモータコントローラの使用上の注意.................................................................... 377 第 18 章 サウンドジェネレータ ........................................................................... 379 18.1 サウンドジェネレータの概要 ............................................................................................. 380 18.2 サウンドジェネレータのレジスタ...................................................................................... 381 18.2.1 サウンドコントロールレジスタ ............................................................................... 383 18.2.2 振幅データレジスタ ................................................................................................. 385 18.2.3 周波数データレジスタ ............................................................................................. 386 18.2.4 トーンカウントレジスタ .......................................................................................... 387 18.2.5 デクリメントグレードレジスタ ............................................................................... 388 18.2.6 サウンド禁止レジスタ ............................................................................................. 389 第 19 章 リアルタイムクロック ........................................................................... 391 19.1 リアルタイムクロックの概要 ............................................................................................. 392 19.2 リアルタイムクロックのレジスタ...................................................................................... 393 19.3 リアルタイムクロックの動作説明...................................................................................... 400 第 20 章 LIN-UART .............................................................................................. 401 20.1 LIN-UART の概要 ............................................................................................................... 402 20.2 LIN-UART のレジスタ一覧 ................................................................................................. 404 20.2.1 ボーレート / リロードカウンタレジスタ (BGR) ...................................................... 412 20.3 インプットキャプチャによるボーレート検出.................................................................... 413 20.3.1 UART のボーレート ................................................................................................. 414 20.3.2 ボーレートの設定..................................................................................................... 415 20.4 LIN-UART の動作 ............................................................................................................... 418 20.4.1 非同期モード ( 動作モード 0 と 1) 時の動作 ............................................................ 419 20.4.2 同期 ( 動作モード 2) モード時の動作 ....................................................................... 421 20.4.3 LIN 機能との操作 ( 動作モード 3) ............................................................................ 423 20.4.4 シリアル端子直接アクセス ...................................................................................... 425 20.4.5 データフォーマット設定 .......................................................................................... 426 20.4.6 レジスタ / フラグビット........................................................................................... 427 20.5 UART 割込み ...................................................................................................................... 428 20.5.1 ソフトウェアリセット ............................................................................................. 431 20.6 LIN-UART のクロック同期 ................................................................................................. 432 20.7 フラグセットのタイミング................................................................................................. 433 20.8 LIN-UART の特別仕様 ........................................................................................................ 437 20.9 LIN 通信動作....................................................................................................................... 439 20.10 UART からの変更点 ........................................................................................................... 443 viii 20.11 LIN-UART の制限事項 ........................................................................................................ 444 第 21 章 A/D コンバータ ...................................................................................... 445 21.1 A/D コンバータの概要 ........................................................................................................ 446 21.2 A/D コンバータのレジスタ................................................................................................. 449 21.3 A/D コンバータの動作 ........................................................................................................ 460 第 22 章 CAN ....................................................................................................... 463 22.1 CAN の特長 ........................................................................................................................ 464 22.2 CAN のブロックダイヤグラム............................................................................................ 465 22.3 CAN のレジスタ ................................................................................................................. 466 22.4 CAN レジスタ機能.............................................................................................................. 473 22.4.1 全体コントロールレジスタ ...................................................................................... 474 22.4.2 メッセージインタフェースレジスタ ........................................................................ 487 22.4.3 メッセージオブジェクト .......................................................................................... 499 22.4.4 メッセージハンドラレジスタ................................................................................... 506 22.5 CAN 機能 ............................................................................................................................ 515 22.5.1 メッセージオブジェクト .......................................................................................... 516 22.5.2 メッセージ送信動作 ................................................................................................. 518 22.5.3 メッセージ受信動作 ................................................................................................. 520 22.5.4 FIFO バッファ機能................................................................................................... 523 22.5.5 割込み機能 ............................................................................................................... 525 22.5.6 ビットタイミング..................................................................................................... 527 22.5.7 テストモード ............................................................................................................ 530 22.5.8 ソフトウェア初期化 ................................................................................................. 534 22.5.9 CAN クロックプリスケーラ ..................................................................................... 535 第 23 章 LCD コントローラ (LCDC) .................................................................... 539 23.1 LCD コントローラの概要 ................................................................................................... 540 23.2 LCD コントローラのレジスタ ............................................................................................ 542 23.3 LCD コントローラの動作 ................................................................................................... 549 第 24 章 32kHz クロック補正ユニット ................................................................ 557 24.1 32kHz クロック補正ユニットの概要.................................................................................. 558 24.2 32kHz クロック補正ユニットのレジスタ........................................................................... 560 24.3 アプリケーションノート .................................................................................................... 566 第 25 章 25.1 25.2 25.3 25.4 CPU 動作検出リセット回路の概要 .................................................................................... 568 CPU 動作検出リセット回路のレジスタ ............................................................................. 570 CPU 動作検出リセット回路の動作 .................................................................................... 572 CPU 動作検出リセット回路使用上の注意.......................................................................... 573 第 26 章 26.1 26.2 26.3 26.4 26.5 CPU 動作検出リセット回路................................................................... 567 D/A コンバータ ...................................................................................... 575 D/A コンバータの概要 ........................................................................................................ 576 ブロックダイヤグラム........................................................................................................ 577 レジスタ一覧 ...................................................................................................................... 578 レジスタ詳細説明 ............................................................................................................... 579 D/A コンバータの動作 ........................................................................................................ 581 ix 第 27 章 I2C インタフェース ................................................................................ 583 27.1 I2C インタフェースの概要.................................................................................................. 584 27.2 I2C インタフェースのレジスタ .......................................................................................... 589 27.2.1 バスステータスレジスタ (IBSR0, IBSR1)................................................................ 590 27.2.2 バス制御レジスタ (IBCR0, IBCR1) .......................................................................... 594 27.2.3 クロック制御レジスタ (ICCR0, ICCR1)................................................................... 602 27.2.4 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) ............ 604 27.2.5 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) ................................................................................................................................. 605 27.2.6 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1)............................................... 607 27.2.7 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1)................................... 608 27.2.8 データレジスタ (IDAR0, IDAR1).............................................................................. 610 27.3 I2C インタフェースの動作説明 .......................................................................................... 611 27.4 動作フローチャート ........................................................................................................... 617 第 28 章 フラッシュメモリ .................................................................................. 621 28.1 フラッシュメモリの概要 .................................................................................................... 622 28.2 フラッシュメモリのレジスタ ............................................................................................. 630 28.3 フラッシュメモリのアクセスモード .................................................................................. 634 28.4 自動アルゴリズム起動方法................................................................................................. 637 28.5 自動アルゴリズム実行状態................................................................................................. 641 28.6 フラッシュメモリ書込み / 消去の詳細説明 ........................................................................ 647 28.6.1 フラッシュメモリ使用上の注意 ............................................................................... 653 28.7 セクタプロテクトオペレーション...................................................................................... 654 第 29 章 シリアル書込み接続例 ........................................................................... 659 29.1 シリアル書込み接続例........................................................................................................ 660 29.2 シリアル書込み ( 非同期 ) 接続例 ....................................................................................... 671 付録 付録 A 付録 B 付録 C 付録 D 付録 E E.1 付録 F 索引 ............................................................................................................... 675 I/O マップ ...................................................................................................................... 676 割込みベクタ ................................................................................................................. 690 各 CPU ステートにおける各端子状態........................................................................... 694 リトル・エンディアン領域を利用する際の注意事項.................................................... 702 命令一覧 ........................................................................................................................ 708 FR ファミリーの命令一覧表....................................................................................... 712 使用上の注意 ................................................................................................................. 728 ............................................................................................................... 733 x 本版での主な変更内容 ページ 変更内容 ( 詳細は本文を参照してください。) 514 第 22 章 CAN 22.4.4 メッセージハンド ラレジスタ 537 第 22 章 CAN 22.5.9 CAN クロックプリ スケーラ 「■ CAN プリスケーラレジスタ」の [bit11 ∼ bit8] の表を訂 正。 表 22.5-5 と<注意事項>を訂正。 変更箇所は , 本文中のページ左側の│によって示しています。 xi xii 第1章 概要 MB91220 シリーズの特長 , ブロックダイヤグラム , 機能概要など , 全体を知るための内容について説明 します。 CM71-10142-5 1.1 MB91220 シリーズの特長 1.2 品種構成 1.3 ブロックダイヤグラム 1.4 外形寸法図 1.5 端子配列図 1.6 端子機能説明 1.7 入出力回路形式 1.8 本書の読み方 FUJITSU SEMICONDUCTOR LIMITED 1 第 1 章 概要 1.1 MB91220 シリーズの特長 1.1 MB91220 シリーズ MB91220 シリーズの特長 MB91220 シリーズは , 民生機器などの高速リアルタイム処理が要求される組込み制 御用途向けに設計された汎用の富士通セミコンダクター 32 ビット RISC マイクロコ ントローラです。 CPU には , FR ファミリと互換の FR60Lite を使用しており , LCD コントローラ , ス テッパモータコントローラを内蔵しています。 ■ FR60Lite CPU • 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段 • 最大動作周波数 : 32MHz ( 原発振 /4MHz, 原発振 8 逓倍 (PLL クロック 逓倍方式 ) ) • 16 ビット固定長命令 ( 基本命令 ) • 命令実行速度 : 1 命令 /1 サイクル • メモリ−メモリ間転送命令 , ビット処理命令 , バレルシフト命令など : 組込み用途に適した命令 • 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令 : C 言語対応命令 • レジスタのインタロック機能 : アセンブラ記述も容易に可能 • 乗算器の内蔵 / 命令レベルでのサポート • 符号付き 32 ビット乗算 : 5 サイクル • 符号付き 16 ビット乗算 : 3 サイクル • 割込み (PC/PS 退避 ) : 6 サイクル (16 プライオリティレベル ) • ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に 実行可能 • FR ファミリとの命令互換 ■ 内蔵周辺機能 • 内蔵 ROM 容量と ROM タイプ フラッシュメモリ • 内蔵 RAM 容量 : 512K バイト (MB91F223/S) / 768K バイト (MB91F224/S) : 16K バイト (MB91F223/S) 24K バイト (MB91F224/S) 64K バイト (MB91V220B) • 汎用ポート 2 : 最大 120 本 ( 内 4 本入力専用 ) FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.1 MB91220 シリーズの特長 MB91220 シリーズ • A/D コンバータ ( 逐次比較型 ) 10 ビット分解能 : 24 チャネル 変換時間 : 3μs (16MHz/32MHz) 上記の変換時間を達成するために以下のようにPLLの逓倍率および周辺回路クロッ クの分周比を設定してください。 32MHz : 原発振 (4MHz) の 8 逓倍の 1 分周 : 原発振の 8 逓倍の 2 分周 16MHz • D/A コンバータ (R-2R 型 ) 8 ビット分解能 : 2 チャネル • 外部割込み入力 : 8 チャネル • ビットサーチモジュール (REALOS 使用 ) • LIN-UART( 全二重ダブルバッファ方式 ) : 4 チャネル クロック同期 / 非同期の選択可能 Sync-break 検出 専用ボーレートジェネレータ内蔵 • I2C バスインタフェース : 2 チャネル • ステッパモータコントローラ : 4 チャネル 10 ビット PWM 各チャネル大電流出力 4 本 • 8/16 ビット PPG タイマ : 16 チャネル • 16 ビットリロードタイマ : 3 チャネル • 16 ビットフリーランタイマ : 2 チャネル (ICU/OCU 連動 ) • 16 ビットパルス幅カウンタ : 1 チャネル • インプットキャプチャ : 4 チャネル ( フリーランタイマ ch.0, ch.1 と連動 ) ch.0 は PWC と連動 • アウトプットコンペア : 2 チャネル ( フリーランタイマ ch.0 と連 動) • LCD コントローラ : SEG0 ∼ SEG31/COM0 ∼ COM3( ポート と兼用 ) • 16 ビットタイムベース / ウォッチドッグタイマ • サウンドジェネレータ : 3 チャネル • リアルタイムクロック • 32kHz サブクロック ( クロック 1 系統品はサブクロックをサポートしません )。 • C-CAN : 2 チャネル • 低消費電力モード : スリープ / ストップ / 時計モード機能 • CPU 動作検出リセット • パッケージ : LQFP-144 (FPT-144P-M08) • CMOS 0.35μm テクノロジ • 電源 CM71-10142-5 : 5V 電源 ( 降圧回路により内部回路 3.3V, I/O 5.0V) FUJITSU SEMICONDUCTOR LIMITED 3 第 1 章 概要 1.2 品種構成 1.2 MB91220 シリーズ 品種構成 MB91220 シリーズの品種構成表を表 1.2-1 に示します。掲載されていない内蔵周辺 機能は共通です。 ■ 品種構成一覧 MB91220 シリーズの品種構成を表 1.2-1 に示します。 表 1.2-1 MB91220 シリーズ品種構成一覧 MB91V220B MB91F223/S MB91F224/S ROM/Flash 容量 外付け SRAM 512K バイト 768K バイト RAM 容量 64K バイト 16K バイト 24K バイト 外部割込み 8 チャネル DMA 5 チャネル A/D コンバータ 24 チャネル D/A コンバータ 2 チャネル LIN-UART 4 チャネル I2C 2 チャネル ステッパモータコントローラ 4 チャネル 8/16 ビット PPG タイマ 16 チャネル 16 ビットリロードタイマ 3 チャネル 16 ビットフリーランタイマ 2 チャネル 16 ビットパルス幅カウンタ 1 チャネル インプットキャプチャ 4 チャネル アウトプットコンペア 2 チャネル LCD コントローラ 4COM, 32SEG サウンドジェネレータ 3 チャネル リアルタイムクロック あり 32kHz サブクロック あり あり :MB91F224 なし :MB91F224S アドレス 16 ビット データ 16 ビット 外部バス その他 評価用品 フラッシュ メモリ品 On Chip Debug Support Unit DSU4 - C-CAN 4 あり :MB91F223 なし :MB91F223S 2 チャネル 32 メッセージ バッファ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.3 ブロックダイヤグラム MB91220 シリーズ 1.3 ブロックダイヤグラム MB91220 シリーズのブロックダイヤグラムを示します。 ■ ブロックダイヤグラム 図 1.3-1 MB91220 シリーズブロックダイヤグラム FR 60Lite CPU コア 32 DSU* 32 DMAC 5チャネル ビットサーチ 32 Flash 768Kバイト/512Kバイト バス コンバータ RAM 64Kバイト/24Kバイト/16Kバイト X0,X1 X0A,X1A MD0~MD2 INITX 32←→16 アダプタ クロック 制御 16 割込み コントローラ INT0~INT7 外部割込み 8チャネル C-CAN 2チャネル RX0, RX1 TX0, TX1 PORT PORT I/F リロードタイマ 3チャネル TIN0~TIN2 TOT0~TOT2 PWCタイマ 1チャネル PWC0 16 PPGタイマ 16チャネル PPG0H~PPG15H ICU2 IN0~IN3 インプット ICU3 キャプチャ ICU0 4チャネル ICU1 OUT0, OUT1 アウトプット OCU0 コンペア OCU1 リアルタイムクロック CPU 動作検出リセット 2チャネル CK0, CK1 SGA0~SGA2 SGO0~SGO2 AVRL ATGX AVCC/AVSS AVRH AN0~AN23 SIN0, SIN3~SIN5 SOT0, SOT3~SOT5 SCK0, SCK3~SCK5 フリーラン タイマ 2チャネル FRT0 FRT1 サウンドジェネレータ 3チャネル ステッパモータ コントローラ 4 チャネル 入力A/Dコンバータ 24チャネル LIN-UART 4チャネル PWM1P0 PWM1M0 PWM2P0 PWM2M0 PWM1P1 PWM1M1 PWM2P1 PWM2M1 PWM1P3 PWM1M3 PWM2P3 PWM2M3 PWM1P2 PWM2P2 PWM2M2 PWM1M2 COM0~COM3 32seg×4COM LCD コントローラ I2C 2チャネル D/Aコンバータ 2チャネル SEG0~SEG31 SDA0/SDA1 SCL0/SCL1 DA0/DA1 *:DSU は MB91V220B のみ搭載です。 <注意事項> クロック 1 系統品はサブクロックをサポートしません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 5 第 1 章 概要 1.4 外形寸法図 MB91220 シリーズ 外形寸法図 1.4 図 1.4-1 にパッケージの外形寸法図を示します。 ■ パッケージ外形寸法図 図 1.4-1 外形寸法図 プラスチック・LQFP, 144ピン (FPT-144P-M08) プラスチック・LQFP, 144ピン (FPT-144P-M08) リードピッチ 0.50 mm パッケージ幅× パッケージ長さ 20.0 × 20.0 mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70 mm MAX 質量 1.20 g コード(参考) 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) C 0.22±0.05 (.009±.002) 0.08(.003) 0.50±0.20 (.020±.008) 0.60±0.15 (.024±.006) (Mounting height) 0.10±0.10 (.004±.004) (Stand off) 0.25(.010) M 2003-2010 FUJITSU SEMICONDUCTOR LIMITED F144019S-c-4-8 単位:mm(inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記の URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 6 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.5 端子配列図 MB91220 シリーズ 1.5 端子配列図 MB91220 シリーズの端子配列を示します。 ■ 端子配列図 図 1.5-1 に , MB91220 シリーズの端子配列図 (LQFP-144) を示します。 P20/SEG0/A00 PD7/COM3/PPG7H PD6/COM2/PPG5H PD5/COM1/PPG3H * PD4/COM0/PPG1H * PD3/IN3/V3 PD2/TIN2/IN2/V2 PD1/TIN1/IN1/V1 PD0/TIN0/IN0/PWC0/INT2/V0 P47/SYSCLK P46/ASX P57/OUT1/RDY P56/OUT0/WR1X P55/SCK5/WR0X P54/SOT5/RDX X0 X1 VSS VCC P53/SIN5/CK1/CS3X P52/SCK4/CS2X P51/SOT4/CS1X P50/SIN4/CK0/CS0X P45/SCK3 P44/SOT3 P43/SIN3/INT1 P42/SCK0 P41/SOT0 P40/SIN0/INT0 PG3/TOT2/PPG6H PG2/TOT1/PPG4H PG1/TOT0/PPG2H P73/TX1 P72/INT7/RX1 P71/TX0 P70/INT6/RX0 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 図 1.5-1 MB91220 シリーズの LQFP-144 端子配列図 A01/SEG1/P21 1 108 INITX A02/SEG2/P22 A03/SEG3/P23 A04/SEG4/P24 A05/SEG5/P25 2 3 4 5 107 106 105 104 MD0 MD1 MD2 DVSS A06/SEG6/P26 A07/SEG7/P27 A08/SEG8/P30 A09/SEG9/P31 A10/SEG10/P32 A11/SEG11/P33 A12/SEG12/P34 6 7 8 9 10 11 12 103 102 101 100 99 98 97 DVCC PE7/PPG15H/SCL1 PE6/PPG14H/SDA1 PE5/PPG13H/SCL0 PE4/PPG12H/SDA0 PE3/PWM2M2 PE2/PWM2P2 A13/SEG13/P35 A14/SEG14/P36 A15/SEG15/P37 X0A X1A VCC VSS 13 14 15 16 17 18 96 95 94 93 92 91 PE1/PWM1M2 PE0/PWM1P2 PA3/PWM2M3 PA2/PWM2P3 PA1/PWM1M3 PA0/PWM1P3 90 89 88 87 86 85 84 DVSS DVCC PF7/AN15 PF6/AN14 PF5/AN13 PF4/AN12 PF3/AN11 83 82 81 80 79 78 77 76 75 74 73 PF2/AN10 PF1/AN9 PF0/AN8 P67/AN7 P66/AN6 P65/AN5 P64/AN4 P63/AN3 P62/AN2 P61/AN1 P60/AN0 VCC3C D08/SEG16/P10 D09/SEG17/P11 D10/SEG18/P12 D11/SEG19/P13 D12/SEG20/P14 D13/SEG21/P15 D14/SEG22/P16 D15/SEG23/P17 D00/SEG24/P00 D01/SEG25/P01 D02/SEG26/P02 D03/SEG27/P03 D04/SEG28/P04 D05/SEG29/P05 D06/SEG30/P06 D07/ATGX/SEG31/P07 TOP VIEW MB91F223/S MB91F224/S (LQFP144) 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 66 67 68 69 P86/AN22/INT4 P85/AN21/INT3 P84/AN20 P83/AN19 P82/AN18 P81/AN17 P80/AN16 AVSS/AVRL 65 P87/AN23/INT5 72 64 P90/DA0 AVCC 63 AVRH 62 P91/DA1 71 61 P92/SGA0 70 60 PC2/PWM2P0 59 PC1/PWM1M0 P93/SGO0 P94/SGA1 50 PC0/PWM1P0 58 49 PB7/PWM2M1 P95/SGO1 48 PB6/PWM2P1 57 47 PB5/PWM1M1 P96/SGA2 46 PB4/PWM1P1 P97/SGO2 45 PB3/PPG11H PB2/PPG10H 56 55 44 DVSS 43 PB1/PPG9H 54 42 PB0/PPG8H DVCC 41 DVSS 53 40 DVCC PC3/PWM2M0 39 PG0/PPG0H 52 38 51 37 *: PD4とPD5については, PFRD/EPFRD レジスタにて同じ端子機能を選択してください。 PD4をポート機能として使用する場合は, PD5もポート機能として使用してください。 PD4をPPG機能として使用する場合は, PD5もPPG機能として使用してください。 PD4をCOM機能として使用する場合は, PD5もCOM機能として使用してください。 (FPT-144P-M08) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 7 第 1 章 概要 1.6 端子機能説明 1.6 MB91220 シリーズ 端子機能説明 MB91220 シリーズの端子機能について説明します。 ■ 端子機能説明 表 1.6-1 に , MB91220 シリーズの端子機能を示します。 表 1.6-1 端子機能一覧表 (1 / 8) 端子番号 端子名 回路形式 129 X0 A メインクロック ( 発振 ) 入力です。 128 X1 A メインクロック ( 発振 ) 出力です。 16 X0A B サブクロック ( 発振 ) 入力です。 17 X1A B サブクロック ( 発振 ) 出力です。 108 INITX C 外部リセット入力です。 105 MD2 D モード端子 2 です。この端子の設定により基本動作モードを 設定します。VCC または VSS に接続してください。 106 MD1 D モード端子 1 です。この端子の設定により基本動作モードを 設定します。VCC または VSS に接続してください。 107 MD0 D モード端子 0 です。この端子の設定により基本動作モードを 設定します。VCC または VSS に接続してください。 P00 ∼ P06 29 ∼ 35 SEG24 ∼ SEG30 汎用入出力ポートです。 G D00 ∼ D06 汎用入出力ポートです。 SEG31 ATGX G D07 SEG16 ∼ SEG23 G 汎用入出力ポートです。 F A00 8 ∼ 15 SEG1 ∼ SEG7 汎用入出力ポートです。 F LCDC の SEG 出力です。 A01 ∼ A07 外部アドレスバスの bit01 ∼ bit07 です。 P30 ∼ P37 汎用入出力ポートです。 SEG8 ∼ SEG15 A08 ∼ A15 8 LCDC の SEG 出力です。 外部アドレスバスの bit00 です。 P21 ∼ P27 1∼7 LCDC の SEG 出力です。 外部データバスの bit08 ∼ bit15 です。 P20 SEG0 AD コンバータの外部トリガ入力です。 汎用入出力ポートです。 D08 ∼ D15 144 LCDC の SEG 出力です。 外部データバスの bit07 です。 P10 ∼ P17 21 ∼ 28 LCDC の SEG 出力です。 外部データバスの bit00 ∼ bit06 です。 P07 36 説明 F LCDC の SEG 出力です。 外部アドレスバスの bit08 ∼ bit15 です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (2 / 8) 端子番号 116 端子名 回路形式 P40 汎用入出力ポートです。LIN-UART0 のデータ入力指定が禁止 のときに有効になります。 SIN0 LIN-UART0 のデータ入力です。LIN-UART0 が入力動作をし ている間は , この入力を随時使用しますので , 意図的に行う 以外は , ポートによる出力を停止する必要があります。 M INT0 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 P41 汎用入出力ポートです。LIN-UART0 のデータ出力指定が禁止 のときに有効になります。 117 I SOT0 P42 118 I 汎用入出力ポートです。LIN-UART1 のデータ入力指定が禁止 のときに有効になります。 SIN3 LIN-UART1 のデータ入力です。LIN-UART1 が入力動作をし ている間は , この入力を随時使用しますので , 意図的に行う 以外は , ポートによる出力を停止する必要があります。 M INT1 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 P44 汎用入出力ポートです。LIN-UART1 のデータ出力指定が禁止 のときに有効になります。 I SOT3 P45 121 I SCK3 P46 ASX CM71-10142-5 SYSCLK LIN-UART1 のデータ出力です。この機能は LIN-UART1 の データ出力指定が許可のときに有効になります。 汎用入出力ポートです。LIN-UART1 のクロック出力指定が禁 止のときに有効になります。 LIN-UART1 のクロック入出力です。この機能は LIN-UART1 のクロック出力指定が許可のときに有効になります。 汎用入出力ポートです。 I P47 135 汎用入出力ポートです。LIN-UART0 のクロック出力指定が禁 止のときに有効になります。 P43 120 134 LIN-UART0 のデータ出力です。この機能は LIN-UART0 の データ出力指定が許可のときに有効になります。 LIN-UART0 のクロック入出力です。この機能は LIN-UART0 のクロック出力指定が許可のときに有効になります。 SCK0 119 説明 アドレスストローブ出力です。この機能はアドレスストロー ブ出力が許可のときに有効になります。 汎用入出力ポートです。 I システムクロック出力です。この機能はシステムクロック出 力指定が許可のときに有効になります。外バス動作周波数と 同じクロックを出力します (STOP 時に停止します ) 。 FUJITSU SEMICONDUCTOR LIMITED 9 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (3 / 8) 端子番号 122 端子名 回路形式 P50 汎用入出力ポートです。LIN-UART2 のデータ入力指定が禁止 のときに有効になります。 SIN4 LIN-UART2 のデータ入力です。LIN-UART2 が入力動作をし ている間は , この入力を随時使用しますので , 意図的に行う 以外は , ポートによる出力を停止する必要があります。 M CK0 フリーランタイマ 0 の外部クロック入力です。 CS0X チップセレクト 0 の出力です。この機能はチップセレクト 0 出力指定が許可のときに有効になります。 汎用入出力ポートです。LIN-UART2 のデータ出力指定が禁止 のときに有効になります。 P51 123 SOT4 I 汎用入出力ポートです。LIN-UART2 のクロック出力指定が禁 止のときに有効になります。 P52 SCK4 I P53 汎用入出力ポートです。LIN-UART3 のデータ入力指定が禁止 のときに有効になります。 SIN5 LIN-UART3 のデータ入力です。LIN-UART3 が入力動作をし ている間は , この入力を随時使用しますので , 意図的に行う 以外は , ポートによる出力を停止する必要があります。 M CK1 フリーランタイマ 1 の外部クロック入力です。 CS3X チップセレクト 3 の出力です。この機能はチップセレクト 3 出力指定が許可のときに有効になります。 汎用入出力ポートです。LIN-UART3 のデータ出力指定が禁止 のときに有効になります。 P54 130 131 SOT5 I 外バスリードストローブ出力です。外バスモード時に有効に なります。 P55 汎用入出力ポートです。LIN-UART3 のクロックで力指定が禁 止のときに有効になります。 SCK5 I OUT0 WR1X LIN-UART3 のクロック入出力です。この機能は LIN-UART3 のクロック出力指定が許可のときに有効になります。 外バスリードストローブ出力です。外バスモード時 WR0X の 出力を許可にすると有効になります。 P56 10 LIN-UART3 のデータ出力です。この機能は LIN-UART3 の データ出力指定が許可のときに有効になります。 RDX WR0X 132 LIN-UART2 のクロック入出力です。この機能は LIN-UART2 のクロック出力指定が許可のときに有効になります。 チップセレクト 2 の出力です。この機能はチップセレクト 2 出力指定が許可のときに有効になります。 CS2X 125 LIN-UART2 のデータ出力です。この機能は LIN-UART2 の データ出力指定が許可のときに有効になります。 チップセレクト 1 の出力です。この機能はチップセレクト 1 出力指定が許可のときに有効になります。 CS1X 124 説明 汎用入出力ポートです。 I アウトプットコンペアの出力です。 外バスライトストローブ出力です。外バスモード時 WR1X の 出力を許可にすると有効になります。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (4 / 8) 端子番号 端子名 回路形式 P57 OUT1 133 説明 汎用入出力ポートです。 J アウトプットコンペアの出力です。 RDY 外部レディ入力です。この機能は外部レディ入力指定が許可 のときに有効になります。 P60 ∼ P67 汎用入出力ポートです。この機能はアナログ入力指定が禁止 のときに有効になります。 E 73 ∼ 80 AN0 ∼ AN7 P70 INT6 109 汎用入出力ポートです。 I RX0 P71 110 TX0 INT7 I P73 TX1 I CAN0 の TX0 出力端子です。 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 CAN1 の RX1 入力端子です。 I P80 ∼ P84 E 69 ∼ 65 汎用入出力ポートです。 汎用入出力ポートです。 RX1 112 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 CAN0 の RX0 入力端子です。 P72 111 A/D コンバータのアナログ入力です。ADER レジスタの指定 がアナログ入力のとき有効になります。 汎用入出力ポートです。 CAN1 の TX1 出力端子です。 汎用入出力ポートです。この機能はアナログ入力指定が禁止 のときに有効になります。 AN16 ∼ AN20 A/D コンバータのアナログ入力です。ADER レジスタの指定 がアナログ入力のとき有効になります。 P85 汎用入出力ポートです。この機能はアナログ入力指定が禁止 のときに有効になります。 64 63 INT3 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 AN21 A/D コンバータのアナログ入力です。ADER レジスタの指定 がアナログ入力のとき有効になります。 P86 汎用入出力ポートです。この機能はアナログ入力指定が禁止 のときに有効になります。 INT4 AN22 CM71-10142-5 E E 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 A/D コンバータのアナログ入力です。ADER レジスタの指定 がアナログ入力のとき有効になります。 FUJITSU SEMICONDUCTOR LIMITED 11 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (5 / 8) 端子番号 端子名 回路形式 汎用入出力ポートです。この機能はアナログ入力指定が禁止 のときに有効になります。 P87 62 INT5 E 60 59 58 57 56 55 54 91 92 93 94 P90 DA0 P91 DA1 P92 SGA0 P93 SGO0 P94 SGA1 P95 SGO1 P96 SGA2 P97 SGO2 PA0 PWM1P3 PA1 PWM1M3 PA2 PWM2P3 PA3 PWM2M3 L L I I I I I I H H H H PB0 40 PPG8H PPG9H 12 PPG10H D/A コンバータのアナログ出力端子です。 汎用入出力ポートです。 D/A コンバータのアナログ出力端子です。 汎用入出力ポートです。 サウンドジェネレータ 0 用出力端子です。 汎用入出力ポートです。 サウンドジェネレータ 0 用出力端子です。 汎用入出力ポートです。 サウンドジェネレータ 1 用出力端子です。 汎用入出力ポートです。 サウンドジェネレータ 1 用出力端子です。 汎用入出力ポートです。 サウンドジェネレータ 2 用出力端子です。 汎用入出力ポートです。 サウンドジェネレータ 2 用出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 PPG タイマ 8 の出力です。この機能は PPG タイマ 8 の出力指 定が許可のときに有効になります。 汎用入出力ポートです。 I PB2 42 汎用入出力ポートです。 汎用入出力ポートです。 I PB1 41 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 A/D コンバータのアナログ入力です。ADER レジスタの指定 がアナログ入力のとき有効になります。 AN23 61 説明 PPG タイマ 9 の出力です。この機能は PPG タイマ 9 の出力指 定が許可のときに有効になります。 汎用入出力ポートです。 I PPG タイマ 10 の出力です。この機能は PPG タイマ 10 の出力 指定が許可のときに有効になります。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (6 / 8) 端子番号 端子名 回路形式 PB3 43 44 45 46 47 48 49 50 51 PPG11H PB4 PWM1P1 PB5 PWM1M1 PB6 PWM2P1 PB7 PWM2M1 PC0 PWM1P0 PC1 PWM1M0 PC2 PWM2P0 PC3 PWM2M0 汎用入出力ポートです。 I H H H H H H H H 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入力ポートです。 TIN0 リロードタイマ 0 の外部イベント入力端子です。 136 K インプットキャプチャ 0 のトリガ入力です。インプットキャ プチャトリガ入力を設定し , 入力ポートを設定した場合に入 力できます。インプットキャプチャ入力として選択した場合 は , この入力を随時使用しますので , 意図的に行う以外は , ポートによる出力を停止する必要があります。 PWC0 PWC0 のパルス幅カウンタ 0 入力です。この機能は PWC0 の パルス幅カウンタ 0 入力が許可のときに有効になります。 INT2 外部割込み入力です。対応する外部割込みを許可している間 は , この入力を随時使用していますので , 意図的に行う以外 は , ポートによる出力を停止する必要があります。 V0 LCD 用ドライバ電源入力端子です。 PD1 汎用入力ポートです。 TIN1 リロードタイマ 1 の外部イベント入力端子です。 IN1 V1 CM71-10142-5 PPG タイマ 11 の出力です。この機能は PPG タイマ 11 の出力 指定が許可のときに有効になります。 PD0 IN0 137 説明 K インプットキャプチャ 1 のトリガ入力です。インプットキャ プチャトリガ入力を設定し , 入力ポートを設定した場合に入 力できます。インプットキャプチャ入力として選択した場合 は , この入力を随時使用しますので , 意図的に行う以外は , ポートによる出力を停止する必要があります。 LCD 用ドライバ電源入力端子です。 FUJITSU SEMICONDUCTOR LIMITED 13 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (7 / 8) 端子番号 138 139 140 端子名 回路形式 PD2 汎用入力ポートです。 TIN2 リロードタイマ 2 の外部イベント入力端子です。 IN2 K LCD 用ドライバ電源入力端子です。 PD3 汎用入力ポートです。 IN3 インプットキャプチャ 3 のトリガ入力です。インプットキャ プチャトリガ入力を設定し , 入力ポートを設定した場合に入 力できます。インプットキャプチャ入力として選択した場合 は , この入力を随時使用しますので , 意図的に行う以外は , ポートによる出力を停止する必要があります。 K V3 LCD 用ドライバ電源入力端子です。内蔵ラダー抵抗の電源に もなります。 PD4 汎用入出力ポートです。 COM0 F COM1 汎用入出力ポートです。 F PD6 汎用入出力ポートです。 F PD7 143 汎用入出力ポートです。 F 96 97 98 14 PE0 PWM1P2 PE1 PWM1M2 PE2 PWM2P2 PE3 PWM2M2 LCDC の COM3 出力です。 PPG タイマ 7 の出力です。この機能は PPG タイマ 7 の出力指 定が許可のときに有効になります。 PPG7H 95 LCDC の COM2 出力です。 PPG タイマ 5 の出力です。この機能は PPG タイマ 5 の出力指 定が許可のときに有効になります。 PPG5H COM3 LCDC の COM1 出力です。 PPG タイマ 3 の出力です。この機能は PPG タイマ 3 の出力指 定が許可のときに有効になります。 PPG3H COM2 LCDC の COM0 出力です。 PPG タイマ 1 の出力です。この機能は PPG タイマ 1 の出力指 定が許可のときに有効になります。 PD5 142 インプットキャプチャ 2 のトリガ入力です。インプットキャ プチャトリガ入力を設定し , 入力ポートを設定した場合に入 力できます。インプットキャプチャ入力として選択した場合 は , この入力を随時使用しますので , 意図的に行う以外は , ポートによる出力を停止する必要があります。 V2 PPG1H 141 説明 H H H H 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 汎用入出力ポートです。 ステッパモータコントローラの PWM 出力端子です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ 表 1.6-1 端子機能一覧表 (8 / 8) 端子番号 端子名 回路形式 PE4 PPG12H 99 汎用入出力ポートです。 N PE5 PPG13H 汎用入出力ポートです。 N PE6 PPG14H 汎用入出力ポートです。 N PE7 PPG15H 汎用入出力ポートです。 N PF0 ∼ PF7 E AN8 ∼ AN15 PG0 37 PPG0H TOT0 I I PPG6H CM71-10142-5 リロードタイマ 1 の外部タイマ出力です。 PPG タイマ 4 の出力です。この機能は PPG タイマ 4 の出力指 定が許可のときに有効になります。 PG3 115 リロードタイマ 0 の外部タイマ出力です。 汎用入出力ポートです。 PPG4H TOT2 PPG タイマ 0 の出力です。この機能は PPG タイマ 0 の出力指 定が許可のときに有効になります。 PPG タイマ 2 の出力です。この機能は PPG タイマ 2 の出力指 定が許可のときに有効になります。 PG2 TOT1 A/D コンバータのアナログ入力です。ADER レジスタの指定 がアナログ入力のとき有効になります。 汎用入出力ポートです。 PPG2H 114 汎用入出力ポートです。この機能はアナログ入力指定が禁止 のときに有効になります。 汎用入出力ポートです。 I PG1 113 PPG タイマ 15 の出力です。この機能は PPG タイマ 15 の出力 指定が許可のときに有効になります。 I2C1 用シリアルクロック入出力端子です。 SCL1 81 ∼ 88 PPG タイマ 14 の出力です。この機能は PPG タイマ 14 の出力 指定が許可のときに有効になります。 I2C1 用シリアルデータ入出力端子です。 SDA1 102 PPG タイマ 13 の出力です。この機能は PPG タイマ 13 の出力 指定が許可のときに有効になります。 I2C0 用シリアルクロック入出力端子です。 SCL0 101 PPG タイマ 12 の出力です。この機能は PPG タイマ 12 の出力 指定が許可のときに有効になります。 I2C0 用シリアルデータ入出力端子です。 SDA0 100 説明 汎用入出力ポートです。 I リロードタイマ 2 の外部タイマ出力です。 PPG タイマ 6 の出力です。この機能は PPG タイマ 6 の出力指 定が許可のときに有効になります。 FUJITSU SEMICONDUCTOR LIMITED 15 第 1 章 概要 1.6 端子機能説明 MB91220 シリーズ [ 電源・GND 端子 ] 16 端子番号 端子名 端子機能 19, 127 VSS GND 端子です。すべて同電位で使用してください。 18, 126 VCC 電源端子です。すべて同電位で使用してください。 70 AVCC A/D コンバータ用のアナログ電源端子です。 71 AVRH A/D コンバータ用のアナログ基準電源端子です。 72 AVSS/AVRL 20 VCC3C 内部レギュレータ用のコンデンサ結合端子です。 38, 52, 89, 103 DVCC SMC 用の電源端子です。 39, 53, 90, 104 DVSS SMC 用の GND 端子です。 A/D コンバータ用アナログ GND/ アナログ基準電源端子です。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.7 入出力回路形式 MB91220 シリーズ 1.7 入出力回路形式 入出力回路形式を示します。 ■ 入出力回路形式 表 1.7-1 入出力回路形式 (1 / 4) 分類 A 回路形式 備考 X1 クロック入力 高速用 ( メインクロック原発振 ) 発振帰還抵抗 約 1MΩ クロック入力 低速用 ( サブクロック原発振 ) 発振帰還抵抗 約 7MΩ X0 スタンバイ制御 B X1A X0A スタンバイ制御 C P-ch • ヒステリシス入力 P-ch • プルアップ抵抗付き プルアップ抵抗値=約 50kΩ(Typ) N-ch • スタンバイ制御なし R ヒステリシス入力 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 17 第 1 章 概要 1.7 入出力回路形式 MB91220 シリーズ 表 1.7-1 入出力回路形式 (2 / 4) 分類 D 回路形式 備考 • フラッシュメモリ品 ヒステリシス入力 Flash テスト用の高電圧制御あり フラッシュメモリ品 制御 モード入力 拡散抵抗 E • CMOS 出力 (4mA) P-ch デジタル出力 N-ch デジタル出力 R ヒステリシス入力 (Automotiveレベル) • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) • アナログ入力 (ADERH, ADERL レジスタの対応す るビット (ADEn) が "1" のときアナ ログ入力が有効になります ) スタンバイ制御 アナログ入力 F P-ch デジタル出力 • CMOS 出力 (4mA) • LCDC 出力 N-ch デジタル出力 • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) R LCDC出力 ヒステリシス入力 (Automotiveレベル) R スタンバイ制御 G P-ch N-ch デジタル出力 デジタル出力 LCDC出力 R R ヒステリシス入力 (Automotiveレベル) • CMOS 出力 (4mA) • LCDC 出力 • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) • ヒステリシス (TTL レベル ) 入力 ( スタンバイ制御付き ) ヒステリシス入力 R (TTLレベル) スタンバイ制御 18 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.7 入出力回路形式 MB91220 シリーズ 表 1.7-1 入出力回路形式 (3 / 4) 分類 H 回路形式 備考 P-ch デジタル出力 N-ch デジタル出力 • CMOS 出力 PWM 用大電流出力 (30mA) • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) R ヒステリシス入力 (Automotiveレベル) スタンバイ制御 I • CMOS 出力 (4mA) P-ch デジタル出力 N-ch • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) デジタル出力 R ヒステリシス入力 (Automotiveレベル) スタンバイ制御 J P-ch N-ch R ヒステリシス入力 (Automotiveレベル) R ヒステリシス入力 (TTL レベル) • CMOS 出力 (4mA) • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) • ヒステリシス (TTL レベル ) 入力 ( スタンバイ制御付き ) スタンバイ制御 K • ヒステリシス入力 (Automotive レベル ) P-ch • スタンバイ制御付き N-ch R ヒステリシス入力 (Automotiveレベル) スタンバイ制御 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 19 第 1 章 概要 1.7 入出力回路形式 MB91220 シリーズ 表 1.7-1 入出力回路形式 (4 / 4) 分類 L 回路形式 備考 P-ch デジタル出力 N-ch デジタル出力 • CMOS 出力 (4mA) • アナログ出力 (D/A コンバータ ) • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) アナログ出力 R ヒステリシス入力 (Automotiveレベル) スタンバイ制御 R M • CMOS 出力 (4mA) P-ch デジタル出力 N-ch デジタル出力 R ヒステリシス入力 (Automotiveレベル) R ヒステリシス入力 (CMOS レベル) • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) • ヒステリシス (CMOS レベル ) 入力 ( スタンバイ制御付き ) スタンバイ制御 N • CMOS 出力 (3mA) P-ch デジタル出力 N-ch デジタル出力 I2C使用時は P-ch遮断 R ヒステリシス入力 (Automotiveレベル) R ヒステリシス入力 (CMOS レベル) • ヒステリシス (Automotive レベル ) 入力 ( スタンバイ制御付き ) • ヒステリシス (CMOS レベル ) 入力 ( スタンバイ制御付き ) スタンバイ制御 20 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 1 章 概要 1.8 本書の読み方 MB91220 シリーズ 1.8 本書の読み方 本書の読み方を説明します。 ■ アクセス単位とアドレス位置 オフセット 読出しのみ 読書き可能 アドレスオフセット値 / レジスタ名 アドレス 000060H レジスタ名 ブロック +0 +1 +2 +3 SSR0[R/W] B,H,W 00001000 SIDR0[R] B,H,W SODR0[W] B,H,W XXXXXXXX SCR0[R/W] B,H,W 00000100 SMR0[R/W] B,H,W 00000-0- UART0 DRCL0[W] B XXXXXXX UTIMC0[R/W] B 0--00001 U-TIMER0 UTIM0[R] H (UTIMR0[W]H) 00000000 00000000 000064H Byte アクセス , Half-word アクセス , Word アクセスが可能 書込みのみ 初期値 アクセスには , Byte, Half-Word, Word の 3 種類がありますが , レジスタによってはアク セス制限がありますので注意ください。詳細につきましては , 「付録 A I/O マップ」ま たは , 各章の「4. レジスタ詳細説明」をご参照ください。 B, H, W :Byte アクセス , Half-word アクセス , Word アクセスが可能 B :Byte アクセス ( 必ず Byte でアクセスしてください。) H :Half-word アクセス ( 必ず Half-word でアクセスしてください。) W :Word アクセス ( 必ず Word でアクセスしてください。) B, H :Byte アクセス , Half-word アクセスのみ (Word ではアクセスできません。) H, W :Half-word アクセス , Word アクセスのみ (Byte ではアクセスできません。) ( 参考 ) アクセス時のアドレス位置を説明します。 • Word アクセスの場合 , アドレスは 4 の倍数 ( 最下位 2 ビットは強制的に "00" です ) • Half-wordアクセスの場合, アドレスは2の倍数 (最下位1ビットは強制的に"0"です) • Byte アクセスの場合 , アドレスはそのままです。 このため , たとえば , SSR0 レジスタを Half-word アクセスするには , アドレス 060H 番 地に対して , SSR0+SIDR0(SODR0) レジスタにアクセスするかたちになります。 ( アドレスオフセットが +1 と +2 ( 例:SIDR0+SCR0) での Half-word アクセスはできま せん。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 21 第 1 章 概要 1.8 本書の読み方 MB91220 シリーズ ■ ビット属性記号の意味について R :読出し可能です。 W :書込み可能です。 RM :リードモディファイライト動作時の読出し動作の意味です。 "/"( スラッシュ )R/W :読出しと書込みが可能です。 ( 読出し値は , 書き込んだ値です。) ","( カンマ )R, W :読出しと書込みで意味が違います。( 読出し値は , 書き込んだ 値と異なります。) R0 :読出し値は "0" です。 R1 :読出し値は "1" です。 W0 :必ず "0" を書いてください。 W1 :必ず "1" を書いてください。 (RM0) :リードモディファイライト動作では "0" が読めます。 (RM1) :リードモディファイライト動作では "1" が読めます。 RX :読出し値は不定です。( 予約ビットまたは , 未定義ビット ) WX :書込みを行っても動作に影響を与えません。( 未定義ビット ) • R/W 記載例 • R/W :リード・ライト可能 ( 読出し値は書込み値 ) • R,W :リード・ライト可能 ( 読出し値と書込み値が異なる ) • R,RM/W :リード・ライト可能 ( 読出し値と書込み値が異なる , リードモディ ファイライト命令時は書込み値が読み出される ) 例えば , ポート データレジスタ。 • R(RM1), W :リード・ライト可能 ( 読出し値と書込み値が異なる , リードモディ ファイライト命令時は 1 読出し ) 例えば , 割込み要求フラグ。 22 • R,WX :リードオンリ ( 読出しは可能 , 書込みは動作に影響なし ) • R1,W :ライトオンリ ( 書込みは可能 , 読出し値は 1) • R0,W :ライトオンリ ( 書込みは可能 , 読出し値は 0) • RX,W :ライトオンリ ( 書込みは可能 , 読出し値は不定 ) • R/W0 :予約ビット ( 書込み値は 0, 読出し値は書込み値 ) • R0,W0 :予約ビット ( 書込み値は 0, 読出し値は 0) • R1,W0 :予約ビット ( 書込み値は 0, 読出し値は 1) • RX,W0 :予約ビット ( 書込み値は 0, 読出し値は不定 ) • R/W1 :予約ビット ( 書込み値は 1, 読出し値は書込み値 ) • R1,W1 :予約ビット ( 書込み値は 1, 読出し値は 1) • R0,W1 :予約ビット ( 書込み値は 1, 読出し値は 0) • RX,W1 :予約ビット ( 書込み値は 1, 読出し値は不定 ) • RX,WX :未定義ビット ( 読出し値は不定 , 書込みは動作に影響なし ) • R0,WX :未定義ビット ( 読出し値は 0, 書込みは動作に影響なし ) FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第2章 デバイスの取扱いについて MB91220 シリーズの取扱い上の注意について説明 します。 2.1 デバイス取扱い上の注意 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 23 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 2.1 MB91220 シリーズ デバイス取扱い上の注意 ラッチアップ防止および端子処理について説明します。 ■ デバイス取扱い上の注意 ● ラッチアップ防止のために CMOS IC では入力端子や出力端子に VCC 端子より高い電圧や VSS 端子より低い電圧 を印加した場合 , または VCC 端子と VSS 端子との 間に定格を超える電圧を印加した 場合にラッチアップ現象が発生することがあります。ラッチアップが発生すると電源 電流が激増し , 素子の熱破壊に至ることがありますので使用に際しては最大定格を超 えることのないよう十分に注意してください。 ● 未使用端子の処理について 使用していない入力端子を開放のままにしておくと誤動作およびラッチアップによる 永久破壊の原因になることがありますので , 2kΩ 以上の抵抗を介してプルアップまた はプルダウンの処理をしてください。 また , 使用していない入出力端子については出力状態にして開放とするか , 入力状態の 場合は入力端子と同じ処理をしてください。 ● 電源端子について VCC 端子 , VSS 端子が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を 防止するためにデバイス内部で同電位にするべきものどうしを接続してありますが , 不要輻射の低減・グランドレベルの上昇によるストローブ信号の誤動作の防止・総出 力電流規格の遵守などのため , 必ずそれらすべてを外部で電源およびグランドに接続 してください。 また , 電源供給源からできる限り低インピーダンスで本デバイスの VCC 端子または VSS 端子に接続するような配慮をお願いいたします。 本デバイスの近くで , VCC 端子と VSS 端子との間に 0.1μF 程度のセラミックコンデン サをバイパスコンデンサとして接続することをお勧めいたします。 本デバイスはレギュレータを内蔵しております。本デバイスを 5V 電源で使用する場合 は , 5V 電源を VCC 端子に供給し , レギュレータ用に必ず VCC3C に 1μF 以上のコンデ ンサを接続してください。 図 2.1-1 電源接続の例 5V 5V 5V VCC DVCC AVCC AVRH AVSS VSS DVSS VCC3C 1µF GND 24 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 MB91220 シリーズ ● 水晶発振回路について X0 端子 , X1 端子 , X0A 端子 , X1A 端子の近辺のノイズは本デバイスの誤動作の原因と なります。X0 端子と X1 端子 , X0A 端子と X1A 端子および水晶発振子 ( あるいはセラ ミック発振子 ) さらにグランドへのバイパスコンデンサはできる限りデバイスの近く に配置するようにプリント板を設計してください。X0 端子 , X1 端子からの信号を引き 回す場合は , ボード上でシールドして使用してください。特に X0 端子に隣接する端子 を使用する場合には注意が必要です。 X0 端子 , X1 端子 , X0A 端子 , X1A 端子の周りをグランドで囲むようなプリント板アー トワークは安定した動作を期待できますので , 強くお勧めいたします。また , 2 系統品 を 1 系統品として使用する場合においてもサブクロックは必須です。 MB91F223S/F224S を使用する場合は , X0A 端子を GND へ接続し , X1A 端子を開放に してください。 各量産品において , ご使用される発振子メーカに発振評価依頼をしてください。 ● 水晶発振回路に隣接する端子について • X0 (129pin) と P54/SOT5/RDX (130pin) の配線を隣接して並走させると , P54/SOT5/ RDX の変化で X0 にノイズが載り , 発振が誤カウントする可能性があります。それ を避けるために , 推奨パターン図のように , 両者の配線の距離を離し , 間に GND パ ターンを挿入してください。 • X0A (16pin) と A15/SEG15/P37 (15pin) の配線を隣接して並走させると , A15/SEG15/ P37 の変化で X0A にノイズが載り , 発振が誤カウントする可能性があります。それ を避けるために , 推奨パターン図のように , 両者の配線の距離を離し , 間に GND パ ターンを挿入してください。 図 2.1-2 推奨パターン図 X0 GND P54/SOT5/RDX P37/SEG15/A15 GND X0A ● モード端子 (MD0 ∼ MD2) について これらの端子は , ノイズによる誤動作を防ぐために , VCC 端子用電源または VSS 端子 用電源との間のパターン長をできる限り短く , 低インピーダンスで接続するようにし てください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 25 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 MB91220 シリーズ ● 電源投入時について 電源投入直後は , 必ず INITX 端子にて設定初期化リセット (INIT) を行ってください。 また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子への "L" レベル入力を発振回路の要求する安定待ち時間の間持続してください ( パワーオン リセットによるリセットでは , 発振安定待ち時間の設定は最小値に初期化されていま す)。 ● 電源投入時の原発振入力について 電源投入時は , 必ず発振安定待ち解除されるまでの間 , クロックを入力してください。 ● A/D コンバータの電源端子処理 A/D コンバータを使用しない場合においても , AVCC=AVRH=VCC, AVSS =VSS となる ように接続してください。 ● A/D コンバータの電源アナログ入力の投入順序 A/D コンバータの電源 (AVCC, AVRH) およびアナログ入力 (AN0 ∼ AN23) の印加は , 必ずデジタル電源 (VCC) の投入後に行ってください。また , 電源切断時は A/D コンバー タの電源およびアナログ入力切断の後で , デジタル電源 (VCC) を切断してください。そ の際 , AVRH は AVCC を超えないように投入 , 切断してください。アナログ入力と兼 用している端子を入力ポートとして使用する場合においても , 入力電圧は AVCC を超 えないようにしてください。 ● 高電流出力バッファ端子用電源 (DVCC, DVSS) の取扱い 高電流出力バッファ端子用電源 (DVCC) の印加は , 必ずデジタル電源 (VCC) の投入後 に行ってください。また , 電源切断時は高電流出力バッファ端子用電源切断の後で , デ ジタル電源 (VCC) を切断してください。 高電流出力バッファ端子を汎用ポートとして使用する場合も , 高電流出力バッファ端 子用電源 (DVCC) を印加してください。 高電流出力バッファ端子用の GND 端子 (DVSS) は必ずデジタル GND(VSS) と同電位で 使用してください。 ● メインモードからサブモードおよびストップモード遷移時の注意 メインモードからサブモードに遷移する場合は , 遷移後にメインクロックを必ず止め てください (OSCCR:OSCDS1=1)。メイン / サブモードからストップモードへ遷移する 場合は , メイン / クロックをスタンバイ制御レジスタ STCR の OSCD1/OSCD2 の設定で 停止させることができます。ストップモードへ遷移する前に設定してください。また , サブモードもしくは , ストップモードからメインモードへ戻る場合は , 発振安定待ち時 間を確保してください。 ● フラッシュ書込みについて サブモードでのフラッシュ書込みはできませんので , ご注意ください。 ● LCD 未使用時の端子処理について COM0 ∼ COM3 端子と SEG0 ∼ SEG31 端子は , 開放としてください。 26 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第3章 CPU および制御部 FR60Lite のアーキテクチャ , 仕様 , 命令など , 機能 を知るための基本的な内容について説明します。 CM71-10142-5 3.1 メモリ空間 3.2 メモリマップ 3.3 内部アーキテクチャ 3.4 プログラミング・モデル 3.5 データ構造 3.6 ワードアライメント 3.7 メモリマップ 3.8 分岐命令 3.9 EIT ( 例外・割込み・トラップ ) 3.10 動作モード 3.11 リセット ( デバイスの初期化 ) 3.12 クロック生成制御 3.13 デバイス状態制御 FUJITSU SEMICONDUCTOR LIMITED 27 第 3 章 CPU および制御部 3.1 メモリ空間 3.1 MB91220 シリーズ メモリ空間 MB91220 シリーズの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニア にアクセスを行います。 ■ ダイレクトアドレッシング領域 アドレス空間の下記の領域は I/O 用に使用されます。 この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレ スを指定できます。 ダイレクト領域は , アクセスするデータのサイズにより , 以下のようになります。 28 • バイトデータアクセス : 000H ∼ 0FFH • ハーフワードデータアクセス : 000H ∼ 1FFH • ワードデータアクセス : 000H ∼ 3FFH FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.2 メモリマップ MB91220 シリーズ 3.2 メモリマップ MB91220 シリーズのメモリ空間を示します。 ■ MB91220 シリーズのメモリマップ 図 3.2-1 MB91220 シリーズのメモリ空間 MB91V220B のメモリマップ シングルチップモード 内ROM外バスモード 外ROM外バスモード 0000 0000H I/O I/O I/O I/O I/O I/O アクセス禁止 アクセス禁止 アクセス禁止 I/O(C-CAN) I/O(C-CAN) ダイレクト アドレッシング領域 0000 0400H 0001 0000H 0002 0000H 0002 01B4H 0003 0000H 0004 0000H アクセス禁止 内蔵RAM64Kバイト アクセス禁止 内蔵RAM64Kバイト 付録A I/Oマップを参照 I/O(C-CAN) アクセス禁止 内蔵RAM64Kバイト アクセス禁止 0005 0000H アクセス禁止 アクセス禁止 0008 0000H エミュレーション SRAM領域 エミュレーション SRAM領域 外部領域 0010 0000H アクセス禁止 外部領域 FFFF FFFFH MB91F223/S のメモリマップ シングルチップモード 内ROM外バスモード 外ROM外バスモード 0000 0000H I/O I/O I/O I/O I/O I/O アクセス禁止 アクセス禁止 アクセス禁止 I/O(C-CAN) I/O(C-CAN) I/O(C-CAN) アクセス禁止 アクセス禁止 アクセス禁止 ダイレクト アドレッシング領域 0000 0400H 0001 0000H 0002 0000H 0002 01B4H 0003 C000H 0004 0000H 内蔵RAM16Kバイト 内蔵RAM16Kバイト 付録A I/Oマップを参照 内蔵RAM16Kバイト アクセス禁止 0005 0000H アクセス禁止 アクセス禁止 0008 0000 H フラッシュメモリ 領域 512Kバイト フラッシュメモリ 領域 512Kバイト 外部領域 0010 0000H アクセス禁止 外部領域 FFFF FFFFH 続く CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 29 第 3 章 CPU および制御部 3.2 メモリマップ MB91220 シリーズ 続き MB91F224/S のメモリマップ シングルチップモード 内ROM外バスモード 外ROM外バスモード 0000 0000H I/O I/O I/O I/O I/O I/O アクセス禁止 アクセス禁止 アクセス禁止 I/O(C-CAN) I/O(C-CAN) I/O(C-CAN) アクセス禁止 アクセス禁止 アクセス禁止 ダイレクト アドレッシング領域 0000 0400H 0001 0000H 0002 0000H 0002 01B4H 0003 A000 H 0004 0000H 内蔵RAM24Kバイト 内蔵RAM24Kバイト アクセス禁止 アクセス禁止 アクセス禁止 フラッシュメモリ 領域 768Kバイト フラッシュメモリ 領域 768Kバイト 外部領域 付録A I/Oマップを参照 内蔵RAM24Kバイト 0005 0000H 0011 0000H アクセス禁止 0020 0000H アクセス禁止 外部領域 FFFF FFFFH 各モードの設定は , INITX ネゲート後のモードベクタフェッチにより決定します ( モードの設定に関しては , 「3.10 動作モード」の「■モード設定」を参照 )。 30 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.3 内部アーキテクチャ MB91220 シリーズ 3.3 内部アーキテクチャ MB91220 シリーズ CPU は , RISC アーキテクチャを採用すると同時に , 組込み用途 に向けた高機能命令を導入した高性能コアです。 ■ 内部アーキテクチャの特長 ● RISC アーキテクチャの採用 基本命令 1 命令 1 サイクル ● 32 ビットアーキテクチャ 汎用レジスタ 32 ビット× 16 本 ● 4G バイトのリニアなメモリ空間 ● 乗算器の搭載 32 ビット× 32 ビット乗算 5 サイクル 16 ビット× 16 ビット乗算 3 サイクル ● 割込み処理機能の強化 高速応答速度 (6 サイクル ) 多重割込みのサポート レベルマスク機能 (16 レベル ) ● I/O 操作用命令の強化 メモリ−メモリ間転送命令 ビット処理命令 ● 高いコード効率 基本命令語長 16 ビット ● 低消費電力 スリープモード・ストップモード ● クロック分周比設定機能 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 31 第 3 章 CPU および制御部 3.3 内部アーキテクチャ MB91220 シリーズ ■ 内部アーキテクチャ FR ファミリの CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構 造を採用しています。 32 ビット ↔ 16 ビットバスコンバータは 32 ビットバス (F-bus) に接続され , CPU と周 辺リソースとのインタフェースを実現します。ハーバード ↔ プリンストンバスコン バータは I-bus, D-bus 双方に接続され , CPU とバスコントローラとのインタフェースを 実現します。 図 3.3-1 内部アーキテクチャ FR CPU I-bus 内蔵RAM D-bus 32 内蔵ROM 32 32 32 ハーバード↔プリンストン バスコンバータ F-bus 32 32 X-bus 32 32 外部バス 16 アドレス 32ビット ↔ 16ビット バスコンバータ バスコントローラ データ 16 16 R-bus 周辺機器/ポート ( 注意事項 ) MB91220 シリーズでは , 外部バスインタフェース使用時のアドレス幅は 16 ビットまでで す。 32 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.3 内部アーキテクチャ MB91220 シリーズ ■ CPU CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの です。 1 サイクルあたり 1 命令を実行するため , 5 段階の命令パイプライン方式を採用してい ます。パイプラインは以下のステージから構成されています。 • 命令フェッチ (IF) … 命令アドレスを出力し , 命令をフェッチします。 • 命令デコード (ID) … フェッチした命令をデコードします。レジスタの読出 しも行います。 • 実行 (EX) … 演算を実行します。 • メモリアクセス (MA) … メモリに対するロードまたはストアのアクセスを行い ます。 • ライトバック (WB) … 演算結果 ( またはロードされたメモリデータ ) をレジ スタに書込みます。 図 3.3-2 命令パイプライン クロック 命令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 命令の速度で行われます。ただし , メモリ ウェイトを伴ったロード・ストア命令 , 遅延スロットを持たない分岐命令 , 複数サイク ル命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い場 合も命令の実行速度が低下します。 ■ 32 ビット ←→ 16 ビット バスコンバータ 32 ビット幅で高速アクセスされる F-bus と 16 ビット幅でアクセスされる R-bus でイン タフェースを行い , CPU から内蔵周辺回路へのデータアクセスを実現します。 CPU から 32 ビット幅のアクセスがあった場合 , このバスコンバータがそれを 2 回の 16 ビット幅アクセスに変換して R-bus へのアクセスを行います。内蔵周辺回路の一部に はアクセス幅に関して制限のあるものがあります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 33 第 3 章 CPU および制御部 3.3 内部アーキテクチャ MB91220 シリーズ ■ ハーバード ←→ プリンストン バスコンバータ CPU の命令アクセスとデータアクセスの整合をとり , 外部バスとのスムーズなインタ フェースを実現します。 CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構造です。一方 , 外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構 造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス アクセス順位が常に最適化されたものになります。 ■ 命令概要 FR ファミリは , 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理演算 とビット操作およびダイレクトアドレッシング命令をサポートしています。各命令は 16 ビット長 ( 一部命令は 32, 48 ビット長 ) ですので , 優れたメモリ使用効率を持ちます。 命令セットは以下の機能グループに分けることができます。 • 算術演算 • ロードとストア • 分岐 • 論理演算とビット操作 • ダイレクトアドレッシング • その他 ● 算術演算 標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や , アドレス計算に便利なフラグ値を変化させない演算も可能です。 さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令および 32 ビット÷ 32 ビットのステップ除算命令を持ちます。また , レジスタに即値をセットする即値転送命 令や , レジスタ間転送命令も備えています。 算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを用いて演算を行 います。 ● ロードとストア ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内 の周辺リソース (I/O) への読出しと書込みにも使用されます。 ロードとストアはバイト , ハーフワード , ワードの 3 種類のアクセス長を持ちます。ま た一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令についてはディ スプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付きレ ジスタ間接のメモリアドレッシングも可能です。 ● 分岐 分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットを持つものと 持たないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細につ いては「3.8 分岐命令」を参照してください。 34 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.3 内部アーキテクチャ MB91220 シリーズ ● 論理演算とビット操作 論理演算命令は汎用レジスタ間 , または汎用レジスタとメモリ ( および I/O) 間で AND, OR, EOR の論理演算を行うことが可能です。またビット操作命令はメモリ ( および I/O) の内容を直接操作することができます。メモリアドレッシングは一般的なレジスタ間接 です。 ● ダイレクトアドレッシング ダイレクトアドレッシング命令は I/O と汎用レジスタ間 , または I/O とメモリ間のアク セスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定す ることにより , 高速 , 高効率なアクセスを行うことができます。一部の命令については レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシングも 可能です。 ● その他 PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また , 高級言語対応の関数入口 / 出口 , レジスタマルチロード / ストア命令も備えています。 <注意事項> CPU の処理能力はフラッシュウェイトレジスタ (FLWC) の設定にも影響を受けます。必 ずレジスタの設定を最適な値にしてご利用ください。 「28.2 フラッシュメモリのレジス タ」もご参照ください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 35 第 3 章 CPU および制御部 3.4 プログラミング・モデル 3.4 MB91220 シリーズ プログラミング・モデル 基本プログラミングモデルと各レジスタについて説明します。 ■ 基本プログラミングモデル 図 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 乗除算結果レジスタ 36 MDH MDL FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ 3.4.1 レジスタ 各レジスタについて説明します。 ■ 汎用レジスタ 図 3.4-2 汎用レジスタ 32 ビット 初期値 XXXX XXXXH ...... ...... ............... R0 R1 R12 R13 R14 R15 AC FP SP XXXX XXXXH 0000 0000H レジスタ R0 ∼ R15 は汎用レジスタです。各種演算におけるアキュムレータ , およびメ モリアクセスのポインタとして使用されます。 16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために 一部の命令が強化されています。 R13 : 仮想アキュムレータ (AC) R14 : フレームポインタ (FP) R15 : スタックポインタ (SP) リセットによる初期値は , R0 ∼ R14 は不定です。R15 は , "00000000H" (SSP の値 ) とな ります。 ■ PS (Program Status) プログラムステータスを保持するレジスタで , ILM, SCR と CCR の 3 つのパートに分か れています。 図中 , 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。 書込みは無効です。 bit31 bit20 bit16 bit10 bit8 bit7 ILM SCR bit0 CCR − : 未定義ビット CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 37 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ ■ CCR (Condition Code Register) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − − S I N Z V C --00XXXXB [bit5] S : スタックフラグ R15 として使用されるスタックポインタを指定します。 値 内容 0 SSP が R15 として使用されます。 EIT 発生時 , 自動的に "0" となります ( ただし , スタックに退避される値はクリアされる前の値です )。 1 USP が R15 として使用されます。 リセットにより "0" にクリアされます。 RETI 命令実行時は "0" にしてください。 [bit4] I : 割込み許可フラグ ユーザ割込み要求の許可・禁止を制御します。 値 内容 0 ユーザ割込み禁止。 INT 命令実行時 , "0" にクリアされます ( ただし , スタック退避させる値はクリアする前の値です )。 1 ユーザ割込み許可。 ユーザ割込み要求のマスク処理は , ILM の保持する値により制御され ます。 リセットにより "0" にクリアされます。 [bit3] N : ネガティブフラグ 演算結果を "2" の補数で表現された整数とみなしたときの符号を示します。 値 内容 0 演算結果が正の値であったことを示します。 1 演算結果が負の値であったことを示します。 リセットによる初期状態は不定です。 38 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ [bit2] Z : ゼロフラグ 演算結果が "0" であったかどうかを示します。 値 内容 0 演算結果が "0" 以外の値であったことを示します。 1 演算結果が "0" であったことを示します。 リセットによる初期状態は不定です。 [bit1] V : オーバフローフラグ 演算に用いたオペランドを "2" の補数で表現される整数であるとみなし , 演算の結 果 , オーバフローが発生したかどうかを示します。 値 内容 0 演算の結果 , オーバフローは発生していないことを示します。 1 演算の結果 , オーバフローが発生したことを示します。 リセットによる初期状態は不定です。 [bit0] C : キャリフラグ 演算により , 最上位ビットからのキャリ , またはボローが発生したかどうかを示し ます。 値 内容 0 キャリもボローも発生していないことを示します。 1 キャリまたはボローが発生したことを示します。 リセットによる初期状態は不定です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 39 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ ■ SCR (System Condition code Register) bit10 bit9 bit8 初期値 D1 D0 T XX0B [bit10, bit9] D1, D0 : ステップ除算用フラグ ステップ除算実行時の中間データを保持します。 除算処理の実行途中に , 変更してはいけません。 ステップ除算実行途中にほかの処理を行う場合は , PS レジスタの値を退避・復帰す ることによりステップ除算の再開が保証されます。 リセットによる初期状態は不定です。 DIV0S 命令の実行により被除数と除数を参照して設定されます。 DIV0U 命令の実行により , 強制的にクリアされます。 [bit8] T : ステップトレーストラップフラグ ステップトレーストラップを有効にするかどうかを指定するフラグです。 値 内容 0 ステップトレーストラップ無効 1 ステップトレーストラップ有効 このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となりま す。 リセットにより "0" に初期化されます。 ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使用 時 , ユーザプログラム中に使用することはできません。 40 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ ■ ILM bit20 bit19 bit18 bit17 bit16 初期値 ILM4 ILM3 ILM2 ILM1 ILM0 01111B 割込みレベルマスク値を保持するレジスタで , この ILM の保持する値がレベルマスク に使用されます。 CPU に入力される割込み要求の中で , 対応する割込みレベルが ILM で示されるレベル よりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0(00000B) が最強で , 31(11111B) が最弱です。 プログラムから設定可能な値には制限があります。 元の値が 16 ∼ 31 のとき 新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行すると , ( 指定した値 +16) という値が転送されます。 元の値が 0 ∼ 15 のとき 0 ∼ 31 の任意の値が設定可能です。 リセットにより , 15(01111B) に初期化されます。 ■ PS レジスタに関する注意事項 一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッガ 使用時に割込み処理ルーチンでブレークしたり , PS フラグの表示内容が更新されたり する場合があります。いずれの場合も , EIT から復帰後以降に正しく再処理を行うよう に設計されていますので , EIT 前後の動作は仕様どおりの処理を行います。 • DIV0U/DIV0S 命令の直前の命令で , (a) ユーザ割込みを受け付けた場合 , (b) ステッ プ実行を行った場合 , (c) データイベントまたはエミュレータメニューにてブレーク した場合 , 以下のような動作を行う場合があります。 (1) D0, D1 フラグが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み・NMI またはエミュレータ ) を実行します。 (3) EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0/D1 フラグが (1) と同じ値に 更新されます。 • ユーザ割込み要因が発生している状態で割込みを許可するために OR CCR, ST ILM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み ) を実行します。 (3) EITから復帰後, 上記命令が実行され, PSレジスタが(1)と同じ値に更新されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 41 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ ■ PC (Program Counter) bit31 bit0 初期値 XXXXXXXXH PC [bit31 ∼ bit0] プログラムカウンタで実行している命令のアドレスを示しています。 命令の実行を伴う PC の更新時に bit0 は "0" に設定されます。bit0 が "1" になる可能 性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , そ の場合でも bit0 は無効であり , 命令は 2 の倍数のアドレスに置く必要があります。 リセットによる初期値は不定です。 ■ TBR (Table Base Register) bit31 bit0 初期値 000FFC00H TBR テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アドレス を保持します。 リセットによる初期値は , "000FFC00H" です。 ■ RP (Return Pointer) bit31 bit0 初期値 XXXXXXXXH RP リターンポインタで , サブルーチンから復帰するアドレスを保持します。 CALL 命令実行時 , PC の値がこの RP に転送されます。 RET 命令実行時 , RP の内容が PC に転送されます。 リセットによる初期値は不定です。 ■ SSP (System Stack Pointer) bit31 bit0 初期値 00000000H SSP SSP は , システムスタックポインタです。 S フラグが "0" のとき , R15 として機能します。SSP を明示的に指定することも可能で す。また , EIT 発生時に , PS と PC を退避するスタックを指定するスタックポインタと しても使用されます。 リセットによる初期値は "00000000H" です。 42 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.4 プログラミング・モデル MB91220 シリーズ ■ USP (User Stack Pointer) bit31 bit0 初期値 XXXXXXXXH USP USP は , ユーザスタックポインタです。 S フラグが "1" のとき , R15 として機能します。 USP を明示的に指定することも可能です。 リセットによる初期値は不定です。 RETI 命令で使用することはできません。 ■ 乗除算レジスタ (Multiply & Divide register) bit31 bit0 MDH MDL 乗除算用のレジスタで , 各々 32 ビット長です。 リセットによる初期値は不定です。 乗算実行時 32 ビット× 32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除 算結果格納レジスタに格納されます。 MDH …… 上位 32 ビット MDL …… 下位 32 ビット 16 ビット× 16 ビットの乗算のときは , 以下のように結果が格納されます。 MDH …… 不定 MDL …… 結果 32 ビット 除算実行時 計算開始時 , 被除数を MDL に格納します。 DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果 が MDL と MDH に格納されます。 MDH …… 剰余 MDL …… 商 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 43 第 3 章 CPU および制御部 3.5 データ構造 3.5 MB91220 シリーズ データ構造 FR ファミリのデータ配置には , 次の 2 つがあります。 • ビットオーダリング • バイトオーダリング ■ ビットオーダリング FR ファミリでは , ビットオーダリングとしてリトルエンディアンを採用しています。 図 3.5-1 ビットオーダリングのビット構成 bit 31 29 30 27 28 25 26 23 24 21 22 19 20 17 18 15 16 13 14 11 12 9 10 7 8 MSB 5 6 3 4 1 2 0 LSB ■ バイトオーダリング FR ファミリでは , バイトオーダリングとしてビッグエンディアンを採用しています。 図 3.5-2 バイトオーダリングのビット構成 メモリ bit 7 n 番地 MSB LSB bit31 bit23 bit15 bit7 bit0 10101010B 11001100B 11111111B 00010001B bit 0 10101010B (n + 1) 番地 11001100B (n + 2) 番地 11111111B (n + 3) 番地 00010001B 44 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.6 ワードアライメント MB91220 シリーズ 3.6 ワードアライメント 命令やデータはバイト単位でアクセスするため , 配置するアドレスは命令長やデー タ幅で異なります。 ■ プログラムアクセス FR ファミリのプログラムは , "2" の倍数のアドレスに配置する必要があります。 PC の bit0 は , 命令の実行に伴う PC の更新時に "0" に設定されます。"1" になる可能性 があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , その場 合でも bit0 は無効であり , 命令は "2" の倍数のアドレスに置かなくてはなりません。 奇数アドレス例外はありません。 ■ データアクセス FR ファミリでは , データアクセスを行う際 , その幅により以下のように強制的なアラ イメントがアドレスに対して施されます。 • ワードアクセス : アドレスは , "4" の倍数 ( 最下位 2 ビットは強制的に "00B") • ハーフワードアクセス: アドレスは , "2" の倍数 ( 最下位ビットは強制的に "0") • バイトアクセス : 任意のアドレスが使用されます。 ワードアクセスおよびハーフワードアクセス時に , 一部のビットが強制的に "0" にされ るのは , 実効アドレスの計算結果に対してです。例えば , @(R13,Ri) のアドレッシング モードの場合 , 加算前のレジスタは ( たとえ最下位ビットが "1" であっても ) そのまま 計算に使用され, 加算結果の下位ビットがマスクされます。計算前のレジスタがマスク されるわけではありません。 [例] LD @ (R13, R2), R0 R13 00002222H R2 00000003H +) 加算結果 00002225H アドレス端子 00002224H 下位2ビット強制マスク CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 45 第 3 章 CPU および制御部 3.7 メモリマップ 3.7 MB91220 シリーズ メモリマップ MB91220 シリーズのメモリマップについて説明します。 ■ メモリマップ 図 3.7-1 にメモリマップを示します。 図 3.7-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を書き換えることにより任意のアドレ スに配置可能ですが , リセットによる初期化によって , このアドレスに配置されます。 46 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.8 分岐命令 MB91220 シリーズ 3.8 分岐命令 FR ファミリでは , 分岐命令によって遅延スロット付きの動作と遅延スロットなしの 動作を指定します。 ■ 遅延スロット付き動作 ● 命令 以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。 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 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 ● 動作説明 遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅延 スロット」とよびます ) に置かれた命令を実行した後に分岐します。 分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル となります。その代わり , 遅延スロットに有効な命令を入れることができないときは , NOP 命令を置いてください。 [例] ; 命令の並び ADD R1, R2 ; BRA:D LABEL ; 分岐命令 MOV R2, R3 ; 遅延スロット……分岐の前に実行される … R3,@R4 ; 分岐先 LABEL: ST 条件分岐命令の場合 , 分岐条件が成立する場合も成立しない場合も遅延スロットに置 かれた命令は実行されます。 遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の 更新動作だけについてであり , その他の動作 ( レジスタの更新・参照など ) はあくまで 記述された順番で実行されます。 以下に , 具体的な説明をします。 • JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は, 遅延スロットの中の命令が Riを更 新しても影響を受けません。 [例] LDI:32 #Label, JMP:D @R0 LDI:8 #0, R0 ; Label に分岐 R0 ; 分岐先アドレスには影響を与えない。 … • RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響を 受けません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 47 第 3 章 CPU および制御部 3.8 分岐命令 MB91220 シリーズ [例] ; これより前に設定された RP の示すアドレスへ分岐 RET:D MOV R8, RP ; リターン動作には影響を与えない。 … • Bcc:D rel 命令が参照するフラグも遅延スロットの命令の影響を受けません。 [例] R0 ; フラグ変化 ADD #1, BC:D Overflow ; 上記の命令の実行結果により分岐 AND CCR#0 ; このフラグ更新は上記分岐命令では参照しない。 … • CALL:D 命令の遅延スロット中の命令で RP を参照すると , CALL:D 命令により更新 された内容が読み出されます。 [例] ; RP を更新して分岐 CALL:D Label MOV RP, R0 ; 上記 CALL:D の実行結果の RP を転送 … ● 制限事項 1. 遅延スロットにおける命令 遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。 • 1 サイクル命令 • 分岐命令ではないこと • 順番が変化した場合でも動作に影響を与えない命令 「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」, 「a」, 「b」, 「c」 または「d」と記載された命令です。 2. ステップトレーストラップ 遅延スロットを持つ分岐命令の実行と遅延スロットの間では , ステップトレースト ラップは発生しません。 3. 割込み・NMI 遅延スロットを持つ分岐命令の実行と遅延スロットの間では , 割込み・NMI を受理 しません。 4. 未定義命令例外 遅延スロットに未定義命令があった場合 , 未定義命令例外は発生しません。このと き , 未定義命令は NOP 命令として動作します。 48 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.8 分岐命令 MB91220 シリーズ ■ 遅延スロットなし動作 ● 命令 以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。 JMP @Ri CALL label12 CALL @Ri RET BRA label9 BNO label9 BEQ label9 BNE label9 BC label9 BNC label9 BN BP BV label9 BNV label9 BLT label9 BGE label9 BLE label9 BGT label9 BLS BHI label9 label9 label9 label9 ● 動作説明 遅延スロットなしの動作では , あくまで命令の並びの順に実行します。直後の命令が分 岐前に実行されることはありません。 [例] ; 命令の並び ADD R1, R2 ; BRA LABEL ; 分岐命令 ( 遅延スロットなし ) MOV R2, R3 ; 実行されない … LABEL: ST R3, @R4 ; 分岐先 遅延スロットなしの分岐命令の実行サイクル数は , 分岐するとき 2 サイクル , 分岐しな いとき 1 サイクルとなります。 遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , そ うでないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率を 両立させることが可能となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 49 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) 3.9 MB91220 シリーズ EIT ( 例外・割込み・トラップ ) EIT とは , 現プログラム実行時にイベントの発生により , そのプログラムの実行を中断 してほかのプログラムを実行することを指し , 例外 (Exception), 割込み (Interrupt), トラップ (Trap) の総称です。 ■ EIT ( 例外 , 割込み , トラップ ) 例外とは実行中のコンテキストに関連して発生する事象です。例外を起こした命令か ら再実行します。 割込みとは実行中のコンテキストとは無関係に発生する事象です。イベント要因は , ハードウェアです。 トラップとは実行中のコンテキストに関連して発生する事象です。システムコールの ようにプログラムで指示するものがあります。トラップを起こした命令の次の命令か ら再実行します。 ■ EIT ( 例外・割込み・トラップ ) の特長 • 割込みに多重割込みをサポート • 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 ) • トラップ命令 (INT) • エミュレータ起動用 EIT( ハードウェア / ソフトウェア ) ■ EIT 要因 EIT 要因として , 次のものがあります。 • リセット • ユーザ割込み ( 内部リソース , 外部割込み ) • NMI • 遅延割込み • 未定義命令例外 • トラップ命令 (INT) • トラップ命令 (INTE) • ステップトレーストラップ • コプロセッサ不在トラップ • コプロセッサエラートラップ ■ EIT からの復帰 EIT からの復帰には , RETI 命令を使用します。 50 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 3.9.1 割込みレベル 割込みレベルは 0 ∼ 31 まであり , 5 ビットで管理されます。 ■ EIT の割込みレベル 各レベルの割当ては以下のとおりです。 表 3.9-1 割込みレベル レベル 2 進数 10 進数 00000B 0 割込み要因 注意事項 ( システム予約 ) … … … 00011B 3 ( システム予約 ) 00100B 4 INTE 命令 ステップトレーストラップ 00101B 5 ( システム予約 ) … … … 01110B 14 ( システム予約 ) 01111B 15 NMI( ユーザ用 ) 10000B 16 割込み 10001B 17 割込み … … … 11110B 30 割込み 11111B 31 ─ ILM の元の値が 16 ∼ 31 のとき , この範囲の値をプログラムにより ILM に設定することはできません。 ─ ILM 設定時 , ユーザ割込み禁止 ─ ICR 設定時 , 割込み禁止 操作が可能なのは , 16 ∼ 31 のレベルです。 未定義命令例外 , コプロセッサ不在トラップ , コプロセッサエラートラップ , INT 命令 は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。 ■ I フラグ 割込みの許可・禁止を指定するフラグです。PS レジスタの CCR の bit4 として設けら れています。 値 CM71-10142-5 内容 0 割込み禁止 INT 命令実行時 "0" にクリアされます ( ただし , スタック退避させる値はクリアする前の値です )。 1 割込み許可 割込み要求のマスク処理は , ILM の保持する値により制御されます。 FUJITSU SEMICONDUCTOR LIMITED 51 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ ■ 割込みレベルマスク (ILM) 割込みレベルマスク値を保持する PS レジスタ (bit20 ∼ bit16) です。 CPU に入力される割込み要求の中で , 対応する割込みレベルが , この ILM で示される レベルよりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0 (00000B) が最強で , 31(11111B) が最弱です。 プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな値 として設定できるのは 16 ∼ 31 です。0 ∼ 15 の値を設定する命令を実行すると , ( 指定 した値 +16) という値が転送されます。 元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値が設定可能です。設定するには ST ILM 命令を使用します。 ■ 割込み・NMI に対するレベルマスク NMI および割込み要求が発生したときは , 割込み要因の持つ割込みレベル ( 表 3.9-1) が ILM の保持するレベルマスク値と比較されます。そして , 次の条件が成立したときは マスクされ , 要求は受理されません。 要因の持つ割込みレベル ≧ レベルマスク値 52 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 3.9.2 ICR (Interrupt Control Register) 割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを 設定します。ICR は割込み要求入力の各々に対応して用意されています。ICR は I/O 空間にマッピングされており , CPU からはバスを通してアクセスされます。 ■ 割込み制御レジスタ (ICR) 図 3.9-1 に , 割込み制御レジスタ (ICR) のビット構成を示します。 図 3.9-1 割込み制御レジスタ (ICR) のビット構成 ICR ( アクセス : Byte,Half-word,Word) bit7 − bit6 − bit5 − bit4 ICR4 R1,WX R1,WX R1,WX R1,WX bit3 bit2 bit1 bit0 初期値 ---11111B ICR3 ICR2 ICR1 ICR0 R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit4] ICR4 常に "1" です。 [bit3 ∼ bit0] ICR3 ∼ ICR0 対応する割込み要因の割込みレベルの下位 4 ビットです。読出しおよび書込みが可 能です。 bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。 ■ 割込み制御レジスタ (ICR) のマッピング 表 3.9-2 割込み要因と割込み制御レジスタ , 割込みベクタ 対応する割込みベクタ 割込み要因 番号 割込み制御レジスタ 16 進 10 進 アドレス IRQ00 ICR00 00000440H 10H 16 TBR + 3BCH IRQ01 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 TBR 初期値 : "000F FC00H" ( 注意事項 ) 「第 5 章 割込みコントローラ」を参照してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 53 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) 3.9.3 MB91220 シリーズ SSP (System Stack Pointer) SSP が , EIT の受理および復帰動作時のデータ退避・復帰用スタックを示すポイン タとして使用されます。 ■ システムスタックポインタ (SSP) システムスタックポインタ (SSP) は , 32 ビットから構成されています。 図 3.9-2 に , システムスタックポインタ (SSP) のビット構成を示します。 図 3.9-2 システムスタックポインタ (SSP) のビット構成 bit31 bit0 初期値 00000000H SSP EIT 処理時にデータから 8 引いた値が SSP に格納され , RETI 命令により SSP に 8 加え たデータとともに EIT から復帰します。 リセットによる初期値は "00000000H" です。 SSP は , CCR 中の S フラグが "0" のとき , 汎用レジスタ R15 としても機能します。 ■ 割込みスタック SSP により示される領域で , PC および PS の値が退避・復帰されます。割込み後は SSP の示すアドレスに PC, (SSP+4) のアドレスに PS が格納されています。 図 3.9-3 割込みスタック [例] [ 割込み前 ] SSP 80000000H [ 割込み後 ] SSP 7FFFFFF8H メモリ 80000000H 7FFFFFFCH 7FFFFFF8H 54 80000000H 7FFFFFFCH 7FFFFFF8H FUJITSU SEMICONDUCTOR LIMITED PS PC CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 3.9.4 TBR (Table Base Register) EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。 ■ テーブルベースレジスタ (TBR) テーブルベースレジスタ (TBR) は , 32 ビットから構成されています。 図 3.9-4 に , テーブルベースレジスタ (TBR) のビット構成を示します。 図 3.9-4 テーブルベースレジスタ (TBR) のビット構成 bit31 bit0 初期値 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" の領域がリセットによるベクタテーブルの初期領域です。 ベクタの一部には特殊な機能が割り当てられています。なお , アーキテクチャ上のベク タテーブルを表 3.9-3 に示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 55 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 表 3.9-3 ベクタテーブル (1 / 3) 割込み番号 割込み要因 割込みレベル オフセット TBR デフォルト のアドレス 10 進 16 進 リセット *1 0 00 − 3FCH 000FFFFCH モードベクタ *1 1 01 − 3F8H 000FFFF8H システム予約 2 02 − 3F4H 000FFFF4H システム予約 3 03 − 3F0H 000FFFF0H システム予約 4 04 − 3ECH 000FFFECH システム予約 5 05 − 3E8H 000FFFE8H システム予約 6 06 − 3E4H 000FFFE4H コプロセッサ不在トラップ 7 07 − 3E0H 000FFFE0H コプロセッサエラートラップ 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 15(FH) 固定 3C0H 000FFFC0H マスク可能要因 *2 16 10 ICR00 3BCH 000FFFBCH マスク可能要因 *2 17 11 ICR01 3B8H 000FFFB8H マスク可能要因 *2 18 12 ICR02 3B4H 000FFFB4H マスク可能要因 *2 19 13 ICR03 3B0H 000FFFB0H マスク可能要因 *2 20 14 ICR04 3ACH 000FFFACH マスク可能要因 *2 21 15 ICR05 3A8H 000FFFA8H マスク可能要因 *2 22 16 ICR06 3A4H 000FFFA4H マスク可能要因 *2 23 17 ICR07 3A0H 000FFFA0H リロードタイマ 0 24 18 ICR08 39CH 000FFF9CH リロードタイマ 1 25 19 ICR09 398H 000FFF98H リロードタイマ 2 26 1A ICR10 394H 000FFF94H マスク可能要因 *2 27 1B ICR11 390H 000FFF90H マスク可能要因 *2 28 1C ICR12 38CH 000FFF8CH マスク可能要因 *2 29 1D ICR13 388H 000FFF88H マスク可能要因 *2 30 1E ICR14 384H 000FFF84H マスク可能要因 *2 31 1F ICR15 380H 000FFF80H マスク可能要因 *2 32 20 ICR16 37CH 000FFF7CH 56 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 表 3.9-3 ベクタテーブル (2 / 3) 割込み番号 割込み要因 割込みレベル オフセット TBR デフォルト のアドレス 10 進 16 進 マスク可能要因 *2 33 21 ICR17 378H 000FFF78H マスク可能要因 *2 34 22 ICR18 374H 000FFF74H マスク可能要因 *2 35 23 ICR19 370H 000FFF70H マスク可能要因 *2 36 24 ICR20 36CH 000FFF6CH マスク可能要因 *2 37 25 ICR21 368H 000FFF68H マスク可能要因 *2 38 26 ICR22 364H 000FFF64H マスク可能要因 *2 39 27 ICR23 360H 000FFF60H マスク可能要因 *2 40 28 ICR24 35CH 000FFF5CH マスク可能要因 *2 41 29 ICR25 358H 000FFF58H マスク可能要因 *2 42 2A ICR26 354H 000FFF54H マスク可能要因 *2 43 2B ICR27 350H 000FFF50H マスク可能要因 *2 44 2C ICR28 34CH 000FFF4CH マスク可能要因 *2 45 2D ICR29 348H 000FFF48H マスク可能要因 *2 46 2E ICR30 344H 000FFF44H タイムベースタイマオーバフロー 47 2F ICR31 340H 000FFF40H マスク可能要因 *2 48 30 ICR32 33CH 000FFF3CH マスク可能要因 *2 49 31 ICR33 338H 000FFF38H マスク可能要因 *2 50 32 ICR34 334H 000FFF34H マスク可能要因 *2 51 33 ICR35 330H 000FFF30H マスク可能要因 *2 52 34 ICR36 32CH 000FFF2CH マスク可能要因 *2 53 35 ICR37 328H 000FFF28H マスク可能要因 *2 54 36 ICR38 324H 000FFF24H マスク可能要因 *2 55 37 ICR39 320H 000FFF20H マスク可能要因 *2 56 38 ICR40 31CH 000FFF1CH マスク可能要因 *2 57 39 ICR41 318H 000FFF18H マスク可能要因 *2 58 3A ICR42 314H 000FFF14H マスク可能要因 *2 59 3B ICR43 310H 000FFF10H マスク可能要因 *2 60 3C ICR44 30CH 000FFF0CH マスク可能要因 *2 61 3D ICR45 308H 000FFF08H マスク可能要因 *2 62 3E ICR46 304H 000FFF04H 遅延割込み要因ビット 63 3F ICR47 300H 000FFF00H システム予約 (REALOS にて使用 ) 64 40 − 2FCH 000FFEFCH システム予約 (REALOS にて使用 ) 65 41 − 2F8H 000FFEF8H システム予約 66 42 − 2F4H 000FFEF4H CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 57 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 表 3.9-3 ベクタテーブル (3 / 3) 割込み番号 TBR デフォルト のアドレス システム予約 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 80 50 2BCH 000FFEBCH 255 FF INT 命令で使用 − ∼ 16 進 ∼ 10 進 ∼ 割込みレベル オフセット ∼ 割込み要因 000H 000FFC00H *1: TBR の値を変更してもリセットベクタとモードベクタは常に固定アドレス "000FFFFCH", "000FFFF8H" が使用されます。 *2: マスク可能要因は各品種により定義されます。 MB91220 シリーズにおけるベクタテーブルは「付録 B 割込みベクタ」を参照してください。 58 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 3.9.5 多重 EIT 処理 複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を受け付け , EIT シーケンスを実行した後 , 次の EIT 要因の検出を行うという動作を繰り返します。 EIT 要因検出の際に , 受け付けられる EIT 要因がなくなると , CPU は , 最後に受け付 けた EIT 要因に対してハンドラの命令を実行します。 そのため , 複数の EIT 要因が同時に発生した場合 , 各要因のハンドラの実行順序は , 次の 2 つの要素により決定されます。 • EIT 要因を受け付ける優先順位 • EIT 要因を受け付ける場合にほかの要因がどのようにマスクされるか ■ EIT 要因受理の優先度 EIT 要因受理の優先度とは , シーケンスを実行する要因を選ぶときの順番です。複数の EIT 要因が発生した場合 , PS と PC を退避して PC を更新し ( 必要に応じて ) ほかの要 因のマスク処理を行います。必ずしも , 先に受理された要因のハンドラが先に実行され るわけではありません。 EIT 要因受理の優先度は , 表 3.9-4 のようになっています。 表 3.9-4 EIT 要因の受理の優先度とほかの要因へのマスク EIT を受け付け る優先順位 CM71-10142-5 EIT 要因 ほかの要因に対するマスク 1 リセット ほかの要因は破棄されます。 2 未定義命令例外 取り消されます。 3 INTE 命令 ILM = 4 ほかの要因は破棄されます。 4 INT 命令 I フラグ= 0 5 コプロセッサ不在トラップ コプロセッサエラートラップ 6 ユーザ割込み ILM =受け付けた要因のレベル 7 NMI( ユーザ用 ) ILM = 15 8 NMI( エミュレータ用 ) ILM = 4 9 ステップトレーストラップ ILM = 4 ― FUJITSU SEMICONDUCTOR LIMITED 59 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 同時に発生した EIT 要因の各ハンドラの実行順序は , 表 3.9-5 のようになります。 表 3.9-5 EIT ハンドラの実行順序 EIT 要因 ハンドラの実行順序 1 リセット * 2 未定義命令例外 3 INTE 命令 * 4 ステップトレーストラップ 5 NMI ( ユーザ用 ) 6 INT 命令 7 ユーザ割込み 8 コプロセッサ不在トラップ , コプロセッサエラートラップ *: ほかの要因はクリアされます。 [例] 図 3.9-5 多重 EIT 処理 メインルーチン NMI のハンドラ INT 命令の ハンドラ 優先度 ( 高 ) NMI 発生 ( 低 ) INT 命令実行 ①最初に実行 ②次に実行 60 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 3.9.6 EIT の動作 EIT の動作について説明します。 ■ EIT の動作 以下の説明で , 転送元の「PC」とは各 EIT 要因を検出した命令のアドレスを示します。 また , 「次の命令のアドレス」とは , EIT を検出した命令により , 以下を意味します。 • LDI : 32 のとき …… PC + 6 • LDI : 20, COPOP, COPLD, COPST, COPSV のとき …… PC + 4 • その他の命令のとき …… PC + 2 ● ユーザ割込み・NMI の動作 ユーザ割込みまたはユーザ用 NMI の割込み要求が発生すると , 以下の順序で要求受理 の可否が判定されます。 [ 割込み要求受理の可否判定 ] (1) 同時に発生した要求の割込みレベルを比較し, 最も強いレベル(最も小さい数値) を保持するものが選択されます。比較に使用されるレベルは , マスク可能割込み については対応する ICR の保持する値が , NMI についてはあらかじめ定められ た定数が使用されます。 (2) 同じレベルを持つ割込み要求が複数発生しているときは , 最も若い割込み番号 を持つ割込み要求が選択されます。 (3) 割込みレベル ≧ レベルマスク値のとき , 割込み要求はマスクされ受理されませ ん。 割込みレベル < レベルマスク値のとき , (4) へ。 (4) 選択された割込み要求がマスク可能割込みであるとき , I フラグが "0" ならば割 込み要求はマスクされ , 受理されません。I フラグが "1" ならば (5) へ。選択され た割込み要求が NMI であるとき , I フラグの値にかかわらず (5) へ。 (5) 上記の条件が成立したとき , 命令処理の切れ目で割込み要求が受理されます。 EIT 要求検出時にユーザ割込み・NMI の要求が受理されると , 受理された割込み要求に 対応した割込み番号を使用して , CPU は以下のように動作します。 なお , 下記において〔動作〕における ( ) はレジスタの指すアドレスを表します。 [ 動作 ] (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) 次の命令のアドレス → (SSP) (5) 受理した要求の割込みレベル → ILM (6) "0" → S フラグ (7) (TBR +受理した割込み要求のベクタオフセット ) → CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED PC 61 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ 割込みシーケンス終了後 , ハンドラの先頭の命令を実行する前に新たな EIT の検出を 行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス に遷移します。 ● INT 命令の動作 INT #u8 u8 で示されるベクタの割込みハンドラへ分岐します。 [ 動作 ] (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) PC + 2 → (SSP) (5) "0" → I フラグ (6) "0" → S フラグ (7) (TBR + 3FCH − 4 × u8) → PC ● INTE 命令の動作 INTE ベクタ番号 #9 のベクタの割込みハンドラへ分岐します。 [ 動作 ] (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) PC + 2 → (SSP) (5) "00100B" → ILM (6) "0" → S フラグ (7) (TBR + 3D8H) → PC INTE 命令 , およびステップトレーストラップの処理ルーチン中では , INTE 命令は使用 しないでください。また , ステップ実行中は INTE による EIT の発生はありません。 ● ステップトレーストラップの動作 PS 中の SCR における T フラグをセットしてステップトレースの機能を許可にしてお くと , 一命令実行ごとにトラップが発生し , ブレークします。 [ ステップトレーストラップ検出の条件 ] (1) T フラグ = 1 (2) 遅延分岐命令ではないとき (3) INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中であるとき (4) 以上の条件が成立すると , 命令動作の切れ目でブレークします。 62 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ [ 動作 ] (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) 次の命令のアドレス → (SSP) (5) "00100B" → ILM (6) "0" → S フラグ (7) (TBR + 3CCH) → PC T フラグをセットしてステップトレーストラップを許可にしたとき , ユーザ用の NMI とユーザ割込みは禁止状態となります。また , INTE 命令による EIT は発生しなくなり ます。 FR ファミリでは , T フラグをセットした次の命令からトラップが発生します。 ● 未定義命令例外の動作 命令のデコード時に未定義命令であることを検出すると , 未定義命令例外が発生しま す。 [ 未定義命令例外の検出条件 ] ・命令のデコード時に , 未定義命令が検出される。 ・遅延スロット外に置かれている ( 遅延分岐命令の直後ではないこと )。 以上の条件が成立すると , 未定義命令例外が発生し , ブレークします。 [ 動作 ] (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) PC → (SSP) (5) "0" → S フラグ (6) (TBR + 3C4H) → PC PC として退避されるのは , 未定義命令例外を検出した命令自身のアドレスです。 ● コプロセッサ不在トラップ 実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ サ不在トラップが発生します。 [ 動作 ] CM71-10142-5 (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) 次の命令のアドレス → (SSP) (5) "0" → S フラグ (6) (TBR + 3E0H) → PC FUJITSU SEMICONDUCTOR LIMITED 63 第 3 章 CPU および制御部 3.9 EIT ( 例外・割込み・トラップ ) MB91220 シリーズ ● コプロセッサエラートラップ コプロセッサを使用しているときにエラーが発生した場合 , 次にそのコプロセッサを 操作するコプロセッサ命令を実行したとき , コプロセッサエラートラップが発生しま す。 [ 動作 ] (1) SSP − 4 → SSP (2) PS → (SSP) (3) SSP − 4 → SSP (4) 次の命令のアドレス → (SSP) (5) "0" → S フラグ (6) (TBR + 3DCH) → PC ● RETI 命令の動作 RETI 命令は , EIT 処理ルーチンから復帰する命令です。 [ 動作 ] (1) (R15) → PC (2) R15 + 4 → R15 (3) (R15) → PS (4) R15 + 4 → R15 RETI 命令は , S フラグが "0" の状態で実行する必要があります。 ■ 遅延スロットの注意事項 分岐命令の遅延スロットには , EIT に関して制約があります。 「第 3 章 CPU および制御部」の「3.8 分岐命令」を参照してください。 64 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.10 動作モード MB91220 シリーズ 3.10 動作モード MB91220 シリーズの動作モードには , バスモードとアクセスモードがあります。 ■ 動作モード 動作モードには , バスモードとアクセスモードがあります。 バスモード アクセスモード シングルチップ 内 ROM 外バス 外 ROM 外バス 16 ビットバス幅 8 ビットバス幅 ● バスモード バスモードとは , 内部 ROM の動作と外部アクセス機能の動作を制御するモードを指し , モード設定端子 (MD2, MD1, MD0) とモードデータ内の ROMA ビットの内容で指定しま す。 ● アクセスモード アクセスモードとは , 外部データバス幅を制御するモードを示し , モードデータ内の WTH1, WTH0 ビットと ACR0 ∼ ACR3(Area Configuration Register) 内の DBW0 ビット で指定します。 ■ バスモード FR ファミリには , 次に示す 3 つのバスモードがあります。 詳細は 「3.2 メモリマップ」を参照してください。 ● バスモード 0 ( シングルチップモード ) 内部 I/O, 内蔵 RAM, 内蔵 ROM に対して有効です。それ以外の領域へのアクセスは無 効となります。外部端子は周辺リソース , または汎用ポートとして機能します。バス端 子としては機能しません。 ● バスモード 1 ( 内 ROM 外バスモード ) 内部 I/O, 内蔵 RAM, 内蔵 ROM に対して有効です。外部アクセスが可能な領域へのア クセスは外部空間へのアクセスとなります。外部端子の一部はバス端子として機能し ます。 ● バスモード 2 ( 外 ROM 外バスモード ) 内蔵 I/O, 内蔵 RAM が有効で , 内蔵 ROM へのアクセスを禁止にして , 外部アクセスが 可能な領域と内蔵 ROM 空間へのアクセスが外部空間へのアクセスとなるモードです。 外部端子の一部はバス端子として機能します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 65 第 3 章 CPU および制御部 3.10 動作モード MB91220 シリーズ ■ モード設定 FR ファミリでは , モード端子 (MD2, MD1, MD0) とモードデータで動作モードの設定を 行います。 ● モード端子 MD2, MD1, MD0 の 3 端子でモードベクタ , リセットベクタフェッチに関する指定を行 います。 表に示した設定以外は禁止です。 モード端子 MD2, MD1, MD0 リセットベクタ アクセス領域 モード名 000B 内 ROM モードベクタ 内部 ● モードデータ モードベクタフェッチ (「3.11 リセット ( デバイスの初期化 )」の「3.11.4 リセット動 作」を参照 ) によって内部のモードレジスタ (MODR) に書き込むデータをモードデー タとよびます。 モードレジスタに設定が行われた後 , 本レジスタの設定に従った動作モードで動作し ます。 モードデータは , すべてのリセット要因で設定されます。また , ユーザプログラムから は設定することはできません。 図 3.10-1 モードデータの詳細 bit31 bit30 bit29 bit28 bit27 0 0 0 0 0 bit26 bit25 bit24 ROMA WTH1 WTH0 動作モード 設定ビット [bit31 ∼ bit27] 予約ビット 必ず "00000B" を設定してください。 [bit26] ROMA : 内部 ROM イネーブルビット 内蔵 ROM 領域を有効にするかどうかを設定します。 66 ROMA 機能 0 外 ROM モード 内蔵 F-bus RAM は有効 , 内部 ROM 領域 (80000H ∼ 100000H) が外部領域になります。 1 内 ROM モード 内蔵 ROM 領域が有効になります。 備考 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.10 動作モード MB91220 シリーズ [bit25, bit24] WTH1, WTH0( バス幅指定ビット ) 外バスモード時のバス幅指定の設定を行います。 外バスモード時 , この値が ACR0(CS0 領域 ) の DBW0 ビットに設定されます。 WTH1 WTH0 0 0 8 ビットバス幅 0 1 16 ビットバス幅 1 0 1 1 機能 − シングルチップモード <注意事項> モードベクタに設定するモードデータは , "000FFFF8H" にバイトデータとして配置する 必要があります。FR ファミリは , バイトエンディアンとしてビッグエンディアンを採用 していますので , 図のように , bit31 ∼ bit24 の最上位バイトに配置してください。 図 3.10-2 モードデータの注意事項 bit31 bit24 bit23 bit16 bit15 bit8 bit7 bit0 誤 000FFFF8H XXXXXXXX XXXXXXXX XXXXXXXX モードデータ 正 000FFFF8H モードデータ XXXXXXXX XXXXXXXX XXXXXXXX 000FFFFCH CM71-10142-5 リセットベクタ FUJITSU SEMICONDUCTOR LIMITED 67 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11 リセット ( デバイスの初期化 ) リセットが発生すると , CPU は直ちに現在実行中の処理を中断し , リセット解除待 ち状態となります。リセットの解除後は , リセットベクタで示されたアドレスから 処理を開始します。 リセットには次の 4 つの要因があります。 • ウォッチドッグタイマのオーバフロー • CPU 動作検出機能カウンタのオーバフロー • 外部リセット端子からのリセット要求 • ソフトウェアリセット要求 ■ 概要 リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作 を停止し , 状態を初期化します。この状態をリセット状態とよびます。 リセット解除後 , デバイスは初期状態からプログラムおよびハードウェア動作を開始 します。リセット状態から動作開始に至る一連の動作をリセットシーケンスとよびま す。 ■ リセット要因 表 3.11-1 にリセットの要因を示します。 表 3.11-1 リセット要因 発振安定待ち リセット 発生要因 内部発生 リセット タイミング レベル メイン STOP 状態 発振停止 外部端子 INITX 端子への "L" 入力 同期 INIT あり あり ソフトウェア リセット スタンバイ制御レジスタ (STCR) の SRST ビットに "0" 書込み 同期 INIT あり - ウォッチドッグ タイマ ウォッチドッグタイマオーバ フロー 同期 INIT あり - CPU 動作検出 CPU 動作検出カウンタの オーバフロー 同期 INIT あり - リセット要因発生時にはメインクロックとして発振クロックの 2 分周クロックが使用 されます。 ● 外部リセット 外部リセットは , 外部リセット (INITX) 端子に "L" レベルを入力することでリセットを 発生します。 なお , 電源投入時は INITX 端子の入力レベルを "L" とし , 設定初期化リセット (INITX) をかけてください。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するた め , INITX 端子への "L" レベル入力を発振回路の要求する安定待ち時間の間持続してく ださい。 68 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ ● ソフトウェアリセット ソフトウェアリセットはスタンバイ制御レジスタ (STCR) の SRST ビットに "0" を書き 込むことによって , 内部リセットを発生します。 ● ウォッチドッグリセット ウォッチドッグリセットは , ウォッチドッグタイマの起動後 , 定められた時間内に ウォッチドッグリセット発生遅延レジスタ (WPR) へ連続した "A5H", " 5AH" の書込み がない場合に , ウォッチドッグタイマのオーバフローにより発生するリセットです。 ● CPU 動作検出リセット CPU 動作検出リセットは , 電源投入後 , 定められた時間内に CPU 動作検出リセット制 御レジスタ (LVRC) の CL ビットに "0" の書込みがないとき , CPU 動作検出カウンタの オーバフローによってリセットを発生します。 <注意事項> 電源投入時 , 電圧低下発生時以外のリセット要因では , 書込み動作中 ( 転送系命令実行中 ) にリセット要因が発生した場合 , 命令の終了後にリセット解除待ち状態となります。その ため , 書込み中にリセットが入力されても正常に書込みを終了します。ただし , ロードマ ルチ (LDM) 系 , ストアマルチ (STM) 系命令は , 指定したレジスタ分の転送が終了する前に リセットを受け付けますので , すべてのデータが転送されることを保証できません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 69 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11.1 リセット要因と発振安定待ち時間 4 種類のリセット要因があり , リセット時の発振安定待ち時間がリセット要因によっ て異なります。 ■ リセット要因と発振安定待ち時間 表 3.11-2 にリセット要因と発振安定待ち時間を示します。 表 3.11-2 リセット要因と発振安定待ち時間 発振安定待ち時間 リセット 発生要因 メイン発振停止 STOP 状態 外部端子 INITX 端子への "L" 入力 OS ビットの設定値 OS ビットの設定値 ソフトウェア リセット スタンバイ制御レジスタ (STCR) の SRST ビットへの "0" 書込み OS ビットの設定値 - ウォッチドッグ タイマ ウォッチドッグタイマ オーバフロー OS ビットの設定値 - CPU 動作検出 CPU 動作検出カウンタ オーバフロー OS ビットの設定値 - 発振安定待ち時間の確保は , スタンバイ制御レジスタ (STCR) 内の OS (Oscillation Stabilization time select) ビットの設定により行います。 表 3.11-3 に OS1, OS0 の設定と発振安定待ち時間について示します。 表 3.11-3 スタンバイ制御レジスタ (STCR) の設定による発振安定待ち時間 メイン発振 4MHz 時 サブ発振 32.768kHz の場合 (φ/2 の周期 ) φ × 21 ( 初期値 ) 1μs 61μs 1 φ × 211 1ms 62.5ms 1 0 φ × 216 32.7ms 2s 1 1 φ × 214 8ms 0.5s OS1 OS0 0 0 0 発振安定待ち時間 φ : 内部ベースクロックの周期で , メイン発振の 2 倍の周期 <注意事項> セラミックや水晶などの振動子は , 発振を開始してから固有の振動数に安定するまで一般 的に数 ms から十数 ms の発振安定待ち時間を必要とします。そのため , 使用する振動子 に合わせた値を設定してください。 S サフィックスがある製品はサブクロックをサポートしません。 70 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ ■ 電源投入時の発振安定待ち時間について 電源投入時は INITX 端子の入力レベルを "L" としてください。電源投入時の "L" レベ ル入力期間は ( 振動子の発振時間 ) + (10 ×ベースクロック ) +12μs ( 内部降圧回路安定 待ち時間 ) 以上を確保してください。また内部回路にたいしてはパワーオン安定待ち 時間 (217 ×ベースクロック ) が確保されます。その後は , OS ビットに設定された値を 発振安定待ち時間として確保します。 図 3.11-1 外部リセットと内部動作の関係図 ( パワーオン待ち時間> INITX "L" 期間 ( 推奨 ) ) VCC CLK INITX a b CPU動作 a :振動子の発振時間 b :10xベースクロック+12μs パワーオン安定 待ち時間 発振安定 待ち時間 図 3.11-2 外部リセットと内部動作の関係図 ( パワーオン待ち時間> INITX "L" 期間 ( 推奨 ) ) VCC CLK INITX a b CPU動作 a b パワーオン安定 :振動子の発振時間 :10xベースクロック+12μs 待ち時間 発振安定 待ち時間 ■ ストップモード中の INITX 端子による復帰について ストップモード中の INITX 端子による復帰は , INITX 端子への "L" レベル入力時間を 12μs以上確保してください(RESET解除後, OSビットの設定時間を待って復帰します)。 ■ ストップモード中の外部割込みによる復帰について ストップモード中の外部割込みによる復帰は , レベル検出時間を 12μs 以上確保してく ださい ( 割込み後 , OS ビットの設定時間を待ってストップモードから復帰します )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 71 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11.2 リセットレベル MB91220 のリセット動作は 2 種類のレベルに分けられ , それぞれ発生要因および初 期化の内容が異なります。以下 , 各リセットレベルについて説明します。 ■ 設定初期化リセット (INIT) すべての設定を初期化する最強レベルのリセットです。 外部端子入力 , ウォッチドッグリセット , ソフトウェアリセット , CPU 動作検出による リセットがこの設定初期化リセットに相当します。設定初期化リセット (INIT) 発生時 には , 同時に動作初期化リセット (RST) も発生します。 設定初期化リセット (INIT) により初期化される内容は次のとおりです。 • デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) • クロック生成 / 制御に関する設定 - クロックソース選択 (CLKS: メインクロック 2 分周 ) - クロック分周設定 ( 周辺 : × 4, CPU: × 1, 外部バス : × 1) - ウォッチドッグタイマ周期 (WT1, WT0: 216 ×ベースクロック周期 ) *1 - 発振安定待ち時間 (OS1, OS0: 21 ×ベースクロック周期 ) *2 - ストップ時発振抑止 (OSCD1: ストップ中メインクロック発振を停止 ) - タイムベースタイマ割込み (TBIE: 禁止 ) - メイン PLL 逓倍率 (PLL1S: × 1) - PLL 動作許可 (PLL1E:PLL 停止 ) • 外部バスの CS0 領域に関するすべての設定 - 領域選択レジスタ (ASR0: 開始アドレス "0") - 領域サイズ (ASZ:512K バイト ) - データバス幅 ( モードデータの値が反映されます ) - 書込みイネーブル (WEN: ライトプロテクト ) - アクセスタイプ (TYP: 通常アクセス , WR0X, WR1X 端子をライトストローブとし て使用 , WRX は "H" 固定 , RDY 端子による WAIT 挿入無効 ) • ストップ時端子状態制御ビットは , HIZ=1:Hi-Z 状態です。 • 動作初期化リセット (RST) で初期化されるすべての設定 *1: 設定初期化リセット (INIT) 発生により , ウォッチドッグタイマは停止し , 再度プロ グラム動作により起動するまでは機能しません。 *2: パワーオン以外では初期化されません。 72 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ ■ 動作初期化リセット (RST) プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ びます。 設定初期化リセット(INIT)発生時には, 同時に動作初期化リセット(RST)も発生します。 動作初期化リセット (RST) により初期化される内容は以下のとおりです。 • プログラム動作 • CPU および内部バス • クロック生成 / 制御に関する設定 - ウォッチドッグタイマ周期 (WT1, WT0: 216 ×ベースクロック周期 ) - タイムベースタイマ割込み (TBIE: 禁止 ) • 周辺回路のレジスタ設定値 • I/O ポート設定 • デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 73 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11.3 外部リセット端子 外部リセット端子 ( INITX 端子 ) は , リセット入力専用端子で , "L" レベルの入力に よって内部リセットを発生します。このリセットにより内部回路はベースクロック に同期してリセットされますが , 各外部端子は非同期でリセットされます。 ■ 外部リセット端子のブロックダイヤグラム 図 3.11-3 内部リセットのブロックダイヤグラム ベースクロック (PLL逓倍回路, HCLKの2分周) INITX P-ch 端子 P-ch 同期化回路 N-ch クロック同期 内部リセット信号 入力バッファ 書込み動作中のリセットによるメモリ破壊を防ぐため, INITX端子入力による内部回路 の初期化動作をメモリが破壊されないサイクルで行います。また , 内部回路の初期化に はクロックが必要です。外部クロックで動作させる場合には , リセット入力時にクロッ ク入力が必要です。 ■ 外部端子のリセットタイミング 外部リセット INITX 端子入力に対して , 各外部端子は非同期にリセットされます。 74 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11.4 リセット動作 リセットが解除されると , モード端子の設定でモードデータとリセットベクタの読 出し先を選択し , モードフェッチを行います。このモードフェッチで , CPU の動作 モードとリセット動作後の実行開始アドレスが決定されます。電源投入後 , ストッ プからのリセットによる復帰では , 発振安定待ち時間が経過してからモードフェッ チを行います。 ■ リセット動作の概要 図 3.11-4 に , リセット動作フローを示します。 図 3.11-4 リセット動作フロー 電源投入時の外部リセット 外部リセット ソフトウェアリセット ウォッチドッグタイマリセット CPU動作検出リセット リセット中 停止 メイン発振 発振安定待ちリセット状態 動作 モードデータ取込み モードフェッチ (リセット動作) 通常動作 (RUN状態) CM71-10142-5 リセットベクタ取込み リセットベクタが示すアドレスから 命令コードを読み出し, 命令を実行 FUJITSU SEMICONDUCTOR LIMITED 75 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ ■ モード端子 モード端子 (MD0 ∼ MD2) は , リセットベクタとモードデータの取込み方法を指定しま す。リセットベクタとモードデータの取込みはリセットシーケンスで行います。モー ド端子の詳細は「3.10 動作モード」の「■モード設定」を参照してください。 ■ モードフェッチ リセットが解除されると , CPU はリセットベクタとモードデータを CPU コア内の該当 レジスタ内に取り込みます。リセットベクタとモードデータはそれぞれ , "FFFFCH", "FFFF8H" に割り当てられています。CPU は , リセット解除後 , 直ちにこれらのアドレ スを内部バスに出力し , リセットベクタとモードデータを取り込みます。このモード フェッチで , CPU はリセットベクタが指すアドレスから処理を開始します。 76 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11.5 リセット要因ビット リセット発生要因は , ウォッチドッグタイマ制御レジスタ (RSRR) を読み出して識 別することができます。 ■ リセット 図 3.11-5 に示すように , それぞれのリセット要因に対応したフリップフロップがあり ます。これらの内容は , ウォッチドッグタイマ制御レジスタ (RSRR) を読み出すと得ら れます。リセット解除後にリセット発生要因を識別する必要がある場合には , ウォッチ ドッグタイマ制御レジスタ (RSRR) の読出し値をソフトウェアで処理したうえで , 適切 なプログラムへ分岐するようにしてください。 図 3.11-5 リセット要因ビットブロックダイヤグラム 定期的なクリアなし CPU動作 検出リセット 要求検出回路 INITX端子 定期的なクリアなし RSTビットセット 外部リセット 要求検出回路 ウォッチドッグ タイマ制御 レジスタ (RSRR) システムベース クロック D Q CL F/F CK D Q CL F/F CK ウォッチドッグ タイマリセット 発生検出回路 D Q CL F/F CK RSTビット 書込み検出 回路 Q PR パワーオン リセット F/F D CK ウォッチドッグタイマ 制御レジスタ (RSRR)読出し 内部データバス CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 77 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ ■ リセット要因ビットとリセット要因の対応 ウォッチドッグタイマ制御レジスタ (RSRR) のリセット要因ビットの構成を , 図 3.11-6 に , リセット要因ビットの内容とリセット要因の対応を表 3.11-4 に示します。詳細は , 「3.12 クロック生成制御」を参照してください。 図 3.11-6 リセット要因ビットの構成 ( スタンバイ制御レジスタ ) RSRR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 00000480H PON − WDOG ERST SRST − WT1 WT0 R,WX R0,WX R,WX R,WX R,WX R0,WX R/W R/W 初期値 電源投入時 1000 0000B INIT **** **00B RST XXX* *X00B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 表 3.11-4 リセット要因ビットの内容とリセット要因の対応 リセット要因 PON WDOG ERST SRST パワーオンリセットによるリセット要因 1 *1 *1 *1 ウォッチドッグタイマオーバフローによ るリセット要求の発生 *1 1 *1 *1 INITX 端子からの外部リセット要求 , CPU 動作検出リセット要求の発生 *2 *1 *1 1 *1 ソフトウェアリセット要求の発生 *1 *1 *1 1 *1 : 前の状態を保持 *2 : CPU 動作検出リセット要求の発生の場合は , CPU 動作検出リセット制御レジスタ (LVRC) の CPUF ビットが "1" になります。 78 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ ■ リセット要因ビットの注意事項 ● 複数のリセット要因が発生した場合 リセット要因が複数発生する場合は , ウォッチドッグタイマ制御レジスタ (RSRR) の対 応するそれぞれのリセット要因ビットが "1" にセットされます。例えば , INITX 端子か らの外部リセット要求の発生とウォッチドッグタイマのオーバフローが同時に発生し た場合 , ERST ビットと WDOG ビットの両方が "1" になります。 ● リセット要因ビットのクリア リセット要因ビットは , ウォッチドッグタイマ制御レジスタ (RSRR) を読み出したとき のみクリアされます。それぞれのリセット要因に対応するビットに生じたフラグは , そ の後 , ほかの要因でリセットが発生してもクリアされません ("1" のままです )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 79 第 3 章 CPU および制御部 3.11 リセット ( デバイスの初期化 ) MB91220 シリーズ 3.11.6 発振安定待ち要因 発振安定待ち要因について説明します。 ■ リセット (INIT) の解除時 各種要因によるリセットが解除された直後に発振安定待ち状態へ遷移します。 パワーオン時の初期時は発振安定待ち時間は最小値に設定されるため, INITX端子の入 力幅にて安定待ち時間を確保してください。また , メイン RUN およびサブ RUN 中に メイン発振を停止しない場合のウォッチドッグリセットでは , 発振安定待ち時間を確 保しません。ウォッチドッグリセットで発振安定待ち時間を確保するのは , 「■ サブ RUN でメイン発振停止中のウォッチドッグリセット発生時」の場合のみです。 ■ ストップモードからの復帰時 ストップモードが解除された直後に発振安定待ち状態へ遷移します。ただし , リセット (INIT) 要求により解除された場合は , リセット (INIT) 状態に遷移し , リセット (INIT) が 解除された後 , 発振安定待ち状態へ遷移します。 発振安定待ち時間経過後は , ストップモードが解除された要因に対応した状態へと遷 移します。 有効な外部割込み要求入力および , メイン発振安定待ちタイマ割込みの発生による復 帰時 → 通常動作状態へ遷移します。 ■ PLL 選択時の異常状態からの復帰時 PLL をソースクロックとして動作しているときに , PLL 制御に何らかの異常 (PLL 使用 中の逓倍率変更 , PLL 動作許可ビット化け発生など ) が発生した場合 , PLL ロック待ち 時間の確保のために , 発振安定待ち時間が必要です。ソフトウェアでの対応をお願いし ます。 発振安定待ち時間経過後は , 通常動作状態へ遷移します。 ■ サブ RUN でメイン発振停止中のウォッチドッグリセット発生時 サブクロックをソースクロックとして動作しているときで , OSCCR( 発振制御レジスタ ) のbit0 : OSCDS1ビットによってメイン発振を停止中にウォッチドッグリセットが発生し た場合 , リセット (INIT) が解除された直後に発振安定待ち状態に遷移します。発振安定 待ち時間 * 経過後は , 通常の動作状態へ遷移します。 *: 発振安定待ち時間の設定は , 初期化されず , 設定していた値で行われます。 S サフィックスがある製品はサブクロックをサポートしません。 80 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12 クロック生成制御 クロックの生成とその制御について説明します。 ■ クロック生成制御 内部動作クロックは以下のようにして生成されます。 • ベースクロックの生成 ソースクロックを 2 分周または PLL 発振させ , 基本クロックを生成します。 • 各内部クロックの生成 ベースクロックを分周し , 各部に供給する動作クロックを生成します。 以下 , 各クロック生成とその制御について説明します。 各レジスタ , フラグの詳細な説明は ,「3.12.6 クロック生成制御部のブロックダイヤグ ラム」および ,「3.12.7 クロック生成制御部のレジスタ詳細説明」を参照してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 81 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.1 ソースクロックの選択 ソースクロックの選択について解説します。 ■ ソースクロックの選択 外部発振端子である X0/X1, X0A/X1A 端子入力に発振子を接続し , 内蔵発振回路にて 生成した原発振がソースクロックとなります。 MB91220 シリーズは , 外部バスクロックを含むすべてのクロック供給源を内蔵してい ます。 外部発振端子および内蔵発振回路は, メインクロックとサブクロックの2 種類を使用で き , 動作中に任意に切り換えて使用することが可能です。 • メインクロック : X0/X1 端子入力から生成し , 高速クロックとして使用すること を想定したものです。 • サブクロック : X0A/X1A 端子入力から生成し低速クロックとして使用すること を想定したものです。 システムベースクロックは , 以下のソースクロックのうちから選択して生成します。 • メインクロックを 2 分周したもの • メインクロックを PLL で逓倍したもの • サブクロックそのもの ソースクロックの選択制御は , CLKR( クロックソース制御レジスタ ) の設定によって 行います。 <注意事項> S サフィックスがある製品はサブクロックをサポートしません。 82 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.2 PLL 制御 メインクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可・禁止と逓倍 率設定を制御することが可能です。 各制御は , CLKR( クロックソース制御レジスタ ) の設定によって行います。 ここでは , 各制御内容について説明します。 ■ PLL 動作許可 メイン PLL 発振動作の許可 / 停止は , CLKR( クロックソース制御レジスタ ) の bit10 : PLL1EN ビットの設定によって行います。 ● PLL 動作制御 PLL1EN ビットは , 設定初期化リセット (INIT) 後 "0" に初期化され , メイン PLL の発振 動作は停止しています。停止中は , ソースクロックとしてメイン PLL 出力を選択する ことはできません。 プログラム動作を開始したら , まずクロックソースとして使用するメイン PLL の逓倍 率を設定し , 動作許可してください。次に PLL ロック待ち時間経過後ソースクロック を切り換えてください。この際の PLL ロック待ち時間は , タイムベースタイマ割込み を使用することを推奨します。 ソースクロックとしてメイン PLL 出力を選択している間は , PLL は動作を停止させる ことができません。レジスタへの書込みは無効となります。ストップモードに移行す る際などで PLL を停止させたい場合は , いったんソースクロックをメインクロックの 2 分周したものに選択し直した後 , PLL を停止させてください。 なお , STCR( スタンバイ制御レジスタ ) の bit0 : OSCD1 ビットにより , ストップモード 中の発振が停止するように設定してある場合 , PLL はストップモード遷移時に自動的 に停止しますので , 動作停止を改めて設定する必要はありません。その後 , ストップ モードから復帰する際 , PLL は自動的に発振動作を開始します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 83 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ PLL 逓倍率 メイン PLL の逓倍率は , CLKR ( クロックソース制御レジスタ ) の bit14 ∼ bit12: PLL1S2 ∼ PLL1S0 ビットによって設定します。 ● PLL 逓倍率 設定初期化リセット (INIT) 後は全ビット "0" に初期化されています。 PLL 逓倍率設定を初期値より変更する場合 , プログラム動作開始後 , PLL を動作許可す る前または同時に設定してください。逓倍率変更後は , ロック待ち時間経過後にソース クロックを切り換えてください。この際の PLL ロック待ち時間は , タイムベースタイ マ割込みを使用することを推奨します。 動作中に PLL 逓倍率設定を変更する場合 , いったんソースクロックを PLL 以外に切り 換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間経過後に ソースクロックを切り換えてください。 84 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.3 発振安定待ち・PLL ロック待ち時間 ソースクロックとして選択するクロックが安定動作状態にない場合 , 発振安定待ち 時間が必要です ( 「3.11.6 発振安定待ち要因」を参照 )。 PLL については , 動作開始後 , 設定された周波数に出力が安定するまでロック待ち時 間が必要です。 ■ 発振安定待ち・メイン PLL ロック待ち時間 以下 , 各種ケースにおける待ち時間について解説します。 ● 電源投入後の待ち時間 電源投入後は , まずメインクロック用発振回路の発振安定待ち時間が必要となりま す。発振安定待ち時間の設定は , 電源投入時 , 最大値に初期化されるため , メインク ロック用発振回路の発振安定待ち時間が確保されます。 この状態において , PLL は動作許可されていないため , ロック待ち時間を考慮する 必要はありません。 ● 設定初期化後の待ち時間 設定初期化リセット (INIT) が解除されると , 発振安定待ち状態へ遷移します。ここ では , 設定された発振安定待ち時間を内部的に発生します。 この状態において , PLL は動作許可されていないため , ロック待ち時間を考慮する 必要はありません。 ● PLL 動作許可後の待ち時間 プログラム動作開始後 , 停止状態の PLL を動作許可した場合 , ロック待ち時間が経 過しないとその PLL 出力を使用してはいけません。 ソースクロックとしてメイン PLL を選択していなければ , ロック待ち時間中もプロ グラム動作は実行可能です。この際の PLL ロック待ち時間は , タイムベースタイマ 割込みを使用することを推奨します。 ● PLL 逓倍率変更後の待ち時間 プログラム動作開始後 , 動作状態の PLL の逓倍率設定を変更した場合も , ロック待 ち時間が経過しないとその PLL 出力を使用してはいけません。 ソースクロックとしてメイン PLL を選択していなければ , ロック待ち時間中もプロ グラム動作は実行可能です。この際の PLL ロック待ち時間は , タイムベースタイマ 割込みを使用することを推奨します。 ● ストップモード復帰後の待ち時間 プログラム動作開始後 , ストップモードに遷移した場合の解除時には , プログラム にて設定された時間の発振安定待ち時間を内部的に発生します。 ストップモード中に , ソースクロックとして選択しているクロック用発振回路を停 止させる設定の場合, その発振回路の発振安定待ち時間と, 使用しているPLLのロッ ク待ち時間のうち , 長い方の時間が必要となります。ストップモードに遷移させる 前に , あらかじめ長い方の待ち時間を設定しておいてください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 85 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.4 クロック分配 ソースクロックより生成されたベースクロックを元に , 各機能用の動作クロックを それぞれ作成します。 内部動作クロックは , 全部で 3 種類あり , それぞれが独立に分周比を設定することが できます。 各内部動作クロックについて説明します。 ■ CPU クロック (CLKB) CPU と内部メモリおよび内部バスに使用されるクロックです。 本クロックを使用する回路を以下に示します。 • CPU • 内蔵 RAM, 内蔵 ROM • ビットサーチモジュール • I-bus, D-bus, F-bus, X-bus • DMA コントローラ • DSU (On chip Debug Support Unit) 動作可能な上限周波数を超える周波数になる逓倍率と分周比の組合せは設定しないで ください。 ■ 周辺クロック (CLKP) 周辺リソースおよびペリフェラルバスに使用されるクロックです。 本クロックを使用する回路を以下に示します。 • ペリフェラル ( 周辺 ) バス • クロック制御部 ( バスインタフェース部のみ ) • 割込みコントローラ • I/O ポート • 外部割込み入力 , LIN-UART, 16 ビットタイマなどの周辺リソース 動作可能な上限周波数を超える周波数になる逓倍率と分周比の組合せは設定しないで ください。 ■ 外部バスクロック (CLKT) 外部拡張バスインタフェースに使用されるクロックです。 本クロックを使用する回路を以下に示します。 • 外部拡張バスインタフェース • 外部クロック出力 動作可能な上限周波数を超える周波数になる逓倍率と分周比の組合せは設定しないで ください。 86 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ <注意事項> CPU の処理能力はフラッシュウェイトレジスタ (FLWC) の設定にも影響を受けます。必 ず本レジスタの設定を最適な値にしてご利用ください。 「28.2 フラッシュメモリのレジス タ」もご参照ください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 87 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.5 クロック分周 各内部動作クロックは , それぞれ独立にベースクロックからの分周比を設定できま す。この機能により , 各回路に最適な動作周波数を設定します。 ■ クロック分周 分周比は , DIVR0( 基本クロック分周設定レジスタ 0) および DIVR1( 基本クロック分周 設定レジスタ 1) にて設定します。各レジスタには各クロックに対応する 4 ビットずつ の設定ビットがあり , ( レジスタ設定値+ 1) がそのクロックのベースクロックに対する 分周比となります。分周比設定が奇数であっても , 常にデューティ比は 50% となりま す。 設定値の変更があった場合 , 設定後次のクロックの立上りから変更後の分周比が有効 となります。 分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の 設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。 初期状態からソースクロックを高速なものに変更する前に必ず分周比の設定を行って ください。 ソースクロックの選択 , メイン PLL の逓倍率の設定 , 分周比の設定の組合せで上限周 波数を超える設定をした場合 , 動作は保証されません ( ソースクロック選択の変更設定 との順序を間違えないように特に注意してください )。 88 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.6 クロック生成制御部のブロックダイヤグラム クロック生成制御部のブロックダイヤグラムを示します。 ■ クロック生成制御部のブロックダイヤグラム 図 3.12-1 にクロック生成制御部のブロックダイヤグラムを示します。図中のレジスタ の詳細は , 「3.12.7 クロック生成制御部のレジスタ詳細説明」を参照してください。 図 3.12-1 クロック生成制御部のブロックダイヤグラム R-bus [クロック生成部] X0A X1A CLKR レジスタ 発振回路 PLL メイン 発振 周辺クロック 外部バスクロック セレクタ X0 X1 外部バス クロック分周 CPUクロック 停 止 制 御 セレクタ 周辺クロック分周 メイン発振 安定待ちタイマ (サブ選択時用) セレクタ CPUクロック分周 セレ クタ DIVR0,DIVR1 レジスタ 1/2 発振回路 サブ 発振 [ストップ・スリープ制御部] 内部割込み ストップ状態 STGRレジスタ 内部リセット 状態遷移 制御回路 SLEEP状態 リセット発生 FF リセット発生 FF 内部リセット(RST) 内部リセット(INIT) [ リセット要因回路] INITX端子 RSRRレジスタ [ ウォッチドッグ制御部] WPRレジスタ CTBRレジスタ ウォッチドッグ FF カウンタクロック タイムベース カウンタ セレクタ TBCRレジスタ オーバフロー 検出FF 割込み許可 タイムベースタ イマ割込み要求 <注意事項> S サフィックスのある製品はサブクロックをサポートしません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 89 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.7 クロック生成制御部のレジスタ詳細説明 クロック生成制御部で使用するレジスタの機能について説明します。 ■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ 図 3.12-2 リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ (RSRR) RSRR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 00000480H PON − WDOG ERST SRST − WT1 WT0 R,WX R0,WX R,WX R,WX R,WX R0,WX R/W R/W 初期値 電源投入時 10000000B INIT **** **00B RST XXX**X00B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 直前に発生したリセットの要因の保持 , ウォッチドッグタイマの周期設定および起動 制御を行うレジスタです。 本レジスタを読み出すと , 保持されたリセット要因は読出し後にクリアされます。読み 出すまでの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複 数のフラグがセットされることになります。 本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降はリセット (RST) が発生するまで , ウォッチドッグタイマは動作を続けます。 [bit15] PON(Power On Reset) パワーオンによるリセット (INIT) の発生の有無を示します。 0 パワーオンによる INIT は発生していません。 1 パワーオンによる INIT が発生しました。 • 電源投入時 , または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に影響を与えません。 [bit14] (reserved bit) このビットは予約ビットです。 90 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit13] WDOG (WatchDOG reset) ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。 0 ウォッチドッグタイマによる INIT は発生していません。 1 ウォッチドッグタイマによる INIT が発生しました。 • 電源投入時または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に影響を与えません。 [bit12] ERST (External ReSeT) INITX 端子入力 , CPU 動作検出によるリセット (INIT) の発生の有無を示します。 0 INITX 端子入力 , CPU 動作検出による INIT は発生していません。 1 INITX 端子入力 , CPU 動作検出による INIT が発生しました。 • 電源投入時または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に影響を与えません。 [bit11] SRST (Software ReSeT) STCRレジスタのSRSTビット書込み(ソフトウェアリセット)によるリセット(INIT) の発生の有無を示します。 0 ソフトウェアリセットによる INIT は発生していません。 1 ソフトウェアリセットによる INIT が発生しました。 • 電源投入時または読出し直後に "0" に初期化されます。 • 読出し可能で , 書込みはビット値に影響を与えません。 [bit10] (reserved bit) このビットは予約ビットです。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 91 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit9, bit8] WT1, WT0 (Watchdog interval Time select) ウォッチドッグタイマの周期を設定します。 本ビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 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 回のみ有効で , それ以降の書込みは 無効です。 92 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ STCR : スタンバイ制御レジスタ 図 3.12-3 スタンバイ制御レジスタ (STCR) のビット構成 STCR ( アクセス:Byte, Half-word, Word) アドレス 00000481H bit7 bit6 bit5 bit4 bit3 bit2 STOP SLEEP HIZ SRST OS1 OS0 R/W R/W R/W R1,W R/W R/W bit1 bit0 OSCD2 OSCD1 R/W R/W 初期値 電源投入時 00110011 B INIT 0011XX11 B RST 00X1XXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) デバイスの動作モードを制御するレジスタです。 ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を 行います。 <注意事項> スタンバイモードに入る場合は , 以下のシーケンスを必ず使用してください。 (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 × 5 NOP NOP NOP NOP CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 93 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 以下に , スタンバイ制御レジスタ (STCR) の各ビットの機能を説明します。 [bit7] STOP (STOP mode) ストップモードへの遷移を指示します。bit6 : SLEEP ビットと本ビット両方に "1" を 書き込んだ場合は , 本ビットの方が優先となりストップモードへ遷移します。 0 ストップモードへの遷移は行いません ( 初期値 )。 1 ストップモードへ遷移します。 • リセット (RST) およびストップ復帰要因により "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit6] SLEEP (SLEEP mode) スリープモードへの遷移を指示します。bit7 : STOP ビットと本ビット両方に "1" を 書き込んだ場合は , bit7:STOP ビットの方が優先となりストップモードへ遷移しま す。 0 スリープモードへの遷移は行いません ( 初期値 )。 1 スリープモードへ遷移します。 • リセット (RST) およびスリープ復帰要因により "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit5] HIZ (HIZ mode) ストップモード時の端子状態を制御します。 0 ストップモード遷移前の端子状態を維持します。 1 ストップモード中は端子出力をハイインピーダンス状態にします。 ( 初期値 ) • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 [bit4] SRST (Software ReSeT) ソフトウェアリセット (INIT) の発行を指示します。 0 ソフトウェアリセットを発行します。 1 ソフトウェアリセットの発行を行いません ( 初期値 )。 • リセット (RST) により "1" に初期化されます。 • 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。 94 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit3, bit2] OS1, OS0 (Oscillation Stabilization time select) リセット(INIT)後およびストップモード復帰後などにおける発振安定待ち時間を設 定します。 本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選 択します。 OS1 OS0 0 0 φ × 21 ( 初期値 ) 1.0 μs 0 1 φ × 211 1.0 ms 1 0 φ × 216 32.7 ms 1 1 φ × 214 8.0 ms 発振安定待ち時間 メイン発振 4MHz の場合 (φ は内部ベースクロックの周期で , メイン発振の 2 倍の周期 ) • 読出しおよび書込みが可能です。 [bit1] OSCD2 (Oscillation Disable mode for XIN2) サブ発振入力 (X0A, X1A) におけるストップモード時の発振停止を制御します。 0 ストップモード中もサブ発振は停止しません。 1 ストップモード中はサブ発振を停止します ( 初期値 )。 • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> S サフィックスがある製品では本ビットへの書込みは無効です。読出しは常に "1" となり ます。 [bit0] OSCD1 (Oscillation Disable mode for XIN1) メイン発振入力 (X0, X1) におけるストップモード時の発振停止を制御します。 0 ストップモード中もメイン発振は停止しません。 1 ストップモード中はメイン発振を停止します ( 初期値 )。 • リセット (INIT) により "1" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 95 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ TBCR : タイムベースカウンタ制御レジスタ 図 3.12-4 タイムベースタイマ制御レジスタ (TBCR) のビット構成 TBCR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 00000482H TBIF TBIE TBC2 TBC1 TBC0 − − − R(RM1),W R/W R/W R/W R/W R1,WX R1,WX R1,WX bit10 bit9 bit8 初期値 INIT 00XXXX11 B RST 00XXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) タイムベースタイマ割込みなどを制御するレジスタです。 タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択を行うほか , リセッ ト動作のオプション機能の設定を行います。 以下に , タイムベースカウンタ制御レジスタ (TBCR) の各ビットの機能を説明します。 [bit15] TBIF (TimeBasetimer Interrupt Flag) タイムベースタイマ割込みフラグです。 タイムベースカウンタが設定されたインターバル時間 (bit13 ∼ bit11 : TBC2 ∼ TBC0 ビットにて設定 ) の経過を示します。 bit14 : TBIE ビットにより割込み発生が許可 (TBIE = 1) されているときに本ビットが "1" になると , タイムベースタイマ割込み要求が発生します。 クリア要因 命令による "0" の書込み セット要因 設定されたインターバル時間の経過 ( タイムベースカウンタ出力の立下りエッジ検出 ) • リセット (RST) により "0" に初期化されます。 • 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書込み してもビット値は変化しません。また , リードモディファイライト (RMW) 系命 令での読出し値は , 常に "1" となります。 96 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit14] TBIE (TimeBasetimer Interrupt Enable) タイムベースタイマ割込み要求出力許可ビットです。 タイムベースカウンタのインターバル時間経過による割込み要求出力を制御しま す。本ビットが "1" のときに , bit15:TBIF ビットが "1" になるとタイムベースタイマ 割込み要求が発生します。 0 タイムベースタイマ割込み要求出力禁止 ( 初期値 ) 1 タイムベースタイマ割込み要求出力許可 • リセット (RST) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit13 ∼ bit11] TBC2 ∼ TBC0 (TimeBasetimer Counting time select) タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定 します。 本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選 択します。 TBC2 TBC1 TBC0 タイマインターバル時間 原発振 4MHz かつ PLL が 8 逓倍の場合 0 0 0 φ × 211 64 μs 0 0 1 φ × 212 128 μs 0 1 0 φ × 213 256 μs 0 1 1 φ × 222 131 ms 1 0 0 φ × 223 262 ms 1 0 1 φ × 224 524 ms 1 1 0 φ × 225 1048 ms 1 1 1 φ × 226 2097 ms φ : 内部ベースクロックの周期で , メイン PLL の出力周期 • 初期値は不定です。割込みを許可する前に必ず値を設定してください。 • 読出しおよび書込みが可能です。 [bit10] (reserved bit) 予約ビットです。 読出し値は不定で , 書込みは動作に影響を与えません。 [bit9, bit8] (reserved bit) 予約ビットです。 読出し値は常に "1" で , 書込みは動作に影響を与えません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 97 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ CTBR : タイムベースカウンタクリアレジスタ CTBR ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000483H D7 D6 D5 D4 D3 D2 D1 D0 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W 初期値 INIT XXXXXXXXB RST XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) タイムベースカウンタを初期化するためのレジスタです。 本レジスタに連続して"A5H", "5AH"を書き込むと, "5AH"書込みの直後にタイムベー スカウンタを全ビット "0" にクリアします。"5AH" 書込みと "5AH" 書込みの間の時 間に制限はありませんが , "A5H" 書込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア動作は行いません。 本レジスタの読出し値は不定です。 <注意事項> 本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ち時間の間隔 , ウォッチドッグタイマ周期およびタイムベースタイマの周期が一時的に変動します。 98 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ CLKR : クロックソース制御レジスタ CLKR ( アクセス:Byte, Half-word, Word) アドレス 00000484H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 PLL1S2 PLL1S1 PLL1S0 PLL2EN PLL1EN CLKS1 − R/W0 R/W R/W R/W R/W R/W R/W CLKS0 R/W 初期値 INIT 0 0 0 0 0 0 0 0 B RST XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 内部ベースクロックとなるクロックソースの選択やメイン PLL の制御を行うレジスタ です。 本レジスタにてクロックソースを選択します。また , メイン PLL の動作許可および逓 倍率の選択を制御します。 [bit15] (reserved bit) 予約ビットです。本ビットへの書込みは常に "0 " を書き込んでください。 [bit14 ∼ bit12] PLL1S2 ∼ PLL1S0 (PLL1 ratio Select 2 ∼ 0) メイン PLL の逓倍率選択ビットです。 メイン PLL の逓倍率を , 下記の組合せのうちから選択します。 本ビットは , クロックソースとしてメイン PLL を選択している間は書換えを禁止し ます。 動作可能な上限周波数を超える設定をしないでください。 PLL1S2 PLL1S1 PLL1S0 メイン PLL 逓倍率 メイン発振 4MHz の場合 0 0 0 × 1 ( 等倍 ) φ = 250ns ( 4MHz 時 ) 0 0 1 × 2 (2 逓倍 ) φ = 125ns ( 8MHz 時 ) 0 1 0 × 3 (3 逓倍 ) φ = 833ns ( 12MHz 時 ) 0 1 1 × 4 (4 逓倍 ) φ = 62.5ns ( 16MHz 時 ) 1 0 0 × 5 (5 逓倍 ) φ = 50.0ns ( 20MHz 時 ) 1 0 1 × 6 (6 逓倍 ) φ = 41.7ns ( 24MHz 時 ) 1 1 0 × 7 (7 逓倍 ) φ = 35.7ns ( 28MHz 時 ) 1 1 1 × 8 (8 逓倍 ) φ = 31.25ns ( 32MHz 時 ) φ : 内部ベースクロックの周期 • リセット (INIT) により "000B" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 99 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit11] PLL2EN (PLL2 ENable) サブクロックの選択許可ビットです。 本ビットは , クロックソースとしてサブクロックを選択している間は書換えを禁止 します。また , 本ビットが "0" の間はクロックソースとしてサブクロックを選択す ることを禁止します (bit9, bit8: CLKS1, CLKS0 ビットの設定を参照 )。 STCR の bit1 : OSCD2 が "1" であると , ストップモード中は本ビットが "1" であって もサブクロックは停止します。ストップモードよりの復帰後は動作許可に戻りま す。 0 0 サブクロック選択禁止 [ 初期値 ] 1 1 サブクロック動作許可 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込み が可能です。 <注意事項> S サフィックスのある製品では本ビットへの書込みは無効です。読出しは常に "0" となり ます。 [bit10] PLL1EN (PLL1 ENable) メイン PLL の動作許可ビットです。 本ビットは , クロックソースとしてメイン PLL を選択している間は書換えを禁止し ます。また , 本ビットが "0" の間はクロックソースとしてメイン PLL を選択するこ とを禁止します (bit9, bit8:CLKS1, CLKS0 ビットの設定を参照 )。 スタンバイ制御レジスタ (STCR) の bit0:OSCD1 が "1" であると , ストップモード中 は本ビットが "1" であってもメイン PLL は停止します。ストップモードよりの復帰 後は動作許可に戻ります。 0 メイン PLL 停止 ( 初期値 ) 1 メイン PLL 動作許可 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 100 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit9, bit8] CLKS1, CLKS0 (CLocK source Select) 使用するクロックソースを設定します。 本ビットに書き込む値により , クロックソースを下表に示す 3 種類のうちから選択 します。 CLKS1 CLKS0 0 0 X0/X1 からの原発振入力の 2 分周 ( 初期値 ) 0 1 X0/X1 からの原発振入力の 2 分周 1 0 メイン PLL 1 1 サブクロック クロックソース設定 • リセット (INIT) により "00B" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> bit9:CLKS1 が "1" の間は bit8 : CLKS0 の値を変更することができません。 S サフィックスのある製品では bit8 : CLKS0 への書込みは無効です。読出しは常に "0" と なります。 [ 変更不可能な組合せ ] [ 変更可能な組合せ ] "00B" → "11B" "00B" → "01B" または "10B" "01B" → "10B" "01B" → "11B" または "00B" "10B" → "01B" または "11B" "10B" → "00B" "11B" → "00B" または "10B" "11B" → "01B" ストップモードへ移行する際は , 必ずクロックソースを原発振入力の 2 分周に設定 してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 101 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ WPR : ウォッチドッグリセット発生延期レジスタ WPR ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000485H D7 D6 D5 D4 D3 D2 D1 D0 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W 初期値 INIT XXXXXXXXB RST XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ウォッチドッグリセットの発生を延期するためのレジスタです。 本レジスタに連続して "A5H", "5AH" を書き込むと , "5AH" 書込みの直後にウォッチドッ グタイマの検出用 FF をクリアし , ウォッチドッグリセットの発生を延期します。"A5H" 書込みと "5AH" 書込みの間の時間は制限がありませんが , "A5H" 書込みの後に "5AH" 以 外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア 動作は行いません。また , 下表の期間内に両データの書込みを終えないとウォッチドッ グリセットを発生します。 本レジスタの読出し値は不定です。 RSRR レジスタの WT1(bit9) , WT0(bit8) の状態により下表のように変化します。 RSRR のウォッチドッグリセットの 発生を抑止するために最低限必要な WPR への書込み間隔 WPR への最終 5AH 書込みから 0 φ × 216 ( 初期値 ) φ × 216 ∼ φ × 217 0 1 φ × 218 φ × 218 ∼ φ × 219 1 0 φ × 220 φ × 220 ∼ φ × 221 1 1 φ × 222 φ × 222 ∼ φ × 223 WT1 WT0 0 ウォッチドッグリセットが 発生するまでの時間 φ : システムベースクロックの周期 , WT1, WT0 は RSRR の bit9, bit8 でウォッチドッグタ イマ周期設定 ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的にクリアを 行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的に延期さ れます。 102 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ DIVR0: 基本クロック分周設定レジスタ 0 DIVR0 ( アクセス:Byte, Half-word, Word) アドレス 00000486H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 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 B RST XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , CPU および内部バスのクロック (CLKB) と周辺回路およびペリフェ ラルバスクロック (CLKP) に対する分周比の設定を行います。 <注意事項> ソースクロックの選択 , メイン PLL の逓倍率の設定 , 分周比の設定の組合せで上限周波数 を超える設定をした場合, 動作は保証されませんので十分に注意してください。また, ソー スクロック選択の変更設定順序を間違えないようにしてください。 本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周比 が有効となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 103 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit15 ∼ bit12] B3 ∼ B0 (clkB divide select 3 ∼ 0) CPU クロック (CLKB) クロック分周比設定ビットです。 CPUと内部メモリおよび内部バスのクロック(CLKB)のクロック分周比を設定します。 本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに 対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。 動作可能な上限周波数を超える周波数になる分周比は設定しないでください。 B2 B1 B0 0 0 0 0 φ 0 0 0 1 φ × 2 (2 分周 ) 16 MHz 0 0 1 0 φ × 3 (3 分周 ) 10.7 MHz 0 0 1 1 φ × 4 (4 分周 ) 8 MHz 0 1 0 0 φ × 5 (5 分周 ) 6.4 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.33MHz 0 1 1 0 φ × 7 (7 分周 ) 4.57MHz 0 1 1 1 φ × 8 (8 分周 ) 4 MHz … … … … クロック周波数 : 原発振 4MHz およびメイン PLL8 逓倍の場合 B3 1 1 1 1 クロック分周比 32 MHz ( 初期値 ) … … φ × 16 (16 分周 ) 2 MHz φ : 内部ベースクロックの周期 • リセット (INIT) により "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 104 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit11 ∼ bit8] P3 ∼ P0 (clkP divide select 3 ∼ 0) 周辺クロック (CLKP) のクロック分周比設定ビットです。 周辺回路およびペリフェラルバスクロック (CLKP) に対するクロック分周比を設定 します。 本ビットに書き込む値により , 周辺回路およびペリフェラルバスクロックのベース クロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択し ます。 動作可能な上限周波数を超える周波数になる分周比は設定しないでください。 P1 P0 0 0 0 0 φ 32 MHz 0 0 0 1 φ × 2 (2 分周 ) 16 MHz 0 0 1 0 φ × 3 (3 分周 ) 10.7 MHz 0 0 1 1 φ × 4 (4 分周 ) 8 MHz( 初期値 ) 0 1 0 0 φ × 5 (5 分周 ) 6.4 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.33MHz 0 1 1 0 φ × 7 (7 分周 ) 4.57MHz 0 1 1 1 φ × 8 (8 分周 ) 4 MHz … … … 1 1 1 1 クロック分周比 … φ × 16 (16 分周 ) … P2 … クロック周波数 : 原発振 4MHz およびメイン PLL8 逓倍の場合 P3 2 MHz φ : システムベースクロックの周期 • リセット (INIT) により "0011B" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 105 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ DIVR1: 基本クロック分周設定レジスタ 1 DIVR1 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000487H T3 T2 T1 T0 − − − − R/W R/W R/W R/W R/W0 R/W0 R/W0 R/W0 初期値 INIT 0 0 0 0 0 0 0 0 B RST XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , 外部バスクロック (CLKT) の分周比の設定を行います。 <注意事項> ソースクロックの選択 , メイン PLL の逓倍率の設定 , 分周比の設定の組合せで上限周波数 を超える設定をした場合, 動作は保証されませんので十分に注意してください。また, ソー スクロック選択の変更設定順序を間違えないようにしてください。 本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周比 が有効となります。 106 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ [bit7 ∼ bit4] T3 ∼ T0 (clkT divide select 3 ∼ 0) 外部バスクロック (CLKT) のクロック分周比設定ビットです。 外部バスクロック (CLKT) のクロック分周比を設定します。 本ビットに書き込む値により , 外部拡張バスクロックのベースクロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。 動作可能な上限周波数は 16MHz ですので , 16MHz を超える周波数になる分周比は 設定しないでください。 T3 T2 T1 T0 0 0 0 0 φ 0 0 0 1 φ × 2 (2 分周 ) 16 MHz 0 0 1 0 φ × 3 (3 分周 ) 10.7 MHz 0 0 1 1 φ × 4 (4 分周 ) 8 MHz 0 1 0 0 φ × 5 (5 分周 ) 6.4 MHz 0 1 0 1 φ × 6 (6 分周 ) 5.33MHz 0 1 1 0 φ × 7 (7 分周 ) 4.57MHz 0 1 1 1 φ × 8 (8 分周 ) 4 MHz … … … … クロック周波数 : 原発振 4MHz および メイン PLL8 逓倍の場合 1 1 1 1 クロック分周比 32 MHz ( 初期値 ) … … φ × 16 (16 分周 ) 2 MHz φ : システムベースクロックの周期 • リセット (INIT) により "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 外部バスインタフェースを使用しない場合は , "1111B" (16 分周 ) に設定することを 推奨します。 [bit3 ∼ bit0] (reserved bit) • リセット (INIT) により "0000B" に初期化されます。 • 本ビットへの書込みは , 常に "0000B" を書き込んでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 107 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ ■ OSCCR: 発振制御レジスタ OSCCR ( アクセス:Byte) アドレス 0000048AH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − RTCSRC − − − OSCDS1 R/W0 R/W0 R/W0 R/W R/W0 R/W0 R/W0 R/W 初期値 INIT 00000000 B RST XXXXXXX0B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) サブクロック動作時のメイン発振を制御するレジスタです。 [bit7, bit6, bit5] :(reserved bit) 予約ビットです。本ビットへの書込みは常に "0" を書き込んでください。 [bit4] RTCSRC: RTC Source Clock Select RTC へのソースクロックを選択するビットです。 0 メインクロック (4MHz) ( 初期値 ) 1 サブクロック (32kHz) <注意事項> • 一度 "1" を書き込むと INIT によるリセットでしか "0" に初期化されません。 • RTC 動作を期待する場合 , RTC に供給するクロックが停止していないことが条件とな ります。 • S サフィックスがある製品では "1" を設定しないでください。 [bit3, bit2, bit1] :(reserved bit) 予約ビットです。本ビットへの書込みは常に "0" を書き込んでください。 [bit0] OSCDS1 (OSCilattion Disable on Subclock for XIN1) サブクロック選択中のメイン発振停止ビットです。 0 サブクロック実行中に , メイン発振を停止しません ( 初期値 )。 1 サブクロック実行中に , メイン発振を停止します。 • リセット (INIT) により "0" に初期化されます。 • 読出しおよび書込みが可能です。 クロックソースとしてサブクロック選択中に本ビットに "1" を書き込むと , メイン発振 を停止します。 本ビットは , メインクロックを選択中は "1" を書き込むことはできません。 108 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 本ビットが "1" の間はメインクロックを選択することを禁止します。本ビットを "0" に してメイン発振の安定を待ってからメインクロックに切り換えてください。このとき , メイン発振安定待ちタイマを用いて発振安定待ち時間を確保してください。また , 本 ビットによってメイン発振を停止させた状態で , INIT によってクロックソースがメイ ンクロックに切り換わった場合もメイン発振安定待ち時間が必要になります。このと き , STCR ( スタンバイ制御レジスタ ) の bit3, bit2 : OS1, OS0 ビットの設定がメイン発 振安定待ち時間を満たさない場合 , 復帰後の動作が保証されません。 このような場合は , STCR:OS1, OS0 ビットはメイン発振安定待ち時間も満たした値を 設定してください。 INITX 端子による INIT 時は , メイン発振が安定するまで INITX 端子に "L" を入力し続 ける必要があります。 発振安定待ちについては , 「3.12.3 発振安定待ち・PLL ロック待ち時間」も参照して ください。 <注意事項> S サフィックスのある製品では本ビットへの書込みは動作に影響を与えません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 109 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ 3.12.8 クロック制御部が持つ周辺回路 クロック制御部内の周辺回路機能について説明します。 ■ タイムベースカウンタ クロック制御部には, 26ビット長のタイムベースカウンタがあり, 内部ベースクロック として動作しています。 タイムベースカウンタは , 発振安定待ち時間の計測 (「3.11 リセット ( デバイスの初期 化 )」の「3.11.6 発振安定待ち要因」を参照 ) のほか , 以下の用途に使用されます。 • ウォッチドッグタイマ システムの暴走検出用のウォッチドッグタイマをタイムベースカウンタのビット 出力を用いて計測します。 • タイムベースタイマ タイムベースカウンタ出力を用いて , インターバル割込みを発生します。 ● ウォッチドッグタイマ ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマです。 プログラムの暴走などで設定したインターバルの間にウォッチドッグリセットの発生 延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リセット (INIT) 要求を発生します。 • ウォッチドッグタイマの起動と周期設定 ウォッチドッグタイマは , リセット (RST) 後の 1 回目の RSRR( リセット要因レジス タ / ウォッチドッグタイマ制御レジスタ ) への書込み動作により起動します。この とき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビットによ り設定します。インターバル時間の設定は , この最初の書込みで設定した時間のみ が有効となり , それ以降の書込みはすべて無視されます。 • ウォッチドッグリセットの発生延期 いったんウォッチドッグタイマを起動すると , プログラムで定期的に WPR( ウォッ チドッグリセット発生延期レジスタ ) に対して "A5H", "5AH" の順でデータを書き込 む必要があります。この操作により , ウォッチドッグリセット発生用フラグが初期 化されます。 • ウォッチドッグリセットの発生 ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出 時にフラグがセットされていると , ウォッチドッグリセットとして設定初期化リ セット (INIT) 要求を発生します。 • ウォッチドッグタイマの停止 いったんウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生す るまではウォッチドッグタイマを停止することができません。 動作初期化リセット (RST) が発生する以下の状態ではウォッチドッグタイマは停止 し , 再度プログラム動作にて起動するまでは機能しません。 - 動作初期化リセット (RST) 状態 110 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ - 設定初期化リセット (INIT) 状態 - 発振安定待ちリセット (RST) 状態 • ウォッチドッグタイマの一時停止 ( 自動発生延期 ) ウォッチドッグタイマは , CPU のプログラム動作が停止している場合 , いったん ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの発生 を延期します。プログラム動作の停止とは具体的には以下の動作を示します。 - スリープ状態 - ストップ状態 - 発振安定待ち RUN 状態 - D-bus( データバス ) に対する DMA 転送中 - エミュレータデバッガ使用によるブレーク中 また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発 生用フラグも初期化され , ウォッチドッグリセットの発生が延期されます。 ● タイムベースタイマ タイムベースタイマは , タイムベースカウンタ出力を用いたインターバル割込み発生 用タイマです。 メイン PLL のロック待ち時間やサブクロックなどの発振安定待ち時間など , 最大で ベースクロック× 227 サイクルまでの , 比較的長時間の時間計測を行う用途に適してい ます。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを検出 すると , タイムベースタイマ割込み要求を発生します。 • タイムベースタイマの起動とインターバル設定 タイムベースタイマは , TBCR(タイムベースカウンタ制御レジスタ ) の bit13 ∼ bit11: TBC2 ∼ TBC0 ビットにてインターバル時間を設定します。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは 常に検出されているため , インターバル時間の設定後はまず bit15:TBIF ビットをク リアしてから , bit14 : TBIE ビットを "1" にして割込み要求出力を許可してください。 インターバル時間を変更する際は , あらかじめ bit14 : TBIE ビットを "0" にして割込 み要求出力を禁止しておいてください。 タイムベースカウンタはこれら設定に影響されず常にカウント動作を行っていま すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ イムベースカウンタをクリアしてください。クリアしないと , 割込み許可直後に割 込み要求が発生することがあります。 • プログラムによるタイムベースカウンタのクリア CTBR( タイムベースカウンタクリアレジスタ ) に対して "A5H", "5AH" の順でデータ を書き込むと , "5AH" 書込みの直後にタイムベースカウンタを全ビット "0" にクリ アします。"A5H" 書込みと "5AH" 書込み間の時間は制限がありませんが , "A5H" 書 込みの後に "5AH" 以外のデータを書き込むと , 再度 "A5H" を書き込まないと "5AH" を書き込んでもクリア動作は行いません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 111 第 3 章 CPU および制御部 3.12 クロック生成制御 MB91220 シリーズ このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期 されます。 • デバイス状態によるタイムベースカウンタのクリア タイムベースカウンタは , 以下のデバイス状態の遷移時と同時に全ビット "0" にク リアされます。 - 設定初期化リセット (INIT) 状態 特に , ストップ状態の場合 , 発振安定待ち時間の計測のためにタイムベースカウン タが使用されるため , 意図せずにタイムベースタイマのインターバル割込みが発生 することがあります。そのため , ストップモードを設定する前にはタイムベースタ イマ割込みを禁止し , タイムベースタイマを使用しないようにしてください。 それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー スタイマ割込みは自動的に禁止されます。 ● メイン発振安定待ちタイマ クロックソースの選択や分周設定の影響を受けず , メインクロックに同期してカウン トアップする 26 ビットのタイマです。 サブクロック動作中のメイン発振安定待ち時間の計測に使用します。 サブクロックで動作中 , OSCCR( 発振制御レジスタ ) の bit0 : OSCDS1 ビット にて , メ イン発振の制御を行えます。 メイン発振を停止させた後で再度発振開始させた際に , 本タイマを用いて発振安定待 ち時間を計測します。 メインクロックを停止させたサブクロック動作状態からメインクロックに切り換える 際は , 下記の手順で行います。 1. メイン発振安定待ちタイマをクリアします。 2. OSCCR( 発振制御レジスタ ) の bit0 : OSCDS1 ビット を "0" にしてメイン発振を開始 します。 3. メイン発振安定待ちタイマを用いてメインクロックが安定するまで待ちます。 4. メインクロック安定後, CLKR(クロックソースレジスタ)のbit9, bit8: CLKS1, CLKS0 ビットにてサブクロックからメインクロックに切り換えます。 安定を待たずメインクロックに切り換えると , 不安定なクロックが供給され , その後の 動作は保証されませんので , 必ず安定を待った後にメインクロックに切り換えてくだ さい。 メイン発振安定待ちタイマの詳細については , 「第 11 章 メイン発振安定待ちタイマ」 を参照してください。 <注意事項> S サフィックスのある製品はサブクロックをサポートしません。 112 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ 3.13 デバイス状態制御 MB91220 シリーズの各種状態とその制御について説明します。 ■ デバイス状態と各遷移 図 3.13-1 に MB91220 シリーズの状態遷移を示します。 図 3.13-1 MB91220 シリーズの状態遷移 1 2 3 4 5 6 7 8 9 10 11 12 13 遷移要求の優先順位 INITX端子=0(INIT) INITX端子=1(INIT解除) 発振安定待ち終了 リセット(RST)解除 ソフトウェアリセット(RST) スリープ(命令書込み) ストップ(命令書込み) 割込み クロックを必要としない外部割込み メイン→サブ切換え(命令書込み) サブ→メイン切換え(命令書込み) ウォッチドッグリセット(INIT) サブスリープ(命令書込み) 最強 ↓ ↓ ↓ ↓ 最弱 パワーオン 1 設定初期化リセット(INIT) 発振安定待ち終了 動作初期化リセット(RST) 割込み要求 ストップ スリープ 設定初期化 (INIT) 2 メインクロックモード 1 メインストップ (ストップモード, RTCモード*) メイン発振安定待ち リセット 9 1 3 1 プログラムリセット (RST) 発振安定待ちRUN 3 7 1 6 メインスリープ 5 4 12 メインRUN 8 1 1 10 サブクロックモード サブスリープ 発振安定待ちRUN 12 サブRUN 13 3 1 1 11 8 1 7 5 1 4 プログラムリセット (RST) 1 9 サブストップ (ストップモード, RTCモード*) ( 注意事項 ) • メイン←→サブに切り換える場合は , RUN状態にて切換え後のクロックが安定供給されている状 態でクロックソースレジスタ (CLKR) の bit1:CLKS1, bit0:CLKS0 ビットを切り換えてください。 • RTC 以外を停止 ( RTC モード ) させるには , メイン / サブ RUN 状態にてスタンバイ制御レジス タ (STCR) bit1:OSCD2/bit0:OSCD1 を設定した状態でストップモードに移行してください ( 同時 書込み可能 ) 。 • S サフィックスのある製品はサブクロックモードをサポートしません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 113 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ MB91220 シリーズのデバイスの動作状態には以下のものがあります。 • RUN 状態 ( 通常動作 ) • スリープ状態 • ストップ状態 • 発振安定待ち RUN 状態 • 発振安定待ちリセット (RST) 状態 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 以下 , 各動作状態について説明します。 ● RUN 状態 ( 通常動作 ) プログラム実行状態です。 すべての内部クロックが供給され , すべての回路が動作可能な状態です。ただし , 16 ビット周辺 ( ペリフェラル ) バスのみは , アクセスが行われていない期間はバスクロッ クのみ停止しています。 ● スリープ状態 プログラム停止状態です。プログラム動作により遷移します。 CPU のプログラム実行のみ停止し , 周辺回路は動作可能な状態です。各種内蔵メモリ および内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。 有効な割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移し ます。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 動作初期化リセット (RST) 要求の発生により , 動作初期化リセット (RST) 状態へ遷移し ます。 ● ストップ状態 デバイス停止状態です。プログラム動作により遷移します。 リアルタイムクロック以外の回路は停止します。発振回路およびメイン PLL は設定に より停止させることが可能です。また , 設定により外部端子を一律ハイインピーダンス にすることが可能です ( 一部端子を除く )。 特定の ( クロックを必要としない ) 有効な割込み要求の発生や , 発振動作中のメイン発 振安定待ちタイマ割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移 します。 ● 発振安定待ち RUN 状態 デバイス停止状態です。ストップ状態からの復帰後に遷移します。 クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くすべて の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許 可されていたメイン PLL は動作しています。 114 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ遷移 します。 ● 発振安定待ちリセット (RST) 状態 デバイス停止状態です。ストップ状態または設定初期化リセット (INIT) 状態からの復 帰後に遷移します。 クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くすべて の内部回路が停止します。内部クロックはすべて停止しますが , 発振回路および動作許 可されていたメイン PLL は動作しています。 ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 内部回路に対し , 動作初期化リセット (RST) を出力します。 設定された発振安定待ち時間の経過により, 発振安定待ちリセット(RST)状態へ遷移し ます。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 ● 動作初期化リセット (RST) 状態 プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , または発振安定 待ちリセット (RST) 状態の終了により遷移します。 CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は 一部を除き初期化されます。すべての内部クロックと発振回路および動作許可されて いたメイン PLL は動作しています。 内部回路に対し , 動作初期化リセット (RST) を出力します。 動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動作初 期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの復帰後 だった場合は , 設定初期化リセットシーケンスを実行します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷移 します。 ● 設定初期化リセット (INIT) 状態 全設定初期化状態です。設定初期化リセット (INIT) 要求の受付けにより遷移します。 CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路は すべて初期化されます。発振回路は動作しますが , メイン PLL は動作を停止します。 すべての内部クロックは , リセット要因の入力期間中は停止しますが , それ以外では動 作します。 内部回路に対し , 設定初期化リセット (INIT) および動作初期化リセット (RST) を出力 します。 設定初期化リセット (INIT) 要求の消失により本状態は解除され , 発振安定待ちリセッ ト (RST) 状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初期 化リセットシーケンスを実行します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 115 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ ● 各状態遷移要求の優先順位 どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部要求 は特定の状態でしか発生しませんので , その状態でしか有効になりません。 [ 最強 ] 設定初期化リセット (INIT) 要求 ↓ 発振安定待ち時間の終了 ( 発振安定待ちリセット状態および発振安定待ち RUN 状態のみ発生 ) ↓ 動作初期化リセット (RST) 要求 ↓ 有効な割込み要求 (RUN, スリープ , ストップ状態のみ発生 ) ↓ ストップモード要求 ( レジスタ書込み )(RUN 状態のみ発生 ) [ 最弱 ] スリープモード要求 ( レジスタ書込み )(RUN 状態のみ発生 ) ■ 低消費電力モード MB91220 シリーズの状態のうち , スタンバイモード ( 各低消費電力モード ) とその使用 方法について説明します。 MB91220 シリーズの低消費電力モードには , 以下のものがあります。 • スリープモード レジスタ書込みにより , デバイスをスリープ状態へ遷移させます。 • ストップモード レジスタ書込みにより , デバイスをストップ状態へ遷移させます。 以下 , 各モードについて説明します。 ● スリープモード STCR( スタンバイ制御レジスタ ) の bit6 : SLEEP ビットに "1" を書き込むとスリープ モードとなり , スリープ状態へ遷移します。以降 , スリープ状態からの復帰要因が発生 するまでは , スリープ状態を維持します。 スリープ状態については , 「■ デバイス状態と各遷移」の「●スリープ状態」も参照 してください。 • スリープモードへの移行 スリープモードに入れる場合は , 以下のシーケンスを必ず使用してください。 (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 × 5 NOP NOP NOP NOP STCR( スタンバイ制御レジスタ ) の bit7 : STOP ビットと本ビット両方に "1" を書き 込んだ場合は , bit7 : STOP ビットの方が優先となり , ストップ状態へ遷移します。 116 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ • スリープ状態で停止する回路 - CPU のプログラム実行 以下は , DMA 転送が発生した場合は動作します。 - ビットサーチモジュール - 各種内蔵メモリ - 内部 / 外部バス • スリープ状態で停止しない回路 - 発振回路 - 動作許可されたメイン PLL - クロック発生制御部 - 割込みコントローラ - 周辺回路 - メイン発振安定待ちタイマ - 時計タイマ - DMA コントローラ - DSU (On chip Debug Support Unit) • スリープ状態からの復帰要因 - 有効な割込み要求の発生 ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) 以外の場合 , 割込み要求 が発生するとスリープモードは解除され , RUN 状態 ( 通常動作 ) へ遷移します。 ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) の場合 , 割込み要求が発 生しても , スリープモードは解除されません。 - 設定初期化リセット (INIT) 要求の発生 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態 へ遷移します。 <注意事項> 各要因の優先順位については , 「■ デバイス状態と各遷移」の「●各状態遷移要求の優先 順位」を参照してください。 • 同期スタンバイ動作 SLEEP ビットへの書込みのみではスリープ状態へは遷移しません。その後 , STCR ( スタンバイ制御 ) レジスタを読み出すことによってスリープ状態へ遷移します。 スリープモードを使用する場合は , 「・スリープモードへの移行」にあるシーケンス を 必ず使用してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 117 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ ● ストップモード STCR( スタンバイ制御レジスタ ) の bit7:STOP ビットに "1" を書き込むとストップモー ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する までは , ストップ状態を維持します。 なお , ストップモードでは , メイン発振は停止してください。 ストップ状態については , 「■ デバイス状態と各遷移」の「●ストップ状態」も参照 してください。 • ストップモードへの移行 ストップモードに入れる場合は , 以下のシーケンスを必ず使用してください。 ldi #_STCR, R0 ; STCR レジスタ (0x0481) ldi #Val_of_Stby, rl ; Val_of_Stby は , STCR へのライトデータ stb rl,@r0 ; STCR へのライト /* CTBR ライト */ ldi #_CTBR, r2 ; CTBR レジスタ (0x0483) ldi #0xA5, rl ; クリアコマンド (1) stb rl,@r2 ; CTBR への A5 ライト ldi #0x5A, rl ; クリアコマンド (2) stb rl,@r2 ; CTBR への 5A ライト /* ここでタイムベースカウンタクリア */ ; STCR リード ldub @r0, rl /* 同期スタンバイ遷移開始 */ ldub @r0, rl ; STCR ダミーリード nop ; タイミング調整用の NOP × 5 nop nop nop nop STCR( スタンバイ制御レジスタ ) の bit6 : SLEEP ビットと本ビット両方に "1" を書 き込んだ場合は , bit7 : STOP ビットの方が優先となり , ストップ状態へ遷移します。 • ストップ状態で停止する回路 - 発振回路は停止して使用すること - STCR( スタンバイ制御レジスタ ) の bit0 : OSCD1 ビットを "1" に設定すること • ストップ状態での端子のハイインピーダンス制御 STCR( スタンバイ制御レジスタ ) の bit5 : HIZ ビットに "1" が設定してあると , ス トップ状態中の端子出力をハイインピーダンス状態にします。本制御の対象となる 端子は , 「付録 C 各 CPU ステートにおける各端子状態」を参照してください。 STCR( スタンバイ制御レジスタ ) の bit5 : HIZ ビットに "0" が設定してあると , ス トップ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は ,「付 録 C 各 CPU ステートにおける各端子状態」を参照してください。 118 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 3 章 CPU および制御部 3.13 デバイス状態制御 MB91220 シリーズ • ストップ状態からの復帰要因 - 特定の ( クロックを必要としない ) 有効な割込み要求の発生 一部の外部割込みのみが有効です。 ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) 以外の場合 , 割込み要求 が発生するとストップモードは解除され , 発振安定待ち RUN 状態へ遷移します。 ICR( 割込み制御 ) レジスタの設定が割込み禁止 (1111B) の場合 , 割込み要求が発 生してもストップモードは解除されません。 - 設定初期化リセット (INIT) 要求の発生 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 <注意事項> 各要因の優先順位については , 「■ デバイス状態と各遷移」の「●各状態遷移要求の優先 順位」を参照してください。 • ストップモード時のクロックソース選択 自励発振モードでは , ストップモードを設定する前に , メインクロックの 2 分周を ソースクロックとするようあらかじめ選択しておいてください。詳細は , 「3.12.2 PLL 制御」を参照してください。 なお , 分周比の設定に関しては , 通常動作時と制限事項は同じです。 • 同期スタンバイ動作 STOP ビットへの書込みのみではストップ状態へは遷移しません。その後 , STCR ( スタンバイ制御 ) レジスタを読み出すことによってストップ状態へ遷移します。 ストップモードを使用する場合は , 「・ストップモードへの移行」にあるシーケンス を必ず使用してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 119 第 3 章 CPU および制御部 3.13 デバイス状態制御 120 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第4章 I/O ポート I/O ポートの概要 , レジスタの構成および機能につ いて説明します。 CM71-10142-5 4.1 I/O ポートの概要 4.2 I/O ポートのレジスタ 4.3 I/O 拡張機能 4.4 レジスタ説明 4.5 使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 121 第 4 章 I/O ポート 4.1 I/O ポートの概要 4.1 MB91220 シリーズ I/O ポートの概要 I/O ポートの構成を説明します。 ■ ポート基本ブロックダイヤグラム MB91220 シリーズは , 各端子に対応するペリフェラル入出力として端子を使用しない 設定になっているとき , I/O ポートとして使用することができます。 各ポートは以下のレジスタにより構成されます。 • PDR ( ポートデータレジスタ /Port Data Register) • DDR ( ポート方向レジスタ /Port Direction Register) • PFR/EPFR ( ポート機能レジスタ /Port Function Register) I/O ポートの基本的な構成を下記に示します。 図 4.1-1 I/O ポートのブロックダイヤグラム ペリフェラル入力 R-bus PDRリード * 0 1 ペリフェラル出力 1 PDR 0 PFR/ EPFR ストップモード P-ch 端子 N-ch DDR *: PDRレジスタに対してリードモディファイライト (RMW)系命令を行った 場合のリード時は, 常に"1"側が選択されます。 DDR:Data Direction Register PDR:Port Data Register PFR:Port Function Register 122 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.1 I/O ポートの概要 MB91220 シリーズ 図 4.1-2 アナログ入力兼用ポートブロックダイヤグラム アナログ入力 ペリフェラル入力 R-bus PDRリード 0 * 1 ストップモード PDR P-ch 端子 1 N-ch PFR 0 DDR *: PDRレジスタに対してリードモディファイライト (RMW)系命令を行った 場合のリード時は, 常に"1"側が選択されます。 DDR:Data Direction Register PDR:Port Data Register PFR:Port Function Register 図 4.1-3 アナログ出力兼用ポートブロックダイヤグラム ペリフェラル入力 R-bus PDRリード * 0 1 ストップモード PDR P-ch 端子 1 PFR N-ch 0 アナログ出力 DDR *: PDRレジスタに対してリードモディファイライト(RMW)系命令を行った 場合のリード時は, 常に"1"側が選択されます。 DDR:Data Direction Register PDR:Port Data Register PFR:Port Function Register CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 123 第 4 章 I/O ポート 4.1 I/O ポートの概要 MB91220 シリーズ ■ 動作モード • ポート入力モード時 (PFR=0 & DDR=0) - PDR リード : 対応する外部端子のレベルが読み出されます。 - PDR ライト : PDR に設定値が書き込まれます。ただし , PDR の値は対応する外 部端子に反映されません。 - リードモディファイライト (RMW) 系命令でのリード : PDR の値が読み出されます。 • ポート出力モード時 (PFR=0 & DDR=1) - PDR リード : PDR の値が読み出されます。 - PDR ライト : PDRに設定値が書き込まれ, PDRの値が対応する外部端子に出力さ れます。 - リードモディファイライト (RMW) 系命令でのリード : PDR の値が読み出されます。 • ペリフェラル出力モード時 - PDR リード : 対応する外部端子のレベルが読み出されます。 - PDR ライト : PDR に設定値が書き込まれます。ただし , PDR の値は対応する外 部端子に反映されません。 - リードモディファイライト (RMW) 系命令でのリード : 対応するペリフェラルの出力の値が読み出されます。 <注意事項> • 端子をリソースの入力として使用する場合は , PFR = 0 かつ DDR = 0 ( ポート入力モー ド ) としてください。 • PD3 ∼ PD0 は , 入力専用端子です。DDR は存在せず PDR リードで常にポートの値が 読み出されます。 LCD 外部電源を使用する場合は "0" が読み出されます。 • 汎用ポート入力とペリフェラル入力を切り換えるレジスタはありません。外部端子か ら入力された値は , 常に汎用ポートとペリフェラル回路へ伝播しています。 また , DDR で出力設定時も外部へ出力している値が常に汎用ポートとペリフェラル回 路へ伝播しています。 ペリフェラル入力としてご使用の場合は , DDR で入力設定にし , 各ペリフェラルの入 力信号を有効にしてご使用ください。 124 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ 4.2 I/O ポートのレジスタ I/O ポートで使用するレジスタの構成および機能について説明します。 ■ ポートデータレジスタ (PDR:PDR0 ∼ PDRG) PDR0 ( アクセス:Byte, Half-word) アドレス 00000000H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 P07 P06 P05 P04 P03 P02 P01 P00 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR1 ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000001H P17 P16 P15 P14 P13 P12 P11 P10 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR2 ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000002H P27 P26 P25 P24 P23 P22 P21 P20 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR3 ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000003H P37 P36 P35 P34 P33 P32 P31 P30 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR4 ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000004H P47 P46 P45 P44 P43 P42 P41 P40 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR5 ( アクセス:Byte, Half-word) アドレス 00000005H bit7 P57 bit6 P56 bit5 P55 bit4 P54 bit3 P53 bit2 P52 bit1 P51 bit0 初期値 P50 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR6 ( アクセス:Byte, Half-word) アドレス 00000006H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 P67 P66 P65 P64 P63 P62 P61 P60 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR7 ( アクセス:Byte, Half-word) アドレス 00000007H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 P73 P72 P71 P70 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----XXXXB ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 125 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ( 続き ) PDR8 ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000008H P87 P86 P85 P84 P83 P82 P81 P80 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDR9 ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000009H P97 P96 P95 P94 P93 P92 P91 P90 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDRA ( アクセス:Byte, Half-word) アドレス 0000000AH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PA3 PA2 PA1 PA0 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----XXXXB PDRB ( アクセス:Byte, Half-word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000000BH PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDRC ( アクセス:Byte, Half-word) アドレス 0000000CH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PC3 PC2 PC1 PC0 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----XXXXB PDRD ( アクセス:Byte, Half-word) アドレス 0000000DH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 0000XXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDRE ( アクセス:Byte, Half-word) アドレス 0000000EH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDRF ( アクセス:Byte, Half-word) アドレス 0000000FH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 PF7 PF6 PF5 PF4 PF3 PF2 PF1 PF0 XXXXXXXXB R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W PDRG ( アクセス:Byte, Half-word) アドレス 00000010H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PG3 PG2 PG1 PG0 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----XXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PDR0 ∼ PDRG は I/O ポートの入出力データレジスタです。 対応する DDR0 ∼ DDRG, PFR0 ∼ PFRG にて , 入出力制御が行われます。 126 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ■ データ方向レジスタ (DDR:DDR0 ∼ DDRG) 図 4.2-1 データ方向レジスタ (DDR:Data Direction Register) の構成 DDR0 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000400H P07 P06 P05 P04 P03 P02 P01 P00 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR1 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000401H P17 P16 P15 P14 P13 P12 P11 P10 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR2 ( アクセス:Byte, Half-word, Word) アドレス 00000402H bit7 P27 bit6 P26 bit5 P25 bit4 P24 bit3 P23 bit2 P22 bit1 P21 bit0 初期値 P20 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR3 ( アクセス:Byte, Half-word, Word) アドレス 00000403H bit7 P37 bit6 P36 bit5 P35 bit4 P34 bit3 P33 bit2 P32 bit1 P31 bit0 初期値 P30 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR4 ( アクセス:Byte, Half-word, Word) アドレス 00000404H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 P47 P46 P45 P44 P43 P42 P41 P40 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR5 ( アクセス:Byte, Half-word, Word) アドレス 00000405H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 P57 P56 P55 P54 P53 P52 P51 P50 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR6 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000406H P67 P66 P65 P64 P63 P62 P61 P60 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDR7 ( アクセス:Byte, Half-word, Word) アドレス 000004007H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 P73 P72 P71 P70 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----0000B DDR8 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000408H P87 P86 P85 P84 P83 P82 P81 P80 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 127 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ( 続き ) DDR9 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000409H P97 P96 P95 P94 P93 P92 P91 P90 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDRA ( アクセス:Byte, Half-word, Word) アドレス 0000040AH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PA3 PA2 PA1 PA0 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----0000B DDRB ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000040BH PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDRC ( アクセス:Byte, Half-word, Word) アドレス 0000040CH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 PC3 PC2 PC1 PC0 ----0000B bit3 bit2 bit1 bit0 初期値 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDRD ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 0000040DH PD7 PD6 PD5 PD4 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 1111----B DDRE ( アクセス:Byte, Half-word, Word) アドレス 0000040EH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDRF ( アクセス:Byte, Half-word, Word) アドレス 0000040FH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 PF7 PF6 PF5 PF4 PF3 PF2 PF1 PF0 00000000B R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W DDRG ( アクセス:Byte, Half-word, Word) アドレス 00000410H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PG3 PG2 PG1 PG0 − − − − R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W R,RM/W 初期値 ----0000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) DDR0 ∼ DDRG は , 対応する I/O ポートの入出力方向をビット単位で制御します。 PFR=0 のとき DDR=0 : ポート入力ならびに , ペリフェラル入力となります。 DDR=1 : ポート出力となります。 PFR=1 のとき DDR の設定によらず , ペリフェラル出力となります。 128 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ■ ポート機能レジスタ (PFR, EPFR) PFR0 ∼ PFRG および EPFR0 ∼ EPFRG は対応するペリフェラルの出力をビット単位で 制御します。 PFR および EPFR の未使用ビットには必ず "0" を書き込んでください。特に記載がない 場合には PFR=1 で端子はペリフェラル出力となります。 読出し時には , 前回書込みを行った値が読み出されます。 ● P07 ∼ P00 図 4.2-2 ポート機能レジスタ (PFR0) のビット構成 PFR0 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000420H P07 P06 P05 P04 P03 P02 P01 P00 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR0 の設定によって選択される周辺機器の組合せは , 表 4.2-1 のとおりです。 表 4.2-1 周辺機器の組合せ シングルチップモード 外バス 8bit モード 外バス 16bit モード PFR=0 PFR=1 P00/SEG24/D00 P00 SEG24 D00 P01/SEG25/D01 P01 SEG25 D01 P02/SEG26/D02 P02 SEG26 D02 P03/SEG27/D03 P03 SEG27 D03 P04/SEG28/D04 P04 SEG28 D04 P05/SEG29/D05 P05 SEG29 D05 P06/SEG30/D06 P06 SEG30 D06 P07/ATGX SEG31 D07 P07/SEG31/ATGX/D07 PFR=0 PFR=1 外部バス 16 ビットモード時は , 入力が常に有効になりますので , A/D コンバータの外 部トリガ起動は使用しない設定としてください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 129 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P17 ∼ P10 図 4.2-3 ポート機能レジスタ (PFR1) のビット構成 PFR1 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000421H P17 P16 P15 P14 P13 P12 P11 P10 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR1 の設定によって選択される周辺機器の組合せは , 表 4.2-2 のとおりです。 表 4.2-2 周辺機器の組合せ シングルチップモード 外バスモード PFR=0 PFR=1 P10/SEG16/D08 P10 SEG16 D08 P11/SEG17/D09 P11 SEG17 D09 P12/SEG18/D10 P12 SEG18 D10 P13/SEG19/D11 P13 SEG19 D11 P14/SEG20/D12 P14 SEG20 D12 P15/SEG21/D13 P15 SEG21 D13 P16/SEG22/D14 P16 SEG22 D14 P17/SEG23/D15 P17 SEG23 D15 130 FUJITSU SEMICONDUCTOR LIMITED PFR=0 PFR=1 CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P27 ∼ P20 図 4.2-4 ポート機能レジスタ (PFR2) のビット構成 PFR2 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000422H P27 P26 P25 P24 P23 P22 P21 P20 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFR2 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000602H P27 P26 P25 P24 P23 P22 P21 P20 00000000B R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR2 と EPFR2 の設定によって選択される周辺機器の組合せは , 表 4.2-3 のとおりです。 EPFR2 には常に "00H" を書いてください。 表 4.2-3 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 P20/SEG0/A00 P20 SEG0 A00 A00 P21/SEG1/A01 P21 SEG1 A01 A01 P22/SEG2/A02 P22 SEG2 A02 A02 P23/SEG3/A03 P23 P24/SEG4/A04 P24 P25/SEG5/A05 P25 SEG5 A05 A05 P26/SEG6/A06 P26 SEG6 A06 A06 P27/SEG7/A07 P27 SEG7 A07 A07 CM71-10142-5 設定禁止 SEG3 SEG4 設定禁止 A03 A04 FUJITSU SEMICONDUCTOR LIMITED 設定禁止 A03 A04 設定禁止 131 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P37 ∼ P30 図 4.2-5 ポート機能レジスタ (PFR3) のビット構成 PFR3 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000423H P37 P36 P35 P34 P33 P32 P31 P30 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFR3 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000603H P37 P36 P35 P34 P33 P32 P31 P30 00000000B R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR3 と EPFR3 の設定によって選択される周辺機器の組合せは , 表 4.2-4 のとおりです。 EPFR3 には常に "00H" を書いてください。 表 4.2-4 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 P30/SEG8/A08 P30 SEG8 A08 A08 P31/SEG9/A09 P31 SEG9 A09 A09 P32/SEG10/A10 P32 SEG10 A10 A10 P33/SEG11/A11 P33 P34/SEG12/A12 P34 P35/SEG13/A13 P35 SEG13 A13 A13 P36/SEG14/A14 P36 SEG14 A14 A14 P37/SEG15/A15 P37 SEG15 A15 A15 132 設定禁止 SEG11 SEG12 設定禁止 A11 A12 FUJITSU SEMICONDUCTOR LIMITED 設定禁止 A11 A12 設定禁止 CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P47 ∼ P40 図 4.2-6 ポート機能レジスタ (PFR4) のビット構成 PFR4 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000424H P47 P46 P45 P44 P43 P42 P41 P40 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFR4 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000604H P47 P46 P45 P44 P43 P42 P41 P40 11111111B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR4 と EPFR4 の設定によって選択される周辺機器の組合せは , 表 4.2-5 のとおりです。 EPFR4 の初期値に注意してください。 INT0/INT1 を STOP モード時からの復帰に使用する場合は , PFR および EPFR の該当 ビットを "1" に設定してください ( 表 4.2-5 中の * の設定 )。その他の設定にした場合 は , STOP 時に遮断され , 内部に "L" レベルが入力されます。 表 4.2-5 周辺機器の組合せ シングルチップモード PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 外バスモード PFR=0 EPFR=0 EPFR=1 PFR=1 EPFR=0 EPFR=1 P40/SIN0/ SIN0/INT0 SIN0/INT0* INT0 P40/SIN0/INT0 SIN0/INT0 SIN0/INT0* P41/SOT0 P41 SOT0 P42/SCK0 P42/SCK0 SCK0 P43/SIN3/INT1 SIN3/INT1 SIN3/INT1* P44/SOT3 P44 SOT3 P44 SOT3 P45/SCK3 P45/SCK3 SCK3 P45/SCK3 SCK3 P46/ASX P46 P46 ASX ASX P47/SYSCLK P47 P47 SYSCLK SYSCLK P40/SIN0/INT0 P43/SIN3/INT1 設定禁止 P41 SOT0 P42/SCK0 SCK0 P43/SIN3/ SIN3/INT1 SIN3/INT1* INT1 設定禁止 *: STOP 時の入力遮断が解除されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 133 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P57 ∼ P50 図 4.2-7 ポート機能レジスタ (PFR5) のビット構成 PFR5 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000425H P57 P56 P55 P54 P53 P52 P51 P50 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFR5 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000605H P57 P56 P55 P54 P53 P52 P51 P50 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR5 と EPFR5 の設定によって選択される周辺機器の組合せ , 表 4.2-6 のとおりです。 表 4.2-6 周辺機器の組合せ シングルチップモード PFR=0 PFR=1 外バスモード PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 P50/SIN4/CK0/ CS0X P50/SIN4/CK0 SIN4/CK0 CS0X P50/SIN4/ CK0 CS0X SIN4/CK0 P51/SOT4/CS1X P51 SOT4 CS1X P51 CS1X SOT4 P52/SCK4/CS2X P52/SCK4 SCK4 CS2X P52/SCK4 CS2X SCK4 P53/SIN5/CK1/ CS3X P53/SIN5/CK1 SIN5/CK1 CS3X P53/SIN5/ CK1 CS3X SIN5/CK1 P54/SOT5/RDX P54 SOT5 RDX P54 RDX SOT5 P55/SCK5/ WR0X P55/SCK5 SCK5 WR0X P55/SCK5 WR0X SCK5 P56/OUT0/ WR1X P56 OUT0 WR1X P56 WR1X OUT0 P57/OUT1/RDY P57 OUT1 RDY P57 RDY OUT1 ● P67 ∼ P60 本ポートに対応する PFR/EPFR レジスタは存在しません。 リセットで , アナログ入力端子に初期化されます。汎用ポートとして使用する場合には ADER レジスタの対応するビットを必ず "0" に設定してください (「21.2 A/D コンバー タのレジスタ」の項を参照 )。 134 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P73 ∼ P70 図 4.2-8 ポート機能レジスタ (PFR7) のビット構成 PFR7 ( アクセス:Byte, Half-word, Word) アドレス 00000427H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R,WX − R,WX − R,WX − R,WX P73 P72 P71 P70 ----0000B R/W R/W R/W R/W EPFR7 ( アクセス:Byte, Half-word, Word) アドレス 00000607H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R,WX − R,WX − R,WX − R,WX P73 P72 P71 P70 ----0000B R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR7, EPFR7 の設定によって選択される周辺機器の組合せは , 表 4.2-7 のとおりです。 INT6/INT7 を STOPモード時からの復帰に使用する場合は , PFR の該当ビットを "1" に , EPFR の該当ビットを "0" に設定してください ( 表 4.2-7 中の * の設定 )。その他の設定 にした場合は , STOP 時に遮断され , 内部に "L" レベルが入力されます。 表 4.2-7 周辺機器の組合せ シングルチップモード PFR=0 PFR=1 EPFR=0 EPFR=1 P70/RX0/INT6 P71/TX0 P72/RX1/INT7 P73/TX1 外バスモード EPFR=0 PFR=0 EPFR=1 EPFR=0 EPFR=1 PFR=1 EPFR=0 EPFR=1 P70/RX0/INT6 RX0/INT6* RX0/INT6 P70/RX0/INT6 RX0/INT6* RX0/INT6 P71 TX0 P71 TX0 P72/RX1/INT7 RX1/INT7* RX1/INT7 P72/RX1/INT7 RX1/INT7* RX1/INT7 P73 TX1 P73 TX1 *: STOP 時の入力遮断が解除されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 135 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P87 ∼ P80 図 4.2-9 ポート機能レジスタ (PFR8) のビット構成 PFR8 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000428H P87 P86 P85 P84 P83 P82 P81 P80 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFR8 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000608H P87 P86 P85 P84 P83 P82 P81 P80 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 本ポートには , A/D のアナログ入力が割り当てられています。リセット時は , アナログ 入力に初期化されますので , 汎用ポート / 周辺リソースを使用する場合は , ADER レジ スタの対応するビットを "0" に設定してください (「21.2 A/D コンバータのレジスタ」 の項参照 )。 PFR8, EPFR8 の設定によって選択される周辺機器の組合せは , 表 4.2-8 のとおりです。 IN3 ∼ IN0 および INT2 は , ポート D に割り当てられている周辺機能です。ポート D を LCD 外部電源として使用する場合 , これらの機能をポート 8 で使用することができま す。 ポート 8 でこれらの機能を使用する場合は , ポート D では使用しないように PFRD/ EPFRD を設定してください。 INT5 ∼ INT3 を STOP モード時からの復帰に使用する場合は , PFR の該当ビットを "1" に , EPFR の該当ビットを "0" に設定してください ( 表 4.2-8 中の * の設定 )。その他の 設定にした場合は , STOP 時に遮断され , 内部に "L" レベルが入力されます。 INT2 を STOP モード時からの復帰に使用する場合は , PFR および EPFR の該当ビット を "1" に設定してください ( 表 4.2-8 中の * の設定 )。その他の設定にした場合は , STOP 時に遮断され , 内部に "L" レベルが入力されます。 表 4.2-8 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 EPFR=0 EPFR=1 EPFR=0 PFR=0 EPFR=1 EPFR=0 EPFR=1 PFR=1 EPFR=0 EPFR=1 P80/AN16/IN0 P80 P80/IN0 P80 IN0 P80 P80/IN0 P80 IN0 P81/AN17/IN1 P81 P81/IN1 P81 IN1 P81 P81/IN1 P81 IN1 P82/AN18/IN2 P82 P82/IN2 P82 IN2 P82 P82/IN2 P82 IN2 P83/AN19/IN3 P83 P83/IN3 P83 IN3 P83 P83/IN3 P83 IN3 P84/AN20/INT2 P84 P84/INT2 P84 INT2* P84 P84/INT2 P84 INT2* P85/AN21/INT3 P85/INT3 P85/INT3* P85/INT3 P85/INT3 P85/INT3* P85/INT3 P86/AN22/INT4 P86/INT4 P86/INT4* P86/INT4 P86/INT4 P86/INT4* P86/INT4 P87/AN23/INT5 P87/INT5 P87/INT5* P87/INT5 P87/INT5 P87/INT5* P87/INT5 *: STOP 時の入力遮断が解除されます。 136 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● P97 ∼ P90 図 4.2-10 ポート機能レジスタ (PFR9) のビット構成 PFR9 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000429H P97 P96 P95 P94 P93 P92 P91 P90 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFR9 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000609H P97 P96 P95 P94 P93 P92 P91 P90 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFR9, EPFR9 の設定によって選択される周辺機器の組合せは , 表 4.2-9 のとおりです。 PWC0 は , ポート D に割り当てられている周辺機能です。ポート D を LCD 外部電源と して使用する場合 , これらの機能をポート 9 で使用することができます。ポート 9 でこ れらの機能を使用する場合は , ポート D では使用しないように PFRD/EPFRD を設定し てください。 表 4.2-9 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 P90/DA0 P91/DA1/PWC0 P90 DA0 P91/ PWC0 P91 DA1 P90 PWC0 DA0 P91/ PWC0 P91 DA1 PWC0 P92/SGA0 P92 SGA0 P92 SGA0 P93/SGO0 P93 SGO0 P93 SGO0 P94/SGA1 P94 SGA1 P94 SGA1 P95/SGO1 P95 SGO1 P95 SGO1 P96/SGA2 P96 SGA2 P96 SGA2 P97/SGO2 P97 SGO2 P97 SGO2 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 137 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PA3 ∼ PA0 図 4.2-11 ポート機能レジスタ (PFRA) のビット構成 PFRA ( アクセス:Byte, Half-word, Word) アドレス 0000042AH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R,WX − R,WX − R,WX − R,WX PA3 PA2 PA1 PA0 ----0000B R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFRA の設定によって選択される周辺機器の組合せは , 表 4.2-10 のとおりです。 表 4.2-10 周辺機器の組合せ シングルチップモード 外バスモード PFR=0 PFR=1 PFR=0 PFR=1 PA0/PWM1P3 PA0 PWM1P3 PA0 PWM1P3 PA1/PWM1M3 PA1 PWM1M3 PA1 PWM1M3 PA2/PWM2P3 PA2 PWM2P3 PA2 PWM2P3 PA3/PWM2M3 PA3 PWM2M3 PA3 PWM2M3 138 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PB7 ∼ PB0 図 4.2-12 ポート機能レジスタ (PFRB) のビット構成 PFRB ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000042BH PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFRB の設定によって選択される周辺機器の組合せは , 表 4.2-11 のとおりです。 表 4.2-11 周辺機器の組合せ シングルチップモード 外バスモード PFR=0 PFR=1 PFR=0 PFR=1 PB0/PPG8H PB0 PPG8H PB0 PPG8H PB1/PPG9H PB1 PPG9H PB1 PPG9H PB2/PPG10H PB2 PPG10H PB2 PPG10H PB3/PPG11H PB3 PPG11H PB3 PPG11H PB4/PWM1P1 PB4 PWM1P1 PB4 PWM1P1 PB5/PWM1M1 PB5 PWM1M1 PB5 PWM1M1 PB6/PWM2P1 PB6 PWM2P1 PB6 PWM2P1 PB7/PWM2M1 PB7 PWM2M1 PB7 PWM2M1 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 139 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PC3 ∼ PC0 図 4.2-13 ポート機能レジスタ (PFRC) のビット構成 PFRC ( アクセス:Byte, Half-word, Word) アドレス 0000042CH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R,WX − R,WX − R,WX − R,WX PC3 PC2 PC1 PC0 ----0000B R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFRC の設定によって選択される周辺機器の組合せは , 表 4.2-12 のとおりです。 表 4.2-12 周辺機器の組合せ シングルチップモード 外バスモード PFR=0 PFR=1 PFR=0 PFR=1 PC0/PWM1P0 PC0 PWM1P0 PC0 PWM1P0 PC1/PWM1M0 PC1 PWM1M0 PC1 PWM1M0 PC2/PWM2P0 PC2 PWM2P0 PC2 PWM2P0 PC3/PWM2M0 PC3 PWM2M0 PC3 PWM2M0 140 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PD7 ∼ PD0 図 4.2-14 ポート機能レジスタ (PFRD) のビット構成 PFRD ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000042DH PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFRD ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000060DH PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFRD と EPFRD の設定によって選択される周辺機器の組合せは , 表 4.2-13 のとおりで す。 PFR=1 のとき , PD3 ∼ PD0 のインプットキャプチャ機能は , LIN-UART の LIN-SYNC に使用されます ( 表 4.2-13 中の * の設定 )。ポートからの入力は伝わりません。 INT2 を STOP モード時からの復帰に使用する場合は , PFR の該当ビットを "1" に , EPFR の該当ビットを "0" に設定してください。その他の設定にした場合は , STOP 時に遮断 され , 内部に "L" レベルが入力されます。 PD3 を V3 に設定すると , LCDC 用の内部分割抵抗の電源は , V3 になります。 表 4.2-13 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 PD0/TIN0/IN0/ PWC0/INT2/V0 PD0/IN0/ TIN0/ INT2/ PWC0 V0 PD1/TIN1/IN1/ V1 PD1/IN1/ TIN1 V1 PD2/TIN2/IN2/ V2 PD2/IN2/ TIN2 V2 PD3/IN3/V3 PD3/IN3 V3 PD4 PPG1H PD5 PD4/COM0/ PPG1H*2 PD5/COM1/ PPG3H*2 PD6/COM2/ PPG5H PD7/COM3/ PPG7H PD0/ TIN0/ INT2/ PWC0 LSYN*1 PD1/TIN1 LSYN*1 PD2/TIN2 LSYN*1 PD3 LSYN*1 PD0/ TIN0/ INT2/ PWC0 LSYN*1 PD1/TIN1 LSYN*1 PD2/TIN2 LSYN*1 PD3 LSYN*1 PD0/IN0/ TIN0/ INT2/ PWC0 V0 V1 LSYN*1 V2 LSYN*1 V3 LSYN*1 PD1/IN1/ TIN1 V1 PD2/IN2/ TIN2 V2 PD3/IN3 V3 PD4 COM0 PD4 PPG1H PD4 COM0 PPG3H PD5 COM1 PD5 PPG3H PD5 COM1 PD6 PPG5H PD6 COM2 PD6 PPG5H PD6 COM2 PD7 PPG7H PD7 COM3 PD7 PPG7H PD7 COM3 V0 LSYN*1 V0 LSYN*1 V1 LSYN*1 V2 LSYN*1 V3 LSYN*1 *1: 上記 , 本文を参照してください。 *2: PD4 と PD5 については,PFRD/EPFRD レジスタにて同じ端子機能を選択してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 141 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PE7 ∼ PE0 図 4.2-15 ポート機能レジスタ (PFRE) のビット構成 PFRE ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000042EH PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W bit3 bit2 bit1 bit0 初期値 00000000B EPFRE ( アクセス:Byte, Half-word, Word) アドレス 0000060EH bit7 bit6 bit5 bit4 PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFREとEPFREの設定によって選択される周辺機器の組合せは, 表 4.2-14のとおりです。 PE7 ∼ PE4 は , I2C の端子です。I2C 機能を使用する場合は , PFR および EPFR の該当 ビットを "1" に設定してください ( 表 4.2-14 中の * の設定 )。このとき , 該当端子の P-ch が off になり , 擬似 N-ch オープンドレイン端子となります。 表 4.2-14 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 PE0/PWM1P2 PE0 PWM1P2 PE0 PWM1P2 PE1/PWM1M2 PE1 PWM1M2 PE1 PWM1M2 PE2/PWM2P2 PE2 PWM2P2 PE2 PWM2P2 PE3/PWM2M2 PE3 PWM2M2 PE3 PWM2M2 PE4/PPG12H/ SDA0 PE4/SDA0 PPG12H SDA0* PE4/SDA0 PPG12H SDA0* PE5/PPG13H/ SCL0 PE5/SCL0 PPG13H SCL0* PE5/SCL0 PPG13H SCL0* PE6/PPG14H/ SDA1 PE6/SDA1 PPG14H SDA1* PE6/SDA1 PPG14H SDA1* PE7/PPG15H/ SCL1 PE7/SCL1 PPG15H SCL1* PE7/SCL1 PPG15H SCL1* *: 上記 , 本文を参照してください。 142 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PF6 ∼ PF0 図 4.2-16 ポート機能レジスタ (PFRF) のビット構成 PFRF ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000042FH PF7 PF6 PF5 PF4 PF3 PF2 PF1 PF0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W EPFRF ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000060FH PF7 PF6 PF5 PF4 PF3 PF2 PF1 PF0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 本ポートには , A/D のアナログ入力が割り当てられています。リセット時は , アナログ 入力に初期化されますので , 汎用ポート / 周辺リソースを使用する場合は , ADER レジ スタの対応するビットを "0" に設定してください (「21.2 A/D コンバータのレジスタ」 の項参照 )。 PFRFとEPFRFの設定によって選択される周辺機器の組合せは, 表 4.2-15のとおりです。 TIN2 ∼ TIN0 は , ポート D に割り当てられている周辺機能です。ポート D を LCD 外 部電源として使用する場合にはポートDでは使用できなくなりますが,代わりにEPFRF で指定することで , これらの機能をポート F で使用することができます。ポート F で この機能を使用する場合は , ポート D では使用しないように PFRD/EPFRD を設定して ください。 表 4.2-15 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 PF0/AN8 PF0 PF0 PF0 PF0 PF1/AN9 PF1 PF1 PF1 PF1 PF2/AN10 PF2 PF2 PF2 PF2 PF3/AN11 PF3 PF3 PF3 PF3 PF4/AN12 PF4 PF4 PF4 PF4 PF5/AN13/TIN0 PF5 使用禁止 PF5 TIN0 PF5 使用禁止 PF5 TIN0 PF6/AN14/TIN1 PF6 使用禁止 PF6 TIN1 PF6 使用禁止 PF6 TIN1 PF7/AN15/TIN2 PF7 使用禁止 PF7 TIN2 PF7 使用禁止 PF7 TIN2 ポート PF5 を使用するときには , PF5 および PF6 の設定に制約があります (「4.5 使用 上の注意事項」を参照してください )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 143 第 4 章 I/O ポート 4.2 I/O ポートのレジスタ MB91220 シリーズ ● PG3 ∼ PG0 図 4.2-17 ポート機能レジスタ (PFRG) のビット構成 PFRG ( アクセス:Byte, Half-word, Word) アドレス 00000430H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R,WX − R,WX − R,WX − R,WX PG3 PG2 PG1 PG0 ----0000B R/W R/W R/W R/W EPFRG ( アクセス:Byte, Half-word, Word) アドレス 00000610H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R,W0 − R,W0 − R,W0 − R,W0 PG3 PG2 PG1 PG0 ----0000B R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PFRG と EPFRG の設定によって選択される周辺機器の組合せは , 表 4.2-16 のとおりで す。 表 4.2-16 周辺機器の組合せ シングルチップモード PFR=0 外バスモード PFR=1 PFR=0 PFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 EPFR=0 EPFR=1 PG0/PPG0H PG0 PPG0H PG1/TOT0/ PPG2H PG1 PPG2H PG2/TOT1/ PPG4H PG2 PPG4H PG3/TOT2/ PPG6H PG3 PPG6H 144 設定禁止 PG0 PPG0H TOT0 PG1 PPG2H TOT1 PG2 PPG4H TOT2 PG3 PPG6H FUJITSU SEMICONDUCTOR LIMITED TOT0 設定禁止 TOT1 TOT2 CM71-10142-5 第 4 章 I/O ポート 4.3 I/O 拡張機能 MB91220 シリーズ 4.3 I/O 拡張機能 I/O 拡張機能について説明します。 ■ I/O 拡張機能 MB91220 シリーズには I/O ポートの拡張機能として , • 入力レベル選択レジスタ : Port Input Level select Register (PILR) • 状態制御レジスタ : Port State Control Register (PSCR) があります。 PILR の値の書換えは , PSCR への所定の書込みアクセス後のみ可能です。読出しは常 に可能です。本拡張機能は , バイトアクセスのみでしか行えません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 145 第 4 章 I/O ポート 4.4 レジスタ説明 4.4 MB91220 シリーズ レジスタ説明 I/O ポートのレジスタについて説明します。 ■ 入力レベル選択レジスタ (PILR) PILRは端子の入力レベル切換えレジスタです。本レジスタの設定により, 対応するビッ ト の 入 力 レ ベ ル を CMOS Automotive Schmitt-Trigger (VIH/VIL = 0.8/0.5 Vcc), CMOS Schmitt-Trigger (VIH/VIL = 0.7/0.3 Vcc), TTL のいずれかに設定することができます。 リセットでは初期化され , Automotive Schmitt-Trigger になります。 図 4.4-1 入力レベル選択レジスタ (PILR) のビット構成 PILR0 ( アクセス:Byte) アドレス 00000540H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B P07 P06 P05 P04 P03 P02 P01 P00 R/W R/W R/W R/W R/W R/W R/W R/W bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B PILR1 ( アクセス:Byte) アドレス 00000541H bit7 P17 P16 P15 P14 P13 P12 P11 P10 R/W R/W R/W R/W R/W R/W R/W R/W bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B PILR4 ( アクセス:Byte) アドレス 00000544H bit7 P47 P46 P45 P44 P43 P42 P41 P40 R,W0 R,W0 R,W0 R,W0 R/W R,W0 R,W0 R/W bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B PILR5 ( アクセス:Byte) アドレス 00000545H bit7 bit6 P57 P56 P55 P54 P53 P52 P51 P50 R/W R,W0 R,W0 R,W0 R/W R,W0 R,W0 R/W bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B PILRE ( アクセス:Byte) アドレス 0000054EH bit7 bit6 PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 R/W R/W R/W R/W R,W0 R,W0 R,W0 R,W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 146 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.4 レジスタ説明 MB91220 シリーズ ● P07 ∼ P00 図 4.4-2 入力レベル選択レジスタ (PILR0) のビット構成 PILR0 ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000540H P07 P06 P05 P04 P03 P02 P01 P00 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) レジスタの設定によって選択される入力レベルは , 表 4.4-1 のとおりです。 表 4.4-1 入力レベル P07 ∼ P00 PILR=0 PILR=1 Automotive TTL ● P17 ∼ P10 図 4.4-3 入力レベル選択レジスタ (PILR1) のビット構成 PILR1 ( アクセス:Byte) アドレス 00000541H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B P17 P16 P15 P14 P13 P12 P11 P10 R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) レジスタの設定によって選択される入力レベルは , 表 4.4-2 のとおりです。 表 4.4-2 入力レベル P17 ∼ P10 PILR=0 PILR=1 Automotive TTL ● P47 ∼ P40 図 4.4-4 入力レベル選択レジスタ (PILR4) のビット構成 PILR4 ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000544H P47 P46 P45 P44 P43 P42 P41 P40 00000000B R,W0 R,W0 R,W0 R,W0 R/W R,W0 R,W0 R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) レジスタの設定によって選択される入力レベルは , 表 4.4-3 のとおりです。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 147 第 4 章 I/O ポート 4.4 レジスタ説明 MB91220 シリーズ 表 4.4-3 入力レベル PILR=0 PILR=1 P47 Automotive P46 Automotive P45 Automotive P44 Automotive P43 Automotive P42 Automotive P41 Automotive P40 Automotive 設定不可 CMOS 設定不可 CMOS ● P57 ∼ P50 図 4.4-5 入力レベル選択レジスタ (PILR5) のビット構成 PILR5 ( アクセス:Byte) アドレス 00000545H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000000B P57 P56 P55 P54 P53 P52 P51 P50 R/W R,W0 R,W0 R,W0 R/W R,W0 R,W0 R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) レジスタの設定によって選択される入力レベルは , 表 4.4-4 のとおりです。 表 4.4-4 入力レベル 148 PILR=0 PILR=1 P57 Automotive TTL P56 Automotive P55 Automotive P54 Automotive P53 Automotive P52 Automotive P51 Automotive P50 Automotive 設定不可 CMOS 設定不可 CMOS FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.4 レジスタ説明 MB91220 シリーズ ● PE7 ∼ PE0 図 4.4-6 入力レベル選択レジスタ (PILRE) のビット構成 PILRE ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000054EH PE7 PE6 PE5 PE4 PE3 PE2 PE1 PE0 00000000B R/W R/W R/W R/W R,W0 R,W0 R,W0 R,W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) レジスタの設定によって選択される入力レベルは , 表 4.4-5 のとおりです。 表 4.4-5 入力レベル PILR=0 PILR=1 PE7 Automotive CMOS PE6 Automotive CMOS PE5 Automotive CMOS PE4 Automotive CMOS PE3 Automotive PE2 Automotive PE1 Automotive PE0 Automotive 設定不可 ■ ポート状態制御レジスタ (PSCR) 図 4.4-7 ポート状態制御レジスタ (PSCR) のビット構成 PSCR ( アクセス:Byte) アドレス 000004FCH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit7 − − − − − − − − RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W 初期値 XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) PSCR は , PILR の書換えを制御するためのレジスタです。本レジスタはバイトライト アクセスのみ可能です。読み出すことはできません。読出し時は不定値が読み出され ます。 詳細は 「●ポート拡張機能レジスタの書換え」を参照してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 149 第 4 章 I/O ポート 4.4 レジスタ説明 MB91220 シリーズ ● ポート拡張機能レジスタの書換え PPER, PPCR および PILR レジスタの値を書き換える前に , PSCR (000004FCH) に対して , "A5H" → "5AH" の順に書込みアクセスを実行してください。 以下にアセンブラコード例を示します。 ldi #0x000004fc, r0 // r0=PSCR address ldi:8 #0xA5, r1 // r1=A5 ldi:8 #0x5A, r2 // r2=5A stb r1, @r0 // write A5 to PSCR stb r2, @r0 // write 5A to PSCR ldub @r0, r0 // ダミーリード PSCR レジスタは書込み専用です。したがって , レジスタの状態が不明の場合は , 書込 みアクセスの前に必ず一度は "A5H", "5AH" 以外のダミーライトを挿入してください。 PILR レジスタの書換えは上記ライトシーケンス後に各レジスタに一度だけ可能です。 レジスタ更新後に再び書換えを実行する場合には , 再びライトにシーケンスを実行す る必要があります。 150 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 4 章 I/O ポート 4.4 レジスタ説明 MB91220 シリーズ 図 4.4-8 PSCR レジスタへの書込みアクセス手順 書込み禁止 PSCRへの 書込みアクセス A5H ? NO YES PSCRへの 書込みアクセス 5AH ? NO YES PSCRへの 読出しアクセス 書込み許可 PSCRへの 書込みアクセス PSCRへの 読出しアクセス ● 使用上の注意 入力選択レジスタ PILR の値を変更するときは , 該当端子を入力としているリソースの 機能を無効にした状態で行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 151 第 4 章 I/O ポート 4.5 使用上の注意 4.5 MB91220 シリーズ 使用上の注意 使用上の注意を説明します。 ■ 使用上の注意 入力レベル切換え時には , 予期せぬ値が入力されます。入力選択レジスタ PILR の値を 変更するときは , 該当端子を入力としているリソースの機能を無効にした状態で行っ てください。 152 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第5章 割込みコントローラ 割込みコントローラの概要 , レジスタの構成 / 機能 および動作について説明します。 CM71-10142-5 5.1 割込みコントローラの概要 5.2 割込みコントローラのレジスタ一覧 5.3 割込みコントローラの動作 FUJITSU SEMICONDUCTOR LIMITED 153 第 5 章 割込みコントローラ 5.1 割込みコントローラの概要 5.1 MB91220 シリーズ 割込みコントローラの概要 割込みコントローラは , 割込み受付け / 調停処理を行います。 ■ 割込みコントローラのハードウェア構成 割込みコントローラは , 以下のレジスタおよび回路により構成されます。 • ICR レジスタ • 割込み優先度判定回路 • 割込みレベル , 割込み番号 ( ベクタ ) 発生部 • ホールドリクエスト取下げ要求発生部 ■ 割込みコントローラの主要機能 本モジュールには , 以下の機能があります。 • NMI 要求 / 割込み要求の検出 • 優先度判定 ( レベルおよび番号による ) • 判定結果の要因の割込みレベル伝達 (CPU へ ) • 判定結果の要因の割込み番号伝達 (CPU へ ) 154 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 5 章 割込みコントローラ 5.2 割込みコントローラのレジスタ一覧 MB91220 シリーズ 5.2 割込みコントローラのレジスタ一覧 割込みコントローラで使用するレジスタの構成および機能について説明します。 ■ 割込みコントローラのレジスタ一覧 図 5.2-1 割込みコントローラのレジスタ一覧 bit7 bit6 bit5 アドレス : 00000440H − − − bit4 ICR4 bit3 ICR3 bit2 ICR2 bit1 ICR1 bit0 ICR0 ICR00 アドレス : 00000441H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR01 ICR3 ICR2 ICR1 ICR0 ICR02 アドレス : 00000442H − − − ICR4 アドレス : 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 ICR3 ICR2 ICR1 ICR0 ICR09 アドレス : 00000449H − − − ICR4 アドレス : 0000044AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR10 アドレス : 0000044BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR11 ICR3 ICR2 ICR1 ICR0 ICR12 アドレス : 0000044CH − − − ICR4 アドレス : 0000044DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR13 アドレス : 0000044EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR14 アドレス : 0000044FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR15 ICR3 ICR2 ICR1 ICR0 ICR16 アドレス : 00000450H − − − ICR4 アドレス : 00000451H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR17 アドレス : 00000452H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR18 ICR3 ICR2 ICR1 ICR0 ICR19 アドレス : 00000453H − − − ICR4 アドレス : 00000454H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR20 アドレス : 00000455H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR21 アドレス : 00000456H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR22 ICR3 ICR2 ICR1 ICR0 ICR23 アドレス : 00000457H − − − ICR4 アドレス : 00000458H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR24 アドレス : 00000459H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR25 ICR3 ICR2 ICR1 ICR0 ICR26 アドレス : 0000045AH − − − ICR4 アドレス : 0000045BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR27 アドレス : 0000045CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR28 ICR3 ICR2 ICR1 ICR0 ICR29 ICR3 ICR2 ICR1 ICR0 ICR30 ICR4 ICR3 − − − R1,WX R1,WX R1,WX R1,W1 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR31 アドレス : 0000045DH − − − ICR4 アドレス : 0000045EH − − − ICR4 アドレス : 0000045FH ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 155 第 5 章 割込みコントローラ 5.2 割込みコントローラのレジスタ一覧 MB91220 シリーズ ( 続き ) bit7 bit6 bit5 アドレス : 00000460H − − − bit4 ICR4 bit3 ICR3 bit2 ICR2 bit1 ICR1 bit0 ICR0 ICR32 アドレス : 00000461H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR33 アドレス : 00000462H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR34 ICR3 ICR2 ICR1 ICR0 ICR35 アドレス : 00000463H − − − ICR4 アドレス : 00000464H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR36 アドレス : 00000465H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR37 ICR3 ICR2 ICR1 ICR0 ICR38 アドレス : 00000466H − − − ICR4 アドレス : 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 ICR3 ICR2 ICR1 ICR0 ICR45 ICR3 ICR2 ICR1 ICR0 ICR46 ICR4 ICR3 − − − R1,WX R1,WX R1,WX R1,W1 R/W LVL4 LVL3 − − − R0,W0 R1,WX R1,WX R1,W1 R/W ICR2 R/W LVL2 R/W ICR1 R/W LVL1 R/W ICR0 R/W LVL0 R/W ICR47 アドレス : 0000046DH − − − ICR4 アドレス : 0000046EH − − − ICR4 アドレス : 0000046FH アドレス : 00000045H HRCL ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ■ 割込みコントローラのブロックダイヤグラム 図 5.2-2 割込みコントローラのブロックダイヤグラム WAKEUP (LVL≠11111Bのとき"1") 優先度判定 LVL4~LVL0 HLDREQ 取下げ 要求 LVL判定 RI00 ・ ・ ・ RI47 (DLYIRQ) ICR00 ・ ・ ・ ICR47 VECTOR 判定 6 LVL, VECTOR 発生 MHALTI VCT5~VCT0 R-bus 156 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 5 章 割込みコントローラ 5.2 割込みコントローラのレジスタ一覧 MB91220 シリーズ 割込み制御レジスタ ( ICR) 5.2.1 割込み制御レジスタは , 各割込み入力に対して 1 つずつ設けられており , 対応する割 込み要求の割込みレベルを設定します。 ■ 割込み制御レジスタ (ICR) のビット構成 図 5.2-3 割込み制御レジスタ (ICR) のビット構成 ICR ( アクセス:Byte, Half-word, Word) アドレス bit7 ch.00:000440H bit6 bit5 bit4 bit3 bit2 bit1 bit0 ∼ − − − ICR4 ICR3 ICR2 ICR1 ICR0 R1,WX R1,WX R1,WX R1,W1 R/W R/W R/W R/W 初期値 ---11111B ch.47:00046FH ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対応する割 込み要求の割込みレベルを設定します。 [bit4 ∼ bit0] ICR4 ∼ ICR0 割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。 本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定されたレベルマ スク値以上の場合は , CPU 側にて割込み要求はマスクされます。 リセットにより , "11111B" に初期化されます。 設定可能な割込みレベル設定ビットと割込みレベルの対応を表 5.2-1 に示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 157 第 5 章 割込みコントローラ 5.2 割込みコントローラのレジスタ一覧 MB91220 シリーズ 表 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 NMI 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 割込み禁止 割込みレベル システム予約 ( 注意事項 ) ICR4 は "1" 固定で , "0" を書き込むことはできません。 ■ HRCL(Hold Request Cancel Level register) HRCL ( アクセス:Byte, Half-word, Word) アドレス 00000045H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ─ ─ ─ LVL4 LVL3 LVL2 LVL1 LVL0 R0,W0 R1,WX R1,WX R1,W1 R/W R/W R/W R/W 初期値 0--11111B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。 [bit7 ∼ bit5] 予約ビット 必ず "0" を書いてください。 [bit4 ∼ bit0] LVL4 ∼ LVL0 バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定 します。 本レジスタに設定した割込みレベルより強いレベルを持つ割込み要求が発生した 場合は , バスマスタに対してホールドリクエスト取下げ要求を発生します。 LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。 158 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ 5.3 割込みコントローラの動作 割込みコントローラの動作として , 以下の項目について説明します。 • 優先順位判定 • ホールドリクエストの取下げ要求 • スタンバイモード ( ストップ / スリープ ) からの復帰 ■ 優先順位判定 本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選 択し , その要因の割込みレベルと割込み番号を CPU へ出力します。 割込み要因の優先順位判定基準は , 次のとおりです。 ① NMI ②以下の条件を満たす要因 • 割込みレベルの数値が 31 以外 (31 は割込み禁止 ) • 割込みレベルの数値が最も小さい要因 ( 要因 1) • 要因 1 の条件下で , 最も小さい割込み番号を持つ要因 上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし て 31 (11111B) を出力します。そのときの割込み番号は不定です。 割込み要因と割込み番号 , 割込みレベルの関係を表 5.3-1 に示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 159 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ ■ ベクタテーブル 表 5.3-1 ベクタテーブル (1 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ セット TBR デフォルト のアドレス DMA リセット 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 − コプロセッサ不在トラップ 7 07 − 3E0H 000FFFE0H − コプロセッサエラートラップ 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 0FH 固定 3C0H 000FFFC0H − 外部割込み 0/1/2/6/7 16 10 ICR00 3BCH 000FFFBCH − 外部割込み 3 17 11 ICR01 3B8H 000FFFB8H 6 外部割込み 4 18 12 ICR02 3B4H 000FFFB4H 7 外部割込み 5 19 13 ICR03 3B0H 000FFFB0H − PPG0H/0L/8H/8L 20 14 ICR04 3ACH 000FFFACH − PPG2H/2L/9H/9L 21 15 ICR05 3A8H 000FFFA8H − PPG4H/4L/10H/10L 22 16 ICR06 3A4H 000FFFA4H − PPG6H/6L/11H/11L 23 17 ICR07 3A0H 000FFFA0H − リロードタイマ 0 24 18 ICR08 39CH 000FFF9CH 8 リロードタイマ 1 25 19 ICR09 398H 000FFF98H 9 リロードタイマ 2 26 1A ICR10 394H 000FFF94H 10 160 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ 表 5.3-1 ベクタテーブル (2 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ セット TBR デフォルト のアドレス DMA LIN-UART 0 ( 受信 ) 27 1B ICR11 390H 000FFF90H − LIN-UART 0 ( 送信 ) 28 1C ICR12 38CH 000FFF8CH − LIN-UART 1 ( 受信 ) 29 1D ICR13 388H 000FFF88H 1 LIN-UART 1 ( 送信 ) 30 1E ICR14 384H 000FFF84H 4 LIN-UART 2 ( 受信 ) 31 1F ICR15 380H 000FFF80H 2 LIN-UART 2 ( 送信 ) 32 20 ICR16 37CH 000FFF7CH 5 LIN-UART 3 ( 受信 ) 33 21 ICR17 378H 000FFF78H − LIN-UART 3 ( 送信 ) 34 22 ICR18 374H 000FFF74H − CAN0 35 23 ICR19 370H 000FFF70H − CAN1 36 24 ICR20 36CH 000FFF6CH − PPG12H/12L/I2C0 37 25 ICR21 368H 000FFF68H − PPG13H/13L 38 26 ICR22 364H 000FFF64H − PPG14H/14L/I2C1 39 27 ICR23 360H 000FFF60H − PWC ( 測定終了 ) 40 28 ICR24 35CH 000FFF5CH − PWC ( オーバフロー ) 41 29 ICR25 358H 000FFF58H − DMAC 42 2A ICR26 354H 000FFF54H − ADC 43 2B ICR27 350H 000FFF50H 14 リアルタイムクロック 44 2C ICR28 34CH 000FFF4CH − PPG15H/15L 45 2D ICR29 348H 000FFF48H − メイン発振安定待ちタイマ 46 2E ICR30 344H 000FFF44H − タイムベースタイマ オーバフロー 47 2F ICR31 340H 000FFF40H − PPG1H/1L 48 30 ICR32 33CH 000FFF3CH 11 PPG3H/3L 49 31 ICR33 338H 000FFF38H 12 PPG5H/5L 50 32 ICR34 334H 000FFF34H 13 PPG7H/7L 51 33 ICR35 330H 000FFF30H 3 16 ビットフリーランタイマ 0 52 34 ICR36 32CH 000FFF2CH − 16 ビットフリーランタイマ 1 53 35 ICR37 328H 000FFF28H − ICU0 54 36 ICR38 324H 000FFF24H − CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 161 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ 表 5.3-1 ベクタテーブル (3 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ セット TBR デフォルト のアドレス DMA ICU1 55 37 ICR39 320H 000FFF20H − ICU2 56 38 ICR40 31CH 000FFF1CH − ICU3 57 39 ICR41 318H 000FFF18H − OCU0 58 3A ICR42 314H 000FFF14H − OCU1 59 3B ICR43 310H 000FFF10H − サウンドジェネレータ 0 60 3C ICR44 30CH 000FFF0CH − サウンドジェネレータ 1 61 3D ICR45 308H 000FFF08H − サウンドジェネレータ 2 62 3E ICR46 304H 000FFF04H − 遅延割込み 63 3F ICR47 300H 000FFF00H − システム予約 64 40 − 2FCH 000FFEFCH − システム予約 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 − 80 | 255 50 | FF 2BCH 000FEBCH INT 命令 − | 000H | 000FFC00H − ( 注意事項 ) MB91220 シリーズでは , NMI はサポートしていません。 162 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ ■ ホールドリクエスト取下げ要求 (Hold Request Cancel Request) 優先度の高い割込み処理を , CPU のホールド中 (DMA 転送中 ) に行う場合は , ホールド リクエスト発生元においてリクエストを取り下げさせる必要があります。この取下げ 要求発生の基準となる割込みレベルを HRCL レジスタに設定します。 ● 発生基準 HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合 は , ホールドリクエスト取下げ要求を発生します。 HRCL レジスタの割込みレベル>優先度判定後の割込みレベル →取下げ要求発生 HRCL レジスタの割込みレベル≦優先度判定後の割込みレベル →取下げ要求なし 取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効 であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割 込み要因をクリアしてください。 ● 設定可能なレベル HRCL レジスタに設定可能な値は , ICR と同様に "10000B" から "11111B" までです。 "11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生し , また , "10000B" に設定した場合は NMI でのみ取下げ要求を発生することになります。 表 5.3-2 に , ホールドリクエスト取下げ要求発生となる割込みレベルの設定を示しま す。 表 5.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定 HRCL レジスタ 取下げ要求発生となる割込みレベル 16 NMI のみ 17 NMI, 割込みレベル 16 18 NMI, 割込みレベル 16 ∼ 17 ∼ ∼ 31 NMI, 割込みレベル 16 ∼ 30 [ 初期値 ] リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割 込みが発生していると DMA 転送が行われませんので , HRCL レジスタの値を必要な値 に設定してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 163 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ ■ スタンバイモード ( ストップ / スリープ ) からの復帰 割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し ます。 NMI を含む周辺からの割込み要求 ( 割込みレベルが "11111B" 以外 ) が 1 つでも発生す ると , クロック制御部に対してストップモードからの復帰要求を発生します。 優先度判定部はストップ復帰後クロックが供給されてから動作を再開しますので , 優 先度判定部の結果が出るまでの間 , CPU は命令を実行します。 スリープ状態からの復帰においても , 同様に動作します。 また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。 <注意事項> ストップおよびスリープからの復帰の要因としたくない割込み要因は , 対応する周辺の制 御レジスタにて割込みレベルを "11111B" にしてください。 MB91220 シリーズでは , NMI はサポートしていません。 164 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ ■ ホールドリクエスト取下げ要求機能 (HRCL) の使用例 DMA 転送中に , CPU が優先度の高い処理を行うときは , DMA に対してホールドリク エストを取り下げさせ , ホールド状態を解除する必要があります。ここでは , 割込みを 利用して DMA に対してホールドリクエストの取下げ , すなわち , CPU の優先動作を実 現します。 ● 制御レジスタ 1. HRCL ( ホールドリクエストキャンセルレベル設定レジスタ ) : 本モジュール : 本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に , DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ ルを設定します。 2. ICR : 本モジュール 使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定し ます。 ● ハードウェア構成 図 5.3-1 に , ホールドリクエストの各信号の流れを示します。 図 5.3-1 ホールドリクエストの各信号の流れ 本モジュール IRQ バスアクセス要求 DHREQ:D-busホールドリクエスト DHREQ MHALTI DHACK:D-busホールドアクノリッジ I-ユニット B-ユニット DMA CPU (ICR) IRQ :割込み要求 MHALTI:ホールドリクエスト DHACK (HRCL) 取下げ要求 ● シーケンス 図 5.3-2 に , HRCL レジスタに設定したレベルより強い場合のシーケンスを示します。 図 5.3-2 割込みレベル HRCL < ICR (LVL) RUN CPU バスホールド バスホールド(DMA転送) 割込み処理 ① ② バスアクセス要求 割込みルーチンの例 ①割込み要因クリア DHREQ ~ DHACK ②RETI IRQ LVL MHALTI 割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した レベルより強いと DMA に対して MHALTI をアクティブにします。これによって DMA はアクセス要求を下げ , CPU はホールド状態から復帰して割込み処理を行います。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 165 第 5 章 割込みコントローラ 5.3 割込みコントローラの動作 MB91220 シリーズ 図 5.3-3 に , 多重割込みの場合のシーケンスを示します。 図 5.3-3 割込みレベル HRCL < ICR ( 割込み I) < ( 割込み II) RUN バスホールド 割込みⅠ ③ CPU ④ バスホールド(DMA転送) 割込み処理Ⅰ 割込み処理Ⅱ ① ② バスアクセス要求 DHREQ DHACK IRQ1 IRQ2 LVL MHALTI 〔割込みルーチンの例〕 ① , ③割込み要因クリア ∼ ② , ④ RETI 上記の例では , 割込みルーチン I を実行中にそれよりも優先度の高い割込みが発生した 場合を示しています。 HRCL レジスタに設定した割込みレベルより高い割込みレベルが発生している間は , DHREQ は下がっています。 <注意事項> HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してください。 166 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第6章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能お よび動作について説明します。 CM71-10142-5 6.1 外部割込み制御部の概要 6.2 外部割込み制御部のレジスタ 6.3 外部割込み制御の動作 FUJITSU SEMICONDUCTOR LIMITED 167 第 6 章 外部割込み制御部 6.1 外部割込み制御部の概要 6.1 MB91220 シリーズ 外部割込み制御部の概要 外部割込み制御部は , INT0 ∼ INT7 に入力される外部割込み要求の制御を行うブ ロックです。検出する要求のレベルとして , "H", "L", " 立上りエッジ ", " 立下り エッジ " の 4 種類から選択できます。 ■ 外部割込み制御部のレジスタ一覧 外部割込みのレジスタ一覧は以下のとおりです。 図 6.1-1 外部割込み制御部のレジスタ一覧 EIRR0 ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00000040H ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 00000000B R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W ENIR0 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000041H EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ELVR0 ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00000042H 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 初期値 00000043H LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ■ 外部割込み制御部のブロックダイヤグラム 図 6.1-2 に外部割込みのブロックダイヤグラムを示します。 図 6.1-2 外部割込み制御部のブロックダイヤグラム R-bus 16 割込み要求 16 16 16 168 割込み許可レジスタ ゲート 要因 F/F エッジ検出回路 8 INT0~ INT7 割込み要因レジスタ 要求レベル設定レジスタ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 6 章 外部割込み制御部 6.2 外部割込み制御部のレジスタ MB91220 シリーズ 6.2 外部割込み制御部のレジスタ 外部割込み制御部のレジスタ構成および機能について説明します。 ■ 外部割込み制御部のレジスタ詳細 外部割込み制御部のレジスタには , 以下の 3 種類があります。 • 割込み許可レジスタ (ENIR : ENable Interrupt request Register) • 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) • 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 169 第 6 章 外部割込み制御部 6.2 外部割込み制御部のレジスタ 6.2.1 MB91220 シリーズ 割込み許可レジスタ (ENIR : ENable Interrupt request Register) 割込み許可レジスタ (ENIR) のビット構成と機能を説明します。 ■ 外部割込み要因レジスタ (ENIR : ENable Interrupt request Register) 図 6.2-1 割込み許可レジスタ (ENIR) のビット構成 ENIR0 ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00000041H EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) このレジスタの "1" が書かれたビットに対応する割込み要求出力は許可され (INT0 の 許可を EN0 が制御 ), 割込みコントローラに対して要求が出力されます。"0" が書かれ たビットの対応する端子は割込み要因を保持しますが , 割込みコントローラに対して は要求を発生しません。 170 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 6 章 外部割込み制御部 6.2 外部割込み制御部のレジスタ MB91220 シリーズ 6.2.2 外部割込み要因レジスタ (EIRR : External Interrupt Request Register) 外部割込み要因レジスタ (EIRR) のビット構成と機能を説明します。 ■ 割込み許可レジスタ (EIRR : External Interrupt Request Register) 図 6.2-2 外部割込み要因レジスタ (EIRR) のビット構成 EIRR0 ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00000040H ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 00000000B R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W R(RM1), W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) この EIRR レジスタを読み出したときに "1" であった場合 , そのビットに対応する端子 に外部割込み要求があることを示します。 また , このレジスタに "0" を書き込むと , 対応するビットの要求フリップフロップがク リアされます。 "1" の書込みは無効です。 リードモディファイライト (RMW) 系命令の読出し時には "1" が読み出されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 171 第 6 章 外部割込み制御部 6.2 外部割込み制御部のレジスタ MB91220 シリーズ 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) 6.2.3 外部割込み要求レベル設定レジスタ (ELVR) のビット構成と機能を説明します。 ■ 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) 図 6.2-3 外部割込み要求レベル設定レジスタ (ELVR) のビット構成 ELVR0 ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00000042H 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 初期値 00000043H LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) INT0 ∼ INT7 に外部割込み要求レベルが 2 ビットずつ割り当てられていて , 表 6.2-1 の ような設定になります。要求入力がレベル設定の場合 , EIRR の各ビットをクリアして も入力がアクティブレベルならば該当するビットは再びセットされます。 表 6.2-1 ELVR 割当て表 LBx LAx 0 0 "L" レベルで要求あり 0 1 "H" レベルで要求あり 1 0 立上りエッジで要求あり 1 1 立下りエッジで要求あり 動 作 ストップモードでの使用は , ストップモードで入力が可能な端子でのみ使用可能です。 ストップモード時に入力が遮断されると , 予期せぬ入力が伝わって , 割込み要因ビット がセットされることがあります。 <注意事項> 外部割込み要求レベルを変更すると , 内部で割込み要因が発生する場合がありますので , 外部割込み要求レベル変更後に外部割込み要因レジスタ (EIRR) をクリアしてください。 外部割込み要因レジスタをクリアする際は一度 , 外部割込み要求レベルレジスタを読み出 してからクリアの書き込みを行ってください。 172 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 6 章 外部割込み制御部 6.3 外部割込み制御の動作 MB91220 シリーズ 6.3 外部割込み制御の動作 外部割込みの動作について説明します。 ■ 外部割込みの動作 要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された要 求が入力されると本モジュールは , 割込みコントローラに対して割込み要求信号を発 生します。割込みコントローラ内で同時発生した割込みの優先順位を識別した結果 , 本 リソースからの割込みが最も優先順位が高かったときに該当する割込みが発生しま す。 図 6.3-1 外部割込みの動作 外部割込み 割込みコントローラ CPU リソース要求 ELVR EIRR ENIR IL ICR yy CMP ICR xx CMP ILM 要因 ■ 外部割込みの動作手順 外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。 1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに 設定する。 2. 割込み許可レジスタ (ENIR) の対象となるビットを禁止状態にする。 3. 外部割込み要求レベル設定レジスタ (ELVR) の対象となるビットを設定する。 4. 外部割込み要求レベル設定レジスタ (ELVR) を読み出す。 5. 外部割込み要因レジスタ (EIRR) の対象となるビットをクリアにする。 6. 割込み許可レジスタ (ENIR) の対象となるビットを許可状態にする。 ただし , 5. と 6. は 16 ビットデータによる同時書込みが可能です。 本モジュール内のレジスタを設定するときには必ず割込み許可レジスタを禁止状態に 設定しておかなくてはなりません。また , 割込み許可レジスタを禁止状態にする前に必 ず要因レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許 可状態時に誤って割込み要因が起こってしまうことを避けるためです。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 173 第 6 章 外部割込み制御部 6.3 外部割込み制御の動作 MB91220 シリーズ ■ 外部割込み要求レベル • 要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス 幅は最小 3 サイクル ( 周辺クロックサイクル ) 必要とします。 • 要求入力レベルがレベル設定の場合 , パルス幅は最小 3 サイクル ( 周辺クロックサ イクル ) 必要とします。また割込み入力端子がアクティブレベルを保持し続けてい る限りは , 外部割込み要因レジスタをクリアしても , 割込みコントローラへの割込 み要求は発生し続けます。 • 要求入力レベルがレベル設定のとき , 外部より要求入力が入ってその後 , 取り下げ られても内部に要因保持回路が存在するので , 割込みコントローラへの要求はアク ティブのままです。 割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要が あります。 図 6.3-2 レベル設定時の要因保持回路のクリア 割込み入力 レベル検出 要因 F/F (要因保持回路) 許可ゲート 割込み コントローラ クリアしない限り要因を保持し続ける 図 6.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求 "H"レベル 割込み入力 割込みコントローラ への割込み要求 要因 F/Fのクリアによってインアクティブとなる <注意事項> • 割込み入力は , 最小 3 サイクル ( 周辺クロックサイクル ) 必要です。 • STOP 時に外部端子を STCR スタンバイ制御レジスタ bit5 の HIZ ビットに "1" を設定 して端子出力をハイインピーダンスにしたとき , PFR/EPFR の設定によって入力可能 にできます。詳細は「■ STOP 状態からの復帰動作」の「● STOP 遷移前の処理」を 参照してください。 174 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 6 章 外部割込み制御部 6.3 外部割込み制御の動作 MB91220 シリーズ ■ 外部割込みを使用した STOP 状態からの復帰時における注意事項 STOP 状態時に , INT 端子へ最初に入力された外部割込み信号は非同期で入力され , STOP 状態から復帰することが可能です。ただし , その STOP 解除から , 発振安定待ち 時間が経過するまでの期間においては , ほかの外部割込み信号の入力を認識できない 期間が存在します ( 図 6.3-4 の b+c+d 期間 )。STOP 解除後の外部入力信号を内部クロッ クに同期させるため , クロックが安定していない期間内は , その割込み要因を保持でき ないためです。 そのため , STOP 解除後の外部割込み入力を行う場合には , 発振安定待ち時間経過後に 外部割込み信号を入力してください。 図 6.3-4 STOP 状態からの外部割込みによる復帰動作のシーケンス INT1 INT0 内部STOP 12μs "H" "L" Regulator 内部動作(RUN) 命令実行(run) X0 内部Clock 割込みフラグクリア INTR0 INTE0 "1"(STOPモードに遷移前にイネーブルへ設定) INTR1 INTE1 “1”(STOPモードに遷移前にイネーブルへ設定) (a)STOP (b) レギュレータ安定待ち時間 (d) 発振安定待ち時間 (e)RUN (c)振動子の発振時間 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 175 第 6 章 外部割込み制御部 6.3 外部割込み制御の動作 MB91220 シリーズ ■ STOP 状態からの復帰動作 現行回路の外部割込みによる STOP 復帰動作は , 以下の動作によって行われます。 ● STOP 遷移前の処理 外部割込みの設定 デバイスが STOP 状態に遷移する前に STOP 状態時の割込み入力パスを許可する必 要があります。これは PFR レジスタ (Port Function Register) で設定を行います。通 常状態 (STOP 以外の状態 ) では割込みの入力パスは許可状態ですので意識する必要 はありません。しかし , STOP 状態では PFR レジスタ値により入力パスが制御され ています。 端子名 外部割込みによる STOP 状態からの復帰時の設定 P70/(RX1)/INT7 PFR7 の bit2 を "1", EPFR7 の bit2 を "0" としてください。 P72/(RX0)/INT6 PFR7 の bit0 を "1", EPFR7 の bit0 を "0" としてください。 P87/AN23/INT5 PFR8 の bit7 を "1", EPFR8 の bit7 を "0" としてください。 P86/AN22/INT4 PFR8 の bit6 を "1", EPFR8 の bit6 を "0" としてください。 P85/AN21/INT3 PFR8 の bit5 を "1", EPFR8 の bit5 を "0" としてください。 P84/AN20/INT2 PFR8 の bit4 を "1", EPFR8 の bit4 を "1" としてください。 PD0/TIN0/IN0/PWC0/ INT2/V0 PFRD の bit0 を "1", EPFRD の bit0 を "0" としてください。 EPFR8 の bit4 は "0" でなければいけません。 P43/SIN3/INT1 PFR4 および EPFR4 の bit3 を "1" としてください。 P40/SIN0/INT0 PFR4 および EPFR4 の bit0 を "1" としてください。 外部割込みの入力 STOP 状態から復帰させたいとき , 外部割込み信号は非同期で入力信号を伝える状 態となっています。この割込み入力がアサートされると直ちに内部 STOP 信号を立 ち下げる動作が行われます。同時に外部割込み回路では , ほかのレベル割込み入力 の同期化を行うように切り換わります。 ● レギュレータ安定待ち時間 内部 STOP 信号が立ち下ると STOP 時のレギュレータから RUN 時のレギュレータ へ切り換え動作が開始されます。RUN 時のレギュレータの電圧出力が安定する前 に内部動作が開始されると動作が不安定になるため , 内部出力電圧の安定待ち時間 として , 約 12μs のレギュレータの安定待ち時間を確保しています。この期間はク ロックが停止しています。 ● 振動子の発振時間 レギュレータ安定待ち時間の終了後 , クロックの発振が開始されます。振動子の発 振時間は使用される振動子により異なります。 176 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 6 章 外部割込み制御部 6.3 外部割込み制御の動作 MB91220 シリーズ ● 発振安定待ち時間 振動子の発振時間後にデバイス内部で発振安定待ち時間が確保されます。発振安定 待ち時間はスタンバイ制御レジスタの OS1, OS0 ビットにより指定します。発振安 定待ち時間終了後 , 内部クロックが供給され , 外部割込みによる割込み命令動作が 開始されるとともに , STOP 状態からの復帰要因以外の外部割込み要因が受付け可 能になります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 177 第 6 章 外部割込み制御部 6.3 外部割込み制御の動作 178 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第7章 REALOS 関連ハード REALOS 関連ハードは , リアルタイム OS により 使用されます。したがって , REALOS を使用する 場合にはユーザプログラムで使用することはでき ません。 遅延割込みモジュールおよびビットサーチモ ジュールの概要 , レジスタ構成および機能 , 動作に ついて説明します。 CM71-10142-5 7.1 遅延割込みモジュール 7.2 ビットサーチモジュール FUJITSU SEMICONDUCTOR LIMITED 179 第 7 章 REALOS 関連ハード 7.1 遅延割込みモジュール 7.1 MB91220 シリーズ 遅延割込みモジュール 遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールで す。 本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生 / 取消しを行うことができます。 ■ レジスタ一覧 図 7.1-1 遅延割込みモジュールのレジスタ一覧 DICR ( アクセス:Byte, Half-word, Word) アドレス 00000044H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − − − − − − − DLYI -------0B R1,WX R1,WX R1,WX R1,WX R1,WX R1,WX R1,WX R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ■ ブロックダイヤグラム 図 7.1-2 ブロックダイヤグラム R-bus DLYI 割込み要求 180 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 7 章 REALOS 関連ハード 7.1 遅延割込みモジュール MB91220 シリーズ ■ レジスタ詳細説明 ● DICR(Delayed Interrupt Control Register) 図 7.1-3 遅延割込み制御レジスタ (DICR) のビット構成 DICR ( アクセス:Byte, Half-word, Word) アドレス 00000044H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − − − − − − − DLYI -------0B R1,WX R1,WX R1,WX R1,WX R1,WX R1,WX R1,WX R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 遅延割込みを制御するレジスタです。 [bit0] DLYI DLYI 説 明 0 遅延割込み要因の解除・要求なし〔初期値〕 1 遅延割込み要因の発生 本ビットにより , 該当する割込み要因の発生・解除を制御します。 ■ 動作説明 遅延割込みは , タスク切換え用の割込みを発生するものです。本機能を使用することに より , ソフトウェアで CPU に対して割込み要求の発生 , 取消しを行うことができます。 ● 割込み番号 遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。 MB91220 シリーズでは , 遅延割込みを割込み番号 63(3FH) に割り当てています。 ● DICR の DLYI ビット このビットに "1" を書き込むことで遅延割込み要因が発生します。また , "0" を書き込 むことで遅延割込み要因を解除します。 本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ ンの中で本ビットをクリアし , 併せてタスクの切換えを行うようにしてください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 181 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール 7.2 MB91220 シリーズ ビットサーチモジュール 入力レジスタに書き込まれたデータに対して "0", "1" または変化点を検索し , 検出 したビット位置を返します。 ■ レジスタ一覧 図 7.2-1 ビットサーチモジュールのレジスタ一覧 bit31 bit0 アドレス : 000003F0H BSD0 0 検出用データレジスタ アドレス : 000003F4H BSD1 1 検出用データレジスタ アドレス : 000003F8H BSDC 変化点検出用データレジスタ アドレス : 000003FCH BSRR 検出結果レジスタ ■ ブロックダイヤグラム 図 7.2-2 ブロックダイヤグラム D-bus 入力ラッチ アドレスデコーダ 検出モード 1検出データ化 ビットサーチ回路 検索結果 182 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール MB91220 シリーズ ■ レジスタ詳細説明 ● 0 検出用データレジスタ (BSD0) 図 7.2-3 0 検出用データレジスタ (BSD0) のビット構成 BSD0 ( アクセス:Word) bit31 000003F0H bit0 属性→ RX,W 初期値→ 不定 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 書き込んだ値に対して , 0 検出を行います。 リセットによる初期値は不定です。読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット /16 ビット長のデータ転送命令は使わないでください )。 ● 1 検出用データレジスタ (BSD1) 図 7.2-4 1 検出用データレジスタ (BSD1) のビット構成 BSD1 ( アクセス:Word) bit31 000003F4H bit0 属性→ R,W 初期値→ 不定 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) データ転送には 32 ビット長のデータ転送命令を使用してください (8 ビット /16 ビット長のデータ転送命令は使わないでください )。 • 書込み時 書き込んだ値に対して , 1 検出します。 • 読出し時 ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避・復帰する ときに使用します。 0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合でも , 1 検出用デー タレジスタのみ操作することで退避・復帰できます。 リセットによる初期値は不定です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 183 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール MB91220 シリーズ ● 変化点検出用データレジスタ (BSDC) 図 7.2-5 変化点検出用データレジスタ (BSDC) のビット構成 ( アクセス:Word) bit31 000003F8H BSDC bit0 属性→ 全ビット RX,W 初期値→ 不定 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 書き込んだ値に対して , 変化点の検出を行います。 リセットによる初期値は不定です。 読出し値は不定です。 データ転送には 32 ビット長のデータ転送命令を使用してください (8 ビット /16 ビット長のデータ転送命令は使わないでください )。 ● 検出結果レジスタ (BSRR) 図 7.2-6 検出結果レジスタ (BSRR) のビット構成 ( アクセス:Word) bit31 000003FCH BSRR bit0 属性→ 全ビット R,WX 初期値→ 不定 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 0 検出 , 1 検出 , または変化点検出の結果が読み出されます。 どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ れます。 184 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール MB91220 シリーズ ■ 動作説明 ● 0 検出 0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "0" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。 表 7.2-1 に検出した位置と返す数値の関係を示します。 "0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ), 32 という値をサーチ 結果として返します。 [ 実行例 ] 書込みデータ 読出し値 (10 進 ) 11111111111111111111000000000000B (FFFFF000H) → 20 11111000010010011110000010101010B (F849E0AAH) → 5 10000000000000101010101010101010B (8002AAAAH) → 1 11111111111111111111111111111111B (FFFFFFFFH) → 32 ● 1 検出 1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "1" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。 表 7.2-1 に検出した位置と返す数値の関係を示します。 "1" が存在しないとき ( すなわち 00000000H という数値のとき ), 32 という値をサーチ 結果として返します。 [ 実行例 ] 書込みデータ CM71-10142-5 読出し値 (10 進 ) 00100000000000000000000000000000B (20000000H) → 2 00000001001000110100010101100111B (01234567H) → 7 00000000000000111111111111111111B (0003FFFFH) → 14 00000000000000000000000000000001B (00000001H) → 31 00000000000000000000000000000000B (00000000H) → 32 FUJITSU SEMICONDUCTOR LIMITED 185 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール MB91220 シリーズ ● 変化点検出 変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンし , MSB の値と比較します。最初に MSB と異なる値を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。 表 7.2-1 に検出した位置と返す数値の関係を示します。 変化点が存在しないときは , 32 を返します。 変化点検出では , 結果として "0" を返すことはありません。 [ 実行例 ] 書込みデータ 読出し値 (10 進 ) 00100000000000000000000000000000B (20000000H) → 2 00000001001000110100010101100111B (01234567H) → 7 00000000000000111111111111111111B (0003FFFFH) → 14 00000000000000000000000000000001B (00000001H) → 31 00000000000000000000000000000000B (00000000H) → 32 11111111111111111111000000000000B (FFFFF000H) → 20 11111000010010011110000010101010B (F849E0AAH) → 5 10000000000000101010101010101010B (8002AAAAH) → 1 11111111111111111111111111111111B (FFFFFFFFH) → 32 表 7.2-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 186 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール MB91220 シリーズ ■ 退避・復帰の処理 割込みハンドラ中でビットサーチモジュールを使う場合のように , ビットサーチモ ジュールの内部状態を退避・復帰させる必要がある場合は , 以下の手順に従ってくださ い。 1. 1 検出用データレジスタを読み出し , この内容を保存する ( 退避 ) 2. ビットサーチモジュールを使用 3. 1. で退避したデータを 1 検出用データレジスタに書き込む ( 復帰 ) 以上の操作により, 次に検出結果レジスタを読み出したときに得られる値は, ①以前に ビットサーチモジュールに書き込まれた内容に応じたものとなります。最後に書き込 まれたデータレジスタが0検出用または変化点検出用であっても, 上記手順で正しく元 に戻ります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 187 第 7 章 REALOS 関連ハード 7.2 ビットサーチモジュール 188 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第8章 16 ビットリロードタイマ 16 ビットリロードタイマの概要 , レジスタの構成 / 機能およびリロードタイマの動作について説明し ます。 CM71-10142-5 8.1 16 ビットリロードタイマの概要 8.2 ブロックダイヤグラム 8.3 16 ビットリロードタイマのレジスタ 8.4 リロードタイマの動作 FUJITSU SEMICONDUCTOR LIMITED 189 第 8 章 16 ビットリロードタイマ 8.1 16 ビットリロードタイマの概要 8.1 MB91220 シリーズ 16 ビットリロードタイマの概要 16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジ スタ , 内部カウントクロック作成用プリスケーラおよびコントロールレジスタで構 成されています。 クロックソースとして内部クロック 3 種類 ( 周辺クロックの 2/8/32 分周を選択可能 ) と 外部イベントから選択できます。 リロードタイマ ch.2 の出力は A/D コンバータのトリガとして使用可能です。 リロードレジスタに設定された周期で A/D 変換を起動することができます。 ■ リロードタイマのレジスタ一覧 図 8.1-1 16 ビットリロードタイマのレジスタ一覧 コントロールステータス レジスタ (TMCSR) ( アクセス:Byte, Half-word) アドレス ch.0:0000004EH ch.1:00000056H ch.2:0000005EH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 − − − − CSL1 CSL0 MOD2 MOD1 ---- 0000B R/W R/W R/W0 R/W R0,WX R0,WX R0,WX R0,WX bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MOD0 − OUTL RELD INTE UF CNTE TRG R/W R0,WX R/W R/W R/W R(RM1), W R/W R0,W 0000 0000B 16 ビットタイマレジスタ (TMR) ( アクセス:Half-word) アドレス ch.0:0000004AH ch.1:00000052H ch.2:0000005AH bit15 bit0 初期値 XXXX XXXX XXXX XXXXB 属性:全ビット R,WX 16 ビットリロードレジスタ (TMRLR) ( アクセス:Half-word) アドレス ch.0:00000048H ch.1:00000050H ch.2:00000058H bit15 bit0 初期値 XXXX XXXX XXXX XXXXB 属性:全ビット RX,W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 190 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 8 章 16 ビットリロードタイマ 8.2 ブロックダイヤグラム MB91220 シリーズ ブロックダイヤグラム 8.2 リロードタイマのブロックダイヤグラムを示します。 ■ ブロックダイヤグラム 図 8.2-1 16 ビットリロードタイマのブロックダイヤグラム 16ビットリロードレジスタ (TMRLR) リロード RELD OUTL INTE UF CNTE TRG 16ビットタイマレジスタ(TMR) R-bus UF OUT CTL カウント イネーブル クロック セレクタ CSL1 CSL0 EXCK プリスケーラ CM71-10142-5 IRQ 外部タイマ 出力 IN CTL プリスケーラ クリア CSL1 CSL0 PFRG内のPG1~PG3ビット 外部トリガ 選択 FUJITSU SEMICONDUCTOR LIMITED 外部トリガ入力 191 第 8 章 16 ビットリロードタイマ 8.3 16 ビットリロードタイマのレジスタ 8.3 MB91220 シリーズ 16 ビットリロードタイマのレジスタ 16 ビットリロードタイマのレジスタについて説明します。 ■ コントロールステータスレジスタ (TMCSR) 図 8.3-1 コントロールステータスレジスタ (TMCSR) コントロールステータス レジスタ (TMCSR) ( アクセス:Byte, Half-word) アドレス ch.0:0000004EH ch.1:00000056H ch.2:0000005EH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 − − − − CSL1 CSL0 MOD2 MOD1 R/W R/W R/W R/W R0,WX R0,WX R0,WX R0,WX 初期値 ----0000B bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 MOD0 − OUTL RELD INTE UF CNTE TRG 00000000B R/W R0,W0 R/W R/W R/W R(RM1), W R/W R0,W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 16 ビットタイマの動作モードおよび割込みの制御を行います。 UF, CNTE, TRG ビット以外の書換えは , CNTE=0 のときに行うようにしてください。 [bit15 ∼ bit12] 未使用ビット 常に "0" が読み出されます。 [bit11, bit10] CSL1, CSL0 (Count source select) カウントソースセレクトビットです。カウントソースは内部クロックと外部イベン トを選択できます。選択可能なカウントソースは以下のとおりです。 カウントソース (φ: 周辺クロック ) φ=32MHz φ=16MHz 内部クロック φ/21 ( 初期値 ) 62.5ns 125ns 1 内部クロック φ/23 250ns 0.5μs 1 0 内部クロック φ/2 5 1.0μs 2.0μs 1 1 外部イベント − − CSL1 CSL0 0 0 0 表に記載されていない設定は禁止です。 外部イベントをカウントソースに設定した場合のカウント有効エッジは MOD1, MOD0 ビットにより設定されます。 外部クロックに必要な最小パルス幅は 2 × T (T: 周辺クロックサイクル ) です。 192 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 8 章 16 ビットリロードタイマ 8.3 16 ビットリロードタイマのレジスタ MB91220 シリーズ [bit9 ∼ bit7] MOD2 ∼ MOD0 (Mode) 動作モードを選択するビットです。カウントソースが「内部クロック」の場合と 「外部クロック」の場合で機能が変わります。 • 内部クロックモードのとき : リロードトリガ設定 外部クロックモードのとき : カウント有効エッジの設定 • また , MOD2 は必ず "0" に設定してください。 [ 内部クロック選択時のリロードトリガ設定 ] カウントソースとして , 内部クロックが選択されている場合は MOD2 ∼ MOD0 ビッ トの設定により有効エッジが入力されるとリロードレジスタの内容をロードして カウント動作を継続します。 MOD2 MOD1 MOD0 0 0 0 ソフトウェアトリガ ( 初期値 ) 0 0 1 外部トリガ ( 立上りエッジ ) 0 1 0 外部トリガ ( 立下りエッジ ) 0 1 1 外部トリガ ( 両エッジ ) 1 X X 設定禁止 有効エッジ X : 不定 [ 外部クロック選択時の有効エッジ設定 ] カウントソースとして , 外部クロックイベントが設定されている場合は MOD2 ∼ MOD0 ビットの設定により有効エッジが入力されるとイベントをカウントします。 MOD2 MOD1 MOD0 有効エッジ X 0 0 − X 0 1 外部トリガ ( 立上りエッジ ) X 1 0 外部トリガ ( 立下りエッジ ) X 1 1 外部トリガ ( 両エッジ ) X X X 設定禁止 X : 不定 外部イベント時のリロードは , アンダフローとソフトウェアトリガで発生します。 [bit6] 未使用ビット 常に "0" が読み出されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 193 第 8 章 16 ビットリロードタイマ 8.3 16 ビットリロードタイマのレジスタ MB91220 シリーズ [bit5] OUTL 外部タイマ出力レベルを設定するビットです。本ビットが "0" のときと "1" のとき では出力レベルが逆になります。 [bit4] RELD リロード許可ビットです。"1" のときリロードモードになり , カウンタの値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジスタの内容をカウンタへロードしてカ ウント動作を続けます。 "0" のときワンショットモードになり , カウンタの値が "0000H" → "FFFFH" へのアン ダフローによりカウント動作を停止します。 PFRG:PGx OUTL RELD 0 X X 出力禁止 1 0 0 カウント中 "H" の矩形波 1 1 0 カウント中 "L" の矩形波 1 0 1 カウントスタート時 "L" のトグル出力 1 1 1 カウントスタート時 "H" のトグル出力 出力波形 X : 不定 PFRG:PGx は , PFRG(Port Function Register) 中の PG1 ∼ PG3 を示します。 [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 の ときには何も起こりません。 194 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 8 章 16 ビットリロードタイマ 8.3 16 ビットリロードタイマのレジスタ MB91220 シリーズ ■ 16 ビットタイマレジスタ (TMR) 図 8.3-2 16 ビットタイマレジスタ (TMR) のビット構成 16 ビットタイマレジスタ (TMR) ( アクセス:Half-word) アドレス bit15 ch.0:0000004AH ch.1:00000052H ch.2:0000005AH bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXX B R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXX B R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定で す。 本レジスタの読出しは必ず 16 ビットデータ転送命令で行ってください。 ■ 16 ビットリロードレジスタ (TMRLR) 図 8.3-3 16 ビットリロードレジスタ (TMRLR) のビット構成 16 ビットリロードレジスタ (TMRLR) ( アクセス:Half-word) アドレス bit15 ch.0:00000048H ch.1:00000050H ch.2:00000058H bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXX B RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXX B RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 本レジスタは , カウントの初期値を保持しておくためのレジスタです。初期値は不定で す。 本レジスタの書込みは必ず 16 ビットデータ転送命令で行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 195 第 8 章 16 ビットリロードタイマ 8.4 リロードタイマの動作 8.4 MB91220 シリーズ リロードタイマの動作 リロードタイマの以下の動作について説明します。 • 内部クロック動作 • アンダフロー動作 ■ 内部クロック動作 内部クロックの分周クロックでタイマを動作させる場合 , カウントソースとして周辺 クロックの 2・8・32 分周のクロックから選択することができます。 カウント許可と同時にカウント動作を開始したい場合は , コントロールステータスレ ジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。 TRG ビットによるトリガ入力は , タイマが起動状態 (CNTE = 1) のとき動作モードにか かかわらず常に有効です。 カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ ロードされるまでに T( 周辺クロックサイクル ) の時間がかかります。 図 8.4-1 カウンタの起動および動作 カウントクロック カウンタ リロードデータ -1 -1 -1 データロード CNTE(レジスタ) TRG(レジスタ) T ■ アンダフロー動作 カウンタの値が "0000H" から "FFFFH" になるときをアンダフローとしています。 したがっ て , 〔リロードレジスタの設定値+ 1〕カウントでアンダフローが発生します。 アンダフロー発生時コントロールレジスタの RELD ビットが "1" のときリロードレジ スタの内容をカウンタへロードしてカウント動作を継続します。RELD ビットが "0" の ときカウンタは , "FFFFH" で停止します。 図 8.4-2 アンダフロー動作 カウントクロック カウンタ 0000H リロードデータ -1 -1 -1 データロード アンダフローセット [RELD=1] カウントクロック カウンタ 0000H FFFFH アンダフローセット [RELD=0] 196 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 8 章 16 ビットリロードタイマ 8.4 リロードタイマの動作 MB91220 シリーズ ■ 出力端子機能 TOT0 ∼ TOT2 出力端子は , リロードモード時はアンダフローにより反転するトグル出 力として , ワンショットモード時はカウント中を示すパルス出力として機能します。出 力極性はレジスタの OUTL ビットにより設定できます。OUTL=0 のとき , トグル出力 は初期値が "0" で , ワンショットパルス出力はカウント中 "1" を出力します。OUTL=1 にすると出力波形は反転します。 図 8.4-3 出力端子機能 [RELD=1, OUTL=0] カウント開始 アンダフロー OUTL=1のときは反転 TOT0~TOT2 汎用ポート CNTE 起動トリガ 図 8.4-4 出力端子機能 [RELD=0, OUTL=0] カウント開始 アンダフロー TOT0~TOT2 OUTL=1で反転 汎用ポート CNTE 起動トリガ 起動トリガ待ち状態 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 197 第 8 章 16 ビットリロードタイマ 8.4 リロードタイマの動作 MB91220 シリーズ ■ カウンタの動作状態 カウンタの状態は , コントロールレジスタの CNTE ビットと内部信号の WAIT 信号に よって決まります。設定可能な状態として CNTE=0, WAIT=1 の停止状態 (STOP 状態 ), CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 ), CNTE=1, WAIT=0 の動作状態 (RUN 状態 ) があります。 図 8.4-5 カウンタ状態遷移 ハードウェアによる状態遷移 リセット レジスタアクセスによる状態遷移 STOP CNTE=0,WAIT=1 カウンタ:停止時の値を保持 リセット直後は不定 CNTE=1 TRG=1 CNTE=1 TRG=0 RUN CNTE=1,WAIT=0 WAIT CNTE=1,WAIT=1 カウンタ停止時の値を保持 リセット直後ロードするま では不定 RELD/UF TRG=1 カウンタ:動作 TRG=1 LOAD CNTE=1,WAIT=0 リロードレジスタの内 容をカウンタへロード RELD/UF ロード終了 ■ その他 リロードタイマの ch.2 の TOT2 出力は , LSI 内部で A/D コンバータに接続されていま す。したがって , リロードレジスタに設定された周期で A/D 変換を起動することがで きます。 ■ 注意事項 • 内部プリスケーラは , コントロールステータスレジスタの bit1( タイマ許可 :CNTE) が "1" に設定されている状態でトリガ ( ソフトウェアトリガあるいは外部トリガ ) がか けられることにより動作可能になります。 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合にはフラ グセットが優先し , クリア動作は無効になります。 • 16 ビットタイマリロードレジスタへの書込みと , リロードのタイミングが重なった 場合には , 旧データがカウンタにロードされ , 新データがカウンタにロードされる のは次のリロードのタイミングとなります。 • 16 ビットタイマレジスタはロードとカウントのタイミングが重複した場合には , ロー ド ( リロード ) 動作が優先されます。 198 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第9章 PPG PPG の概要 , レジスタの構成 , 機能および PPG の 動作について説明します。 CM71-10142-5 9.1 PPG の概要 9.2 PPG のブロックダイヤグラム 9.3 PPG のレジスタ 9.4 PPG の動作説明 FUJITSU SEMICONDUCTOR LIMITED 199 第 9 章 PPG 9.1 PPG の概要 9.1 MB91220 シリーズ PPG の概要 PPG は , 8 ビットのリロードタイマモジュールで , タイマ動作に応じたパルス出力制 御により , PPG 出力を行います。 ハードウェアとして , 8 ビットダウンカウンタ 32 個 , 8 ビットリロードレジスタ 64 個 , 制御レジスタ , 外部パルス出力 16 本 , 割込み出力 16 本 ( 内 6 本はマルチプレク ス ) を有します。 MB91220 シリーズは , 8 ビット PPG として 32 チャネル分 ( 波形出力可能なのは 16 チャネルのみ ), 16 ビット PPG として 16 チャネル分搭載しています。 ■ PPG の機能 • 8 ビット PPG 出力独立動作モード 16 チャネルの独立した PPG 出力動作が可能です。 ( 注意事項 ) MB91220 シリーズで LCDC を使用する場合は , 一部の奇数チャネル出 力 (PPG1, PPG3, PPG5, PPG7) は使用することができません。 • 16 ビット PPG 出力動作モード 16 チャネルの 16 ビットの PPG 出力動作が可能です。 • 8+8 ビット PPG 出力動作モード ch.(n+1) の出力を ch.(n) のクロック入力とすることにより , 任意周期の 8 ビット PPG 出力動作が可能です。 • 16+16 ビット PPG 出力動作モード ch.(n+3)+ch.(n+2) の 16 ビットプリスケーラ出力を ch.(n+1)+ch.(n) の 16 ビット PPG のクロック入力とするモードです (n=0, 4, 8, 12, 16, 20, 24, 28)。 • PPG 出力動作 任意周期・デューティ比のパルス波を出力します。 外付け回路により , D/A コンバータとしても使用可能です。 • 出力反転機能 PPG の出力値を反転させることが可能です。 200 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.1 PPG の概要 MB91220 シリーズ ■ PPG のレジスタ一覧 図 9.1-1 PPG のレジスタ一覧 PPG 起動レジスタ (TRG0 ∼ TRG3) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ch.0 ∼ ch.7:0001B1H PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 ch.8 ∼ ch.15:0001D0H PEN15 PEN14 PEN13 PEN12 PEN11 PEN10 PEN09 PEN08 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.16 ∼ ch.23:0004B1H PEN23 PEN22 PEN21 PEN20 PEN19 PEN18 PEN17 PEN16 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 ch.24 ∼ PEN31 PEN30 PEN29 PEN28 PEN27 PEN26 PEN25 PEN24 ch.31:0004D0H R/W R/W R/W R/W R/W R/W R/W R/W bit1 bit0 初期値 00000000B 初期値 00000000B 初期値 00000000B 初期値 00000000B 出力反転レジスタ (REVC0 ∼ REVC3) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 ch.0 ∼ ch.7:0001B3H REV07 REV06 REV05 REV04 REV03 REV02 REV01 REV00 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 ch.8 ∼ ch.15:0001D2H REV15 REV14 REV13 REV12 REV11 REV10 REV09 REV08 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.16 ∼ ch.23:0004B3H REV23 REV22 REV21 REV20 REV19 REV18 REV17 REV16 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 ch.24 ∼ REV31 REV30 REV29 REV28 REV27 REV26 REV25 REV24 ch.31:0004D2H R/W R/W R/W R/W R/W R/W R/W 初期値 00000000B 初期値 00000000B 初期値 00000000B 初期値 00000000B R/W ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 201 第 9 章 PPG 9.1 PPG の概要 MB91220 シリーズ ( 続き ) PPG0 ∼ PPG31 動作モード制御レジスタ (PPGC0 ∼ PPGCV) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit7 ch. 0:0001BCH PPGC0 ch. 1:0001BDH PPGC1 ch. 2:0001BEH PPGC2 ch. 3:0001BFH PPGC3 ch. 4:0001C8H PPGC4 ch. 5:0001C9H PPGC5 ch. 6:0001CAH PPGC6 ch. 7:0001CBH PPGC7 ch. 8:0001DCH PPGC8 ch. 9:0001DDH PPGC9 ch.10:0001DEH PPGCA ch.11:0001DFH PPGCB ch.12:0001E8H PPGCC ch.13:0001E9H PPGCD ch.14:0001EAH PPGCE ch.15:0001EBH PPGCF ch.16:0004BCH PPGCG ch.17:0004BDH PPGCH ch.18:0004BEH PPGCI ch.19:0004BFH PPGCJ ch.20:0004C8H PPGCK ch.21:0004C9H PPGCL ch.22:0004CAH PPGCM ch.23:0004CBH PPGCN ch.24:0004DCH PPGCO ch.25:0004DDH PPGCP ch.26:0004DEH PPGCQ ch.27:0004DFH PPGCR ch.28:0004E8H PPGCS ch.29:0004E9H PPGCT ch.30:0004EAH PPGCU ch.31:0004EBH PPGCV PIEn PUFn INTMn PCS1 PCS0 MD1 * MD0 * − R/W R(RM1),W R/W R/W R/W R/W R/W RX,W0 R/W R(RM1),W R/W R/W R/W 偶数 チャネル 奇数 チャネル RX,WX RX,WX RX,W0 初期値 偶数チャネル 0000000XB 奇数チャネル 00000XXXB n = 0 ∼ 9, A ∼ V * : MD1, MD0 は , 偶数チャネルのみ存在し , 奇数チャネルには存在し ません。奇数チャネルの初期値は不定です。ライトは意味があり ません。 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 202 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.1 PPG の概要 MB91220 シリーズ ● リロードレジスタ : 8 ビット PPG モード リロードレジスタ H (PRLH0 ∼ PRLHV) ( アクセス:Byte, Half-word, Word) アドレス ch. 0:0001B4H PRLH0 ch. 1:0001B6H PRLH1 ch. 2:0001B8H PRLH2 ch. 3:0001BAH PRLH3 ch. 4:0001C0H PRLH4 ch. 5:0001C2H PRLH5 ch. 6:0001C4H PRLH6 ch. 7:0001C6H PRLH7 ch. 8:0001D4H PRLH8 ch. 9:0001D6H PRLH9 ch.10:0001D8H PRLHA ch.11:0001DAH PRLHB ch.12:0001E0H PRLHC ch.13:0001E2H PRLHD ch.14:0001E4H PRLHE ch.15:0001E6H PRLHF ch.16:0004B4H PRLHG ch.17:0004B6H PRLHH ch.18:0004B8H PRLHI ch.19:0004BAH PRLHJ ch.20:0004C0H PRLHK ch.21:0004C2H PRLHL ch.22:0004C4H PRLHM ch.23:0004C6H PRLHN ch.24:0004D4H PRLHO ch.25:0004D6H PRLHP ch.26:0004D8H PRLHQ ch.27:0004DAH PRLHR ch.28:0004E0H PRLHS ch.29:0004E2H PRLHT ch.30:0004E4H PRLHU ch.31:0004E6H PRLHV bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W リロードレジスタ L (PRLL0 ∼ PRLLV) ( アクセス:Byte, Half-word, Word) アドレス ch. 0:0001B5H PRLL0 ch. 1:0001B7H PRLL1 ch. 2:0001B9H PRLL2 ch. 3:0001BBH PRLL3 ch. 4:0001C1H PRLL4 ch. 5:0001C3H PRLL5 ch. 6:0001C5H PRLL6 ch. 7:0001C7H PRLL7 ch. 8:0001D5H PRLL8 ch. 9:0001D7H PRLL9 ch.10:0001D9H PRLLA ch.11:0001DBH PRLLB ch.12:0001E1H PRLLC ch.13:0001E3H PRLLD ch.14:0001E5H PRLLE ch.15:0001E7H PRLLF ch.16:0004B5H PRLLG ch.17:0004B7H PRLLH ch.18:0004B9H PRLLI ch.19:0004BBH PRLLJ ch.20:0004C1H PRLLK ch.21:0004C3H PRLLL ch.22:0004C5H PRLLM ch.23:0004C7H PRLLN ch.24:0004D5H PRLLO ch.25:0004D7H PRLLP ch.26:0004D9H PRLLQ ch.27:0004DBH PRLLR ch.28:0004E1H PRLLS ch.29:0004E3H PRLLT ch.30:0004E5H PRLLU ch.31:0004E7H PRLLV bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 203 第 9 章 PPG 9.1 PPG の概要 MB91220 シリーズ ● リロードレジスタ : 16 ビット PPG モード リロードレジスタ H (PRLH0, PRLH2, PRLH4, PRLH6, PRLH8, PRLHA, PRLHC, PRLHE, PRLHG, PRLHI, PRLHK, PRLHM, PRLHO, PRLHQ, PRLHS, PRLHU) ( アクセス:Byte, Half-word, Word) アドレス ch. 0&1 :0001B4H PRLH0 ch. 2&3 :0001B8H PRLH2 ch. 4&4 :0001C0H PRLH4 ch. 6&7 :0001C4H PRLH6 ch. 8&9 :0001D4H PRLH8 ch.10&11:0001D8H PRLHA ch.12&13:0001E0H PRLHC ch.14&15:0001E4H PRLHE ch.16&17:0004B4H PRLHG ch.18&19:0004B8H PRLHI ch.20&21:0004C0H PRLHK ch.22&23:0004C4H PRLHM ch.24&25:0004D4H PRLHO ch.26&27:0004D8H PRLHQ ch.28&29:0004E0H PRLHS ch.30&31:0004E4H PRLHU bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W リロードレジスタ L (PRLH1, PRLH3, PRLH5, PRLH7, PRLH9, PRLHB, PRLHD, PRLHF, PRLHH, PRLHJ, PRLHL, PRLHN, PRLHP, PRLHR, PRLHT, PRLHV) ( アクセス:Byte, Half-word, Word) アドレス ch. 0&1 :0001B6H PRLH1 ch. 2&3 :0001BAH PRLH3 ch. 4&5 :0001C2H PRLH5 ch. 6&7 :0001C6H PRLH7 ch. 8&9 :0001D6H PRLH9 ch.10&11:0001DAH PRLHB ch.12&13:0001E2H PRLHD ch.14&15:0001E6H PRLHF ch.16&17:0004B6H PRLHH ch.18&19:0004BAH PRLHJ ch.20&21:0004C2H PRLHL ch.22&23:0004C6H PRLHN ch.24&25:0004D6H PRLHP ch.26&27:0004DAH PRLHR ch.28&29:0004E2H PRLHT ch.30&31:0004E6H PRLHV bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 204 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.2 PPG のブロックダイヤグラム MB91220 シリーズ 9.2 PPG のブロックダイヤグラム PPG のブロックダイヤグラムを示します。 ■ 8 ビット PPG ch.0, ch.2, ch.4, ch.6, ch.8, ch.10, ch.12, ch.14, ch.16, ch.18, ch.20, ch.22, ch.24, ch.26, ch.28, ch.30 のブロックダイヤグラム 図 9.2-1 8 ビット PPG ch.0, ch.2, ch.4, ch.6, ch.8, ch.10, ch.12, ch.14, ch.16, ch.18, ch.20, ch.22, ch.24, ch.26, ch.28, ch.30 のブロックダイヤグラム ch.(n+1)のボロー 周辺クロックの64分周 周辺クロックの16分周 周辺クロックの4分周 周辺クロック PPG 出力ラッチ 反転 クリア PEN(n+1) カウントクロック 選択 S R Q PCNT(ダウンカウンタ) IRQn リロード "H"/"L"セレクト "H"/"L"セレクタ PRLLn PIEn PRLHn PUFn "L"側データバス "H"側データバス PPGCn / TRG n = 0, 2, 4, 6, 8, A, C, E, G, I, K, M, O, Q, S, U CM71-10142-5 動作モード (制御) FUJITSU SEMICONDUCTOR LIMITED 205 第 9 章 PPG 9.2 PPG のブロックダイヤグラム MB91220 シリーズ ■ 8ビットPPG ch.1, ch.5, ch.9, ch.13, ch.17, ch.21, ch.25, ch.29 のブロックダイヤ グラム 図 9.2-2 8 ビット PPG ch.1, ch.5, ch.9, ch.13, ch.17, ch.21, ch.25, ch.29 のブロックダイヤグラム ch.(n+1)のボロー 周辺クロックの64分周 周辺クロックの16分周 周辺クロックの4分周 周辺クロック ポートへ PPG 出力ラッチ 反転 クリア PENn S R Q カウントクロック 選択 IRQn PCNT(ダウンカウンタ) ch.(n-1) のボロー リロード "H"/"L"セレクト "H"/"L"セレクタ PUFn PRLLn PIEn PRLHn "L"側データバス "H"側データバス PPGCn / TRG n = 1, 5, 9, D, H, L, P, T 206 動作モード (制御) FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.2 PPG のブロックダイヤグラム MB91220 シリーズ ■ 8 ビット PPG ch.3, ch.7, ch.11, ch.15, ch.19, ch.23, ch.27, ch.31 のブロックダイ ヤグラム 図 9.2-3 8 ビット PPG ch.3, ch.7, ch.11, ch.15, ch.19, ch.23, ch.27, ch.31 のブロックダイヤグラム ポートへ 周辺クロックの64分周 周辺クロックの16分周 周辺クロックの4分周 周辺クロック PPG 出力ラッチ 反転 クリア PENn S R Q カウントクロック 選択 IRQn PCNT(ダウンカウンタ) ch.(n-1) のボロー リロード "H"/"L"セレクト "H"/"L"セレクタ PUFn PRLLn PIEn PRLHn "L"側データバス "H"側データバス PPGCn / TRG n = 3, 7, B, F, J, N, R, V CM71-10142-5 動作モード (制御) FUJITSU SEMICONDUCTOR LIMITED 207 第 9 章 PPG 9.2 PPG のブロックダイヤグラム MB91220 シリーズ 図 9.2-4 8 ビット PPG 2 チャネル独立モードでの ch.0, ch.1 ch.0 ch.0 カウント クロック リロード 8ビットダウンカウンタ "H" 側 リロード値 "L" 側 リロード値 PRLH0 出力ラッチ 割込みラッチ ポートから 出力されない IRQ0L PRLL0 ch.1 ch.1 カウント クロック リロード 8ビットダウンカウンタ "H" 側 リロード値 "L" 側 リロード値 PRLH1 出力ラッチ 割込みラッチ PPG0H 出力 IRQ0H PRLL1 図 9.2-5 8 ビットプリスケーラ+ 8 ビット PPG モードでの ch.0, ch.1 ch.0 リロード 8ビットダウンカウンタ "H" 側 リロード値 "L" 側 リロード値 PRLH0 出力ラッチ 割込みラッチ ポートから 出力されない IRQ0L PRLL0 ch.1 ch.1 カウント クロック "H" 側 リロード値 PRLH1 208 リロード 8ビットダウンカウンタ "L" 側 リロード値 出力ラッチ 割込みラッチ PPG0H 出力 IRQ0H PRLL1 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.2 PPG のブロックダイヤグラム MB91220 シリーズ 図 9.2-6 16 ビット PPG モードでの ch.0, ch.1, ch.2, ch.3 ch.0 & ch.1 ch.1 カウント クロック リロード 16ビットダウンカウンタ "H" 側 リロード値 PRLH0 "L" 側 リロード値 PRLL0 PRLH1 出力ラッチ 割込みラッチ PPG0H 出力 IRQ0H PRLL1 ch.2 & ch.3 ch.3 カウント クロック リロード 16ビットダウンカウンタ "H" 側 リロード値 PRLH2 "L" 側 リロード値 PRLL2 PRLH3 出力ラッチ 割込みラッチ PPG1H出力 IRQ1H PRLL3 図 9.2-7 16 ビットプリスケーラ+ 16 ビット PPG モードでの ch.0, ch.1, ch.2, ch.3 ch.0 & ch.1 リロード 16ビットダウンカウンタ "H" 側 リロード値 PRLH0 "L" 側 リロード値 PRLL0 PRLH1 出力ラッチ 割込みラッチ PPG0H 出力 IRQ0H PRLL1 ch.2 & ch.3 ch.3 カウント クロック "H" 側 リロード値 PRLH2 CM71-10142-5 リロード 16ビットダウンカウンタ "L" 側 リロード値 PRLL2 PRLH3 出力ラッチ 割込みラッチ PPG1H 出力 IRQ1H PRLL3 FUJITSU SEMICONDUCTOR LIMITED 209 第 9 章 PPG 9.2 PPG のブロックダイヤグラム MB91220 シリーズ 表 9.2-1 図 9.2-4 ∼ 9.2-7 と他の 28 チャネルとの対応表 ch.0, ch.1, ch.2, ch.3 ch.4, ch.5, ch.8, ch.9, ch.12, ch.13, ch.16, ch.17, ch.20, ch.21, ch.24, ch.25, ch.28, ch.29, ch.6, ch.7 ch.10, ch.11 ch.14, ch.15 ch.18, ch.19 ch.22, ch.23 ch.26, ch.27 ch.30, ch.31 PRLH0 PRLH4 8 C G K O S PRLL0 PRLL4 8 C G K O S PRLH1 PRLH5 9 D H L P T PRLL1 PRLL5 9 D H L P T PRLH2 PRLH6 A E I M Q U PRLL2 PRLL6 A E I M Q U PRLH3 PRLH7 B F J N R V PRLL3 PRLL7 B F J N R V PPG0L 出力 PPG2L 出力 4 6 8 10 12 14 PPG0H 出力 PPG2H 出力 4 6 8 10 12 14 IRQ0L IRQ2L 4 6 8 10 12 14 IRQ0H IRQ2H 4 6 8 10 12 14 PPG1L 出力 PPG3L 出力 5 7 9 11 13 15 PPG1H 出力 PPG3H 出力 5 7 9 11 13 15 IRQ1L IRQ3L 5 7 9 11 13 15 IRQ1H IRQ3H 5 7 9 11 13 15 210 FUJITSU SEMICONDUCTOR LIMITED ポートから 出力されない ポートから 出力されない CM71-10142-5 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ PPG のレジスタ 9.3 PPG のレジスタの詳細を説明します。 ■ PPGCn レジスタ (PPGn 動作モード制御レジスタ ) n=0 ∼ 9, A ∼ V 図 9.3-1 PPG0 ∼ PPG31 動作モード制御レジスタ (PPGC0 ∼ PPGCV) のビット構成 PPG0 ∼ PPG31 動作モード制御レジスタ (PPGC0 ∼ PPGCV) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit7 ch. 0:0001BCH PPGC0 ch. 1:0001BDH PPGC1 ch. 2:0001BEH PPGC2 ch. 3:0001BFH PPGC3 ch. 4:0001C8H PPGC4 ch. 5:0001C9H PPGC5 ch. 6:0001CAH PPGC6 ch. 7:0001CBH PPGC7 ch. 8:0001DCH PPGC8 ch. 9:0001DDH PPGC9 ch.10:0001DEH PPGCA ch.11:0001DFH PPGCB ch.12:0001E8H PPGCC ch.13:0001E9H PPGCD ch.14:0001EAH PPGCE ch.15:0001EBH PPGCF ch.16:0004BCH PPGCG ch.17:0004BDH PPGCH ch.18:0004BEH PPGCI ch.19:0004BFH PPGCJ ch.20:0004C8H PPGCK ch.21:0004C9H PPGCL ch.22:0004CAH PPGCM ch.23:0004CBH PPGCN ch.24:0004DCH PPGCO ch.25:0004DDH PPGCP ch.26:0004DEH PPGCQ ch.27:0004DFH PPGCR ch.28:0004E8H PPGCS ch.29:0004E9H PPGCT ch.30:0004EAH PPGCU ch.31:0004EBH PPGCV PIEn PUFn INTMn PCS1 PCS0 MD1 * MD0 * − R/W R(RM1),W R/W R/W R/W R/W R/W RX,W0 R/W R(RM1),W R/W R/W R/W 偶数 チャネル 奇数 チャネル RX,WX RX,WX RX,W0 初期値 偶数チャネル 0000000XB 奇数チャネル 00000XXXB n = 0 ∼ 9, A ∼ V * : MD1, MD0 は , 偶数チャネルのみ存在し , 奇数チャネルには存在し ません。奇数チャネルの初期値は不定です。ライトは意味があり ません。 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7] PIEn(Ppg Interrupt Enable) : PPG 割込み許可ビット PPG の割込み許可を以下のように制御します。 0 割込み禁止 1 割込み許可 • 本ビットが "1" のとき , PUFn が "1" になると割込み要求が発生します。 • 本ビットが "0" のときは , 割込み要求を発生しません。 • リセットにより , "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 211 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ [bit6] PUFn(Ppg Underflow Flag) : PPG カウンタアンダフロービット PPG カウンタアンダフロービットを以下のように制御します。 0 PPG のカウンタアンダフローを検出していません 1 PPG のカウンタアンダフローを検出しました • 8 ビット PPG 2 チャネルモードおよび 8 ビットプリスケーラ+ 8 ビット PPG モー ド時には , ch.0 のカウント値が "00H" から "FFH" になったときのアンダフローに より "1" にセットされます。 • 16 ビット PPG 1 チャネルモード時には , ch.1/ch.0 のカウント値が "0000H" から "FFFFH" になったときのアンダフローにより "1" にセットされます。 • "0" 書込みにより , "0" になります。 • このビットへの "1" 書込みは意味がありません。 • リードモディファイライト(RMW)系命令での読出し時は, "1"が読み出されます。 • リセットにより , "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit5] INTMn(Interrupt Mode) : 割込みモードビット PUFn のビットの検出を PRLHn からのアンダフロー時のみに限定することができま す。 0 アンダフロー時 , PUFn を "1" にする 1 PRLHn からのアンダフロー時のみ , PUFn を "1" にする • リセットにより , "0" に初期化されます。 • 読出しおよび書込みが可能です。 • 本ビットを "1" にすると , PPG の波形の一周期出力時に割込みをかけることが可 能となります。 • 本ビットは , 割込み許可時に書き換えないでください。 [bit4, bit3] PCS1/PCS0(Ppg Count Select) : カウントクロック選択ビット ダウンカウンタの動作クロックを以下のように選択します。 PCS1 PCS0 0 0 周辺クロック 0 1 周辺クロック /4 (250ns 周辺クロック 16MHz 時 ) 1 0 周辺クロック /16 ( 1μs 周辺クロック 16MHz 時 ) 1 1 周辺クロック /64 ( 4μs 周辺クロック 16MHz 時 ) 動作モード (62.5ns 周辺クロック 16MHz 時 ) • リセットにより , "00B" に初期化されます。 • 読出しおよび書込みが可能です。 212 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ [bit2, bit1] MD1/MD0(ppg count MoDe) : 動作モード選択ビット PPG タイマの動作モードを以下のように選択します。 MD1 MD0 0 0 8 ビット PPG 2 チャネル独立モード 0 1 8 ビットプリスケーラ+ 8 ビット PPG モード 1 0 16 ビット PPG モード 1 1 16 ビットプリスケーラ+ 16 ビット PPG モード 動作モード • リセットにより , "00B" に初期化されます。 • 読出しおよび書込みが可能です。 • 本ビットは偶数チャネルのみに存在します。 [bit0] reserved bit 予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 )。 読出し値は不定です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 213 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ ■ PRLL/PRLH レジスタ ( リロードレジスタ : PRLL0 ∼ PRLLV/PRLH0 ∼ PRLHV) 図 9.3-2 リロードレジスタ (PRLH/PRLL) のビット構成 リロードレジスタ H (PRLH0 ∼ PRLHV) ( アクセス:Byte, Half-word, Word) アドレス ch. 0:0001B4H PRLH0 ch. 1:0001B6H PRLH1 ch. 2:0001B8H PRLH2 ch. 3:0001BAH PRLH3 ch. 4:0001C0H PRLH4 ch. 5:0001C2H PRLH5 ch. 6:0001C4H PRLH6 ch. 7:0001C6H PRLH7 ch. 8:0001D4H PRLH8 ch. 9:0001D6H PRLH9 ch.10:0001D8H PRLHA ch.11:0001DAH PRLHB ch.12:0001E0H PRLHC ch.13:0001E2H PRLHD ch.14:0001E4H PRLHE ch.15:0001E6H PRLHF ch.16:0004B4H PRLHG ch.17:0004B6H PRLHH ch.18:0004B8H PRLHI ch.19:0004BAH PRLHJ ch.20:0004C0H PRLHK ch.21:0004C2H PRLHL ch.22:0004C4H PRLHM ch.23:0004C6H PRLHN ch.24:0004D4H PRLHO ch.25:0004D6H PRLHP ch.26:0004D8H PRLHQ ch.27:0004DAH PRLHR ch.28:0004E0H PRLHS ch.29:0004E2H PRLHT ch.30:0004E4H PRLHU ch.31:0004E6H PRLHV bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W リロードレジスタ L (PRLL0 ∼ PRLLV) ( アクセス:Byte, Half-word, Word) アドレス ch. 0:0001B5H PRLL0 ch. 1:0001B7H PRLL1 ch. 2:0001B9H PRLL2 ch. 3:0001BBH PRLL3 ch. 4:0001C1H PRLL4 ch. 5:0001C3H PRLL5 ch. 6:0001C5H PRLL6 ch. 7:0001C7H PRLL7 ch. 8:0001D5H PRLL8 ch. 9:0001D7H PRLL9 ch.10:0001D9H PRLLA ch.11:0001DBH PRLLB ch.12:0001E1H PRLLC ch.13:0001E3H PRLLD ch.14:0001E5H PRLLE ch.15:0001E7H PRLLF ch.16:0004B5H PRLLG ch.17:0004B7H PRLLH ch.18:0004B9H PRLLI ch.19:0004BBH PRLLJ ch.20:0004C1H PRLLK ch.21:0004C3H PRLLL ch.22:0004C5H PRLLM ch.23:0004C7H PRLLN ch.24:0004D5H PRLLO ch.25:0004D7H PRLLP ch.26:0004D9H PRLLQ ch.27:0004DBH PRLLR ch.28:0004E1H PRLLS ch.29:0004E3H PRLLT ch.30:0004E5H PRLLU ch.31:0004E7H PRLLV bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 214 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ ダウンカウンタ PCNT へのリロード値を保持するレジスタです。それぞれ , 以下に示 す役割を持っています。 レジスタ名 機能 PRLL "L" 側リロード値保持 PRLH "H" 側リロード値保持 どのレジスタも , 読出しおよび書込みが可能です。 <注意事項> 8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビット PPG モードで使用する場合には , プリスケーラ側の PRLL と PRLH に異なる値を設定す ると, PPG波形がサイクルごとに異なる場合があるので, プリスケーラ側のPRLLとPRLH は , 同じ値に設定することを推奨します。 16 ビット PPG で使われる場合は , 例えば , ch.0 + ch.1 の使用する場合のリロードアドレス の "H" 側アドレスは , 1B4H + 1B5H, "L" 側アドレスは 1B6H + 1B7H になります。よって "H" カウント値 = 1234H, "L" カウント値 = 5678H の場合は , CM71-10142-5 1B4H: 00010010B 1B5H: 00110100B 1B6H: 01010110B 1B7H: 01111000B になります。 FUJITSU SEMICONDUCTOR LIMITED 215 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ ■ PPG 起動レジスタ (TRG0 ∼ TRG3) 図 9.3-3 PPG 起動レジスタ (TRG0 ∼ TRG3) のビット構成 PPG 起動レジスタ (TRG0 ∼ TRG3) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 初期値 bit0 ch.0 ∼ ch.7:0001B1H PEN07 PEN06 PEN05 PEN04 PEN03 PEN02 PEN01 PEN00 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 ch.8 ∼ ch.15:0001D0H PEN15 PEN14 PEN13 PEN12 PEN11 PEN10 PEN09 PEN08 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.16 ∼ ch.23:0004B1H PEN23 PEN22 PEN21 PEN20 PEN19 PEN18 PEN17 PEN16 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 ch.24 ∼ ch.31:0004D0H PEN31 PEN30 PEN29 PEN28 PEN27 PEN26 PEN25 PEN24 R/W R/W R/W R/W R/W R/W R/W 00000000B 00000000B 初期値 00000000B 初期値 00000000B R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit31 ∼ bit0] PEN31 ∼ PEN00 (Ppg ENable) : PPG 動作許可ビット PPG の動作開始および動作モードを以下のように選択します。 PEN31 ∼ PEN00 動作状態 0 動作停止 ("L" レベル出力保持 ) 1 PPG 動作許可 • リセットにより , "0" に初期化されます。 • 読出しおよび書込みが可能です。 • 16 ビット PPG で使用する場合は , 偶奇数両方の該当する PEN ビットを同じ設定 にする必要があります。レジスタ設定時に偶奇数同時に許可 / 停止をしてくださ い。 216 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.3 PPG のレジスタ MB91220 シリーズ ■ 出力反転レジスタ (REVC0 ∼ REVC3) 図 9.3-4 出力反転レジスタ (REVC0 ∼ REVC3) のビット構成 出力反転レジスタ (REVC0 ∼ REVC3) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ch.0 ∼ ch.7:0001B3H REV07 REV06 REV05 REV04 REV03 REV02 REV01 REV00 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 ch.8 ∼ ch.15:0001D2H REV15 REV14 REV13 REV12 REV11 REV10 REV09 REV08 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.16 ∼ ch.23:0004B3H REV23 REV22 REV21 REV20 REV19 REV18 REV17 REV16 アドレス R/W R/W R/W R/W R/W R/W R/W R/W bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 ch.24 ∼ REV31 REV30 REV29 REV28 REV27 REV26 REV25 REV24 ch.31:0004D2H R/W R/W R/W R/W R/W R/W R/W 初期値 00000000B 初期値 00000000B 初期値 00000000B 初期値 00000000B R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit31 ∼ bit0] REV31 ∼ REV00 : 出力反転ビット PPG の出力値を初期レベルも含めて反転します。 REV31 ∼ REV00 出力レベル 0 通常 1 反転 • リセットにより , "0" に初期化されます。 • 読出しおよび書込みが可能です。 • 単に , PPG 出力を反転するだけですので , 初期レベルも反転します。 また , リロードレジスタの "L", "H" の関係も逆になります。 • 16 ビット PPG で使う場合は , PPGnL と PPGnH (n=0 ∼ 15) どちらの端子からも同 じ波形が出るので , 使われる端子の REVn (n=0 ∼ 31) を設定するだけで使用可能 です。両方同じ設定を行っても問題ありません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 217 第 9 章 PPG 9.4 PPG の動作説明 9.4 MB91220 シリーズ PPG の動作説明 PPG には 8 ビット長の PPG ユニットが 32 チャネルあり , 独立モード以外に , 連結 動作させることにより , 8 ビットプリスケーラ+ 8 ビット PPG モードと 16 ビット PPG 1 チャネルモード , 16 ビットプリスケーラ+ 16 ビット PPG モードの計 4 種類 の動作を行うことができます。 8 ビット長の PPG ユニットそれぞれには , " L" 側と "H" 側の 2 本の 8 ビット長のリロー ドレジスタがあります (PRLL, PRLH)。このレジスタに書き込まれた値が , 8 ビットダ ウンカウンタ (PCNT) に "L" 側 /"H" 側交互にリロードされてカウントクロックごとに ダウンカウントされ , カウンタのボロー発生によるリロード時に , 端子出力 (PPG) の値 を反転させます。この動作により , 端子出力 (PPG) はリロードレジスタ値に対応した "L" 幅 /"H" 幅をもつパルス出力となります。 動作開始 / 再スタートは , レジスタのビット書込みによります。 リロード動作とパルス出力の関係を以下に示します。 リロード動作 端子出力変化 PRLH → PCNT PPGnH [0 → 1] PRLL → PCNT PPGnH [1 → 0] n = 0 ∼ 15 また , PPGCn レジスタの bit7:PIEn が "1" のとき , カウンタの "00H" から "FFH" へのボ ロー (16 ビット PPG モードの場合には , "0000H" から "FFFFH" へのボロー ) によって割 込み要求が出力されます。 ● 動作モードについて 本ブロックは , 独立モード , 8 ビットプリスケーラ+ 8 ビット PPG モード , 16 ビット PPG 1 チャネルモードと 16 ビットプリスケーラ+ 16 ビット PPG モードの計 4 種類の 動作モードがあります。 • 独立モードは , 8 ビット PPG として独立に動作させる動作モードです。PPGnH 端子 は , ch.(2n+1) の PPG 出力が接続されます (n=0 ∼ 15)。 • 8 ビットプリスケーラ+ 8 ビット PPG モードは , 1 チャネルを 8 ビットプリスケー ラとして動作させ , そのボロー出力でカウントすることにより , 任意周期の 8 ビッ ト PPG 波形を出力できるようにする動作モードです。例えば , PPG0H 端子は ch.1 に よる 8 ビットプリスケーラ出力が接続され , PPG0L 端子は ch.0 の PPG 出力が接続さ れます。ただし , 偶数チャネルはポートから出力することができません。 • 16 ビット PPG 1 チャネルモードは , 2 つのチャネルを連結させ , 16 ビット PPG とし て動作させる動作モードです。例えば , ch.0 と ch.1 を連結させると PPG0L 端子と PPG0H 端子は , 両方とも 16 ビット PPG 出力が接続されます。 • 16 ビットプリスケーラ +16 ビット PPG モードは , 2 つのチャネルを連結させ , 16 ビット PPG とし , かつ残る 2 つのチャネルを連結させ , 16 ビットプリスケーラとし て起動させる動作モードです。 218 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.4 PPG の動作説明 MB91220 シリーズ ● PPG 出力動作について PPG は , TRG レジスタ (PPG 起動レジスタ ) の各チャネルのビットを "1" にセットする ことによって起動され , カウントを開始します。動作を開始した後は , TRG レジスタの 各チャネルビットに "0" を書き込むことによってカウント動作を停止し , 停止した後 , パルス出力は "L" レベルを保持します。 8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビッ ト PPG モード時には , プリスケーラチャネルを停止状態で , PPG チャネルを動作状態 に設定しないでください。 16 ビット PPG モード時には , 各チャネルの TRG レジスタの PENn をそれぞれ同時に開 始 / 停止の制御を行ってください (n=0 ∼ 31)。 以下に PPG 出力動作について説明します。 PPG 動作時は , 任意周波数 / 任意デューティ比 ( パルス波の "H" レベル期間と "L" レベ ル期間の比 ) のパルス波出力を連続して出力します。PPG はパルス波出力を開始する と , 動作停止を設定するまで停止しません。 図 9.4-1 PPG 出力動作 出力波形 PENn PENnにより 動作開始 ("L"側から) 出力端子 PPG T×(L+1) T×(H+1) スタート T×(L+1) L:PRLLの値 H:PRLHの値 T:カウントクロックの周期 (PCS1, PCS0によって選択) n =0~31 ● リロード値とパルス幅の関係について リロードレジスタに書かれた値に "+1" した値に , カウントクロックの周期を掛けた値 が , 出力されるパルス幅となります。つまり , 8 ビット PPG 動作時のリロードレジスタ 値が "00H" のとき , および 16 ビット PPG 動作時のリロードレジスタ値が "0000H" のと きは, カウントクロック1周期分のパルス幅をもつことになりますので注意してくださ い。また , 8 ビット PPG 動作時のリロードレジスタ値が "FFH" のとき , カウントクロッ ク 256 周期分のパルス幅をもつことになり , 16 ビット PPG 動作時のリロードレジスタ 値が "FFFFH" のときは , カウントクロック 65536 周期分のパルス幅をもつことになり ますので注意してください。 パルス幅の計算式を以下に示します。 Pl = T × (L + 1) Ph = T × (H + 1) CM71-10142-5 { L : PRLL の値 H : PRLH の値 T : 入力クロック周期 Ph : "H" パルス幅 Pl : "L" パルス幅 FUJITSU SEMICONDUCTOR LIMITED 219 第 9 章 PPG 9.4 PPG の動作説明 MB91220 シリーズ ● カウントクロックの選択について 本ブロックの動作に使用するカウントクロックは, 周辺クロックを使用しており4種類 のカウントクロック入力が選択できます。 カウントクロックは以下のように動作します。 PPGC0 ∼ PPGCV レジスタ カウントクロック動作 PCS1 PCS0 0 0 カウントクロックは , 周辺クロックごとに 1 カウント 0 1 カウントクロックは , 周辺クロック 4 サイクルごとに 1 カウント 1 0 カウントクロックは , 周辺クロック 16 サイクルごとに 1 カウント 1 1 カウントクロックは , 周辺クロック 64 サイクルごとに 1 カウント ただし , 8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビット PPG モード時には , 最もチャネル番号の大きい PPG 以外の PPG の PPGC レ ジスタ中の bit4, bit3: PCS1, PCS0 の値は無効になります。 8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビッ ト PPG モードで , プリスケーラ側が動作状態で , PPG 側が停止状態であるときに , PPG 側の起動を行うと , 最初のカウント周期がずれる可能性がありますので注意してくだ さい。 220 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 9 章 PPG 9.4 PPG の動作説明 MB91220 シリーズ ● パルスの端子出力の制御について 本モジュールの動作によって生成されたパルス出力は , 外部端子 PPG0H ∼ PPG15H よ り出力させることができます。 16 ビット PPG モードでは , PPGnL と PPGnH (n=0 ∼ 15) は同じ波形が出力されるので , どちらの外部端子出力を許可しても同じ出力を得ることができます。ただし , 偶数チャ ネルはポートから出力することができません。 8 ビットプリスケーラ+ 8 ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビット PPGモードでは, プリスケーラ側は8ビットプリスケーラのトグル波形が出力され, PPG 側は 8 ビット PPG の波形が出力されます。このモードのときの出力波形の例を以下に 示します。 図 9.4-2 8 ビットプリスケーラ+ 8 ビット PPG 出力動作出力波形 Ph1 Pl1 PPG0H PPG0L Ph0 Pl0 : ch.1 の PRLL の値 および ch.1 の PRLH の値 L0 : ch.0 の PRLL の値 H0 : ch.0 の PRLH の値 T : ch.1 のカウントクロック周期 Ph0 : PPG0L の "H" パルス幅 Pl0 : PPG0L の "L" パルス幅 Ph1 : PPG0H の "H" パルス幅 Pl1 : PPG0H の "L" パルス幅 L1 Pl1 = T x (L1 + 1) Ph1 = T x (L1 + 1) Pl0 = T x (L1 + 1) x (L0 + 1) Ph0 = T x (L1 + 1) x (H0 + 1) ( 注意事項 ) ch.1 の PRLL と ch.1 の PRLH は , 同じ値を設定することを推奨します。 ● 割込みについて 本モジュールの割込みは , リロード値がカウントアウトし , ボローが発生したときにア クティブになります。ただし , INTMn ビットを "1" にしたときは , PRLHn からのアン ダフロー時 ( ボロー ) のみアクティブになります。つまり , "H" 幅パルス終了時に割込 みが発生します。 8 ビット PPG モードおよび 8 ビットプリスケーラ+ 8 ビット PPG モードのときには , それぞれのカウンタのボローにより, それぞれの割込み要求が行われますが, 16ビット PPG モードおよび 16 ビットプリスケーラ+ 16 ビット PPG モードでは , 16 ビットカウ ンタのボローにより , ch.(2n) と ch.(2n+1) の PUF が同時にセットされます。このため , 割込み要因を一本化するために , ch.(2n) と ch.(2n+1) の PIE のどちらか一方のみを許可 にすることを推奨します。また , 割込み要因のクリアも ch.(2n) と ch.(2n+1) の PUF を 同時に行うことを推奨します (n=0 ∼ 15)。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 221 第 9 章 PPG 9.4 PPG の動作説明 MB91220 シリーズ ● 各ハードウェアの初期値について 本ブロックの各ハードウェアは , リセット時に以下のように初期化されます。 < レジスタ > PPGC0 ∼ PPGCV → 0000000XB TRG0 ∼ TRG3 → 00000000B REVC0 ∼ REVC3 → 00000000B < パルス出力 > PPG0H ∼ PPG15H → "L" < 割込み要求 > IRQ0H ∼ IRQ15H → "L" IRQ0L ∼ IRQ15L → "L" 上記以外のハードウェアは初期化されません。 ● PPG の組合せについて ch.0: PPGC ch.2: PPGC MD1 MD0 MD1 MD0 0 0 0 0 0 0 ch.0 ch.1 ch.2 ch.3 0 8 ビット PPG 8 ビット PPG 8 ビット PPG 8 ビット PPG 0 1 8 ビット PPG 8 ビット PPG 8 ビット PPG 0 1 0 8 ビット PPG 8 ビット PPG 0 0 1 1 0 1 0 0 8 ビット PPG 8 ビット プリスケーラ 8 ビット PPG 0 1 0 1 8 ビット PPG 8 ビット プリスケーラ 8 ビット PPG 0 1 1 0 8 ビット PPG 8 ビット プリスケーラ 0 1 1 1 1 0 0 0 16 ビット PPG 8 ビット PPG 8 ビット PPG 1 0 0 1 16 ビット PPG 8 ビット PPG 8 ビット プリスケーラ 1 0 1 0 16 ビット PPG 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 222 8 ビット プリスケーラ 16 ビット PPG 設定禁止 8 ビット PPG 8 ビット プリスケーラ 16 ビット PPG 設定禁止 16 ビット PPG 設定禁止 16 ビット PPG FUJITSU SEMICONDUCTOR LIMITED 16 ビットプリスケーラ CM71-10142-5 第 9 章 PPG 9.4 PPG の動作説明 MB91220 シリーズ ch.(4, 5, 6, 7) も , それぞれ , ch.(0, 1, 2, 3) と同じ動作の組合せが可能です。 以下のように置き換えてください。 ch.0 = ch.4 = ch.8 = ch.12 = ch.16 = ch.20 = ch.24 = ch.28 { ch.1 = ch.5 = ch.9 = ch.13 = ch.17 = ch.21 = ch.25 = ch.29 ch.2 = ch.6 = ch.10 = ch.14 = ch.18 = ch.22 = ch.26 = ch.30 ch.3 = ch.7 = ch.11 = ch.15 = ch.19 = ch.23 = ch.27 = ch.31 ● 波形出力端子について PPG の各チャネルと , 出力端子の関係は , 下表のようになっています。 PPG チャネル 出力端子 ch.0 ch.1 PG0/PPG0H ch.2 ch.3 PD4/PPG1H ch.4 ch.5 PG1/PPG2H ch.6 ch.7 PD5/PPG3H ch.8 ch.9 PG2/PPG4H ch.10 ch.11 PD6/PPG5H ch.12 ch.13 PG3/PPG6H ch.14 ch.15 PD7/PPG7H ch.16 ch.17 PB0/PPG8H ch.18 ch.19 PB1/PPG9H ch.20 ch.21 PB2/PPG10H ch.22 ch.23 PB3/PPG11H ch.24 ch.25 PE4/PPG12H ch.26 ch.27 PE5/PPG13H ch.28 ch.29 PE6/PPG14H ch.30 ch.31 PE7/PPG15H 8 ビットモードで使用する場合は , 奇数チャネルを使用してください。偶数チャネルは , ポートから出力することができません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 223 第 9 章 PPG 9.4 PPG の動作説明 224 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) PWC の概要 , レジスタの構成 , 機能および動作に ついて説明します。 CM71-10142-5 10.1 PWC の概要 10.2 PWC のレジスタ 10.3 PWC の動作説明 FUJITSU SEMICONDUCTOR LIMITED 225 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.1 PWC の概要 MB91220 シリーズ PWC の概要 10.1 入力信号のパルス幅測定機能です。 ■ PWC の機能 ハードウェアとして , 16 ビットアップカウンタ 1 個 , 入力パルス分周器 , 分周比制御レ ジスタ , 測定入力端子 , 16 ビット制御レジスタを持ち , 以下の機能を実現します。 ● パルス幅測定機能 外部からのパルス入力の任意イベント間の時間を測定します。 基準となる内部クロックは 3 種類の中から選択可能です。 ( 周辺クロックの 4/16/32 分周 ) "H" パルス幅 ( ↑∼↓ ) / "L" パルス幅 ( ↓∼↑ ) 各種測定モード 立上り周期 ( ↑∼↑ ) / 立下り周期 ( ↓∼↓ ) エッジ間測定 ( ↑または↓∼↓または↑ ) 8 ビット入力分周器で , 入力パルスを 2n 分周 (n=1, 2, 3, 4, 5, 6, 7, 8) して周期測定を行う ことが可能です。 測定終了時に割込み要求を発生することが可能です。 1 回のみの測定か連続測定かを選択することが可能です。 ■ PWC のレジスタ一覧 図 10.1-1 PWC のレジスタ一覧 アドレス bit15 ∼ bit8 bit7 ∼ bit0 000139H 226 PDIVR0 000130H 000131H PWCSR0 000132H 000133H PWCR0 PWC 分周比制御レジスタ 0 PWC コントロール / ステータスレジスタ 0 PWC データバッファレジスタ 0 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.1 PWC の概要 MB91220 シリーズ ■ PWC のブロックダイヤグラム 図 10.1-2 PWC のブロックダイヤグラム PWCR0リード エラー検出 16 / / 16 ERR PWCR0 内部クロック (周辺クロック/4) / 16 書込み許可 リロード データ転送 / 16 R-bus オーバフロー 制御ビット出力 フラグセットなど 測定開始エッジ 測定終了エッジ 2 クロック 分周器 23 クリア カウント許可 制御回路 開始エッジ 選択 2 クロック 16ビット アップカウンタ 終了エッジ 選択 CKS1/ CKS0 分周器クリア 分周 ON/OFF エッジ 検出 PWC0 8ビット 分周器 測定終了割込み要求 ERR CKS1/CKS0 オーバフロー割込み要求 15 / 分周比 選択 PWCSR0 2 / CM71-10142-5 PDIVR0 FUJITSU SEMICONDUCTOR LIMITED 227 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.2 PWC のレジスタ 10.2 MB91220 シリーズ PWC のレジスタ PWC のレジスタの詳細を説明します。 ■ PWC コントロール / ステータスレジスタ (PWCSR) 図 10.2-1 PWCSR レジスタ (PWCSR) のビット構成 PWCSR0 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス ch.0: 000130H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 STRT STOP EDIR EDIE OVIR OVIE ERR R/W R(RM1),W R/W R,WX − RX/W0 R(RM1),W R(RM1),W R(RM1),W 初期値 0000000XB PWCSR0 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス ch.0: 000131H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 CKS1 CKS0 MOD2 MOD1 MOD0 R/W − R/W0 SC R/W − R/W0 R/W R/W R/W R/W 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] STRT : カウンタスタートビット [bit14] STOP : カウンタストップビット 16 ビットアップカウンタの起動 / 再起動 / 停止を行うビットで , 読出し時にはカウ ンタの動作状態を表示します。以下にビット機能を示します。 ・書込み時機能 ( 動作制御 ) STRT STOP 0 0 機能なし / 動作に影響なし 0 1 カウンタ起動 / 再起動 ( カウント許可 ) 1 0 カウンタ動作強制停止 ( カウント禁止 ) 1 1 機能なし / 動作に影響なし 動作制御機能 ・読出し時機能 ( 動作状態表示 ) STRT STOP 0 0 カウンタ停止中(起動されていないかまたは測定終了) [ 初期値 ] 1 1 カウント動作中 ( 測定中 ) 動作状態表示 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。ただし , 書込み時と読出し時では上記のように 意味が異なります。 • リードモディファイライト (RMW) 系命令における読出し値はビットにかかわら ず "11B" です。 228 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.2 PWC のレジスタ MB91220 シリーズ • カウンタの起動 / 停止のための STRT , STOP ビットへの書込みは , それぞれの ビットに対応するビット処理命令 ( ビットクリアなど ) を用いることが可能です が , 動作状態の読出しにはビット処理命令は使用できません ( 読むと必ず動作中 となりますので注意してください )。 [bit13] EDIR : 測定終了割込み要求フラグ パルス幅測定モード時 , 測定終了したことを示すフラグです。測定終了割込み要求 が許可されているとき (bit12:EDIE=1) に本ビットがセットされると , 測定終了割込 み要求が発生します。 1 PWCR に測定結果が収納されている 0 PWCR に測定結果が収納されていない • リセット時 : "0" に初期化されます。 • 読出しのみ可能です。書込みしてもビット値は変化しません。 • PWCR を読み出すとクリアされます。 [bit12] EDIE : 測定終了割込み要求許可ビット パルス幅測定モード時の測定終了割込み要求を以下のように制御します。 0 測定終了割込み要求出力禁止 (EDIR がセットされても割込みは発生せず ) [ 初期値 ] 1 測定終了割込み要求出力許可 (EDIR がセットされると割込みが発生する ) • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit11] OVIR : カウンタオーバフロー割込み要求フラグ 全モードにおいて , 16 ビットアップカウンタが "FFFFH" から "0000H" へオーバフ ローしたことを示すフラグです。カウンタオーバフロー割込み要求が許可されてい るとき (bit10:OVIE=1) に本ビットがセットされると , カウンタオーバフロー割込み 要求が発生します。 1 カウンタオーバフローが発生した 0 カウンタオーバフローが発生していない • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能です。"1" を書 き込んでもビット値は変化しません。 • リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかか わらず "1" です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 229 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.2 PWC のレジスタ MB91220 シリーズ [bit10] OVIE : カウンタオーバフロー割込み要求許可ビット カウンタオーバフロー割込み要求を以下のように制御します。 0 オーバフロー割込み要求出力禁止 (OVIR がセットされても割込みは発生せず )[ 初期値 ] 1 オーバフロー割込み要求出力許可 (OVIR がセットされると割込みが発生する ) • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit9] ERR : エラーフラグ パルス幅測定モードの連続測定モード時において , PWCR 内の測定結果を読み出さ ないうちに次の測定が終了してしまったことを示すフラグです。この際 , PWCR の 値は新しい測定結果に更新され , 1 つ前の測定結果は消失します。測定は , 本ビット 値に関係なく続行されます。 1 読み出していない測定結果が次の結果により上書きされた 0 読み出していない測定結果が次の結果により上書きされていない • リセット時 : "0" に初期化されます。 • 読出しのみ可能です。書込みしてもビット値は変化しません。 • PWCR を読み出すとクリアされます。 [bit8] (Reserved) 本ビットは予約ビットです。読出し値は不定です。必ず "0" を書き込んでください。 [bit7, bit6] CKS1, CKS0 : クロック選択ビット 内部カウントを以下のように選択します。 CKS1 CKS0 0 0 周辺クロックの 4 分周クロック 0 1 周辺クロックの 16 分周クロック 1 0 周辺クロックの 32 分周クロック 1 1 設定禁止 カウントクロック選択 [ 初期値 ] • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。ただし , "11B" を設定してはいけません。 ( 注意事項 ) 起動後の書換えは禁止します。必ず起動前か停止後に書き込んでくだ さい。 [bit5, bit4] (Reserved) 本ビットは予約ビットです。これらのビットに書き込みを行う場合は , "00B" にして ください。 230 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.2 PWC のレジスタ MB91220 シリーズ [bit3] SC : 測定モード ( 単発 / 連続 ) 選択ビット 測定モードを以下のように選択します。 SC 測定モード 0 単発測定モード [ 初期値 ] 1 連続測定モード • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 ( 注意事項 ) 起動後の書換えは禁止します。必ず起動前か停止後に書き込んでくだ さい。 [bit2 ∼ bit0] MOD2 ∼ MOD0 : 動作モード / 測定エッジ選択ビット 動作モードおよび幅測定を行うエッジを以下のように選択します。 MOD2 MOD1 MOD0 0 0 0 全エッジ間パルス幅測定モード ( ↑ or ↓∼↓ or ↑ ) [ 初期値 ] 0 0 1 分周周期測定モード ( 入力分周器有効 ) 0 1 0 立上りエッジ間周期測定モード ( ↑∼↑ ) 0 1 1 "H" パルス幅測定モード ( ↑∼↓ ) 1 0 0 "L" パルス幅測定モード ( ↓∼↑ ) 1 0 1 立下りエッジ間周期測定モード ( ↓∼↓ ) 1 1 0 1 1 1 動作モード / 測定エッジ選択 設定禁止 • リセット時 : "000B" に初期化されます。 • 読出しおよび書込みが可能です。 ( 注意事項 ) 起動後の書換えを禁止します。必ず起動前か停止後に書き込んでくだ さい。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 231 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.2 PWC のレジスタ MB91220 シリーズ ■ PWCR レジスタ (PWC データバッファレジスタ ) 図 10.2-2 PWC データバッファレジスタ (PWCR) のビット構成 PWCR0 ( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX bit3 bit2 bit1 bit0 ch.0: 000132H 初期値 00000000B PWCR0 ( 下位 ) ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 ch.0: 000133H 初期値 00000000B R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ● パルス幅測定モード 連続測定モード時 (PWCSR bit3:SC = 1) は , 前回の測定結果を保持するバッファレジ スタとなります。この場合は読出しのみ可能で , 書込みしてもレジスタ値は変化し ません。 単発測定モード時 (PWCSR bit3:SC = 0) は , アップカウンタを直接アクセスできま す。この場合も , 読出しのみ可能で , 書込みしてもレジスタ値は変化しません。読 出しは随時可能で , カウント中のカウント値が得られます。測定終了後は測定結果 を保持します。 <注意事項> 本レジスタのアクセスは , 必ずハーフワードもしくはワード転送命令で行ってください。 • リセット時 : "0000H" に初期化されます。 • 読出しのみ可能 232 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.2 PWC のレジスタ MB91220 シリーズ ■ PDIVR ( 分周比制御レジスタ ) 図 10.2-3 分周比制御レジスタ (PDIVR) のビット構成 PDIVR0 ( アクセス:Byte, Half-word, Word) アドレス ch.0: 000139H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX DIV2 DIV1 DIV0 R/W R/W R/W 初期値 -----000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 分周周期測定モード (PWCSR bit2 ∼ bit0:MOD2 ∼ MOD0 = 001B ) のときに使用するレ ジスタで , ほかのモードでは意味を持ちません。 分周周期測定モード時には , 測定端子に入力されたパルスを PDIVR に設定された分周 比により分周し , 分周後の 1 周期幅を測定します。分周比は以下のように選択します。 DIV2 DIV1 DIV0 0 0 0 2 分周 0 0 1 4 分周 0 1 0 8 分周 0 1 1 16 分周 1 0 0 32 分周 1 0 1 64 分周 1 1 0 128 分周 1 1 1 256 分周 分周比選択 [ 初期値 ] • リセット時 : "000B" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> 起動後の書換えを禁止します。必ず起動前か停止後に書き込んでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 233 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ PWC の動作説明 10.3 測定入力端子と 8 ビット入力分周を組み込んでいます。PWC は , パルス幅測定機能 があり , 3 種類のカウントクロックを選択可能です。以下に , パルス幅測定機能にお ける基本機能 / 動作について示します。 ■ パルス幅測定機能 入力パルスの任意イベント間の時間・周期をカウンタで測定できます。 起動後 , 設定した測定開始エッジが入力されるまでカウントは行われません。開始エッ ジを検出するカウンタを "0000H" にクリア後 , カウントアップを開始し , 停止エッジを 検出するとカウントを停止します。この間のカウント値がパルス幅としてレジスタに 保存されます。 測定終了時およびオーバフロー発生時に割込み要求を発生できます。 測定終了後は測定モードに応じて以下のように動作します。 • 単発測定モード時 : 動作を停止します。 • 連続測定モード時 : カウンタ値をバッファレジスタに転送後 , 再度測定開始エッジが 入力されるまでカウントを停止します。 図 10.3-1 パルス幅測定動作 ( 単発測定モード / "H" 幅測定 ) (実線はカウント値) PWC入力 被測定パルス カウント値 FFFFH カウントクリア 0000H 測定開始 カウントスタート カウントストップ 時間 EDIRフラグセット(測定終了) 図 10.3-2 パルス幅測定動作 ( 連続測定モード / "H" 幅測定 ) (実線はカウント値) PWC入力 被測定パルス カウント値 FFFFH オーバフロー PWCRへ データ転送 PWCRへ データ転送 カウントクリア 0000H 測定開始 カウントクリア カウントスタート カウントストップ カウントスタート OVIRフラグセット カウントストップ 時間 EDIRフラグセット(測定終了) 234 FUJITSU SEMICONDUCTOR LIMITED EDIRフラグセット間 CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ■ カウントクロックの選択 カウンタのカウントクロックは , PWCSR レジスタの bit7, bit6:CKS1, CKS0 ビットの設 定によって , 内部クロックソースより 3 種類を選択できます。 選択できるカウントクロックは以下のとおりです。 PWCSR 選択される内部カウントクロック CKS1, CKS0 00B 周辺クロックの 4 分周 01B 周辺クロックの 16 分周 10B 周辺クロックの 32 分周 [ 初期値 ] リセット後の初期値では , 周辺クロックの 4 分周クロックが選択されています。 <注意事項> カウントクロックの選択は , 必ずカウンタ起動前に行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 235 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ■ 動作モードの選択 各動作モード / 測定モードの選択は , PWCSR の設定により行います。 • 動作モードの設定 : PWCSR bit2 ∼ bit0:MOD2, MOD1, MOD0 • 測定モードの設定 : PWCSR bit3:SC モード設定ビットの組合せによる動作モードの選択の一覧を以下に示します。 SC 動作モード ↑または↓∼↑または↓ 全エッジ間測定 分周周期測定 (1 ∼ 256 分周 ) ↑∼↑ 立上り間周期測定 パルス幅測定 ↑∼↓ "H" パルス幅測定 ↓∼↑ "L" パルス幅測定 ↓∼↓ 立下り間周期測定 MOD2 MOD1 MOD0 単発測定 : バッファ無効 0 0 0 0 連続測定 : バッファ有効 1 0 0 0 単発測定 : バッファ無効 0 0 0 1 連続測定 : バッファ有効 1 0 0 1 単発測定 : バッファ無効 0 0 1 0 連続測定 : バッファ有効 1 0 1 0 単発測定 : バッファ無効 0 0 1 1 連続測定 : バッファ有効 1 0 1 1 単発測定 : バッファ無効 0 1 0 0 連続測定 : バッファ有効 1 1 0 0 単発測定 : バッファ無効 0 1 0 1 連続測定 : バッファ有効 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 設定禁止 リセット後の初期値では , 全エッジ間測定−単発測定モードが選択されています。 <注意事項> 起動モードの選択は , 必ずカウンタ起動前に行ってください。 236 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ■ パルス幅測定の起動と停止 各動作の起動 / 再起動 / 強制停止は , PWCSR の bit15, bit14:STRT, STOP ビットにより行 います。 パルス幅測定の起動 / 再起動は STRT ビット , 強制停止は STOP ビットと機能が分かれ ており , それぞれ "0" を書き込むことにより機能しますが , このとき , 両ビットに書き 込む値が排他でないと機能しません。必ず以下に示す組合せを書き込んでください。 機能 STRT STOP パルス幅測定の起動 / 再起動 0 1 パルス幅測定の強制停止 1 0 リードモディファイライト (RMW) 系命令を用いる場合 , ハードウェアにより自動的に 上記の組合せにて書き込まれるため , 特に意識する必要がありません。 ● 起動後の動作 パルス幅測定モードの起動後は , 測定開始エッジが入力されるまでカウントは行われ ません。測定開始エッジ検出後 , 16 ビットアップカウンタを "0000H" にクリアし , カウ ントを開始します。 ● 再起動について パルス幅測定起動後 , 動作中に起動する (STRT ビットに "0" を書き込む ) ことを再起動 とよびます。再起動すると , 以下のような動作が行われます。 • 測定開始エッジ待ち状態の場合 : 動作に影響はありません。 • 測定中の場合 : カウントを停止し , 再度測定開始エッジ待ち状態 となります。この際測定終了エッジ検出と再起動 が同時に発生すると , 測定終了フラグ (EDIR) が セットされ , 連続測定モード時の場合は測定結果 が PWCR に転送されます。 ● 停止について 単発測定モードでは , カウンタのオーバフローまたは測定終了により , 自動的にカウン ト動作を停止しますので , 特に意識する必要はありません。連続測定モードや自動停止 する前に停止させたい場合は , 強制停止させる必要があります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 237 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ● 動作状態の確認 STRT, STOP ビットは読出し時 , 動作状態表示ビットとして機能します。表示される値 は以下の内容を示します。 STRT STOP 0 0 カウンタ停止中 ( 測定開始エッジ待ち状態を除く ) 起動されていないか , または測定が終了したことを示します。 1 1 カウント動作中または測定開始エッジ待ち状態を示します。 動作状態 <注意事項> STRT, STOP のどちらのビットを読み出しても同じ値となります。 ■ カウンタのクリア 16 ビットアップカウンタは , 以下に示す場合に "0000H" にクリアされます。 • リセット時 • パルス幅測定モードにて , 測定開始エッジを検出しカウントを開始する場合 238 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ■ パルス幅測定動作詳細 ● 単発測定と連続測定 パルス幅測定には , 1 回のみの測定を行うモードと連続して測定を行うモードがありま す。各モードは PWCSR の SC ビットによって選択します (「■ 動作モードの選択」を 参照 )。両モードにおける相違点は以下のとおりです。 • 単発測定モード : 1 回目の測定終了エッジが入力されるとカウンタのカウントは停 止し , PWCSR 中の測定終了フラグ (EDIR) がセットされ , 以降の 測定は行われません。ただし , 同時に再起動がかかった場合は測 定開始待ち状態となります。 • 連続測定モード : 測定終了エッジが入力されるとカウンタのカウントは停止し , PWCSR 中の測定終了フラグ(EDIR)がセットされ, 再度測定開始 エッジが入力されるまでカウントを停止します。再度 , 測定開始 エッジが入力されるとカウンタを "0000H" にクリアした後 , 測定 を開始します。測定終了時 , カウンタの測定結果は PWCR に転 送されます。 <注意事項> 測定モードの選択 / 変更は , 必ずカウンタ停止中に行ってください。 ● 測定結果データ 単発測定モードと連続測定モードでは , 測定結果とカウンタ値の扱い , PWCR の機能に 違いがあります。両モードにおける測定結果の相違点は以下のとおりです。 • 単発測定モード : PWCRを動作中に読み出すと測定中のカウント値が得られます。 PWCRを測定終了後に読み出すと測定結果データが得られます。 • 連続測定モード : 測定終了時 , カウンタ内の測定結果は PWCR に転送されます。 PWCRを読み出すと直前の測定結果が得られ, 測定動作中も前回 の測定結果を保持しています。測定中のカウント値は読み出せ ません。 連続測定モードにて測定結果を読み出さないうちに次の測定が終了してしまった場合, 前回の測定結果は新しい測定結果に消されてしまいます。この際 , PWCSR 中のエラー フラグ (ERR) がセットされます。エラーフラグ (ERR) は , PWCR を読み出すと自動的 にクリアされます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 239 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ● 測定モードとカウント動作 入力されたパルスのどこを測定するかによって, 測定モードを5種類のうちから選択す ることができます。さらに , 高い周波数のパルスの幅を精度よく測定できるように , 入 力されたパルスを任意分周して周期を測定するモードも用意されています。以下に , そ れらについて説明します。 測定モード MOD2 MOD1 MOD0 測定内容 (W : 測定するパルス幅 ) W 全エッジ間パルス 幅測定 ↑カウント スタート 0 0 0 0 0 1 W ↓カウント スタート (4 周分の例 ) ↑カウントストップ ↑スタート ↑カウント スタート 0 1 W ↓ ストップ 分周比設定レジスタ PDIVR で選択した分周比だ け入力パルスを分周してその周期を測定します。 カウント ( 測定 ) 開始 : 起動直後の 立上りエッジ 検出時 カウント ( 測定 ) 終了 : 分周後の 1 周期終了時 W 立上りエッジ間 周期測定 W W ↑カウントストップ ↑スタート ↑ストップ ↑スタート 0 0 1 1 ↑カウント スタート W ↓カウント ストップ ↑ スタート ↓ ストップ "H" 期間の幅を測定します。 カウント ( 測定 ) 開始 : 立上りエッジ検出時 カウント ( 測定 ) 終了 : 立下りエッジ検出時 W W ↓カウント スタート "L" パルス幅測定 1 0 0 ↑カウント ストップ 240 ↓カウント スタート 1 0 1 ↓ スタート ↑ ストップ "L" 期間の幅を測定します。 カウント ( 測定 ) 開始 : 立下りエッジ検出時 カウント ( 測定 ) 終了 : 立上りエッジ検出時 W 立下りエッジ間 周期測定 ↑ ストップ 立上りエッジ間の周期を測定します。 カウント ( 測定 ) 開始 : 立上りエッジ検出時 カウント ( 測定 ) 終了 : 立上りエッジ検出時 W "H" パルス幅測定 ↓ ストップ 連続して入力されるエッジ間の幅を測定します。 カウント ( 測定 ) 開始 : エッジ検出時 カウント ( 測定 ) 終了 : エッジ検出時 W 分周周期測定 W W ↓カウントストップ ↓スタート ↑ストップ ↑スタート W W ↓カウントストップ ↓スタート ↓ストップ ↓スタート ↓ ストップ 立下りエッジ間の周期を測定します。 カウント ( 測定 ) 開始 : 立下りエッジ検出時 カウント ( 測定 ) 終了 : 立下りエッジ検出時 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ どのモードでも , 測定起動後 , 測定開始エッジが入力されるまでカウンタはカウント動 作を行いません。測定開始エッジが入力されると , カウンタは "0000H" にクリアされた 後 , 測定終了エッジが入力されるまでの間 , カウントクロックごとにアップカウントを 続けます。 測定終了エッジが入力されると , 以下の動作が行われます。 • PWCSR 中の測定終了フラグ (EDIR) がセットされます。 • カウンタのカウント動作が停止します ( 再起動と同時であった場合を除く )。 • 連続測定モード時 : カウンタの値 (= 測定結果 ) が PWCR に転送され , 次の測定開始 エッジが入力されるまでカウントを停止して待ちます。 • 単発測定モード時 : 測定を終了します ( 再起動と同時であった場合を除く )。 連続測定モードの場合で , 全エッジ間パルス幅測定や周期測定などを行った場合 , 終了 エッジが次の測定開始エッジとなります。 ● 最小入力パルス幅について パルス幅測定入力端子 (PWI1, PWI0) に入力できるパルスには以下の制限があります。 最小入力幅 : 周辺クロックサイクル× 4 以上 (16MHz の周辺クロックの場合は , 0.25μs 以上 ) 上記パルスより小さい幅のパルスを入力した場合の動作は保証されません。 ● パルス幅 / 周期算出方法 測定終了後 , PWCR に得られた測定結果データから , 被測定パルス幅 / 周期算出方法は 以下のように求められます。 TW : 被測定パルス幅 / 周期 [μs] n×t TW = [μs] DIV n : PWCR 内の測定結果データ t : カウントクロックの周期 [μs] DIV : 分周比レジスタ PDIVR で選択した分周比 ( 分周周期測定モード以外は "1" を代入 ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 241 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ● パルス幅 / 周期測定レンジ カウントクロックおよび入力分周器の分周比の選択の組合せにより , 測定可能なパル ス幅 / 周期のレンジが変化します。 一例として , 周辺クロック ( 以下 φ とする )=16MHz 時の測定レンジの一覧表を以下に 示します。 分周比 DIV2, DIV1, DIV0 CKS1, CKS0= 00B(φ /4) 時 CKS1, CKS0= 01B(φ /16) 時 CKS1, CKS0= 10B(φ /32) 時 分周 なし − 0.25μs ∼ 16.4ms [250ns] 0.25μs ∼ 65.5ms [1.0μs] 0.25μs ∼ 131ms [2.0μs] 2 分周 000B 0.25μs ∼ 8.19ms [125ns] 0.25μs ∼ 32.8ms [0.5μs] 0.25μs ∼ 65.5ms [1.0μs] 4 分周 001B 0.25μs ∼ 4.10ms [62.5ns] 0.25μs ∼ 16.4ms [250ns] 0.25μs ∼ 32.8ms [0.5μs] 8 分周 010B 0.25μs ∼ 2.05ms [31.25ns] 0.25μs ∼ 8.19ms [125ns] 0.25μs ∼ 16.4ms [250ns] 16 分周 011B 0.25μs ∼ 1.02ms [15.6ns] 0.25μs ∼ 4.10ms [62.5ns] 0.25μs ∼ 8.19ms [125ns] 64 分周 100B 0.25μs ∼ 256μs [3.91ns] 0.25μs ∼ 1.024ms [15.6ns] 0.25μs ∼ 2.05ms [31.25ns] 256 分周 101B 0.25μs ∼ 64.0μs [0.98ns] 0.25μs ∼ 256μs [3.91ns] 0.25μs ∼ 512μs [7.81ns] − その他 設定禁止 周辺クロック φ = 16MHz 時 [ ] 内は 1 ビットあたりの分解能を示します。 ● 割込み要求発生 パルス幅測定モードにおいては , 以下の 2 つの割込み要求を発生することが可能です。 • カウンタのオーバフローによる割込み要求 測定中 , カウントアップによりオーバフローが発生するとオーバフローフラグが セットされ , オーバフロー割込み要求が許可されていると割込み要求が発生しま す。 • 測定終了による割込み要求 測定終了エッジを検出すると , PWCSR 中の測定終了フラグ (EDIR) がセットされ , 測定終了割込み要求が許可されていると割込み要求が発生します。 測定終了フラグ (EDIR) は , 測定結果 PWCR を読み出すと自動的にクリアされます。 242 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ● パルス幅測定動作フロー 各種設定 再起動 カウントクロック選択 動作/測定モード選択 割込みフラグクリア 割込み許可 測定入力端子選択 STRTビットにより起動 単発測定モード 連続測定モード 測定開始エッジ検出 測定開始エッジ検出 カウンタをクリア カウンタをクリア カウント開始 カウント開始 アップカウント アップカウント オーバフローの発生 → OVIRフラグセット オーバフローの発生 → OVIRフラグセット 測定終了エッジ検出 → EDIRフラグセット 測定終了エッジ検出 → EDIRフラグセット カウント停止 カウント停止 カウント値をバッファに転送 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 動作停止 243 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ■ 注意事項 ● レジスタ書換えに関する注意事項 PWCSR レジスタの以下に示すビットは動作中に書き換えることを禁止します。書換え は必ず起動前か停止後に行ってください。 [bit7, bit6] CKS1, CKS0 : クロック選択ビット [bit5, bit4] PIS1, PIS0 : 入力信号選択ビット [bit3] SC : 測定モード ( 単発 / 連続 ) 選択ビット [bit2 ∼ bit0] MOD2 ∼ MOD0 : 動作モード / 測定エッジ選択ビット PDIVR レジスタは動作中に書き換えることを禁止します。書換えは必ず起動前か停止 後に行ってください。 ● PWCSR レジスタの STRT, STOP ビットについて 両ビットともに , 書込み時と読出し時では , 意味が異なるので注意してください (「■ PWC コントロール / ステータスレジスタ (PWCSR) 」を参照してください )。 また , リードモディファイライト (RMW) 系命令における読出し値は , ビット値にかか わらず , "11B" です。 カウンタの起動 / 停止のための STRT, STOP ビットへの書込みは , それぞれのビットに 対するビット処理命令 ( ビットクリア命令など ) を用いることが可能です。 ● カウンタのクリアについて パルス幅測定モードの場合 , 測定開始エッジでカウンタがクリアされますので , 起動前 にカウンタ中にあったデータは無効になります。 ● 最小入力パルス幅について パルス幅測定入力端子に入力できるパルスには , 以下の制限があります。 • 最小入力幅 : 周辺クロックサイクル× 4 ( 周辺クロックサイクルが 62.5ns 時 , ≧ 250ns) • 最大入力周波数 : 周辺クロックの 4 分周 ( 周辺クロックサイクルが 16MHz 時 , ≦ 4MHz) 上記パルスより小さい幅 , 高い周波数のパルスを入力した場合の動作は保証できませ ん。入力信号にそのようなノイズがのる可能性がある場合は , チップ外部でフィルタな どを通して除去してから入力してください。 ● 分周周期測定モードについて パルス幅測定モードのうちの分周周期測定モードでは , 入力パルスを分周するため , 測 定結果より算出して得られるパルス幅は平均値となりますので注意してください。 ● クロック選択ビットについて PWCSR レジスタの [bit7, bit6] CKS1, CKS0 : クロック選択ビットにおいて "11B" は設定 禁止です。 ● 予約ビットについて PWCSR レジスタの bit8 は予約ビットになっています。このビットに書込みを行う場合 は "0" にしてください。 244 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 MB91220 シリーズ ● 動作中の再起動について カウント動作を開始した後に再起動を行う場合は , そのタイミングによっては以下に 示すようなことが起こり得ます。 • パルス幅単発測定モード時 , 測定終了エッジと同時であった場合 再起動を行い , 測定開始エッジ待ち状態となりますが , 測定終了フラグ (EDIR) は セットされます。 • パルス幅連続測定モード時 , 測定終了エッジと同時であった場合 再起動を行い , 測定開始エッジ待ち状態となりますが , 測定終了フラグ (EDIR) は セットされ , その時点での測定結果は PWCR に転送されます。 以上のように , 動作中の再起動時には , フラグの動作に注意して割込み制御などを行う ようにしてください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 245 第 10 章 PWC (Pulse Width Count : パルス幅測定 ) 10.3 PWC の動作説明 246 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 11 章 メイン発振安定待ちタイマ メイン発振安定待ちタイマの概要 , レジスタの構 成 , 機能および動作について説明します。 CM71-10142-5 11.1 メイン発振安定待ちタイマの概要 11.2 メイン発振安定待ちタイマのブロックダイヤグラム 11.3 メイン発振安定待ちタイマのレジスタ 11.4 メイン発振待ち割込みの動作 FUJITSU SEMICONDUCTOR LIMITED 247 第 11 章 メイン発振安定待ちタイマ 11.1 メイン発振安定待ちタイマの概要 11.1 MB91220 シリーズ メイン発振安定待ちタイマの概要 メイン発振安定待ちタイマは , メインクロックに同期してカウントアップする 23 ビットのカウンタです。一定の時間間隔で繰り返し割込みを発生するインターバル タイマ機能があります。 ■ メイン発振安定待ちタイマの概要 サブクロック動作中に , メインクロックの発振を停止させた場合 , 再度メインクロック を発振させて使用するには , 発振安定待ち時間を確保する必要があります。 本タイマは , この場合の発振安定待ち時間を確保するために使用します。 カウントクロックは , メイン発振の 2 分周クロックになります。 インターバル時間は次の 3 種類の中から選択できます。 メインクロック周期 インターバル時間 ( メイン発振 4MHz 時 ) φ × 211 ( 約 1.0ms) φ φ × 216 ( 約 32.7ms) φ × 214 ( 約 8.0ms) ( 注意事項 ) φ は内部ベースクロックの周期で , メイン発振の 2 倍の周期です。 248 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 11 章 メイン発振安定待ちタイマ 11.2 メイン発振安定待ちタイマのブロックダイヤグラム MB91220 シリーズ 11.2 メイン発振安定待ちタイマのブロックダイヤグラム メイン発振安定待ちタイマのブロックダイヤグラムを示します。 ■ メイン発振安定待ちタイマのブロックダイヤグラム 図 11.2-1 メイン発振安定待ちタイマのブロックダイヤグラム メイン発振安定待ち タイマ用カウンタ 6 10 13 15 21 22 23 24 25 26 27 211 214 216 bit 0 1 2 3 4 5 22 インターバル タイマセレクタ リセット (INIT) カウンタクリア回路 メイン発振安定待ち タイマ割込み メイン発振安定待ちタイマ 制御レジスタ(OSCR) WIF WIE WEN - - WS1 WS0 WCL : 内部ベースクロックの周期 メイン発振安定待ちタイマ用カウンタ メインクロック原発振をカウントクロックとする 23 ビットのアップカウンタです。 カウンタクリア回路 OSCR レジスタによる設定 (WCL=0) 以外に , リセット (INIT) 時にカウンタをクリア します。 インターバルタイマセレクタ 割込みを発生させるインターバル時間の分周出力を選択する回路です。 メイン発振安定待ちタイマ用カウンタの 3 種類の分周出力の中から , WS1/0 の設定 に対応する 1 つを選択して出力します。 この出力の立下りが , 割り込み要因となります。 メイン発振安定待ちタイマ制御レジスタ (OSCR) インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを 行います。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 249 第 11 章 メイン発振安定待ちタイマ 11.3 メイン発振安定待ちタイマのレジスタ 11.3 MB91220 シリーズ メイン発振安定待ちタイマのレジスタ メイン発振安定待ちタイマのレジスタの詳細を説明します。 ■ メイン発振安定待ちタイマレジスタ (OSCR) 図 11.3-1 メイン発振安定待ちタイマ制御レジスタ OSCR ( アクセス:Byte) アドレス 00000490H bit15 初期値 bit14 bit13 WIF WIE WEN R(RM1),W R/W R/W bit12 bit11 − − R0,W0 R0,W0 bit10 bit9 bit8 WS1 WS0 WCL R/W R/W R1,W INIT 時 RST 時 00000001B XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] WIF (Wait timer Interrupt Flag) メイン発振安定待ち割込み要求フラグです。 選択されたインターバルタイマ用分周出力の立下りエッジによって "1" にセットさ れます。 このビットと割込み要求許可ビットが共に "1" のとき , メイン発振安定割込み要求 を出力します。 0 メイン発振安定割込みの要求なし ( 初期値 ) 1 メイン発振安定割込みの要求あり • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書込み してもビット値は変化しません。 また , リードモディファイライト (RMW) 系命令での読出し値では常に "1" とな ります。 [bit14] WIE (Wait timer Interrupt Enable) CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットとメイン発振 安定割込み要求フラグビットが共に "1" のとき , メイン発振安定割込み要求を出力 します。 0 メイン発振安定割込み要求出力禁止 ( 初期値 ) 1 メイン発振安定割込み要求出力許可 • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。 250 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 11 章 メイン発振安定待ちタイマ 11.3 メイン発振安定待ちタイマのレジスタ MB91220 シリーズ [bit13] WEN (Wait timer enable) タイマ動作許可ビットです。 本ビットが "1" のときタイマはカウント動作を行います。 0 タイマ動作停止 ( 初期値 ) 1 タイマ動作 • リセット (INIT) で "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit12, bit11] (reserved bit) 予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 )。 読出し値は不定です。 [bit10, bit9] WS1, WS0 (Wait timer interval Select 1, 0) インターバルタイマの周期を選択します。 メイン発振安定待ちタイマ用カウンタの出力ビットの下記 3 種類のうちから選択し ます。 WS1 WS0 0 0 設定禁止 ( 初期値 ) 0 1 φ × 211 (1.0ms) 1 0 φ × 216 (32.7ms) 1 1 φ × 214 (8.0ms) インターバルタイマ周期 ( メイン発振 4MHz 時 ) (φ は内部ベースクロックの周期で , メイン発振の 2 倍の周期です。) • リセット (INIT) で "00B" に初期化されます。 • このタイマを使用する場合 , WS1, WS0 ビットに適切な値を書き込んで使用して ください。 • 読出しおよび書込みが可能です。 [bit8] WCL (Wait timer CLear) • "0" 書込みでメイン発振安定待ちタイマを "0" にクリアします。 • 書込みは "0" のみ可能で , "1" を書込みしても動作に影響を与えません。 • 読出し値は常に "1" となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 251 第 11 章 メイン発振安定待ちタイマ 11.4 メイン発振待ち割込みの動作 11.4 MB91220 シリーズ メイン発振待ち割込みの動作 メイン発振待ち割込みの動作について説明します。 ■ メイン発振安定待ち割込みの動作 メイン発振安定待ちタイマ用カウンタは , メインクロックでカウント動作し , 設定した インターバル時間が経過すると , メイン発振安定待ち割込み要求フラグ (WIF) を "1" に セットします。そのとき , 割込み要求許可ビットを許可 (WIE=1) していると CPU へ割 込み要求が発生します。ただし , メインクロックが発振停止しているとき (「■ イン ターバルタイマ機能の動作」を参照 ) ではカウント動作も停止しますので , メイン発振 安定待ち割込みは発生しません。 割込み処理ルーチンで WIF フラグに "0" を書き込み , 割込み要求をクリアしてくださ い。なお , WIF ビットは , WIE ビットの値に関係なく , 指定した分周出力が立ち下ると セットされます。 リセット解除後に割込み要求出力を許可 (WIE=1) する場合および WS1 を "0" 変更時は , 必ず WIF ビットと WCL ビットを同時にクリア (WIF=WCL=0) してください。 • WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込 み要求が発生します。 • カウンタクリア(OSCR:WCL=0)と選択したビットのオーバフローが同時に起こった 場合は , WIF ビットのセットは行われません。 ■ インターバルタイマ機能の動作 メイン発振安定待ちタイマ用カウンタはメインクロックにてカウントアップを行いま すが , 以下の状態では , カウント動作は停止します。 • WEN ビットが "0" のとき • ストップモードにおいて , メイン発振が停止する設定 ( スタンバイ制御レジスタ STCR の bit0 : OSCD1=1) でストップモードに移行すると , ストップモード中 , メイ ンクロック発振が停止するのでカウント動作が停止します。MB91220 シリーズでは , リセット (INIT) 時 OSCD1=1 に初期化しますので , ストップモード中もメイン発振 安定待ちタイマを動かしたい場合は, スタンバイ移行前にOSCD2=0を設定してくだ さい。 • サブクロックモードで OSCCR( 発振制御レジスタ ) の bit0 : OSCDS1 に "1" を設定した ときは , メイン発振が停止しますのでタイマカウント動作も停止します。 カウンタをクリア (WCL=0) すると , "000000H" からカウント動作を行い , "7FFFFFH" に 達すると "000000H" に戻ってカウントを継続します。カウントアップ中に選択された インターバルタイマ用の分周出力に立下りエッジが発生すると , メイン発振安定待ち 割込み要求ビット (WIF) を "1" にセットします。つまり , クリアされた時間を基準にし て , 選択されたインターバル時間ごとにメイン発振安定待ちタイマ割込み要求を発生 します。 252 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 11 章 メイン発振安定待ちタイマ 11.4 メイン発振待ち割込みの動作 MB91220 シリーズ ■ クロック供給機能の動作 MB91220 シリーズでは , INIT やストップモード後の発振安定待ち時間の確保にタイム ベースカウンタが使用されますが , クロックソースとしてサブクロックを選択中にメ インクロックの発振安定待ち時間を確保するには , クロックソース選択とは無関係に メインクロックで動作するメイン発振安定待ちタイマを使用します。 サブクロック動作にてメイン発振停止状態からメインクロックの発振安定待ちを確保 するためには , 次の手順で行ってください。 (1) メインクロックの発振安定に必要な時間を WS1, WS0ビットに設定し , カウンタを "0" にクリアします (WS1, WS0= 発振安定待ち時間 , WCL=0 書込み )。発振安定待 ち完了後の処理を割込みで行いたい場合は , 割込みフラグの初期化も行います (WIF=0, WIE=0 書込み )。 (2) メインクロックの発振を開始します (OSCCR bit0: OCSDS1=0 書込み )。 (3) プログラムにて , WIF フラグが "1" になるまで待ちます。 (4) WIF フラグが "1" になったのを確認し , 発振安定待ち完了後の処理を行います。ま た , 割込みを許可した場合は , WIF=1 のときに割込みが発生しますので , 割込み ルーチンで発振安定待ち完了後の処理を行ってください。 サブクロックからメインクロックに切り換える場合も , (4) の WIF=1 の確認を待ってか ら行ってください ( 発振安定を待たずにメインクロックへ切り換えると , デバイス全体 に不安定なクロックが供給され , その後の動作は保証されません )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 253 第 11 章 メイン発振安定待ちタイマ 11.4 メイン発振待ち割込みの動作 MB91220 シリーズ ■ メイン発振安定待ちタイマ起動時のメインクロック移行時カウンタ状態 メイン発振安定待ちタイマを起動したとき , メインクロックへの移行時のカウンタ状 態を以下に示します。 図 11.4-1 メイン発振安定待ちタイマ起動時のメインクロック移行時カウンタ状態 (4) (3) (4) (3) (2) (1) 216 (ビット15) WEN WCL (4) (4) (2) (2) WIF (2) WIE (2) (4) (6) (4) (6) (1) インターバル時間の選択 (WS[1:0]) ( この例では , 216 を選択 ) (2) タイマのクリア (WCL=0), フラグのクリア (WIF=0), 割込み要求許可 (WIE=1), タイ マカウント許可 (WEN=1) をソフトウェアで設定 (3) メインクロック ( 原発振 ) でタイマがカウントアップ (4) 選択したインターバル時間 (216 分周の立下り ) でインターバル割込みが生成 (5) 割込み中の処理 ( ソフトウェア ):割込み要求クリア (WIF=0) (6) (3) ∼ (5) を繰り返し 254 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 11 章 メイン発振安定待ちタイマ 11.4 メイン発振待ち割込みの動作 MB91220 シリーズ ■ メイン発振安定待ちタイマ使用時の注意事項 • 発振開始直後は発振周期が不安定なため , 発振安定待ち時間は目安値となります。 • メインクロックが発振停止中はカウンタも停止しますので , メイン発振安定割込み も発生しません。メイン発振安定割込みを使った処理を行う場合は , メイン発振を 停止しないでください。 • WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラ グはセットされません。 ■ メインクロック ↔ サブクロック切換え例 • メインクロック ↔ サブクロック切換え例を下記に示します。 図 11.4-2 メインクロック ↔ サブクロックの切換え例 メインラン (PLL) サブラン 4MHz発振起動 RTC 32kHzの起動 メイン発振安定待ち タイマ起動 NO RTC割込み 終了 YES メインクロック切換え PLL →2分周 メイン発振安定 ON INT NO YES ソースクロックの切換え 32kHz →4MHz PLL OFF ソースクロックの切換え 4MHz→32kHz PLL ON PLL安定待ち 4MHzの発振停止 メインクロック切換え 2分周→PLL サブラン CM71-10142-5 メインラン (PLL) FUJITSU SEMICONDUCTOR LIMITED 255 第 11 章 メイン発振安定待ちタイマ 11.4 メイン発振待ち割込みの動作 256 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 12 章 16 ビットフリーランタイマ 16 ビットフリーランタイマの概要 , レジスタの構 成 / 機能および 16 ビットフリーランタイマの動作 について説明します。 CM71-10142-5 12.1 16 ビットフリーランタイマの概要 12.2 16 ビットフリーランタイマのレジスタ 12.3 16 ビットフリーランタイマの動作 FUJITSU SEMICONDUCTOR LIMITED 257 第 12 章 16 ビットフリーランタイマ 12.1 16 ビットフリーランタイマの概要 12.1 MB91220 シリーズ 16 ビットフリーランタイマの概要 16 ビットフリーランタイマの概要とブロックダイヤグラムを示します。 ■ 16 ビットフリーランタイマの特長 16 ビットフリーランタイマは 16 ビットのアップカウンタ , コントロールステータスレ ジスタより構成されています。本タイマのカウント値はアウトプットコンペア , イン プットキャプチャのベースタイマとして使用されます。 MB91220 シリーズは , 16 ビットフリーランタイマを 2 つ搭載しており , 16 ビットフ リーランタイマ 0 がアウトプットコンペア 0, 1 およびインプットキャプチャ0, 1 のベー スタイマとして利用されます。また , 16 ビットフリーランタイマ 1 がインプットキャ プチャ 2, 3 のベースタイマとして利用されます。 • カウントクロックは 4 種類から選択可能です。 • カウンタオーバフローにより割込みを発生することができます。 • モード設定により , アウトプットコンペアのコンペアレジスタ 0 (OCCP0) の値との 一致による 16 ビットフリーランタイマ 0 のカウンタの初期化が可能です。 ■ 16 ビットフリーランタイマのレジスタ一覧 図 12.1-1 16 ビットフリーランタイマのレジスタ一覧 TCDT0, TCDT1( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 ch.0:0000D4H ch.1:0000D8H T15 T14 T13 T12 T11 T10 T9 T8 00000000B R/W R/W R/W R/W R/W R/W R/W R/W TCDT0, TCDT1( 下位 ) ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 ch.0:0000D5H ch.1:0000D9H T7 T6 T5 T4 T3 T2 T1 T0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W TCCS0, TCCS1 ( アクセス:Byte, Half-word, Word) アドレス ch.0:0000D7H ch.1:0000DBH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ECLK IVF IVFE STOP MODE CLR CLK1 CLK0 R/W R(RM1),W R/W R/W R/W R0,W R/W R/W 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 258 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 12 章 16 ビットフリーランタイマ 12.1 16 ビットフリーランタイマの概要 MB91220 シリーズ ■ 16 ビットフリーランタイマのブロックダイヤグラム 図 12.1-2 16 ビットフリーランタイマのブロックダイヤグラム 割込み IVFE タイマコントロールレジスタ (TCCS) STOP MODE CLR CLK1 CLK0 R-bus ECLK IVF 分周期 φ CK0 クロック選択 CK1 16ビットフリーランタイマ タイマデータレジスタ(TCDT) クロック 内部回路へ(T15~T00) コンパレータ0 (フリーランタイマ0の場合) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 259 第 12 章 16 ビットフリーランタイマ 12.2 16 ビットフリーランタイマのレジスタ 12.2 MB91220 シリーズ 16 ビットフリーランタイマのレジスタ 16 ビットフリーランタイマで使用するレジスタの構成と機能について説明します。 ■ タイマデータレジスタ (TCDT) 図 12.2-1 タイマデータレジスタ (TCDT) のビット構成 TCDT0, TCDT1( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 ch.0:0000D4H ch.1:0000D8H T15 T14 T13 T12 T11 T10 T9 T8 00000000B R/W R/W R/W R/W R/W R/W R/W R/W TCDT0, TCDT1( 下位 ) ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 ch.0:0000D5H ch.1:0000D9H T7 T6 T5 T4 T3 T2 T1 T0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 16 ビットフリーランタイマのカウント値を読み出すことのできるレジスタです。カウ ンタ値は , リセット時に "0000H" にクリアされます。このレジスタに書き込むことでタ イマ値を設定できます。 書込みは必ず停止状態 (STOP =1) で行ってください。アクセスはハーフワード / ワード 単位で行ってください。 タイマの初期化は次の要因で行われます。 • リセットによる初期化 • コントロールステータスレジスタのクリア (CLR) による初期化 • アウトプットコンペアのコンペアレジスタ 0(OCCP0) 値とタイマカウンタ値の一致 による 16 ビットフリーランタイマ 0 のカウンタの初期化 ( モード設定が必要です ) 260 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 12 章 16 ビットフリーランタイマ 12.2 16 ビットフリーランタイマのレジスタ MB91220 シリーズ ■ タイマコントロールレジスタ (TCCS) 図 12.2-2 タイマコントロールレジスタ (TCCS) のビット構成 TCCS0, TCCS1 ( アクセス:Byte, Half-word, Word) アドレス bit7 ch.0:0000D7H ch.1:0000DBH bit6 bit5 bit4 bit3 bit2 bit1 bit0 ECLK IVF IVFE STOP R/W R(RM1),W R/W R/W MODE CLR CLK1 CLK0 R/W R0,W R/W R/W 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7] ECLK 16 ビットフリーランタイマのカウントクロックソースとして , 内部クロックまたは 外部クロックを選択するビットです。クロックソースの選択は , アウトプットコン ペア , インプットキャプチャが停止状態で行ってください。 ECLK クロック選択 0 内部クロックソースを選択 [ 初期値 ] 1 外部端子 (CK0, CK1) を選択 <注意事項> 内部クロックを選択した場合は , TCCS レジスタの bit1, bit0 (CLK1, CLK0) にカウントク ロックの設定を行ってください。このカウントクロックがベースクロックとなります。 外部クロックに必要な最低パルス幅は , 2T です (T : 周辺クロックサイクル )。 外部クロックを指定しアウトプットコンペアを使用した場合 , コンペア一致および割込み は次のクロックサイクルで発生します。そのため , コンペア一致出力 , 割込みを発生させ るためには , コンペア一致後 , 最低 "1 クロックサイクル " を入力する必要があります。 [bit6] IVF 16 ビットフリーランタイマの割込み要求フラグです。 16 ビットフリーランタイマがオーバフローを起こした場合 , またはモード設定によ りアウトプットコンペアのコンペアレジスタ 0(OCCP0) とコンペアマッチして 16 ビットフリーランタイマ 0 のカウンタがクリアされた場合に本ビットは "1" にセッ トされます。 割込み要求許可ビット (IVFE) がセットされていると割込みが発生します。 本ビットは "0" 書込みによりクリアされます。リードモディファイライト (RMW) 系命令では常に "1" が読み出されます。 IVF CM71-10142-5 割込み要求フラグ 0 割込み要求なし [ 初期値 ] 1 割込み要求あり FUJITSU SEMICONDUCTOR LIMITED 261 第 12 章 16 ビットフリーランタイマ 12.2 16 ビットフリーランタイマのレジスタ MB91220 シリーズ [bit5] IVFE 16 ビットフリーランタイマの割込み許可ビットです。 本ビットが "1" のとき , 割込みフラグ (IVF) に "1" がセットされると割込みが発生し ます。 IVFE 割込みイネーブル 0 割込み禁止 [ 初期値 ] 1 割込み許可 [bit4] STOP 16 ビットフリーランタイマのカウントを停止するためのビットです。 STOP カウント動作 0 カウント許可 ( 動作 ) [ 初期値 ] 1 カウント禁止 ( 停止 ) <注意事項> 16 ビットフリーランタイマが停止すると , アウトプットコンペア動作も停止します。 [bit3] MODE 16 ビットフリーランタイマの初期化条件を設定します。 本ビットが "0" のときは , リセットとクリアビット (bit2:CLR) でカウンタ値を初期 化することができます。 "1" のときは , リセットとクリアビット (bit2:CLR) のほかにアウトプットコンペアの コンペアレジスタ値との一致によりカウンタ値を初期化することができます。この とき 16 ビットフリーランタイマ ch.0 はアウトプットコンペアのコンペアレジスタ 0(OCCP0) との一致により初期化が行われます。 MODE 262 タイマの初期化条件 0 リセット , クリアビットによる初期化 [ 初期値 ] 1 リセット , クリアビット , コンペアレジスタによる初期化 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 12 章 16 ビットフリーランタイマ 12.2 16 ビットフリーランタイマのレジスタ MB91220 シリーズ [bit2] CLR 動作中の 16 ビットフリーランタイマ値を "0000H" に初期化するためのビットです。 本ビットに "1" を書き込むことにより , タイマ値を "0000H" に初期化します。読出 し値は常に "0" です。CLR は "0" 書込みでリセットされます。 <注意事項> カウンタ値の初期化は , カウント値の変化点で行われます。本ビットに "1" 書込み後 , カ ウント値が変化する前に "0" を書き込んだ場合には , タイマ値は初期化されません。 タイマ停止中に初期化する場合は , データレジスタに "0000H" を書き込んでください。タ イマ停止中の CLR によるタイマクリアを禁止します。 [bit1, bit0] CLK1, CLK0 16 ビットフリーランタイマのカウントクロックを選択するビットです。 本ビットに書込みの後 , 直ちにカウントクロックは変更されます。本ビットの変更 は , アウトプットコンペア , インプットキャプチャが停止状態で行ってください。 CLK1 CLK0 カウントクロック φ=32MHz φ=16MHz 0 0 φ/22 125ns 250ns 0 1 φ/24 0.5μs 1μs 1 0 φ/25 1μs 2μs 1 1 φ/26 2μs 4μs φ : 周辺クロック CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 263 第 12 章 16 ビットフリーランタイマ 12.3 16 ビットフリーランタイマの動作 12.3 MB91220 シリーズ 16 ビットフリーランタイマの動作 16 ビットフリーランタイマは , リセット解除後にカウンタ値 "0000H" よりカウント を開始します。このカウンタ値が , 16 ビットアウトプットコンペアと 16 ビットイン プットキャプチャの基準時間となります。 ■ 16 ビットフリーランタイマの動作説明 カウンタ値は次の条件でクリアされます。 • オーバフローが発生したとき • アウトプットコンペアのコンペアレジスタ 0 (OCCP0) 値とコンペアマッチしたとき ( モード設定が必要 ) • 動作中に TCCS レジスタの CLR ビットに "1" を書き込んだとき • タイマ停止中に TCDT に "0000H" を書き込んだとき • リセットをかけたとき 割込みは , オーバフローが発生したとき , アウトプットコンペアのコンペアレジスタ 0(OCCP0) 値とコンペアマッチしてカウンタがクリアされたときに発生します ( コンペ アマッチ割込みはモード設定が必要です )。 図 12.3-1 オーバフローによるカウンタクリア カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット 割込み 264 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 12 章 16 ビットフリーランタイマ 12.3 16 ビットフリーランタイマの動作 MB91220 シリーズ 図 12.3-2 コンペアクリアレジスタ値とコンペアマッチしたときのカウンタクリア カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット コンペアレジスタ BFFFH 割込み ■ 16 ビットフリーランタイマのクリアタイミング カウンタクリアは , 外部リセット , タイムデータレジスタの CLR ビットに "1" 書込み , コンペアクリアレジスタとの一致で行われます。 外部リセットによるカウンタクリアは , クリア発生と同時に行われますが , タイムデー タレジスタの CLR ビットに "1" 書込みとコンペアクリアレジスタ 0 との一致によるカ ウンタクリアはカウントタイミングに同期して行われます。 図 12.3-3 16 ビットフリーランタイマのクリアタイミング コンペアクリアレジスタ値 N カウンタクリア カウンタ値 N 0000H ■ 16 ビットフリーランタイマのカウントタイミング 16 ビットフリーランタイマは , 入力されたクロック ( 内部または外部クロック ) により カウントアップされます。外部クロック選択時は , 外部クロックの立下りエッジ↓をシ ステムクロックで同期化した後 , 内部クロックの立下りでカウントされます。 図 12.3-4 16 ビットフリーランタイマのカウントタイミング 外部クロック入力 内部クロック カウンタ値 CM71-10142-5 N FUJITSU SEMICONDUCTOR LIMITED N+1 265 第 12 章 16 ビットフリーランタイマ 12.3 16 ビットフリーランタイマの動作 MB91220 シリーズ ■ 16 ビットフリーランタイマの注意事項 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ グセットが優先し , クリア動作は無効となります。 • コントロールレジスタの bit2 ( カウンタ初期化ビット : CLR ) に "1" が書き込まれた 後 , カウンタ値の初期化は , カウント値の変化点で行われます。本ビットに "1" を書 き込んだ後 , カウント値が変化する前に "0" を書き込んだ場合には , タイマ値は初期 化されません。 • CLR ビットへの "1" 書込み / カウンタオーバフロー / コンペアクリアレジスタとの 一致によるカウンタクリア動作は , カウンタ動作中にのみ有効となります。停止中 にカウンタをクリアする場合は , タイマカウントデータレジスタに "0000H" を書き 込むようにしてください。 266 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 13 章 インプットキャプチャ インプットキャプチャの概要 , レジスタの構成 , 機 能および動作について説明します。 CM71-10142-5 13.1 インプットキャプチャの概要 13.2 インプットキャプチャのレジスタ 13.3 インプットキャプチャの動作 FUJITSU SEMICONDUCTOR LIMITED 267 第 13 章 インプットキャプチャ 13.1 インプットキャプチャの概要 13.1 MB91220 シリーズ インプットキャプチャの概要 インプットキャプチャの特長とブロックダイヤグラムを示します。 ■ インプットキャプチャの特長 インプットキャプチャは外部から入力された信号の立上りエッジ , 立下りエッジまた は両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに保持す る機能を持っています。また , エッジ検出時に割込みを発生することができます。 インプットキャプチャは , インプットキャプチャデータレジスタ , コントロールレジス タで構成されています。 各インプットキャプチャは , それぞれに対応した外部入力端子を持っています。 • 外部入力の有効エッジを 3 種類から選択可能です。 - 立上りエッジ - 立下りエッジ - 両エッジ • 外部入力有効エッジを検出したときに割込みを発生させることができます。 268 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 13 章 インプットキャプチャ 13.1 インプットキャプチャの概要 MB91220 シリーズ ■ インプットキャプチャのレジスタ一覧 図 13.1-1 にインプットキャプチャのレジスタ一覧を示します。 図 13.1-1 インプットキャプチャのレジスタ一覧 IPCP ( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 0000ECH(IPCP3) 0000EEH(IPCP2) 0000E4H(IPCP1) 0000E6H(IPCP0) CP15 CP14 CP13 CP12 CP11 CP10 CP9 CP8 XXXXXXXXB R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXXB IPCP ( 下位 ) ( アクセス:Half-word, Word) アドレス 0000EDH(IPCP3) 0000EFH(IPCP2) 0000E5H(IPCP1) 0000E7H(IPCP0) bit7 bit6 bit5 CP7 CP6 CP5 CP4 CP3 CP2 CP1 CP0 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ICS ( アクセス:Byte, Half-word, Word) アドレス 0000F3H(ICS23) 0000EBH(ICS01) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00 R/W R/W R/W R/W R/W R/W R(RM1),W R(RM1),W 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 269 第 13 章 インプットキャプチャ 13.1 インプットキャプチャの概要 MB91220 シリーズ ■ インプットキャプチャのブロックダイヤグラム 図 13.1-2 にインプットキャプチャのブロックダイヤグラムを示します。 図 13.1-2 インプットキャプチャのブロックダイヤグラム 16ビット タイマ(ch.0)カウント値 EG11 R-bus IN0 入力端子 エッジ 検出 キャプチャデータレジスタ ch.0 EG10 EG01 EG00 16ビット タイマ(ch.0)カウント値 ICP1 IN1 入力端子 エッジ 検出 キャプチャデータレジスタ ch.1 ICP0 ICE1 ICE0 割込み 割込み ( 注意事項 ) インプットキャプチャ 0, 1 の場合 270 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 13 章 インプットキャプチャ 13.2 インプットキャプチャのレジスタ MB91220 シリーズ 13.2 インプットキャプチャのレジスタ インプットキャプチャで使用するレジスタの構成および機能について説明します。 ■ インプットキャプチャレジスタ (IPCP) 図 13.2-1 インプットキャプチャレジスタ (IPCP) のビット構成 IPCP ( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 0000ECH(IPCP3) 0000EEH(IPCP2) 0000E4H(IPCP1) 0000E6H(IPCP0) CP15 CP14 CP13 CP12 CP11 CP10 CP9 CP8 XXXXXXXXB R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX IPCP ( 下位 ) ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000EDH(IPCP3) 0000EFH(IPCP2) 0000E5H(IPCP1) 0000E7H(IPCP0) CP7 CP6 CP5 CP4 CP3 CP2 CP1 CP0 XXXXXXXXB R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 本レジスタは , 対応した外部端子から入力される波形の有効エッジを検出したときに , 16 ビットフリーランタイマ値を保持するレジスタです。リセット時は不定です。 このレジスタは 16 ビットデータまたは 32 ビットデータでアクセスしてください。書 込みはできません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 271 第 13 章 インプットキャプチャ 13.2 インプットキャプチャのレジスタ MB91220 シリーズ ■ インプットキャプチャコントロールレジスタ (ICS) 図 13.2-2 インプットキャプチャコントロールレジスタ (ICS) のビット構成 ICS ( アクセス:Byte, Half-word, Word) アドレス 0000F3H(ICS23) 0000EBH(ICS01) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ICP1 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00 R/W R/W R/W R/W R/W R/W R(RM1),W R(RM1),W 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7, bit6] ICP1, ICP0 インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると 本ビットを "1" にセットします。割込み許可ビット (ICE3 ∼ ICE0) がセットされて いると , 有効エッジを検出することにより割込みを発生させることができます。本 ビットは "0" 書込みによりクリアされます。"1" 書込みは意味を持ちません。リー ドモディファイライト (RMW) 系命令では "1" が読み出されます。 0 : 有効エッジ検出なし ( 初期値 ) 1 : 有効エッジ検出あり ICPn : n の番号がインプットキャプチャのチャネル番号に対応します。 [bit5, bit4] ICE1, ICE0 インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき , 割込みフラ グ(ICP3∼ICP0)が"1"にセットされるとインプットキャプチャ割込みが発生します。 0 : 割込み禁止 ( 初期値 ) 1 : 割込み許可 ICEn : n の番号がインプットキャプチャのチャネル番号に対応します。 [bit3 ∼ bit0] EG11, EG10, EG01, EG00 外部入力の有効エッジ極性を選択するビットです。インプットキャプチャ動作も兼 用しています。 EGn1 EGn0 0 0 エッジ検出なし ( 停止状態 ) ( 初期値 ) 0 1 立上りエッジ検出 ↑ 1 0 立下りエッジ検出 ↓ 1 1 両エッジ検出 ↑ & ↓ エッジ検出極性 EGn1/EGn0 : n の番号がインプットキャプチャのチャネル番号に対応します。 272 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 13 章 インプットキャプチャ 13.3 インプットキャプチャの動作 MB91220 シリーズ 13.3 インプットキャプチャの動作 インプットキャプチャの動作について説明します。 ■ インプットキャプチャの取込みタイミング インプットキャプチャは, 設定された有効エッジを検出すると, 16ビットフリーランタ イマの値をキャプチャレジスタに取り込んで割込みを発生させることができます。 図 13.3-1 インプットキャプチャの取り込みタイミング例 カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット IN0 IN1 IN2 データレジスタ0 不定 3FFFH 不定 データレジスタ1 データレジスタ2 不定 BFFFH BFFFH 7FFFH キャプチャ0割込み キャプチャ1割込み キャプチャ2割込み キャプチャ0: 立上りエッジ キャプチャ1: 立下りエッジ キャプチャ2: 両エッジ 再度有効エッジにより割込み発生 ソフトウェアにより割込みクリア ■ 16 ビットインプットキャプチャの入力タイミング 図 13.3-2 に 16 ビットインプットキャプチャの入力タイミングの例を示します。 図 13.3-2 16 ビットインプットキャプチャの入力タイミング φ カウンタ値 インプットキャプチャ入力 N N+1 有効エッジ キャプチャ信号 キャプチャレジスタ値 N+1 割込み CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 273 第 13 章 インプットキャプチャ 13.3 インプットキャプチャの動作 274 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 14 章 アウトプットコンペア アウトプットコンペアの概要 , レジスタの構成 , 機 能および動作について説明します。 CM71-10142-5 14.1 アウトプットコンペアの概要 14.2 アウトプットコンペアのレジスタ 14.3 アウトプットコンペアの動作 FUJITSU SEMICONDUCTOR LIMITED 275 第 14 章 アウトプットコンペア 14.1 アウトプットコンペアの概要 14.1 MB91220 シリーズ アウトプットコンペアの概要 アウトプットコンペアの特長とブロックダイヤグラムを示します。 ■ アウトプットコンペアの特長 アウトプットコンペアモジュールは , ビットコンペアレジスタ , コンペア出力ラッチお よび制御レジスタで構成されています。 16 ビットフリーランタイマ値がコンペアレジスタ値と一致すると , 出力レベルが反転 し , 割込みが発行されます。 • 2 つのコンペアレジスタは独立に使用できます。 出力ピンと割込みフラグはコンペアレジスタに対応しています。 • 出力ピンは 2 つのコンペアレジスタの対に基づいて制御できます。 出力ピンは 2 つのコンペアレジスタを使用して反転させることができます。 • 出力ピンの初期値を設定できます。 • コンペア ( 比較 ) が一致したとき割込みを発生させることができます。 ■ アウトプットコンペアのレジスタ一覧 図 14.1-1 アウトプットコンペアのレジスタ一覧 OCCP( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000108H(OCCP1) 00010AH(OCCP0) C15 C14 C13 C12 C11 C10 C9 C8 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W OCCP( 下位 ) ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000109H(OCCP1) 00010BH(OCCP0) C7 C6 C5 C4 C3 C2 C1 C0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W bit12 bit11 bit10 bit9 bit8 OCS01( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス 000112H bit15 bit14 bit13 CMOD − − − − − R1,WX R1,WX R1,WX R/W R1,WX R1,WX OTD1 OTD0 R/W R/W bit1 bit0 CST1 CST0 R/W R/W 初期値 ---0 --00B OCS01( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス 000113H bit7 bit6 bit5 bit4 ICP1 ICP0 ICE1 ICE0 R/W R/W R(RM1),W R(RM1),W bit3 bit2 − − R1,WX R1,WX 初期値 0000 --00B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 276 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 14 章 アウトプットコンペア 14.1 アウトプットコンペアの概要 MB91220 シリーズ ■ アウトプットコンペアのブロックダイヤグラム 図 14.1-2 に , アウトプットコンペアのブロックダイヤグラムを示します。 図 14.1-2 アウトプットコンペアのブロックダイヤグラム OTD1 OTD0 コンペアレジスタ コンペア 出力用ラッチ コンペア回路 OTE0 出力(ch.0) コンペアレジスタ CMOD コンペア 出力用ラッチ R-bus コンペア回路 CST1 OTE1 出力(ch.1) CST0 ICP1 ICP0 ICE1 ICE0 16ビット フリーランタイマ(0) 割込み出力 割込み出力 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 277 第 14 章 アウトプットコンペア 14.2 アウトプットコンペアのレジスタ 14.2 MB91220 シリーズ アウトプットコンペアのレジスタ アウトプットコンペアで使用するレジスタの構成および機能について説明します。 ■ コンペアレジスタ (OCCP) 図 14.2-1 コンペアレジスタ (OCCP) のビット構成 OCCP( 上位 ) ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000108H(OCCP1) 00010AH(OCCP0) C15 C14 C13 C12 C11 C10 C9 C8 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W OCCP( 下位 ) ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000109H(OCCP1) 00010BH(OCCP0) C7 C6 C5 C4 C3 C2 C1 C0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。本レジス タは , 初期値不定ですのでコンペア値を設定してから起動を許可してください。本レジ スタは 16 ビットまたは 32 ビットでアクセスしてください。本レジスタ値と 16 ビット フリーランタイマ値が一致した場合 , コンペア信号が発生してアウトプットコンペア 割込みフラグをセットします。また , ポートファンクションレジスタ (PFR) の対応する OTE をセットし出力許可している場合は , コンペアレジスタに対応した出力レベルを 反転します。 278 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 14 章 アウトプットコンペア 14.2 アウトプットコンペアのレジスタ MB91220 シリーズ ■ アウトプットコントロールレジスタ (OCS) 図 14.2-2 アウトプットコントロールレジスタ (OCS) のビット構成 OCS01( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 000112H − R1,WX − R1,WX − R1,WX CMOD − R1,WX − R1,WX OTD1 OTD0 R/W R/W R/W 初期値 ---0 --00B OCS01( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000113H ICP1 ICP0 ICE1 ICE0 CST0 R/W − R1,WX CST1 R/W − R1,WX R/W R/W R(RM1),W R(RM1),W 初期値 0000 --00B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15 ∼ bit13] 未使用ビットです。読出しでは必ず "1" が読み出されます。 [bit12] CMOD 出力端子を許可した場合のコンペア一致における端子出力レベル反転動作を指定 します。 CMOD = 0 ( 初期値 ) のとき , コンペアレジスタに対応した端子の出力レベルを反転 します。 OC0 : コンペアレジスタ 0 の一致によりレベルを反転します。 OC1 : コンペアレジスタ 1 の一致によりレベルを反転します。 CMOD = 1 のとき OC0 : コンペアレジスタ 0 の一致によりレベルを反転します。 OC1 : コンペアレジスタ 0 と 1 の一致によりレベルを反転します。 [bit11, bit10] 未使用ビットです。読出しでは必ず "1" が読み出されます。 [bit9, bit8] OTD1, OTD0 アウトプットコンペアレジスタの出力端子を許可した場合の端子出力レベルを指 定します。指定はコンペア動作を停止してから行ってください。読出し動作では , アウトプットコンペア端子出力が読み出されます。 0 : コンペア端子出力を "0" にします ( 初期値 )。 1 : コンペア端子出力を "1" にします。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 279 第 14 章 アウトプットコンペア 14.2 アウトプットコンペアのレジスタ MB91220 シリーズ [bit7, bit6] ICP1, ICP0 アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリー ランタイマ値が一致した場合に "1" にセットされます。割込み要求ビット (ICE1, ICE0) が許可されているときに本ビットが "1" にセットされると , アウトプットコン ペア割込みが発生します。本ビットは "0" 書込みによりクリアされ , "1" 書込みは意 味を持ちません。リードモディファイライト (RMW) 系命令では "1" が読み出され ます。 0 : アウトプットコンペア一致なし ( 初期値 ) 1 : アウトプットコンペア一致あり フリーランタイマに外部クロックを指定した場合 , コンペア一致および割込みは次 のクロックで発生します。そのため , コンペア一致出力および割込みを発生させる ためには , コンペア一致後 , フリーランタイマの外部クロックに最低 "1 クロック " を入力する必要があります。 [bit5, bit4] ICE1, ICE0 アウトプットコンペアの割込みを許可するビットです。本ビットが "1" のとき , 割 込みフラグ (ICP1, ICP0) が "1" にセットされるとアウトプットコンペア割込みが発 生します。 0 : アウトプットコンペア割込み禁止 ( 初期値 ) 1 : アウトプットコンペア割込み許可 [bit3, bit2] 未使用ビットです。読出しでは必ず "1" が読み出されます。 [bit1, bit0] CST1, CST0 16 ビットフリーランタイマとの一致動作を許可するビットです。コンペア動作を許 可する前に必ずコンペアレジスタ値およびアウトプットコントロールレジスタ値 を設定してください。 0 : コンペア動作禁止 ( 初期値 ) 1 : コンペア動作許可 アウトプットコンペアは , 16 ビットフリーランタイマと同期させているため , 16 ビットフリーランタイマを停止させるとコンペア動作も停止します。 280 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 14 章 アウトプットコンペア 14.3 アウトプットコンペアの動作 MB91220 シリーズ 14.3 アウトプットコンペアの動作 アウトプットコンペアの動作について説明します。 ■ アウトプットコンペアの動作 アウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフリーランタイ マ値とを比較して , 一致したら割込みフラグをセットするとともに , 出力レベルを反転 することができます。 図 14.3-1 に , 1 チャネル独立でコンペア動作を行った場合 (CMOD =0 のとき ) の出力波 形例を示します。 図 14.3-1 コンペアレジスタ 0, 1 を使用した場合の出力波形例 ( 出力の初期値は "0") カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット コンペアレジスタ0値 BFFFH コンペアレジスタ1値 7FFFH OP0出力 OP1出力 コンペア0割込み コンペア1割込み CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 281 第 14 章 アウトプットコンペア 14.3 アウトプットコンペアの動作 MB91220 シリーズ 図 14.3-2 に , 2 組のコンペアレジスタを使い , 出力レベルを変えた場合 (CMOD = 1 のと き ) の出力波形例を示します。 図 14.3-2 コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は "1") カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 0000H 時間 リセット コンペアレジスタ0値 BFFFH コンペアレジスタ1値 7FFFH OP0出力 OP1出力 コンペア0割込み コンペア1割込み 282 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 14 章 アウトプットコンペア 14.3 アウトプットコンペアの動作 MB91220 シリーズ ■ 16 ビットアウトプットコンペアの動作タイミング 2 組のコンペアレジスタを使い , 出力レベルを変えることができます (CMOD = 1 のと き )。 アウトプットコンペアは , フリーランタイマのタイマ値と , コンペアレジスタの値が一 致したときにコンペアマッチ信号が発生して出力を反転するとともに割込みを発生さ せることができます。コンペアマッチ時の出力反転は , カウンタのカウントタイミング に同期して行われます。 <コンペアレジスタライトタイミング> コンペアレジスタ書換え時には , カウンタ値とはコンペアしません。 カウンタ値 N N+1 N+2 N+3 一致信号は発生しない コンペアクリアレジスタ0値 M N+1 コンペアレジスタ0ライト コンペアクリアレジスタ1値 L N+3 コンペアレジスタ1ライト コンペア0停止 コンペア1停止 <コンペアマッチ , 割込みタイミング> カウントクロック カウンタ値 コンペアレジスタ値 N N+1 N+3 N+2 N コンペアマッチ 端子出力 割込み <端子出力タイミング> カウンタ値 コンペアレジスタ値 N N+1 N N+1 N コンペアマッチ 端子出力 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 283 第 14 章 アウトプットコンペア 14.3 アウトプットコンペアの動作 284 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 15 章 外部バスインタフェース 外部バスインタフェース , 内部バスと外部のメモリ および I/O デバイスとのインタフェースを制御しま す。 CM71-10142-5 15.1 外部バスインタフェースの概要 15.2 外部バスインタフェースのレジスタ 15.3 外部バスインタフェースのエンディアンとバスアクセ ス 15.4 外部バスインタフェースの通常バスインタフェース 15.5 外部バスインタフェースのレジスタ設定手順 15.6 外部バスインタフェース使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 285 第 15 章 外部バスインタフェース 15.1 外部バスインタフェースの概要 15.1 MB91220 シリーズ 外部バスインタフェースの概要 外部バスインタフェースの特長とブロックダイヤグラムを説明します。 ■ 外部バスインタフェースの特長 • 16 ビット長のアドレス出力 • データバス幅 , 8 ビット /16 ビット • 各種外部メモリ (8 ビット /16 ビット品 ) を直結できるほか , 複数のアクセスタイミ ングを混在制御可能 非同期 SRAM, 非同期 ROM/ フラッシュメモリ ( 複数ライトストローブ方式またはバ イトイネーブル方式 ) • 独立した 4 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ プセレクト出力が可能 CS0X, CS1X は , 64K/128K/256K/512K バイト単位で , "003FFFFFH" までの外部バス 領域に割り当てられた空間に設定可能 CS2X, CS3X は , 1M/2M/4M/8M バイト単位で , "00400000H" ∼ "00FFFFFFH" の空間 に設定可能 領域サイズによりバウンダリの制限あり <注意事項> MB91220 シリーズでは領域サイズを大きく指定しても , 64K バイトのイメージとなりま す。 • チップセレクト領域ごとに以下の機能を独立に設定可能 チップセレクト領域の許可・禁止 ( 禁止された領域はアクセスを行いません ) 各種メモリ対応などのアクセスタイミングタイプ設定 詳細アクセスタイミング設定 ( ウェイトサイクルなどのアクセスタイプ個別設定 ) データバス幅設定 (8 ビット /16 ビット ) • アクセスタイミングタイプごとに異なる詳細なタイミングを設定可能 - 同一タイプでもチップセレクト領域ごとに異なる設定が混在可能 - オートウェイトは , 最大 7 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash, I/O 領域 ) - 外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O 領域 ) - 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能 • 外部インタフェースの未使用端子は , 設定により汎用 I/O ポートとして使用可能 286 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.1 外部バスインタフェースの概要 MB91220 シリーズ ■ 外部バスインタフェースのブロックダイヤグラム 図 15.1-1 に , 外部バスインタフェースのブロックダイヤグラムを示します。 図 15.1-1 外部バスインタフェースのブロックダイヤグラム 内部アドレスバス 32 内部データバス 32 外部データバス ライトバッファ スイッチ リードバッファ スイッチ データブロック アドレスブロック +1 または +2 外部アドレスバス アドレスバッファ ASR CS0X~CS3X ASZ コンパレータ 外部端子制御部 RDX WR0X, WR1X, ASX 全ブロック制御 レジスタ制御部 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED RDY SYSCLK 287 第 15 章 外部バスインタフェース 15.1 外部バスインタフェースの概要 MB91220 シリーズ ■ I/O ピン 外部バスインタフェースの端子です。 <通常バスインタフェース> A15 ∼ A00, D15 ∼ D00 CS0X, CS1X, CS2X, CS3X ASX, SYSCLK RDX WR0X, WR1X RDY ■ 外部バスインタフェースのレジスタ一覧 外部バスインタフェースのレジスタ構成は , 以下のとおりです。 図 15.1-2 外部バスインタフェースのレジスタ一覧 アドレス bit31 bit24 bit23 bit16 bit15 bit8 bit7 00000640H ASR0 ACR0 00000644H ASR1 ACR1 00000648H ASR2 ACR2 0000064CH ASR3 ACR3 00000650H 予約 予約 00000654H 予約 予約 00000658H 予約 予約 0000065CH 予約 予約 00000660H AWR0 AWR1 00000664H AWR2 AWR3 00000668H 予約 予約 0000066CH 予約 予約 bit0 00000670H − − − − 00000674H − − − − 00000678H − − − − 0000067CH − − − − 00000680H CSER − − − 00000684H − − − − 00000688H − − − − 0000068CH − − − − … … … … … 000007F8H − − − − 000007FCH − MODR − − 予約 : 予約レジスタです。書き込む場合は , 必ず "0" を設定してください。 288 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ 15.2 外部バスインタフェースのレジスタ 外部バスインタフェースのレジスタについて説明します。 ■ 外部バスインタフェースのレジスタ概要 外部バスインタフェースには , 以下の 6 種類のレジスタがあります。 • ASR0 ∼ ASR3(Area Select Register) • ACR0 ∼ ACR3(Area Configuration Register) • AWR0 ∼ AWR3(Area Wait Register) • IOWR0 ∼ IOWR3(I/O Wait Register for DMAC) • CSER(Chip Select Enable Register) ■ ASR0 ∼ ASR3 (Area Select Register) 図 15.2-1 ASR0 ∼ ASR3 (Area Select Register) のビット構成 ASR0 ( アクセス:Byte, Half-word, Word) アドレス 0000 0640H bit15 … bit8 bit7 bit6 … bit1 bit0 初期値 − … − A23 A22 … A17 A16 0000H R0,WX … R0,WX R/W R/W … R/W R/W ASR1 ( アクセス:Byte, Half-word, Word) アドレス 0000 0644H bit15 … bit8 bit7 bit6 … bit1 bit0 初期値 − … − A23 A22 … A17 A16 XXXXH RX,WX … RX,WX R/W R/W … R/W R/W ASR2 ( アクセス:Byte, Half-word, Word) アドレス 0000 0648H bit15 … bit8 bit7 bit6 … bit1 bit0 初期値 − … − A23 A22 … A17 A16 XXXXH RX,WX … RX,WX R/W R/W … R/W R/W ASR3 ( アクセス:Byte, Half-word, Word) アドレス 0000 064CH bit15 … bit8 bit7 bit6 … bit1 bit0 初期値 − … − A23 A22 … A17 A16 00XXH R0,WX … R0,WX R/W R/W … R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 289 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ [bit15 ∼ bit8] Reserved 書込みは動作に影響ありません。書込み動作後は "0" が読み出されます。 [bit7 ∼ bit0] A23 ∼ A16 ASR0 ∼ ASR3(Area Select Register 0 ∼ 3) は , CS0X ∼ CS3X の各チップセレクト領 域の開始アドレスを指定します。 開始アドレスは , A23 ∼ A16 の上位 12 ビットを設定できます。各チップセレクト 領域は , このレジスタに設定されたアドレスから始まり , ACR0 ∼ ACR3 レジスタ の ASZ1, ASZ0 ビットで設定された範囲をとります。 各チップセレクト領域のバウンダリは , ACR0 ∼ ACR3 レジスタの ASZ1, ASZ0 ビッ トの設定に従います。例えば , ASZ1, ASZ0 ビットにより , 1 M バイトの領域を設定し た場合は , ASR0 ∼ ASR3 レジスタの下位 4 ビットは無視され , A23 ∼ A20 ビットの み意味を持ちます。 ASR0 レジスタは , INIT および RST により "00H" に初期化されます。ASR1 ∼ ASR3 は , INIT および RST によっては初期化されず不定となります。LSI の動作開始後 , CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応する ASR レジスタを設定してください。 <注意事項> ASR と ACR はワードアクセスで同時設定してください。 ASR, ACRをハーフワードでアクセスする場合にはASR設定後ACRを設定してください。 290 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ ■ ACR0 ∼ ACR3 (Area Configuration Register) 図 15.2-2 ACR0 ∼ ACR3 (Area Configuration Register) のビット構成 ACR0H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス bit12 bit11 bit10 bit9 bit8 ASZ1 ASZ0 − DBW0 − − R0,WX R0,WX R/W ACR0L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス R/W R0,WX R/W R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 0000 0642H 0000 0643H − − − − WREN − TYP3 TYP2 TYP1 TYP0 R0,WX R0,WX R/W R0,WX R/W R/W R/W R/W bit12 bit11 bit10 bit9 bit8 ASZ1 ASZ0 − DBW0 − − R/W R/W R0,WX R/W R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 ACR1H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 0646H − − RX,WX RX,WX ACR1L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 0647H − − WREN − TYP3 TYP2 TYP1 TYP0 R0,WX R0,WX R/W R0,WX R/W R/W R/W R/W bit12 bit11 bit10 bit9 bit8 ASZ1 ASZ0 − DBW0 − − R/W R/W R0,WX R/W R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 ACR2H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 064AH − − RX,WX RX,WX ACR2L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 064BH − − WREN − TYP3 TYP2 TYP1 TYP0 R0,WX R0,WX R/W R0,WX R/W R/W R/W R/W bit12 bit11 bit10 bit9 bit8 ACR3H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 064EH − − ASZ1 ASZ0 − DBW0 − − R0,WX R1,WX R/W R/W R0,WX R/W R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 ACR3L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 064FH * − − WREN − TYP3 TYP2 TYP1 TYP0 R0,WX R0,WX R/W R0,WX R/W R/W R/W R/W 初期値 00110*00B 初期値 00000000B 初期値 XXXX0X00B 初期値 00X0XXXXB 初期値 XXXX0X00B 初期値 00X0XXXXB 初期値 01XX0X00B 初期値 00X0XXXXB : モードベクタの WTH ビットと同じ値に自動設定 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ACR0 ∼ ACR3(Area Configuration Register 0 ∼ 3) は , 各チップセレクト領域の機能を設 定します。 [bit15, bit14] Reserved 書込みは動作に影響ありません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 291 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ [bit13, bit12] ASZ1, ASZ0 = Area Size bit [1:0] 各チップセレクト領域のサイズを以下のとおり設定します。 ASZ1 ASZ0 レジスタ 各チップセレクト領域のサイズ 設定 0 0 64K バイト (00010000H バイト , ASR A[23:16] ビット指定が有効 ) 0 1 128K バイト (00020000H バイト , ASR A[23:17] ビット指定が有効 ) 1 0 256K バイト (00040000H バイト , ASR A[23:18] ビット指定が有効 ) 1 1 512K バイト (00080000H バイト , ASR A[23:19] ビット指定が有効 ) 0 0 1M バイト (00100000H バイト , ASR A[23:20] ビット指定が有効 ) 0 1 2M バイト (00200000H バイト , ASR A[23:21] ビット指定が有効 ) 1 0 4M バイト (00400000H バイト , ASR A[23:22] ビット指定が有効 ) 1 1 8M バイト (00800000H バイト , ASR A[23] ビット指定のみ有効 ) ASR0/ASR1 ASR2/ASR3 CS0X, CS1X のみ 有効 CS2X, CS3X のみ 有効 ASZ1, ASZ0 では , ASR とのアドレス比較のビット数を変更させることにより , 各領 域のサイズを設定します。そのため , ASR には比較されないビットが存在します。 ACR0 の ASZ1, ASZ0 ビットは , RST により "11B" に初期化されますが , この設定に かかわらず RST 直後の CS0 領域は特別に "00000000H" から "00FFFFFFH" ( 全領域 ) に設定されています。ACR0 への最初の書込み後より , 全領域設定が解除され , 上記 の表に従ったサイズに設定されます。 <注意事項> MB91220 シリーズでは領域サイズを大きく指定しても , 64K バイトのイメージとなりま す。 [bit11] Reserved 必ず , "0" を設定してください。 [bit10] DBW0 = Data Bus Width[0] 各チップセレクト領域のデータバス幅を以下のとおり設定します。 DBW0 データバス幅 0 8 ビット 1 16 ビット ( ハーフワードアクセス ) ( バイトアクセス ) ACR0 の DBW0 ビットは , リセットシーケンス中にモードベクタの WTH ビットの 値と同じ値が自動的に書き込まれます。 [bit9, bit8] Reserved 必ず , "00B" を設定してください。 292 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ [bit7] Reserved 必ず , "0" を設定してください。 [bit6] Reserved 必ず , "0" を設定してください。 [bit5] WREN = WRite ENable 各チップセレクト領域の書込みの許可・禁止を設定します。 WREN 書込み許可・禁止 0 書込み禁止 1 書込み許可 書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その アクセスは無視され , 外部アクセスを一切行いません。 データ領域など , 書込みが必要な領域は , WREN ビットに "1" を設定してください。 [bit4] Reserved 必ず , "0" を設定してください。 [bit3 ∼ bit0] TYP3, TYP2, TYP1, TYP0 = TYPe select 各チップセレクト領域のアクセスタイプの設定を以下に示します。 TYP3 TYP2 TYP1 TYP0 アクセスタイプ 0 X X 通常アクセス ( 非同期 SRAM, I/O, single ROM/Flash) 1 X X 設定禁止 X 0 RDY 端子による WAIT 挿入無効 X 1 RDY 端子による WAIT 挿入有効 0 X WR0X, WR1X 端子をライトストローブとして使用 1 X 設定禁止 0 設定禁止 1 設定禁止 0 X 0 1 0 0 1 0 設定禁止 0 1 1 設定禁止 1 0 0 設定禁止 1 0 1 設定禁止 1 1 0 設定禁止 1 1 1 マスク領域設定 ( アクセスタイプは重複した領域のも のになります )* 各ビットは , 組み合せて設定します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 293 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ * : CS 領域マスク設定機能 ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更 した領域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP[3:0]=1111B を 設定し , マスク設定領域として機能させることができます。 マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設定 は禁止します。 マスク設定領域へのアクセスは , 以下のような動作を行います。 - マスク設定領域に対応する CSX は有効とされません。 - ベース設定領域に対応する CSX が有効とされます。 - ACR の以下の設定はマスク設定領域側のものが有効になります。 bit10: DBW0 : バス幅設定 bit5: WREN : ライト許可設定 ( 注意事項 ) この設定のみ , ベース設定領域と異なる設定は禁止します。 - ACR の以下の設定はベース設定領域側のものが有効になります。 bit[3:0] TYP[3:0] : アクセスタイプ設定 - AWR の設定はマスク設定領域側のものが有効になります。 マスク設定領域は , ほかの CS 領域 ( ベース設定領域 ) 内の一部の領域にのみ設 定できます。ベース設定領域がない領域に対して , マスク設定領域を設けては いけません。また , マスク設定領域を複数重複させてはいけません。ASR およ び ACR:ASZ[1:0] ビットの設定には十分注意してください。 <注意事項> ライト許可設定をマスクで実現することはできません。 ライト許可設定は , ベースとなる CS 領域とマスク設定領域とで , 同じ設定にしてくださ い。 マスク設定領域でライト禁止を設定すると , その領域はマスクされずベース CS 領域とし て動作します。 ベース CS 領域でライト禁止を設定し , マスク設定領域でライト許可を設定すると , ベー ス設定のない領域となり誤動作します。 294 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ ■ AWR0 ∼ AWR3 (Area Wait Register) AWR0 ∼ AWR3 のレジスタ構成を図 15.2-3 に示します。 図 15.2-3 AWR0 ∼ AWR3 (Area Wait Register) のビット構成 AWR0H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 0660H bit12 bit11 bit10 bit9 bit8 W14 W13 W12 − − − − R0,WX R/W R/W R/W R0,WX R0,WX R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 初期値 01011011B − W06 − W04 − W02 W01 W00 R0,WX R/W R0,WX R/W R1,WX R/W R/W R/W bit12 bit11 bit10 bit9 bit8 AWR1H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 0662H W13 W12 − − − − RX,WX R/W R/W R/W R0,WX R0,WX R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 初期値 XX0X1XXXB − W06 − W04 − W02 W01 W00 RX,WX R/W R0,WX R/W R1,WX R/W R/W R/W bit12 bit11 bit10 bit9 bit8 W13 W12 − − − − R0,WX R/W R/W R/W R0,WX R0,WX R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 初期値 XX0X1XXXB − W06 − W04 − W02 W01 W00 RX,WX R/W R0,WX R/W R1,WX R/W R/W R/W bit12 bit11 bit10 bit9 bit8 初期値 0XXX0000B − W14 W13 W12 − − − − R0,WX R/W R/W R/W R0,WX R0,WX R0,WX R0,WX bit4 bit3 bit2 bit1 bit0 初期値 0X0X1XXXB AWR3L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 0667H 0XXX0000B W14 AWR3H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 0666H 初期値 − AWR2L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 0665H XXXX0000B W14 AWR2H ( アクセス:Byte, Half-word, Word) bit15 bit14 bit13 アドレス 0000 0664H 初期値 − AWR1L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 0663H 01110000B − AWR0L ( アクセス:Byte, Half-word, Word) bit7 bit6 bit5 アドレス 0000 0661H 初期値 − W06 − W04 − W02 W01 W00 R0,WX R/W R0,WX R/W R1,WX R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) AWR0 ∼ AWR3 は , 各チップセレクト領域の各種ウェイトタイミングを指定します。 ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定により , 各 ビットの動作が変わります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 295 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ [bit15] Reserved 書込みは動作に影響ありません。書込み動作後は "0" が読み出されます。 [bit14 ∼ bit12] W14 ∼ W12 = ファーストアクセスウェイトサイクル (First Access Wait Cycle) 各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイクル数を設 定します。 CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。 W14 W13 W12 0 0 0 自動ウェイトサイクル 0 0 0 1 自動ウェイトサイクル 1 ファーストアクセスウェイトサイクル … … 1 1 0 自動ウェイトサイクル 6 1 1 1 自動ウェイトサイクル 7 [bit11 ∼ bit8] Reserved 常に "0" が読み出されます。書込みは動作に影響ありません。 [bit7] 予約ビット 書込みは動作に影響ありません。書込み動作後は "0" が読み出されます。 [bit6] W06 = リード→ライトアイドルサイクル (Read → Write Idle Cycle) リード→ライトアイドルサイクルは , リードサイクル後にライトサイクルが続く場 合に , リードデータとライトデータのデータバス上での衝突を防ぐために設定しま す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子 はハイインピーダンス状態を維持します。 リード後にライトが続く場合 , もしくは , リードの後に別のチップセレクト領域へ のアクセスが発生した場合に , 指定したアイドルサイクルを挿入します。 W06 リード→ライトアイドルサイクル 0 0 サイクル 1 1 サイクル [bit5] Reserved 常に "0" が読み出されます。書込みは動作に影響ありません。 296 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ [bit4] W04 = ライトリカバリサイクル (Write Recovery Cycle) ライトリカバリサイクルは , ライトアクセス後に続けてアクセスする際の間隔に制 限のあるデバイスへのアクセスを制御する場合に設定します。ライトリカバリサイ クル中はすべてのチップセレクト信号をネゲートし , データ端子はハイインピーダ ンスを維持します。 ライトリカバリサイクルを "1" 以上に設定した場合は , ライトアクセスの後には必 ずライトリカバリサイクルが挿入されます。 W04 ライトリカバリサイクル 0 0 サイクル 1 1 サイクル [bit3] Reserved 常に "1" が読み出されます。書込みは動作に影響ありません。 [bit2] W02 = アドレス→ CSX 遅延 (Address → CSX Delay) アドレス→ CSX 遅延設定は , CSX の立下りに対してアドレスなどが一定のセット アップを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする際 にも CSX のエッジを必要とする場合などに設定します。 アドレスおよび ASX 出力から , CS0X ∼ CS3X 出力のディレイを設定します。 W02 アドレス→ CSX 遅延 0 遅延なし 1 遅延あり "0" を設定し , 遅延なしを選択した場合は , ASX のアサートと同じタイミングで CS0X ∼ CS3X がアサート開始されます。このとき , 同じチップセレクト領域に連 続したアクセスを実行した場合 , 両アクセスの間も CS0X ∼ CS3X はアサートを継 続したまま変化しないことがあります。 "1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック SYSCLK 出力の立 上りから CS0X ∼ CS3X がアサート開始されます。このとき , 同じチップセレクト 領域に連続したアクセスを実行した場合でも , 両アクセスの間に CS0X ∼ CS3X ネ ゲートタイミングが発生します。 CSX 遅延ありを選択した場合は , 遅延させた CSX のアサートからリード / ライトス トローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入します (W01 の CSX → RDX/WR1X/WR0X セットアップ設定と同等の動作となります )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 297 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ [bit1] W01 = CSX → RDX/WRX セットアップ延長サイクル (CSX → RDX/WRX setup) CSX → RDX/WRX セットアップ延長サイクルは , CSX アサート後 , リード / ライト ストローブをアサートするまでの期間を延長する場合に設定します。CSX アサート 後 , リード / ライトストローブをアサートする前に最低 1 サイクルのセットアップ 延長サイクルを挿入します。 W01 CSX → RDX/WRX セットアップ延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定し , 0 サイクルを選択した場合は , 最速で , CSX アサート直後の外部メ モリクロック SYSCLK 出力の立上りから RDX/WR0X, WR1X が出力されます。 WR0X, WR1X は , 内部バスの状態により , 1 サイクル以上遅れることもあります。 "1" を設定し , 1 サイクルを選択した場合は , RDX/WR0X, WR1X とも , 必ず 1 サイ クル以上遅れて出力されます。 同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場 合 , このセットアップ延長サイクルは挿入されません。アドレス確定のセットアッ プ延長サイクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSX 遅延 を挿入することにより , 毎アクセス時に CSX がいったんネゲートされるため , この セットアップ延長サイクルが有効となります。 W02 の CSX 遅延設定を挿入してある場合 , W01 ビットの設定によらず常にこのセッ トアップサイクルが有効となります。 [bit0] W00 = RDX/WRX → CSX ホールド延長サイクル (RDX/WRX → CSX Hold Cycle) RDX/WRX → CSX ホールド延長サイクルは , リード / ライトストローブネゲート後 , CSX ネゲートまでの期間を延長する場合に設定します。リード / ライトストローブ ネゲート後 , CSX をネゲートする前に 1 サイクルのホールド延長サイクルを挿入し ます。 W00 RDX/WRX → CSX ホールド延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定し , 0 サイクルを選択した場合は , RDX/WR0X, WR1X がネゲートされた後 の外部メモリクロック SYSCLK 出力の立上りエッジよりホールド遅延経過後に , CS0X ∼ CS3X がネゲートされます。 "1" を設定し , 1 サイクルを選択した場合は , CS0X ∼ CS3X は 1 サイクル遅れてネ ゲートされます。 同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場 合 , このホールド延長サイクルは挿入されません。アドレス確定のホールド延長サ イクルが必須となる場合 , W02 ビットを有効にしてアドレス→ CSX 遅延を挿入す ることにより , 毎アクセス時に CSX がいったんネゲートされるため , このホールド 延長サイクルが有効となります。 298 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ ● 通常アクセスおよびアドレス / データマルチプレックスアクセス ACR0 ∼ ACR3 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ たチップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアク セス動作を行う領域となります。 TYP3 TYP2 TYP1 TYP0 0 0 x x 通常アクセス ( 非同期 SRAM, I/O, single ROM/Flash) 0 1 x x アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 ) ( 設定禁止 ) アクセスタイプ 通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての , AWR0 ∼ AWR3 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定です ので , 各領域を CSER レジスタによって有効にする前に設定を行ってください。 <注意事項> MB91220シリーズでは, アドレス/データマルチプレックスアクセス動作設定はできません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 299 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ ■ CSER (Chip Select Enable Register) CSER ( アクセス:Byte, Half-word, Word) アドレス 0000 0680H bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 初期値 − − − − CSE3 CSE2 CSE1 CSE0 00000001B R0,WX R0,WX R0,WX R0,WX R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 各チップセレクト領域の許可 / 禁止を設定します。 [bit31 ∼ bit28] Reserved 常に "0" が読み出されます。書込みは動作に影響ありません。 [bit27 ∼ bit24] CSE3 ∼ CSE0 = チップセレクト領域許可 (Chip Select Enable 0-3) CS0X ∼ CS3X の各チップセレクト領域許可ビットです。 初期値は , "0001B" で CS0 領域のみ許可されています。 "1" を書き込むことにより ASR0 ∼ ASR3, ACR0 ∼ ACR3, AWR0 ∼ AWR3 の設定に 従い動作します。 許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ い。 CSE3 ∼ CSE0 領域コントロール 0 禁止 1 許可 CSE のビット 対応する CSX bit24 : CSE0 CS0X bit25 : CSE1 CS1X bit26 : CSE2 CS2X bit27 : CSE3 CS3X ● チップセレクト領域 外部バスインタフェースは全 4 領域分のチップセレクト領域が設定できます。 各領域のアドレス空間は ASR0 ∼ ASR3 (Area Select Register) と ACR0 ∼ ACR3 (Area Configuration Register) にて 16M バイトの空間のうち , CS0X, CS1X は , 64K/128K/256K/ 512K バイト単位で , "00000000H" ∼ "003FFFFFH" までの外部バス領域に割り当てられ た空間に , CS2X, CS3X は , 1M/2M/4M/8M バイト単位で , "00400000H" ∼ "00FFFFFFH" の空間に設定可能です。 これらのレジスタによって指定された領域に対してバスアクセスを行うと , アクセス サイクル中に対応するチップセレクト信号 CS0X ∼ CS3X がアクティブ ("L" 出力 ) に なります。 300 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.2 外部バスインタフェースのレジスタ MB91220 シリーズ ASR および ASZ[1:0] の設定例 • ASR1=0010H ACR1 → ASZ[1:0]=00B チップセレクト領域 1 は , "00100000H" ∼ "0010FFFFH" に割り当てられます。 • ASR2=0040H ACR2 → ASZ[1:0]=00B チップセレクト領域 2 は , " 00400000H" ∼ "004FFFFFH" に割り当てられます。 • ASR3=0081H ACR3 → ASZ[1:0]=11B チップセレクト領域 3 は , "00800000H" ∼ "00FFFFFFH" に割り当てられます。 このとき , ACR → ASZ[1:0] が 8M バイトの設定になっていますので , バウンダリは 8M バイト単位となり , ASR3[22:16] は無視されます。 リセット後は , ACR0 に書込みが行われるまでの間 , "00000000H"∼ "00FFFFFFH" がチッ プセレクト領域 0 に割り当てられます。 <注意事項> チップセレクト領域は , お互いにオーバラップしないように設定してください。 図 15.2-4 領域サイズによるバウンダリについて (初期値) (例) 00000000H 00000000H 00100000H 領域1 64Kバイト 00400000H 領域2 1Mバイト 領域0 領域3 00800000H 8Mバイト 00FFFFFFH CM71-10142-5 00FFFFFFH FUJITSU SEMICONDUCTOR LIMITED 301 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス 15.3 MB91220 シリーズ 外部バスインタフェースのエンディアンとバスアクセス エンディアンとバスアクセスについて説明します。 ■ データバス幅と制御信号との関係 WRX1, WRX0 の制御信号は , データバス幅に関係なくデータバスのバイト位置に常に 1 対 1 に対応します。 バスモード別に設定されたデータバス幅で使用されるデータバスのバイト位置とそれ に対応する制御信号を下記に示します。 • 通常バスインタフェース a) 16ビットバス幅 データバス 制御信号 D15 b) 8ビットバス幅 データバス 制御信号 WR0X WR1X D00 WR0X - - - - - - - - - - • 時分割入出力インタフェース a) 16ビットバス幅 データバス 出力アドレス b) 8ビットバス幅 制御信号 データバス 出力アドレス 制御信号 D15 A15~A8 WR0X A7~A0 WR1X D00 302 A7~A0 WR0X - - - - - - - - - - - - - - - FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ ■ バスアクセス MB91220 シリーズは , ビッグエンディアンで外部バスアクセスを行います。 ● データバス幅 • 16 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 D31 D23 AA リード/ライト BB D15 CC D07 DD "00B" "10B" AA CC BB DD D15 D07 • 8 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 D31 D23 AA リード/ライト "00B" "01B" "10B" "11B" AA BB CC DD D07 BB D15 CC D07 DD ● 外部バスアクセス 外部バスアクセス (16 ビット /8 ビットバス幅 ) をワード / ハーフワード / バイトアクセ ス別に以下に示します。また , 下記の項目についてもあわせて示します。 • アクセスバイト位置 • プログラムアドレスと出力アドレス • バスアクセス回数 PA1/PA0 : プログラムで指定したアドレス下位 2 ビット 出力 A1/A0 : 出力するアドレスの下位 2 ビット : 出力するアドレスの先頭バイト位置 : アクセスするデータバイト位置 : バスアクセス回数 + ①∼④ CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 303 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ FR ファミリは , ミスアラインエラーを検出しません。 したがってワードアクセスの場合には , プログラムで指定したアドレス下位 2 ビットが "00B", "01B", "10B", "11B" であっても , 出力するアドレスの下位 2 ビットはすべて "00B" と なり , ハーフワードアクセスの場合には "00B", "01B" のときには "00B" に , "00B", "01B" のときには "10B" になります。 • 16 ビットバス幅 (A) ワードアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B →①出力A1/A0=00B ②出力A1/A0=10B MSB →①出力A1/A0=00B ②出力A1/A0=10B (c)PA1/PA0=10B →①出力A1/A0=00B ②出力A1/A0=10B (d)PA1/PA0=11B →①出力A1/A0=00B ②出力A1/A0=10B LSB ① 00 01 ① 00 01 ① 00 01 ① 00 01 ② 10 11 ② 10 11 ② 10 11 ② 10 11 16ビット (B) ハーフワードアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B →①出力A1/A0=00B ① 00 01 10 11 →①出力A1/A0=00B ① 00 01 10 11 (c)PA1/PA0=10B →①出力A1/A0=10B ① 00 01 10 11 (d)PA1/PA0=11B →①出力A1/A0=10B ① 00 01 10 11 (C) バイトアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B →①出力A1/A0=00B ① 304 00 01 10 11 →①出力A1/A0=01B ① 00 01 10 11 (c)PA1/PA0=10B →①出力A1/A0=10B ① 00 01 10 11 FUJITSU SEMICONDUCTOR LIMITED (d)PA1/PA0=11B →①出力A1/A0=11B ① 00 01 10 11 CM71-10142-5 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ • 8 ビットバス幅 (A) ワードアクセス (a) PA1/PA0=00B →①出力A1/A0=00B ② 出力A1/A0=01B ③出力A1/A0=10B ④出力A1/A0=11B MSB (b) PA1/PA0=01B →①出力A1/A0=00B ② 出力A1/A0=01B ③出力A1/A0=10B ④出力A1/A0=11B (c)PA1/PA0=10B →①出力A1/A0=00B ②出力A1/A0=01B ③出力A1/A0=10B ④出力A1/A0=11B (d)PA1/PA0=11B →①出力A1/A0=00B ② 出力A1/A0=01B ③出力A1/A0=10B ④出力A1/A0=11B LSB ① 00 ① 00 ① 00 ① 00 ② 01 ② 01 ② 01 ② 01 ③ 10 ③ 10 ③ 10 ③ 10 ④ 11 ④ 11 ④ 11 ④ 11 8ビット (B) ハーフワードアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B →①出力A1/A0=00B ②出力A1/A0=01B →①出力A1/A0=00B ②出力A1/A0=01B (c)PA1/PA0=10B →①出力A1/A0=10B ②出力A1/A0=11B (d)PA1/PA0=11B →①出力A1/A0=10B ②出力A1/A0=11B ① 00 ① 00 00 00 ② 01 ② 01 01 01 10 10 ① 10 ① 10 11 11 ② 11 ② 11 (C) バイトアクセス (a) PA1/PA0=00B (b) PA1/PA0=01B →①出力A1/A0=00B ① →①出力A1/A0=01B 00 01 ① (d)PA1/PA0=11B →①出力A1/A0=11B 00 00 00 01 01 01 10 10 10 10 11 11 CM71-10142-5 (c)PA1/PA0=10B →①出力A1/A0=10B ① 11 FUJITSU SEMICONDUCTOR LIMITED ① 11 305 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ ● 外部との接続例 図 15.3-1 に MB91220 シリーズと外部装置との接続の例を示します。 図 15.3-1 外部との接続例 MB91220シリーズ D07 ~ ~ D15 D08 D00 WR0X WR1X 0 1 0 D15 D08D07 D00 16ビットデバイス D07 D00 8ビットデバイス ("0"/"1" アドレス下位1ビット) ■ 外部アクセス (a) ワード (32 ビット ) アクセス ビッグエンディアンモード 16 ビット バス幅 内部レジスタ 外部端子 アドレス: "0" D31 制御端子 "2" D15 AA BB AA CC WR0X BB DD WR1X D00 CC - - - DD - - - ① ② D00 8 ビット バス幅 内部レジスタ 外部端子 アドレス: "0" "1" 制御端子 "2" "3" D15 D31 AA BB CC DD WR0X BB - - - - - CC - - - - - DD - - - - - AA D00 D00 ① 306 ② ③ ④ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ (b) ハーフワード (16 ビット ) アクセス ビッグエンディアンモード 16 ビット バス幅 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D15 AA WR0X BB WR1X D00 AA - - BB - - D00 ① 内部レジスタ 外部端子 アドレス: D31 制御端子 "2" D15 D00 CC WR0X DD WR1X CC - - DD - - D00 ① 8 ビット バス幅 内部レジスタ 外部端子 アドレス: D31 制御端子 "0" "1" D15 AA BB WR0X D08 - - - AA - - - BB - - - ① ② D00 内部レジスタ 外部端子 アドレス: D31 制御端子 "2" "3" D15 CC DD WR0X D08 - - - CC - - - DD - - - ① ② D00 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 307 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ (c) バイト (8 ビット ) アクセス ビッグエンディアンモード 16 ビット バス幅 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D15 AA WR0X - D00 - - AA D00 ① 内部レジスタ 外部端子 アドレス: D31 制御端子 "1" D15 - BB WR1X D00 - - BB D00 ① 内部レジスタ 外部端子 制御端子 アドレス: "2" D31 D15 CC WR0X - D00 - - CC D00 ① 内部レジスタ 外部端子 アドレス: D31 制御端子 "3" D15 - DD WR1X D00 - - DD D00 ① 308 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.3 外部バスインタフェースのエンディアンとバスアクセス MB91220 シリーズ ビッグエンディアンモード 8 ビット バス幅 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D15 AA WR0X D08 - - - AA D00 ① 内部レジスタ 外部端子 アドレス: D31 制御端子 "1" D15 BB WR0X D08 - - - BB D00 ① 内部レジスタ 外部端子 アドレス: D31 制御端子 "2" D15 CC WR0X D08 - - - CC D00 ① 内部レジスタ 外部端子 アドレス: D31 制御端子 "3" D15 DD WR0X D08 - - - DD D00 ① CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 309 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース 15.4 MB91220 シリーズ 外部バスインタフェースの通常バスインタフェース 通常バスインタフェースでは , リードアクセス / ライトアクセスともに 2 クロックサ イクルが基本バスサイクルになります。 ■ 通常バスインタフェース 通常バスインタフェースにおける以下の動作について , タイミングチャートを示して 説明します。 • 基本タイミング ( アクセスが連続する場合 ) • WRnX +バイト制御タイプ • リード→ライトタイミング • ライト→ライトタイミング • 自動ウェイトタイミング • 外部ウェイトタイミング • CSnX 遅延設定 • CSnX → RDX/WRX セットアップ , RDX/WRnX → CSnX ホールド設定 ■ 基本タイミング ( アクセスが連続する場合 ) (TYP[3:0] = 0000B, AWR = 0008H) 図 15.4-1 基本タイミング ( アクセスが連続する場合 ) (TYP[3:0] = 0000B, AWR = 0008H) SYSCLK A[15:0] #2 #1 ASX CSnX RDX リード D[15:00] #2 #1 WRnX ライト D[15:00] #1 #2 • ASX は , バスアクセス開始サイクルに 1 サイクル有効にします。 • A[15:0] は , ワード / ハーフワード / バイト アクセスの先頭バイト位置のアドレスを バスアクセス開始サイクルからバスアクセス終了サイクルまで出力します。 • CS0X ∼ CS3X は , AWR0 ∼ AWR3 レジスタの W02 ビットが "0" のときは , ASX と 同じタイミングで有効にし , 連続するアクセスがあるときは , CS0X ∼ CS3X を無効 310 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース MB91220 シリーズ にしません。AWR レジスタの W00 ビットが "0" の場合はバスサイクル終了後に CS0X ∼ CS3X を無効にし , W00 ビットが "1" の場合はバスアクセス終了の 1 サイク ル後に無効にします。 • RDX, WR0X, WR1X は , バスアクセス第 2 サイクルから有効にします。AWR レジス タ W14 ∼ W12 ビットのウェイトサイクルを挿入した後に無効にします。RDX, WR0X, WR1X を有効にするタイミングは AWR レジスタ W01 ビットを "1" に設定 することにより 1 サイクル遅らせることができます。ただし , WR0X, WR1X は内部 状態により W01 ビットを "0" に設定した場合も第二サイクルより遅れることがあり ます。 • リードアクセスの場合 , RDX 有効後 , ウェイトサイクルが終了したサイクルの SYSCLK の立上りで D[15:0] を取り込みます。 • ライトアクセスの場合 , WR0X, WR1X を有効にしたタイミングから D[15:00] にデー タを出力します。 ■ リード → ライトタイミング (TYP[3:0]=0000B, AWR=0048H) 図 15.4-2 リード → ライトタイミング (TYP[3:0]=0000B, AWR=0048H) リード アイドル ライト SYSCLK A[23:0] ASX CSnX RDX WRnX D[31:16] • AWR レジスタ W06 ビットの設定により , 0 から 1 サイクルまでのアイドルサイク ル挿入が可能です。 • リード側の CS 領域の設定が有効になります。 • リードアクセスの次のアクセスがライトアクセスまたは別の領域へのアクセスで ある場合 , このアイドルサイクルを挿入します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 311 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース MB91220 シリーズ ■ ライト → ライトタイミング (TYP[3:0]=0000B, AWR=0018H) 図 15.4-3 ライト → ライトタイミング (TYP[3:0]=0000B, AWR=0018H) ライト ライトリカバリ ライト SYSCLK A[23:0] ASX CSnX WRnX D[31:16] • AWR レジスタ W04 ビットの設定により , 0 から 1 サイクルまでのライトリカバリ サイクルを挿入可能です。 • すべてのライトサイクル後に , リカバリサイクルが発生します。 • 設定したバス幅以上のアクセスによってライトアクセスが分割された場合もライ トリカバリサイクルは発生します。 312 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース MB91220 シリーズ ■ 自動ウェイトタイミング (TYP[3:0]=0000B, AWR=2008H) 図 15.4-4 自動ウェイトタイミング (TYP[3:0]=0000B, AWR=2008H) 基本サイクル ウェイトサイクル SYSCLK A[23:0] ASX CSnX RDX リード D[31:16] WRnX ライト D[31:16] • AWR レジスタ W14 ∼ W12 ビット ( ファーストウェイトサイクル ) の設定により自 動ウェイトサイクルを 0 ∼ 7 まで設定可能です。 • 上図では , 自動ウェイトサイクルを 2 サイクル挿入し , 合計 4 サイクルのアクセス となっています。自動ウェイトを設定した場合 , バスサイクルは最小で 2 サイクル +( ファーストウェイトサイクル ) となります。ライトの場合は内部状態によりさら に長くなることがあります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 313 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース MB91220 シリーズ ■ 外部ウェイトタイミング (TYP[3:0]=0001B, AWR=2008H) 図 15.4-5 外部ウェイトタイミング (TYP[3:0]=0001B, AWR=2008H) 基本サイクル 自動ウェイト2サイクル RDYによる ウェイトサイクル SYSCLK A[23:0] ASX CSnX RDX リード D[31:16] WRnX ライト D[31:16] RDY 解除 ウェイト ACR レジスタ TYP0 ビットを "1" に設定し , 外部 RDY 入力端子を有効にすることによ り外部ウェイトサイクルを挿入可能です。 上図において , 自動ウェイトサイクルによるウェイトが有効であるため , RDY 端子の 斜線部分は無効になります。自動ウェイトサイクルの最後のサイクル以降から , RDY 入力端子の値を判定します。また , いったんウェイトサイクルを終了した後は , 次のア クセスサイクルの開始まで , RDY 入力端子の値は無効になります。 314 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース ■ CSX 遅延設定 (TYP[3:0]=0000B, AWR=000CH) 図 15.4-6 CSX 遅延設定 (TYP[3:0]=0000B, AWR=000CH) アクセスサイクル アクセスサイクル SYSCLK A[23:0] ASX CSnX RDX リード D[31:16] WRnX ライト D[31:16] W02 ビットが "1" のときは ASX アサートの次のサイクルからアサートし , 連続するア クセスがある場合ネゲート期間を挿入します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 315 第 15 章 外部バスインタフェース 15.4 外部バスインタフェースの通常バスインタフェース MB91220 シリーズ ■ CSX → RDX/WRX セットアップ・RDX/WRnX → CSX ホールド設定 (TYP[3:0]=0000B, AWR=000BH) 図 15.4-7 CSX → RDX/WRX セットアップ・RDX/WRnX → CSX ホールド設定 (TYP[3:0]=0000B, AWR=000BH) アクセスサイクル SYSCLK A[23:0] ASX CSnX CSX->RDX/WRX Delay RDX/WRX->CSX Delay RDX リード D[31:16] WRnX ライト D[31:16] • AWR レジスタ W01 ビットを "1" に設定することにより , CSX → RDX/WRnX セッ トアップディレイを設定可能です。チップセレクトアサート後 , リード / ライトス トローブまでの期間を延長する場合に設定します。 • AWR レジスタ W00 ビットを "1" に設定することにより , RDX/WRnX → CSX ホー ルドディレイを設定可能です。リード / ライトストローブネゲート後 , チップセレ クトネゲートまでの期間を延長する場合に設定します。 • CSX → RDX/WRnX セットアップディレイ (W01 ビット ) と RDX/WRnX → CSX ホー ルドディレイ (W00 ビット ) は独立に設定可能です。 • 同一チップセレクト領域内で , チップセレクトをネゲートしないまま連続してアク セスする場合は , CSX → RDX/WRnX セットアップディレイ , RDX/WRnX → CSX ホールドディレイともに挿入されません。 • アドレス確定からのセットアップサイクルおよびアドレス確定のホールドサイク ルが必要な場合は , アドレス→ CSX 遅延設定 (AWR レジスタ W02 ビット ) を "1" に 設定してください。 316 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 15 章 外部バスインタフェース 15.5 外部バスインタフェースのレジスタ設定手順 MB91220 シリーズ 15.5 外部バスインタフェースのレジスタ設定手順 外部バスインタフェースのレジスタの設定手順を説明します。 ■ レジスタ設定手順 外部バスインタフェースに関する設定手順は , 以下の原則に従ってください。 • レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を使用し ない設定 ("0") にして行ってください。 "1" のまま設定を変更した場合 , その前後のアクセスは保証されません。 • レジスタの変更は以下の手順で行ってください。 ① 該当領域に対応する CSER のビットを "0" に設定してください。 ② ASR と ACR をワードアクセスで同時に設定してください。ASR, ACR をハーフ ワードでアクセスする場合には ASR 設定後 ACR を設定してください。 ③ AWR を設定してください。 ④ 該当領域に対する CSER のビットを設定してください。 • CS0X領域はリセット解除後から有効になっており, プログラム領域として使用して いる場合は CSER を "1" のままで書き換える必要がありますが , この場合は内部ク ロックが低い初期状態で上記② , ③の設定を行ってください。その後 , クロックを 高速クロックに切り換えてください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 317 第 15 章 外部バスインタフェース 15.6 外部バスインタフェース使用上の注意 15.6 MB91220 シリーズ 外部バスインタフェース使用上の注意 外部バスインタフェースの使用上の注意を説明します。 ■ 使用上の注意 WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0] = 0X0XB) と WRX を ライトストローブとして使用する領域 (TYP[3:0] = 0X1XB) とを混在させる設定にした 場合 , 使用するすべての領域にて , 必ず以下の設定を行ってください。 ・ リード→ライトアイドルサイクルを最低 1 サイクル以上設定してください (AWR:W06 = 1)。 ・ ライトリカバリサイクルを最低 1 サイクル以上設定してください (AWR:W04 = 1)。 ただし , WR0X, WR1X をライトストローブとして使用する領域 (TYP[3:0]= 0X0XB) で WR0X, WR1X が無効な (ROM のみ接続されている ) 場合は , 上記制限はありま せん。また , WRX をライトストローブとして使用する領域 (TYP[3:0] = 0X1XB) の 設定でアドレス→ RDX/WRX セットアップサイクル (W01 = 1), RDX/WRX →アド レスホールドサイクル(W00 = 1)をともに設定している場合も上記制限はありませ ん。 <制限理由> TYP[3:0] = 0X1XB と設定して WRX をライトストローブとして使用する領域では , WR0X/WR1X 端子が , バイトイネーブル (UBX/LBX) 出力となります。この場合 , バ イトイネーブル出力はアドレスおよび CSX 出力と同一のタイミングで , 各バイト位 置のイネーブル信号を出力します。 このため , WR0X/WR1X 端子を非同期ライトストローブとして使用している領域へ のアクセスが前後にあった場合 , そちらの領域において , CSX と WR0X/WR1X 間の 交流規格を満足できなくなり , 誤書込みが発生する可能性があります。 リード→ライトアイドルサイクル, およびライトリカバリサイクルを設定した場合, これらのサイクルでは , CSX はアサートされません ("H" レベルを維持 ) ので , 上記 交流規格を満足することができます。 WR0X/WR1X 端子を非同期ライトストローブとして使用している領域にて , CSX と WR0X/WR1X 間の交流規格 ( セットアップおよびホールド ) に対し余裕がある場合 は , 本制限は必要ありません。 318 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) DMAC の概要 , レジスタの構成 / 機能および動作に ついて説明します。 CM71-10142-5 16.1 DMAC の概要 16.2 DMAC のレジスタ詳細説明 16.3 DMAC の動作説明 16.4 DMAC の動作フロー 16.5 DMAC のデータパス FUJITSU SEMICONDUCTOR LIMITED 319 第 16 章 DMAC (DMA コントローラ ) 16.1 DMAC の概要 16.1 MB91220 シリーズ DMAC の概要 DMAC は , DMA(Direct Memory Access) 転送を実現するためのモジュールです。 DMA 転送により , CPU を介さずに各種データ転送を高速に行うことが可能となり , システムのパフォーマンスを増加させます。 ■ ハードウェア構成 DMAC は , 主に以下の回路およびレジスタより構成されます。 • 独立した DMA チャネル× 5 チャネル • 5 チャネル独立アクセス制御回路 • 20 ビット アドレスレジスタ ( リロード指定可能 : ch.0 ∼ ch.3) • 24 ビットアドレスレジスタ ( リロード指定可能 : ch.4) • 16 ビット 転送回数レジスタ ( リロード指定可能 : 各チャネル 1 本 ) • 4 ビットブロック回数レジスタ ( 各チャネル 1 本 ) • 2 サイクル転送 ■ 主要機能 DMAC によるデータ転送には以下の機能があります。 複数チャネルの独立したデータ転送が可能 (5 チャネル ) • 優先順位 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) • ch.0 - ch.1 間にて順位反転が可能 • DMAC 起動要因 - 内蔵周辺要求 ( 割込み要求を共用 --- 外部割込みを含む ) - ソフトウェア要求 ( レジスタ書込み ) • 転送モード - バースト転送 / ステップ転送 / ブロック転送 - アドレッシングモード 20 ビット (24 ビット ) アドレス指定 ( 増加 / 減少 / 固定 ) ( アドレス増減幅は± 1, 2, 4 固定 ) - データの種類 : バイト / ハーフワード / ワード長 - シングルショット / リロード選択可能 320 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.1 DMAC の概要 MB91220 シリーズ ■ DMAC のレジスタ概要 図 16.1-1 DMAC のレジスタ概要 bit31 bit24 bit23 bit16 bit15 bit8 bit7 bit0 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 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 00000240H bit31 bit20 bit19 bit31 bit24 bit23 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED bit0 bit0 321 第 16 章 DMAC (DMA コントローラ ) 16.1 DMAC の概要 MB91220 シリーズ ■ DMAC のブロックダイヤグラム 図 16.1-2 DMAC のブロックダイヤグラム カウンタ バスコントローラへ DMA転送要求 バッファ ライトパック セレクタ DMA起動 要因選択回路 & 要求受付け制御 DTC 2段レジスタ ペリフェラル起動要求/停止入力 DTCR カウンタ DSS[2:0] バッファ リード ライト リード/ライト制御 優先度回路 割込みコントローラへ IRQ[4:0] ERIR,EDIR セレクタ 周辺割込みクリア BLK レジスタ MCLREQ TYPE.MOD,WS セレクタ DMASA 2段レジスタ SADM,SASZ[7:0] SADR DMADA 2段レジスタ DADM,DASZ[7:0] DADR X-bus バス制御部 カウンタバッファ DMAコントロール セレクタ ライトバック カウンタバッファ アクセス アドレス アドレスカウンタ バスコント ローラへ バス制御部 状態遷移回路 ライトバック 322 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ 16.2 DMAC のレジスタ詳細説明 DMA コントローラで使用するレジスタの設定時の注意事項とレジスタの詳細につい て説明します。 ■ レジスタ設定時の注意 DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがありま す。動作中 ( 転送中 ) に設定した場合には正常な動作は保証されません。 ビット名の後ろに * ( アスタリスクマーク ) が記述されているビットは , DMAC 転送中 に設定すると動作に影響を与えます。このビットの書換えは , DMAC 転送停止中 ( 起 動禁止状態または一時停止状態 ) に行ってください。 DMA 転送の起動禁止状態 (DMACR:DMAE=0 または DMACA:DENB=0 のとき ) で設定 した場合は , 起動許可後に設定は有効になります。 DMA 転送の一時停止状態 (DMACR:DMAH[3:0] ≠ 0000B または DMACA:PAUS = 1 の とき ) で設定した場合は , 一時停止解除後に設定は有効になります。 ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ A [DMACA0 ∼ DMACA4] DMAC各チャネルの動作制御を行うレジスタで, チャネルごとに独立して存在します。 各ビット機能は以下に示すとおりです。 DMACA0 ∼ DMACA4 ( アクセス bit31 ∼ bit16 :Byte, Half-word, Word) アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.0:000200H DENB PAUS STRG IS[4:0] BLK[3:0] 予約 ch.1:000208H R/W R/W R0,W R/W R/W R/W R/W R/W R0,WX R0,WX R0,WX R0,WX R/W R/W R/W R/W ch.2:000210H ch.3:000218H ( アクセス bit15 ∼ bit0 : Half-word, Word) ch.4:000220H bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DTC[15: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 初期値 : 00000000 ----0000 00000000 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit31] DENB (Dma ENaBle) : DMA 動作許可ビット 各転送チャネルに対応し , DMA 転送の起動許可 / 禁止を行います。 起動されたチャネルは , 転送要求が発生し受け付けられると DMA 転送を開始しま す。起動許可されていないチャネルに対して発生した転送要求は , すべて無効とな ります。起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" になり , 転送は停止します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 323 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ 本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [bit30:DMACA] で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) してください。一時停止 しないで強制停止した場合は DMA は停止しますが転送データは保証されません。 停止の確認は DSS[2:0] ビット (bit18 ∼ bit16:DMACB) で行ってください。 DENB 機能 0 対応チャネル DMA 動作禁止 ( 初期値 ) 1 対応チャネル DMA 動作許可 • リセット時 , 停止要求が受け付けられた場合 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 • DMAC 全体制御レジスタ DMACR の bit31:DMAE ビットにより , 全チャネルの動 作が禁止されている場合 , DENB ビットへの "1" 書込みは無効となり , 停止状態 を維持します。また , DENB ビットにより動作が許可されている状態にて DMAE ビットにより動作が禁止された場合 , DENB ビットは "0" となり , 転送は中断し ます ( 強制停止 )。 [bit30] PAUS (PAUSe) : 一時停止指示 対応するチャネルの DMA 転送の一時停止制御を行います。本ビットがセットされ ると , 再び本ビットがクリアされるまでの間は DMA 転送を行いません (DMA が停 止中は DSS ビットが "1XXB" になります )。 起動前に本ビットをセットしてから起動した場合 , 一時停止状態のままとなりま す。 本ビットがセットされている間に新たに発生した転送要求は受け付けられますが , 本ビットをクリアしないと転送は開始しません (「16.3.2 転送要求の設定」を参照し てください )。 PAUS 機能 0 対応チャネル DMA 動作許可 ( 初期値 ) 1 対応チャネル DMA 動作一時停止 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit29] STRG (Software TRiGger) : 転送要求 対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開 始します。 ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操作は無効と なります。 324 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ <注意事項> DMAE ビットの書込みによる起動と本ビットによる転送要求が同時の場合 , 転送要求は有 効となり転送を開始します。 また , PAUS ビットへの "1" 書込みと同時である場合 , 転送要求は有効となりますが , PAUS ビットを "0" に戻すまで DMA 転送は開始しません。 STRG 機能 0 無効 1 DMA 起動要求 • リセット時 : "0" に初期化されます。 • 読出し値は常に "0" となります。 • 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 325 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit28 ∼ bit24] IS4 ∼ IS0 (Input Select) * : 転送要因選択 転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ トウェア転送要求は本設定にかかわらず有効となります。 *: DMAC 転送中に設定すると動作に影響を与えるビットを意味します。このビット の書換えは , DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってく ださい。 IS 機能 00000B ソフトウェア転送要求のみ 00001B ↓ 01111B 設定禁止 なし 10000B − 10001B LIN-UART1( 受信完了 ) 10010B LIN-UART2( 受信完了 ) 10011B PPG7H/7L 10100B LIN-UART1( 送信完了 ) 10101B LIN-UART2( 送信完了 ) 10110B 外部割込み 3 10111B 外部割込み 4 11000B リロードタイマ 0 11001B リロードタイマ 1 11010B リロードタイマ 2 11011B PPG1H/1L 11100B PPG3H/3L 11101B PPG5H/5L 11110B A/D 11111B 転送停止要求 あり なし − • リセット時 : "00000B" に初期化されます。 • 読出しおよび書込みが可能です。 <注意事項> 周辺機能の割込みによる DMA 起動を設定した場合 (IS=1XXXXB), 選択した機能は , ICR レ ジスタで割込みを禁止状態にしてください。 また , 周辺機能の割込みによる DMA 起動を設定した状態で , ソフトウェア転送要求によ り DMA 転送を起動すると , 転送終了後 , 該当する周辺に対して要因クリアを行います。こ のため , 本来の転送要求をクリアしてしまう可能性がありますので , 周辺機能の割込みに よる DMA 起動を設定した状態では , ソフトウェア転送要求による起動を行わないでくだ さい。 326 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit23 ∼ bit20] (Reserved) : 未使用ビット 読出し値は "0000B" 固定です。書込みは無効となります。 [bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) : ブロックサイズ指定 対応するチャネルのブロック転送時のブロックサイズを指定します。 本ビットに 設定した値が一回の転送単位におけるワード数 ( 正確には , データ幅設定の繰り返 し回数 ) となります。ブロック転送を行わない場合は "01H" ( サイズ 1) を設定して ください。 BLK XXXXB 機能 対応チャネルのブロックサイズ指定 • 読出しおよび書込みが可能です。 • 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。 • 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。 [bit15 ∼ bit0] DTC15 ∼ DTC0 (Dma Transfer Count register) * : 転送回数レジスタ 転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。 すべてのレジスタは , 専用のリロードレジスタを持っています。転送回数レジスタ のリロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設 定値をレジスタに戻します。 DTC XXXXH 機能 対応チャネルの転送回数指定 DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 )。DMA の転 送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了 します。よって , DMA 動作中の転送回数指定値を読み出すことはできません。 • 読出しおよび書込みが可能です。DTC のアクセスは , 必ずハーフワード長または ワード長にて行ってください。 • 読出し時の値は , カウント値となります。リロード値の読出しはできません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 327 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 コントロール / ステータスレジスタ B [DMACB0 ∼ DMACB4] DMAC各チャネルの動作制御を行うレジスタで, チャネルごとに独立して存在します。 各ビット機能は以下に示すとおりです。 DMACB0 ∼ DMACB4 ( アクセス:Byte, Half-word, Word) アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.0:000204H TYPE[1:0] MOD[1:0] WS[1:0] SADM DADM DTCR SADR DADR ch.1:00020CH R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ch.2:000214H ch.3:00021CH ch.4:000224H bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 SASZ[7:0] ERIE EDIE DSS[2:0] R/W R/W R/W R/W R/W bit4 bit3 bit2 bit1 bit0 DASZ[7: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 初期値 : 00000000 00000000 00000000 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit31, bit30] TYPE1, TYPE0 (TYPE) * : 転送タイプ設定 対応チャネルの動作タイプを以下のように設定します。 2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を設 定して読出し動作と書込み動作を転送回数分繰り返して転 送するモードです。 *: DMAC 転送中に設定すると動作に影響を与えるビットを意味します。このビット の書換えは , DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってく ださい。 TYPE 機能 00B 2 サイクル転送 ( 初期値 ) 01B 設定禁止 10B 設定禁止 11B 設定禁止 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。 • 必ず "00B" に設定してください。 328 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit29, bit28] MOD1, MOD0 (MODe) * : 転送モード設定 対応チャネルの動作モードを以下のように設定します。 MOD 機能 00B ブロック / ステップ転送モード ( 初期値 ) 01B バースト転送モード 10B 設定禁止 11B 設定禁止 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit27, bit26] WS1, WS0 (Word Size) : 転送データ幅選択 対応チャネルの転送データ幅を選択します。本レジスタに設定したデータ幅単位で 指定回数分の転送を行います。 WS 機能 00B バイト単位で転送 ( 初期値 ) 01B ハーフワード単位で転送 10B ワード幅単位で転送 11B 設定禁止 • リセット時 : "00B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit25] SADM (Source-ADdr. count-Mode select) * : 転送元アドレスカウント モード指定 対応するチャネルの転送元アドレスの 1 転送ごとのアドレス処理を指定します。 アドレス増加 / 減少は , 設定された転送元アドレスカウント幅 (SASZ) に従って , 1 転送後に加算 / 減算され転送終了時に次回アクセス用アドレスが対応するアドレス レジスタ (DMASA) に書き込まれます。 したがって , DMA 転送が終了するまで転送元アドレスレジスタは更新されません。 アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン ト幅 (SASZ, DASZ) を "0" としてください。 SADM 機能 0 転送元アドレスは増加します。( 初期値 ) 1 転送元アドレスは減少します。 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 329 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit24] DADM (Destination-ADdr. Count-Mode select) * : 転送先アドレスカウント モード指定 対応するチャネルの転送先アドレスの 1 転送ごとのアドレス処理を指定します。 アドレス増加 / 減少は , 設定された転送先アドレスカウント幅 (DASZ) に従って , 1 転送後に加算 / 減算され転送終了時に次回アクセス用アドレスが対応するアドレス レジスタ (DMADA) に書き込まれます。 よって , DMA 転送が終了するまで転送先アドレスレジスタは更新されません。 アドレス固定にする場合は , 本ビットを "0" または "1" に指定してアドレスカウン ト幅 (SASZ, DASZ) を "0" としてください。 DADM 機能 0 転送先アドレスは増加します。( 初期値 ) 1 転送先アドレスは減少します。 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit23] DTCR (DTC-reg. Reload)* : 転送回数レジスタリロード指定 対応するチャネルの転送回数レジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に回数レジスタ値 を初期設定値に戻して停止し , 転送要求 (STRG または IS 設定による起動要求 ) 待 ち状態になります ( 本ビットが "1" の場合 , DENB ビットはクリアされません )。 DENB = 0, または DMAE = 0 を設定すると強制停止します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。この 場合 , DENB ビットはクリアされます。 DTCR 機能 0 転送回数レジスタリロードを禁止 ( 初期値 ) 1 転送回数レジスタリロードを許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 330 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit22] SADR (Source-ADdr.-reg. Reload) * : 転送元アドレスレジスタリロード指定 対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス レジスタ値を初期設定値に戻します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。この 場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。 本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し ている場合は , 増加したアドレスとなります )。 SADR 機能 0 転送元アドレスレジスタリロードを禁止 ( 初期値 ) 1 転送元アドレスレジスタリロードを許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit21] DADR (Dest.-ADdr.-reg. Reload) * : 転送先アドレスレジスタリロード指定 対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス レジスタ値を初期設定値に戻します。 その他 , 機能の詳細は bit22:SADR の内容と等価になります。 DADR 機能 0 転送先アドレスレジスタリロードを禁止 ( 初期値 ) 1 転送先アドレスレジスタリロードを許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit20] ERIE (ERror Interrupt Enable) * : エラー割込み出力許可 エラー発生による終了時の割込み発生を制御します。 発生したエラーの内容は DSS2 ∼ DSS0 にて示されます。すべての終了要因で本割 込みが発生するのではなく , 特定の終了要因のみ割込みが発生することに注意して ください (DSS2 ∼ DSS0 ビット説明を参照してください )。 ERIE 機能 0 エラー割込み要求出力禁止 ( 初期値 ) 1 エラー割込み要求出力許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 331 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit19] EDIE (EnD Interrupt Enable) * : 終了割込み出力許可 正常終了時の割込み発生を制御します。 EDIE 機能 0 終了割込み要求出力禁止 ( 初期値 ) 1 終了割込み要求出力許可 • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit18 ∼ bit16] DSS2 ∼ DSS0 (Dma Stop Status)* : 転送停止要因表示 対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビットのコード ( 終了コー ド ) を表示します。終了コードの内容は以下のとおりです。 DSS2 機能 割込み発生 0 初期値 なし 1 DMA 一時停止中 (DMAH, PAUS ビット , 割込みなど ) なし DSS1, DSS0 00B 機能 初期値 01B なし − 10B 転送停止要求 11B 正常終了 割込み発生 なし エラー 終了 転送停止要求は , 周辺回路からの要求を使用した場合のみセットされます。 ( 注意事項 )「割込み発生」欄は , 発生可能な割込み要求の種類を示します。 • リセット時 : "000B" に初期化されます。 • "000B" を書き込むことにより , クリアされます。 • 読出しおよび書込みが可能ですが , 本ビットへの書込みは "000B" のみ有効とな ります。 332 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ [bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr count SiZe) * : 転送元アドレスカウント サイズ指定 対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減幅を指定します。 本ビットに設定した値が一回の転送単位におけるアドレス増減幅となります。アド レスの増減は転送元アドレスカウントモード (SADM) の指定に従います。 SASZ 機能 00H アドレス固定 01H バイト単位で転送 02H ハーフワード単位で転送 04H ワード単位で転送 上記以外 設定禁止 • 読出しおよび書込みが可能です。 • アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し てください。 [bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr count SiZe) * : 転送先アドレスカウント サイズ指定 対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減幅を指定します。 本ビットに設定した値が一回の転送単位におけるアドレス増減幅となります。アド レスの増減は転送先アドレスカウントモード (DADM) の指定に従います。 *: DMAC 転送中に設定すると動作に影響を与えるビットを意味します。このビット の書換えは , DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってく ださい。 DASZ 機能 00H アドレス固定 01H バイト単位で転送 02H ハーフワード単位で転送 04H ワード単位で転送 上記以外 設定禁止 • 読出しおよび書込みが可能です。 • アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し てください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 333 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ [DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4] DMAC各チャネルの動作制御を行うレジスタで, チャネルごとに独立して存在します。 各ビット機能は以下に示すとおりです。 ● ch.0 ∼ ch.3 図 16.2-1 DMAC-ch.0 ∼ ch.3 転送元 / 転送先アドレス設定レジスタ [DMASA0 ∼ DMASA3/DMADA0 ∼ DMADA3] DMASA0 ∼ DMASA3 ( アクセス:Word) アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.0:001000H ch.1:001008H ch.2:001010H ch.3:001018H DMASA0 ∼ DMASA3 [19:16] R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DMASA0 ∼ DMASA3 [15: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 初期値 : 00000000 00000000 00000000 00000000B DMADA0 ∼ DMADA3 ( アクセス:Word) アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.0:001004H ch.1:00100CH ch.2:001014H ch.3:00101CH DMADA0 ∼ DMADA3 [19:16] R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DMADA0 ∼ DMADA3 [15: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 初期値 : 00000000 00000000 00000000 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 334 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ ● ch.4 図 16.2-2 DMAC-ch.4 転送元 / 転送先アドレス設定レジスタ (DMASA4/DMADA4) DMASA4 ( アクセス:Word) アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.4:001020H DMASA4 [23:16] R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W R/W R/W R/W R/W bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DMASA4 [15: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 初期値 : 00000000 00000000 00000000 00000000B DMADA4 ( アクセス:Word) アドレス bit31 bit30 bit29 bit28 bit27 bit26 bit25 bit24 bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 ch.4:001024H DMADA4 [23:16] R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W R/W R/W R/W R/W bit15 bit14 bit13 bit11 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 DMADA4 [15: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 初期値 : 00000000 00000000 00000000 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 転送元 / 転送先アドレスを格納するレジスタ群です。ch.0 ∼ ch.3 は 20 ビット長 , ch.4 は 24 ビット長で構成されています。 [bit23 ∼ bit0] DMASA (DMA Source Addr) * : 転送元アドレス設定 転送元アドレスの設定を行います。 [bit23 ∼ bit0] DMADA (DMA Destination Addr) * : 転送先アドレス設定 転送先アドレスの設定を行います。 DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ ンタバッファに格納して 1 転送ごとに設定に従いアドレスカウントします。DMA の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は 終了します。よって , DMA 動作中のアドレスカウンタ値を読み出すことはできませ ん。 すべてのレジスタは , 専用のリロードレジスタを持っています。転送元 / 転送先ア ドレスレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に 自動的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには 影響を与えません。 • リセット時 : 初期化されません。 • 読出しおよび書込みが可能です。本レジスタは , 必ず 32 ビットデータでアクセ スしてください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 335 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ • 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア ドレス値となります。リロード値の読出しはできません。したがって , 転送アド レスをリアルタイムで読出しすることはできません。 • 存在しない上位ビットには , "0" を設定してください。 <注意事項> 本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ に DMA 転送を行うことはできません。 336 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ ■ DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レジスタ [DMACR] DMAC5チャネル分全体の動作制御を行うレジスタです。本レジスタは必ずバイト長で アクセスしてください。 各ビット機能は以下に示すとおりです。 図 16.2-3 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レジスタ (DMACR) のビット構成 DMACR ( アクセス:Byte) アドレス bit31 bit30 bit29 bit28 000240H DMAE - - PM01 R/W R0,WX R0,WX R/W R/W R/W R/W R/W bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W bit27 bit26 bit25 bit24 DMAH[3:0] 初期値 : 0--00000 XXXXXXXX XXXXXXXX XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit31] DMAE (DMA Enable) : DMA 動作許可 DMA 全チャネルの動作制御を行います。 本ビットにより DMA 動作が禁止されている場合 , 各チャネルの起動 / 停止の設定 や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。 転送中であったチャネルは要求を取り下げ , ブロック境界で転送を停止します。禁 止状態のとき , 各チャネルに対して行われる起動操作は , すべて無効となります。 本ビットにより DMA 動作が許可されている場合 , チャネルごとに起動 / 停止操作 が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに対 する起動は行われません。 本 ビ ッ ト に "0" を 書 込 み す る と 強 制 停 止 し ま す が , 必 ず DMAH[3:0] ビ ッ ト (DMACR:bit27 ∼ bit24) で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) し てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー タは保証されません。停止の確認は DSS[2:0] ビット (DMACB:bit18 ∼ bit16) で行っ てください。 DMAE CM71-10142-5 機能 0 全チャネル DMA 動作禁止 ( 初期値 ) 1 全チャネル DMA 動作許可 FUJITSU SEMICONDUCTOR LIMITED 337 第 16 章 DMAC (DMA コントローラ ) 16.2 DMAC のレジスタ詳細説明 MB91220 シリーズ • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit28] PM01 (Priority Mode ch.0, ch.1 reverse) : チャネル優先度反転 ch.0, ch.1 の優先度を転送ごとに順位を反転させるときに設定します。 PM01 機能 0 優先順位固定 (ch.0 > ch.1)( 初期値 ) 1 優先順位反転 (ch.1 > ch.0) • リセット時 : "0" に初期化されます。 • 読出しおよび書込みが可能です。 [bit27 ∼ bit24] DMAH3 ∼ DMAH0 (DMA Halt) : DMA 一時停止 DMA 全チャネルの一時停止制御を行います。本ビットがセットされると , 再び本 ビットがクリアされるまでの間は , 全チャネルの DMA 転送を行いません。 起動前に本ビットをセットしてから起動した場合 , 全チャネルが一時停止のままと なります。 本ビットがセットされている間に DMA 転送が許可 (DENB=1) されているチャネル に発生した転送要求は , すべて有効となり , 本ビットをクリアすることにより転送 を開始します。 DMAH3 ∼ DMAH0 0000B 0000B 以外 機能 全チャネル DMA 動作許可 ( 初期値 ) 全チャネル DMA 一時停止 • リセット時 : "0000B" に初期化されます。 • 読出しおよび書込みが可能です。 [bit30, bit29, bit23 ∼ bit0] (Reserved) : 未使用ビット 読出し値は不定です。 338 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3 DMAC の動作説明 DMAC の動作概要 , 転送要求設定や転送シーケンスなどの詳細 , 動作中の詳細など について説明します。 ■ DMAC の概要 DMAC は , FR ファミリに内蔵され , CPU の命令動作を介することなく高速にデータ転 送を制御する多機能 DMA コントローラです。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 339 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 16.3.1 MB91220 シリーズ DMAC の動作 DMAC の動作について説明します。 ■ DMAC の主要動作 • 各転送チャネルは , 独立に各種機能を設定します。 • 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いませ ん。 • 転送要求検出により , バスコントローラに対し DMA 転送要求を出力し , バスコント ローラの制御によりバス権を取得して転送を開始します。 • 転送はチャネルごとに設定されたモードに従って , シーケンスで行われます。 ■ 転送モード DMA の各チャネルは , それぞれの DMACB レジスタの MOD[1:0] ビットで設定された 転送モードに従って転送動作を行います。 ● ブロック / ステップ転送 1 回の転送要求で 1 ブロック転送単位のみ転送を行い , その後次の転送要求が受け 付けられるまでは DMA はバスコントローラに対し転送要求を停止します。 1 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK[3:0]) ● バースト転送 1 回の転送要求で指定転送回数終了まで連続して転送を行います。 指定転送回数 : ブロックサイズ分×転送回数分(DMACA:BLK[3:0]×DMACA:DTC[15:0]) ■ 転送タイプ ● 2 サイクル転送 ( 通常転送 ) DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行 います。 転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへ データを書込みします。 340 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ ■ 転送アドレス アドレッシングは , 各チャネル転送元 / 転送先ごとに独立に設定します。 ● 2 サイクル転送でのアドレスの指定 あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値 をアドレスとしてアクセスします。 転送要求を受け付けたら DMA はレジスタからアドレスを一時記憶バッファに格納 して転送を開始します。 1 回の転送 ( アクセス ) ごとに , アドレスカウンタにて次回アクセスアドレスを生成 ( 加算 / 減算 / 固定選択可能 ) して , 一時記憶バッファに戻します。この一時記憶バッ ファの内容は , 1 ブロック転送単位終了ごとにレジスタ (DMASA, DMADA) へライ トバックされます。 そのため , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにし か更新されませんので , 転送中のアドレスをリアルタイムに知ることはできませ ん。 ■ 転送回数と転送終了 ● 転送回数 1 ブロック転送単位終了ごとに , 転送回数レジスタをデクリメント (-1) します。 転送回数レジスタが "0" になると指定転送回数終了となり , 終了コードを表示して 停止または再起動します。 転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更 新されません。 転送回数レジスタリロード禁止に設定している場合は転送を終了します。許可され ている場合はレジスタ値を初期化して転送待ち状態になります (DMACB:DTCR)。 ● 転送終了 転送終了要因には以下のものがあり , 転送終了時は終了コードとして要因が表示さ れます (DMACB:DSS[2:0])。 • 指定転送回数の終了 (DMACA:BLK[3:0] × DMACA:DTC[15:0]) →正常終了 • 周辺回路からの転送停止要求の発生 →エラー • リセットの発生→初期値 各終了要因に対応して , 転送停止要因表示 (DSS) され転送終了割込み / エラー割込 みを発生できます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 341 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 転送要求の設定 16.3.2 DMA 転送を起動する転送要求は , 以下の 2 種類があります。 • 内蔵周辺要求 • ソフトウェア要求 ソフトウェア要求については , ほかの要求の設定にかかわらず常に使用することが できます。 ■ 内蔵周辺要求 内蔵周辺回路の割込み発生により , 転送要求を発生します。 チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します (DMACA : IS[4:0]=1XXXXB)。 <注意事項> 転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン トローラの設定を割込み禁止に設定してください (ICR レジスタ )。 ■ ソフトウェア要求 レジスタのトリガビットへの書込みにより転送要求を発生します (DMACA:STRG)。 内蔵周辺要求の転送要求とは独立で , 常に使用することができます。 起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントロー ラに対し DMA 転送要求を出力し転送を開始します。 <注意事項> 内蔵周辺要求を設定したチャネルに対してソフトウェア要求を行うと , 転送終了後 , 該当 する周辺に対して要因クリアを行います。このため , 本来の転送要求をクリアしてしまう 可能性がありますので , 内蔵周辺要求を設定した状態でソフトウェア要求を行わないでく ださい。 342 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.3 転送シーケンス チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと転送 モードを独立に設定することができます (DMACB:TYPE[1:0], MOD[1:0] の設定 ) 。 ■ 転送シーケンスの選択 レジスタの設定により以下のシーケンスが選択可能です。 • バースト 2 サイクル転送 • ブロック / ステップ 2 サイクル転送 ■ バースト 2 サイクル転送 1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転 送元 / 転送先アドレスは ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可能です。 転送要因は , 周辺転送要求 / ソフトウェア転送要求を選択できます。 ● バースト転送の特長 • 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送 を行います。 • 転送回数はブロックサイズ分×転送回数分になります (DMACA:BLK[3:0] × DMACA:DTC[15:0])。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送回数レジスタのリロード機能が有効である場合, 転送終了後より次の転送要 求を受け付けます。 • 転送中に , より高い優先順位の他チャネルの転送要求を受け付けた場合 , ブロッ ク転送単位の境目でチャネルを切り換え, そのチャネルの転送要求がクリアされ るまで復帰しません。 図 16.3-1 バースト転送例 周辺転送要求 バス動作 CPU 転送回数 SA DA 4 SA DA 3 SA DA 2 SA DA 1 CPU 0 転送終了(内部) (周辺転送要求,ブロック数=1,転送回数=4のとき) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 343 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ ■ ステップ / ブロック転送 2 サイクル転送 ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場 合は転送元 / 転送先アドレスは , ch.0 ∼ ch.3 では 20 ビット , ch.4 では 24 ビット指定可 能です。 ■ ステップ転送 ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。 ● ステップ転送の特長 • 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転 送を停止します ( バスコントローラに対し DMA 転送要求を取り下げる )。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送中に , より高い優先順位の他チャネルの転送要求を受け付けた場合 , 転送停 止後に , チャネルを切り換えて続けて転送を開始します。ステップ転送における 優先順位は , 転送要求が同時に発生した場合のみ意味を持ちます。 ■ ブロック転送 ブロックサイズに "1" 以外を設定すると , ブロック転送シーケンスとなります。 ● ブロック転送の特長 1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ス テップ転送と全く同じ動作となります。 図 16.3-2 ブロック転送例 周辺転送要求 バス動作 CPU ブロック数 転送回数 SA DA SA 2 DA 1 CPU SA 0 2 DA SA 2 DA 1 1 転送終了(内部) (周辺転送要求,ブロック数=2,転送回数=2のとき) 344 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.4 DMA 転送全般 DMA 転送のブロックサイズとリロード動作について説明します。 ■ ブロックサイズ • 転送データの 1 転送単位は , ( ブロックサイズ指定レジスタに設定した数 ) × ( デー タ幅 ) のデータの集合となります。 • 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転 送単位はブロックサイズ指定値分の転送サイクル数より構成されることになりま す。 • 転送中に , より高位の優先順位の転送要求が受け付けられた場合または転送の一時 停止要求が発生した場合 , ブロック転送時でも 1 転送単位の境界にならないと停止 しません。これにより分割・一時停止を希望しないデータブロックのデータ保護が 可能ですが , ブロックサイズが大きい場合はレスポンスを低下させる原因となりま す。 • リセット発生の場合のみ即時に停止しますが , 転送中のデータの内容などは保証さ れません。 ■ リロード動作 DMAC では , チャネルごとに , 以下の 3 種類のリロード機能の設定が可能です。 • 転送回数レジスタリロード機能 指定回数の転送が終了した後 , 転送回数レジスタに初期設定値を再設定して起動受 付け待ちします。 全転送シーケンスを繰り返し行う際に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のまま となり , 以降の転送は行われません。 • 転送元アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定しま す。 転送元アドレス領域内で固定領域から繰り返し転送する場合に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ値が 終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。 • 転送先アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定しま す。 転送先アドレス領域内で固定領域へ繰り返し転送する場合に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ値が 終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用します。 転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了 後の再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 345 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ <注意事項> 動作モードとリロード動作の特殊な例 • 転送終了にていったん停止し , 再度入力検出から行いたい場合は , リロード指定を行わ ないようにしてください。 • バースト / ブロック / ステップ転送モードで転送している場合では , 転送終了となると リロード後いったん転送を中断し , 改めて転送要求入力が検出されるまで転送を行い ません。 346 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ アドレッシングモード 16.3.5 各転送チャネルの転送先および転送元アドレスは , それぞれ独立して指定します。 転送シーケンスによって設定してください。 ここでは , その指定方法について説明します。 ■ アドレスレジスタ指定 2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) には転送元アドレ スを,転送先アドレス設定レジスタ(DMADA)には転送先アドレスを設定してください。 ● アドレスレジスタの特長 • ch.0 ∼ ch.3 は 20 ビット長 , ch.4 は 24 ビット長のレジスタです。 ● アドレスレジスタの機能 • 毎アクセス時に読み出され , アドレスバスへ放出されます。 • 同時にアドレスカウンタにて次回アクセス時のアドレス計算が行われ, 計算結果 のアドレスにてアドレスレジスタを更新します。 • アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に固定 / 加算 / 減算の うちより選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ 値によります (DMACB:SASZ, DASZ)。 • 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最 終アドレスにアドレス計算をした結果のアドレスが残されます。 • リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。 < 注意事項 > • 20 ビットまたは 24 ビット長フルアドレス計算の結果 , オーバフロー / アンダフローが 発生した場合でも , そのチャネルの転送は継続されます。オーバフロー / アンダフロー が発生しないよう各チャネルを設定してください。 • アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 347 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 16.3.6 MB91220 シリーズ データの種類 1 回の転送で転送されるデータ長 ( データ幅 ) を 以下に示します。 • バイト • ハーフワード • ワード ■ アクセスアドレス DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ ス指定においてデータ長と食い違うアドレスが設定された場合 , 異なる下位ビットは 無視されます。 • バイト : 実際のアクセスアドレスとアドレス指定が一致します。 • ハーフワード : 実際のアクセスアドレスは下位 1 ビット が "0" から始まる 2 バイト となります。 • ワード : 実際のアクセスアドレスは下位 2 ビット が "00B" から始まる 4 バイ トとなります。 転送元アドレスと転送先アドレスの下位ビットが食い違っている場合 , 内部アドレス バス上には設定そのままのアドレスが出力されますが , バス上の各転送対象において , 上記の決まりに従ってアドレスが修正されてアクセスが行われます。 348 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.7 転送回数制御 転送回数は , 最大で 16 ビット 長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回 数指定値は転送回数レジスタ (DMACA:DTC) に設定します。 ■ 転送回数レジスタとリロード動作 レジスタ値は , 転送開始時に一時記憶バッファに格納され , 転送回数カウンタにより減 算されます。 このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され , そのチャネ ルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。 ● 転送回数レジスタ群の特長 • 各レジスタ 16 ビット長です。 • すべてのレジスタはそれぞれ専用リロードレジスタを持ちます。 • レジスタ値が "0" 時に起動すると , 65536 回の転送を行います。 ● リロード動作 • リロード機能をもつレジスタで, リロード機能が許可されている場合にのみ有効 です。 • 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。 • 転送回数カウンタにてカウントを行った際 "0" になると , 転送終了を通知すると ともに , リロードレジスタより初期値を読み出し , 回数レジスタに書込みます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 349 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ CPU 制御 16.3.8 DMA 転送要求が受け付けられると , DMA はバスコントローラに対し転送要求を発 行します。バスコントローラはバス動作の切れ目にて内部バス使用権を DMA に明け 渡し , DMA 転送が開始されます。 ■ DMA 転送と割込み DMA 転送中に , NMI 要求 , または割込みコントローラの HRCL レジスタにて設定され たホールド抑止レベルより高いレベルの割込み要求が発生した場合には , DMAC は転 送単位 (1 ブロック ) の境界にてバスコントローラへの転送要求を一次取り下げ , 割込 み要求がクリアされるまでは転送を一時停止状態にします。この間転送要求は内部で 保持されます。割込み要求がクリアされた後に再度バスコントローラは転送要求を発 行してバス使用権を取得し , DMA 転送を再開します。 割込みのレベルが HRCL レジスタに設定されたレベルより低い場合は , DMA 転送終了 まで割込みは受け付けられません。また , HRCL の設定値より低いレベルの割込み処理 動作中に DMA 転送要求があった場合は , 転送要求は受け付けられ , 転送終了まで割込 み処理動作は停止します。 デフォルトでは DMA 転送要求レベルは最弱です。すべての割込み要求に対して転送 を停止し , 割込み処理を優先させます。 ■ DMA 抑止 FR ファミリは DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転送 を中断して該当割込みルーチンへ分岐します。この機能は割込み要求がある限り有効 ですが , 割込み要因をクリアすると抑止機能が働かなくなり , 割込み処理ルーチン内で DMA 転送を再開します。このため , DMA 転送を中断するレベルの割込み要因の処理 ルーチン内で , 割込み要因クリア後の DMA 再転送開始を抑止したいときは , DMA 抑 止機能を使用します。DMA 抑止機能は , DMA 全体制御レジスタの DMAH[3:0] ビット に "0" 以外の値を書き込むことで起動し , "0" を書き込むことで停止します。 本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込み 要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このようにす ると , 以降 , DMA 転送は行いません。割込み処理への対応を行った後 , 復帰する前に DMAH[3:0] ビットの内容を 1 つ減少させます。もし , 多重割込みであれば DMAH[3:0] ビットの内容は , まだ "0" にならないため , 引き続いて DMA 転送は抑止されます。ま た , 多重割込みでなければ , DMAH[3:0] ビットの内容は "0" になるため , その後すぐに DMA 要求を有効にします。 <注意事項> • DMA 転送以外の多重割込みが発生した場合 , DMAH[3:0] は 4bit 構成なので多重割込み が発生した数は , 15 までしかカウントしません。 • DMA より優先度の高い割込みは 15 要因までにすることを踏まえて DMA の割り込みレ ベルを設定してください。 350 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.9 動作 DMA 転送の動作について説明します。 ■ 動作開始 DMA 転送の開始は , チャネルごとに独立に制御しますが , その前に全チャネルの動作 を許可しておく必要があります。 ● 全チャネル動作許可 DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら かじめ全チャネルの動作を許可する必要があります。許可されていない状態にて行っ た起動設定および発生した転送要求はすべて無効となります。 ● 転送起動 各チャネルの制御レジスタにある動作許可ビットにて , 転送動作を起動します。起動さ れたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転送 動作が開始されます。 ● 一時停止状態からの起動 各チャネルまたは全チャネル制御にて , 起動前に一時停止状態にしてあった場合 , 転送 動作を起動しても一時停止状態を維持しています。この間に転送要求が発生した場合 は , 要求を受け付けて保持します。一時停止を解除した時点より転送を開始します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 351 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 16.3.10 MB91220 シリーズ 転送要求の受付けと転送 転送要求の受付けと転送の内容を説明します。 ■ 転送要求の受付けと転送 • 起動後より , 各チャネルに対し設定した転送要求のサンプリングが開始されます。 • 周辺割込み起動を選択した場合は , 転送要求がクリアされるまで DMAC は転送を続 けますがクリアされたら 1 転送単位で転送を停止します ( 周辺割込み起動 )。 周辺割込みはレベル検出扱いとなりますので割込みは DMA による割込みクリアで 行うようにしてください。 • 転送要求は , 他チャネルの要求が受け付けられて転送が行われている間でも , 常に 受け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネル を決定しています。 352 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.11 DMA による周辺割込みクリア DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因に周 辺割込みを選択したときに機能します (IS [4:0]=1XXXXB のとき )。 周辺割込みのクリアは設定された起動要因にのみに行われます。すなわち IS [4:0] で設定された周辺機能のみクリアされます。 ■ 割込みクリアの発生タイミング 転送モードにより発生するタイミングが違います (「16.4 DMAC の動作フロー」を参 照 )。 ● ブロック / ステップ転送 ブロック転送を選択した場合 , 1 ブロック ( ステップ ) 転送ごとにクリア信号が発生 します。 ● バースト転送 バースト転送を選択した場合は , 指定転送回数がすべて終了するとクリア信号が発 生します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 353 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 16.3.12 MB91220 シリーズ 一時停止 DMA 転送が , 一時停止する場合について説明します。 ■ 制御レジスタへの書込みによる一時停止の設定 (各チャネル独立または全チャネル 同時に設定 ) 一時停止ビットにより一時停止を設定すると , 一時停止解除設定を再度設定するまで の間 , 対応するチャネルの転送は停止します。一時停止の確認は DSS ビットで行って ください。 一時停止を解除すると , 転送を再開します。 ■ NMI/ ホールド抑止レベル割込み処理中 NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転 送中のチャネルはすべて転送単位の境界にて一時停止し , バス権を開放して NMI/ 割込 み処理を優先させます。また , NMI/ 割込み処理中に受け付けられた転送要求はそのま ま保持され , NMI 処理の終了を待ちます。 要求が保持されたチャネルは , NMI/ 割込み処理が終了した後に転送を再開します。 354 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.13 動作終了 / 停止 DMA 転送の終了は , チャネルごとに独立に制御しますが , 全チャネルの動作を禁止 することも可能です。 ■ 転送終了 リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了 コードにて「正常終了」を表示した後 , 以降の転送要求は無効となります (DMACA:DENB ビットをクリアする )。 リロード動作が有効である場合 , 転送回数レジスタが "0" になると初期値をリロード し , 終了コードにて『正常終了』を表示した後 , 再度転送要求待ちとなります (DMACA:DENB ビットをクリアしない )。 ■ 全チャネル動作禁止 DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ ネルも含め DMAC のすべての動作が停止します。以降 , 再度全チャネル DMA 動作を 許可しても , チャネルごとに再起動しないと転送は行われません。この場合 , 割込みは 一切発生しません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 355 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ エラーによる停止 16.3.14 指定回数の転送終了による正常終了以外の要因で停止する場合として , 各種エラー 発生による停止および強制停止があります。 ■ 周辺回路からの転送停止要求の発生 転送要求を出力する周辺回路によっては , 異常を検出した際などに転送停止要求を発 生するものがあります ( 例 : 通信系周辺における受信 / 送信エラーなど )。 この転送停止要求を受け取った DMAC は , 終了コードにて「転送停止要求」を表示し て対応するチャネルの転送を停止します。 <注意事項> • 周辺回路の転送停止要求の有無については , DMACA レジスタの bit28 ∼ bit24(IS4 ∼ IS0) 転送要因選択ビットの説明を参照してください。 • 各転送停止要求の発生条件についての詳細は , 各周辺回路の仕様を参照してください。 356 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.15 DMAC 割込み制御 DMAC 割込み制御は , 転送要求となる周辺割込みとは独立に , チャネルごとに以下 の割込みを出力することが可能です。 ■ DMAC 割込み制御が出力できる割込み • 転送終了割込み : 正常終了した場合のみ発生 • エラー割込み : 周辺回路からの転送停止要求 ( 周辺に起因するエラー ) これらの割込みはすべて終了コードの内容に従って出力されます。 割込み要求のクリアは , DMACS の DSS2 ∼ DSS0( 終了コード ) に "000B" を書き込むこ とにより行います。なお , 終了コードは再起動する際には必ず "000B" を書き込んでク リアしてください。 リロード動作が有効である場合は自動的に再起動しますが , この際には終了コードは クリアされず , 次の転送終了による新しい終了コードの書込み時まで保持されます。 終了コードにて表示できる終了要因は1種類のみですので, 複数の要因が同時に発生し た場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されて いる終了コードに従います。 終了コードの表示の優先順位を以下に示します ( 上から , 優先度の高い順 )。 • リセット • "000B" 書込みによるクリア • 周辺停止要求 • 正常終了 • チャネル選択と制御 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 357 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 16.3.16 MB91220 シリーズ スリープ中の DMA 転送 DMAC は , スリープモード中でも動作させることができます。スリープ状態のとき の DMA 転送について説明します。 ■ スリープモード中の DMA 転送の注意 スリープモードでの動作を期待する場合 , 次のことに注意する必要があります。 • CPU は停止状態なので DMAC のレジスタを書き換えることはできません。スリー プモードに入る前に設定を済ませておいてください。 • スリープモードは , 割込みで解除されますので DMAC 起動要因で周辺での割込みを 選択した場合は , 割込みコントローラで割込みを禁止する必要があります。 同様に, DMAC終了割込みでスリープモードを解除しない場合は, 割込みを禁止にして ください。 358 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ 16.3.17 チャネル選択と制御 転送チャネルの数は 5 チャネルまで同時設定が可能です。各チャネルは基本的に各 機能を独立に設定することが可能です。 ■ チャネル間優先順位 同時に DMA 転送ができるのは 1 チャネルのみとなっているため , 各チャネル間には優 先順位が設定されます。 順位設定には , 固定 / 反転の 2 モードがありチャネルグループごとに選択します。 ● 固定モード チャネル番号の小さい順に固定されます。 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) 転送中により高い優先度の転送要求が受け付けられた場合 , 1 転送単位 ( ブロックサ イズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で転送チャネル が高優先度側に切り換わります。 高優先度側の転送が終了すると , 元のチャネルの転送を再開します。 図 16.3-3 固定モードのシーケンス ch.0転送要求 ch.1転送要求 バス動作 CPU SA 転送チャネル DA SA ch.1 DA ch.0 SA DA ch.0 SA DA CPU ch.1 ch.0転送終了 ch.1転送終了 ● 反転モード (ch.0 - ch.1 間のみ ) 動作許可後の初期状態は固定モードと同じ順位に設定されますが , 1 転送終了ごと にそのチャネルの優先度は反転します。よって , 同時に転送要求が出力されている 場合 , 1 転送単位ごとにチャネルが切り換わります。 連続 / バースト転送を設定した場合に効果のあるモードです。 図 16.3-4 反転モードのシーケンス 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-10142-5 FUJITSU SEMICONDUCTOR LIMITED 359 第 16 章 DMAC (DMA コントローラ ) 16.3 DMAC の動作説明 MB91220 シリーズ ■ チャネルグループ 優先順位の選択は , 以下の単位で設定します。 360 モード 優先度 備 考 固定 ch.0 > ch.1 − 反転 ch.0 > ch.1 ↑ ↓ ch.0 < ch.1 初期状態は上側の順位です 上側が転送されると反転します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.4 DMAC の動作フロー MB91220 シリーズ 16.4 DMAC の動作フロー 次の各転送モードにおける動作フローチャートを示します。 ・ブロック転送 ・バースト転送 ■ ブロック転送 図 16.4-1 ブロック転送の動作フロー DMA停止 DENB→0 DENB=1 起動要求待機 リロード許可 起動要求 初期化 アドレス,転送回数,ブロック数 ロード 転送元アドレスアクセス アドレス演算 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 周辺割込み起動要因選択時のみ アドレス,転送回数,ブロック数 ライトバック 割込みクリア 割込みクリア発生 DTC=0 DMA転送終了 DMA割込み発生 ● 特長 • すべての起動要因で起動可能 ( 選択 ) • すべての領域へのアクセス可能 • ブロック数の設定可能 • ブロック数終了で割込みクリア発行 • 指定転送回数終了で DMA 割込みを発行 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 361 第 16 章 DMAC (DMA コントローラ ) 16.4 DMAC の動作フロー MB91220 シリーズ ■ バースト転送 図 16.4-2 バースト転送の動作フロー DMA停止 DENB→0 DENB=1 起動要求待機 リロード許可 初期化 アドレス,転送回数,ブロック数 ロード 転送元アドレスアクセス アドレス演算 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 DTC=0 アドレス,転送回数,ブロック数 ライトバック 周辺割込み起動要因選択時のみ 割込みクリア DMA転送終了 割込みクリア発生 DMA割込み発生 ● 特長 • すべての起動要因で起動可能 ( 選択 ) • すべての領域へのアクセス可能 • ブロック数の設定可能 • 指定転送回数終了で割込みクリア , DMA 割込みを発行 362 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 16 章 DMAC (DMA コントローラ ) 16.5 DMAC のデータパス MB91220 シリーズ DMAC のデータパス 16.5 2 サイクル転送時のデータの動きを示します。 ■ 2 サイクル 転送時のデータの動作 6 種類の転送例を示します ( ほかの組合せは省略 )。 DMAC X-bus バスコントローラ D-bus データバッファ ライトサイクル I-bus CPU CPU I-bus 外部バスI/F DMAC リードサイクル X-bus バスコントローラ D-bus データバッファ F-bus F-bus RAM 外部バス I/F 外部領域=>外部領域 転送 I/O RAM I/O 外部領域=>内部RAM領域 転送 X-bus バスコントローラ D-bus データバッファ I-bus CPU CPU I-bus ライトサイクル X-bus バスコントローラ D-bus データバッファ F-bus RAM 外部バスI/F DMAC 外部バスI/F DMAC リードサイクル F-bus I/O RAM I/O X-bus バスコントローラ D-bus データバッファ I-bus X-bus バスコントローラ D-bus データバッファ F-bus RAM 外部バス I/F CPU I-bus DMAC ライトサイクル CPU DMAC リードサイクル 外部バス I/F 外部領域=>内蔵I/O領域 転送 I/O F-bus RAM I/O ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 363 第 16 章 DMAC (DMA コントローラ ) 16.5 DMAC のデータパス MB91220 シリーズ ( 続き ) X-bus バスコントローラ D-bus データバッファ I-bus X-bus バスコントローラ D-bus F-bus RAM 外部バスI/F CPU I-bus DMAC ライトサイクル CPU DMAC リードサイクル 外部バス I/F 内蔵I/O領域=>内蔵RAM領域 転送 F-bus RAM I/O I/O DMAC X-bus バスコントローラ D-bus データバッファ ライトサイクル I-bus CPU CPU I-bus 外部バスI/F DMAC リードサイクル X-bus バスコントローラ D-bus データバッファ F-bus RAM 外部バス I/F 内部RAM領域=>外部領域 転送 F-bus RAM I/O I/O CPU バスコントローラ D-bus データバッファ X-bus I-bus バスコントローラ D-bus データバッファ F-bus F-bus RAM 364 I/O FUJITSU SEMICONDUCTOR LIMITED 外部バス I/F X-bus I-bus DMAC ライトサイクル CPU DMAC リードサイクル 外部バス I/F 内部RAM領域=>内蔵I/O領域 転送 RAM I/O CM71-10142-5 第 17 章 ステッパモータコントローラ ステッパモータコントローラの概要 , レジスタの構 成 / 機能および動作について説明します。 CM71-10142-5 17.1 ステッパモータコントローラの概要 17.2 ステッパモータコントローラのレジスタ 17.3 動作説明 17.4 ステッパモータコントローラの使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 365 第 17 章 ステッパモータコントローラ 17.1 ステッパモータコントローラの概要 17.1 MB91220 シリーズ ステッパモータコントローラの概要 ステッパモータコントローラの概要とブロックダイヤグラムを示します。 ■ ステッパモータコントローラの概要 ステッパモータコントローラは , 2 個の PWM パルス発生器 , 4 個のモータドライバ , セ レクタロジックにより構成されています。 4 種類のモータドライバには高出力ドライブ機能があり , 2 個のモータコイルの終端 4 箇所に直接接続できます。PWM パルス発生器およびセレクタロジックを組み合せるこ とによって , モータの回転を制御するよう設計されています。 同期のメカニズムは , 2 個の PWM の同期動作を保証します。 ■ ステッパモータコントローラのブロックダイヤグラム 図 17.1-1 に , ステッパモータコントローラのブロックダイヤグラムを示します。 図 17.1-1 ステッパモータコントローラのブロックダイヤグラム ( ステッパモータコントローラ ch.0 の場合 ) 周辺クロック CK プリスケーラ PWM1 パルス発生器 EN P2 P1 PWM1P0 セレクタ PWM1M0 PWM P0 PWM1 比較レジスタ PWM1 選択レジスタ SC CK PWM2 パルス発生器 CE EN セレクタ PWM2P0 PWM2M0 PWM ロード PWM2 比較レジスタ 366 BS PWM2 選択レジスタ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ MB91220 シリーズ 17.2 ステッパモータコントローラのレジスタ ステッパモータコントローラのレジスタの機能について説明します。 ■ ステッパモータコントローラのレジスタ一覧 図 17.2-1 に , ステッパモータコントローラのレジスタ一覧を示します。 図 17.2-1 ステッパモータコントローラのレジスタ一覧 PWC ( アクセス:Byte) アドレス ch.0: 000169H ch.1: 000171H ch.2: 000179H ch.3: 000181H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 予約 P2 P1 P0 CE SC − 予約 000000-0B R/W0 R/W R/W R/W R/W R/W R1,WX R/W0 PWC2 ( アクセス:Half-word, Word) アドレス ch.0: 000164H ch.1: 00016CH ch.2: 000174H ch.3: 00017CH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − − − − − D9 D8 R1,WX R1,WX R1,WX R1,WX R1,WX R1,WX R/W R/W ------XXB 初期値 PWC1 ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 ch.0: 000165H ch.1: 00016DH ch.2: 000175H ch.3: 00017DH D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W PWS2 ( アクセス:Byte, Half-word, Word) アドレス ch.0: 00016AH ch.1: 000172H ch.2: 00017AH ch.3: 000182H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 − BS P2 P1 P0 M2 M1 M0 -0000000B R1,WX R/W R/W R/W R/W R/W R/W R/W PWS1 ( アクセス:Byte, Half-word, Word) アドレス ch.0: 00016BH ch.1: 000173H ch.2: 00017BH ch.3: 000183H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − P2 P1 P0 M2 M1 M0 初期値 R1,WX R1,WX R/W R/W R/W R/W R/W R/W --000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 367 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ MB91220 シリーズ PWM 制御レジスタ 17.2.1 PWM 制御レジスタの機能について説明します。 ■ PWM 制御レジスタのビット構成 図 17.2-2 に , PWM 制御レジスタのビット構成を示します。 図 17.2-2 PWM 制御レジスタのビット構成 PWC ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 ch.0: 000169H ch.1: 000171H ch.2: 000179H ch.3: 000181H 予約 P2 P1 P0 CE SC − 予約 000000-0B R/W0 R/W R/W R/W R/W R/W R1,WX R/W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7] 予約 常に "0" に設定してください。 [bit6 ∼ bit4] P2 ∼ P0 : 動作クロック選択ビット このビットは , PWM パルス発生器のクロック入力信号を指定します。 表 17.2-1 に , PWM パルス発生器のクロック入力信号の設定内容を示します。 表 17.2-1 PWM パルス発生器のクロック入力信号 P2 P1 P0 PWM 周期 (FCLKP=16MHz 時 ) クロック入力 SC=0 SC=1 0 0 0 FCLKP 16.0 μs 64.0 μs 0 0 1 1/2 × FCLKP 32.0 μs 128.0 μs 0 1 0 1/4 × FCLKP 64.0 μs 256.0 μs 0 1 1 1/8 × FCLKP 128.0 μs 512.0 μs 1 0 0 予約 − − 1 0 1 1/5 × FCLKP 80.0 μs 320.0 μs 1 1 0 1/6 × FCLKP 96.0 μs 384.0 μs 1 1 1 予約 − − FCLKP : 周辺クロック 368 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ MB91220 シリーズ [bit3] CE : カウント有効ビット このビットは , PWM パルス発生器の動作を有効にします。"1" に設定すると , PWM パルス発生器は動作を開始します。PWM1 パルス発生器の開始から 1 周辺クロック サイクル後に PWM2 パルス発生器が動作を開始することに注意してください。こ れによって , 出力ドライバからのスイッチングノイズが減少します。 PWM パルス発生器が動作中に CE ビットを "0" にクリアした場合は , PWM パルス 発生器は初期化され , 動作を停止します。 <注意事項> CE に "1" をセットする場合は , 操作クロックの選択が完了した状態で行ってください。 [bit2] 8/10bit 切換えビット SC ビットが "1" に設定されたとき PWM は 10bit で動作します。SC ビットが "0" に 設定されたとき PWM は 8bit で動作します。 [bit1] 未定義 常に "1" が読み出されます。書込みは動作に影響ありません。 [bit0] 予約 常に "0" に設定してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 369 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ 17.2.2 MB91220 シリーズ PWM1, PWM2 コンペアレジスタ PWM1, PWM2 の 2 つの 8 (10) ビットコンペアレジスタの内容は , PWM パルスの幅 を決定するものです。記憶された "00H" ("000H") の値は PWM のデューティが 0% であることを表し , "FFH" ("3FFH") は 99.6% (99.9%) のデューティを表します (8 ビットモード時 )。 ■ PWM1, PWM2 コンペアレジスタの機能 PWM1, PWM2 の 2 つの 8 (10) ビットコンペアレジスタの内容は , PWM パルスの幅を 決定するものです。記憶された "00H" ("000H") の値は PWM のデューティが 0% である ことを表し , "FFH" ("3FFH") は 99.6% (99.9%) のデューティを表します。 PWM1, PWM2 コンペアレジスタは , 任意の時点でアクセスすることができますが , 変 更された値は PWM2 選択レジスタの BS ビットが "1" に設定された後における現在の PWM サイクルの終わりにパルス幅に反映されます。 PWM 制御レジスタの SC ビットを "0" に設定し , PWM が 8 ビット動作をしている場合 は , D9, D8 は , 不定値となります。 PWM1, PWM2 コンペアレジスタは , 必ずハーフワードアクセスまたはワードアクセス してください。 • PWC10 : アドレス 0166H ( アクセス : Half-word, Word) • PWC11 : アドレス 016EH ( アクセス : Half-word, Word) • PWC12 : アドレス 0176H ( アクセス : Half-word, Word) • PWC13 : アドレス 017EH ( アクセス : Half-word, Word) PWC2 ( アクセス:Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 ch.0: 000164H − − − − − − ch.1: 00016CH RX,WX RX,WX RX,WX RX,WX RX,WX RX,WX ch.2: 000174H ch.3: 00017CH bit9 bit8 D9 D8 R/W R/W ------XXB 初期値 PWC1 ( アクセス:Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 ch.0: 000165H ch.1: 00016DH ch.2: 000175H ch.3: 00017DH D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 370 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ MB91220 シリーズ 図 17.2-3 コンペアレジスタの設定値と PWM パルス幅の関係 (8 ビットモード時 ) 1PWMサイクル 256 入力クロックサイクル レジスタ値 00H 80H 128入力クロックサイクル FFH 256入力クロックサイクル このレジスタは常時アクセス可能ですが , 修正値は PWM2 選択レジスタの BS ビット が "1" に設定された後で , 現行の PWM サイクル終了時にパルス幅に反映されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 371 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ 17.2.3 MB91220 シリーズ PWM1, PWM2 選択レジスタ PWM1, PWM2 選択レジスタの機能について説明します。 ■ PWM1, PWM2 選択レジスタの機能 図 17.2-4 に , PWM1, PWM2 選択レジスタのビット構成を示します。 図 17.2-4 PWM1, PWM2 選択レジスタのビット構成 PWS2 ( アクセス:Byte, Half-word, Word) アドレス ch.0: 00016AH ch.1: 000172H ch.2: 00017AH ch.3: 000182H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 − BS P2 P1 P0 M2 M1 M0 -0000000B R1,WX R/W R/W R/W R/W R/W R/W R/W PWS1 ( アクセス:Byte, Half-word, Word) アドレス ch.0: 00016BH ch.1: 000173H ch.2: 00017BH ch.3: 000183H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 − − P2 P1 P0 M2 M1 M0 初期値 R1,WX R1,WX R/W R/W R/W R/W R/W R/W --000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] 未定義ビット 常に "1" が読み出されます。書込みは , 動作に影響ありません。 [bit14] BS : 更新ビット このビットは , PWM 出力設定の同期調整用です。このビットが設定されるまでは , 両比較レジスタおよび両選択レジスタの修正はすべて出力信号に反映されません。 このビットが "1" に設定されると , PWM パルス発生器およびセレクタは , 現行の PWM サイクル終了時にレジスタの内容をロードします。 BS ビットは , 直後の PWM サイクル開始時に自動的に "0" にリセットされます。自動リセットと同時にソフト ウェアが BS ビットに "1" を設定すると , BS ビットは "1" に設定され ( そのまま変 わらず ), 自動リセットはキャンセルされます。 [bit13 ∼ bit11] P2 ∼ P0 : 出力選択ビット これらのビットは , PWM2P0 ∼ PWM2P3 における出力信号を選択します。 [bit10 ∼ bit8] M2 ∼ M0 : 出力選択ビット これらのビットは , PWM2M0 ∼ PWM2M3 における出力信号を選択します。 372 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 17 章 ステッパモータコントローラ 17.2 ステッパモータコントローラのレジスタ MB91220 シリーズ [bit7, bit6] 未定義ビット 常に "1" が読み出されます。書込みは , 動作に影響ありません。 [bit5 ∼ bit3] P2 ∼ P0 : 出力選択ビット これらのビットは , PWM1P0 ∼ PWM1P3 における出力信号を選択します。 表 17.2-2 に , 出力レベルと選択ビットの関係を示します。 [bit2 ∼ bit0] M2 ∼ M0 : 出力選択ビット これらのビットは , PWM1M0 ∼ PWM1M3 における出力信号を選択します。 表 17.2-2 に , 出力レベルと選択ビットの関係を示します。 表 17.2-2 出力レベルと選択ビットの関係 P2 P1 P0 PWM2Pn/PWM1Pn M2 M1 M0 PWM2Mn/PWM1Mn 0 0 0 "L" 0 0 0 "L" 0 0 1 "H" 0 0 1 "H" 0 1 X PWM パルス 0 1 X PWM パルス 1 X X ハイインピーダンス 1 X X ハイインピーダンス (n = 0 ∼ 3) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 373 第 17 章 ステッパモータコントローラ 17.3 動作説明 MB91220 シリーズ 動作説明 17.3 ステッパモータコントローラの動作について説明します。 ■ PWM 動作 図 17.3-1 PWM 動作 (n=0~5) (1) コンペア値設定 PWC1n 3FFH 370H 200H 000H 200H 370H PWC2n 000H 200H (6) ロード 370H 3FFH 370H 200H バッファ1 3FFH 370H 200H バッファ2 000H (2) PWM波出力端子設定 200H 370H PWS1n PWS2n 18H 000H 200H 3FFH 370H (2*) PWM波出力端子切換え 03H 18H (3)カウント許可 CE (4) BSbit設定 BS (5) BSbit自動クリア 3FFH 370H 200H (7) PWM波出力 (7*) PWM1Pn duty99.9% duty85.9% duty50% duty0% L出力 L出力 L出力 L出力 L出力 duty50% duty50% duty85.9% L出力 L出力 L出力 L出力 L出力 ① ② ③ ④ ⑤ PWM1Mn PWM2Pn duty0% duty99.9% duty85.9% PWM2Mn ⑤120° ④90° ③60° ②30° ①0° (1) コンペア値設定 (2) PWM 波出力端子設定 /(2*) PWM 波出力端子切換え (3) カウント許可 (4) BS ビット設定 (5) BS ビット自動クリア (6) コンペア値ロード (7) PWM 波出力 /(7*)(2*) による PWM 波出力切換え (8) (1) から (7) までの動作を繰り返します 374 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 17 章 ステッパモータコントローラ 17.3 動作説明 MB91220 シリーズ ■ BS ビットによる PWM コンペアレジスタのロード動作 図 17.3-2 PWM コンペアレジスタ値のロード動作 [BSビットの自動クリア] レジスタの内容がロードされ, 出力信号に反映される PWM 1サイクル PWM波形 PWMパルス発生器 カウンタ値 …… 3FFH PWMコンペア レジスタ値 3FFH PWMパルス発生器 コンペアレジスタ値 XXXH 000H …… …… …… 3FFH 000H …… 200H …… 3FFH 000H 3FFH 000H 200H ロードされる ロードされる 3FFH 200H BS [自動クリアと同時にBSビットを"1"に設定した場合] レジスタの内容がロードされ, 出力信号に反映される PWM 1サイクル PWM波形 PWMパルス発生器 カウンタ値 …… 3FFH PWMコンペア レジスタ値 3FFH PWMパルス発生器 コンペアレジスタ値 XXXH 000H …… …… …… 3FFH 000H …… 200H …… 200H ロードされる ロードされる 3FFH 200H BS 自動クリアとBSビット"1"の同時書込み [自動クリアと同時にBSビットを"0"に設定した場合] レジスタの内容がロードされ, 出力信号に反映される PWM 1サイクル PWM波形 PWMパルス発生器 カウンタ値 …… 3FFH PWMコンペア レジスタ値 3FFH PWMパルス発生器 コンペアレジスタ値 XXXH 000H …… …… …… 3FFH 000H …… 200H …… 3FFH 000H 200H ロードされる ロードされる 3FFH 200H 自動クリアとBSビット"0"の同時書込み BS [PWMサイクル終了前にBSビットを"0"に設定した場合] レジスタの内容はロードされず, 出力信号は反映されない PWM 1サイクル PWM波形 PWMパルス発生器 カウンタ値 …… 3FFH PWMコンペア レジスタ値 3FFH PWMパルス発生器 コンペアレジスタ値 XXXH BS 000H …… …… …… 3FFH 000H …… …… …… 3FFH 000H 200H ロードされる ロードされない 3FFH 1サイクル終了前のBSビット"0"書込み (1) BS ビットの自動クリア : ロードされ出力信号に反映される。 (2) 自動クリアと同時に BS ビットを "1" に設定した場合 : ロードされ出力信号に反映 される。 (3) 自動クリアと同時に BS ビットを "0" に設定した場合 : ロードされ出力信号に反映 される。 (4) PWM サイクル終了前に BS ビットを "0" に設定した場合 : ロードされず出力信号 は反映されない。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 375 第 17 章 ステッパモータコントローラ 17.3 動作説明 MB91220 シリーズ ■ モータドライブ信号の選択 ステッピングモータコントローラ関連の各端子に出力するモータドライブ信号は PWM 選択レジスタの設定により , 端子ごとに 4 種類の信号から選択することができま す。 表 17-3 にモータドライブ信号の選択と PWM 選択レジスタ 1, 2 の設定について示しま す。 これらの設定を行ったのち , PWM 選択レジスタ 2 の BS ビットに "1" を書き込むと , 現 在の PWM サイクルの終了時に設定値が有効となります。この BS ビットは次の PWM サイクルの先頭で自動的にクリアされます。BS ビットへの書込みと PWM サイクルの 先頭でも BS ビットクリアが同時のときは , BS ビットへの書込みが優先され , BS ビッ トクリアは取り消されます。 表 17-3 モータドライブ信号の選択と PWM 選択レジスタ 1, 2 の設定 376 P2, P1, P0 ビット PWM1P0 ∼ 5 出力 PWM2P0 ∼ 5 出力 M2, M1, M0 ビット PWM1M0 ∼ 5 出力 PWM2M0 ∼ 5 出力 000B L 000B L 001B H 001B H 01XB PWM パルス 01XB PWM パルス 1XXB ハイインピーダンス 1XXB ハイインピーダンス FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 17 章 ステッパモータコントローラ 17.4 ステッパモータコントローラの使用上の注意 MB91220 シリーズ 17.4 ステッパモータコントローラの使用上の注意 ステッパモータコントローラを使用するにあたっての注意点を示します。 ■ PWM 設定値変更時の注意 PWM コンペアレジスタ 1 (PWC1n), PWM コンペアレジスタ 2 (PWC2n), PWM 選択レジ スタ 1 (PWS1n) および PWM 選択レジスタ 2 (PWS2n) は常時アクセス可能ですが , PWM の "H" 幅設定または PWM 出力を変更するためには , これらのレジスタに設定値を書き 込んだ後 ( または同時に ), PWM 選択レジスタ 2 の BS ビットに "1" を書き込む必要が あります。 BS ビットが "1" にセットされると , 現在の PWM サイクルの終了時に新しい設定値が 有効になり , BS ビットは自動的にクリアされます。 また , BS ビットへの "1" 書込みと , PWM サイクル終了時の BS ビットのリセットが同 時に行われた場合は, "1"書込みが優先され, BSビットリセットはキャンセルされます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 377 第 17 章 ステッパモータコントローラ 17.4 ステッパモータコントローラの使用上の注意 378 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 18 章 サウンドジェネレータ サウンドジェネレータの概要 , レジスタの構成 / 機 能および動作について説明します。 CM71-10142-5 18.1 サウンドジェネレータの概要 18.2 サウンドジェネレータのレジスタ FUJITSU SEMICONDUCTOR LIMITED 379 第 18 章 サウンドジェネレータ 18.1 サウンドジェネレータの概要 18.1 MB91220 シリーズ サウンドジェネレータの概要 サウンドジェネレータの概要とブロックダイヤグラムを示します。 ■ サウンドジェネレータの構成 サウンドジェネレータは , 以下のレジスタおよびカウンタで構成されています。 • サウンドコントロールレジスタ • 周波数データレジスタ • 振幅データレジスタ • デクリメントグレードレジスタ • トーンカウントレジスタ • サウンド禁止レジスタ • PWM パルス生成器 • 周波数カウンタ • 減分カウンタ • トーンパルスカウンタ ■ サウンドジェネレータのブロックダイヤグラム 図 18.1-1 に , サウンドジェネレータのブロックダイヤグラムを示します。 図 18.1-1 サウンドジェネレータのブロックダイヤグラム 周辺クロック (CLKP) セレクタ プリスケーラ リロード値 リロード値 アンダフロー PWMパルス発生器 リロード値 アンダフロー 周波数カウンタ リロード値 アンダフロー デクリメントカウンタ アンダフロー トーンパルスカウンタ 割込み信号 ラッチ 混合 サウンド出力(SGO) 振幅出力(SGA) 380 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ 18.2 サウンドジェネレータのレジスタ サウンドジェネレータのレジスタの機能について説明します。 ■ サウンドジェネレータのレジスタ一覧 図 18.2-1 に , サウンドジェネレータのレジスタ一覧を示します。 図 18.2-1 サウンドジェネレータのレジスタ一覧 SGCR ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000082H 00008AH 000092H 予約 − − − − − BUSY DEC 0-----00B R/W0 R1,WX R1,WX R1,WX R1,WX R1,WX R,WX R/W SGCR ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000083H 00008BH 000093H S1 S0 TONE − − INTE INT ST 00000000B R/W R/W R/W R/W0 R/W0 R/W R(RM1),W R/W SGAR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000084H 00008CH 000094H D7 D6 D5 D4 D3 D2 D1 D0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W SGFR ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000085H 00008DH 000095H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W SGTR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000086H 00008EH 000096H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W SGDR ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000087H 00008FH 000097H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 381 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ ( 続き ) SGDBL ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000081H 000089H 000091H − − − − − − − DBL -------0B R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX R/W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 382 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ 18.2.1 サウンドコントロールレジスタ サウンドコントロールレジスタの機能について説明します。 ■ サウンドコントロールレジスタのビット構成 図 18.2-2 に , サウンドコントロールレジスタのビット構成を示します。 図 18.2-2 サウンドコントロールレジスタのビット構成 SGCR ( 上位 )( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000082H 00008AH 000092H 予約 − − − − − BUSY DEC 0-----00B R/W0 R1,WX R1,WX R1,WX R1,WX R1,WX R,WX R/W SGCR ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000083H 00008BH 000093H S1 S0 TONE − − INTE INT ST 00000000B R/W R/W R/W R/W0 R/W0 R/W R(RM1),W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 以下に , サウンドコントロールレジスタの各ビットの機能を説明します。 [bit15] 予約 必ず "0" を書いてください。 [bit9] BUSY : ビジービット このビットは , サウンドジェネレータが動作中であるかどうかを示します。ST ビッ トを "1" に設定すると , このビットも "1" に設定されます。ST ビットを "0" にリセッ トし , 1 トーンサイクル終了時に動作が完了すると , このビットは "0" にリセットさ れます。このビットに対して出されるすべての書込み命令は無効となります。 [bit8] DEC : 自動デクリメント許可ビット DEC ビットは , デクリメントグレードレジスタとともに , サウンドの自動デクリメ ント用に設計されています。このビットを "1" に設定すると , デクリメントグレー ドレジスタが指定したトグルフリップフロップからのトーンパルス数を減分カウ ンタがカウントするごとに , 振幅データレジスタに記憶されている値は 1 つずつデ クリメントされます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 383 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ [bit7, bit6] S1, S0 : 動作クロック選択ビット これらのビットは , サウンドジェネレータ用のクロック入力信号を指定します。表 18.2-1 に , クロック入力信号の設定内容を示します。 表 18.2-1 クロック入力信号の設定内容 S1 S0 0 0 周辺クロック 0 1 1/2 周辺クロック 1 0 1/4 周辺クロック 1 1 1/8 周辺クロック クロック入力 [bit5] TONE : トーン出力ビット このビットを "1" に設定すると , SGO 信号はトグルフリップフロップからの単純方 形波形 ( トーンパルス ) になります。"1" 以外を設定した場合は , トーンパルスと PWM パルスの混合 ( 論理積 ) 信号になります。 [bit4, bit3] 予約 必ず "0" を書いてください。 [bit2] INTE : 割込み許可ビット このビットは , サウンドジェネレータの割込み信号を許可します。このビットが "1" で , INT ビットも "1" に設定されると , サウンドジェネレータは割込み信号を出力し ます。 [bit1] INT : 割込みビット トーンパルスカウンタが , トーンカウントレジスタおよびデクリメントグレードレ ジスタに指定したトーンパルス数をカウントすると , このビットは "1" に設定され ます。 このビットは , "0" を書き込むと "0" にリセットされます。"1" を書き込んでも無効 となります。リードモディファイライト (RMW) 系命令では , 常に "1" を読み出しま す。 [bit0] ST : スタートビット このビットは , サウンドジェネレータの動作開始用です。このビットが "1" である 間は , サウンドジェネレータは動作しています。 このビットを "0" にリセットすると , サウンドジェネレータは現行のトーンサイク ル終了時に動作を停止します。BUSY ビットは , サウンドジェネレータが完全に停 止したかどうかを示します。 384 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ 18.2.2 振幅データレジスタ 振幅データレジスタの機能について説明します。 ■ 振幅データレジスタのビット構成 図 18.2-3 に , 振幅データレジスタのビット構成を示します。 図 18.2-3 振幅データレジスタのビット構成 SGAR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000084H 00008CH 000094H D7 D6 D5 D4 D3 D2 D1 D0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 振幅データレジスタは , PWM パルスジェネレータのリロード値を記憶します。 レジスタ値はサウンドの振幅を表し , 各トーンサイクル終了時 , PWM パルスジェネ レータにリロードされます。 SGCR レジスタの DEC ビットが "1" で , 減分カウンタがリロード値に達すると , このレ ジスタ値は 1 つずつデクリメントされます。レジスタ値が "00H" になると , それ以上の デクリメントはしません。ただし , サウンドジェネレータは , ST ビットがクリアされ るまで動作し続けます。図 18.2-4 に , レジスタ値と PWM パルスの関係を示します。 図 18.2-4 レジスタ値と PWM パルスの関係 1 PWMサイクル 256入力クロックサイクル レジスタ値 00H 1 入力クロックサイクル 80 H 129 入力クロックサイクル FEH 255 入力クロックサイクル FFH 256 入力クロックサイクル (注意事項)レジスタ値が"FFH"に設定されると,PWM信号は常に"1"となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 385 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ 周波数データレジスタ 18.2.3 周波数データレジスタの機能について説明します。 ■ 周波数データレジスタのビット構成 図 18.2-5 に , 周波数データレジスタのビット構成を示します。 図 18.2-5 周波数データレジスタのビット構成 SGFR ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000085H 00008DH 000095H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 周波数データレジスタは , 周波数カウンタのリロード値を格納します。 格納された値は , サウンド ( またはトグルフリップフロップからのトーン信号 ) の周波 数を表します。レジスタ値は , トグル信号が遷移するたびにカウンタにリロードされま す。 図 18.2-6 に , トーン信号とレジスタ値の関係を示します。 図 18.2-6 トーン信号とレジスタの関係 1 トーンサイクル トーン信号 (レジスタ値+1)× (レジスタ値+1)× 1 PWMサイクル 1 PWMサイクル <注意事項> 動作中にレジスタ値を修正すると, 修正のタイミングによってデューティサイクルの50% が変更されることもありますので , 注意してください。 386 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ 18.2.4 トーンカウントレジスタ トーンカウントレジスタの機能について説明します。 ■ トーンカウントレジスタのビット構成 図 18.2-7 に , トーンカウントレジスタのビット構成を示します。 図 18.2-7 トーンカウントレジスタのビット構成 SGTR ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000086H 00008EH 000096H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) トーンカウントレジスタは , トーンパルスカウンタのリロード値を格納します。トーン パルスカウンタにはトーンパルス数 ( またはデクリメント動作数 ) が累積され , リロー ド値になると SGCR レジスタの INT ビットを設定します。これらは , 割込みの頻度を 減少させるよう設計されています。 トーンパルスカウンタのカウント入力は , 減分カウンタからのキャリアウト信号と接 続されています。トーンカウントレジスタに "00H" が設定されると , トーンパルスカウ ンタは , 減分カウンタからのキャリアウト信号ごとに SGCR レジスタの INT ビットを 設定します。累積トーンパルス数は次式で表されます。 ( デクリメントグレードレジスタ値 +1) × ( トーンカウントレジスタ値 +1) すなわち , 両レジスタが "00H" に設定されると , トーンサイクルごとに SGCR レジスタ の INT ビットが設定されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 387 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ 18.2.5 MB91220 シリーズ デクリメントグレードレジスタ デクリメントグレードレジスタの機能について説明します。 ■ デクリメントグレードレジスタの機能 図 18.2-8 に , デクリメントグレードレジスタのビット構成を示します。 図 18.2-8 デクリメントグレードレジスタのビット構成 SGDR ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000087H 00008FH 000097H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) デクリメントグレードレジスタは , 減分カウンタのリロード値を格納します。 この機能は , 振幅データレジスタに記憶した値を自動的にデクリメントするよう設計 されています。 SGCR レジスタの DEC ビットが "1" で , 減分カウンタがトーンパルス数をリロード値 までカウントすると , 振幅データレジスタに記憶された値は , トーンサイクル終了時に 1 つずつデクリメントされます。 この動作によって , より少ない CPU 介入でサウンドの自動デクリメントができるよう になります。 このレジスタが指定したトーンパルス数は , 「レジスタ値 +1」であることに注意して ください。デクリメントグレードレジスタが "00H" に設定されると , デクリメント動作 はトーンサイクルごとに行われます。 388 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ MB91220 シリーズ 18.2.6 サウンド禁止レジスタ サウンド禁止レジスタのビット構成を示します。 ■ サウンド禁止レジスタの機能 図 18.2-9 に , サウンド禁止レジスタのビット構成を示します。 図 18.2-9 サウンド禁止レジスタのビット構成 SGDBL ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000081H 000089H 000091H − − − − − − − DBL -------0B R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX R/W0 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit0] DBL : サウンドジェネレータクロック制御ビット このビットは , サウンドジェネレータのクロックを制御するために使用します。 このビットに "1" を書き込むと , サウンドジェネレータモジュールのクロックは使 用不可となります。"0" を設定すると , クロックがサウンドジェネレータモジュール に供給されます。 このビットは, リセット時に"0"に初期化されます。読出しおよび書込みが可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 389 第 18 章 サウンドジェネレータ 18.2 サウンドジェネレータのレジスタ 390 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 19 章 リアルタイムクロック リアルタイムクロックの概要 , レジスタの構成 / 機 能および動作について説明します。 CM71-10142-5 19.1 リアルタイムクロックの概要 19.2 リアルタイムクロックのレジスタ 19.3 リアルタイムクロックの動作説明 FUJITSU SEMICONDUCTOR LIMITED 391 第 19 章 リアルタイムクロック 19.1 リアルタイムクロックの概要 19.1 MB91220 シリーズ リアルタイムクロックの概要 リアルタイムクロックの概要とブロックダイヤグラムを示します。 ■ リアルタイムクロックの概要 リアルタイムクロック ( ウォッチタイマ ) は , 以下のレジスタおよびカウンタなどで構 成されています。 • タイマ制御レジスタ • サブセカンドレジスタ • 秒 / 分 / 時間レジスタ • 1/2 クロック分周器 • 21 ビットプリスケーラ • 秒 / 分 / 時間カウンタ ■ リアルタイムクロックのブロックダイヤグラム 図 19.1-1 リアルタイムクロックのブロックダイヤグラム 発振 クロック 21ビット プリスケーラ 1/2クロック 分周器 CO EN サブセカンド レジスタ UPDT ST 秒カウンタ CI EN LOAD CO 分カウンタ 時間カウンタ CO 6ビット 6ビット CO 5ビット 秒/分/時間レジスタ INTE0 INT0 INTE1 INT1 INTE2 INT2 INTE3 INT3 IRQ 発振クロックは , OSCCR レジスタの RTCSRC ビットにより RTC へのソースクロック としてメインクロック (4MHz) またはサブクロック (32kHz) を選択することが可能で す。詳細は「3.12.7 クロック生成制御部のレジスタ詳細説明 ■ OSCCR: 発振制御レジ スタ」を参照してください。 392 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ MB91220 シリーズ 19.2 リアルタイムクロックのレジスタ リアルタイムクロックのレジスタの機能について説明します。 ■ リアルタイムクロックのレジスタ一覧 図 19.2-1 に , リアルタイムクロックのレジスタ一覧を示します。 図 19.2-1 リアルタイムクロックのレジスタ一覧 クロック禁止レジスタ (WTDBL) ( アクセス:Byte) アドレス 00000145H bit7 − RX,WX bit6 bit5 bit4 bit3 − − − − RX,WX RX,WX RX,WX RX,WX bit2 bit1 − − RX,WX RX,WX bit0 初期値 DBL -------0B R/W タイマ制御レジスタ (WTCR) ( アクセス:Byte, Half-word) アドレス 00000146H アドレス 00000147H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 INTE3 INT3 INTE2 INT2 INTE1 INT1 INTE0 INT0 00000000B R/W R(RM1),W R/W R(RM1),W R/W R(RM1),W R/W R(RM1),W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 予約 R/W0 予約 R/W0 予約 R/W0 − R1,WX RUN UPDT ST 000-0000B R,WX R(RM0),W − R/W0 R/W サブセカンドレジスタ (WTBR) ( アクセス:Byte) アドレス 00000149H アドレス 0000014AH アドレス 0000014BH bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 初期値 D20 D19 D18 D17 D16 ---XXXXXB − R1,WX − R1,WX − R1,WX R/W R/W R/W R/W R/W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXXB D15 D14 D13 D12 D11 D10 D9 D8 R/W R/W R/W R/W R/W R/W R/W R/W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 XXXXXXXXB D7 D6 D5 D4 D3 D2 D1 D0 R/W R/W R/W R/W R/W R/W R/W R/W 秒レジスタ (WTSR) ( アクセス:Byte) アドレス 0000014EH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 − R1,WX − R1,WX S5 S4 S3 S2 S1 S0 --000000B R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 393 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ MB91220 シリーズ ( 続き ) 分レジスタ (WTMR) ( アクセス:Byte, Half-word) アドレス 0000014DH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R1,WX − R1,WX M5 M4 M3 M2 M1 M0 --000000B R/W R/W R/W R/W R/W R/W bit10 bit9 bit8 時間レジスタ (WTHR) ( アクセス:Byte, Half-word) アドレス 0000014CH bit15 bit14 bit13 bit12 bit11 − R1,WX − R1,WX − R1,WX H4 H3 H2 H1 H0 R/W R/W R/W R/W R/W 初期値 ---00000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ■ クロック禁止レジスタ (WTDBL) 図 19.2-2 クロック禁止レジスタ (WTDBL) のビット構成 クロック禁止レジスタ (WTDBL) ( アクセス:Byte) アドレス 00000145H bit7 − RX,WX bit6 bit5 bit4 bit3 − − − − RX,WX RX,WX RX,WX RX,WX bit2 bit1 − − RX,WX RX,WX bit0 初期値 DBL -------0B R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit0] DBL : クロック禁止 本ビットを "1" に設定すると , RTC モジュールのクロックは禁止されます。通常の 動作のためには , このビットを "0" に設定してください。本ビットは "0" に初期化 されます。読出しおよび書込みが可能です。 394 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ MB91220 シリーズ ■ タイマ制御レジスタ (WTCR) 図 19.2-3 タイマ制御レジスタ (WTCR) のビット構成 タイマ制御レジスタ (WTCR) ( アクセス:Byte, Half-word) アドレス 00000146H アドレス 00000147H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 INTE3 INT3 INTE2 INT2 INTE1 INT1 INTE0 INT0 00000000B R/W R(RM1),W R/W R(RM1),W R/W R(RM1),W R/W R(RM1),W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 予約 R/W0 予約 R/W0 予約 R/W0 − R1,WX RUN UPDT ST 000-0000B R,WX R(RM0),W − R/W0 R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15 ∼ bit8] INT3 ∼ INT0, INTE3 ∼ INTE0 : 割込みフラグおよび割込み許可フラグ INT0 から INT3 までは割込みフラグです。 このフラグはプリスケーラがアンダフローした場合 , もしくは秒カウンタ , 分カウン タおよび時間カウンタがそれぞれオーバフローした場合に設定されます。対応する INTE ビットが "1" の場合に INT ビットの設定を行うと , ウォッチタイマは割込み信 号を出します。本フラグは , 秒 / 分 / 時間の単位で割込み信号を出すように設計され ています。INT ビットに "0" を書き込むとフラグはクリアされ , "1" の書込みは無効 です。INT ビットで動作するリードモディファイライト (RMW) 系命令はすべて "1" を読み出します。 INT0 : プリスケーラアンダフロー (1 秒間割込み ) INT1 : 秒カウンタアンダフロー (1 分間割込み ) INT2 : 分カウンタアンダフロー (1 時間割込み ) INT3 : 時カウンタアンダフロー (1 日 /24 時間割込み ) [bit7 ∼ bit5] 予約 必ず "0" を書き込んでください。 [bit4] 未定義 常に "1" が読み出されます。書込みは動作に影響ありません。 [bit3] RUN : フラグ 本ビットは読出しのみ可能です。読出し値が "1" の場合 , RTC モジュールが動作中 であることを示しています。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 395 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ MB91220 シリーズ [bit2] UPDT : 更新ビット UPDT ビットは , 秒 / 分 / 時間カウンタ値の修正用です。 カウンタ値を修正するには , 秒 / 分 / 時間レジスタに修正データを書き込みます。次 に UPDT ビットを "1" に設定します。レジスタ値は , 21 ビットプリスケーラからの CO 信号で ( 書き込んだ ), 次のサイクルでカウンタにロードされます。UPDT ビッ トは , カウンタ値が更新されるとハードウェアによりリセットされます。ただし , ソフトウェアによる設定動作とハードウェアによるリセット動作が同時に発生し た場合 , UPDT ビットはリセットされません。 UPDT ビットへの "0" の書込みは無効です。リードモディファイライト (RMW) 系命 令では , "0" は読出し値です。 [bit1] 予約 必ず "0" を書き込んでください。 [bit0] ST : スタートビット ST ビットを "1" に設定すると , ウォッチタイマはレジスタから秒 / 分 / 時間値をロー ドし , 動作を開始します。"0" にリセットした場合 , カウンタおよびプリスケーラは すべて "0" にリセットされ停止します。 本ビットは , カウンタ値の更新にも使用できます。ST ビットを "0" に設定し , RUN が "0" になるまで待ってからカウンタ値を更新して , ST ビットを "1" に設定します。 <注意事項> 初期設定の方法については 「19.3 リアルタイムクロックの動作説明」を参照してくださ い。 カウンタ値の変更を行う場合には ST ビットを使用することをお勧めします。 UPDT ビットによるカウンタ値の変更後 , クロック禁止レジスタ (WTDBL) によるクロッ クの停止を行う際には , 時間・分・秒レジスタの読出しを行い , 設定が反映されているこ とを確認した後にクロックの停止を行ってください。 396 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ MB91220 シリーズ ■ サブセカンドレジスタ (WTBR) 図 19.2-4 サブセカンドレジスタ (WTBR) のビット構成 サブセカンドレジスタ (WTBR) ( アクセス:Byte) アドレス 00000149H アドレス 0000014AH bit23 bit22 bit21 bit20 bit19 bit18 bit17 bit16 初期値 − R1,WX − R1,WX − R1,WX D20 D19 D18 D17 D16 ---XXXXXB R/W R/W R/W R/W R/W bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 XXXXXXXXB D15 D14 D13 D12 D11 D10 D9 D8 R/W R/W R/W R/W R/W R/W R/W R/W アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000014BH D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit20 ∼ bit0] D20 ∼ D0 : リロードデータ サブセカンドレジスタは , 21 ビットプリスケーラのリロード値を格納します。この 値は , リロードカウンタが "0" になるとリロードされます。3 バイトすべてを修正す る場合は , 書込み命令間にリロード動作が行われていないことを確認してくださ い。そうしないと , 21 ビットプリスケーラは , 新旧のデータバイトを結合した正し くない値をロードしてしまいます。一般的には , サブセカンドレジスタは , ST ビッ トが "0" の間に更新することが推奨されています。サブセカンドレジスタを "0" に 設定した場合 , 21 ビットプリスケーラは一切動作しません。 表 19.2-1 サブセカンドレジスタ設定表 WTBR レジスタ値 時間 CM71-10142-5 f =4MHz f= 32kHz 0.5μs 0 − 1μs 1 − 10μs 19 − 100μs 199 − 1ms 1999 15 10ms 19999 159 100ms 199999 1599 500ms 999999 7999 1s 1999999 15999 1.04s 2097151 16776.2 10s − 159999 50s − 799999 65.5s − 1047999 FUJITSU SEMICONDUCTOR LIMITED 397 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ MB91220 シリーズ ■ 秒レジスタ (WTSR) 図 19.2-5 秒レジスタ (WTSR) のビット構成 秒レジスタ (WTSR) ( アクセス:Byte) アドレス 0000014EH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 − R1,WX − R1,WX S5 S4 S3 S2 S1 S0 --000000B R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 詳細説明は「■時間レジスタ (WTHR)」を参照してください。 ■ 分レジスタ (WTMR) 図 19.2-6 分レジスタ (WTMR) のビット構成 分レジスタ (WTMR) ( アクセス:Byte, Half-word) アドレス 0000014DH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 − R1,WX − R1,WX M5 M4 M3 M2 M1 M0 --000000B R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 詳細説明は「■時間レジスタ (WTHR)」を参照してください。 ■ 時間レジスタ (WTHR) 図 19.2-7 時間レジスタ (WTHR) のビット構成 時間レジスタ (WTHR) ( アクセス:Byte, Half-word) アドレス 0000014CH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 − R1,WX − R1,WX − R1,WX H4 H3 H2 H1 H0 R/W R/W R/W R/W R/W 初期値 ---00000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 秒 / 分 / 時間レジスタは , 時間情報を格納します。 時間情報は , 秒 , 分 , および時間の 2 進表記です。 本レジスタを読み出すと , カウンタ値が読み出せます。レジスタは書込み値と結合でき ますが , その書込みデータは UPDT ビットを "1" に設定した後に , カウンタにロードさ れます。 ワードアクセスはできません。レジスタごとにアクセスしてください。バイトレジス タは 3 つあるので , レジスタから出力された値に矛盾がないことを確認してください。 すなわち , 出力値「1 時間 , 59 分 , 59 秒」は , 「0 時間 , 59 分 , 59 秒」, 「1 時間 , 0 分 , 0 秒」, または「2 時間 , 0 分 , 0 秒」である可能性があります。 また , MCU の動作クロックが発振クロックの半分の場合 (PLL が停止している場合 ), 本 レジスタからの読出し値は破損していることがあります。これは , 読出し動作とカウン ト動作の同期調整のために起こります。したがって , 読出し命令のトリガには , 秒割込 みを使用することを推奨します。 398 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 第 19 章 リアルタイムクロック 19.2 リアルタイムクロックのレジスタ <注意事項> このモジュールでは , 発振器に直結された RTC クロックに比べて , 周辺クロック (CLKP) が遅くないことを想定しています。該当しない場合は , レジスタにアクセスすると , 未定 義の値が読み出されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 399 第 19 章 リアルタイムクロック 19.3 リアルタイムクロックの動作説明 19.3 MB91220 シリーズ リアルタイムクロックの動作説明 リアルタイムクロックの動作を説明します。 ■ リアルタイムクロックの動作説明 RTC 起動の際には , 以下の設定を行う必要があります。 1) WTDBL bit0 に "0" を書き込みます。 2) WTCR bit0, ST(Start)ビットに"1"を書き込み, その後STビットに"0"を書き込みます。 3) WTBR に初期値 ( 任意の値 ) を書き込みます。 4) WTHR, WTMR, WTSR の各レジスタに初期値 ( 任意の値 ) を書き込みます。 5) WTCR レジスタ内 INT0 ∼ INT3 ビットに "0" を書き込み , 割込みフラグを初期化し てください。 6) WTCR レジスタ内 , INTE0 ∼ INTE3 の設定を行ってください。 割込み通知を有効にする場合は , 本設定を行ってください。 7) WTCR ST ビットに "1" を書き込み , RTC の動作を開始してください。 <注意事項> RTC の内部レジスタへのアクセスが必要な場合には , WTDBL bit0 に "0" を書き込んだ後 にアクセスを行ってください。WTDBL bit0 が "1" の状態でアクセスを行うと , 読出し時 には不定な値が読み出され , 書込み時には書き込んだ値がレジスタに反映されません。 RTC を停止することにより , 内部レジスタの設定が初期化されます。そのため , 再起動を 行う際には必要となるレジスタ設定を行った後に , WTCR:ST ビットを "1" に設定してく ださい。 RTC のカウンタは , 通常 INITX/ ソフトウェアリセットでクリアされますが , 時分秒のレジ スタはクリアされず , 値が保持されます。 動作開始時にレジスタ値をクリアする場合は , 書 込みにて初期値を設定してください。 メインクロック RTC 動作をご使用の場合は , ストップモードへ遷移させる前にクロッ クソースを原発振入力の 1/2 に設定し , PLL を停止させ , さらに基本クロック分周レジ スタ 0, 1(DIVR0, DIVR1) により , CPU クロック (CLKB), 周辺クロック (CLKP), 外部バ スクロック (CLKT) の各クロックを 8 分周以上の分周比に設定してから , ストップモー ドへ遷移させてください。また , スリープモードへ遷移させる際 , クロックによる制約 はありません。 400 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART LIN-UART の概要 , レジスタの構成 / 機能および動 作について説明します。 20.1 LIN-UART の概要 20.2 LIN-UART のレジスタ一覧 20.3 インプットキャプチャによるボーレート検出 20.4 LIN-UART の動作 20.5 UART 割込み 20.6 LIN-UART のクロック同期 20.7 フラグセットのタイミング 20.8 LIN-UART の特別仕様 20.9 LIN 通信動作 20.10 UART からの変更点 20.11 LIN-UART の制限事項 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 401 第 20 章 LIN-UART 20.1 LIN-UART の概要 MB91220 シリーズ LIN-UART の概要 20.1 LIN-UART の概要およびブロックダイヤグラムを説明します。 ■ LIN-UART の概要 LIN(Local Interconnect Network)-UART は , 外部装置と非同期通信 , 同期通信をするため の汎用シリアルデータ通信インタフェースです。双方向通信機能 ( ノーマルモード ), マスタ / スレーブ型通信機能 ( マルチプロセッサモード ), LIN バスシステム ( マスタ / スレーブ動作 ) があります。 LIN-UART は通常の UART と類似していますが , ソフトウェアの互換性はありません。 表 20.1-1 UART の機能 項目 機能 データバッファ 全二重バッファ シリアル入力 5 回オーバサンプリング ( 非同期モードのみ ) 転送モード • クロック同期通信 ( スタート / ストップ同期 , スタートストップビット選択 ) • クロック非同期 ( スタート , ストップビット使用 ) ボーレート • 専用ボーレートジェネレータ (15 ビットリロードカウンタにより構成 ) • 外部クロック入力可能。また , リロードカウンタで調節可能 データ長 • 7 ビット ( 同期または LIN モード以外 ) • 8 ビット 信号 NRZ(Non Return to Zero), RZ(Return to Zero) 方式 スタートビット タイミング 非同期モード時は , スタートビット立下りエッジに同期 受信エラー検出 • フレーミングエラー • オーバランエラー • パリティエラー 割込み要求 • • • • 受信割込み ( 受信完了 , 受信エラー検出 ) 送信割込み ( 送信完了 ) バスアイドル割込み LIN synch field 検出割込み マスタ / スレーブ型 通信機能 ( マルチプ ロセッサモード ) 1( マスタ ) 対 N( スレーブ ) 間の通信可能 ( マスタ / スレーブシステムの両方をサポート ) 同期モード マスタまたはスレーブ機能 端子アクセス シリアル入出力端子の状態を直接読出し可能 LIN バス オプション • • • • • 同期シリアル クロック 402 マスタデバイス動作 スレーブデバイス動作 LIN Synch break 生成 LIN Synch break 検出 キャプチャに接続している LIN Synch field のスタート / ストップエッジ検出 スタート / ストップビットで同期通信するために , SCK 端子に連続出力可能 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.1 LIN-UART の概要 MB91220 シリーズ ■ LIN-UART のブロックダイヤグラム 図 20.1-1 LIN-UART のブロックダイヤグラム (OTO), EXT, REST) CLK PE ORE FRE TIE RIE LBIE LBD BIE RBI TBI 送信クロックTRCK リロード カウンタ 受信クロックRSCK 割込み 発生回路 送信制御 送信制御 SCK 端子 スタート ビット検知 送信開始回路 受信IRQ SEDGE SIN IN 端子 (from ECCR) 受信ビット カウンタ 送信ビット カウンタ 受信パリティ カウンタ 送信パリティ カウンタ TDRE 送信IRQ SOT オーバ サンプリング ユニット 端子 INV RDRF 受信完了 SCU SIN LSYN (to ICU) LINブレーク, Synch Field 検知回路 SIN 受信シフト レジスタ 送信シフト レジスタ LINブレーク 発生 送信開始 バス アイドル 検知回路 エラー 検知 STR (to El2OS) RE ORE FRE RDR LBR LBL1 LBLD TDR RBI LB TBI 内部データバス PE ORE FRE RDRF TDRE BDS RIE TIE SSR レジスタ CM71-10142-5 MD1 MD0 OTO EXT REST UPCL SCKE SOE SMR レジスタ PEN P SBL CL AD CRW RXE TXE SCR レジスタ LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES ESCR レジスタ FUJITSU SEMICONDUCTOR LIMITED INV LBR MS 予約ビット SSM BIE RBI TBI ECCR レジスタ 403 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 20.2 MB91220 シリーズ LIN-UART のレジスタ一覧 LIN-UART のレジスタの機能について説明します。 ■ LIN-UART のレジスタ一覧 MB91220 シリーズは , "LIN-UART0 ∼ LIN-UART3" の 4 つの LIN-UART から構成され ており , LIN-UART0 は SIN0, SCK0, SOT0 端子 , LIN-UART1 は SIN3, SCK3, SOT3 端子 , LIN-UART2 は SIN4, SCK4, SOT4 端子 , LIN-UART3 は SIN5, SCK5, SOT5 端子に接続さ れています。 LIN-UART は , 以下のレジスタで構成されています。 LIN-UART0 アドレス 0000C8H +0 +1 SCR0 ( シリアル制御レジスタ ) SMR0 ( シリアルモードレジスタ ) 0000CAH SSR0 ( シリアルステータスレジスタ ) RDR0/TDR0 ( 受信データ / 送信データレジスタ ) 0000CCH ESCR0( 拡張ステータス制御レジスタ ) ECCR0 ( 拡張通信制御レジスタ ) 0000CEH BGR10 ( ボーレートジェネレータレジスタ 1) BGR00 ( ボーレートジェネレータレジスタ 0) +0 +1 SCR3 ( シリアル制御レジスタ ) SMR3 ( シリアルモードレジスタ ) 0000B2H SSR3 ( シリアルステータスレジスタ ) RDR3/TDR3 ( 受信データ / 送信データレジスタ ) 0000B4H ESCR3 ( 拡張ステータス制御レジスタ ) ECCR3 ( 拡張通信制御レジスタ ) 0000B6H BGR13 ( ボーレートジェネレータレジスタ 1) BGR03 ( ボーレートジェネレータレジスタ 0) +0 +1 SCR4 ( シリアル制御レジスタ ) SMR4( シリアルモードレジスタ ) 0000BAH SSR4 ( シリアルステータスレジスタ ) RDR4/TDR4 ( 受信データ / 送信データレジスタ ) 0000BCH ESCR4 ( 拡張ステータス制御レジスタ ) ECCR4 ( 拡張通信制御レジスタ ) 0000BEH BGR14 ( ボーレートジェネレータレジスタ 1) BGR04 ( ボーレートジェネレータレジスタ 0) +0 +1 SCR5 ( シリアル制御レジスタ ) SMR5 ( シリアルモードレジスタ ) 0000C2H SSR5 ( シリアルステータスレジスタ ) RDR5/TDR5 ( 受信データ / 送信データレジスタ ) 0000C4H ESCR5( 拡張ステータス制御レジスタ ) ECCR5( 拡張通信制御レジスタ ) 0000C6H BGR15 ( ボーレートジェネレータレジスタ 1) BGR05 ( ボーレートジェネレータレジスタ 0) LIN-UART1 アドレス 0000B0H LIN-UART2 アドレス 0000B8H LIN-UART3 アドレス 0000C0H 404 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ ■ シリアル制御レジスタ (SCR) 図 20.2-1 シリアル制御レジスタ (SCR) のビット構成 SCR ( アクセス:Byte,Half-word,Word) 初期値 00000000 B アドレス: bit 15 14 13 12 11 10 9 8 ch.0:0000C8H ch.3:0000B0H ch.4:0000B8H ch.5:0000C0H R/W R/W R/W R/W R/W R0,W R/W R/W bit8 TXE 0 1 送信不可 送信可 bit9 RXE 0 1 受信不可 受信可 送信許可 受信許可 bit10 CRE*1 0 1 受信エラーフラグビットのクリア 書込み時 読出し時 無効 すべてのエラーフラグの クリア(PE,FRE, OE) 常に”0” bit11 AD アドレス/データ選択 読出し時 書込み時 RMW読出し時 0 受信データ ビット 送信データ 送信データ ビットの書込み ビットの読出し 1 受信アドレス 送信アドレス 送信アドレス ビット ビットの書込み ビットの読出し bit12 データ長選択(データフレーム) CL*2 7ビット 0 8ビット 1 bit13 ストップビット長選択 SBL*3 1ストップビット 0 1 2ストップビット bit14 パリティ選択 P 0 偶数パリティ選択 1 奇数パリティ選択 : 初期値 bit15 パリティ許可 PEN*4 パリティ無効 0 パリティ有効 1 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) *1: 受信動作禁止 (RXE=0) 後に受信エラーフラグをクリアしてください。 本ビットへ "1" を書き込むと , その時点でいったん受信動作を停止し , 即 , 再開さ れます。そのため , 受信動作を禁止しておかなければ , 正常なデータを受信できな くなる可能性があります。 *2: モード 2 とモード 3(LIN モード ) では , データ長 8 ビットに固定されますので , こ れらのモード時に "0" を書き込んでも動作に影響を与えません。 *3: モード 3(LIN モード ) では , ストップビット長 1 ビットに固定されますので , この モード時に "1" を書き込んでも動作に影響を与えません。 *4: パリティビットは , モード 0 または拡張通信制御レジスタ (ECCR) のスタート / ス トップ許可ビット (SSM) が有効でモード 2 のときに付加されます。その他の設定 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 405 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ の場合 , 本ビットに "1" を設定しても動作に影響を与えません。 ■ シリアルモードレジスタ (SMR) 図 20.2-2 シリアルモードレジスタ (SMR) のビット構成 SMR ( アクセス:Byte,Half-word,Word) 6 5 4 3 2 1 0 アドレス: bit 7 ch.0:0000C9H ch.3:0000B1H ch.4:0000B9H ch.5:0000C1H R/W R/W R/W R/W R0,W R0,WR/W R/W 初期値 00000000 B bit0 SOE 0 1 シリアルデータ出力許可 SOT3端子無効 (Hi-Z) SOT3端子有効(Txデータ) bit1 シリアルクロック出力許可 SCKE 外部シリアルクロック入力 0 内部シリアルクロック出力 1 bit2 UPCL 0 1 UARTプログラムクリア(ソフトウェアリセット) 書込み時 読出し時 無効 常に”0” UARTをリセット bit3 通信再開リロードカウンタ 書込み時 読出し時 REST 0 1 bit4 EXT 0 1 : 初期値 無効 カウンタ再スタート 常に”0” 外部シリアルクロック選択 内部ボーレート発生器の使用(リロードカウンタ) 外部シリアルクロックの使用 bit5 OTO 0 1 外部クロックの使用 bit6 MD0 0 1 0 1 bit7 MD1 0 0 1 1 直接外部クロック選択 ボーレート発生器と共に外部クロックの使用(リロードカウンタ) 動作モード選択 モード0 : 非同期通常モード モード1 : 非同期マルチプロセッサモード モード2 : 同期モード モード3 : 非同期LINモード ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 406 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ ■ シリアルステータスレジスタ (SSR) 図 20.2-3 シリアルステータスレジスタ (SSR) のビット構成 SSR ( アクセス:Byte,Half-word,Word) 8 アドレス: bit 15 14 13 12 11 10 9 ch.0:0000CAH ch.3:0000B2H ch.4:0000BAH ch.5:0000C2H R,WX R,WX R,WX R,WX R,WX R/W R/W R/W : 初期値 初期値 00001000 B bit8 TIE 0 1 送信割込み要求許可 送信割込み要求無効 送信割込み要求有効 bit9 RIE 0 1 受信割込み要求許可 受信割込み要求無効 受信割込み要求有効 bit10 BDS* 0 1 転送方向選択 LSBからデータ転送 MSBからデータ転送 bit11 TDRE 0 1 送信データエンプティ 送信データレジスタがフル 送信データレジスタが空 bit12 RDRF 0 1 受信データフル 受信データレジスタが空 受信データレジスタがフル bit13 FRE 0 1 フレーミング・エラーなし 受信中にフレーミング・エラー発生 bit14 ORE 0 1 オーバラン・エラーなし 受信中にオーバラン・エラー発生 bit15 PE 0 1 フレーミング・エラー オーバラン・エラー パリティ・エラー パリティ・エラーなし 受信中にパリティ・エラー発生 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) *: モード 3 (LIN モード ) では , BDS ビットは "0" に固定されるので , このモードで "1" を書き込んでも動作に影響を与えません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 407 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ ■ 受信データレジスタ (RDR) と送信データレジスタ (TDR) 図 20.2-4 受信データレジスタ (RDR) と送信データレジスタ (TDR) のビット構成 RDR/TDR( アクセス:Byte,Half-word,Word) 6 5 4 3 2 1 0 アドレス: bit 7 初期値 ch.0:0000CBH RDR: 00000000 B ch.3:0000B3H TDR : 11111111 B ch.4:0000BBH ch.5:0000C3H R,W R,W R,W R,W R,W R,W R,W R,W RDR/TDR リード ライト データレジスタ 受信データレジスタからの読出し 受信データレジスタへの書込み ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 408 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ ■ 拡張ステータス制御レジスタ (ESCR) 図 20.2-5 拡張ステータス制御レジスタ (ESCR) のビット構成 ESCR ( アクセス:Byte,Half-word,Word) アドレス: bit 15 14 13 12 11 10 ch.0:0000CC H ch.3:0000B4H ch.4:0000BCH R(RM1), ch.5:0000C4H R/W W R/W R/W R/W R/W 9 8 R/W R/W 初期値 00000X00B bit8 SCES サンプリングクロックエッジ選択 (モード2) 立上りクロックエッジでサンプリング (通常) 0 立下りクロックエッジでサンプリング (変換クロック) 1 bit9 連続クロック出力許可 (モード2) CCO 連続クロック出力無効 0 連続クロック出力有効 1 bit10 SIOP 0 1 シリアル入力/出力端子への直接アクセス 書込み時 (SOPE= 1のとき) 読出し時 "0"をSOT3に設定 SIN3端子の実際の 値を返す "1"をSOT3に設定 bit11 SOPE シリアル出力端子への直接アクセスの許可 シリアル出力端子への直接アクセス無効 0 シリアル出力端子への直接アクセス有効 1 bit12 LBL0 0 1 0 1 bit13 LBL1 0 0 1 1 LINブレーク長 LINブレーク長13 ビットタイマ LINブレーク長14 ビットタイマ LINブレーク長15 ビットタイマ LINブレーク長16 ビットタイマ bit14 LBD 1 0 : 初期値 LINブレーク検出 書込み時 読出し時 無視 LINブレーク検出 LINブレーク検出 LINブレーク検出なし フラグのクリア bit15 LINブレーク検出割込み許可 LBIE LINブレーク割込み無効 0 LINブレーク割込み有効 1 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 409 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ 表 20.2-1 SOPE と SIOP の相互作用の説明 SOPE SIOP 0 R 1 R/W SIOP への書込み SIOP からの読出し 影響なし SIN の値を返す SOT へ "0" または "1" を設定 SIN の値を返す SOPE が "1" のとき , SIOP の初期値は "1" です。 リードモディファイライト (RMW) サイクル有効時 , SIOP はリードサイクルでシリア ル出力端子 (SOT) の値を返します。 <注意事項> 本ビットの設定値は , シリアル制御レジスタ (SCR) の TXE ビットが "0" の場合のみ有効 です。 410 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 MB91220 シリーズ ■ 拡張通信制御レジスタ (ECCR) 図 20.2-6 拡張通信制御レジスタ (ECCR) のビット構成 ECCR ( アクセス:Byte,Half-word,Word) 初期値 000000XX B 6 5 4 3 2 1 0 アドレス: bit 7 ch.0:0000CDH ch.3:0000B5H ch.4:0000BDH R/W R0,W R/W R/W R/W R/W0 R,WX R,WX ch.5:0000C5H bit0 TBI 0 1 送信中 送信動作なし bit1 RBI 0 1 受信中 受信動作なし bit2 BIE 0 1 バスアイドル割込み無効 バスアイドル割込み有効 bit3 SSM 0 1 送信バスアイドル 受信バスアイドル バスアイドル割込み 同期データ形式での開始/停止ビット指定(モード2) 同期モード2で開始/停止ビット無効 同期モード2で開始/停止ビット有効 bit4 予約ビット : 本ビットは"0"に固定されます bit5 MS 0 1 マスタ/スレーブ選択(モード2) マスタモード (シリアルクロックの生成) スレーブモード (外部シリアルクロック受信) bit6 LBR 0 1 : 初期値 bit7 INV 0 1 LINブレークビットの設定 書込み時 読出し時 無視 LINブレークの生成 常に"0"を返す 反転シリアルデータ 非反転シリアルデータ( NRZフォーマット) 反転シリアルデータ(RZフォーマット) ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 411 第 20 章 LIN-UART 20.2 LIN-UART のレジスタ一覧 20.2.1 MB91220 シリーズ ボーレート / リロードカウンタレジスタ (BGR) ボーレート / リロードカウンタレジスタ (BGR) は , シリアルクロックの分周比を設 定します。また , 送信リロードカウンタの正確な値を読み出すことも可能です。 ■ ボーレート / リロードカウンタレジスタ (BGR) レジスタはバイト / ハーフワード / ワードアクセスでの読出し / 書込みが可能です。 図 20.2-7 ボーレート / リロードカウンタレジスタ BGR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 0000CEH 0000B6H 0000BEH 0000C6H − R1,WX B14 B13 B12 B11 B10 R,W R,W R,W R,W R,W bit13 bit12 bit11 bit10 bit8 初期値 B09 B08 -0000000B R,W R,W bit9 BGR0 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 0000CFH 0000B7H 0000BFH 0000C7H B07 B06 B05 B04 B03 B02 B01 B00 00000000B R,W R,W R,W R,W R,W R,W R,W R,W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] - : 未定義ビット 常に "1" が読み出せます。書込みは動作に影響ありません。 [bit14 ∼ bit8] BGR1 : ボーレートジェネレータレジスタ 1 BGR1 ボーレートジェネレータレジスタ 1 書込み リロード値の bit14 ∼ bit8 をカウンタへ書込み 読出し カウント bit14 ∼ bit8 の読出し [bit7 ∼ bit0] BGR0 : ボーレートジェネレータレジスタ 0 BGR0 412 ボーレートジェネレータレジスタ 0 書込み リロード値の bit7 ∼ bit0 をカウンタへ書込み 読出し カウント bit7 ∼ bit0 の読出し FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.3 インプットキャプチャによるボーレート検出 MB91220 シリーズ 20.3 インプットキャプチャによるボーレート検出 インプットキャプチャによるボーレート検出について説明します。 ■ インプットキャプチャによるボーレート検出 LIN-UART は LSYN 信号をもっており , ICU( インプットキャプチャ ) に接続されてい ます。ICU で , LSYN のパルス長を測定することにより , ボーレートを調整することが できます。ICU との LSYN 信号の接続はポート D ファンクションレジスタ PFRD ( ア ドレス 0000042DH ビット PFRD[3:0]) で制御されます。 LIN-UART0 LSYN インプットキャプチャ0 IN IN0端子 フリーランタイマ0 PFRD[0] LIN-UART1 LSYN インプットキャプチャ1 IN IN1端子 フリーランタイマ0 PFRD[1] LIN-UART2 LSYN インプットキャプチャ2 IN IN2端子 フリーランタイマ1 PFRD[2] LIN-UART3 LSYN インプットキャプチャ3 IN IN3端子 フリーランタイマ1 PFRD[3] PFRD の該当ビットを設定すると , ICU は入力端子 IN に接続されます。 PFRD の該当ビットをクリアすると , IN 端子はポートモード (Port D[3:0]) になり , LINUART は ICU に接続されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 413 第 20 章 LIN-UART 20.3 インプットキャプチャによるボーレート検出 20.3.1 MB91220 シリーズ UART のボーレート UART のシリアルクロックとして下記のいずれかを選択できます。 • 専用ボーレートジェネレータ ( リロードカウンタ ) • 外部クロック (SCK 端子からのクロック入力 ) • 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使用 ■ UART のボーレート選択 図 20.3-1 にボーレート選択回路を示します。下記の 3 つからボーレートを選択可能で す。 ● 専用ボーレートジェネレータ ( リロードカウンタ ) の使用 UARTには送信/受信シリアルクロックそれぞれに独立したリロードカウンタがありま す。ボーレートは , ボーレートジェネレータレジスタ (BGR) の 15 ビットリロード値に より設定されます。 リロードカウンタは , ボーレートジェネレータレジスタの設定値で周辺クロックを分 周します。 ● 外部クロック (SCK 端子からのクロック入力 ) UART クロック入力端子 (SCK) からのクロック入力が直接ボーレートとして使用され ます。 ● 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使用 外部クロックをデバイス内部でリロードカウンタと接続させることも可能です。この モードでは , 外部クロックは内部の周辺クロックの代わりに使用されます。 図 20.3-1 ボーレート選択回路 ( リロードカウンタ ) REST スタートビット 立下りエッジ検出 リロード値: v Rxc = 0? 受信15ビット リロードカウンタ セット リロード Rxc = v/2? FF リセット 0 リロード値: v CLK SCK (外部 クロック 入力) EXT Txc = 0? 0 1 受信クロック 1 セット 送信15ビット リロードカウンタ カウント値: Txc リロード OTO FF 1 リセット Txc = v/2? 0 送信クロック 内部データバス EXT REST OTO 414 SMR レジスタ B14 B13 B12 B11 B10 B09 B08 BGR1 レジスタ B07 B06 B05 B04 B03 B02 B01 B00 BGR0 レジスタ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.3 インプットキャプチャによるボーレート検出 MB91220 シリーズ ボーレートの設定 20.3.2 ボーレートの設定方法と , シリアルクロック周波数の算出結果を示します。 ■ ボーレートの算出 ボーレートジェネレータレジスタ (BGR)により 15ビットリロードカウンタは設定され ます。 リロード値の算出には以下の数式を使用してください。 v= [φ/b] - 1 ここで , "φ" は周辺クロック周波数を , "b" はボーレートを示します。 ● 算出例 周辺クロックが 16MHz で , 目的のボーレートが 19200bps の場合 , リロード値 "v" は以 下のようにして算出できます。 v= [16 × 106 / 19200] - 1 = 832 正確なボーレートは , 以下のように再計算してください。 bexact=φ/(v+1)=16 × 106 / 833= 19207.6831 bps <注意事項> リロード値を "0" に設定すると , リロードカウンタは停止します。したがって , 最小の分 周比は 2 分周となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 415 第 20 章 LIN-UART 20.3 インプットキャプチャによるボーレート検出 MB91220 シリーズ ■ 周辺クロック周波数ごとのボーレート設定例 表 20.3-1 に , 周辺クロック周波数とボーレートの設定例を示します。 表 20.3-1 周辺クロックごとのボーレート設定例 8MHz ボーレート (bps) 16MHz 20MHz 24MHz 32MHz リロード 値 dev. リロード 値 dev. リロード 値 dev. リロード 値 dev. リロード 値 dev. 4M - - - - 4 0 5 0 7 0 2M - - 7 0 9 0 11 0 15 0 1M 7 0 15 0 19 0 23 0 31 0 500000 15 0 31 0 39 0 47 0 63 0 460800 - - - - - - 51 -0.16 68 -0.64 250000 31 0 63 0 79 0 95 0 127 0 230400 - - - - - - 103 -0.16 138 0.08 153600 51 -0.16 103 -0.16 129 -0.16 155 -0.16 207 -0.16 125000 63 0 127 0 159 0 191 0 255 0 115200 68 -0.64 138 0.08 173 0.22 207 -0.16 277 0.08 76800 103 -0.16 207 -0.16 259 -0.16 311 -0.16 416 0.08 57600 138 0.08 277 0.08 346 -0.06 416 0.08 555 0.08 38400 207 -0.16 416 0.08 520 0.03 624 0 832 -0.04 28800 277 0.08 554 -0.01 693 -0.06 832 -0.03 1110 -0.01 19200 416 0.08 832 -0.03 1041 0.03 1249 0 1666 0.02 10417 767 0 1535 0 1919 0 2303 0 3071 0 9600 832 -0.04 1666 0.02 2083 0.03 2499 0 3332 -0.01 7200 1110 -0.01 2221 -0.01 2777 0.011 3332 -0.01 4443 -0.01 4800 1666 0.02 3332 -0.01 4166 0.01 4999 0 6666 0 2400 3332 -0.01 6666 0 8332 0 9999 0 13332 0 1200 6666 0 13332 0 16666 0 19999 0 26666 0 600 13332 0 26666 0 - - - - - - 300 26666 0 - - - - - - - - ( 注意事項 ) ・dev.:deviation unit( 偏差単位 ) ・偏差の単位は "%" です。 ・最大同期ボーレートは , 周辺クロックの 5 分周です。 416 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.3 インプットキャプチャによるボーレート検出 MB91220 シリーズ ■ 外部クロックの使用 SMR の EXT ビットが設定されると , 外部端子 SCK がクロックとして選択されます。外 部クロック信号は内部 MCU クロックと同様に扱われます。SCK 端子に , 例えば 1.8432MHz の水晶発振子を接続し , PC-16550-UART のすべてのボーレートを選択する ためにリロードカウンタを使用するように設計されています。 "1 対 1" 外部クロック入力モード (SMR の OTO ビット ) が選択されていると , SCK 信 号が UART シリアルクロック入力へ直接接続されます。これは , UART 同期モード 2 でスレーブデバイスとして動作させるために必要です。 <注意事項> いずれの場合においても , クロック信号は UART 内部で MCU クロックと同期化されます。 これは分周できないクロック比は不安定な信号となることを意味します。 ■ カウント例 図 20.3-2 に , 送信 / 受信リロードカウンタの動作例を示します。ここではリロード値を 832 としています。 図 20.3-2 リロードカウンタのカウント例 送信/受信クロック リードカウンタ 001 000 832 831 830 829 828 827 412 411 410 リードカウント値 送信/受信クロック リードカウンタ 417 416 415 414 413 <注意事項> シリアルクロック信号の立下りエッジは常に , [ (v + 1)/2 ] 後です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 417 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ LIN-UART の動作 20.4 LIN-UART の動作について説明します。 ■ LIN-UART の動作モード LIN-UART は下記に示す 4 つの異なった動作モードをもっており , シリアルモードレジ スタ (SMR) の MD0, MD1 ビットにより決定されます。モード 0 と 2 は , 双方向シリア ル通信 , モード 1 は , マスタ / スレーブ型通信 , モード 3 は , LIN マスタ / スレーブ 型通信に利用されます。 表 20.4-1 LIN-UART の動作モードの概要 データ長 MD1 MD0 動作モード 同期方式 ストップ ビット長 データ ビット方向 非同期 1 ビット または 2 ビット LSB ファースト / MSB ファースト 非同期 1 ビット または 2 ビット LSB ファースト / MSB ファースト 同期 0 ビット , 1 ビット または 2 ビット LSB ファースト / MSB ファースト 非同期 1 ビット LSB ファースト パリティなし パリティあり 0 0 0 1 0 ノーマル モード 1 マルチ プロセッサ 1 0 2 ノーマル モード 1 1 3 LIN モード 7 ビットか 8 ビット 7 ビット または 8 ビット + 1* - 8 8 - * : "+1" は , 通信制御用に使用されるアドレス / データ形式選択ビット (AD) を意味します。 <注意事項> モード 1 動作は , マスタ / スレーブ CPU を複数接続して通信することができます。 モード 3 では , UART 機能は , 通信フォーマットが固定されます。 送受信時にモードを切り換えたときは , 送受信データは保証できません。 418 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ 非同期モード ( 動作モード 0 と 1) 時の動作 20.4.1 非同期モード ( 動作モード 0 と 1) 時の動作を説明します。 ■ 送受信データフォーマット 送受信データは , スタートビット ("L" レベル ) から始まり , ストップビット ("H" レベ ル ) で終了します。ビット転送方向 (LSB ファーストまたは MSB ファースト ) は , シリ アルステータスレジスタ (SSR) の転送方向選択ビット (BDS) で , 決定します。パリティ ありの場合 , パリティビットは , 常に最終データビットと最初のストップビットの間に 置かれます。 動作モード 0 では , データ長 7 ビットまたは 8 ビット , パリティの有無 , ストップビッ ト長 1 ビットまたは 2 ビットの選択ができます。 動作モード 1 では , データ長 7 ビットまたは 8 ビットに設定できます。本モードではパ リティを付加されませんが , アドレス / データ形式選択ビットが付加されます。ストッ プビット長 1 ビットまたは 2 ビットを選択することができます。 フレームのビット長計算式は以下のとおりです。 長さ =1+d+p+s (d = データビット数 [7 or 8], p = パリティ [0 or 1], s = ストップビット数 [1 or 2]) 図 20.4-1 非同期モード ( 動作モード 0, 1) 時の動作 *1 *2 動作モード0 ST D0 D1 D2 D3 D4 D5 D6 D7/P SP SP 動作モード1 ST D0 D1 D2 D3 D4 D5 D6 D7 A/D SP *1 : D7(bit 7)パリティなし,データ長が8ビットの場合 P(パリティ)パリティあり,データ長7ビットの場合 *2 : SCRのSBLビットが"1"にセットされている場合のみ ST :スタートビット SP :ストップビット AD :モード1(マルチプロセッサモード)のアドレスデータ選択ビット <注意事項> シリアルステータスレジスタ (SSR) の BDS ビットが "1" に設定されている場合 , データ は D7, D6…D1, D0, (P) の順で処理されます。 2 ストップビットに設定すると , 受信中 , 両方のストップビットを検出します。しかし , 受 信データフルフラグビット (RDRF) は , 最初のストップビットで "1" に設定されますが , 受 信動作がないと拡張通信制御レジスタ (ECCR) の受信バスアイドル検出フラグビット (RBI) は , 2 番目のストップビットの後に "1" に設定します。 2 番目のストップビットはマークレベルですが , バスのためにあります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 419 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ ■ 送信動作 シリアルステータスレジスタ (SSR) の送信データレジスタエンプティビット (TDRE) が "1" のとき , 送信データレジスタ (TDR) へ送信データを書き込みます。データが書き込 まれると TDRE フラグが "0" になります。シリアル制御レジスタ (SCR) の送信許可ビッ ト (TXE) を "1" で許可すると , そのデータは送信用シフトレジスタに転送され , スタートビットから送信が始まります。その結果 , TDRE フラグは "1" に設定され , TDR レジスタに新しいデータを書き込むことができます。 送信割込み可能 ( シリアルステータスレジスタ (SSR) の送信割込み許可ビット (TIE) が "1") の場合 , 割込みは TDRE フラグによって発生します。TDRE フラグの初期値が "1" のため , TIE フラグが "1" に設定されると割込みが発生しますので注意してください。 ■ 受信動作 シリアル制御レジスタ (SCR) の受信許可ビット (RXE) が "1" であれば , 受信動作を行 います。 スタートビットを検出するとシリアル制御レジスタ (SCR) で設定したデータフォー マットに従い, 1フレームデータ受信が行われます。エラー発生により, 対応するエラー フラグ (PE, ORE, FRE) がセットされます。1 フレームの受信完了後 , データはシリアル シフトレジスタから受信データレジスタ (RDR) に転送され , シリアルステータスレジス タ (SSR) の受信データレジスタフルフラグビット (RDRF) が "1" に設定されます。受信 データ読出しによって , RDRF フラグはクリアされます。 受信割込み許可 ( シリアルステータスレジスタ (SSR) の受信割込み許可ビット (RIE) が "1") の場合 , 割込みは RDRF によって発生します。 <注意事項> RDRF フラグが "1" に設定されるときだけ , 受信データレジスタ (RDR) データは有効にな ります。 ■ ストップビット , エラー検出およびパリティ 送信時には , 1 ビットまたは 2 ビットのストップビットを選択することができます。ス トップビットを 2 ビット選択したとき , 両方のストップビットが受信時に検出されま す。2 番目のストップビット後に , 拡張通信制御レジスタ (ECCR) の受信バスアイドル 検出フラグビット (RBI) を設定します。 モード 0 で , パリティエラー , オーバランエラー , フレームエラー検出ができます。 モード 1 で , オーバランエラー , フレームエラー検出ができ , パリティエラー検出はで きません。 モード 0 ( もしくはモード 2 で , ECCR レジスタのスタート / ストップ許可ビット (SSM) を "1" に設定 ) 時にシリアルコントロールレジスタ (SCR) のパリティ許可ビット (PEN) を設定することにより , UART はパリティ計算 ( 送信時 ), パリティ検出 , およびチェッ ク ( 受信時 ) を行います。 SCR レジスタのパリティ選択ビット (P) がクリア ("0") されると偶数パリティ設定とな り , フラグが "1" にされると , 奇数パリティに設定されます。 420 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ 同期 ( 動作モード 2) モード時の動作 20.4.2 同期 ( 動作モード 2) モード時の動作を説明します。 ■ 送受信データフォーマット 同期モードでは , 8 ビットのデータは拡張通信制御レジスタ (ECCR) のスタート / ストッ プ許可ビット (SSM) が "0" ならば , スタート / ストップビットなしで転送されます。 同期動作モードのデータフォーマットを示します。 図 20.4-2 同期モード ( 動作モード 2) 時の動作 送信データ書込み マークレベル シリアルクロック(ノーマル) (CCO=0) 送信データ マークレベル 0 1 1 0 1 0 0 1 立上りサンプルエッジ(SCES=0), LSBファーストのとき ■ クロック供給 クロック同期 (I/O 拡張シリアル ) モードでは , 送受信ビット数に等しい数のクロックの 供給が必要です。注意点として , スタート / ストップビットありの通信時は , クロック サイクル数とスタート / ストップビットが付加された数とが一致していなければなり ません。 内部クロック ( 専用リロードカウンタ ) を選択しているときには , データ送信すると , データ受信用同期クロックが自動的に発生します。 外部クロックを選択しているときは , 送信データレジスタに送信データがあることを 確認した後 , 送信分のクロックを外部から発生 , 供給しなければなりません。また , 送 信開始前と終了後はマークレベル ("H") にしなければなりません。 拡張ステータス制御レジスタ (ESCR) のサンプリングクロックエッジ選択 (SCES) を "1" に設定すると UART のクロックが反転し , その結果 , クロックの立下りエッジで受信 データを抽出します。この場合 , シリアルデータが立下りエッジで有効であるか確認し てください。 ■ エラー検出 スタート / ストップビットなし ( 拡張通信制御レジスタ (ECCR) の スタート / ストップ 許可ビット (SSM を "0" に設定 ) を選択すると , オーバランエラーのみ検出可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 421 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ ■ 通信方法 同期モードを利用するときは , 下記の設定に初期化する必要があります。 ボーレートジェネレータレジスタ (BGR0/BGR1): 専用ボーレートリロードカウンタに必要なリロード値を設定 シリアルモードレジスタ (SMR): MD1, MD0 : "10B" ( モード 2) SCKE : "1" "0" SOE 専用ボーレートリロードカウンタ 外部クロック : "1" 送信 "0" 受信 シリアル制御レジスタ (SCR): RXE, TXE : 少なくともどちらかが "1" SSM=0( デフォルト ) のとき PEN, P : パリティなしのため , このビットは意味を持ちません。 SSM=1 のとき PEN : "1" パリティあり : "0" パリティなし P : "0" パリティ偶数 : "1" パリティ奇数 SBL, A/D : パリティ, ストップビット , アドレス / データ選択なしのため , この ビットは意味を持ちません。 CL : 自動的に 8 ビットに設定されるので , このビットは意味を持ちませ ん。 CRE : "1" ( エラーフラグは初期化でクリアして送受信を中断します )。 シリアルステータスレジスタ (SSR): BDS : "0" LSB ファースト ; "1"MSB ファースト RIE : "1" 割込み利用 ; "0 " 割込みなし TIE : "1" 割込み利用 ; "0" 割込みなし 拡張通信制御レジスタ (ECCR): SSM : "0" スタート / ストップビットなし ( ノーマル ) ; "1" スタート / ストップビット追加 ( 特別 ) MS : "0" マスタモード (UART はシリアルクロックを発生 ) ; "1" スレーブモード (UART はマスタデバイスからシリアルクロック受信 ) 通信を始めるには , 送信データレジスタ (TDR) にデータを書き込んでください。 データを受信するには , SMR レジスタのシリアルデータ出力許可ビット (SOE) を無効 にして TDR にダミーデータを書き込んでください。 <注意事項> SCK 端子はクロック入出力兼用のために , 同時に送受信はできません。 422 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ 20.4.3 LIN 機能との操作 ( 動作モード 3) LIN-UART は , LIN マスタ / スレーブ機能が動作します。この LIN 機能のために , 動 作モード 3 が提供されています。データフォーマットが固定され , 8 ビットデータを 送受信し , 1 スタート / ストップビットが付加され LSB ファーストになります。 ■ LIN マスタ動作 LIN マスタモードは , マスタですべてのボーレートを決定します。スレーブは , マスタ に同期しなければなりません。よって , スレーブ側では , ボーレートを設定する必要は ありません。 拡張通信制御レジスタ (ECCR) の LIN ブレーク生成ビット (LBR) に "1" を書き込むと , LIN ブレーク信号が SOT 端子から 13 ビット∼ 16 ビット分 "L" レベルが出力されます。 この信号により LIN 通信を開始します。 その結果 , シリアルステータスレジスタ (SSR) の送信データエンプティフラグビット (TDRE) は "0" になり , LIN ブレーク後 "1" にセットされて送信割込み (SSR レジスタの 送信割込み許可ビット (TIE) が "1" のとき ) を発生させます。 LIN ブレークは , 拡張ステータス制御レジスタ (ESCR) の LIN ブレーク長ビット (LBL1/ LBL0) によって決められます。設定は以下のとおりです。 表 20.4-2 LBL1/LBL0 による LIN ブレーク長の設定 LBL1 LBL0 ブレークの長さ 0 0 13 ビットタイム 0 1 14 ビットタイム 1 0 15 ビットタイム 1 1 16 ビットタイム LIN ブレーク後に , 同期フィールド (55H) を送信します。受信割込みを防ぐために , ECCR レジスタの LBR フラグの "1" に書込みにより , TDRE フラグが "0" となりますが , 送信 データレジスタ (TDR) に "55H" を書き込むことができます。内部の送信シフタは , LIN ブ レークが終わり , TDR レジスタ値が移動するまで待っています。これにより , LIN ブレー ク後 , スタートビット前の間 , 送信割込みは行われません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 423 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ ■ LIN スレーブ動作 LIN スレーブモードは , マスタボーレートに同期させます。受信が無効 ( シリアル制御 レジスタ (SCR) の受信許可ビット (RXE) が "0"), LIN synch 割込みが有効 ( 拡張ステー タスレジスタ (ESCR) の LIN ブレーク検出割込み許可ビット (LBIE) が "1") であれば , UART は受信割込みを発生します。LIN ブレークが検出されると , ESCR レジスタの LIN ブレーク検出ビット (LBD) がセットされ , このビットの "0" 書込みにより割込みは クリアされます。 次に , LIN ブレーク検出後 , LIN マスタのボーレートを分析します。キャプチャ内部信 号は LIN 同期フィールドの 1 回目の立下りエッジで "1" にセットされ , 5 回目の立下り エッジ後に "0" にセットされます。両方のエッジ検出時に , キャプチャ割込みが許可さ れていると割込みが発生します。 LIN 同期フィールド検出時の内部信号は , マスタのシリアルクロック 8 ビット分に相当 します。 以下の図に LIN メッセージフレームの形式と LIN-UART の動作を示します。 図 20.4-3 LIN メッセージフレーム形式と LIN-UART の動作 シリアル クロック シリアル 入力 (LINバス) LBD キャプチャ 内部信号 424 LINブレーク 同期フィールド FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ シリアル端子直接アクセス 20.4.4 シリアル端子直接アクセスについて説明します。 ■ シリアル端子直接アクセス LIN-UART はプログラマが , シリアル入出力端子に直接アクセスすることができます。 ソフトウェアにて , 拡張ステータスレジスタ (ESCR) のシリアル入出力端子アクセス設 定ビット (SIOP) を読み出すことにより , シリアル入力端子 (SIN) の状況をいつでもモ ニタすることができます。また , ESCR レジスタのシリアル出力端子アクセス許可ビッ ト (SOPE) を設定すると , ソフトウェアによりシリアル出力端子 (SOT) の値を任意に設 定することができます。注意事項として , 送信用シフトレジスタデータなし ( 送信未動 作時 ) の場合にだけアクセス可能です。 LIN モードにおいて , 送信したデータの読出しまたは物理的に LIN バス線信号が間違っ ていたときのエラー処理に使用できます。 <注意事項> 出力端子にアクセスする前に , SIOP ビットに値を書き込んでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 425 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ データフォーマット設定 20.4.5 データフォーマットの設定について説明します。 ■ データフォーマット設定 拡張通信制御レジスタ (ECCR) のシリアルデータ反転選択ビット (INV) を "1" に設定す ると , シリアルデータを反転させます。これは , 信号モードが "Return To Zero"(RZ) で あることを意味します。設定しなければ , SIN と SOT の信号モードは "Non Return To Zero"(NRZ 初期値 ) になります。 以下の図で 2 つの設定の違いを説明します。 図 20.4-4 NRZ モードと RZ モードの設定の違い SIN (NRZ) INV = 0 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SIN (RZ) INV = 1 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SOT (NRZ) INV = 0 ST D0 D1 D2 D3 D4 D5 D6 D7 SP SOT (RZ) INV = 1 ST D0 D1 D2 D3 D4 D5 D6 D7 SP <注意事項> LIN モード 3 を含むすべての操作モードで INV ビットを設定することができます。 426 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.4 LIN-UART の動作 MB91220 シリーズ レジスタ / フラグビット 20.4.6 レジスタ / フラグビットについて説明します。 ■ レジスタ / フラグビット LIN-UART (FL84) では , 送受信動作は設定しているモードに依存します。各モードに おいて , 無意味なフラグに設定 ( 例えば , LIN モード 3 でパリティを可能にする ) して も LIN-UART の動作は影響されません。また , これらのビットを読み出しても正しい 値を返します。 以下の表は各 UART モードの可能な設定について説明します。 表 20.4-3 LIN-UART のモード設定 ストップ ビット長 ビット長 - 1 ビット または 2 ビット 7 ビット または 8 ビット 2 (SSM=0) - - 2 (SSM=1) なし , 奇数 または偶数 1 ビット または 2 ビット 3 (LIN) - 1 ビット モード パリティ 0 なし , 奇数 または偶数 1 A/D ビット ○ - 8 ビット ビット 方向 LSB ファースト または MSB ファースト - - LSB ファースト SCES SSM - - - - ○ 0 INV ○ ○ 1 - - ○ : 使用可能 - : 未使用 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 427 第 20 章 LIN-UART 20.5 UART 割込み 20.5 MB91220 シリーズ UART 割込み UART の割込みについて説明します。 ■ UART 割込み要因 UART は送受信の両方で割込みを使用します。 以下の原因において割込みは発生します。 • 受信データが受信データレジスタ (RDR) にセットされた場合 , または受信エラー発 生時 • 送信データが送信データレジスタ (TDR) から送信シフトレジスタに転送されたとき • LIN ブレーク検出 • バス動作していない場合 以下に割込みコントロールビットと割込み要因を示します。 表 20.5-1 割込みコントロールビットと割込み要因 割込み要 動作モード 送信 / 受信 / フラグ 求フラグ レジスタ 0 1 2 3 キャプチャ ビット 割込み要因 割込み要因 割込み要求 イネーブル フラグビット のクリア ビット 受信データの RDR 書込み 受信データの 読出し RDRF SSR ○ ○ ○ ○ ORE SSR ○ ○ ○ ○ オーバランエラー FRE SSR ○ ○ △ ○ フレーミングエラー PE SSR ○ × △ × パリティエラー LBR ESCR ○ × × ○ LIN synch break 検出 ESCR : LBIE (ESCR:LBD) へ の "0" 書込み TBI, RBI ECCR ○ ○ △ ○ バス動作なし ECCR : BIE データ受信 / データ送信 送信 TDRE SSR ○ ○ ○ ○ 送信レジスタが空 SSR :TIE 送信データの 書込み 8/16 ビット キャプチャ・ タイマ / カウンタ 1 ICP0 ICS01 ○ × × ○ ICS01 : LIN synch field の 1 回目の立下りエッジ ICE0 ICE0 一時無効 ICP0 ICS01 ○ × × ○ LIN synch field の ICS01 : 5 回目の立下りエッジ ICE0 ICE0 無効 受信 SSR : RIE 受信エラー フラグクリア ビット (SCR:CRE) へ の "1" の書込み ○ : 利用ビット △ : ECCR(SSM=1) のみ使用可能 × : 未利用 428 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.5 UART 割込み MB91220 シリーズ ■ 受信割込み 以下に示す動作が受信モードで発生すると , シリアルステータスレジスタ (SSR) の各フ ラグビットは "1" に設定されます。 • データ受信完了 ( 例 ) 受信データのシリアル入力シフトレジスタから受信データレジスタ (RDR) へ の移動 :RDRF( 受信データフルフラグビット ) • オーバランエラー ( 例 ) RDRF=1, RDR の読出しエラー :ORE( オーバランエラーフラグビット ) • フレーミングエラー ( 例 ) ストップビット受信エラー :FRE( フレーミングエラーフラグビット ) • パリティエラー ( 例 ) パリティ検出エラー :PE( パリティエラーフラグビット ) 上記のフラグビットのいずれかが "1" のとき , 受信割込みが許可 (SSR レジスタの受信 割込み許可ビット (RIE) が "1") されていると , 受信割込み要求が発生します。 RDRF フラグは , 受信データレジスタ (RDR) を読み出すと , 自動的に "0" にクリアされ ます。 <注意事項> • RDRF フラグのリセットは上記の方法により行ってください。 エラーフラグはシリアル制御レジスタ (SCR) の受信エラーフラグクリアビット (CRE) に "1" を書き込むと , すべて "0" にクリアされます。 • RDRF フラグが "1" で , どんな誤りビットも設定されていない場合 , RDR レジスタは有 効なデータであることを示します。 • CRE フラグは書込み専用で , "1" 書込みのとき 1 クロックサイクル間 "1" を保持します。 ■ 送信割込み 送信データが送信データレジスタ (TDR) から送信シフトレジスタに転送される ( 送信 シフトレジスタが空で送信データがあるとき ) と , シリアルステータスレジスタ (SSR) の送信データレジスタエンプティフラグビット (TDRE) が "1" にセットされます。この 場合 , 送信割込みが許可 (SSR レジスタの送信割込み許可ビット (TIE) が "1") されてい ると , 送信割込み要求が発生します。 <注意事項> ハードウェア , ソフトウェアリセットの後の初期値は , "0" にクリアされるので , TIE フラ グが "1" ならば即 , 割込みが発生します。また , RDR にデータを書き込むことにより TDRE をリセットできます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 429 第 20 章 LIN-UART 20.5 UART 割込み MB91220 シリーズ ■ LIN ブレーク割込み 動作モード 0, 3 で , LIN スレーブ動作をする場合に機能します。 バス ( シリアル入力 ) が 13 ビットタイム以上 "0" になると , 拡張ステータス制御レジス タ (ESCR) の LIN ブレーク検出フラグビット (LBD) は "1" にセットされます。 <注意事項> LIN ブレーク検出を行う際には , 受信禁止 ( シリアル制御レジスタ (SCR) の受信許可ビッ ト (RXE) を "0") または受信割込み禁止 ( シリアルステータスレジスタ (SSR) の受信割込 み許可ビット (RIE) を "0") にしてください。この設定が許可になっていると , 9 ビットタ イム後受信にエラー割込みが発生しますので注意してください。その他の場合では , 受信 エラー割込みが最初に発生します。割込みハンドルルーチンは LBD =1 を待たなければな りません。 LIN ブレーク割込みと LBD フラグは , LBD フラグの "0" 書込みでクリアされます。こ れにより CPU は , LIN マスタにシングルクロックを調整するため , LIN ブレークの検 出を確認します。 ■ LIN 同期フィールドエッジ検出割込み 動作モード 0, 3 で , LIN スレーブ動作をする場合に機能します。LIN ブレーク検出後 , 内部信号 LSYN(ICU に接続 ) は LIN 同期フィールドの 1 回目の立下りエッジで "1" に セットされ , 5 回目の立下りエッジ後に "0" にセットされます。両方のエッジ検出時に , キャプチャは割込みを発生させます。各インプットキャプチャカウンタの差は , マスタ のシリアルクロック 8 ビット分に相当します。その値を 8 で分割した値を専用リロー ドカウンタに設定します。スタートビットの立下りエッジを検出すると , リロードカウ ンタは自動的に再スタートします。 ■ バスアイドル 割込み SIN 端子に受信動作がなければ拡張通信制御レジスタ (ECCR) の受信バスアイドル検出 フラグビット (RBI) は "1" になり , SOT 端子に送信動作がなければ ECCR レジスタの送 信バスアイドル検出フラグビット (TBI) は "1" になります。このとき , ECCR のバスア イドル割込みが許可 (ECCR レジスタのバスアイドル割込み許可ビット (BIE) が "1") さ れ , バスアイドルフラグ両方 (TBI=RBI=1) のとき , 割込みが発生します。 <注意事項> シリアル出力端子直接アクセスが可能 (ESCR レジスタのシリアル出力端子直接アクセス 許可ビット (SOPE) が "1" のとき , SOT 端子を "0" 固定に設定 (ESCR レジスタのシリア ル入出力端子アクセス設定ビット (SIOP) が "0") すると , 送信動作 (ECCR レジスタの TBI フラグが "1") がなくても TBI フラグは "0" にセットされます。 430 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.5 UART 割込み MB91220 シリーズ ソフトウェアリセット 20.5.1 LIN-UART のソフトウェアリセットについて説明します。 ■ ソフトウェアリセット LIN-UART が正常に動作しない場合 , MCU をリセットする代わりに LIN-UART のみを リセットしたい場合があります。シリアルモードレジスタ (SMR) のプログラマブルク リアビット (UPCL) はそのような機能を提供します。このビットに "1" を書き込むと , 直 ちに , UART をリセットします。このビットを再び "0" にセットする必要はありません。 <注意事項> シリアル出力端子直接アクセスが可能 (ESCR レジスタのシリアル出力端子直接アクセス 許可ビット (SOPE) が "1") のとき , SOT 端子を "0" 固定に設定 (ESCR レジスタのシリア ル入出力端子アクセス設定ビット (SIOP) が "0") すると , 送信動作 (ECCR レジスタの TBI フラグが "1") がなくても TBI フラグは "0" にセットされます。リセットの際 , 送受信状態 のものは切断されます。レジスタの設定は維持されますが , 専用リロードカウンタ (FL85) は再スタートします。 本機能を利用の際には , データ消去を防ぐために , LIN-UART の SMR レジスタにいかな るコマンドを書き込むときにも , "FBH" でマスクをかけることをお薦めします。 リロードカウンタリセットなしで , LIN-UART をリセットする代替手段は , 一時的に受 信 ( シリアル制御レジスタ (SCR) の受信許可ビット (RXE) を "0") または , 送信 (SCR レ ジスタの送信許可ビット (TXE) を "0") 機能を無効にすることです。これにより , 受信 / 送信制御回路は内部的にリセットされます。また , 一時的に LIN-UART の操作モード を変えることでも同じ効果があります。 受信限定のステートマシンのリセットは , 単にシリアル制御レジスタ (SCR) の受信エ ラーフラグクリアビット (CRE) に "1" を書き込むことにより行います。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 431 第 20 章 LIN-UART 20.6 LIN-UART のクロック同期 20.6 MB91220 シリーズ LIN-UART のクロック同期 LIN-UART のクロック同期について説明します。 ■ クロック同期 非同期モードで UART は , スタートビットの立下りエッジを検出して , ボーレートリ ロードカウンタ (FL85) を再開するために信号 (SEDGE) を発生させます。これにより , ビットタイム中でシリアルデータが抽出されます。 図 20.6-1 クロック同期の概要 CLKP SIN (オーバサンプリング) スタートビット データビット SIN 受信用シフタへ データサンプルタイム SEDGE (内部信号) リロードカウンタのリスタート RSCL (受信クロック) クロックフェーズ カットオフ 432 ビットタイム FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.7 フラグセットのタイミング MB91220 シリーズ 20.7 フラグセットのタイミング 割込み発生とフラグセットのタイミングを説明します。 ■ 受信割込み発生とフラグセットのタイミング 受信完了時 ( シリアルステータスレジスタ (SSR) の受信データフルフラグビット (RDRF)), または受信エラー発生時 (SSR レジスタのパリティエラーフラグビット (PE), オーバランフラグビット (ORE), フレーミングエラービット (FRE)) に各フラグがセット されます。そのとき , 受信割込みが許可 (SSR レジスタの受信割込み許可ビット (RIE) が "1") されていると受信割込みが発生します。これらの割込みは , 動作モード 0, 1 ( パ リティエラーを除く ) の場合 , 最初のストップビットの検出 , 動作モード 2 の場合 , 最 終データビットが読み出されると発生します。 <注意事項> 受信エラーが発生したとき , 受信データレジスタ (RDR) のデータは無効となります。 図 20.7-1 受信割込み発生とフラグセットのタイミング 受信データ (モード0/3) ST D0 D1 D2 … D5 D6 D7/P SP ST 受信データ (モード1) ST D0 D1 D2 … D5 D6 A/D SP ST 受信データ (モード2) ST D0 D1 D2 … D4 D5 D6 D7 D0 PE*1, FRE RDRF ORE*2 (RDRF = 1のとき) 受信割込み発生 *1 : モード1 または モード3では, PEフラグは使用できません。 *2 : 受信データが読み出される前に(RDRF=1)に次のデータが転送されるとオーバラン(ORE)が発生します。 ST : スタートビット SP : ストップビット A/D : Mode 1 (マルチプロセッサ) アドレス/データ選択 <注意事項> 上記一例の動作モード 0 およびモード 3 はすべての設定可能な受信オプションを示してい ません。 送信割込み発生とフラグセットのタイミング受信データが読み出される前に(RDRF=1)に 次のデータが転送されるとオーバランエラー (ORE) が発生します。 受信 データ RDRF ORE CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 433 第 20 章 LIN-UART 20.7 フラグセットのタイミング MB91220 シリーズ ■ 送信割込み発生とフラグセットのタイミング 送信データレジスタ (TDR) に次のデータ書込みが可能な状態になると割込みが発生し ます。すなわち , 送信データレジスタ (TDR) データなしで , シリアルステータスレジ スタ(SSR)の送信割込み許可ビット(TIE)を"1"に設定すると, 送信割込みが発生します。 SSR レジスタの送信データエンプティフラグビット (TDRE) は , TDR レジスタの状態 を示します。TDRE ビットは「リードオンリ」のため , TDR レジスタにデータを書き 込むことによりクリアされます。 以下に, LIN-UARTの各モード設定時の送信動作とフラグセットのタイミングについて 一例を示します。 図 20.7-2 送信動作とフラグセットのタイミング例 送信割込み発生 送信割込み発生 モード0, 1 または 3 : TDRに書込み TDRE シリアルアウトプット ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP AD AD 送信割込み発生 送信割込み発生 モード2 : TDRに書込み TDRE シリアルアウトプット D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 ST : スタートビット D0...D7 : データビット AD : アドレス/データ選択ビット (モード1) P : パリティ SP: ストップビット <注意事項> 上記一例のモード 0 はすべての設定可能な送信オプションを示していません。 434 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.7 フラグセットのタイミング MB91220 シリーズ ■ LIN ブレーク検出割込みとフラグ スレーブモードで LIN ブレークが検出されると , 拡張ステータス制御レジスタ (ESCR) の LIN ブレーク検出ビット (LBD) は "1" にセットされ , 同じく ESCR レジスタの LIN ブレーク検出割込み許可ビット (LBIE) が設定されていると割込みが発生します。 以下に , LIN ブレーク検出割込みとフラグのセットタイミングを示します。 図 20.7-3 LIN ブレーク検出割込みとフラグセットタイミング シリアルクロック サイクル # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 受信 データ FRE (RXE=1) LBD (RXE=0) RXE=1なら受信割込み発生 RXE=0なら受信割込み発生 <注意事項> 受信可能 ( シリアル制御レジスタ (SCR) の受信許可ビット (RXE) が "1") かつ受信割込み 可能 ( シリアルステータスレジスタ (SSR) の受信割込み許可ビット (RIE) が "1") の場合 , SSR レジスタのフレーミングエラーフラグビット (FRE) は , LIN ブレーク割込みよりク ロックが 2 ビット分早くセットされるので , LIN ブレーク割込みを期待する場合は , RXE ビットを "0" にすることをお勧めします。 LBD ビットは動作モード 0, 3 のみサポートされます。 ■ LIN フィールドエッジ検出割込み LIN ブレーク検出後 , シリアル入力 (SIN 端子 ) の 1 回目の立下りエッジで LSYN 信号 (内部でインプットキャプチャ(ICU)に接続)をセットし, 5番目の立下りエッジでLSYN 信号をリセットします。したがって , ICU は両方のエッジ検出で動作します。最初の割 込み時の ICU カウンタレジスタ値は保持され , 2 回目の ICU カウンタレジスタ値から 最初の ICU カウンタレジスタ値を引いた値は , マスタのシリアルクロック 8 ビット分 に相当します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 435 第 20 章 LIN-UART 20.7 フラグセットのタイミング MB91220 シリーズ 図 20.7-4 LIN フィールドエッジ検出割込み シンクフィールド シンクブレーク 識別 受信データ LSYN (ICUへ) ICUから IRQ CPUによる割込みクリア ■ バスアイドル割込みとフラグ シリアル入力シフトレジスタとシリアル出力レジスタの値がなく , 拡張通信制御レジ スタ (ECCR) のバスアイドル割込み許可ビット (BIE) が設定されている場合 , バスアイ ドル割込みを発生します。以下の図はバスアイドル割込みとフラグセットタイミング の関係を示します。 図 20.7-5 バスアイドル割込みとフラグセットタイミング 送信データ 受信データ TBI RBI IRQ : スタートビット : ストップビット : データビット <注意事項> 受信中に , 受信動作を禁止 ( シリアル制御レジスタ (SCR) の受信許可ビット (RXE) を "0") に した場合 , 拡張通信制御レジスタ (ECCR) の受信バスアイドル検出フラグ (RBI) は "1" になり ます。 シリアル出力可能 (ESCR レジスタのシリアル出力端子直接アクセス許可ビット (SOPE) が "1") のとき , SOT 端子を "0" 固定に設定 (ESCR レジスタのシリアル入出力端子アクセス設 定ビット (SIOP) が "0") すると , 送信動作がなくても , TBI フラグが "0" になります。 436 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.8 LIN-UART の特別仕様 MB91220 シリーズ 20.8 LIN-UART の特別仕様 LIN-UART の特別仕様を説明します。 ■ サンプリングクロックエッジ 拡張ステータス制御レジスタ(ESCR)のサンプリングクロックエッジ選択ビット(SCES) で, モード2のときに受信ビットが受信シフトレジスタに抽出されるサンプルエッジを 決定します。また , LIN-UART がマスタモード 2 であれば , このビットは発生している クロック信号を反転します。 図 20.8-1 サンプリングクロックエッジの使用例 シリアルクロック信号 (SCES=0) シリアルクロック信号 (SCES=1) データビット (LSBファーストの場合) または D0 D1 D2 D3 D4 D5 D6 D7 :サンプリングクロックエッジ ■ 同期スタート / ストップビットモード モード 2 の同期モードで拡張通信制御レジスタ (ECCR) のスタート / ストップ許可ビッ ト (SSM) を設定すると , モード 0 のようにスタート / ストップビットをデータストリー ムに追加します。したがって , すべての追加ビットもクロック出力されます。 図 20.8-2 同期スタート / ストップビットモード使用例 受信/送信クロック マークレベル (SCES= 0, CCO=0): 受信/送信クロック マークレベル (SCES= 1, CCO=0): データストリーム(SSM=1) ST (パリティなし, 1ストップビットの場合) SP データフレーム CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 437 第 20 章 LIN-UART 20.8 LIN-UART の特別仕様 MB91220 シリーズ ■ 連続シリアルクロック出力 動作モード 2 で拡張ステータス制御レジスタ (ESCR) の連続クロック出力許可ビット (CCO) を設定すると , シリアルクロックを直接 SCK ピンに出力した後 , シフトクロッ クに同期します。同期モードでスタートストップビットを使用するときに役立ちます。 図 20.8-3 連続シリアルクロック出力例 受信/送信クロック (SCES=0, CCO=1): 受信/送信クロック (SCES=1, CCO=1): データストリーム(SSM=1) (パリティなし, 1ストップビットの場合) ST SP データフレーム 438 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.9 LIN 通信動作 MB91220 シリーズ 20.9 LIN 通信動作 LIN-UART がマスタデバイスとして機能するときの動作を以下のフローチャートに 示します。 ■ LIN マスタ・スレーブ通信機能 UART を LIN 通信モード ( 動作モード 3) で動作させるには , 下図の設定が必要です。 図 20.9-1 UART の設定 SCR5, SMR5 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 PEN P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SPE 0 1 1 0 0 0 1 モード 3 × × + + × ◎ ◎ × ◎ SSR5, TDR5/RDR5 bit15 bit14 bit13 bit12 bit11 bit10 bit9 PE モード 3 × ORE FRE RDRF TDRE BDS RIE ◎ ◎ ◎ ◎ + ◎ bit8 bit7 TIE bit6 bit5 bit4 bit3 bit2 bit1 送信データのセット ( 書込み中 ) 受信データの保持 ( 読出し中 ) bit0 bit6 LBR ◎ bit0 TBI × ◎ ESCR5, ECCR5 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS モード 3 ◎ ◎ ◎ ◎ × × × × ◎ × 0/1 + bit5 bit4 bit3 MS SCDE SSM × × × bit2 bit1 BIE RBI × × : 使用ビット : 未使用ビット : ビットに "0" または "1" をセット : 正しい値に自動的に設定 ■ LIN デバイス接続 下図は 1 台の LIN マスタデバイスと , もう 1 台の LIN スレーブデバイスの間の通信シ ステムを示しています。UARTはLINマスタとしてもLINスレーブとしても動作します。 図 20.9-2 小規模 LIN バスシステムの接続例 LINバス SOT SOT SIN LIN-マスタ CM71-10142-5 SIN 単線式 トランシーバ 単線式 トランシーバ FUJITSU SEMICONDUCTOR LIMITED LIN-スレーブ 439 第 20 章 LIN-UART 20.9 LIN 通信動作 MB91220 シリーズ ■ LIN-UART マスタ 図 20.9-3 LIN-UART マスタの動作フロー ( マスタデバイスとして機能 ) 開始 初期化 モード3を設定 (8N1データ形式) TIE = 0, RIE = 0 メッセージを送信 ? NO YES スリープモードの送信 TDR = 80H TIE = 0 ブレークを送信 ECCRに"1" を書込み LBR; TIE = 1; フィールドの送信 TDR = 55H ウェイクアップ信号の送信 CPUからの ウェイクアップ ? YES TDRE = 1 Transm. Interrupt RIE = 0 TIE = 1 TDR = 80H NO RIE = 1 スリープモード を送信? YES NO NO 00H, 80H, C0H を受信? YES RIE = 0 Send Identify Field: TDR = Id スレーブへの 書込み? NO TIE = 0 RIE = 1 YES TIE = 1 スレーブへの書込み TIE = 0 エラー発生? NO YES エラー処理 スレーブからのデータ読出し RIE = 0 440 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 20 章 LIN-UART 20.9 LIN 通信動作 MB91220 シリーズ ■ LIN-UART スレーブ LIN-UART がスレーブデバイスとして機能するときの動作を以下のフローチャートに 示します。 図 20.9-4 LIN-UART マスタの動作フロー ( スレーブデバイスとして機能 ) 開始 A B 初期化: モード3を設定 (8N1データ形式) スレーブ アドレス一致? エラー発生? C RIE = 0; LBIE = 1; RXE = 0 YES E NO C YES NO マスタが データ送信を要求? 待機 (スレーブ 動作) NO YES LBD = 1 LINブレーク割込み LINマスタからの メッセージ待ち 割込みクリアのため にLBDへ"0"書込み ICU割込み許可 (両エッジ) 受信データ +checksum 80H 受信? (スリープモード) YES RIE = 0 TIE = 1 checksum計算 データ送信 S (次ページへ) 待機 (スレーブ 動作) ICU 割込み TIE = 0 NO C B ICU値の読出しと 保存 割込みクリア エラー発生? YES NO 待機 (スレーブ 動作) C ICU 割込み ICU値の読出し 新ボーレートの計算 計算値をリロード カウンタ(FL85)へ 設定 割込みクリア E エラーハンドラ C Identify Field受信 RIE = 1; RXE = 1 A ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 441 第 20 章 LIN-UART 20.9 LIN 通信動作 MB91220 シリーズ ( 続き ) S CPUからの ウェイクアップ? YES ウェイクアップ信号の送信 RIE = 0 TIE = 1 TDR = 80H NO TIE = 0 RIE = 1 NO 442 00H, 80H, C0H を受信? YES RIE = 0 FUJITSU SEMICONDUCTOR LIMITED C CM71-10142-5 第 20 章 LIN-UART 20.10 UART からの変更点 MB91220 シリーズ 20.10 UART からの変更点 LIN-UART の UART からの変更点を説明します。 ■ UART からの変更点 • 拡張ステータス制御レジスタ (ESCR) には次の機能があります。 - LIN 割込み発生機能 - シリアル入力 / 出力端子への直接アクセス (SIN, SOT) - サンプリングクロックエッジ選択ビット (SCES)( クロック反転 ) - 動作モード 2( スタート / ストップビットあり ) 時 , 連続シリアルクロック出力 • 拡張通信制御レジスタ (ECCR) には次の機能があります。 - 同期モード時におけるスタート / ストップ許可 (SSM) - 同期モード時におけるマスタとスレーブ通信 (MS) - 送信アイドルと受信アイドルフラグによるバスアイドル割込み発生 • シリアルモードレジスタ (SMR) の変更 - LIN スレーブ機能とデータ形式固定のための動作モード 3 を追加します。 - リロードカウンタ搭載のため , クロックセレクトビットを削除し , コントロール ビットに変更します。 • 動作モード 1 ( マルチプロセッサモード ) にて , マスタ / スレーブ機能を追加します。 • 送信 / 受信データフォーマットに関するフラグビットは , いつも「正しい」値を返し ます。例えば , プログラマが動作モード 3(LIN モード ) 時に , パリティ設定しようと しても PEN ビットは "0" を返します。 • 受信時 , シリアル制御レジスタ (SCR) のストップビット長選択ビット (SBL) が "1" のとき , 2 番目のストップビットがチェックされます。 • 非同期モード時 , 5 回サンプリング機能を追加します。 • 専用ボーレートジェネレータの入力データと受信クロックを同期させるため, SEDGE ( スタートビット立下り検出 ) 信号が発生します。 • バージョン 2.0 対応のため , NRZ と RZ シグナルモードを追加します。 • ビット操作命令で, ADビットリードモディファイライト(RMW)系命令が 可能です。 LIN-UART は通常の UART と類似していますが , ソフトウェアの互換性はありません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 443 第 20 章 LIN-UART 20.11 LIN-UART の制限事項 20.11 MB91220 シリーズ LIN-UART の制限事項 LIN-UART の制限事項を説明します。 ■ 制限事項 • バスアイドル割込み許可ビット ECCR : BIE は予約ビットとして常に "0" を書き込む か , LIN で使用する場合はマスタとして使用してください。 • モード 2 スレーブ送信時に TXE=1 の状態で UART リセットを行わないでください。 必ず EXT=0 の状態で UART をリセットしてください。 • LIN-UART のデータ転送において CPU によるプログラム転送の後に DMA 転送を行 うと余分な転送が発生しますので, DMA転送を開始する前にシリアルステータスレ ジスタ (SSR) の送信イネーブルビット (TIE) および受信イネーブルビット (RIE) を いったんディセーブル ("0" 書込み ) してから使用してください。 444 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ A/D コンバータの概要 , レジスタの構成 / 機能およ び A/D コンバータの動作について説明します。 CM71-10142-5 21.1 A/D コンバータの概要 21.2 A/D コンバータのレジスタ 21.3 A/D コンバータの動作 FUJITSU SEMICONDUCTOR LIMITED 445 第 21 章 A/D コンバータ 21.1 A/D コンバータの概要 21.1 MB91220 シリーズ A/D コンバータの概要 A/D コンバータの特長およびブロックダイヤグラムを説明します。 ■ A/D コンバータの概要 A/D コンバータには , RC 逐次比較変換方式でアナログ入力電圧を 10 ビットもしくは 8 ビットのデジタル値に変換する機能があります。入力信号は , 各アナログ入力端子から 選択し , 変換起動はソフトウェア , 内部クロック , 外部端子トリガの 3 種類から選択で きます。 ■ A/D コンバータの特長 A/D コンバータは , アナログ入力電圧をデジタル値に変換します。 A/D コンバータの特長は次のとおりです。 • 変換時間 1 チャネルあたり最小 3μs (16/32MHz の周辺クロック ) • サンプル & ホールド回路付き RC 型逐次比較変換方式を採用 • 10 ビットまたは 8 ビットの分解能 • アナログ入力は 24 チャネルからプログラムで選択 - シングル変換モード : 1 チャネルを選択変換 - スキャン変換モード : 連続した複数のチャネルを変換。最大 24 チャネルプログ ラム可能 - 連続変換モード : 指定チャネルを繰り返し変換 - 停止変換モード : 指定チャネルを変換したら一時停止して次の起動がかか るまで待機 ( 変換開始の同期が可能 ) • 割込み要求 A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることが できます。 • 起動要因を選択可能 起動要因には , ソフト , 外部トリガ ( 立下りエッジ ) またはタイマ ( 立上りエッジ ) が あります。 446 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.1 A/D コンバータの概要 MB91220 シリーズ ■ A/D コンバータのブロックダイヤグラム 図 21.1-1 に , A/D コンバータのブロックダイヤグラムを示します。 図 21.1-1 A/D コンバータのブロックダイヤグラム MPX AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 AN8 AN9 AN10 AN11 AN12 AN13 AN14 AN15 AN16 AN17 AN18 AN19 AN20 AN21 AN22 AN23 AVCC AVRH/AVRL AVSS D/Aコンバータ 逐次比較レジスタ 比較器 入 力 回 路 サンプル& ホールド回路 内 部 デ タ バ ス デ コ データレジスタ ダ A/D制御レジスタ0 A/D制御レジスタ1 ATGX 端子 動作クロック 16ビット リロードタイマ プリスケーラ CLKP CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 447 第 21 章 A/D コンバータ 21.1 A/D コンバータの概要 MB91220 シリーズ ■ 入力インピーダンス A/D コンバータのサンプリング回路は次の等価回路で表されます。 図 21.1-2 入力インピーダンス Rin 13.6kΩ(AVCC≧4.0V) 2.52kΩ(AVCC≧4.5V) Rext アナログ信号 ソース ANx アナログスイッチ Cin:最大10.7pF ADC Rext はサンプリング時間(Tsamp)の最大時間を超えない値にしてください。 Rext = Tsamp/(7 × Cin) - Rin 448 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ A/D コンバータのレジスタ 21.2 A/D コンバータのレジスタを説明します。 ■ A/D コンバータのレジスタ一覧 A/D コンバータには次のレジスタがあります。 • A/D コントロールステータスレジスタ • データレジスタ • サンプリングタイマ設定レジスタ • 開始 / 終了チャネル設定レジスタ 図 21.2-1 A/D コンバータのレジスタ配置 bit15 bit8 bit7 bit0 ADCS1 ADCS0 ADCR1 ADCR0 ADCT1 ADCT0 ADSCH ADECH 8 ビット 8 ビット 図 21.2-2 A/D コンバータのレジスタ A/D コントロールステータスレジスタ上位 (ADCS1) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000154H BUSY INT INTE PAUS STS1 STS0 STRT 予約 00000000B R/W R,W R/W R/W R(RM0),W R0,W0 R(RM1),W R(RM1),W A/D コントロールステータスレジスタ下位 (ADCS0) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000155H MD1 MD0 S10 ACH4 ACH3 ACH2 ACH1 ACH0 R/W R/W R/W R,WX R,WX R,WX R,WX R,WX 初期値 00000000B データレジスタ ( 上位 )(ADCR1) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000156H − − − − − − D9 D8 ------XXB R,WX R,WX R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX データレジスタ ( 下位 )(ADCR0) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000157H D7 D6 D5 D4 D3 D2 D1 D0 XXXXXXXXB R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ( 続く ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 449 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ ( 続き ) A/D 変換時間設定レジスタ上位 (ADCT1) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000158H CT5 CT4 CT3 CT2 CT1 CT0 ST9 ST8 00010000B R/W R/W R/W R/W R/W R/W R/W R/W A/D 変換時間設定レジスタ下位 (ADCT0) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000159H ST7 ST6 ST5 ST4 ST3 ST2 ST1 ST0 00101100B R/W R/W R/W R/W R/W R/W R/W R/W A/D 開始チャネル設定レジスタ (ADSCH) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 00015AH − − − ANS4 ANS3 ANS2 ANS1 ANS0 R/W R/W R/W R/W R/W R0,WX R0,WX R0,WX 初期値 ---00000B A/D 終了チャネル設定レジスタ (ADECH) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00015BH − − − ANE4 ANE3 ANE2 ANE1 ANE0 R/W R/W R/W R/W R/W R0,WX R0,WX R0,WX 初期値 ---00000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 450 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ ■ アナログ入力許可レジスタ 図 21.2-3 アナログ入力許可レジスタ アナログ入力許可レジスタ ADERH ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 000150H ADE31 ADE30 ADE29 ADE28 ADE27 ADE26 ADE25 ADE24 R/W R/W R/W R/W R/W R/W R/W R/W アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000151H ADE23 ADE22 ADE21 ADE20 ADE19 ADE18 ADE17 ADE16 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 11111111B 初期値 11111111B ADERL ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 000152H ADE15 ADE14 ADE13 ADE12 ADE11 ADE10 ADE9 ADE8 R/W R/W R/W R/W R/W R/W R/W R/W アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000153H ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 11111111B 初期値 11111111B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) アナログ入力に使用される端子に対応する ADEx ビットに常に "1" を書き込んでくだ さい。 アナログ入力に使用する端子は次のようにしてください。 • 0 : ポート入力 / 出力モード • 1 : アナログ入力モード • リセット時は "0" に初期化されます。 • 開始チャネル , 終了チャネルのアナログ入力許可レジスタには必ず "1" を書き込ん でください。 • MB91220 シリーズのアナログチャネル数は 24 ですので , ADE31 ∼ ADE24 は意味を 持ちません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 451 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ ■ A/D コントロールステータスレジスタ (ADCS1) 図 21.2-4 A/D コントロールステータスレジスタ (ADCS1) A/D コントロールステータスレジスタ上位 (ADCS1) ( アクセス:Byte,Half-word,Word) アドレス 000154H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 BUSY INT INTE PAUS STS1 STS0 STRT 予約 00000000B R/W R,W R/W R/W R(RM0),W R0,W0 R(RM1),W R(RM1),W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。 ) A/D コントロールステータスレジスタ(ADCS1) は , A/Dコンバータの制御およびステー タス表示を行います。 [bit15] BUSY (busy flag and stop) • 読出し時 : A/D コンバータ動作表示用のビットです。 A/D 変換起動でセットされ最終チャネルの変換終了でクリアされま す。 • 書込み時 : A/D 動作中に本ビットに "0" を書き込むと強制的に動作を停止しま す。連続 , 停止モード時の強制終了に利用します。 動作表示用のビットに "1" を書き込むことはできません。リードモディファイライ ト (RMW) 系命令では "1" が読み出されます。単発モードでは設定された最終チャ ネルの A/D 変換終了でクリアされます。 連続 , 停止モードでは "0" 書込みで停止するまでクリアされません。 リセット時に本ビットは "0" に初期化されます。 強制終了とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。 [bit14] INT (interrupt) 変換データが ADCR に書き込まれるとセットされます。 bit13 (INTE) が "1" のときに本ビットがセットされると割込み要求が発生します。 クリアは "0" 書込みで行われます。 ( 注意事項 ) 本ビットの "0" 書込みクリアは A/D 停止中に行ってください。 リセット時に本ビットは "0" に初期化されます。 DMA を使用した場合は DMA 転送終了時に本ビットがクリアされます。 [bit13] INTE (Interrupt enable) 本ビットは変換終了による割込みの許可・禁止を指定します。 • 0 : 割込みの禁止 • 1 : 割込みの許可 リセット時に本ビットは "0" に初期化されます。 [bit12] PAUS (A/D converter pause) A/D 変換動作が一時的に停止した場合にセットされます。 452 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ A/D 変換結果を格納するレジスタが 1 つのため , 連続で変換した場合 , 変換結果を DMA で転送しなければ前データが壊れてしまいます。 これを保護するためにデータレジスタの内容を DMA で転送しなければ , 次の変換 データが格納されないようになっています。この間 A/D 変換動作は停止します。 DMA で転送を終了すると A/D は変換を再開します。 このビットは DMA を使用したときのみ有効です。 • 本ビットのクリアは "0" 書込みでのみ可能です (DMA 転送終了ではクリアされま せん )。ただし , DMA 転送待ち状態のときはクリアできません。 • 変換データの保護機能に関しては「21.3 A/D コンバータの動作」を参照してく ださい。 • リセット時に本ビットは "0" に初期化されます。 [bit11, bit10] STS1, STS0 (Start source select) リセット時に本ビット群は "00B" に初期化されます。 本ビットの設定により A/D 起動要因を選択します。 STS1 STS0 0 0 ソフト起動 0 1 外部端子トリガでの起動とソフト起動 1 0 16 ビットリロードタイマでの起動とソフト起動 1 1 外部端子トリガ , 16 ビットリロードタイマでの起動とソフト起動 機能 2 つ以上の起動要因が許されているモードでは最初に発生した原因により A/D 変換 が起動されます。 起動源の設定は書き換えられると直ちに変わりますので , A/D 変換中に書き換える ときには注意してください。 • 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと きに本ビットを書き換えて外部端子トリガ起動に設定すると A/D が起動する場 合があります。 • タイマ選択時は , 16 ビットリロードタイマ 2 が選択されます。 [bit9] STRT (Start) 本ビットに "1" を書き込むことにより A/D を起動 ( ソフト起動 ) します。 再起動をかけるときは , 再び "1" を書き込んでください。 リセット時に本ビットは "0" に初期化されます。 連続モード時および停止モード時は動作機能上 , 再起動はかかりません。"1" を書き 込む前に BUSY ビットをチェックしてください (BUSY ビットをクリアしてから起 動してください )。 強制終了とソフト起動を同時に行わないでください (BUSY=0, STRT=1)。 [bit8] 予約ビット 本ビットには常に "0" を書き込んでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 453 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ ■ A/D コントロールステータスレジスタ (ADCS0) 図 21.2-5 A/D コントロールステータスレジスタ (ADCS0) A/D コントロールステータスレジスタ下位 (ADCS0) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000155H MD1 MD0 S10 ACH4 ACH3 ACH2 ACH1 ACH0 R/W R/W R/W R,WX R,WX R,WX R,WX R,WX 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) A/D コントロールステータスレジスタ(ADCS0) は , A/Dコンバータの制御およびステー タス表示を行います。ADCS0 は A/D 変換動作中に書き換えないようにしてください。 [bit7, bit6] MD1, MD0 (A/D converter mode set) MD1, MD0 ビットは , 動作モードを設定します。 MD1 MD0 0 0 単発モード : 動作中の再起動はすべて可能 0 1 単発モード : 動作中の再起動不可能 1 0 連続モード : 動作中の再起動不可能 1 1 停止モード : 動作中の再起動不可能 動作モード ( 注意事項 ) A/D 変換モード選択ビット (MD1, MD0) を "00B" に設定した場合は , A/D 変換中 の再起動ができます。このモードではソフトウェア起動 (STS1, STS0=00B) のみ 設定可能です。再起動は下記の手順で行ってください。 1. INT ビットを "0" にクリアする 2. STRT ビットに "1" を , INT ビットに "0" を同時に書き込む • 単発モード ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変 換を連続して行いすべてのチャネルの変換が終了したら停止します。 • 連続モード ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変 換を繰り返し行います。 • 停止モード ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで 1 チャネ ルごとに A/D 変換を行い一時停止します。変換再開は起動要因発生によって行 われます。 リセット時には本ビット群は "00B" に初期化されます。 • 連続モード , 停止モードで A/D 変換を起動すると , BUSY ビットで強制終了する まで変換動作を続けます。 • 強制終了は BUSY ビットに "0" を書き込むことにより行われます。 • 強制終了後の起動時は ANS4 ∼ ANS0 の設定チャネルから変換されます。 454 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ • 単発 , 連続 , 停止の各モードでの再起動不可能はタイマ , 外部トリガ , ソフトすべ ての起動に適用されます。 [bit5] S10 • 本ビットは変換の分解能を指定します。"0" にセットされると 10 ビットの A/D 変換が行われます。そのほかの場合には 8 ビットの A/D 変換が行われてその結 果は ADCR0 に記憶されます。 • リセット時に本ビットは "0" に初期化されます。 [bit4 ∼ bit0] ACH4 ∼ ACH0 (Analog convert select channel) 本ビット群より現在 A/D 変換中のチャネルを表します。 ACH4 ACH3 ACH2 ACH1 ACH0 変換チャネル 0 0 0 0 0 AN0 0 0 0 0 1 AN1 0 0 0 1 0 AN2 0 0 0 1 1 AN3 0 0 1 0 0 AN4 0 0 1 0 1 AN5 0 0 1 1 0 AN6 0 0 1 1 1 AN7 0 1 0 0 0 AN8 0 1 0 0 1 AN9 0 1 0 1 0 AN10 0 1 0 1 1 AN11 0 1 1 0 0 AN12 0 1 1 0 1 AN13 0 1 1 1 0 AN14 0 1 1 1 1 AN15 1 0 0 0 0 AN16 1 0 0 0 1 AN17 1 0 0 1 0 AN18 1 0 0 1 1 AN19 1 0 1 0 0 AN20 1 0 1 0 1 AN21 1 0 1 1 0 AN22 1 0 1 1 1 AN23 • 読出し時 A/D 変換 (BUSY ビット= 1) の間 , 現在の変換チャネルを本ビット群で表します。 強制終了 (BUSY ビット= 0) により停止した場合は変換が停止されたチャネルを 表します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 455 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ • 書込み時 本ビット群への書込みは無効です。 • リセット時に本ビット群は "00000B" に初期化されます。 ■ データレジスタ (ADCR0, ADCR1) 図 21.2-6 データレジスタ (ADCR0, ADCR1) データレジスタ上位 (ADCR1) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000156H − − − − − − D9 D8 ------XXB R,WX R,WX bit1 bit0 初期値 XXXXXXXXB R0,WX R0,WX R0,WX R0,WX R0,WX R0,WX データレジスタ下位 (ADCR0) ( アクセス:Byte,Half-word,Word) アドレス 000157H bit7 bit6 bit5 bit4 bit3 bit2 D7 D6 D5 D4 D3 D2 D1 D0 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) データレジスタ (ADCR0, ADCR1) は , 変換の結果として生成されたデジタル値を記憶 するために使用されるものです。 ADCR0 は下位 8 ビットを記憶し , ADCR1 は変換結果の最上位の 2 ビットを記憶しま す。これらのレジスタ値は変換が完了するたびに書き換えられます。通常は最後の変 換値が本ビット群に記憶されます。 ADCR1 の bit10 ∼ bit15 からは常に "0" が読み出されます。 変換データの保護機能を利用できます (「21.3 A/D コンバータの動作」を参照してく ださい )。 456 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ ■ A/D 変換時間設定レジスタ (ADCT0, ADCT1) 図 21.2-7 A/D 変換時間設定レジスタ (ADCT0, ADCT1) A/D 変換時間設定レジスタ上位 (ADCT1) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000158H CT5 CT4 CT3 CT2 CT1 CT0 ST9 ST8 00010000B R/W R/W R/W R/W R/W R/W R/W R/W A/D 変換時間設定レジスタ下位 (ADCT0) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000159H ST7 ST6 ST5 ST4 ST3 ST2 ST1 ST0 00101100B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) A/D 変換時間設定レジスタ (ADCT0, ADCT1) はアナログ入力のサンプリング時間およ び比較時間を制御します。本レジスタの設定で A/D の変換時間を設定します。 ADCT0, ADCT1 は A/D 変換動作中に書き換えないでください。 [bit15 ∼ bit10] CT5 ∼ CT0 (A/D compare time set) • 本ビット群の設定により比較操作時間のクロック分周値を指定します。 • CT5 ∼ CT0 の設定を "000001B"(01H) にすると分周なし (=CLKP) になります。 • CT5 ∼ CT0 の設定を "000000B"(00H) にしないでください。 • リセットにより本ビット群は "000100B"(04H) に初期化されます。 比較操作時間 (Compare Time) = CT 設定値× CLKP 周期× 10 + 4CLKP 周期 ( 注意事項 ) 比較操作時間が 500μs を超えないように設定してください。 [bit9 ∼ bit0] ST9 ∼ ST0 (Analog input sampling time set) • 本ビット群の設定によりアナログ入力のサンプリング時間を指定します。 • リセットにより本ビット群は "0000101100B"(02CH) に初期化されます。 サンプリング時間 (Sampling Time) = ST 設定値× CLKP 周期 ( 注意事項 ) サンプリング時間を 1.375μs 以下にしないでください。 • 必要サンプリング時間および ST 設定時間の算出は以下の計算で行ってください。 必要サンプリング時間 (Tsamp) = (Rext + Rin) × Cin × 7 ST9 ∼ ST0 設定値=必要サンプリング時間 (Tsamp) ÷ CLKP 周期 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 457 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ • ST の設定値は A/D のサンプリング時間が必要サンプリング時間以上になるよう に設定してください。 例 : クロック 32MHz, AVCC = 4.5V 以上 , Rext = 200kΩ の場合 Tsamp = (200 × 103 + 2.52 × 103) × 10.7 × 10-12 × 7 = 約 15.17μs = 15.17-6 ÷ 31.25-9 = 485.44 ST = 486(1E6H) 以上を設定してください。 • Rextの値により必要サンプリング時間が決まりますので変換時間を考慮してRext を決定してください。 • ST9 ∼ ST0 へ以下の値を設定することは禁止です。3 以上の値を設定してくださ い。 "0000000010"(02H), "0000000001"(01H), "0000000000"(00H) ■ 推奨設定値 最適な変換時間を達成するために , 以下の設定を推奨します。 (AVCC ≧ 4.5V, Rext ≦ 15kΩ) CLKP (MHz) 比較操作時間 (CT5 ∼ CT0) サンプリング時間 (ST9 ∼ ST0) 変換時間 (ms) 16 000010B(02H) 0000010110B(016H) 1.375 + 1.500 = 2.875 32 000100B(04H) 0000101100B(02CH) 1.375 + 1.375 = 2.750 ■ A/D 開始 / 終了チャネル設定レジスタ (ADSCH, ADECH) 図 21.2-8 A/D 開始 / 終了チャネル設定レジスタ (ADSCH, ADECH) A/D 開始チャネル設定レジスタ (ADSCH) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 00015AH − − − ANS4 ANS3 ANS2 ANS1 ANS0 R/W R/W R/W R/W R/W R0,WX R0,WX R0,WX 初期値 ---00000B A/D 終了チャネル設定レジスタ (ADECH) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00015BH − − − ANE4 ANE3 ANE2 ANE1 ANE0 R/W R/W R/W R/W R/W R0,WX R0,WX R0,WX 初期値 ---00000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) A/D 変換の開始チャネルと終了チャネルの設定レジスタです。 ADCSH, ADCEH は A/D 変換中に書き換えないでください。 • 本ビット群より A/D 変換の開始チャネルと終了チャネルを設定します。 • 同一のチャネルが ANS4 ∼ ANS0 および ANE4 ∼ ANE0 に書き込まれると , 変換は 1 つのチャネルに対してのみ行われます ( シングル変換 )。 458 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.2 A/D コンバータのレジスタ MB91220 シリーズ • 連続モード , 停止モードを設定している場合は本ビット群で設定されたチャネルの 変換が終わると ANS4 ∼ ANS0 で設定された開始チャネルに戻ります。 • 設定チャネルが ANS > ANE の場合は ANS から変換が始まり 23 チャネルまで変換 したら 0 チャネルに戻り ANE まで変換します。 • リセットにより本ビット群は ANS=00000B, ANE=00000B に初期化されます。 例 : チャネル設定 ANS=6 チャネル , ANE=3 チャネルで単発モードのとき変換は次 の順序で行われます。 6 チャネル → 7 チャネル → 8 チャネル → ••• → 23 チャネル → 0 チャネル → 1 チャネル → 2 チャネル → 3 チャネル [bit12 ∼ bit8] ANS4 ∼ ANS0 ( アナログ変換開始チャネル ) [bit4 ∼ bit0] ANE4 ∼ ANE0 ( アナログ変換終了チャネル ) CM71-10142-5 ANS4 ANE4 ANS3 ANE3 ANS2 ANE2 ANS1 ANE1 ANS0 ANE0 開始 / 終了チャネル 0 0 0 0 0 AN0 0 0 0 0 1 AN1 0 0 0 1 0 AN2 0 0 0 1 1 AN3 0 0 1 0 0 AN4 0 0 1 0 1 AN5 0 0 1 1 0 AN6 0 0 1 1 1 AN7 0 1 0 0 0 AN8 0 1 0 0 1 AN9 0 1 0 1 0 AN10 0 1 0 1 1 AN11 0 1 1 0 0 AN12 0 1 1 0 1 AN13 0 1 1 1 0 AN14 0 1 1 1 1 AN15 1 0 0 0 0 AN16 1 0 0 0 1 AN17 1 0 0 1 0 AN18 1 0 0 1 1 AN19 1 0 1 0 0 AN20 1 0 1 0 1 AN21 1 0 1 1 0 AN22 1 0 1 1 1 AN23 1 1 X X X 設定禁止 FUJITSU SEMICONDUCTOR LIMITED 459 第 21 章 A/D コンバータ 21.3 A/D コンバータの動作 21.3 MB91220 シリーズ A/D コンバータの動作 A/D コンバータの動作を説明します。 ■ A/D コンバータの動作 A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットを選択す ることができます。 この A/D コンバータは変換結果記憶用のレジスタが 1 つ (16 ビット ) であるため , 変換 データレジスタ (ADCR0 および ADCR1) は変換が完了するたびに書き換えられます。 このため , A/D コンバータ単独では連続変換処理には適しませんので DMA を使って変 換データをメモリに転送しながら変換することを推奨します。動作モードを次に説明 します。 ■ 単発モード 単発モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい き ANE ビットで設定された終了チャネルまで変換が終わると A/D は動作を停止しま す。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一方のチャネルのみの変 換動作になります。 [例] • ANS = 00000B, ANE = 00011B 開始 → AN0 → AN1 → AN2 → AN3 → 終了 • ANS = 00010B, ANE = 00010B 開始 → AN2 → 終了 ■ 連続モード 連続モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい き ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に 戻り変換動作を続けます。開始チャネルと終了チャネルが同じとき (ANS = ANE) は一 方のチャネルのみの変換を続けます。 [例] • ANS = 00000B, ANE = 00011B 開始 → AN0 → AN1 → AN2 → AN3 → AN0 −−→ 繰返し • ANS = 010B, ANE = 010B 開始 → AN2 → AN2 → AN2 −−→ 繰返し 連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま す (BUSY ビットに "0" を書き込む→強制終了 )。強制終了を行うと変換中のものは途 中で止まってしまうため , 注意してください ( 強制終了した場合は変換レジスタは変換 完了した前データが格納されています )。 460 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 21 章 A/D コンバータ 21.3 A/D コンバータの動作 MB91220 シリーズ ■ 停止モード 停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい きますが 1 チャネル変換するたびに変換動作を一時停止します。一時停止を解除する にはもう一度起動を行ってください。 ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻 り変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS=ANE) であれば変 換は一方のチャネルに対してのみ実行されます。 [例] • ANS = 00000B, ANE = 00011B 開始 → AN0 → 停止 → 起動 → AN1 → 停止 → 起動 → AN2 → 停止 → 起動 → AN3 → 停止 → 起動 → AN0 −−→繰返し • ANS = 010B, ANE = 010B 開始 → AN2 → 停止 → 起動 → AN2 → 停止 → 起動 → AN2 −−→ → 繰返し このときの起動要因は STS1, STS0 で設定されたものだけです。 このモードを使用することにより変換開始の同期をかけることが可能です。 <注意事項> A/D 変換モード選択ビット (MD1, MD0) を "00B" に設定した場合は , A/D 変換中の再起動 ができます。このモードではソフトウェア起動 (STS1, STS0=00B) のみ設定可能です。再 起動は下記の手順で行ってください。 1. INT ビットを "0" にクリアする 2. STRT ビットに "1" を , INT ビットに "0" を同時に書き込む CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 461 第 21 章 A/D コンバータ 21.3 A/D コンバータの動作 462 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN CAN の機能と動作について説明します。 CM71-10142-5 22.1 CAN の特長 22.2 CAN のブロックダイヤグラム 22.3 CAN のレジスタ 22.4 CAN レジスタ機能 22.5 CAN 機能 FUJITSU SEMICONDUCTOR LIMITED 463 第 22 章 CAN 22.1 CAN の特長 22.1 MB91220 シリーズ CAN の特長 CAN は , シリアル通信用の標準プロトコルである CAN プロトコル ver2.0A/B に準 拠しており , 自動車や FA 等の工業分野に広く使用されています。 ■ CAN の特長 CAN には以下の特長があります。 • CAN プロトコル ver2.0A/B をサポート • 1 Mbps までのビットレートをサポート • メッセージオブジェクトごとの識別マスク • プログラマブル FIFO モードをサポート • マスク可能な割込み • 自己テスト動作用プログラマブルループバックモードをサポート • インタフェースレジスタを使用してメッセージバッファへのリード・ライト 464 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.2 CAN のブロックダイヤグラム MB91220 シリーズ 22.2 CAN のブロックダイヤグラム 図 22.2-1 に , CAN のブロックダイヤグラムを示します。 ■ CAN のブロックダイヤグラム 図 22.2-1 CAN のブロックダイヤグラム ■ CAN コントローラ CAN プロトコルと送受信メッセージ転送のためのシリアル/パラレル変換用のシリア ルレジスタを制御します。 ■ メッセージ RAM メッセージオブジェクトを格納します。 ■ メッセージハンドラ メッセージ RAM と CAN コントローラを制御します。 ■ CPU インタフェース FR 内部バスのインタフェースを制御します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 465 第 22 章 CAN 22.3 CAN のレジスタ 22.3 MB91220 シリーズ CAN のレジスタ CAN には , 以下のレジスタがあります。 • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPER) • IFx コマンド要求レジスタ (IFxCREQ) • IFx コマンドマスクレジスタ (IFxCMSK) • IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2) • IFx アービトレーション 1, 2(IFxARB1, IFxARB2) • IFx メッセージ制御レジスタ (IFxMCTR)(IFxMCTR) • IFx データレジスタ A1, A2, B1, B2(IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) • CAN 送信要求レジスタ 1, 2(TREQR1, TREQR2) • CAN New Data レジスタ 1, 2(NEWDT1, NEWDT2) • CAN 割込みペンディングレジスタ 1, 2(INTPND1, INTPND2) • CAN メッセージ有効レジスタ 1, 2(MSGVAL1, MSGVAL2) • CAN クロックプリスケーラレジスタ (CANPRE) 466 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.3 CAN のレジスタ MB91220 シリーズ ■ 全体コントロールレジスタ一覧 表 22.3-1 全体コントロールレジスタ一覧 レジスタ アドレス 備考 +0 +1 CAN 制御レジスタ (CTRLR) Base-addr + 00H CAN ステータスレジスタ (STATR) bit[7:0] bit[15:8] bit[7:0] 予約ビット CTRLR 参照 予約ビット STATR 参照 Reset: 00H Reset: 01H Reset: 00H Reset: 00H bit[15:8] CAN ビットタイミング レジスタ (BTR) bit[7:0] bit[15:8] bit[7:0] RP, REC[6:0] TEC[7:0] TSeg2[2:0], TSeg1[3:0] SJW[1:0], BRP[5:0] Reset: 00H Reset: 00H Reset: 23H Reset: 01H CAN 割込みレジスタ (INTR) Base-addr + 08H CAN テストレジスタ (TESTR) bit[15:8] bit[7:0] bit[15:8] bit[7:0] IntId[15:8] IntId[7:0] 予約ビット TESTR 参照 Reset: 00H Reset: 00H Reset: 00H Reset: 00H & 0br0000000 CAN プリスケーラ拡張レジスタ (BRPER) Base-addr + 0CH +3 bit[15:8] CAN エラーカウンタ (ERRCNT) Base-addr + 04H +2 STATR: BOff, EWarn,EPass=Read Only RxOk,TxOk,LEC= Read/Write ERRCNT: Read Only BTR: Init(CTLR)=CCE (CTRLR)=1 時 Write 可能。 INTR: Read Only TESTR: Test(CTRLR)=1 時 Write 可能。 "Rx" は CAN_RX 端子のレベル値を 示す。 予約ビット bit[15:8] bit[7:0] bit[15:8] bit[7:0] 予約ビット BRP[3:0] - - Reset: 00H Reset: 00H Reset: 00H Reset: 00H BRP: CCE(CTLR)=1 時 Write 可能。 Base-addr は以下のとおりです。 • CAN0(ch.0) : 00020000H • CAN1(ch.1) : 00020100H CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 467 第 22 章 CAN 22.3 CAN のレジスタ MB91220 シリーズ ■ メッセージインタフェースレジスタ一覧 表 22.3-2 メッセージインタフェースレジスタ一覧 (1 / 3) レジスタ アドレス 備考 +0 +1 IF 1 コマンド要求レジスタ (IF1CREQ) Base-addr + 10H +2 +3 IF1 コマンドマスクレジスタ (IF1CMSK) bit[15:8] bit[7:0] bit[15:8] bit[7:0] Busy Mess. No. [5:0] 予約ビット IF1CMSK 参照 Reset: 00H Reset: 01H Reset: 00H Reset: 00H IF1 マスクレジスタ 2 (IF1CMSK2) IF1 マスクレジスタ 1 (IF1CMSK1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] MXtd. MDir, Msk[28:24] Msk[23:16] Msk[15:8] Msk[7:0] Reset: FFH Reset: FFH Reset: FFH Reset: FFH Base-addr + 14H IF1 アービトレーションレジスタ 2 IF1 アービトレーションレジスタ 1 (IF1ARB2) (IF1ARB1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] MsgVal, Xtd, Dir,ID[28:24] ID[23:16] ID[15:8] ID[7:0] Reset: 00H Reset: 00H Reset: 00H Reset: 00H Base-addr + 18H IF1 メッセージコントロールレジスタ (IF1MCTR) Base-addr + 1CH Base-addr + 20H bit[15:8] bit[7:0] bit[15:8] bit[7:0] IF1MCTR 参照 IF1MCTR 参照 - - Reset: 00H Reset: 00H Reset: 00H Reset: 00H IF1 データ A レジスタ 1 (IF1DTA1) IF1 データ A レジスタ 2 (IF1DTA2) bit[7:0] bit[15:8] bit[7:0] bit[15:8] Data[0] Data[1] Data[2] Data[3] Reset: 00H Reset: 00H Reset: 00H Reset: 00H IF1 データ B レジスタ 1 (IF1DTB1) Base-addr + 24H 468 予約ビット バイト配列順序 : Big Endian IF1 データ B レジスタ 2 (IF1DTB2) bit[7:0] bit[15:8] bit[7:0] bit[15:8] Data[4] Data[5] Data[6] Data[7] Reset: 00H Reset: 00H Reset: 00H Reset: 00H FUJITSU SEMICONDUCTOR LIMITED バイト配列順序 : Big Endian CM71-10142-5 第 22 章 CAN 22.3 CAN のレジスタ MB91220 シリーズ 表 22.3-2 メッセージインタフェースレジスタ一覧 (2 / 3) レジスタ アドレス 備考 +0 +1 IF1 データ A レジスタ 2 (IF1DTA2) Base-addr + 30H bit[15:8] bit[7:0] Data[3] Data[2] Data[1] Data[0] Reset: 00H Reset: 00H Reset: 00H Reset: 00H バイト配列順序 : Little Endian IF1 データ B レジスタ 1 (IF1DTB1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] Data[7] Data[6] Data[5] Data[4] Reset: 00H Reset: 00H Reset: 00H Reset: 00H バイト配列順序 : Little Endian IF2 コマンドマスクレジスタ (IF2CMSK) bit[15:8] bit[7:0] bit[15:8] bit[7:0] Busy Mess. No. [5:0] 予約ビット IF2CMSK 参照 Reset: 00H Reset: 01H Reset: 00H Reset: 00H IF2 マスクレジスタ 2 (IF2CMSK2) Base-addr + 44H IF1 データ A レジスタ 1 (IF1DTA1) bit[7:0] IF2 コマンド要求レジスタ (IF2CREQ) Base-addr + 40H +3 bit[15:8] IF1 データ B レジスタ 2 (IF1DTB2) Base-addr + 34H +2 IF2 マスクレジスタ 1 (IF2CMSK1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] MXtd. MDir, Msk[28:24] Msk[23:16] Msk[15:8] Msk[7:0] Reset: FFH Reset: FFH Reset: FFH Reset: FFH IF2 アービトレーションレジスタ 2 IF2 アービトレーションレジスタ 1 (IF2ARB2) (IF2ARB1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] MsgVal, Xtd, Dir,ID[28:24] ID[23:16] ID[15:8] ID[7:0] Reset: 00H Reset: 00H Reset: 00H Reset: 00H Base-addr + 48H IF2 メッセージコントロールレジスタ (IF2MCTR) Base-addr + 4CH CM71-10142-5 予約ビット bit[15:8] bit[7:0] bit[7:0] bit[15:8] IF2MCTR 参照 IF2MCTR 参照 - - Reset: 00H Reset: 00H Reset: 00H Reset: 00H FUJITSU SEMICONDUCTOR LIMITED 469 第 22 章 CAN 22.3 CAN のレジスタ MB91220 シリーズ 表 22.3-2 メッセージインタフェースレジスタ一覧 (3 / 3) レジスタ アドレス 備考 +0 Base-addr + 50H +1 IF2 データ A レジスタ 2 (IF2DTA2) bit[7:0] bit[15:8] bit[7:0] bit[15:8] Data[0] Data[1] Data[2] Data[3] Reset: 00H Reset: 00H Reset: 00H Reset: 00H bit[15:8] bit[7:0] bit[15:8] Data[4] Data[5] Data[6] Data[7] Reset: 00H Reset: 00H Reset: 00H Reset: 00H Base-addr + 64H バイト配列順序 : Big Endian IF2 データ A レジスタ 1 (IF2DTA1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] Data[3] Data[2] Data[1] Data[0] Reset: 00H Reset: 00H Reset: 00H Reset: 00H IF2 データ B レジスタ 2 (IF2DTB2) バイト配列順序 : Big Endian IF2 データ B レジスタ 2 (IF2DTB2) bit[7:0] IF2 データ A レジスタ 2 (IF2DTA2) Base-addr + 60H +3 IF2 データ A レジスタ 1 (IF2DTA1) IF2 データ B レジスタ 1 (IF2DTB1) Base-addr + 54H +2 バイト配列順序 : Little Endian IF2 データ B レジスタ 1 (IF2DTB1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] Data[7] Data[6] Data[5] Data[4] Reset: 00H Reset: 00H Reset: 00H Reset: 00H バイト配列順序 : Little Endian Base-addr は以下のとおりです。 • CAN0(ch.0) : 00020000H • CAN1(ch.1) : 00020100H 470 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.3 CAN のレジスタ MB91220 シリーズ ■ メッセージハンドラレジスタ一覧 表 22.3-3 メッセージハンドラレジスタ一覧 レジスタ アドレス 備考 +0 Base-addr + 80H Base-addr + 84H Base-addr + 90H Base-addr + 94H +1 +2 +3 CAN 送信要求レジスタ 2 (TREQR2) CAN 送信要求レジスタ 1 (TREQR1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] TxRqst[32-25] TxRqst[24-17] TxRqst[16-9] TxRqst[8-1] Reset: 00H Reset: 00H Reset: 00H Reset: 00H INTR1,2: Read Only 32 メッセージバッファ以上をサポートするための予約領域 (CAN 送信要求レジスタ (TREQR1, TREQR2) 参照 ) CAN New Data レジスタ 2 (NEWDT2) CAN New Data レジスタ 1 (NEWDT1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] NewDat[32-25] NewDat[24-17] NewData[16-9] NewData[8-1] Reset: 00H Reset: 00H Reset: 00H Reset: 00H NEWDT1,2: Read Only 32 メッセージバッファ以上をサポートするための予約領域 (CAN データ更新レジスタ (NEWDT1, NEWDT2) 参照 ) CAN 割込みペンディングレジスタ 2 CAN 割込みペンディングレジスタ 1 (INTPND2) (INTPND1) Base-addr + A0H Base-addr + A4H bit[15:8] bit[7:0] bit[15:8] bit[7:0] IntPnd[32-25] IntPnd[24-17] IntPnd[16-9] IntPnd[8-1] Reset: 00H Reset: 00H Reset: 00H Reset: 00H 32 メッセージバッファ以上をサポートするための予約領域 (CAN 割込みペンディングレジスタ (INTPND1, INTPND2) 参照 ) CAN メッセージ有効レジスタ 2 (MSGVAL2) Base-addr + B0H Base-addr + B4H INTPND1,2: Read Only CAN メッセージ有効レジスタ 1 (MSGVAL1) bit[15:8] bit[7:0] bit[15:8] bit[7:0] MsgVal[32-25] MsgVal[24-17] MsgVal[16-9] MsgVal[8-1] Reset: 00H Reset: 00H Reset: 00H Reset: 00H MSGVAL1,2: Read Only 32 メッセージバッファ以上をサポートするための予約領域 (CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) 参照 ) Base-addr は以下のとおりです。 • CAN0(ch.0) : 00020000H • CAN1(ch.1) : 00020100H CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 471 第 22 章 CAN 22.3 CAN のレジスタ MB91220 シリーズ ■ クロックプリスケーラレジスタ 表 22.3-4 クロックプリスケーラレジスタ レジスタ アドレス 00_01A8H 472 備考 +0 +1 +2 +3 CANPRE - - - bit[3:0] - - - CANPRE[3:0] - - - Reset: 00H - - - FUJITSU SEMICONDUCTOR LIMITED CAN Prescaler CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ 22.4 CAN レジスタ機能 CAN レジスタは , 256 バイト (64 ワード ) のアドレス空間が割り当てられ , バイトも しくはワードのアクセスが可能です。メッセージ RAM への CPU のアクセスは , メッセージインタフェースレジスタを介して行います。 CAN レジスタを掲載し , それぞれのレジスタの詳細機能を記載します。 ■ 全体コントロールレジスタ • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPER) ■ メッセージインタフェースレジスタ • IFx コマンド要求レジスタ (IFxCREQ) • IFx コマンドマスクレジスタ (IFxCMSK) • IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2) • IFx アービトレーションレジスタ 1, 2(IFxARB1, IFxARB2) • IFx メッセージ制御レジスタ (IFxMCTR) • IFx データレジスタ A1, A2, B1, B2(IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) ■ メッセージハンドラレジスタ • CAN 送信要求レジスタ 1, 2(TREQR1, TREQR2) • CAN データ更新レジスタ 1, 2(NEWDT1, NEWDT2) • CAN 割込みペンディングレジスタ 1, 2(INTPND1, INTPND2) • CAN メッセージ有効レジスタ 1, 2(MSGVAL1, MSGVAL2) ■ プリスケーラレジスタ • CAN クロックプリスケーラレジスタ (CANPRE) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 473 第 22 章 CAN 22.4 CAN レジスタ機能 22.4.1 MB91220 シリーズ 全体コントロールレジスタ 全体コントロールレジスタは , CAN プロトコル制御および動作モードを制御し , ス テータス情報を提供します。 ■ 全体コントロールレジスタ • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPER) ■ CAN 制御レジスタ (CTRLR) CAN コントローラの動作モードを制御します。 図 22.4-1 CAN 制御レジスタ (CTRLR) のビット構成 CAN 制御レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 Base+00H 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 bit1 bit0 初期値 00000001B 00000000B CAN 制御レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+01H bit7 bit6 bit5 bit4 bit3 bit2 Test CCE DAR SIE IE Init R/W R/W 予約 R0,W0 EIE R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15 ∼ bit8] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit7] : テストモード許可ビット Test 474 機能 0 通常動作 1 テストモード [ 初期値 ] FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ [bit6] : ビットタイミングレジスタ書込み許可ビット CCE 機能 0 CAN ビットタイミングレジスタ (BTR) および CAN プリスケーラ拡 張レジスタ (BRPER) への書込みを禁止します。[ 初期値 ] 1 CAN ビットタイミングレジスタ (BTR) および CAN プリスケーラ拡 張レジスタ (BRPER) への書込みを許可します。Init ビットが "1" の ときに有効です。 [bit5] : 自動再送禁止ビット DAR 機能 0 調停負けまたはエラー検出時のメッセージの自動再送を許可しま す。[ 初期値 ] 1 自動再送を禁止します。 CAN コントローラは調停負けあるいは転送中のエラー検出によりフレームの自動 再送を行います。 自動再送する場合は , DAR ビットに "0" を設定してください。 CAN を Time Triggered CAN 環境で動作させる場合は , DAR ビットに "1" を設定してくだ さい。 <注意事項> DAR ビットに "1" を設定した場合は , メッセージオブジェクト ( メッセージオブジェクト については「22.4.3 メッセージオブジェクト 」を参照してください ) の TxRqst ビットと NewDat ビットの値は以下のようになります。 • フレーム送信を開始したとき , メッセージオブジェクトの TxRqst ビットが "0" にクリ アされますが , NewDat ビットは 1" にセットされたままです。 • フレーム送信が正常終了すると NewDat ビットは "0" にクリアされます。 送信が調停負けもしくはエラー検出すると , NewDat ビットは "1" にセットされたままで す。送信を再開するためには , TxRqst ビットに "1" を設定してください。 [bit4] : 予約ビット 常に "0" が読み出せます。書込みは動作に影響ありません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 475 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ [bit3] : エラー割込みコード許可ビット EIE 機能 0 CAN ステータスレジスタ (STATR) の Boff ビットまたは EWarn ビットの変化により , CAN 割込みレジスタ (INTR) への割込みコー ドの設定を禁止します。 [ 初期値 ] 1 CAN ステータスレジスタ (STATR) の Boff ビットまたは EWarn ビットの変化により , CAN 割込みレジスタ (INTR) へのステータス 割込みコードの設定を許可します。 [bit2] : ステータス割込みコード許可ビット SIE 機能 0 CAN ステータスレジスタ (STATR) の TxOk,RxOk または LEC ビッ トの変化により , CAN 割込みレジスタ (INTR) への割込みコードの 設定を禁止します。 [ 初期値 ] 1 CAN ステータスレジスタ (STATR) の TxOk,RxOk または LEC ビッ トの変化により , CAN 割込みレジスタ (INTR) へのステータス割込 みコードの設定を許可します。CPU からの書込みによって発生し た TxOk, RxOk, LEC ビットの変化は CAN 割込みレジスタ (INTR) には設定されません。 [bit1] : 割込み許可ビット IE 機能 0 割込みの発生を禁止します。[ 初期値 ] 1 割込みの発生を許可します。 [bit0] : 初期化ビット Init 476 機能 0 CAN コントローラの初期化解除後に動作します。 1 CAN コントローラを初期化し , 動作を停止します。[ 初期値 ] FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ <注意事項> • バスオフリカバリシーケンスは , Init ビットの設定/解除によって短縮はできません。 デバイスがバスオフになると , CAN コントローラ自身が Init ビットを "1" にセットし , すべてのバス動作を停止します。バスオフ状態から Init ビットを "0" にクリアすると , バスアイドルが連続的に 129 回 (11 ビットのレセッシブを1回とする ) 発生するまで バス動作を停止状態にします。バスオフリカバリシーケンス実行後 , エラーカウンタを リセットします。 • CAN ビットタイミングレジスタ (BTR) を設定する場合は , Init および CCE ビットに "1" を設定してください。 • 低消費電力モードへ遷移する前に Init ビットに "1" を設定し CAN コントローラの初期 化を行ってください。 • CAN プリスケーラレジスタ (BRTER) により , CAN インタフェースに供給するクロッ クの分周比を変更する場合は , Init ビットに "1" を設定し , CAN コントローラを停止し た状態で CAN プリスケーラレジスタの変更を行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 477 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN ステータスレジスタ (STATR) CAN ステータスおよび CAN バス状態を表示します。 図 22.4-2 CAN ステータスレジスタ (STATR) のビット構成 CAN ステータスレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 Base+02H 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 初期値 00000000B CAN ステータスレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 Base+03H BOff EWarn EPass RxOk TxOk R,WX R,WX R,WX R/W R/W bit2 bit1 bit0 00000000B LEC R/W R/W 初期値 R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15 ∼ bit8] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit7] : バスオフビット BOff 機能 0 CAN コントローラはバスオフ状態でないことを示します。 [ 初期値 ] 1 CAN コントローラはバスオフ状態であることを示します。 [bit6] : ワーニングビット EWarn 機能 0 送信と受信カウンタが共に 96 未満であることを示します [ 初期値 ] 1 送信または受信カウンタが 96 以上であることを示します。 [bit5] : エラーパッシブビット 478 EPass 機能 0 送信と受信カウンタが共に 128 未満 ( エラーアクティブ状態 ) であ ることを示します。 [ 初期値 ] 1 受信カウンタは RP ビット ="1", 送信カウンタが 128 以上 ( エラー パッシブ状態 ) であることを示します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ [bit4] : メッセージ正常受信ビット RxOk 機能 0 CAN バス上で正常なメッセージ通信が行われていない またはバスアイドル状態であることを示します。[ 初期値 ] 1 CAN バス上で正常なメッセージ通信が行われたことを示します。 [bit3] : メッセージ正常送信ビット TxOk 機能 0 バスアイドル状態もしくは正常なメッセージ送信が行われていない ことを示します。[ 初期値 ] 1 正常なメッセージ送信が行われたことを示します。 <注意事項> RxOk および TxOk ビットは , "0" 書込みでのみクリアされます。 [bit2 ∼ bit0] : ラストエラーコードビット LEC[2:0] 状態 000 正常 001 Stuff エラー メッセージ内において 6 ビット以上連続してドミナ ントまたはレセッシブを検出したことを示します 010 Form エラー 受信されたフレームの固定フォーマット部が間違っ て検出したことを示します。 011 Ack エラー 送信メッセージに対し , ほかのノードからアクノ リッジされなかったことを示します。 100 bit1 エラー 調停フィールドを除くメッセージの送信データにお いて , レセッシブを送信したにもかからずドミナン トを検出したことを示します。 101 bit0 エラー メッセージの送信データにおいて , ドミナントを送 信したにもかからずレセッシブを検出したことを示 します。 バスリカバリ中には , 11 ビットのレセッシブを検出 するごとにセットされます.このビットを読み出す ことによりバスリカバリシーケンスを監視できます。 110 CRC エラー 受信したメッセージの CRC データと計算した CRC の結果が一致しなかったことを示します。 機能 正常に送信または受信されたことを示します。 [ 初期値 ] LEC ビットに "111B" を設定した後 , LEC 値が 111 未検出 "111B" を読み出した場合 , その期間は送受信しな かったことを示します。( バスアイドル状態 ) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 479 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ LEC ビットは CAN バス上で発生した最後のエラーを示すコードを保持します。メッ セージがエラー無しで転送 ( 受信/送信 ) 完了すると "0" にクリアされます。未検 出コード "111B" は , コード更新をチェックするために使用することができます。 <注意事項> • ステータス割込みコード (8000H) は , EIE ビットが "1" のときに BOff または EWarn ビッ トが変化した場合 , もしくは SIE ビットが "1" のときに RxOk, TxOk または LEC ビッ トが変化した場合 , CAN 割込みレジスタ (INTR) に設定されます。 • RxOk, TxOk ビットはフラグの値がプログラムによる書込みによって更新されますの で , CAN コントローラによってセットされた RxOk, TxOk ビットの値が変更されてし まいます。もし RxOk, TxOk ビットを使用する場合には , RxOk または TxOk ビットが "1" にセットされてから (45 × BT) 時間以内にクリアしてください。BT は 1 ビットタ イムを示します。 • SIE ビットが "1" の時 , LEC ビットの変化による割込みが発生した場合には CAN ステー タスレジスタ (STATR) に書き込まないでください。 • EPass ビットの変化 , RxOk, TxOk および LEC ビットへの書込み動作では CAN 割込み レジスタ (INTR) のエラーコード割込みのセットは行われません。 • BOff ビットまたは EPass ビットが "1" の場合 EWarn ビットは "1" のままです。 • CAN ステータスレジスタ (STATR) を読み出すことにより , CAN 割込みレジスタ (INTR) のステータス割込み (8000H) はクリアされます。 480 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN エラーカウンタ (ERRCNT) 受信エラーパッシブ表示および受信エラーカウンタ , 送信エラーカウンタを示します。 図 22.4-3 CAN エラーカウンタ (ERRCNT) のビット構成 CAN エラーカウンタレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+04H bit15 bit14 bit13 bit12 R,WX R,WX R,WX RP bit11 bit10 bit9 bit8 R,WX R,WX R,WX 00000000B REC 6-0 R,WX R,WX 初期値 CAN エラーカウンタレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+05H bit4 bit3 bit2 bit1 bit0 00000000B TEC 7-0 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] : 受信エラーパッシブ表示 RP 機能 0 受信エラーカウンタはエラーパッシブ状態でないことを示します。 [ 初期値 ] 1 受信エラーカウンタは CAN 仕様で定義されているエラーパッシブ状 態に到達したことを示します。 [bit14 ∼ bit8] : 受信エラーカウンタ 受信エラーカウンタ値。受信エラーカウンタ値の範囲は 0 ∼ 127 です。 [bit7 ∼ bit0] : 送信エラーカウンタ 送信エラーカウンタ値。送信エラーカウンタ値の範囲は 0 ∼ 255 です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 481 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN ビットタイミングレジスタ (BTR) プリスケーラおよびビットタイミングを設定します。 図 22.4-4 CAN ビットタイミングレジスタ (BTR) のビット構成 CAN ビットタイミングレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 Base+06H 予約 R0,W0 bit14 bit13 bit12 bit11 bit10 TSeg2 R/W R/W bit9 bit8 TSeg1 R/W R/W R/W R/W 初期値 00100011B R/W CAN ビットタイミングレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 Base+07H bit6 bit5 bit4 bit3 SJW R/W bit2 bit1 bit0 00000001B BRP R/W R/W R/W R/W 初期値 R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit14 ∼ bit12] : タイムセグメント2設定ビット 有効設定値は 0 ∼ 7 です。TSeg2+1 ビットの値がタイムセグメント 2 になります。 タイムセグメント 2 は , CAN 仕様のフェーズバッファセグメント (PHASE_SEG2) に 相当します。 [bit11 ∼ bit8] : タイムセグメント1設定ビット 有効設定値は 1 ∼ 15 です。0 の設定は禁止です。TSeg1+1 ビットの値がタイムセグ メント 1 になります。 タイムセグメント 1 は , CAN 仕様のプロパゲーションセグメント (PROP_SEG) + フェーズバッファセグメント 1(PHASE_SEG1) に相当します。 [bit7, bit6]: 再同期化ジャンプ幅設定ビット 有効設定値は 0 ∼ 3 です。SJW+1 ビットの値が再同期ジャンプ幅となります。 [bit5 ∼ bit0] : ボーレートプリスケーラ設定ビット 有効設定値は0∼63です。BRP+1ビットの値がボーレートプリスケーラになります。 システムクロック (fsys) を分周して , CAN コントローラの基本単位時間 (tq) を決定 します。 <注意事項> CAN 制御レジスタ (CTRLR) の CCE ビットと Init ビットが "1" にセットされているときに , CAN ビットタイミングレジスタ (BTR) および CAN プリスケーラ拡張レジスタ (BRPER) を設定して下さい。 482 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN 割込みレジスタ (INTR) メッセージ割込みコードおよびステータス割込みコードを表示します。 図 22.4-5 CAN 割込みレジスタ (INTR) のビット構成 CAN 割込みレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 Base+08H bit11 bit10 bit9 bit8 00000000B IntId 15-8 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX bit1 bit0 CAN 割込みレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 Base+09H bit3 bit2 00000000B IntId 7-0 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) IntId 機能 0000H 割込みなし 0001H - 0020H 割込み要因はメッセージオブジェクトの番号を示します ( メッセージ割込みコード ) 0021H - 7FFFH 未使用 CAN ステータスレジスタ (STATR) の変化による割込みを示します ( ステータス割込みコード ) 8000H 8001H - FFFFH 未使用 複数の割込みコードが保留中である場合 , CAN 割込みレジスタ (INTR) は優先度の高い 割込みコードを示します。割込みコードが CAN 割込みレジスタ (INTR) にセットされ ていても優先度の高い割込みコードが発生した場合には , CAN 割込みレジスタ (INTR) は優先度の高い割込みコードに更新されます。 優先度の高い割込みコードは , ステータス割込みコード (8000H), メッセージ割込み (0001H, 0002H, 0003H, ……, 0020H) の順になります。 IntId ビットが 0000H 以外で , CAN 制御レジスタ (CTRLR) の IE ビットが "1" にセット されると , CPU への割込み信号がアクティブになります。IntId ビットの値が 0000H に なる ( 割込み要因がリセットされる ) もしくは CAN 制御レジスタ (CTRLR) の IE ビッ トが "0" にリセットされると , 割込み信号はインアクティブになります。 対象となるメッセージオブジェクト ( メッセージオブジェクトについては 「22.4.3 メッ セージオブジェクト」を参照してください ) の IntPnd ビットを "0" にクリアすること でメッセージ割込みコードはクリアされます。 ステータス割込みコードは CAN ステータスレジスタ (STATR) を読み出すことでクリ アされます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 483 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN テストレジスタ (TESTR) テストモードの設定および RX 端子のモニタを行います。動作については ,「22.5.7 テ ストモード」を参照してください。 図 22.4-6 CAN テストレジスタ (TESTR) のビット構成 CAN テストレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+0AH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 初期値 00000000B CAN テストレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 Base+0BH Rx Tx1 Tx0 LBack Silent Basic R,WX R/W R/W R/W R/W R/W 予約 R0,W0 予約 R0,W0 初期値 r0000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) bit7 の Rx の初期値 (r) は , CAN バス上のレベルが表示されます。 [bit15 ∼ bit8] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit7] : Rx 端子モニタビット Rx 機能 0 CAN バスはドミナントであることを示します。 1 CAN バスはレセッシブであることを示します。 [bit6, bit5] :TX 端子コントロールビット Tx1, Tx0 機能 00 通常動作 [ 初期値 ] 01 サンプリングポイントが TX 端子に出力されます。 10 TX 端子にドミナントを出力します。 11 TX 端子にレセッシブを出力します。 [bit4] : ループバックモード LBack 484 機能 0 ループバックモードを禁止します。 [ 初期値 ] 1 ループバックモードを許可します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ [bit3] : サイレントモード Silent 機能 0 サイレントモードを禁止します。 [ 初期値 ] 1 サイレントモードを許可します。 [bit2] : ベーシックモード Basic 機能 0 ベーシックモードを禁止します。[ 初期値 ] 1 ベーシックモードを許可します。 IF1 レジスタは送信メッセージとして , IF2 レジスタは受信メッ セージとして使用されます。 [bit1, bit0] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 <注意事項> • CAN 制御レジスタ (CTRLR) の Test ビットを "1" にセットした後 , レジスタへ書き込ん でください。 テストモードが有効となるのは , CAN 制御レジスタ (CTRLR) の Test ビッ トが "1" の時です。途中で CAN 制御レジスタ (CTRLR) の Test ビットを "0" にすると テストモードから通常モードになります。 • Tx ビットを“00" 以外に設定した場合 , メッセージを送信することができません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 485 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN プリスケーラ拡張レジスタ (BRPER) CAN ビットタイミングで設定したプリスケーラと組み合わせることにより , CAN コン トローラで使用するプリスケーラを拡張します。 図 22.4-7 CAN プリスケーラ拡張レジスタ (BRPER) のビット構成 CAN プリスケーラ拡張レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+0CH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 初期値 00000000B CAN プリスケーラ拡張レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+0DH bit7 bit6 bit5 bit4 予約 R0,W0 予約 R0,W0 予約 R0,W0 予約 R0,W0 bit3 bit2 bit1 bit0 00000000B BRPE R/W R/W R/W 初期値 R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15 ∼ bit4] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit3 ∼ bit0] : ボーレートプリスケーラ拡張ビット CAN ビットタイミングレジスタ (BTR) の BRP ビットと BRPE ビットを組み合わせ ることにより , 1023 までボーレートプリスケーラを拡張できます。 {BRPE(MSB:4 ビット ),BRP(LSB:6 ビット )} + 1 の値が CAN コントローラのプリス ケーラとなります。 486 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ 22.4.2 メッセージインタフェースレジスタ CPU からメッセージ RAM へのアクセスを制御するために2組のメッセージインタ フェースレジスタを提供します。 メッセージ RAM への CPU アクセスを制御するために使用される 2 組のメッセージイ ンタフェースレジスタがあります。この 2 組のレジスタは , 転送された ( する ) データ ( メッセージオブジェクト ) をバッファすることで , メッセージ RAM への CPU アクセ スと CAN コントローラからのアクセスの競合を回避します。メッセージオブジェクト ( メッセージオブジェクトについては , 「22.4.3 メッセージオブジェクト」を参照して ください ) は , メッセージインタフェースレジスタとメッセージ RAM 間を一度に転送 します。 テストベーシックモードを除き , 2 組のメッセージインタフェースレジスタの機能は同 一で , 独立して動作可能です。例えば , IF1 のメッセージインタフェースレジスタをメッ セージRAMへの書込み動作中に, IF2のメッセージインタフェースレジスタをメッセー ジ RAM からの読出しに使用することも可能です。表 22.4-1 に 2 組のメッセージイン タフェースレジスタを示します。 メッセージインタフェースレジスタは , コマンドレジスタ ( コマンド要求 , コマンドマ スクレジスタ ) と , このコマンドレジスタによって制御されるメッセージバッファレジ スタ ( マスク , アービトレーション , メッセージ制御 , データレジスタ ) から構成され ます。コマンドマスクレジスタは , データ転送の方向とメッセージオブジェクトのどの 部分が転送されるのかを示します。コマンド要求レジスタは , メッセージ番号の選択と , コマンドマスクレジスタに設定された動作を行います。 表 22.4-1 IF1, IF2 メッセージインタフェースレジスタ アドレス IF1 レジスタセット アドレス IF2 レジスタセット Base + 10H IF1 コマンド要求 Base + 40H IF2 コマンド要求 Base + 12H IF1 コマンドマスク Base + 42H IF2 コマンドマスク Base + 14H IF1 マスク 2 Base + 44H IF2 マスク 2 Base + 16H IF1 マスク 1 Base + 46H IF2 マスク 1 Base + 18H IF1 アービトレーション 2 Base + 48H IF2 アービトレーション 2 Base + 1AH IF1 アービトレーション 1 Base + 4AH IF2 アービトレーション 1 Base + 1CH IF1 メッセージ制御 Base + 4CH IF2 メッセージ制御 Base + 20H IF1 データ A1 Base + 50H IF2 データ A1 Base + 22H IF1 データ A2 Base + 52H IF2 データ A2 Base + 24H IF1 データ B1 Base + 54H IF2 データ B1 Base + 26H IF1 データ B2 Base + 56H IF2 データ B2 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 487 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ IFx コマンド要求レジスタ (IFxCREQ) メッセージ RAM のメッセージ番号の選択とメッセージ RAM とメッセージバッファレ ジスタ間の転送を行います。また , テストのベーシックモードでは , IF1 を送信制御用 に IF2 を受信制御用として使用します。 図 22.4-8 IFx コマンド要求レジスタ (IFxCREQ) のビット構成 IFx コマンド要求レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 Base+10H Base+40H BUSY 予約 予約 予約 予約 予約 予約 予約 00000000B R/W R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 IFx コマンド要求レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+11H Base+41H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000001B Message Number R/W R/W R/W R/W R/W 初期値 R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) IFx コマンド要求レジスタ (IFxCREQ) へメッセージ番号を書き込むとすぐにメッセー ジ RAM とメッセージバッファレジスタ ( マスク , アービトレーション , メッセージ制 御 , データレジスタ ) とのメッセージ転送が開始されます。この書込み動作で , BUSY ビットが "1" にセットされ転送処理中であることを示します。その転送が終了すると , BUSY ビットが "0" にリセットされます。 BUSY ビットが "1" のときに , CPU からメッセージインタフェースレジスタへアクセス が発生すると , BUSY ビットが "0" になるまで ( コマンド要求レジスタ書込み後 , Clock で 3 ∼ 6 サイクル期間 ), CPU をウエイトさせます。 テストのベーシックモードでは , BUSY ビットの使用方法が異なります。IF1 コマンド 要求レジスタは , 送信メッセージとして使用され , BUSY ビットに "1" をセットするこ とによりメッセージ送信開始を指示します。メッセージ転送が正常終了すると , BUSY ビットは "0" にリセットされます。また , BUSY ビットを "0" にリセットすることによ り , いつでもメッセージ転送を中断させることが可能です。 IF2 コマンド要求レジスタは , 受信メッセージとして使用され , BUSY ビットを "1" に セットすることにより , 受信したメッセージを IF2 メッセージインタフェースレジスタ に格納します。 [bit15] : ビジーフラグビット • テストベーシックモード以外 BUSY 488 機能 0 メッセージインタフェースレジスタとメッセージ RAM 間で データ転送処理を行っていないことを示します。 [ 初期値 ] 1 メッセージインタフェースレジスタとメッセージ RAM 間で データ転送処理中であることを示します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ • テストベーシックモード - IF1 コマンド要求レジスタ BUSY 機能 0 メッセージ送信を禁止します。 1 メッセージ送信を許可します。 - IF2 コマンド要求レジスタ BUSY 機能 0 メッセージ受信を禁止します。 1 メッセージ受信を許可します。 [bit14 ∼ bit8] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit7 ∼ bit0] : Message Number: メッセージ番号 (32 message buffer CAN 用 ) Message Number 00H 機能 設定禁止です。設定した場合 , 20H として解釈され , 20H が読み出されます。 01H - 20H 処理を行うメッセージ番号を設定します。 21H - 3FH 設定禁止です。設定した場合 , 01H-1FH として解釈され , 解釈された値が読み出されます。 [bit7 ∼ bit0] : Message Number: メッセージ番号 (128 message buffer CAN 用 ) Message Number 00H 機能 設定禁止です。設定した場合 , 80H として解釈され , 80H が読み出されます。 01H - 80H 処理を行うメッセージ番号を設定します。 81H - FFH 設定禁止です。設定した場合 , 01H-7FH として解釈され , 解釈された値が読み出されます。 <注意事項> BUSY ビットは , リード/ライトが可能です。テストのベーシックモード時以外は , この ビットに何を書いても動作に影響しません ( ベーシックモードについては ,「22.5.7 テス トモード」を参照して下さい )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 489 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ IFx コマンドマスクレジスタ (IFxCMSK) 図 22.4-9 IFx コマンドマスクレジスタ (IFxCMSK) のビット構成 IFx コマンドマスクレジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 Base+12H Base+42H bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00000000B 予約 予約 予約 予約 予約 予約 予約 予約 R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 R0,W0 IFx コマンドマスクレジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 bit3 Base+13H Base+43H WR/RD Mask Arb Control CIP R/W R/W R/W R/W R/W bit2 bit1 TxRqst/ Data A NewDat R/W R/W bit0 Data B 初期値 00000000B R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) メッセージインタフェースレジスタとメッセージ RAM 間の転送方向を制御し , どの データを更新するかを設定します。また , テストのベーシックモードでレジスタは無効 となります。 [bit15 ∼ bit8] : 予約ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit7] : ライト/リード制御ビット WR/RD 機能 0 メッセージ RAM からデータを読み出すことを示します。メッセー ジ RAM からの読出しは IFx コマンド要求レジスタ (IFxCREQ) への 書込みによって実行されます。メッセージ RAM から読み出すデー タは , Mask, Arb, Control, CIP,TxRqst/NewDat, Data A, Data B ビット の設定に依存します。 [ 初期値 ] 1 メッセージ RAM へデータを書き込むことを示します。メッセージ RAM への書込みは IFx コマンド要求レジスタ (IFxCREQ) への書込 みによって実行されます。メッセージ RAM への書込みデータは , Mask, Arb, Control, CIP,TxRqst/NewDat, Data A, Data B ビットの設定 に依存します。 <注意事項> リセット後 , メッセージ RAM のデータは不定です。メッセージ RAM のデータが不定状 態でメッセージ RAM のデータを読み出すことは禁止です。 IFx コマンドマスクレジスタ (IFxCMSK) の bit6 ∼ bit0 は , 転送方向 (WR/RD ビット ) の設定により違った意味になります。 490 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ● 転送方向がライトの場合 (WR/RD="1") [bit6] : マスクデータ更新ビット Mask 機能 0 メッセージオブジェクト * のマスクデータ (ID マスク + MDir + MXtd) を更新しないことを示します。[ 初期値 ] 1 メッセージオブジェクト * のマスクデータ (ID マスク + MDir + MXtd) を更新することを示します。 [bit5] : アービトレーションデータ更新ビット Arb 機能 0 メッセージオブジェクト * のアービトレーションデータ (ID + Dir + Xtd + MsgVal) を更新しないことを示します。[ 初期値 ] 1 メッセージオブジェクト * のアービトレーションデータ (ID + Dir + Xtd + MsgVal) を更新することを示します。 [bit4] : 制御データ更新ビット Control 機能 0 メッセージオブジェクト * の制御データ (IFx メッセージ制御レジ スタ (IFxMCTR)) を更新しないことを示します。[ 初期値 ] 1 メッセージオブジェクト * の制御データ (IFx メッセージ制御レジ スタ (IFxMCTR)) を更新することを示します。 [bit3] : 割込みクリアビット "0" または "1" を設定しても CAN コントローラへの動作に影響を与えません。 [bit2] : メッセージ送信要求ビット TxRqst/NewDat CM71-10142-5 機能 0 メッセージオブジェクト * および CAN 送信要求レジスタ (TREQR) の TxRqst ビットを変更しないことを示します。 [ 初期値 ] 1 メッセージオブジェクト * および CAN 送信要求レジスタ (TREQR) の TxRqst ビットに "1" を設定 ( 送信要求 ) すること を示します。 FUJITSU SEMICONDUCTOR LIMITED 491 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ [bit1] : データ 0-3 更新ビット Data A 機能 0 メッセージオブジェクト * のデータ 0-3 を更新しないことを示しま す。[ 初期値 ] 1 メッセージオブジェクト * のデータ 0-3 を更新することを示しま す。 [bit0] : データ 4-7 更新ビット Data B 機能 0 メッセージオブジェクト * のデータ 4-7 を更新しないことを示しま す。[ 初期値 ] 1 メッセージオブジェクト * のデータ 4-7 を更新することを示しま す。 *:「22.4.3 メッセージオブジェクト」を参照してください。 <注意事項> • IFx コマンドマスクレジスタ (IFxCMSK) の TxRqst/NewDat ビットが "1" に設定される と , IFx メッセージ制御レジスタ (IFxMCTR) の TxRqst ビットの設定は無効となります。 • テストのベーシックモードでレジスタは無効となります。 492 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ● 転送方向がリードの場合 (WR/RD="0") [bit6] : マスクデータ更新ビット Mask 機能 0 メッセージオブジェクト * から IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2) へデータ (ID マスク + MDir + MXtd ) を転送しないことを 示します。 [ 初期値 ] 1 メッセージオブジェクト * から IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2) へデータ (ID マスク + MDir + MXtd ) を転送することを示 します。 [bit5] : アービトレーションデータ更新ビット Arb 機能 0 メッセージオブジェクト * から IFx アービトレーション 1,2(IFxARB1, IFxARB2) へデータ (ID+ Dir + Xtd + MsgVal) を転送し ないことを示します。 [ 初期値 ] 1 メッセージオブジェクト * から IFx アービトレーション 1,2(IFxARB1, IFxARB2) へデータ (ID+ Dir + Xtd + MsgVal) を転送す ることを示します。 [bit4] : 制御データ更新ビット Control 機能 0 メッセージオブジェクト * から IFx メッセージ制御レジスタ (IFxMCTR) へデータを転送しないことを示します。 [ 初期値 ] 1 メッセージオブジェクト * から IFx メッセージ制御レジスタ (IFxMCTR) へデータを転送することを示します。 [bit3] : 割込みクリアビット CM71-10142-5 CIP 機能 0 メッセージオブジェクト * および CAN 割込みペンディングレジス タ (INTPND) の IntPnd ビットを保持することを示します。[ 初期値 ] 1 メッセージオブジェクト * および CAN 割込みペンディングレジス タ (INTPND) の IntPnd ビットを "0" にクリアすることを示します。 FUJITSU SEMICONDUCTOR LIMITED 493 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ [bit2] : データ更新ビット TxRqst/NewDat 機能 0 メッセージオブジェクト * および CAN データ更新レジスタ の NewDat ビットを保持することを示します。[ 初期値 ] 1 メッセージオブジェクト * および CAN データ更新レジスタ の NewDat ビットを "0" にクリアすることを示します。 [bit1] : データ 0-3 更新ビット Data A Function 0 メッセージオブジェクト * および CAN データレジスタ A1, A2 の データを保持することを示します。[ 初期値 ] 1 メッセージオブジェクト * および CAN データレジスタ A1, A2 の データを更新することを示します。 [bit0] : データ 4-7 更新ビット Data B Function 0 メッセージオブジェクト * および CAN データレジスタ B1, B2 の データを保持することを示します。[ 初期値 ] 1 メッセージオブジェクト * および CAN データレジスタ B1, B2 の データを更新することを示します。 *:「22.4.3 メッセージオブジェクト」を参照してください。 <注意事項> • メッセージオブジェクトへの読出しアクセスにより , IntPnd および NewDat ビットは "0" にリセットすることが可能です。但し , IFx メッセージ制御レジスタ (IFxMCTR) の IntPnd および NewDat ビットには , 読出しアクセスによりリセットされる前の IntPnd, NewDat ビットが格納されます。 • テストのベーシックモードでは無効となります。 494 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ IFx マスクレジスタ 1,2 (IFxMSK1, IFxMSK2) メッセージ RAM のメッセージオブジェクトマスクデータをライト/リードするため に用いられます。また , テストのベーシックモードでは , 設定されているマスクデータ は無効となります。 各ビットの機能については , 「22.4.3 メッセージオブジェクト 」に記述されています。 図 22.4-10 IFx マスクレジスタ 1,2 (IFxMSK1, IFxMSK2) のビット構成 IFx マスクレジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+14H Base+44H MXtd MDir 予約 R/W R/W R1,W1 bit12 bit11 bit10 bit9 bit8 11111111B Mask 28-24 R/W R/W R/W 初期値 R/W R/W bit1 bit0 IFx マスクレジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+15H Base+45H bit7 bit6 bit5 bit4 bit3 bit2 11111111B Mask 23-16 R/W R/W R/W R/W R/W 初期値 R/W R/W R/W bit10 bit9 bit8 R/W R/W R/W bit1 bit0 IFx マスクレジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 Base+16H Base+46H R/W R/W R/W R/W bit11 11111111B Mask 15-8 R/W 初期値 IFx マスクレジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+17H Base+47H bit7 bit6 bit5 bit4 bit3 bit2 11111111B Mask 7-0 R/W R/W R/W R/W R/W 初期値 R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ビット説明については「22.4.3 メッセージオブジェクト」を参照してください。 予約ビット (IFx マスクレジスタ 2 の bit13) は "1" が読み出され , 書込み時は "1" を書き 込んでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 495 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ IFx アービトレーションレジスタ 1,2 (IFxARB1, IFxARB2) メッセージ RAM のメッセージオブジェクトアービトレーションデータをライト/ リードするために用いられます。また , テストのベーシックモードでは無効となりま す。 各ビットの機能については , 「22.4.3 メッセージオブジェクト 」に記述されています。 図 22.4-11 IFx アービトレーションレジスタ 1,2 (IFxARB1, IFxARB2) のビット構成 IFx アービトレーションレジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+18H Base+48H MsgVal Xtd Dir R/W R/W R/W bit12 bit11 bit10 bit9 bit8 00000000B ID 28-24 R/W R/W R/W 初期値 R/W R/W IFx アービトレーションレジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+19H Base+49H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000000B ID 23-16 R/W R/W R/W R/W R/W 初期値 R/W R/W R/W IFx アービトレーションレジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 Base+1AH Base+4AH R/W R/W R/W R/W bit11 bit10 bit9 bit8 R/W R/W R/W 00000000B ID 15-8 R/W 初期値 IFx アービトレーションレジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス Base+1BH Base+4BH bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000000B ID 7-0 R/W R/W R/W R/W R/W 初期値 R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ビット説明については「22.4.3 メッセージオブジェクト」を参照してください。 <注意事項> 送信途中でメッセージオブジェクトの MsgVal ビットを "0" にクリアした場合 , 送信が完 了した時点で CAN ステータスレジスタ (STATR) の TxOk ビットは "1" になりますが , メッ セージオブジェクトおよび CAN 送信要求レジスタ (TREQR) の TxRqst ビットは "0" にク リアされませんのでメッセージインタフェースレジスタによって TxRqst ビットを "0" に クリアしてください。 496 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ IFx メッセージ制御レジスタ (IFxMCTR) メッセージ RAM のメッセージオブジェクト制御データをライト/リードするために 用いられます。また , テストのベーシックモードでは , IF1 メッセージ制御レジスタは 無効となります。IF2 メッセージ制御レジスタの NewDat と MsgLst は通常の動作を行 い , DLC ビットは受信したメッセージの DLC を表示します。その他の制御ビットは無 効 ("0") として動作します。 各ビットの機能については , 「22.4.3 メッセージオブジェクト 」に記述されています。 図 22.4-12 IFx メッセージ制御レジスタ (IFxMCTR) のビット構成 IFx メッセージ制御レジスタ ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 Base+1CH Base+4CH bit14 NewDat MsgLst R/W R/W bit13 bit12 bit11 bit10 bit9 bit8 IntPnd UMask TxIE RxIE RmtEn TxRqst R/W R/W R/W R/W R/W R/W 初期値 00000000B IFx メッセージ制御レジスタ ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 Base+1DH Base+4DH EoB 予約 予約 予約 R/W R0,W0 R0,W0 R0,W0 bit3 bit2 bit1 bit0 00000000B DLC 3-0 R/W R/W R/W 初期値 R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ビット説明については「22.4.3 メッセージオブジェクト」を参照してください。 <注意事項> TxRqst, NewDat および IntPnd ビットは , IFx コマンドマスクレジスタ (IFxCMSK) の WR/ RD ビットの設定によって以下のような動作になります。 • 転送方向がライトの場合 (IFx コマンドマスクレジスタ (IFxCMSK):WR/RD=1) - IFx コマンドマスクレジスタ (IFxCMSK) の TxRqst/NewDat が "0" に設定されている 場合のみ , TxRqst ビットが有効となります。 • 転送方向がリードの場合 (IFx コマンドマスクレジスタ (IFxCMSK):WR/RD=0) - IFx コマンドマスクレジスタ (IFxCMSK) の CIP ビットを "1", IFx コマンド要求レジ スタ (IFxCREQ) への書込みによりメッセージオブジェクトおよび CAN 割込みペン ディングレジスタ (INTPND) の IntPnd ビットをリセットした場合 , レジスタにはリ セットされる前の IntPnd ビットが格納されます。 - IFx コマンドマスクレジスタ (IFxCMSK) の TxRqst/NewDat ビットを "1", IFx コマン ド要求レジスタ (IFxCREQ) への書込みによりメッセージオブジェクトおよび CAN データ更新レジスタの NewDat ビットをリセットした場合 , レジスタにはリセット する前の NewDat ビットが格納されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 497 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ IFx データレジスタ A1,A2,B1,B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) メッセージ RAM のメッセージオブジェクト送受信データをライト/リードするため に用いられます。データフレームの送受信のみ使用され , リモートフレームの送受信に は使用されません。 IFx Message Data A1 (addresses 20H & 50H) addr+0 addr+1 Data(0) Data(1) IFx Message Data A2 (addresses 22H & 52H) IFx Message Data B1 (addresses 24H & 54H) Data(4) Data(3) Data(7) Data(2) Data(3) Data(6) Data(7) Data(1) Data(0) Data(5) Data(4) Data(2) IFx Message Data A1 (addresses 32H & 62H) IFx Message Data B2 (addresses 34H & 64H) addr+3 Data(5) IFx Message Data B2 (addresses 26H & 56H) IFx Message Data A2 (addresses 30H & 60H) addr+2 Data(6) IFx Message Data B1 (addresses 36H & 66H) 図 22.4-13 IFx データレジスタのビット構成 IFx データレジスタ bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00000000B Data R/W R/W R/W R/W 初期値 R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 送信メッセージデータの設定 設定したデータは , MSB(bit7, bit15) より開始して Data(0), Data(1), …, Data(7) の順で 送信されます。 受信メッセージデータ 受信メッセージデータは , MSB(bit7, bit15) より開始して Data(0), Data(1), …, Data(7) の順で格納されます。 <注意事項> • 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバイトに は不定データが書き込まれます。 • メッセージオブジェクトへの転送は , Data A もしくは Data B の4バイト単位で行われ ますので , 4バイトのうちある一部のデータだけを更新することはできません。 498 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ メッセージオブジェクト 22.4.3 メッセージ RAM には , 32( 品種によって 128 まで ) のメッセージオブジェクトがあ ります。メッセージ RAM への CPU アクセスと CAN コントローラからのアクセス の競合を回避するために , CPU はメッセージオブジェクトへ直接 , アクセスはでき ません。これらのアクセスは , IFx メッセージインタフェースレジスタ経由で行いま す。 メッセージオブジェクトの構成と機能を説明します。 ■ メッセージオブジェクトの構成 表 22.4-2 にメッセージオブジェクトの構成を示します。 表 22.4-2 メッセージオブジェクトの構成 UMask Msk28-0 MXtd MsgVal ID28-0 Xtd MDir EoB Dir DLC3-0 NewDat Data0 Data1 MsgLst RxIE TxIE Data2 Data3 Data4 IntPnd RmtEn TxRqst Data5 Data6 Data7 <注意事項> メッセージオブジェクトは , CAN 制御レジスタ (CTRLR) の Init ビット , ハードウェアリ セットでは初期化されません。ハードウェアリセットの場合 , ハードウェアリセット解除 後 , CPU によってメッセージ RAM を初期化するかメッセージ RAM の MsgVal を "0" に してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 499 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ メッセージオブジェクトの機能 ID28-0, Xtd, Dir ビットは , メッセージを送信する場合 , ID とメッセージの種類に使用 されます。メッセージを受信する場合 , Msk28-0, MXtd, MDir ビットと共に受容フィル タで使用されます。 受容フィルタを通過したデータフレームもしくはリモートフレームは , メッセージオ ブジェクトに格納されます。Xtd は拡張フレームか標準フレームかを示し , Xtd が "1" の場合 , 29 ビット ID( 拡張フレーム ) を , Xtd が "0" の場合は , 11 ビット ID( 標準フレー ム ) を受信することになります。 受信したデータフレームもしくはリモートフレームが 1 つ以上のメッセージオブジェ クトと一致した場合は , 一致した最小のメッセージ番号に格納されます。詳細は , 「22.5.3 メッセージ受信動作」の受信メッセージの受容フィルタを参照して下さい。 MsgVal: 有効メッセージビット MsgVal 機能 0 メッセージオブジェクトは無効です。 メッセージの送受信は行いません。 1 メッセージオブジェクトは有効です。 メッセージの送受信が可能となります。 <注意事項> • CAN 制御レジスタ (CTRLR) の Init ビットを "0" にリセットする前と , ID28-0, Xtd, Dir, DLC3-0 を変更する前には , メッセージオブジェクトの MsgVal ビットを必ず初期化し てください。 • 送信中に MsgVal ビットを "0" にすると送信が完了した時点で CAN ステータスレジス タ (STATR) の TxOk ビットは "1" になりますが , メッセージオブジェクトおよび CAN 送信要求レジスタ (TREQR) の TxRqst ビットは "0" にクリアされませんのでメッセー ジインタフェースレジスタによって TxRqst ビットを "0" にクリアしてください。 500 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ UMask: 受容マスク許可ビット UMask 機能 0 Msk28-0, MXtd, MDir を使用しません。 1 Msk28-0, MXtd, MDir を使用します。 <注意事項> • CAN 制御レジスタ (CTRLR) の Init ビットが "1" のとき , あるいは MsgVal ビットが "0" のときに UMask ビットを変更して下さい。 • Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask ビットの設定により動作が異 なります。 - UMask ビットが "1" の場合は , 受容フィルタを通過しリモートフレームを受信した とき , TxRqst ビットを "0" にリセットします。その時 , 受信した ID, IDE, RTR, DLC はメッセージオブジェクトに格納し , NewDat ビットは "1" にセットされ , データは 変更しません ( データフレームのように取り扱います )。 - UMask ビットが "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはその まま保持し , リモートフレームを無視します。 ID28-0: メッセージ ID ID 機能 ID28 - ID0 29 ビット ID( 拡張フレーム ) を指示します。 ID28 - ID18 11 ビット ID( 標準フレーム ) を指示します。 Msk28-0: ID マスク Msk 機能 0 メッセージオブジェクトの ID と対応するビットをマスクします。 1 メッセージオブジェクトの ID と対応するビットをマスクしませ ん。 Xtd: 拡張 ID 許可ビット Xtd CM71-10142-5 機能 0 メッセージオブジェクトは 11 ビット ID( 標準フレーム ) が使用さ れます。 1 メッセージオブジェクトは 29 ビット ID( 拡張フレーム ) が使用さ れます。 FUJITSU SEMICONDUCTOR LIMITED 501 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ MXtd: 拡張 ID マスクビット MXtd 機能 0 受容フィルタで拡張 ID ビット (IDE) をマスクします。 1 受容フィルタで拡張 ID ビット (IDE) をマスクしません。 <注意事項> 11 ビット ID( 標準フレーム ) がメッセージオブジェクトに設定されると , 受信したデータ フレームの ID は , ID28 ∼ ID18 へ書き込まれます。ID マスクは , Msk28 ∼ Msk18 が使用 されます。 Dir: メッセージ方向ビット Dir 機能 0 受信方向を示します。 TxRqst が "1" にセットされると , リモートフレームの送信を行い , TxRqst が "0" のときは , 受容フィルタを通過したデータフレームを 受信します 1 送信方向を示します。 TxRqst が "1" にセットされると , データフレームを送信し , TxRqst が "0" で RmtEn が "1" にセットされている場合 , 受容フィルタを通 過したリモートフレームの受信によって , CAN コントローラ自身 が TxRqst を "1" にセットします。 MDir: メッセージ方向マスクビット MDir 機能 0 受容フィルタでメッセージ方向ビット (Dir) をマスクします。 1 受容フィルタでメッセージ方向ビット (Dir) をマスクしません。 EoB: エンドオブバッファビット ( 詳細は ,「22.5.4 FIFO バッファ機能」参照してくだ さい ) EoB 502 機能 0 メッセージオブジェクトは FIFO バッファとして使用され , 最終 メッセージでないことを示します。 。 1 単一メッセージオブジェクトまたは FIFO バッファの最終メッセー ジオブジェクトを示します。 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ <注意事項> • EoB ビットは , 2 ∼ 32 メッセージの FIFO バッファを構成するために使用します。 • 単一メッセージオブジェクト (FIFO を使用しない場合 ) は , 必ず EoB ビットに "1" を設 定して下さい。 NewDat: データ更新ビット NewDat 機能 0 有効なデータがないことを示します。 1 有効なデータがあることを示します。 MsgLst: メッセージロスト MsgLst 機能 0 メッセージロストは発生していません。 1 メッセージロストが発生しています。 <注意事項> MsgLst ビットは Dir ビットが "0" のとき ( 受信方向 ) のみ有効です。 RxIE: 受信割込みフラグイネーブルビット RxIE 機能 0 フレーム受信成功後 , IntPnd は変更されません。 1 フレーム受信成功後 , IntPnd が "1" にセットされます。 TxIE: 送信割込みフラグイネーブルビット TxIE CM71-10142-5 機能 0 フレーム送信成功後 , IntPnd は変更されません。 1 フレーム送信成功後 , IntPnd が "1" にセットされます。 FUJITSU SEMICONDUCTOR LIMITED 503 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ IntPnd: 割込みペンディングビット IntPnd 機能 0 割込み要因がありません。 1 割込み要因があります。 他に優先度の高い割込みがない場合は , CAN 割込みレジスタ (INTR) の IntId ビットはこのメッセージオブジェクトを示します。 RmtEn: リモートイネーブル RmtEn 機能 0 リモードフレームの受信で , TxRqst は変更されません。 1 Dir ビットが "1" でリモートフレームを受信すると , TxRqst が "1" にセットされます。 <注意事項> • Dirビットが"1"かつ RmtEnビットが"0"のとき, UMaskの設定により動作が異なります - UMask が "1" の場合は , 受容フィルタを通過しリモートフレームを受信したとき , TxRqst ビットを "0" にリセットします。その時 , 受信した ID, IDE, RTR, DLC はメッ セージオブジェクトに格納し , NewDat ビットは "1" にセットされ , データは変更し ません ( データフレームのように取り扱います )。 - UMask が "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはそのまま保 持し , リモートフレームを無視します。 TxRqst: 送信要求ビット TxRqst 機能 0 送信アイドル状態 ( 送信中でもないし , 送信待ち状態でもない ) を 示します。 1 送信中または , 送信待ちであることを示します。 DLC3-0: データ長コード DLC3-0 機能 0-8 データフレーム長は 0 ∼ 8 バイトです。 9-15 設定禁止です。 設定された場合は , 8 バイト長となります。 <注意事項> データフレームを受信すると DLC ビットには , 受信した DLC が格納されます。 504 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ Data 0-7: データ 0-7 機能 Data 0 CAN データフレームの最初のデータバイト Data 1 CAN データフレームの 2 番目のデータバイト Data 2 CAN データフレームの 3 番目のデータバイト Data 3 CAN データフレームの 4 番目のデータバイト Data 4 CAN データフレームの 5 番目のデータバイト Data 5 CAN データフレームの 6 番目のデータバイト Data 6 CAN データフレームの 7 番目のデータバイト Data 7 CAN データフレームの 8 番目のデータバイト <注意事項> • CAN バスへのシリアル出力は , MSB(bit7 もしくは bit15) より出力します。 • 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバイトに は不定が書き込まれます。 • メッセージオブジェクトへの転送は , Data A もしくは Data B の4バイト単位で行われ ますので , 4バイトのうちある一部のデータだけを更新することはできません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 505 第 22 章 CAN 22.4 CAN レジスタ機能 22.4.4 MB91220 シリーズ メッセージハンドラレジスタ メッセージハンドラレジスタは , すべて読出し専用です。メッセージオブジェクト の TxRqst, NewDat, IntPnd, MsgVal ビットと IntId ビットは , ステータスを表示し ます。 ■ メッセージハンドラレジスタ • CAN 送信要求レジスタ 1, 2 (TREQR1,TREQR2) • CAN データ更新レジスタ 1, 2 (NEWDT1,NEWDT2) • CAN 割込みペンディングレジスタ 1, 2 (INTPND1,INTPND2) • CAN メッセージ有効レジスタ 1, 2 (MSGVAL1,MSGVAL2) ■ CAN 送信要求レジスタ (TREQR1, TREQR2) 全メッセージオブジェクトの TxRqst ビットを表示します。TxRqst ビットを読み出すこ とにより , どのメッセージオブジェクトの送信要求がペンディング中であるかチェッ クすることができます。 図 22.4-14 CAN 送信要求レジスタ (TREQR1, TREQR2) のビット構成 CAN 送信要求レジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+80H bit12 bit11 bit10 bit9 bit8 00000000B TxRqst 32-25 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN 送信要求レジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+81H bit4 bit3 bit2 bit1 bit0 00000000B TxRqst 24-17 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN 送信要求レジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+82H bit12 bit11 bit10 bit9 bit8 00000000B TxRqst 16-9 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN 送信要求レジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 bit4 R,WX R,WX R,WX R,WX Base+83H bit3 bit2 bit1 bit0 R,WX R,WX R,WX 00000000B TxRqst 8-1 R,WX 初期値 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 506 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ TxRqst 32-1: 送信要求ビット TxRqst 32-1 機能 0 送信アイドル状態 ( 送信中でもないし , 送信待ち状態でもない ) を示します。 1 送信中または , 送信待ちであることを示します。 TxRqst ビットのセット/リセット条件を以下に示します。 • セット条件 IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", TxRqst に "1" を設定し , IFx コマンド要求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの TxRqst にセットできます。 IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", TxRqst に "0",IFx メッ セージ制御レジスタ (IFxMCTR) の TxRqst に "1" を設定した場合 , IFx コマンド要 求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの TxRqst にセットで きます。 Dir ビットが "1", RmtEn ビットが "1" に設定し , 受容フィルタを通過したリモー トフレームの受信によりセットされます。 • リセット条件 IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", TxRqst に "0", IFx メッ セージ制御レジスタ (IFxMCTR) の TxRqst に "0" を設定した場合 , IFx コマンド要 求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの TxRqst をリセット できます。 フレームの送信が正常終了すると , リセットされます。 Dir が "1", RmtEN が "0", UMask が "1" の場合 , 受容フィルタを通過したリモート フレームの受信によりリセットされます。 32 メッセージバッファ以上を搭載する CAN マクロにおける送信要求ビットの確認に ついては以下の表を参照してください。 表 22.4-3 32 メッセージバッファ以上を搭載する CAN マクロにおける送信要求ビット addr + 0 addr + 1 addr + 2 addr + 3 TREQR 4 & 3 TxRqst 64-33 (address 84H) TxRqst 64-57 TxRqst 56-49 TxRqst 48-41 TxRqst 40-33 TREQR 6 & 5 TxRqst 96-65 (address 88H) TxRqst 96-89 TxRqst 88-81 TxRqst 80-73 TxRqst 72-65 TREQR 8 & 7 TxRqst 128-97 (address 8CH) CM71-10142-5 TxRqst 128-121 TxRqst 120-113 TxRqst 112-105 FUJITSU SEMICONDUCTOR LIMITED TxRqst 104-97 507 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN データ更新レジスタ (NEWDT1, NEWDT2) 全メッセージオブジェクトの NewDat ビットを表示します。NewDat ビットを読み出す ことにより , どのメッセージオブジェクトのデータが更新されたかチェックすること ができます。 図 22.4-15 CAN データ更新レジスタ (NEWDT1, NEWDT2) のビット構成 CAN データ更新レジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+90H bit12 bit11 bit10 bit9 bit8 00000000B NewDat 32-25 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN データ更新レジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+91H bit4 bit3 bit2 bit1 bit0 00000000B NewDat 24-17 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN データ更新レジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+92H bit12 bit11 bit10 bit9 bit8 NewDat 16-9 R,WX R,WX R,WX R,WX R,WX 初期値 00000000B R,WX R,WX R,WX CAN データ更新レジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+93H bit4 bit3 bit2 bit1 bit0 00000000B NewDat 8-1 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 508 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ NewDat 32-1: データ更新ビット NewDat 32-1 機能 0 有効なデータがないことを示します 1 有効なデータがあることを示します NewDat ビットのセット/リセット条件を以下に示します。 • セット条件 IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", IFx メッセージ制御レ ジスタ (IFxMCTR) の NewDat に "1" を設定して , IFx コマンド要求レジスタ (IFxCREQ) の書込みにより特定オブジェクトにセットできます。 受容フィルタを通過したデータフレームの受信によりセットされます。 Dir が "1", RmtEN が "0", UMask が "1" の場合 , 受容フィルタを通過したリモート フレームの受信によりセットされます。 • リセット条件 IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "0", NewDat に "1" を設定 した場合 , IFx コマンド要求レジスタ (IFxCREQ) の書込みにより特定オブジェク トの NewDat をリセットできます。 IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD に "1", IFx メッセージ制御レ ジスタ (IFxMCTR) の NewDat を "0" に設定した場合 , IFx コマンド要求レジスタ (IFxCREQ) の書込みにより特定オブジェクトの NewDat をリセットできます。 送信用シフトレジスタ ( 内部レジスタ ) へデータを転送終了後 , リセットされま す。 32 メッセージバッファ以上を搭載する CAN マクロにおけるデータ更新ビットの確認 については以下の表を参照してください。 表 22.4-4 32 メッセージバッファ以上を搭載する CAN マクロにおけるデータ更新ビット addr + 0 addr + 1 addr + 2 addr + 3 NEWDT 4 & 3 NewDat 64-33 (address 94H) NewDat 64-57 NewDat 56-49 NewDat 48-41 NewDat 40-33 NEWDT 6 & 5 NewDat 96-65 (address 98H) NewDat 96-89 NewDat 88-81 NewDat 80-73 NewDat 72-65 NEWDT 8 & 7 NewDat 128-97 (address 9CH) CM71-10142-5 NewDat 128-121 NewDat 120-113 NewDat 112-105 NewDat 104-97 FUJITSU SEMICONDUCTOR LIMITED 509 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN 割込みペンディングレジスタ (INTPND1, INTPND2) 全メッセージオブジェクトの IntPnd ビットを表示します。IntPnd ビットを読み出すこ とにより , どのメッセージオブジェクトが割込みペンディング中であるかチェックす ることができます。 図 22.4-16 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) のビット構成 CAN 割込みペンディングレジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+A0H bit12 bit11 bit10 bit9 bit8 00000000B IntPnd 32-25 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN 割込みペンディングレジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+A1H bit4 bit3 bit2 bit1 bit0 00000000B IntPnd 24-17 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN 割込みペンディングレジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+A2H bit12 bit11 bit10 bit9 bit8 00000000B IntPnd 16-9 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN 割込みペンディングレジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+A3H bit4 bit3 bit2 bit1 bit0 00000000B IntPnd 8-1 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 510 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ IntPnd 32-1: 割込みペンディングビット IntPnd 32-1 機能 0 割込み要因がありません 1 割込み要因があります IntPnd ビットのセット/リセット条件を以下に示します。 • セット条件 TxIE が "1" にセットされている場合 , フレームの正常送信完了によりセットされ ます。 RxIE が "1" にセットされている場合 , 受容フィルタを通過したフレームの正常受 信完了によりセットされます。 • リセット条件 IFx コマンドマスクレジスタ (IFxCMSK) が WR/RD に "0", CIP に "1" を設定した 場合 , IFx コマンド要求レジスタ (IFxCREQ) の書込みにより特定オブジェクトの IntPnd をリセットできます。 32 メッセージバッファ以上を搭載する CAN マクロにおける割込みベンディングビッ トの確認については以下の表を参照してください。 表 22.4-5 32 メッセージバッファ以上を搭載する CAN マクロにおける割込みベンディングビット addr + 0 addr + 1 addr + 2 addr + 3 INTPND 4 & 3 IntPnd 64-33 (address A4H) IntPnd 64-57 IntPnd 56-49 IntPnd 48-41 IntPnd 40-33 INTPND 6 & 5 IntPnd 96-65 (address A8H) IntPnd 96-89 IntPnd 88-81 IntPnd 80-73 IntPnd 72-65 INTPND 8 & 7 IntPnd 128-97 (address ACH) CM71-10142-5 IntPnd 128-121 IntPnd 120-113 IntPnd 112-105 FUJITSU SEMICONDUCTOR LIMITED IntPnd 104-97 511 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) 全メッセージオブジェクトの MsgVal ビットを表示します。MsgVal ビットを読み出す ことにより , どのメッセージオブジェクトが有効であるかチェックすることができま す。 図 22.4-17 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) のビット構成 CAN メッセージ有効レジスタ 2 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+B0H bit12 bit11 bit10 bit9 bit8 00000000B MsgVal 32-25 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN メッセージ有効レジスタ 2 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+B1H bit4 bit3 bit2 bit1 bit0 00000000B MsgVal 24-17 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN メッセージ有効レジスタ 1 ( 上位 ) ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 Base+B2H bit12 bit11 bit10 bit9 bit8 00000000B MsgVal 16-9 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX CAN メッセージ有効レジスタ 1 ( 下位 ) ( アクセス:Byte, Half-word, Word) アドレス bit7 bit6 bit5 Base+B3H bit4 bit3 bit2 bit1 bit0 00000000B MsgVal 8-1 R,WX R,WX R,WX R,WX R,WX 初期値 R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 512 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ MsgVal 32-1: メッセージ有効ビット MsgVal 32-1 機能 0 メッセージオブジェクトは無効です メッセージの送受信は行いません 1 メッセージオブジェクトは有効です メッセージの送受信が可能となります MsgVal ビットのセット/リセット条件を以下に示します。 • セット条件 IFx アビトレーションレジスタ2の MsgVal ビットに "1" を設定し , IFx コマンド 要求レジスタ (IFxCREQ) への書込みにより特定オブジェクトの MsgVal ビットを セットできます。 • リセット条件 IFx アビトレーションレジスタ2の MsgVal ビットに "0" を設定し , IFx コマンド 要求レジスタ (IFxCREQ) の書込みにより特定オブジェクトの MsgVal ビットをク リアできます。 32 メッセージバッファ以上を搭載する CAN マクロにおけるメッセージ有効ビットの 確認については以下の表を参照してください。 表 22.4-6 32 メッセージバッファ以上を搭載する CAN マクロにおけるメッセージ有効ビット addr + 0 addr + 1 addr + 2 addr + 3 MSGVAL 4 & 3 MsgVal 64-33 (address B4H) MsgVal 64-57 MsgVal 56-49 MsgVal 48-41 MsgVal 40-33 MSGVAL 6 & 5 MsgVal 96-65 (address B8H) MsgVal 96-89 MsgVal 88-81 MsgVal 80-73 MsgVal 72-65 MSGVAL 8 & 7 MsgVal 128-97 (address BCH) CM71-10142-5 MsgVal 128-121 MsgVal 120-113 MsgVal 112-105 MsgVal 104-97 FUJITSU SEMICONDUCTOR LIMITED 513 第 22 章 CAN 22.4 CAN レジスタ機能 MB91220 シリーズ ■ CAN プリスケーラレジスタ CAN インタフェースに供給するクロックの分周比を定義するものです。レジスタの値 を変更する場合は , CAN 制御レジスタ (CTRLR) の初期化ビット (Init) を "1" にセット し , すべてのバス動作を停止してください。 図 22.4-18 CAN プリスケーラレジスタのビット構成 CAN プリスケーラレジスタ ( アクセス:Byte, Half-word, Word) アドレス bit15 bit14 bit13 bit12 01A8H 予約 R/W0 - - - R0,WX R0,WX R0,WX bit11 bit10 bit9 bit8 CANPRE3CANPRE2CANPRE1CANPRE0 R/W R/W R/W 初期値 0---0000B R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] : 予約ビット 必ず "0" を書き込んでください。 [bit14 ∼ bit12] : 未定義ビット 常に "0" が読み出されます。書込みは "0" を設定してください。 [bit11 ∼ bit8] :CAN プリスケーラ設定ビット CANPRE[3:0] 機能 0000 CAN クロックとしてシステムクロックの同一周期が選択されます。 ( 初期値 : CANPRE[3:0]=0000) 0001 CAN クロックとしてシステムクロックの 1/2 周期が選択されます。 001x CAN クロックとしてシステムクロックの 1/4 周期が選択されます。 01xx CAN クロックとしてシステムクロックの 1/8 周期が選択されます。 1000 CAN クロックとしてシステムクロックの 2/3 周期が選択されます。 クロックの Duty は 67% となります。 1001 CAN クロックとしてシステムクロックの 1/3 周期が選択されます。 101x CAN クロックとしてシステムクロックの 1/6 周期が選択されます。 11xx CAN クロックとしてシステムクロックの 1/12 周期が選択されま す。 <注意事項> • CAN プリスケータ設定ビットの変更は , CAN 制御レジスタ (CTRLR) の初期化ビット を "1" にセットし , すべてのバス動作を停止させた後に行ってください。 • レジスタの設定により CAN インタフェースに供給するクロックは 16MHz 以下として ください。 514 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 22.5 CAN 機能 CAN には以下の機能があります。 • メッセージオブジェクト • メッセージ送信動作 • メッセージ受信動作 • FIFO バッファ機能 • 割込み機能 • ビットタイミング • テストモード • ソフトウェア初期化 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 515 第 22 章 CAN 22.5 CAN 機能 22.5.1 MB91220 シリーズ メッセージオブジェクト メッセージ RAM のメッセージオブジェクトとインタフェースについて説明します。 ■ メッセージオブジェクト メッセージ RAM のメッセージオブジェクト設定 (MsgVal, NewDat, IntPnd, TxRqst ビッ トを除く ) は , ハードウェアリセットによって初期化されません。そのためメッセージ オブジェクトを CPU で初期化するか , MsgVal ビットを無効 (MsgVal=0) に設定してく ださい。また , CAN ビットタイミングレジスタ (BTR) の設定は CAN 制御レジスタ (CTRLR) の Init ビットが "0" の時行ってください。 メッセージオブジェクトの設定は , メッセージインタフェースレジスタ (IFx マスクレ ジスタ , IFx アービトレーションレジスタ , IFx メッセージ制御レジスタ (IFxMCTR), IFx データレジスタ (IFxDTx)) に設定した後 , IFx コマンド要求レジスタ (IFxCREQ) への メッセージ番号の書込みにより , そのインタフェースレジスタのデータが指定された メッセージオブジェクトへ転送されます。 CAN 制御レジスタ (CTRLR) の Init ビットが "0" にクリアされると CAN コントローラ は動作を開始します。受容フィルタを通過した受信メッセージは , メッセージ RAM へ 格納されます。送信要求が保留されているメッセージは , メッセージ RAM から CAN コントローラのシフトレジスタへ転送され , CAN バスへの送信が行われます。 CPU は , メッセージインタフェースレジスタ経由で受信メッセージの読出しおよび , 送 信メッセージの更新を行います。また , CAN 制御レジスタ (CTRLR) および , IFx メッ セージ制御レジスタ (IFxMCTR)( メッセージオブジェクト ) の設定に応じて , CPU への 割込みが行われます。 ■ メッセージ RAM とのデータ送受信 メッセージインタフェースレジスタとメッセージ RAM とのデータ転送を開始すると , IFx コマンド要求レジスタ (IFxCREQ) の Busy ビットを "1" にセットします。転送完了 後 , BUSY ビットは "0" にクリアされます ( 図 22.5-1 参照 )。 IFx コマンドマスクレジスタ (IFxCMSK) は , 一つのメッセージオブジェクトの全デー タ転送か , データの部分転送を行うかを設定します。メッセージ RAM の構造上 , メッ セージオブジェクトの単一ビット/バイトの書込みは不可能となっており , 常に一つ のメッセージオブジェクトの全データをメッセージ RAM へ書き込みます。したがっ て , メッセージインタフェースレジスタからメッセージ RAM へのデータ転送は , リー ドモディファイライトサイクルを実行しています。 516 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 図 22.5-1 メッセージインタフェースレジスタとメッセージ RAM のデータ転送 スタート いいえ IFxコマンド要求レジスタへ 書込み はい Busy = 1 Interrupt = 0 いいえ はい WR/RD = 1 メッセージRAMから メッセージインタフェースレジスタへ読出し メッセージRAMから メッセージインタフェースレジスタへ読出し メッセージインタフェースレジスタから メッセージRAMへの書込み Busy = 0 Interrupt = 1 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 517 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ メッセージ送信動作 22.5.2 送信メッセージオブジェクトの設定方法および送信動作について説明します。 ■ メッセージ送信 メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送がない場合 , CAN メッセージ有効レジスタ (MSGVAL) の MsgVal ビットと CAN 送信要求レジスタ (TREQR) の TxRqst ビットを評価します。送信要求を保留している中で , 最高優先度の 有効であるメッセージオブジェクトが , 送信用のシフトレジスタへ転送が行われます。 そのときメッセージオブジェクトの NewDat ビットは "0" にクリアされます。 正常に送信が完了したとき , メッセージオブジェクトに新たなデータがない (NewDat=0) 場合は , TxRqst ビットは "0" にリセットされます。TxIE が "1" にセットされている場合 は , 送信成功後に IntPnd ビットが "1" にセットされます。CAN コントローラが CAN バス 上で調停に負けた場合 , あるいは転送中にエラーが発生した場合は , CAN バスがアイドル になり次第 , 直ちにメッセージの再送信が行われます。 ■ 送信優先度 メッセージオブジェクトの送信優先度は , メッセージ番号によって決定します。メッ セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32 ( 搭載している 最大メッセージオブジェクト番号 ) が最低優先度となります。従って , 2 つ以上の送信 要求が保留されていると , 対応するメッセージオブジェクトの小さい番号順に転送が 行われます。 ■ 送信メッセージオブジェクトの設定 表 22.5-1 に送信オブジェクトの初期化方法を示します。 表 22.5-1 送信メッセージオブジェクトの初期化 MsgVal Arb Data Mask EoB Dir 1 appl. appl. appl. 1 1 NewDat MsgLst 0 0 RxIE TxIE IntPnd 0 appl. 0 RmtEn TxRqst appl. 0 IFx アービトレーションレジスタ (ID28-0 と Xtd ビット ) は , アプリケーションで与え られ , 送信メッセージの ID およびメッセージの種類を定義します。 標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は 無効となります。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用 します。 TxIE ビットに "1" をセットすると , メッセージオブジェクトの送信成功後に IntPnd ビッ トが "1" にセットされます。 RmtEn ビットに "1" をセットすると , 一致するリモートフレームを受信後 , TxRqst ビッ トに "1" をセットし , データフレームを自動的に送信します。 データレジスタ (DLC3-0, Data0-7) の設定は , アプリケーションで与えられます。 518 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ Umask=1 のとき , IFx マスクレジスタ (Msk28-0, UMask, MXtd, MDir ビット ) は , マスク 設定によりグループ化された ID を持つリモートフレームを受信し , その後 , 送信を許 可 (TxRqst ビットに "1" をセット ) するために使用されます。詳細は ,「22.5.3 メッセー ジ受信動作」のリモートフレームを参照して下さい。 <注意事項> IFx マスクレジスタの Dir ビットをマスク許可に設定することは禁止です。 ■ 送信メッセージオブジェクトの更新 CPU は , 送信メッセージオブジェクトのデータをメッセージインタフェースレジスタ 経由で , 更新する事ができます。 送信メッセージオブジェクトのデータは , 対応する IFx データレジスタ (IFxDTx) の 4 バイト単位 (IFx データレジスタ A(IFxDTAx), IFx データレジスタ (IFxDTBx) 単位 ) で データ書込みが行われます。そのため1バイトだけ送信メッセージオブジェクトを変 更することはできません。 8 バイトのデータのみを更新する時は , まず IFx コマンドマスクレジスタ (IFxCMSK) へ 0087H の書込みを行います。そして , IFx コマンド要求レジスタ (IFxCREQ) へメッセー ジ番号の書込みにより , 送信メッセージオブジェクトのデータ更新 (8 バイトデータ ) と TxRqst ビットへの "1" 書込みが同時に行われます。 送信中のメッセージ番号に連続して送信させたい場合 , TxRqst ビットと NewDat に "1" を設定してください。TxRqst ビットは "0" にリセットされずに連続送信が可能となり ます。 NewDat ビットが "1", TxRqst ビットが共に "1" の場合 , 送信を開始すると NewDat ビッ トは "0" にリセットされます。 <注意事項> • データを更新する場合は , IFx データレジスタ A(IFxDTAx) もしくは IFx データレジス タ B(IFxDTBx) の 4 バイト単位で行って下さい。 • データのみを更新する場合は, NewDatビットとTxRqstビットに"1"を設定して下さい。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 519 第 22 章 CAN 22.5 CAN 機能 22.5.3 MB91220 シリーズ メッセージ受信動作 受信メッセージオブジェクトの設定方法および受信動作について説明します。 ■ 受信メッセージの受容フィルタ メッセージのアービトレーション/コントロールフィールド (ID + IDE + RTR + DLC) が CAN コントローラ受信用シフトレジスタへ完全にシフトされると , 有効メッセージ オブジェクトとの一致比較のためにメッセージ RAM のスキャンを開始します。 この時 , メッセージ RAM のメッセージオブジェクトから調停フィールドとマスクデー タ (MsgVal, UMask, NewDat, EoB を含む ) がロードされ , メッセージオブジェクトとシ フトレジスタの調停フィールドがマスクデータを含んで比較されます。 この動作は ,“メッセージオブジェクトとシフトレジスタの調停フィールドが一致検出 されるまで ", または“メッセージ RAM の最終ワードに到達するまで ", 繰り返し実行 します。一致が検出されると , メッセージ RAM のスキャンは停止され , 受信フレーム のタイプ ( データフレームまたはリモートフレーム ) により , CAN コントローラは処 理を行います。 ■ 受信優先度 メッセージオブジェクトの受信優先度は , メッセージ番号によって決定します。メッ セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32( 搭載している最 大メッセージオブジェクト番号 ) が最低優先度となります。従って , 受容フィルタで2 つ以上一致した場合は , メッセージ番号の小さい番号が受信メッセージオブジェクト となります。 ■ データフレーム受信 CAN コントローラは , 受容フィルタで一致したメッセージオブジェクトのメッセージ RAM へ , シフトレジスタから受信メッセージを転送し格納します。この格納するデー タは , データバイトだけではなく , すべてのアービトレーションフィールドおよびデー タ長コードも格納します。これは , IFx マスクレジスタがマスク設定されている場合で も実行されます (ID とデータバイトを保持するために格納されます )。 NewDat ビットは , 新たなデータが受信されると "1" にセットされます。CPU がメッ セージオブジェクトを読み出した時には , NewDat ビットを "0" にリセットして下さい。 メッセージ受信時に , 既に NewDat ビットが "1" にセットされている場合は , その前の データが失われたことになり , MsgLst ビットが "1" にセットされます。 RxIE ビットが "1" にセットされている場合 , メッセージバッファを受信すると CAN 割 込みペンディングレジスタ (INTPND) の IntPnd ビットに "1" をセットします。その時 , そのメッセージオブジェクトの TxRqst ビットは "0" にクリアされます。これは , リモー トフレーム送信処理中に , 要求データフレームを受信した場合 , 送信処理を防ぐために 行われます。 520 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ ■ リモートフレーム リモートフレーム受信時の動作は , 下記の 3 つの処理があります。一致するメッセージ オブジェクトの設定より , リモートフレーム受信時の処理が選択されます。 1)Dir="1"( 送信方向 ), RmtEn="1", UMask="1" または "0" 一致したリモートフレームの受信を行い , このメッセージオブジェクトの TxRqst ビットのみ "1" にセットされ , リモートフレームに対するデータフレームの自動返 信 ( 送信 ) を行います (TxRqst ビット以外のメッセージオブジェクトは変更されま せん )。 2)Dir="1"( 送信方向 ), RmtEn="0", UMask="0" 受信したリモートフレームがメッセージオブジェクトと一致しても受信しないで リモートフレームを無効にします ( このメッセージオブジェクトの TxRqst ビットは 変更されません )。 3)Dir="1"( 送信方向 ), RmtEn="0", UMask="1" 受信したリモートフレームがメッセージオブジェクトと一致した場合 , このメッ セージオブジェクトの TxRqst ビットは "0" にリセットされ , リモートフレームは受 信データフレームのように処理されます。受信したアービトレーションフィールド とコントロールフィールド (ID + IDE + RTR + DLC) は , メッセージ RAM のメッセー ジオブジェクトへ格納され , このメッセージオブジェクトの NewDat ビットが "1" に セットされます。メッセージオブジェクトのデータフィールドは変更されません。 ■ 受信メッセージオブジェクトの設定 表 22.5-2 に受信メッセージオブジェクトの初期化方法を示します。 表 22.5-2 受信メッセージオブジェクトの初期化 MsgVal Arb Data Mask EoB Dir 1 appl. appl. appl. 1 0 NewDat MsgLst 0 0 RxIE TxIE IntPnd RmtEn TxRqst appl. 0 0 0 0 IFx アービトレーションレジスタ (ID28-0, Xtd ビット ) は , アプリケーションによって 与えられ , 受容フィルタに用いられる受信メッセージ ID とメッセージの種類を定義し ます。 標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は 無効となります。また , 標準フレームが受信されると , ID17 ∼ ID0 は "0" にリセットさ れます。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用します。 RxIE ビットが "1" にセットされた場合 , 受信データフレームがメッセージオブジェク トへ格納されると IntPnd ビットが "1" にセットされます。 データ長コード (DLC3-0) は , アプリケーションによって与えられます。CAN コント ローラが , 受信データフレームをメッセージオブジェクトへ格納する時 , 受信データ長 コードと 8 バイトのデータを格納します。データ長コードが 8 未満の場合は , メッセー ジオブジェクトの残りのデータは不定データが書き込まれます。 Umask=1 のとき , IFx マスクレジスタ (Msk28-0, UMask, MXtd, MDir ビット ) は , マスク 設定によりグループ化された ID を持つデータフレームの受信を許可するために使用し ます。詳細は , 「22.5.3 メッセージ受信動作」のデータフレーム受信を参照してくださ い。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 521 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ <注意事項> IFx マスクレジスタの Dir ビットのマスク設定は禁止です。 ■ 受信メッセージの処理 CPU は , メッセージインタフェースレジスタを介して , 受信メッセージをいつでも読み 出すことが可能です。 通常 , IFx コマンドマスクレジスタ (IFxCMSK) に“007FH" を書き込みます。次にメッ セージオブジェクトのメッセージ番号を IFx コマンド要求レジスタ (IFxCREQ) に書き 込みます。この手順によって , 指定されたメッセージ番号の受信メッセージをメッセー ジ RAM からメッセージインタフェースレジスタに転送します。この時 , IFx コマンド マスクレジスタ (IFxCMSK) の設定により , メッセージオブジェクトの NewDat ビット と IntPnd ビットを "0" にクリアすることが可能です。 受信メッセージの処理は , 受容フィルタにより一致した場合 , メッセージを受信しま す。メッセージオブジェクトで受容フィルタのマスクを使用している場合は , マスク設 定されたデータが受容フィルタから除外され , メッセージを受信するか判断します。 NewDat ビットは , メッセージオブジェクトが最後に読み出されてから , 新しいメッ セージが受信されたかを示します。 MsgLst ビットは , 受信したデータがメッセージオブジェクトから読み出されない状態 で次の受信データを受信したために前のデータを失ってしまったことを示します。 MsgLst ビットは自動的にリセットされません。 リモートフレーム送信処理中に , 受容フィルタにより一致するデータフレームが受信 された場合には , TxRqst ビットは自動的に "0" にクリアされます。 522 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ FIFO バッファ機能 22.5.4 受信メッセージ処理におけるメッセージオブジェクトの FIFO バッファの構成および 動作について説明します。 ■ FIFO バッファの構成 FIFOバッファの受信メッセージオブジェクトの構成は, EoBビットを除いて, 受信メッ セージオブジェクトの構成と同じです (「22.5.3 メッセージ受信動作」の受信メッセー ジオブジェクトの設定を参照してください )。 FIFO バッファは , 2 つ以上の受信メッセージオブジェクトを連結して使用します。受 信メッセージオブジェクトの ID とマスクを使用する場合 , この FIFO バッファへ受信 メッセージを格納するためには , それらの設定を一致させる必要があります。 FIFO バッファの最初の受信メッセージオブジェクトは , 優先順位の高いメッセージ番 号の小さい番号となります。FIFO バッファの最後の受信メッセージオブジェクトは , EoB ビットに "1" をセットし , FIFO バッファブロックの終わりを示す必要があります。 (FIFO バッファ構成を使用するメッセージオブジェクトの最終メッセージオブジェク ト以外は , EoB ビットに "0" を設定してください。) <注意事項> • FIFO バッファで使用するメッセージオブジェクトの ID とマスク設定は必ず同じ設定 にして下さい。 • FIFO バッファを使用しない場合は , 必ず EoB ビットに "1" を設定してください。 ■ FIFO バッファによるメッセージ受信 受信メッセージが , FIFO バッファの ID と一致した場合は , 最小メッセージ番号の FIFO バッファの受信メッセージオブジェクトへ格納されます。 FIFO バッファの受信メッセージオブジェクトへメッセージが格納されると , この受信 メッセージオブジェクトの NewDat ビットが "1" にセットされます。EoB ビットが "0" の受信メッセージオブジェクトへ NewDat ビットをセットすると , CAN コントローラ による FIFO バッファ書込みは , 最後の受信メッセージオブジェクト (EoB ビット ="1") に到達するまで , 受信メッセージオブジェクトは保護され , 書込みが行われません。 最終FIFOバッファまで有効なデータが格納された状態で受信メッセージオブジェクト の NewDat ビットに "0" 書込み ( 書込み保護の解除 ) が行われないと次に受信された メッセージが最終メッセージオブジェクトへ書き込まれ , メッセージは上書きされて しまいます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 523 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ ■ FIFO バッファからの読出し CPU が受信メッセージオブジェクトの内容を読み出すには , IFx コマンド要求レジスタ (IFxCREQ)へ受信メッセージ番号を書き込むことによって, メッセージインタフェース レジスタに転送され読み出すことができます。このとき , IFx コマンドマスクレジスタ (IFxCMSK) の WR/RD を "0"( リード ) および , TxRqst/NewDat=1, IntPnd=1 に設定し , NewDat ビットと IntPnd ビットを "0" にリセットしてください。 FIFO バッファの機能を保証するために , FIFO バッファの受信メッセージオブジェクト は , 必ず最小のメッセージ番号から読み出してください。 図 22.5-2 に FIFO バッファで連結されるメッセージオブジェクトの CPU の処理方法を 示します。 図 22.5-2 FIFO バッファの CPU 処理 スタート メッセージ割込み CAN割込みレジスタ 読出し 8000H 0000H CAN割込みレジスタ値 8000H,0000H以外 状態割込み処理実行 終了 (通常処理) メッセージ番号 = CAN割込みレジスタ値 IFxコマンド要求レジスタ(メッセージ番号) 書込み メッセージインタフェースレジスタ 読出し (リセット:NewDat=0,IntPnd=0) IFxメッセージ制御レジスタ 読出し NewDat = 1 いいえ はい IFxメッセージデータレジスタA,B 読出し EoB = 1 はい いいえ メッセージ番号 = メッセージ番号+1 524 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 22.5.5 割込み機能 ステータス割込み (IntId=8000H) およびメッセージ割込み (IntId= メッセージ番号 ) による割込み処理について説明します。 複数の割込みが保留中である場合 , CAN 割込みレジスタ (INTR) は , 保留中の最高優先 度の割込みコードを示します。割込みコードの設定された時間順は無視され , 常に優先 順位の高い割込みコードが表示されます。CPU がクリアするまで割込みコードは保持 されます。 ステータス割込み (IntId ビットの 8000H) は , 最高優先度となります。 メッセージ割込みの優先度は , メッセージ番号の小さいメッセージが高く , 大きいメッ セージが低くなります。 メッセージ割込みは , メッセージオブジェクトの IntPnd ビットのクリアによってクリ アされます。ステータス割込みは , CAN ステータスレジスタ (STATR) の読出しでクリ アされます。 CAN 割込みペンディングレジスタ (INTPND) の IntPnd ビットは , 割込みの有無を示し ます。保留中の割込みがないときは , IntPnd ビットは "0" を示します。 CAN制御レジスタ(CTRLR)のIEビットおよび, IFxメッセージ制御レジスタ(IFxMCTR) の TxIE ビット ,RxIE ビットに "1" をセットしている状態で , IntPnd ビットが "1" になる と CPU への割込み信号がアクティブになります。割込み信号は , CAN 割込みペンディ ングレジスタ (INTPND) が "0" にクリアされる ( 割込み要因リセット ) か , CAN 制御レ ジスタ (CTRLR) の IEビットが "0" にリセットされるまでアクティブ状態を保持します。 CAN 割込みレジスタ (INTR) の 8000H は , CAN コントローラによって CAN ステータス レジスタ (STATR) が更新されたことを示し , この割込みが最高優先度となります。 CAN ステータスレジスタ (STATR) の更新による割込みは , CAN 制御レジスタ (CTRLR) の EIE ビットと SIE ビットにより CAN 割込みレジスタ (INTR) への設定許可又は禁止の 制御ができます。また , CPU への割込み信号の制御は , CAN 制御レジスタ (CTRLR) の IE ビットで行うことができます。 CAN ステータスレジスタ (STATR) の RxOk ビット , TxOk ビット , LEC ビットは , CPU からの書込みにより更新 ( リセット ) することができますが , その書込みにより割込み のセット又はリセットを行うことはできません。 CAN 割込みレジスタ (INTR) の 8000H, 0000H 以外は , メッセージ割込みが保留中である ことを示し , 優先度の高い保留中のメッセージ割込みを示します。 CAN 割込みレジスタ (INTR) は , IE がリセットされた場合でも更新されます。 CPU へのメッセージ割込みの原因は , CAN 割込みレジスタ (INTR) 又は CAN 割込みペ ンディングレジスタ (INTPND) で確認することができます。(「22.4.4 メッセージハン ドラレジスタ」参照 ) メッセージ割込みをクリアする場合 , 同時にメッセージデータを 読み出すことは可能であり , CAN 割込みレジスタ (INTR) で示されているメッセージ割 込みをクリアすると次に優先度の高い割込みが CAN 割込みレジスタ (INTR) にセット され , 次の割込み処理を待つことになります。割込みがない場合には , CAN 割込みレ ジスタ (INTR) は 0000H を示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 525 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ <注意事項> • ステータス割込み (IntId=8000H) は , CAN ステータスレジスタ (STATR) の読出しアク セスにより割込みクリアされます。 • CAN ステータスレジスタ (STATR) の書込みアクセスによる , ステータス割込み (IntId= 8000H) は発生しません。 526 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 22.5.6 ビットタイミング ビットタイミングについての概要と CAN コントローラにおけるビットタイミングに ついて説明します。 CAN ネットワークの各 CAN ノードは , それぞれクロック発振器 ( 通常は水晶発振器 ) を持っています。ビットタイムのタイムパラメータは , CAN ノードごとに個別に構成 できます。CAN ノードの発振周期 (fosc) が異なっていても , 共通のビットレートを作 り出せます。 これらの発振器の周波数は , 温度や電圧の変化 , コンポーネントの悪化により少し異な ります。その変動が発振器の許容範囲 (df) 内である限りは , CAN ノードはビットスト リームへ再同期化することで異なるビットレートを補償できます。 CAN 仕様に応じて , ビットタイムは 4 つの区分に分けられ ( 図 22.5-3 ビットタイミン グ 参 照 ), 同 期 化 部 (Sync_Seg), 伝 送 時 間 部 (Prop_Seg), フ ェ イ ズ バ ッ フ ァ 部 1 (Phase_Seg1), フェイズバッファ部 2(Phase_Seg2) で構成されます。それぞれの区分は , プログラマブルな時間量 ( 表 22.5-3 CAN ビットタイムのパラメータ参照 ) から成りま す。ビットタイムの基本単位時間 (tq) は , CAN コントローラのシステムクロック fsys とボーレートプリスケーラ (BRP) で定義されます。 tq = BRP / fsys CAN のシステムクロック fsys は , Clock 入力の周波数 ( 図 22.2-1 CAN のブロックダイ ヤグラム参照 ) になります。同期化部の Sync_Seg は , CAN バスのエッジを期待する ビットタイム内のタイミングとなります。伝送時間部の Prop_Seg は , CAN ネットワー ク内の物理的遅延時間を補償します。フェイズバッファ部の Phase_Seg1, Phase_Seg2 は , サンプリングポイントを指定します。再同期化ジャンプ幅 (SJW) は , エッジフェーズ エラーを補償するために再同期化時のサンプリングポイントの移動幅を定義します。 図 22.5-3 ビットタイミング CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 527 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 表 22.5-3 CAN ビットタイムのパラメータ パラメータ レンジ 機能 BRP [1-32] Sync_Seg 1 tq Prop_Seg [1-8] tq 物理遅延時間の補償 Phase_Seg1 [1-8] tq サンプルポイント前のエッジフェーズエラー保証 同期化により一時的に長くされる可能性あります Phase_Seg2 [1-8] tq サンプルポイント後のエッジフェーズエラー保証 同期化により一時的に短くされる可能性あります SJW [1-4] tq 再同期化ジャンプ幅 どちらかのフェイズバッファ部より長くなることはない 時間量の長さ tq の定義 固定長 システムクロックへの同期化 次に CAN コントローラにおけるビットタイミングを示します。 図 22.5-4 CAN コントローラにおけるビットタイミング 1ビットタイム(BT) Sync _Seg TEG1 1単位時間 (tq) TEG2 サンプリングポイント 表 22.5-4 CAN コントローラのパラメータ 528 パラメータ レンジ 機能 BRPE,BRP [0-1023] Sync_Seg 1 tq TSEG1 [1-15] tq サンプリングポイント前のタイムセグメントです Prop_Seg と Phase_Seg1 に相当します ビットタイミングレジスタにより制御可能です TSEG2 [0-7] tq サンプリングポイント後のタイムセグメントです Phase_Seg2 に相当します ビットタイミングレジスタにより制御可能です SJW [0-3] tq 再同期化ジャンプ幅です ビットタイミングレジスタにより制御可能です 時間量の長さ tq の定義 ビットタイミングレジスタおよびプレスケーラ拡張レジス タにより最大 1024 までプリスケーラを拡張できます システムクロックへの同期化 固定長 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 各パラメータの関係を以下に示します。 tq =([BRPE,BRP]+1) / fsys BT =SYNC_SEG + TEG1 + TEG2 =(1 + (TSEG1 + 1) + (TSEG2 + 1)) × tq =(3 + TSEG1 + TSEG2) × tq CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 529 第 22 章 CAN 22.5 CAN 機能 22.5.7 MB91220 シリーズ テストモード テストモードの設定方法および動作について説明します。 ■ テストモード設定 CAN 制御レジスタ (CTRLR) の Test ビットに "1" をセットすることでテストモードと なります。テストモードに設定すると , CAN テストレジスタ (TESTR) のビット Tx1, Tx0, LBack, Silent, Basic ビットが有効となります。 CAN 制御レジスタ (CTRLR) の Test ビットを "0" にリセットすることにより , すべての テストレジスタ機能を無効にします。 ■ サイレントモード CAN テストレジスタ (TESTR) の Silent ビットを "1" にセットすることにより , CAN コ ントローラをサイレントモードに設定できます。 サイレントモードでは, データフレームとリモートフレームを受信可能ですが, CANバ ス上にはレセッシブのみ出力し , メッセージおよび ACK の送信を行いません。 CAN コントローラがドミナントビット (ACK ビット , オーバロードフラグ , アクティ ブエラーフラグ ) の送信を要求された場合 , CAN コントローラ内部の折り返し回路で RX 側に送信されます。この動作では , CAN バス上においてレセッシブ状態であっても , 受信側ではCANコントローラ内部で折り返し送信されたドミナントビットを受信する ことになります。 サイレントモードでは , ドミナントビット (ACK ビット , エラーフラグ ) 送信による影 響がない状態で , CAN バス上のトラフィック解析ができます。 図 22.5-5 にサイレントモードでの信号 CAN_TX と CAN_RX の CAN コントローラへの 接続を示します。 図 22.5-5 サイレントモードでの CAN コントローラ 530 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ ■ ループバックモード CAN テストレジスタ (TESTR) の LBack ビットを "1" にセットすることにより , CAN コ ントローラをループバックモードに設定できます。 ループバックモードは , 自己診断機能に使用できます。 ループバックモードでは , CAN コントローラ内部で TX 側と RX 側が接続され , CAN コントローラが送信したメッセージを , RX 側で受信したメッセージとして扱い , 受容 フィルタを通過したメッセージは , 受信バッファに格納します。 図 22.5-6 にループバックモードでの信号 CAN_TX と CAN_RX の CAN コントローラへ の接続を示します。 図 22.5-6 ループバックモードの CAN コントローラ <注意事項> 外部信号から独立するため , データ/リモートフレームのアクノリッジスロットでのドミ ナントビットはサンプリングされません。そのため通常 , CAN コントローラはアクノリッ ジエラーを発生しますが , テストモードではアクノリッジエラーを発生しないようにして います。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 531 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ ■ サイレントモードとループバックモードの結合 CAN テストレジスタ (TESTR) の LBack ビットと Silent ビットを同時に "1" にセットす ることにより , ループバックモードとサイレントモードを結合させ動作することが可 能です。 このモードは , 「ホットセルフテスト」用に使用できます。「ホットセルフテスト」と は , CAN コントローラがループバックモードでテストしたときに , CAN_TX 端子には レセッシブの固定出力 , CAN_RX 端子からの入力は無効となりますので , CAN システ ムの動作に影響がないことを意味しています。 図 22.5-7 にサイレントモードとループバックモードの結合したときの信号 CAN_TX と CAN_RX の CAN コントローラへの接続を示します。 図 22.5-7 サイレントモードとループバックモードの結合された CAN コントローラ ■ ベーシックモード CAN テストレジスタ (TESTR) の Basic ビットを "1" にセットすることにより , CAN コ ントローラをベーシックモードに設定できます。 ベーシックモードでは , CAN コントローラは , メッセージ RAM を使用せずに動作しま す。 IF1 メッセージインタフェースレジスタは , 送信制御用として使用されます。 メッセージ送信を行う場合 , まず , IF1 メッセージインタフェースレジスタに送信する 内容を設定します。次に , IF1 コマンド要求レジスタの Busy ビットに "1" をセットする ことで送信要求します。Busy ビットが "1" にセットされている間 , IF1 メッセージイン タフェースレジスタをロックししている , または送信が保留されていることを示しま す。 Busy ビットに "1" がセットされると CAN コントローラは以下の動作を行います。 CANバスがバスアイドルになるとすぐに, IF1メッセージインタフェースレジスタの内 容を , 送信用シフトレジスタへロードし , 送信を開始します。正常に送信完了すると , Busy ビットが "0" にリセットされ , ロックされていた IF1 メッセージインタフェースレ ジスタを開放します。 送信が保留されているときに , IF1 コマンド要求レジスタの Busy ビットを "0" にリセッ トすることでいつでも中断できます。また , 送信中に Busy ビットを "0" にリセットす ると , 調停負けやエラーなどの場合に行われる再送信を停止します。 532 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ IF2 メッセージインタフェースレジスタは , 受信制御用として使用されます。 メッセージの受信は , 受容フィルタを使用せずにすべて受信します。IF2 コマンド要求 レジスタの Busy ビットを "1" にセットすることにより , 受信したメッセージの内容を 読み出すことが可能となります。 Busy ビットに "1" がセットされると CAN コントローラは以下の動作を行います。 • 受信したメッセージ ( 受信用のシフトレジスタの内容 ) を受容フィルタなしで , IF2 メッセージインタフェースレジスタへ格納します。 新しいメッセージが IF2 メッセージインタフェースレジスタに格納された場合 , CAN コントローラが NewDat ビットを "1" にセットします。また , NewDat ビットが "1" の ときに , さらに新しいメッセージを受信した場合は , CAN コントローラが MsgLst を "1" にセットします。 <注意事項> • ベーシックモードでは , 制御/状態ビットに関係するすべてのメッセージオブジェク トと IFx コマンドマスクレジスタ (IFxCMSK) の制御モード設定は無効となります。 • コマンド要求レジスタのメッセージ番号は無効です。 • IF2 メッセージ制御レジスタの NewDat ビットと MsgLst ビットは通常時と同様に動作 し , DLC3-0 は受信された DLC を示し , 他の制御ビットは "0" として読み出されます。 ■ 端子 CAN_TX のソフトフェア制御 CAN 送信端子である CAN_TX は , 4つの出力機能あります。 • シリアルデータ出力 ( 通常出力 ) • CANコントローラのビットタイミングをモニタするための, CANサンプリングポイ ント信号出力 • ドミナント固定出力 • レセッシブ固定出力 ドミナントおよびレセッシブの固定出力は , CAN 受信端子の CAN_RX モニタ機能と共 に , CAN バスの物理層のチェックに使用することができます。 CAN_TX 端子の出力モードは , CAN テストレジスタ (TESTR) の Tx1 と Tx0 ビットによ り制御可能です。 <注意事項> CAN メッセージ送信もしくはループバックモード , サイレントモード , ベーシックモード を使用する際は , CAN_TX をシリアルデータ出力に設定する必要があります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 533 第 22 章 CAN 22.5 CAN 機能 22.5.8 MB91220 シリーズ ソフトウェア初期化 ソフトウェアによる初期化について説明します。 ソフトウェアでの初期化要因を以下に示します。 • ハードウェアリセット • CAN 制御レジスタ (CTRLR) の Init ビットの設定 • バスオフ状態への遷移 ハードウェアによるリセットは, メッセージRAM (MsgVal, NewDat, IntPnd, TxRqstビッ トを除く ) 以外すべて初期化されます。メッセージ RAM はハードウェアによるリセッ ト後 , CPU によって初期化するかメッセージ RAM の MsgVal を "0" にしてください。 また , ビットタイミングレジスタを設定する場合には , CAN 制御レジスタ (CTRLR) の Init ビットを "0" にクリアする前に設定してください。 CAN 制御レジスタ (CTRLR) の Init ビットは , 以下の条件で "1" にセットされます。 • CPU からの "1" 書込み • ハードウェアリセット • バスオフ Init ビットが "1" にセットされると , CAN バスの全メッセージ送受信は停止され , CAN バス出力のCAN_TX端子はレセッシブ出力となります(CAN_TXテストモードは除く)。 Init ビットに "1" をセットすると , エラーカウンタは変化しませんし , レジスタも変更 されません。 CAN 制御レジスタ (CTRLR) の Init ビットと CCE ビットが "1" にセットされると , ボー レート制御用のビットタイミングレジスタとプリスケーラ拡張レジスタへの設定が可 能となります。 Init ビットを "0" にリセットすることによりソフトウェア初期化を終了します。また , Init ビットを "0" にすることは , CPU からのアクセスでしか実行できません。 Init ビットが "0" にリセットされてから , 連続した 11 ビットのレセッシブの発生 ( =バ スアイドル ) を待つことにより , CAN バス上のデータ転送と同期化した後 , メッセージ の転送が行われます。 通常動作中にメッセージオブジェクトのマスク , ID, XTD, EoB, RmtEn を変更する場合 , MsgVal を無効に設定してから変更してください。 534 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ 22.5.9 CAN クロックプリスケーラ PLL 動作中の CAN クロック切換えについて説明します。 ■ ブロック図 CAN クロックプリスケーラの概要について以下のブロック図に示します。 CAN クロックプリスケーラレジスタ (CANPRE) の CANPRE ビットの設定に従い CAN インタフェースに供給されるクロックの分周比が決定されます。 図 22.5-8 ブロック図 CAN clock4 PLL CAN clock3 Clock Divider CAN clock2 X0 CAN clock1 Div by CANPRE CM71-10142-5 CAN clock0 FUJITSU SEMICONDUCTOR LIMITED 535 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ ■ クロック切換え手順 CAN クロックプリスケーラを使用したクロックの切換え方法については , 以下に示さ れる手順を推奨します。 図 22.5-9 クロック切換え手順 CAN クロックの切換え 発振器 -> PLL CAN クロックの切換え PLL -> 発振器 CAN 制御レジスタの Init ビットに "1" をセット CAN 制御レジスタの Init ビットに "1" をセット PLL を有効にする プリスケーラ値をセット PLL ロック時間を確保 PLL を無効にする プリスケーラ値をセット CAN 制御レジスタの Init ビットに "0" を書き込む CAN 制御レジスタの Init ビットに "0" を書き込む 536 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 22 章 CAN 22.5 CAN 機能 MB91220 シリーズ ■ CAN クロックプリスケーラ設定 CAN クロックプリスケーラに設定可能な値を示します。 CAN インタフェースに供給されるクロックは , システムクロックを CAN クロックプリ スケーラの設定値に従い分周されたものとなります。 表 22.5-5 CAN クロックプリスケーラ設定 CANPRE[3:0] 機能 システムクロック : 32MHz 時 0000 CAN クロックとしてシステムクロックと同一周期が選択さ れます。( 初期値 : CANPRE[3:0]=0000) 32MHz ( 設定禁止 ) 0001 CAN クロックとしてシステムクロックの 1/2 周期が選択さ れます。 16MHz 001x CAN クロックとしてシステムクロックの 1/4 周期が選択さ れます。 8MHz 01xx CAN クロックとしてシステムクロックの 1/8 周期が選択さ れます。 4MHz 1000 CAN クロックとしてシステムクロックの 2/3 周期が選択さ れます。 クロックの Duty は 67% となります。 21.33MHz ( 設定禁止 ) 1001 CAN クロックとしてシステムクロックの 1/3 周期が選択さ れます。 10.67MHz 101x CAN クロックとしてシステムクロックの 1/6 周期が選択さ れます。 5.33MHz 11xx CAN クロックとしてシステムクロックの 1/12 周期が選択さ れます。 2.67MHz <注意事項> • CAN プリスケータ設定ビットの変更は , CAN 制御レジスタ (CTRLR) の初期化ビット を "1" にセットし , すべてのバス動作を停止させた後に行ってください。 • レジスタの設定により CAN インタフェースに供給するクロックは 16MHz 以下として ください。すなわち , システムクロックが 32MHz の場合は , CANPRE[3:0] = 0000 と CANPRE[3:0] = 1000 は設定禁止となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 537 第 22 章 CAN 22.5 CAN 機能 538 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) LCD コントローラ / ドライバ (LCDC) の概要 , レジ スタの構成 / 機能および動作について説明します。 CM71-10142-5 23.1 LCD コントローラの概要 23.2 LCD コントローラのレジスタ 23.3 LCD コントローラの動作 FUJITSU SEMICONDUCTOR LIMITED 539 第 23 章 LCD コントローラ (LCDC) 23.1 LCD コントローラの概要 23.1 MB91220 シリーズ LCD コントローラの概要 LCD コントローラ / ドライバの特長とブロックダイヤグラムについて説明します。 ■ LCD コントローラの特長 LCD コントローラは , コモン出力とセグメント出力によって , 直接 LCD を駆動します。 • LCD 駆動電源の分割抵抗を内蔵しています。 • 最大で 4 本のコモン出力 (COM0 ∼ COM3) と 32 本のセグメント出力 (SEG0 ∼ SEG31) が使用できます。 • 16 バイトの表示用データメモリを内蔵しています。 • デューティは , 1/2, 1/3, 1/4 から選択します。バイアスは 1/3 バイアス固定です。 • ドライバは , 内蔵分割抵抗を使用するか , V0 ∼ V3 端子に外部分割抵抗を接続して 外部で用意することが可能です。 • 駆動クロックには , 周辺クロック (CLKP) またはサブクロック (SCLK) を使用します。 • LCD を直接駆動できます。 • COM0 ∼ COM3 端子 , SEG0 ∼ SEG31 端子は , ポート機能レジスタの設定によって , 汎用入出力ポートとして使用できます。 • 使用できるバイアス , デューティと使用するコモン出力は表 23.1-1 のとおりです。 表 23.1-1 バイアス , デューティ , コモン出力の組合せ バイアス 1/2 デューティ 出力モード 1/3 デューティ 出力モード 1/4 デューティ 出力モード 1/3 バイアス COM1 出力 , COM0 出力 COM2 出力∼ COM0 出力 COM3 出力∼ COM0 出力 540 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) 23.1 LCD コントローラの概要 MB91220 シリーズ ■ LCD コントローラのブロックダイヤグラム 図 23.1-1 LCD コントローラのブロックダイヤグラム 端子 V3 コモン端子切換えレジスタ(LCDCMR) - - - - 4 LCD制御 レジスタ0 (LCR0) 内 部 デ | タ バ ス CSS 端子 V2 COM3 COM2 COM1 COM0 内部分割抵抗 端子 V1 端子 V0 - VSEL BK MS1 MS0 FP1 FP0 2 2 発振 クロック サブ クロック プリス ケーラ タイミング コントローラ 表示用データメモリ (16バイト) 交 流 化 回 路 コ モ ン ド ラ イ バ 端子 COM0 端子 COM1 端子 COM2 端子 COM3 端子 SEG0 32 端子 SEG1 6 コントローラ部 ・・・ LCDC制御レジスタ1 (LCR1) 端子 SEG2 ・・・ SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 セ グ メ ン ト ド ラ イ バ 端子 SEG29 端子 SEG30 -:未定義ビット 端子 SEG31 ドライバ部 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 541 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ 23.2 MB91220 シリーズ LCD コントローラのレジスタ LCD コントローラ / ドライバのレジスタの機能について説明します。 ■ LCD コントローラのレジスタ一覧 LCDCMR ( アクセス:Byte,Half-word,Word) アドレス 000098H bit15 − R/W0 bit14 − R/W0 bit13 bit12 bit11 bit10 bit9 bit8 − R/W0 − R/W0 COM3 COM2 COM1 COM0 R/W1 R/W1 R/W1 R/W1 初期値 00000000B LCR0 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00009AH CSS − R/W0 VSEL BK MS1 MS0 FP1 FP0 00010000B R/W R/W R/W R/W R/W R/W R/W LCR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00009BH SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 R/W1 R/W1 R/W1 R/W1 R/W1 R/W1 R/W1 R/W1 初期値 00000000B VRAMn (n=0, 2, 4, 6, 8, 10, 12, 14) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00009CH(VRAM0) 00009EH(VRAM2) 0000A0H(VRAM4) 0000A2H(VRAM6) 0000A4H(VRAM8) 0000A6H(VRAM10) 0000A8H(VRAM12) 0000AAH(VRAM14) D15 D14 D13 D12 D11 D10 D09 D08 00000000B R/W R/W R/W R/W R/W R/W R/W R/W VRAMn (n=1, 3, 5, 7, 9, 11, 13, 15) ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 00009DH(VRAM1) 00009FH(VRAM3) 0000A1H(VRAM5) 0000A3H(VRAM7) 0000A5H(VRAM9) 0000A7H(VRAM11) 0000A9H(VRAM13) 0000ABH(VRAM15) D07 D06 D05 D04 D03 D02 D01 D00 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 542 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ MB91220 シリーズ ■ コモン端子切換えレジスタ (LCDCMR) 図 23.2-1 コモン端子切換えレジスタ (LCDCMR) のビット構成 LCDCMR ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 000098H − R/W0 − R/W0 − R/W0 − R/W0 COM3 COM2 COM1 COM0 R/W1 R/W1 R/W1 R/W1 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15 ∼ bit12] − : 予約ビット "0" 以外 , 書き込まないでください。 [bit11 ∼ bit8] COM3 ∼ COM0 : コモン端子イネーブルビット COM3 COM2 COM1 COM0 コモン出力 0 0 0 0 コモン出力不可 ( 初期値 ) * * * * 設定不可 1 1 1 1 コモン出力可能 上記の設定により , コモン出力を可能にするか選択します。MB91220 シリーズで LCD を利用する際は , 必ず "00001111B" に設定してください。 ( 注意事項 ) 上記の設定のほかに , 対応する Port Function Register(PFR, EPER) の設定が必要 となります。詳細は , 「第 4 章 I/O ポート」を参照してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 543 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ MB91220 シリーズ ■ LCD コントローラ制御レジスタ 0(LCR0) LCDコントローラ制御レジスタ0(LCR0)は, フレーム周期とフレーム周期発生用クロッ クの選択 , 表示モードと表示 / 非表示の選択 , 駆動電源の制御を行います。 図 23.2-2 LCD コントローラ制御レジスタ 0(LCR0) のビット構成 LCR0 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00009AH CSS − R/W0 VSEL BK MS1 MS0 FP1 FP0 00010000B R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] CSS : フレーム周期発生用クロック選択ビット LCD 表示のフレーム周期を発生するためのクロックを選択します。 CSS 動作 0 LCD コントローラドライバは 周辺クロックで動作します。[ 初期値 ] 1 LCD コントローラドライバはサブクロックで動作します。 ( 注意事項 ) • サブクロックモードでは , メイン発振クロックの発振が停止するため , 周辺ク ロックの設定では動作しません。 • 品種名に "S" がついている製品では "1" を設定しないでください。 [bit14] − : 予約ビット "0" 以外 , 書き込まないでください。 [bit13] VSEL : LCD 駆動電源制御ビット 内部分割抵抗の接続または切断を選択します。外部に分割抵抗を接続する場合には , "0" にセットしてください。 VSEL 動作 0 内部分割抵抗を切断します。[ 初期値 ] 1 内部分割抵抗を接続します。 外部分割抵抗を使用するときは , PFRD/EPFRD を設定して , PD0 ∼ PD3 を V0 ∼ V3 にしてください。 内部分割抵抗を使用する場合でも PD3 を V3 として設定することで , 内部分割抵抗 の電源を外部に持つことが可能です。ただし , V3 ≦ VCC である必要があります。 544 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ MB91220 シリーズ [bit12] BK : ブランキング選択ビット LCD の表示 / 非表示を選択します。セグメント出力が非選択波形 ( 表示条件となら ない波形 ) となり , 非表示になります。 BK 動作 0 表示 1 非表示 [ 初期値 ] [bit10, bit11] MS1, MS0 : 表示モード選択ビット 出力波形のデューティを 3 種類の中から選択します。 設定したデューティ出力モードに対応して , 使用するコモン端子が決まります。 "00B" に設定した場合 , LCD コントローラドライバは表示動作を停止し , コモン / セ グメント端子は "L" レベルを出力します。 MS1 MS0 0 0 LCD 動作停止 0 1 1/2 デューティ出力モード ( 時分割数 =2) 1 0 1/3 デューティ出力モード ( 時分割数 =3) 1 1 1/4 デューティ出力モード ( 時分割数 =4) 動作 [bit8, bit9] FP1, FP0 : フレーム周期選択ビット LCD 表示のフレーム周期を 4 種類の中から選択して設定します。 フレーム周波数 [Hz] FP1 FP0 0 メインクロック選択時 (CSS=0) サブクロック選択時 (CSS=1) 0 CLKP/(213 × N) SCLK/(23 × N) 0 1 CLKP/(214 × N) SCLK/(24 × N) 1 0 CLKP/(215 × N) SCLK/(25 × N) 1 1 CLKP/(216 × N) SCLK/(26 × N) CLKP : メインクロック利用時における周辺クロック周波数 SCLK : サブクロック入力周波数 N : 時分割数 ( 表示モード選択ビットの設定による ) ( 注意事項 ) 使用する LCD パネルのフレーム周波数に対応した最適なフレーム周期の設定を 行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 545 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ MB91220 シリーズ ■ LCD コントローラ制御レジスタ 1(LCR1) 図 23.2-3 LCD コントローラ制御レジスタ 1(LCR1) のビット構成 LCR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00009BH SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 R/W1 R/W1 R/W1 R/W1 R/W1 R/W1 R/W1 R/W1 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7 ∼ bit0] SEG7 ∼ SEG0 セグメント端子イネーブルビット SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 セグメント出力 0 0 0 0 0 0 0 0 セグメント出力不可 ( 初期値 ) 0 0 0 0 0 0 0 1 SEG00 ∼ SEG03 出力可能 0 0 0 0 0 0 1 1 SEG00 ∼ SEG07 出力可能 0 0 0 0 0 1 1 1 SEG00 ∼ SEG11 出力可能 0 0 0 0 1 1 1 1 SEG00 ∼ SEG15 出力可能 0 0 0 1 1 1 1 1 SEG00 ∼ SEG19 出力可能 0 0 1 1 1 1 1 1 SEG00 ∼ SEG23 出力可能 0 1 1 1 1 1 1 1 SEG00 ∼ SEG27 出力可能 1 1 1 1 1 1 1 1 SEG00 ∼ SEG31 出力可能 上記の設定により , 各セグメント出力を可能にするかを選択します。MB91220 シ リーズで , LCD を利用する際には , 必ず , "11111111B" の設定を行ってください。 上記の設定のほかに , 対応する Port Function Register(PFR, EPFR) の設定が必要とな ります。詳細は , 「第 4 章 I/O ポート」を参照してください。 546 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ MB91220 シリーズ ■ 表示用データメモリ (VRAM) 表示用データメモリは , 16 バイトのデータ RAM です。表示用データの設定に使用し ます。 図 23.2-4 表示用データメモリ (VRAM) のビット構成 VRAMn (n=0, 2, 4, 6, 8, 10, 12, 14) ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00009CH(VRAM0) 00009EH(VRAM2) 0000A0H(VRAM4) 0000A2H(VRAM6) 0000A4H(VRAM8) 0000A6H(VRAM10) 0000A8H(VRAM12) 0000AAH(VRAM14) D15 D14 D13 D12 D11 D10 D09 D08 00000000B R/W R/W R/W R/W R/W R/W R/W R/W bit1 bit0 初期値 00000000B VRAMn (n=1, 3, 5, 7, 9, 11, 13, 15) ( アクセス:Byte,Half-word,Word) アドレス bit7 00009DH(VRAM1) 00009FH(VRAM3) 0000A1H(VRAM5) 0000A3H(VRAM7) 0000A5H(VRAM9) 0000A7H(VRAM11) 0000A9H(VRAM13) 0000ABH(VRAM15) bit6 bit5 bit4 bit3 bit2 D07 D06 D05 D04 D03 D02 D01 D00 R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) VRAMの内容は, コモン信号のタイミングに同期して自動的に読み出され, セグメント 出力端子より出力されます。 VRAM の内容は , 表示用データメモリ (VRAM) への書換えと同時にセグメント出力端 子より出力されます。 コモン出力とセグメント出力に対応したビットを "1" に設定した場合は , セグメント出 力端子より選択波形が出力されます。"0" に設定した場合は , セグメント出力端子より 選択波形が出力されます。 VRAM のアクセスは , LCD コントローラの動作に関係なく , 任意のタイミングで読出 し / 書込みができます。 図 23.2-5 に , VRAM とコモン端子 , セグメント端子の対応を示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 547 第 23 章 LCD コントローラ (LCDC) 23.2 LCD コントローラのレジスタ MB91220 シリーズ 図 23.2-5 VRAM とコモン端子・セグメント端子の対応 00009CH (VRAM0) 00009DH (VRAM1) 00009EH (VRAM2) 00009FH (VRAM3) 0000A0H (VRAM4) 0000A1H (VRAM5) 0000A2H (VRAM6) 0000A3H (VRAM7) 0000A4H (VRAM8) 0000A5H (VRAM9) 0000A6H (VRAM10) 0000A7H (VRAM11) 0000A8H (VRAM12) 0000A9H (VRAM13) 0000AAH (VRAM14) 0000ABH (VRAM15) bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 bit11 bit15 bit3 bit7 COM3 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 bit10 bit14 bit2 bit6 COM2 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 bit9 bit13 bit1 bit5 COM1 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 bit8 bit12 bit0 bit4 COM0 SEG0 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 SEG8 SEG9 SEG10 SEG11 SEG12 SEG13 SEG14 SEG15 SEG16 SEG17 SEG18 SEG19 SEG20 SEG21 SEG22 SEG23 SEG24 SEG25 SEG26 SEG27 SEG28 SEG29 SEG30 SEG31 1/2 デューティ出力モードの場合に使用 される RAM 領域とコモン端子 1/3 デューティ出力モードの場合に使用 される RAM 領域とコモン端子 1/4 デューティ出力モードの場合に使用 される RAM 領域とコモン端子 548 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 MB91220 シリーズ 23.3 LCD コントローラの動作 LCD コントローラ / ドライバ (LCDC) の動作について説明します。 ■ LCD コントローラの動作 各レジスタに必要な設定を書き込んだ後にフレーム周期発生用クロックが発振してい る場合は, 表示用データメモリにあらかじめ設定された内容に従って, LCDを駆動する 波形がコモン / セグメント出力端子 (COM0 ∼ COM3, SEG0 ∼ SEG31) に出力されます。 LCD は , LCD コントローラ制御レジスタ 0 でのデューティの設定に従って (LCR0:MS1, MS0), 2 フレーム交流化波形により駆動します。 表示モードが 1/2 デューティの場合の COM2, COM3 端子と , 1/3 デューティの場合の COM3 端子からは , 非選択レベルの波形が出力されます。 LCD の表示動作を停止した場合 (LCR0:MS1, MS0 = 00B) は , コモン / セグメント出力端 子はともに "L" レベルになります。 ■ フレーム周期発生用クロックの切換え LCD の表示動作中の場合でも , フレーム周期発生用クロックは切り換えることができ ます (LCR0:CSS)。ただし , LCD の表示可能なフレーム周期に切り換えた場合でも , 切 換えにより表示がちらつく可能性があります。 切換えによる表示のちらつきを防ぐため , LCD コントローラ制御レジスタ 0 のブラン キング選択ビットを "1" に設定し (LCR0:BK = 1), 非表示の状態にしてから , フレーム周 期発生用クロックを切り換えてください。 また , MS ビットを切り換える場合においても , MS ビット切換え中は動作を保証でき ませんので , LCD コントローラを停止してから切換えを行ってください。 ■ LCD の駆動波形 LCD パネルは , 直流で駆動すると素子が劣化するため , 2 フレーム交流化波形で駆動し ます。出力波形は , LCD 制御レジスタ 0 の表示モード選択ビットで (LCR0:MS1, MS0), 次の 3 種類から選択します。 1/2 デューティ出力モード ( 時分割定数 = 2) 1/3 デューティ出力モード ( 時分割定数 = 3) 1/4 デューティ出力モード ( 時分割定数 = 4) ■ ストップモードについて ストップモード動作モード時 , 動作を停止します ( コモン出力 , セグメント出力 )。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 549 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 MB91220 シリーズ ■ LCD コントローラドライバ動作時の出力波形 (1/2 デューティ出力モード ) 1/2 デューティ出力モードの場合 , LCD の表示に使用されるのは , COM0 出力と COM1 出力のみです。COM2 出力 , COM3 出力は使用されません。 ● 1/3 バイアス・1/2 デューティ出力波形例 LCD では , コモン出力とセグメント出力の電位差が最大となった液晶素子が点灯しま す。 表示用データメモリの内容が表 23.3-1 の場合は , 出力波形が図 23.3-1 のようになりま す。 表 23.3-1 表示用データメモリの内容例 表示用データメモリの内容 セグメント 550 COM3 出力 COM2 出力 COM1 出力 COM0 出力 SEG n 出力 − − 0 0 SEG n+1 出力 − − 1 1 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 MB91220 シリーズ 図 23.3-1 1/3 バイアス・1/2 デューティ出力波形例 V3 V2 V1 V0 COM0出力 V3 V2 V1 V0 COM1出力 V3 V2 V1 V0 COM2出力 V3 V2 V1 V0 COM3出力 V3 V2 V1 V0 SEG n 出力 V3 V2 V1 V0 SEG n+1 出力 ON SEG n, COM0出力に対応する 液晶表示素子 OFF ON SEG n, COM1出力に対応する 液晶表示素子 OFF ON SEG n+1,COM0出力に対応する 液晶表示素子 OFF ON SEG n+1,COM1出力に対応する 液晶表示素子 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED OFF 551 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 MB91220 シリーズ ■ LCD コントローラドライバ動作時の出力波形 (1/3 デューティ出力モード ) 1/3 デューティ出力モードの場合 , LCD の表示に使用されるのは , COM0 出力 , COM1 出力 , COM2 出力です。COM3 出力は使用されません。 ● 1/3 バイアス・1/3 デューティ出力波形例 LCD では , コモン出力とセグメント出力の電位差が最大となった液晶素子が点灯しま す。 表示用データメモリの内容が表 23.3-2 の場合は , 出力波形が図 23.3-2 のようになりま す。 表 23.3-2 表示用データメモリの内容例 表示用データメモリの内容 セグメント 552 COM3 出力 COM2 出力 COM1 出力 COM0 出力 SEG n 出力 − 1 0 0 SEG n+1 出力 − 1 0 1 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 図 23.3-2 1/3 バイアス・1/3 デューティ出力波形例 V3 V2 V1 V0 COM0出力 V3 V2 V1 V0 COM1出力 V3 V2 V1 V0 COM2出力 V3 V2 V1 V0 COM3出力 V3 V2 V1 V0 SEG n 出力 V3 V2 V1 V0 SEG n+1 出力 ON SEG n, COM0出力に対応する 液晶表示素子 OFF ON SEG n, COM1出力に対応する 液晶表示素子 OFF ON SEG n, COM2出力に対応する 液晶表示素子 OFF ON SEG n+1,COM0出力に対応する 液晶表示素子 OFF ON SEG n+1,COM1出力に対応する 液晶表示素子 OFF ON SEG n+1,COM2出力に対応する 液晶表示素子 CM71-10142-5 OFF FUJITSU SEMICONDUCTOR LIMITED 553 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 MB91220 シリーズ ■ LCD コントローラ・ドライバ動作時の出力波形 (1/4 デューティ出力モード ) 1/4 デューティ出力モードの場合は LCD の表示用に , COM0 出力 , COM1 出力 , COM2 出力 , COM3 出力のすべてが使用されます。 ● 1/3 バイアス・1/4 デューティ出力波形例 LCD では , コモン出力とセグメント出力の電位差が最大となった液晶素子が点灯しま す。 表示用データメモリの内容が表 23.3-3 の場合は , 出力波形が図 23.3-3 のようになりま す。 表 23.3-3 表示用データメモリの内容例 表示用データメモリの内容 セグメント 554 COM3 出力 COM2 出力 COM1 出力 COM0 出力 SEG n 出力 0 1 0 0 SEG n+1 出力 0 1 0 1 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 図 23.3-3 1/3 バイアス・1/4 デューティ出力波形例 V3 V2 V1 V0 COM0出力 V3 V2 V1 V0 COM1出力 V3 V2 V1 V0 COM2出力 V3 V2 V1 V0 COM3出力 V3 V2 V1 V0 SEG n 出力 V3 V2 V1 V0 SEG n+1 出力 ON SEG n, COM0出力に対応する 液晶表示素子 OFF ON SEG n, COM1出力に対応する 液晶表示素子 OFF ON SEG n, COM2出力に対応する 液晶表示素子 OFF ON SEG n, COM3出力に対応する 液晶表示素子 OFF ON SEG n+1,COM0出力に対応する 液晶表示素子 OFF ON SEG n+1,COM1出力に対応する 液晶表示素子 OFF ON SEG n+1,COM2出力に対応する 液晶表示素子 OFF ON SEG n+1,COM3出力に対応する 液晶表示素子 CM71-10142-5 OFF FUJITSU SEMICONDUCTOR LIMITED 555 第 23 章 LCD コントローラ (LCDC) 23.3 LCD コントローラの動作 556 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 24 章 32kHz クロック 補正ユニット 32kHz クロック補正ユニットの概要およびレジス タの構成 / 機能について説明します。 CM71-10142-5 24.1 32kHz クロック補正ユニットの概要 24.2 32kHz クロック補正ユニットのレジスタ 24.3 アプリケーションノート FUJITSU SEMICONDUCTOR LIMITED 557 第 24 章 32kHz クロック 補正ユニット 24.1 32kHz クロック補正ユニットの概要 24.1 MB91220 シリーズ 32kHz クロック補正ユニットの概要 32kHz クロック補正ユニットは , 4MHz 発振クロックを基準にして 32kHz 発振ク ロックを補正できます。 ■ 補正ユニットの特長 このユニットを使用すると , ソフトウェアによって , 32kHz クロックによって生成され た時間を 4MHz クロックによって測定できます。 ソフトウェアによる処理と , このユニットの利用によって , 32kHz クロックの正確さを 4MHz クロックの正確さに近づけることができます。32kHz クロック補正ユニットによ る測定結果は , ソフトウェアにより処理できます。また , リアルタイムクロックユニッ トに必要な設定を得ることができます。 このユニットは , 32kHz クロックで動作するタイマと 4MHz クロックで動作するタイマ の 2 つのタイマから構成されています。 32kHz タイマが 4MHz タイマをトリガし , 4MHz タイマの値がレジスタに格納されます。レジスタに格納された値はソフトウェアで処 理され , 必要なリアルタイムクロックユニットの設定が計算されます。 ■ 32kHz クロック補正ユニットのブロックダイヤグラム 図 24.1-1 32kHz クロック補正ユニットのブロックダイヤグラム OSC4 CLK4G CLK4G = OSC4 | ~STRT | (READY & ~RUNS); gate STRT READY RUNS OSC32 gate STRT CLKP CLKPG gate 32kHz タイマ CLK32G RSLEEPB CLKPG2 CUTD gate カウンタ(16ビット) 同期 32->4 非同期 RUN RST STRTS RSLEEPB STRT 4MHz タイマ RUN RUNS CUTR CUTR(24ビット) CLKPG2= CLKP | (~STRT & RSLEEPB); READY READY STRT 同期 CLKP->32 非同期 RST STRT リセット STRT STRT READY 設定/リセット RB RUNSS1 RUNSS INTEN RB RSLEEP RMW RBB 設定/リセット RSLEEPB INT RMWB 同期 4->CLKP 設定 リセット READY PULSE CUCR(3ビット) INT RD WR RST 558 INT_I INT_INT CUTR(24ビット) RDB WRB RSTB CUTD(16ビット) CUTD FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 24 章 32kHz クロック 補正ユニット 24.1 32kHz クロック補正ユニットの概要 MB91220 シリーズ ■ 32kHz クロック補正ユニットのタイミング 図 24.1-2 測定処理のタイミング 32 kHz STRT(CLKP) STRTS(32 kHz) RUN(32 kHz) RUNS(4 kHz) 32 kHzカウンタ( 16ビット) 4 MHzカウンタ(24ビット) 2 CUTD CUTD-1 1 0 CUTD 新CUTR 旧CUTR READY (32 kHz) READYPULSE (CLKP) INT (CLKP) ■ 32kHz クロック補正ユニットのクロック 4MHz クロック OSC4, 32kHz クロック OSC32, 周辺クロック CLKP の 3 つの異なるク ロックにより動作します。それぞれのドメインは同期回路によって適合されます。 3 つのクロックはすべてゲート制御されます。STRT が "0" の場合は , 32kHz と 4MHz のクロックのスイッチは OFF になります。CLKPG の制御信号は RSLEEPB であり , CLKPG2 の制御信号は RSLEEP と STRT の 2 ビットです。これらはハードウェアによっ て設定またはリセットされます。 クロック周波数は以下の要件を満足する必要があります。 クロック比 TOSC32 > 2 × TOSC4 + 3 × TCLKP TOSC4 < 1/2 × TOSC32 - 3/2 × TCLKP TCLKP < 1/3 × TOSC32 - 2/3 × TOSC4 表 24.1-1 有効クロック比の例 OSC32 通常動作 CM71-10142-5 32kHz 31.25μs OSC4 4MHz CLKP 250ns FUJITSU SEMICONDUCTOR LIMITED 2MHz 以上 500ns 以下 559 第 24 章 32kHz クロック 補正ユニット 24.2 32kHz クロック補正ユニットのレジスタ MB91220 シリーズ 32kHz クロック補正ユニットのレジスタ 24.2 補正ユニットのレジスタ一覧および各レジスタの機能を説明します。 ■ 補正ユニットのレジスタ一覧 ● 補正ユニット制御レジスタ (CUCR) 図 24.2-1 補正ユニット制御レジスタ (CUCR) のビット構成 CUCR ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00015DH − RX,WX − RX,WX − RX,WX STRT − RX,WX − RX,WX INT INTEN R(RM1),W R/W R,W 初期値 ---0--00B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) ● 32kHz タイマデータレジスタ (CUTD) 図 24.2-2 32kHz タイマデータレジスタ (CUTD) のビット構成 CUTD ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 00015EH TDD15 TDD14 TDD13 TDD12 TDD11 TDD10 TDD9 TDD8 R/W R/W R/W R/W R/W R/W R/W R/W アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00015FH TDD7 TDD6 TDD5 TDD4 TDD3 TDD2 TDD1 TDD0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 10000000B 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 560 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 24 章 32kHz クロック 補正ユニット 24.2 32kHz クロック補正ユニットのレジスタ MB91220 シリーズ ● 4MHz タイマデータレジスタ (CUTR) 図 24.2-3 4MHz タイマデータレジスタ (CUTR) のビット構成 CUTR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000160H − R,WX − R,WX − R,WX − R,WX − R,WX − R,WX − R,WX − R,WX --------B アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000161H TDR23 TDR22 TDR21 TDR20 TDR19 TDR18 TDR17 TDR16 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX 00000000B CUTR2 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 000162H TDR15 TDR14 TDR13 TDR12 TDR11 TDR10 TDR9 TDR8 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000163H TDR7 TDR6 TDR5 TDR4 TDR3 TDR2 TDR1 TDR0 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX 初期値 00000000B 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 561 第 24 章 32kHz クロック 補正ユニット 24.2 32kHz クロック補正ユニットのレジスタ MB91220 シリーズ ■ 補正ユニット制御レジスタ (CUCR) 図 24.2-4 補正ユニット制御レジスタ (CUCR) のビット構成 CUCR ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00015DH − RX,WX − RX,WX − RX,WX STRT − RX,WX − RX,WX INT INTEN R(RM1),W R/W R,W 初期値 ---0--00B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 制御レジスタ (CUCR) には , 次の機能があります。 • 補正測定の開始 / 停止 • 割込みの許可 / 禁止 • 補正測定の終了を示す [bit15 ∼ bit13] − : 未定義ビット 読出し値は不定です。書込みは動作に影響ありません。 [bit12] STRT: 補正開始 STRT 機能 0 補正停止 , モジュールスイッチオフ ( 初期値 ) 1 補正開始 STRT ビットがソフトウェアにより "1" に設定されると補正が開始します。 32kHz タ イマは , 32kHz タイマデータレジスタに格納された値からのカウントダウンを開始 し , 4MHz タイマは "0" からのカウントアップを開始します。 32kHz タイマが "0" に達すると , このビットはハードウェアにより "0" にリセットさ れます。 補正処理中にソフトウェアによってこのビットに "0" が書き込まれると , 補正は直 ちに停止します。ソフトウェアによる "0" の書込みとハードウェアによる "0" への リセットが同時に発生した場合は , ハードウェアの動作がソフトウェアの動作に優 先します。 すなわち , 補正は適切に完了し , INT ビットは "1" に設定されます。補正中にこの ビットへ "1" を書き込んでも影響はありません。 [bit11, bit10] − : 未定義ビット 読出し値は不定です。書込みは動作に影響ありません。 562 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 24 章 32kHz クロック 補正ユニット 24.2 32kHz クロック補正ユニットのレジスタ MB91220 シリーズ [bit9] INT: 割込み INT 機能 0 補正中 / モジュールインアクティブ ( 初期値 ) 1 補正完了 このビットは補正の終了を示します。 補正開始後 , 32kHz タイマが "0" に達すると , 4MHz タイマデータレジスタは最後の 4MHz タイマ値を格納し , INT ビットは "1" に設定されます。 このビットに対してリードモディファイライト (RMW) 系命令を行うと "1" が読み 出され , このビットに "0" を書き込むとフラグがクリアされます (INT=0)。このビッ トに "1" を書き込んでも影響はありません。 割込みフラグ INT は , ハードウェアではリセットされません。そのため , 新たな補 正を開始する前にソフトウェアによりリセットする必要があります。リセットしな い場合の補正処理の終了は , STRT ビット (INT フラグは補正中も "1" のままです ) によってのみ知ることが可能です。 [bit8] INTEN: 割込み許可 INTEN 機能 0 割込み禁止 ( 初期値 ) 1 割込み許可 これは INT ビットに対応する割込み許可ビットです。 このビットが "1" に設定され , INT ビットがハードウェアにより設定されると , 補正 モジュールは CPU への割込み信号を送信します。INT ビット自体は INTEN ビット の影響を受けず , 割込み禁止の場合 (INTEN=0) でもハードウェアにより設定されま す。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 563 第 24 章 32kHz クロック 補正ユニット 24.2 32kHz クロック補正ユニットのレジスタ MB91220 シリーズ ■ 32kHz タイマデータレジスタ (16 ビット ) (CUTD) 図 24.2-5 32kHz タイマデータレジスタ (16 ビット ) (CUTD) のビット構成 CUTD ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 00015EH TDD15 TDD14 TDD13 TDD12 TDD11 TDD10 TDD9 TDD8 R/W R/W R/W R/W R/W R/W R/W R/W bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 アドレス 00015FH TDD7 TDD6 TDD5 TDD4 TDD3 TDD2 TDD1 TDD0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 10000000B 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 32kHz タイマデータレジスタ (CUTD) は , 補正期間 (32kHz リロード値 ) を決定する値 を保持します。 32.768kHz の水晶が使用される場合のデフォルト値は "8000H" であり , 1 秒の測定持続 時間に対応します。 このレジスタには , 補正がインアクティブ (STRT=0) になっている場合以外は書き込ん ではいけません。 32kHz タイマレジスタは補正の持続時間を指定する値を格納します。補正を開始する と , 格納された値が 32kHz タイマにロードされ , タイマは "0" に達するまでのカウント ダウンを開始します。 CUTD を "0000H" に初期化すると , アンダフローが発生し , 測定値は (FFFFH+1) × TOSC32 となります。 32kHz タイマは , 32kHz 発振クロックで動作します。 1 秒間の測定持続時間を達成するには , CUTD レジスタに "8000H"=32768(10 進 ) をロー ドする必要があります。この数値は水晶の正確な発振周波数 , FOSC=32768Hz から得ら れます。測定結果 (4.00MHz の水晶を使用する場合 ) の理想値を次の表に示します。 表 24.2-1 測定持続時間による理想的な測定結果 564 補正時間 (s) CUTD 値 CUTR 値 2 0000H 7A1200H 1.75 E000H 6ACFC0H 1.5 C000H 5B8D80H 1.25 A000H 4C4B40H 1 8000H 3D0900H 0.75 6000H 2DC6C0H 0.5 4000H 1E8480H 0.25 2000H 0F4240H FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 24 章 32kHz クロック 補正ユニット 24.2 32kHz クロック補正ユニットのレジスタ MB91220 シリーズ STRT ビットへの "1" の書込みからハードウェアによる STRT のリセットまでにかかる 全処理時間は , 異なるクロックドメイン間の同期のために実際の補正測定時間より長 くなります。 処理時間は , (CUTD + 3) × TOSC32 となります。 正確な補正測定時間は , CUTD × TOSC32 となります。 ■ 4MHz タイマデータレジスタ (24 ビット ) (CUTR) 図 24.2-6 4MHz タイマデータレジスタ (24 ビット ) (CUTR) のビット構成 CUTR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000160H − R,WX − R,WX − R,WX − R,WX − R,WX − R,WX − R,WX − R,WX --------B アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000161H TDR23 TDR22 TDR21 TDR20 TDR19 TDR18 TDR17 TDR16 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX 00000000B CUTR2 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 000162H TDR15 TDR14 TDR13 TDR12 TDR11 TDR10 TDR9 TDR8 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 000163H TDR7 TDR6 TDR5 TDR4 TDR3 TDR2 TDR1 TDR0 R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX 初期値 00000000B 初期値 00000000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) タイマデータレジスタ (CUTR) は補正結果の値 (4MHz カウンタ ) を保持します。 補正の終了は , CUCR レジスタの INT ビットと STRT ビットにより示されます。 INT が "0" から "1" に変更され , STRT を "1" から "0" に変更されると , CUTR の値が有 効になります。 4MHz タイマデータレジスタは補正の結果を格納します。補正が開始されると , 4MHz タイマは "0" からのカウントアップを開始します。32kHz タイマが "0" に達すると , 4MHz タイマはカウントを停止し , ソフトウェアにより次の補正がトリガされるまでレ ジスタは補正結果を保持します。 補正中にこのレジスタを読み出して , 得られる値はランダムです。 ソフトウェアによりこのレジスタに書き込んでも影響はありません。 4MHz タイマは , 4MHz 発振クロックで動作します。 <注意事項> 補正中にこのレジスタを読み出すと , 得られる値はランダムです。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 565 第 24 章 32kHz クロック 補正ユニット 24.3 アプリケーションノート 24.3 MB91220 シリーズ アプリケーションノート 補正の正確さ , 電力消費 , 測定時間に関するアプリケーションノートを示します。 ■ 32kHz タイマデータレジスタの設定 32kHz タイマデータレジスタの設定は , 以下の方法で計算できます。 補正に 1s の持続時間が必要な場合は , "8000H"=32768 を 32kHz タイマデータレジスタ に設定する必要があります。これは , 32.768kHz 発振クロックの 32,768 パルスを表しま す。 この設定により , 4MHz タイマデータレジスタ内に約 "3D0900H" の値が格納されます。 この値は , 4MHz 発振の 4,000,000 パルスを表します。 表 24.3-1 32.768kHz 発振と 4.0MHz 発振による理想的な測定結果 (CUTR) 補正時間 (s) CUTD 値 CUTR 値 2 0000H 7A1200H 1.75 E000H 6ACFC0H 1.5 C000H 5B8D80H 1.25 A000H 4C4B40H 1 8000H 3D0900H 0.75 6000H 2DC6C0H 0.5 4000H 1E8480H 0.25 2000H 0F4240H 補正モジュールを使用する場合は , 補正の精度とともに電力消費が重要です。 566 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 25 章 CPU 動作検出リセット回路 CPU 動作検出リセット回路の機能と動作について 説明します。 CM71-10142-5 25.1 CPU 動作検出リセット回路の概要 25.2 CPU 動作検出リセット回路のレジスタ 25.3 CPU 動作検出リセット回路の動作 25.4 CPU 動作検出リセット回路使用上の注意 FUJITSU SEMICONDUCTOR LIMITED 567 第 25 章 CPU 動作検出リセット回路 25.1 CPU 動作検出リセット回路の概要 25.1 MB91220 シリーズ CPU 動作検出リセット回路の概要 CPU 動作検出リセット回路は , 原発振をカウントクロックとする 20 ビットのカウン タで , 起動後一定時間内にクリアされない場合 , 設定初期化リセットを発生します。 ■ CPU 動作検出リセット回路の特長 CPU 動作検出リセット回路は , プログラム暴走対策用のカウンタです。リセット後 , 自 動で起動します。起動後は , 一定時間内で定期的にクリアし続ける必要があります。プ ログラムが無限ループに陥るなどして , 一定時間以上クリアされない場合は内部リ セットを発生します。 表 25.1-1 CPU 動作検出リセット回路のインターバル時間 インターバル時間 発振クロックサイクル数 約 262ms 220 サイクル 発振クロック 4MHz 動作時の値 <注意事項> CPU が動作を停止するモードでは , 本回路は停止します。 本回路のカウンタのクリア条件を以下に示します。 • LVRC レジスタの CL ビットへの "0" 書込み • 内部リセット • メイン発振クロック停止 ( サブクロック使用時は必須 ) • スリープモードへの遷移 • RTC モードへの遷移 • STOP モードへの遷移 ■ CPU 動作検出リセット回路のブロックダイヤグラム CPU 動作検出リセット回路は , 次の 2 つのブロックで構成されています。 • CPU 動作検出回路 • CPU 動作検出リセット制御レジスタ (LVRC) 568 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 25 章 CPU 動作検出リセット回路 25.1 CPU 動作検出リセット回路の概要 MB91220 シリーズ 図 25.1-1 CPU 動作検出リセット回路のブロックダイヤグラム CPU動作検出回路 カウンタ OF 内部 リ セ ッ ト 発振クロック F/F クリア RESV0 RESV0 RESV0 RESV1 CL RESV0 RESV0 CPUF CPU検出リセット制御レジスタ (LVRC) 内部データバス ● CPU 動作検出回路 プログラム暴走対策用のカウンタです。起動後は , 一定時間内に定期的にクリアし続け る必要があります。 ● CPU 動作検出リセット制御レジスタ (LVRC) CPU 動作検出リセットフラグ , CPU 動作検出機能のカウンタクリアを行います。 ● CPU 動作検出リセット回路のリセット要因 CPU 動作検出回路のカウンタが , 一定時間以内にクリアされなかった場合に設定初期 化リセットを発生します。 CPU 動作検出リセット回路は , メイン発振のみで使用してください。サブ発振では使 用できません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 569 第 25 章 CPU 動作検出リセット回路 25.2 CPU 動作検出リセット回路のレジスタ MB91220 シリーズ CPU 動作検出リセット回路のレジスタ 25.2 CPU 動作検出リセット制御レジスタ (LVRC) は , CPU 動作検出リセットフラグ , CPU 動作検出回路のカウンタクリアなどを行うレジスタです。 ■ CPU 動作検出リセット制御レジスタ (LVRC) 図 25.2-1 CPU 動作検出リセット制御レジスタ (LVRC) LVRC ( アクセス:Byte,Half-word,Word) アドレス bit7 00057DH RESV0 RESV0 RESV0 R/W0 R/W0 bit6 bit5 R/W0 bit4 bit3 RESV1 CL R/W1 R1,W CPUF 0 1 RESV0 CL 0 1 bit2 bit1 RESV0 RESV0 R/W0 bit0 CPUF 初期値 00011000B R/W0 R(RM1),W CPU動作検出フラグビット 読出し時 書込み時 オーバフローしていない このビットのクリア オーバフローした 変化なし, ほかへの影響なし 予約ビット このビットへは必ず"0"を書き込んでください CPU動作検出回路クリアビット カウンタのクリア 変化なし, ほかへの影響なし RESV1 予約ビット このビットへは必ず"1"を書き込んでください RESV0 予約ビット このビットへは必ず"0"を書き込んでください :初期値 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 570 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 第 25 章 CPU 動作検出リセット回路 25.2 CPU 動作検出リセット回路のレジスタ 表 25.2-1 CPU 動作検出リセット制御レジスタ , 各ビット機能説明 ビット名 機能 bit7, bit6, bit5 RESV0: 予約ビット ( 注意事項 ) RESV0 ビットへは必ず "0" を書き込んでください。 bit4 RESV1: 予約ビット ( 注意事項 ) RESV1 ビットへは必ず "1" を書き込んでください。 bit3 CL: CPU 動作検出 クリアビット CPU 動作検出回路のカウンタクリアをするビットです。 CL ビットに "0" を書き込むと , CPU 動作検出回路のカウンタがクリアされ ます。 リード時は常に "1" となります。 bit2 RESV0: 予約ビット ( 注意事項 ) RESV0 ビットへは必ず "0" を書き込んでください。 bit1 RESV0: 予約ビット ( 注意事項 ) RESV0 ビットへは必ず "0" を書き込んでください。 bit0 CPUF: CPU 動作検出 フラグビット CPU 動作検出機能のカウンタがオーバフローすると , CPUF ビットが "1" にセットされます。 書込み時は "0" でクリアされ , "1" では CPUF ビットに影響を与えず変化し ません。 内部リセットでは初期化されず , 外部リセット入力で初期化されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 571 第 25 章 CPU 動作検出リセット回路 25.3 CPU 動作検出リセット回路の動作 25.3 MB91220 シリーズ CPU 動作検出リセット回路の動作 CPU 動作検出機能は , 一定間隔でカウンタをクリアしなければ内部リセットを発生 します。CPU の暴走を検出して内部リセットが発生した場合 , レジスタの内容は保 証できません。リセット解除後は動作安定待ち時間経過後 , リセットシーケンスを 実行した後にリセットベクタで指定されたアドレスからプログラムが再スタートし ます。 ■ CPU 動作検出リセット回路の動作 CPU 動作検出リセット回路は , リセット解除後 , 動作安定待ち時間を確保せずに CPU 動作検出を開始します。 572 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 25 章 CPU 動作検出リセット回路 25.4 CPU 動作検出リセット回路使用上の注意 MB91220 シリーズ 25.4 CPU 動作検出リセット回路使用上の注意 CPU 動作検出リセット回路を使用するための注意点を示します。 ■ CPU 動作検出リセット回路使用上の注意 ● プログラムでの動作停止不可 CPU 動作検出リセット回路は , 電源投入後 , 連続で動作します。ソフトウェアでの動作 停止はできません。 ● CPU 動作検出機能のリセット発生抑止 CPU 動作検出機能によるリセット発生を抑止するためには , 一定時間ごとにカウンタ をクリアする必要があります。LVRC レジスタの CL ビットに "0" を書き込むことによ りカウンタをクリアし , リセット発生を抑止することができます。 ● カウンタのクリアと動作停止 CPU 動作検出機能は , CPU が動作を停止するモードでは , カウンタをクリアし , 動作を 停止します。 ● DMA 転送時の CPU 動作検出リセット D-bus 内に接続されているモジュール間の DMA 転送時は , CL ビットへの "0" 書込み不 可のため , 転送時間が連続して 262ms ( 原発振 4MHz 時 ) を超えると CPU 動作検出リ セットを発生します。 ● サブ動作モード移行時の注意 サブ動作モードに移行する場合 , メインクロックを停止するとともに , CPU 検出リセッ ト回路をクリアしてください。 ● CPU 動作検出動作モードの動作条件 • 本機能はメイン発振中でのみ使用できます。 • STOP/SLEEP/RTC モードでは本機能を使用できません。CPU 検出リセット回路をク リアしてから移行してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 573 第 25 章 CPU 動作検出リセット回路 25.4 CPU 動作検出リセット回路使用上の注意 574 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 26 章 D/A コンバータ D/A コンバータの機能と動作について説明します。 26.1 D/A コンバータの概要 26.2 ブロックダイヤグラム 26.3 レジスタ一覧 26.4 レジスタ詳細説明 26.5 D/A コンバータの動作 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 575 第 26 章 D/A コンバータ 26.1 D/A コンバータの概要 26.1 MB91220 シリーズ D/A コンバータの概要 D/A コンバータの機能について説明します。 ■ D/A コンバータの機能 D/A コンバータは , 8 ビットの分解能を持つ R-2R 形式の D/A コンバータです。 D/A コンバータには 2 チャネルがあります。 出力制御は , D/A 制御レジスタを使用して , 2 つのチャネルで個別に実行できます。 576 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 26 章 D/A コンバータ 26.2 ブロックダイヤグラム MB91220 シリーズ 26.2 ブロックダイヤグラム D/A コンバータのブロックダイヤグラムを示します。 図 26.2-1 に D/A コンバータのブロックダイヤグラムを示します。 図 26.2-1 D/A コンバータのブロックダイヤグラム R-バス DA DA DA DA DA DA DA DA DA DA DA DA DA DA DA DA 17 16 15 14 13 12 11 10 07 06 05 04 03 02 01 00 AVCC AVCC DA17 DA07 2R 2R R DA16 R DA06 2R 2R R R DA15 DA05 DA11 DA01 2R 2R R DA10 R DA00 2R 2R 2R DAE1 スタンバイ制御 DA出力ch.1 2R DAE0 スタンバイ制御 DA出力ch.0 ( 注意事項 ) DAE1/0 を設定するだけでは , DA の出力はされません。PFR9/EPFR9 を設 定して , D/A コンバータの出力を許可してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 577 第 26 章 D/A コンバータ 26.3 レジスタ一覧 26.3 MB91220 シリーズ レジスタ一覧 D/A コンバータのレジスタ一覧を示します。 図 26.3-1 に D/A コンバータのレジスタ一覧を示します。 図 26.3-1 D/A コンバータのレジスタ一覧 DACR0 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000069H − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX DAE0 -------0B R/W DACR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000068H − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX DAE1 -------0B R/W DADR0 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00006BH DA07 DA06 DA05 DA04 DA03 DA02 DA01 DA00 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 XXXXXXXXB DADR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00006AH DA17 DA16 DA15 DA14 DA13 DA12 DA11 DA10 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 578 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 26 章 D/A コンバータ 26.4 レジスタ詳細説明 MB91220 シリーズ 26.4 レジスタ詳細説明 D/A コンバータのレジスタの詳細を説明します。 ■ 制御レジスタ (DACR) 図 26.4-1 に D/A 制御レジスタ (DACR) のビット構成を示します。 図 26.4-1 D/A 制御レジスタ (DACR) のビット構成 DACR0 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000069H − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX DAE0 -------0B R/W DACR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000068H − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX − RX,WX DAE1 -------0B R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7 ∼ bit1] − : 未定義ビット 読出し値は不定です。書込みは動作に影響ありません。 [bit0] DAE1, DAE0 これらのビットは , D/A コンバータ出力を許可 , または禁止するために使用します。 DAE1 ビットはチャネル 1 出力を制御し , DAE0 ビットはチャネル 0 出力を制御し ます。 これらのビットに "1" を書き込むと , D/A 出力は許可されます。"0" を書き込むと , D/A 出力は禁止になります。 リセット時に "0" に初期化されます。これらのビットは読出し , および書込みが可 能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 579 第 26 章 D/A コンバータ 26.4 レジスタ詳細説明 MB91220 シリーズ ■ データレジスタ (DADR) 図 26.4-2 に D/A データレジスタ (DADR) のビット構成を示します。 図 26.4-2 D/A データレジスタ (DADR) のビット構成 DADR0 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00006BH DA07 DA06 DA05 DA04 DA03 DA02 DA01 DA00 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 XXXXXXXXB DADR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 00006AH DA17 DA16 DA15 DA14 DA13 DA12 DA11 DA10 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 XXXXXXXXB ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7 ∼ bit0] DADR1/DADR0 レジスタ DA17 ∼ DA10/DA07 ∼ DA00 これらのビットは , D/A コンバータチャネル 0 の出力電圧の設定に使用します。 リセット時に初期化はされません。これらのビットは読出し , および書込みが可能 です。 580 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 26 章 D/A コンバータ 26.5 D/A コンバータの動作 MB91220 シリーズ 26.5 D/A コンバータの動作 D/A コンバータの動作について説明します。 ■ D/A コンバータの動作概要 D/A 出力は , D/A データレジスタ (DADR) に所望の D/A 出力値を書き込み , D/A 制御レ ジスタ (DACR) 内の対応する D/A 出力チャネルの許可ビットに "1" を設定することに よって開始されます。 D/A 出力を禁止にすると , 各 D/A コンバータチャネルの出力に直列に挿入されている アナログスイッチがオフになります。さらに , D/A コンバータが "0" に内部クリアされ , 直流電流の経路が遮断されます。これはストップモード時にも当てはまります。 ■ D/A コンバータ出力電圧の理論値 表 26.5-1 に , D/A コンバータ出力電圧の理論値を示します。 D/A コンバータの出力電圧は , 0V ∼ 255/256 × AVCC です。 表 26.5-1 D/A コンバータ出力電圧の理論値 DA07 ∼ DA00 (DA17 ∼ DA10) の設定値 出力電圧の理論値 00H AVSS + 0 × 1LSB 01H AVSS + 1 × 1LSB 02H AVSS + 2 × 1LSB : : FDH AVSS + 253 × 1LSB FEH AVSS + 254 × 1LSB FFH AVSS + 255 × 1LSB 1LSB = (AVCC − AVSS)/256 出力されたアナログ値は , PFR9/EPFR9 を D/A コンバータ出力に設定することで , ポートから出力されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 581 第 26 章 D/A コンバータ 26.5 D/A コンバータの動作 582 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース I2C インタフェースの概要 , レジスタの構成 / 機能 , および動作について説明します。 27.1 I2C インタフェースの概要 27.2 I2C インタフェースのレジスタ 27.3 I2C インタフェースの動作説明 27.4 動作フローチャート CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 583 第 27 章 I2C インタフェース 27.1 I2C インタフェースの概要 27.1 MB91220 シリーズ I2C インタフェースの概要 I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートで , I2C バ ス上のマスタ / スレーブデバイスとして動作します。 ■ I2C インタフェースの特長 I2C インタフェースの特長は , 以下のとおりです。 • マスタ / スレーブ送受信 • アービトレーション機能 • クロック同期化機能 • スレーブアドレス / ゼネラルコールアドレス検出機能 • 転送方向検出機能 • 再起動条件発生および検出機能 • バスエラー検出機能 • 10 ビット /7 ビット スレーブアドレス • マスタモード時スレーブアドレス受信アクノリッジ制御 • 複合スレーブアドレス対応 • 送信 , バスエラー時に割込み可能 • 標準モード ( 最大 100kbps)/ 高速モード ( 最大 400kbps) に対応 584 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.1 I2C インタフェースの概要 MB91220 シリーズ ■ I2C インタフェースのレジスタ一覧 I2C インタフェースのレジスタ一覧は , 以下のとおりです。 • バス制御レジスタ (IBCR) IBCR0, IBCR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 000560H 00056CH BER R(RM1),W bit8 初期値 INTE INT 00000000B R/W R(RM1),W bit13 bit12 bit11 bit10 bit9 BEIE SCC MSS ACK GCAA R/W R0,W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) • バスステータスレジスタ (IBSR) IBSR0, IBSR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000561H 00056DH BB RSC AL LRB TRX AAS GCA ADT 00000000B R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) • 10 ビットスレーブアドレスレジスタ (ITBA) ITBAH0, ITBAH1 上位 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000562H 00056EH − R0,WX − R0,WX − R0,WX − R0,WX − R0,WX − R0,WX TA9 TA8 ------00B R/W R/W ITBAL0, ITBAL1 下位 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000563H 00056FH TA7 TA6 TA5 TA4 TA3 TA2 TA1 TA0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 585 第 27 章 I2C インタフェース 27.1 I2C インタフェースの概要 MB91220 シリーズ • 10 ビットスレーブアドレスマスクレジスタ (ITMK) ITMKH0, ITMKH1 上位 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000564H 000570H ENTB RAL − R1,WX − R1,WX TM8 00----11B R,WX − R1,WX TM9 R/W − R1,WX R/W R/W ITMKL0, ITMKL1 下位 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000565H 000571H TM7 TM6 TM5 TM4 TM3 TM2 TM1 TM0 11111111B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) • 7 ビットスレーブアドレスレジスタ (ISBA) ISBA0, ISBA1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 000567H 000573H − R0,WX SA6 SA5 SA4 SA3 SA2 R/W R/W R/W R/W R/W bit5 bit4 bit3 bit2 bit0 初期値 SA1 SA0 -0000000B R/W R/W bit1 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) • 7 ビットスレーブアドレスマスクレジスタ (ISMK) ISMK0, ISMK1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000566H 000572H ENSB SM6 SM5 SM4 SM3 SM2 SM1 SM0 01111111B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) • データレジスタ (IDAR) IDAR0, IDAR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 000569H 000575H D7 D6 D5 D4 D3 D2 R/W R/W R/W R/W R/W R/W bit6 bit5 bit4 bit3 bit2 bit0 初期値 D1 D0 00000000B R/W R/W bit1 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 586 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.1 I2C インタフェースの概要 MB91220 シリーズ • クロック制御レジスタ (ICCR) ICCR0, ICCR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00056AH 000576H − R0,WX NSF EN CS4 CS3 CS2 CS1 CS0 -0011111B R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 587 第 27 章 I2C インタフェース 27.1 I2C インタフェースの概要 MB91220 シリーズ ■ I2C インタフェースのブロックダイヤグラム 図 27.1-1 に , I2C インタフェースのブロックダイヤグラムを示します。 図 27.1-1 I2C インタフェースのブロックダイヤグラム ICCR EN I2C 動作許可 IDBL DBL クロック許可 ICCR CS4 CS3 CS2 CS1 CS0 IB SR BB RSC クロック分周2 2345 32 Sync シフトクロック エッジ変化タイミング バスビジー リピート スタート ラストビット スタート・ストップ コンディション検出 エラー 送信/受信 TRX ファーストバイト ADT アビトレーションロスト検出 AL IB CR SCL1 SCL0 BER BEIE 割込み要求 IRQ INTE INT IB CR SCC MSS ACK シフトクロック発生 クロック選択2 (1/12) LRB R-bus CLKP 終了 スタート マスタ ACK許可 SDA1 SDA0 スタート・ストップ コンディション発生 GC-ACK許可 GCAA IDAR IB SR AAS スレーブ グローバル コール GCA スレーブ アドレス 比較 ISML ENSB ITMK ENTB RAL ITBA 588 ITMK ISBA ISMK FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 27.2 2 I2C インタフェースのレジスタ I2C インタフェースで使用するレジスタの構成および機能について説明します。 ■ I2C インタフェースのレジスタ概要 I2C インタフェースには , 次の 8 種類のレジスタがあります。 • バスステータスレジスタ (IBSR0, IBSR1) • バス制御レジスタ (IBCR0, IBCR1) • クロック制御レジスタ (ICCR0, ICCR1) • 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) • 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) • 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) • 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) • データレジスタ (IDAR0, IDAR1) CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 589 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ 27.2.1 MB91220 シリーズ バスステータスレジスタ (IBSR0, IBSR1) バスステータスレジスタ (IBSR0, IBSR1) には , 以下の機能があります。 • バスビジー検出 • 再起動条件検出 • アービトレーションロスト検出 • アクノリッジ検出 • データ転送方向表示 • スレーブアドレッシング検出 • ゼネラルコールアドレス検出 • アドレスデータ転送検出 ■ バスステータスレジスタ (IBSR0, IBSR1) 図 27.2-1 に , バスステータスレジスタ (IBSR0, IBSR1) のレジスタ構成を示します。 図 27.2-1 バスステータスレジスタ (IBSR0, IBSR1) のレジスタ構成 IBSR0, IBSR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000561H 00056DH BB RSC AL LRB TRX AAS GCA ADT 00000000B R,WX R,WX R,WX R,WX R,WX R,WX R,WX R,WX ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) このレジスタは読出し専用です。レジスタのビットはすべてハードウェアにより自動 的に制御されます。I2C インタフェースが有効でない場合 (ICCR レジスタの EN ビット が "0") は , このレジスタのビットはすべてクリア状態となります。 [bit7] BB : バスビジービット I2C バスの状態を示すビットです。 値 590 内 容 0 停止条件を検出した [ 初期値 ] 1 起動条件を検出した ( バス使用中 ) FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 [bit6] RSC : 再起動条件ビット 再起動条件検出ビットです。 値 内 容 0 再起動条件は検出されていない [ 初期値 ] 1 再起動条件を検出した このビットは, スレーブアドレス転送終了(ADT=0), または停止条件の検出でクリア されます。 [bit5] AL : アービトレーションロスト検出ビット アービトレーションロスト検出ビットです。 値 内 容 0 アービトレーションロストが検出されていない [ 初期値 ] 1 マスタ送信中にアービトレーションロストが発生した このビットは INT ビットへの "0" 書込み , または IBCR レジスタ中の MSS ビットに "1" を書き込むことによってクリアされます。 〔アービトレーションロストが発生する例〕 • データ送信が SCL の立上りエッジで SDA ライン上のデータと一致しない • データのファーストビットで , ほかのマスタによって , 再起動条件が発生した • I2C インタフェースが , ほかのスレーブデバイスによって SCL ラインが "L" にド ライブされているために , 起動条件または停止条件を生成できない [bit4] LRB : アクノリッジ格納ビット アクノリッジ格納ビットです。受信側からのアクノリッジを格納します。 値 内 容 0 スレーブアクノリッジを検出した [ 初期値 ] 1 スレーブアクノリッジを検出していない アクノリッジの検出 ( 受信 9 ビット ) により書き換わります。 起動条件または停止条件の検出でクリアされます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 591 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ MB91220 シリーズ [bit3] TRX : データ送信ビット データ転送中に送信状態を示すビットです。 値 内 容 0 データ送信中でない [ 初期値 ] 1 データ送信中 • 1 をセット : マスタモードで起動条件が生成された - スレーブモードでリードアクセス時 ( 送信 ) , 第 1 バイトの転送終了 - マスタモードで送信中 • 0 をセット : バスがアイドル状態 (BB=0:IBSR) - アービトレーションロスト発生 - マスタ割込み中 (MSS=1, INT=1) に SCC に "1" が書き込まれた - マスタ割込み中 (MSS=1, INT=1) に MSS ビットがクリアされた - スレーブ時 , 転送の最後にアクノリッジが発生しなかった - スレーブモードでの受信中 - マスタモードでのスレーブからデータ受信中 [bit2] AAS : スレーブアドレッシング検出ビット スレーブアドレッシング検出ビットです。 値 内 容 0 スレーブに指定されていない [ 初期値 ] 1 スレーブに指定された ( 再 ) 起動または停止条件の検出でクリアされます。 7/10 ビットのスレーブアドレスを検出したときに設定されます。 [bit1] GCA : ゼネラルコールアドレス検出ビット ゼネラルコールアドレス (00H) 検出ビットです。 値 内 容 0 ゼネラルコールアドレスを検出していない [ 初期値 ] 1 ゼネラルコールアドレスを検出した ( 再 ) 起動または停止条件の検出でクリアされます。 592 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 [bit0] ADT : アドレスデータ転送 スレーブアドレス受信検出ビットです。 値 内 容 0 受信データがスレーブアドレスでない ( またはバス開放中 ) [ 初期値 ] 1 受信データがスレーブアドレスである 起動の検出で "1" に設定されます。10 ビットライトアクセスでのスレーブアドレス のヘッダが検出されると , 第 2 バイトの後にクリアされ , それ以外のときは第 1 バ イトの後でクリアされます。 〔第 1 バイト / 第 2 バイトの後とは〕 • マスタ割込み (MSS=1, INT=1:IBCR) 中に MSS ビットに "0" が書き込まれた • マスタ割込み (MSS=1, INT=1:IBCR) 中に SCC ビットに "1" が書き込まれた • INT ビットがクリアされた • マスタまたはスレーブとして転送対象でなければ , すべての転送バイトの最初 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 593 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ 27.2.2 MB91220 シリーズ バス制御レジスタ (IBCR0, IBCR1) バス制御レジスタ (IBCR0, IBCR1) には以下の機能があります。 • 割込み許可フラグ • 割込み生成フラグ • バスエラー検出フラグ • 再起動条件生成 • マスタ / スレーブモード選択 • ゼネラルコールアクノリッジ生成許可 • データバイトアクノリッジ生成許可 ■ バス制御レジスタ (IBCR0, IBCR1) 図 27.2-2 に , バス制御レジスタ (IBCR0, IBCR1) のレジスタ構成を示します。 図 27.2-2 バス制御レジスタ (IBCR0, IBCR1) のレジスタ構成 IBCR0, IBCR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 000560H 00056CH BER R(RM1),W bit8 初期値 INTE INT 00000000B R/W R(RM1),W bit13 bit12 bit11 bit10 bit9 BEIE SCC MSS ACK GCAA R/W R0,W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) バス制御レジスタ (IBCR) への書込みアクセスは , INT ビットが "1" あるいは転送が開 始される場合に行ってください。ACK ビットもしくは GCAA ビットを変更するとバス エラーが検出される場合があるので , 転送動作中にはレジスタへの書込みアクセスを 行わないでください。I2C インタフェースが有効でない場合 (ICCR の EN ビットが "0") は , BER ビットと BEIE ビットを除き , このレジスタのビットはクリア状態となります。 594 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 [bit15] BER : バスエラーフラグ バスエラー割込み要求フラグビットです。このビットは , リードモディファイライ ト (RMW) 系命令では , 常に "1" が読まれます。 ( 書込み時 ) 値 内 容 0 バスエラー割込み要求フラグをクリアする 1 意味をもちません ( 読出し時 ) 値 内 容 0 バスエラーは検出されていない [ 初期値 ] 1 エラーコンディションを検出した このビットが設定された場合 , ICCR レジスタの EN ビットはクリアされ , I2C イン タフェースは停止状態になり , データ転送は中断されます。また , BER, BEIE を除 き IBSR と IBCR レジスタのすべてのビットはクリアされます。このビットは , I2C インタフェースを再度許可 (EN = 1) にする前にクリアしてください。 〔"1" が設定される場合〕 1) 起動条件または停止条件が不正な場所で検出された ( スレーブアドレス転送中 , データ転送中 ) 。 2) 10 ビットリードアクセス時に , 第 1 バイトにて 10 ビットライトアクセスする前 に , リードアクセスのスレーブアドレスヘッダが受信された。 3) マスタモードで転送中に起動条件が検出された。 1), 2) の検出は , 転送実行中に I2C インタフェースが動作許可されていると , 不正 バスエラーレポートを抑止するために , 最初の停止条件の受信後にフラグセッ トされます。 [bit14] BEIE : バスエラー割込み許可ビット バスエラー割込み許可ビットです。 値 内 容 0 バスエラー割込み禁止 [ 初期値 ] 1 バスエラー割込み許可 このビットが "1" のとき , BER ビットが "1" が設定されると割込みを発生します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 595 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ MB91220 シリーズ [bit13] SCC : 起動条件継続ビット 再起動条件発生ビットです。 ( 書込み時 ) 値 内 容 0 意味をもちません 1 マスタ転送時に再起動条件を発生させる このビットの読出し値は常に "0" です。 マスタモード (MSS=1, INT=1) 中にこのビットに "1" を書き込むと , 再起動条件が発 生し , 自動的に INT ビットをクリアします。 [bit12] MSS : マスタ / スレーブ選択ビット マスタ / スレーブの選択ビットです。 値 内 容 0 スレーブモードとなります [ 初期値 ] 1 マスタモードとなり起動条件を発生し , IDAR レジスタの値をスレー ブアドレスとして送信します • このビットは, マスタ送信中にアービトレーションロストが発生した場合クリア されてスレーブモードになります。 • マスタ割込みフラグセット中 (MSS=1, INT=1) に "0" を書き込むと INT ビットは 自動的にクリアされ , 停止条件が発生して転送が終了します。 注 ) MSS ビットは直接的なリセットとして機能します。停止条件の発生は , IBSR レジスタの BB ビットを読み出すことによって確認できます。 • バスがアイドル中 (MSS=0, BB=0) に "1" を書き込むと起動条件が発生して IDAR の値が送信されます。 • バス使用中 (BB=1, TRX=0, MSS=0) に "1" を書き込むと I2C インタフェースはバ スが開放されるまで待ち , 送信を開始します。その間に I2C インタフェースはラ イトアクセスを伴うスレーブとしてアドレス指定されると, 転送終了後にバスは 開放されます。その間 , スレーブとして送信中の場合 (AAS=1, TRX=1:IBSR), バ スが開放されてもデータ送信しません。 I2Cインタフェースがスレーブ(AAS=1:IBSR) として指定されたか, 次の割込み時にデータを送信が正常終了にした(MSS=1:IBCR) か , 不正終了した (AL=1:IBSR) かどうかを確認することが重要となります。 596 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 [bit11] ACK : アクノリッジビット データを受信許可ビットに従ってアクノリッジを発生するビットです。 値 内 容 0 データ受信に対してアクノリッジを発生しない [ 初期値 ] 1 データ受信に対してアクノリッジを発生する • このビットは , スレーブ時のスレーブアドレス受信時には無効となります。I2C インタフェースが 7 ビット , または 10 ビットのスレーブアドレス指定を検出し たとき , 対応するイネーブルビット (ENTB:ITMK, ENSB:ISMK) が設定されてい ると , アクノリッジを返します。 • このビットへの書込みは , 割込みフラグセット中 (INT=1), バスが開放中 (BB=0: IBSR) または I2C インタフェースが停止中 (EN=0:ICCR) に行ってください。 [bit10] GCAA : ゼネラルコールアドレスアクノリッジビット ゼネラルコールアドレスを検出した場合のアクノリッジ発生許可ビットです。 値 内 容 0 ゼネラルコールアドレスを検出時にアクノリッジを発生しない [ 初期値 ] 1 ゼネラルコールアドレスを検出時にアクノリッジを発生する このビットへの書込みは , 割込みフラグセット中 (INT=1), バスが開放中 (BB=0: IBSR) または I2C インタフェースが停止中 (EN=0:ICCR) に行ってください。 • ゼネラルコールアドレス受信時には , このビットと ACK ビットをともに "1" に することにより , アクノリッジ応答の発生が許可されます。 • ゼネラルコールアドレス送信時には , このビットを "1" にすることにより , アク ノリッジ応答の発生が許可されます。 • スレーブ受信 ( マスタでゼネラルコールアドレスを送信した後に , アービトレー ションロストが発生した場合を含む ) でデータ受信時のアクノリッジビット出 力は , ACK ビットとこのビットがともに "1" のときに出力許可となります。 • バスステータスレジスタ (IBSR) の GCA ビットが "1" のときには , このビットの 設定値を変更しないでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 597 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ MB91220 シリーズ [bit9] INTE : 割込み許可ビット 割込み許可ビットです。 値 内 容 0 割込み禁止 [ 初期値 ] 1 割込み許可 このビットが "1" のときに , INT ビットが "1" になると割込みを発生します。 [bit8] INT : 割込み要求フラグ 転送終了割込み要求フラグビットです。このビットは , リードモディファイライト (RMW) 系命令では常に "1" が読み出されます。 ( 書込み時 ) 値 内 容 0 転送終了割込み要求フラグをクリアする [ 初期値 ] 1 動作に影響を与えません ( 読出し時 ) 値 内 容 0 転送が終了していない , 転送対象でないまたはバスが開放状態である [ 初期値 ] 1 アクノリッジビットを含めた 1 バイト転送が終了したときに次の条 件に該当する場合設定されます。 ・バスマスタである ・スレーブアドレスに指定された ・ゼネラルコールアドレスを受信した ・アービトレーションロストが起こった スレーブアドレスに指定されているとき , アクノリッジを含むスレー ブアドレス受信の最後に設定されます。 このビットが "1" のとき , SCL ラインは "L" レベルに保たれます。このビットへの "0" を書込みによりクリアされ , SCL ラインを開放し , 次バイトの転送を行って 再 起動条件または停止条件を生成します。 このビットは , SCC ビットまたは MSS ビットに "1" が書き込まれるとクリアされま す。 598 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 ■ SCC, MSS, INT ビットの競合について SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , 再起動条件 , または停止条 件発生の競合が起こります。このときの優先度は次のようになります。 • 次のバイト転送と停止条件発生 INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの書込みが優先され て停止条件が発生します。 • 次のバイト転送と起動条件発生 INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの書込みが優先され て再起動条件が発生し , IDAR の値が送信されます。 • 再起動条件発生と停止条件発生 SCC ビットに "1", MSS ビットに "0" を書き込むと , MSS ビットのクリアが優先され ます。停止条件が発生して I2C インタフェースはスレーブモードになります。 図 27.2-3 と図 27.2-4 に示したタイミングで , 起動条件を発生させる命令を実行 (IBCR の MSS=1) すると , アービトレーションロスト検出 (IBSR の AL=1) による割込み (IBCR の INT=1) は発生しません。 • アービトレーションロスト検出による割込みが発生しない条件 (1) 起動条件未検出状態 (IBSR の BB=0) で , SDA 端子または SCL 端子レベルが "L" の ときに , 起動条件を発生させる命令を実行 (IBCR の MSS=1) した場合。 図 27.2-3 アービトレーションロスト検出による割込みが発生しないタイミング図 SCL端子またはSDA端子が"L"レベル SCL端子 "L" SDA端子 "L" I2C動作許可状態(ENビット=1) 1 マスタモード設定(MSSビット=1) アービトレーションロスト検出(ALビット=1) バスビジー(BBビット) 0 割込み(INTビット) 0 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 599 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ MB91220 シリーズ • アービトレーションロスト検出による割込みが発生しない条件 (2) ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (ICCR の EN=1) し て起動条件を発生させる命令を実行 (IBCR の MSS=1) した場合。 図 27.2-4 に示したとおり , I2C が動作禁止 (ICCR の EN=0) の状態で , I2C バスのほか のマスタが通信を開始すると , 起動条件未検出 (IBSR の BB=0) で I2C バスが占有さ れている状態になるためです。 図 27.2-4 アービトレーションロスト検出による割込みが発生しないタイミング図 スタートコンディション 9クロック目でINTビット 割込みが発生しない ストップコンディション SCL端子 スレーブアドレス SDA端子 ACK データ ACK ENビット MSSビット ALビット BBビット 0 INTビット 0 これらのような現象が発生する可能性がある場合には , 以下の手順でソフト処理を 行ってください。 1) 起動条件を発生させる命令を実行 (IBCR の MSS=1) 2) タイマ機能などを用いて , ICCR に設定されている I2C 転送周波数での 3 ビットデー タ送信時間待機 * 例: I2C 転送周波数が 100kHz の場合 3 ビットデータ送信時間 = {1/(100 × 103)} × 3 = 30 μs * : アービトレーションロストが検出された場合 , MSS ビット設定後 , I2C 転送周波 数での 3 ビットデータ送信時間後には確実に AL=1 となります。 3) IBSR の AL ビットと BB ビットを確認し , AL=1 かつ BB=0 の場合には , ICCR の EN ビットを "0" にして I2C を初期化 AL ビットと BB ビットがその他の値である場合は , 通常処理 以下にフロー例を示します。 600 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 図 27.2-5 アービトレーションロスト検出による割込みが発生しない場合のソフト処理フロー マスタモード設定 バス制御レジスタ (IBCR) の MSS ビットに "1" を設定 クロック制御レジスタ (ICCR) に設定されている I2C 転送周波数での 3 ビットデータ送信時間待機 NO BB = 0 かつ AL = 1 YES EN ビット設定し , I2C の初期化 通常処理 • アービトレーションロスト検出による割込みが発生する例 バスビジー検出 (IBSR の BB=1) されている状態で , 起動条件を発生させる命令を実 行 (IBCR の MSS ビットを "1" に設定 ) し , アービトレーションロストした場合には , AL=1 検出時に INT=1 となり割込みが発生します。 図 27.2-6 アービトレーションロスト検出による割込みが発生するタイミング例 9クロック目で割り込み スタートコンディション SCL端子 SDA端子 スレーブアドレス データ ACK ENビット MSSビット ALビット ソフトでのALビットクリア BBビット INTビット CM71-10142-5 ソフトでのINTビット クリアでSCL開放 FUJITSU SEMICONDUCTOR LIMITED 601 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ MB91220 シリーズ クロック制御レジスタ (ICCR0, ICCR1) 27.2.3 クロック制御レジスタ (ICCR0, ICCR1) には , 以下の機能があります。 • ノイズフィルタ有効 • I2C インタフェース動作許可 • シリアルクロック周波数設定 ■ クロック制御レジスタ (ICCR0, ICCR1) 図 27.2-7 に , クロック制御レジスタ (ICCR0, ICCR1) のレジスタ構成を示します。 図 27.2-7 クロック制御レジスタ (ICCR0, ICCR1) のレジスタ構成 ICCR0, ICCR1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 00056AH 000576H − R0,WX NSF EN CS4 CS3 CS2 CS1 CS0 -0011111B R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] Reserved : 予約ビット 読出し値は常に "0" です。 [bit14] NSF : ノイズフィルタ有効ビット SDA および SCL 端子に配置されたノイズフィルタを有効にするビットです。この ノイズフィルタにより , これらの入力に発生するスパイク (CLKP1 ∼ CLKP1.5 サイ クル ) を抑制することができます。送信 / 受信レートが 100kbps 以上の場合には , こ のビットを "1" に設定してください。 [bit13] EN : 動作許可ビット I2C インタフェース動作許可ビットです。 値 内 容 0 動作禁止 [ 初期値 ] 1 動作許可 <注意事項> • I2C インタフェースの動作が禁止されると , 送受信はただちに停止されます。 • MSS ビットに "0" を書き込んでストップコンディションを発生させたあとに I2C インタ フェースの動作を禁止する場合は , ストップコンディションの発生を確認 (BB=0:IBSR) した後 , 動作を禁止 (EN=0:ICCR) してください。 602 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 [bit12 ∼ bit8] CS4 ∼ CS0 : クロック周期選択ビット シリアルクロックの周波数を設定するビットです。 このビットは , I2C インタフェースを動作禁止 (EN=0) にするか , EN ビットがクリア されたときにのみ書込み可能です。 シフトクロックの周波数 (fsck) は次式のように設定されます。 ノイズフィルタ無効時 fsck = ノイズフィルタ有効時 fsck = φ n > 0, φ: 周辺クロック n × 12+16 φ n > 0, φ: 周辺クロック n × 12+17 表 27.2-1 レジスタ設定 N CS4 CS3 CS2 CS1 CS0 1 0 0 0 0 1 2 0 0 0 1 0 3 0 0 0 1 1 … … … … … … 31 1 1 1 1 1 CS4 ∼ CS0=00000B は設定禁止です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 603 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ 27.2.4 MB91220 シリーズ 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) は , 10 ビットのスレーブアドレスを示します。 ■ 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) 図 27.2-8 に , 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) のレジスタ構成を示します。 図 27.2-8 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) の レジスタ構成 ITBAH0, ITBAH1 上位 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000562H 00056EH − R0,WX − R0,WX − R0,WX − R0,WX − R0,WX − R0,WX TA9 TA8 ------00B R/W R/W ITBAL0, ITBAL1 下位 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000563H 00056FH TA7 TA6 TA5 TA4 TA3 TA2 TA1 TA0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 10 ビットスレーブアドレスレジスタ (ITBA) への書込みアクセスは , I2C インタフェー スが有効でない場合 (ICCR の EN ビットが "0") に行ってください。 [bit15 ∼ bit10] Reserved : 予約ビット 読出し時は常に "0" です。 [bit9 ∼ bit0] TA9 ∼ TA0 : 10 ビットスレーブアドレスビット (A9 ∼ A0) 10 ビットアドレスが有効 (ENTB=1:ITMK) のとき , スレーブモードでスレーブアド レスを受信すると , 受信アドレスと ITBA と比較します。 アクノリッジは , 10 ビットライトアクセスのアドレスヘッダ受信後 , マスタに送信 されます。 第 1, 第 2 バイト受信データと ITBAL レジスタとを比較されます。一致が検出され ると , アクノリッジ信号をマスタデバイスに送信し , AAS ビットが設定されます。 I2C インタフェースは , 再起動条件の後 , 10 ビットリードアクセスのアドレスヘッ ダの受信に応答します。 スレーブアドレスの全ビットは , ITMK の設定によりマスクされます。受信スレー ブアドレスは , ITBA レジスタに上書きされます。このレジスタが有効なのは , AAS (IBSR レジスタ ) が "1" のときのみです。 604 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 27.2.5 2 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) には , 10 ビットスレーブアドレスマスクと 10 ビットスレーブアドレス許可ビットが あります。 ■ 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) 図 27.2-9 に , 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) のレジスタ構成を示します。 図 27.2-9 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) の レジスタ構成 ITMKH0, ITMKH1 上位 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000564H 000570H ENTB RAL − R1,WX − R1,WX TM8 00----11B R,WX − R1,WX TM9 R/W − R1,WX R/W R/W ITMKL0, ITMKL1 下位 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000565H 000571H TM7 TM6 TM5 TM4 TM3 TM2 TM1 TM0 11111111B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit15] ENTB : 10 ビットスレーブアドレス許可ビット 10 ビットスレーブアドレス動作許可ビットです。 値 内 容 0 10 ビットスレーブアドレス動作禁止 [ 初期値 ] 1 10 ビットスレーブアドレス動作許可 このビットへの書込みは , I2C インタフェースが停止状態 (EN=0: ICCR) で行ってく ださい。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 605 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ MB91220 シリーズ [bit14] RAL : 受信スレーブアドレス長ビット このビットは , スレーブアドレス長を示します。 値 内 容 0 7 ビットスレーブアドレス [ 初期値 ] 1 10 ビットスレーブアドレス このビットは , 10 ビット /7 ビットスレーブアドレスの動作許可ビットが両方許可 (ENTB=1 かつ ENSB=1) になっている場合に , 10 ビット , 7 ビットスレーブアドレス 動作のどちらの転送長が有効になるかの決定に使用できます。 このビットは AAS ビット (IBSR) が "1" のときに有効です。 このビットはインタフェースの動作を禁止 (EN=0:ICCR) したときにクリアされま す。 このビットは読出しのみ可能です。 [bit13 ∼ bit10] Reserved : 予約ビット 読出し時は常に "1" が読まれます。 [bit9 ∼ bit0] TM9 ∼ TM0 : 10 ビットスレーブアドレスマスクビット このビットは10ビットスレーブアドレスレジスタ(ITBA)のビットをマスクします。 このレジスタへの書込みは, I2Cインタフェースが動作禁止(EN=0:ICCR)のとき行っ てください。 値 内 容 0 当該ビットをスレーブアドレス比較に使用しない 1 当該ビットをスレーブアドレス比較に使用する [ 初期値 ] このビットを設定することにより複合 10 ビットスレーブアドレスに対してアクノ リッジを送信することが可能になります。このレジスタを 10 ビットスレーブアド レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー ブアドレスは , ITBA に上書きされます。ASS = 1(IBSR) のときに ITBA レジスタを 読み出すことによって実際の指定されたスレーブアドレスを特定できます。 ITMK の TM9 ∼ TM0 の各ビットが ITBA のアドレスの各ビットに対応しており , TM9 ∼ TM0 の値が "1" のときは ITBA のアドレスが有効になり , "0" のときは無効になります。 例 : ITBA アドレス "0010010111B" ITMK アドレス " 1111111100B" のとき スレーブアドレスは "0010010100B" ∼ "0010010111B" の空間になります。 606 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) 27.2.6 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) は , 7 ビットのスレーブアドレ スを示します。 ■ 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) 図 27.2-10 に , 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) のレジスタ構成を示 します。 図 27.2-10 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) のレジスタ構成 ISBA0, ISBA1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 000567H 000573H − R0,WX SA6 SA5 SA4 SA3 SA2 R/W R/W R/W R/W R/W bit5 bit4 bit3 bit2 bit0 初期値 SA1 SA0 -0000000B R/W R/W bit1 ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 7 ビットスレーブアドレスレジスタ (ISBA) への書込みアクセスは , I2C インタフェース が有効でない場合 (ICCR の EN ビットが "0") に行ってください。 [bit7] Reserved : 予約ビット 読出し値は "0" です。 [bit6 ∼ bit0] SA6 ∼ SA0 : スレーブアドレスビット スレーブモードでスレーブアドレスを受信したとき , 7 ビットスレーブアドレスが 許可 (ENSB=1:ISMK) されていると , 受信スレーブアドレスと ISBA の比較を行いま す。スレーブアドレス一致が検出されると , マスタに対してアクノリッジを送信し て AAS ビットを設定します。 I2C インタフェースは , 再起動条件の後に 7 ビットリードアクセスのアドレスヘッ ダの受信にアクノリッジを返します。 スレーブアドレスの全ビットは , ISMK の設定によりマスクされます。受信スレー ブアドレスは , ISBA レジスタに上書きされます。このレジスタが有効なのは , AAS (IBSR レジスタ ) が "1" のときのみです。 I2C インタフェースは , 10 ビットスレーブアドレス指定 , またはジェネラルコール が受信されたとき , ISBA と受信スレーブアドレスとの比較を行いません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 607 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ 27.2.7 MB91220 シリーズ 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) には , 7 ビットスレーブ アドレスマスクと 7 ビットスレーブアドレス許可ビットがあります。 ■ 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) 図 27.2-11 に , 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) のレジスタ構 成を示します。 図 27.2-11 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) のレジスタ構成 ISMK0, ISMK1 ( アクセス:Byte,Half-word,Word) アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 000566H 000572H ENSB SM6 SM5 SM4 SM3 SM2 SM1 SM0 01111111B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 7 ビットスレーブアドレスマスクレジスタ (ISMK) への書込みアクセスは , I2C インタ フェースが有効でない場合 (ICCR の EN ビットが "0") に行ってください。 [bit15] ENSB : 7 ビットスレーブアドレス許可ビット 7 ビットスレーブアドレス動作許可ビットです。 値 608 内 容 0 7 ビットスレーブアドレス動作禁止 [ 初期値 ] 1 7 ビットスレーブアドレス動作許可 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.2 I C インタフェースのレジスタ MB91220 シリーズ 2 [bit14 ∼ bit8] SM6 ∼ SM0 : 7 ビットスレーブアドレスマスクビット このビットは 7 ビットスレーブアドレスレジスタ (ISBA) のビットをマスクします。 値 内 容 0 当該ビットをスレーブアドレス比較に使用しない 1 当該ビットをスレーブアドレス比較に使用する [ 初期値 ] このビットを設定することにより , 複合 7 ビットスレーブアドレスに対してアクノ リッジを送信することが可能になります。ISMK レジスタを 7 ビットスレーブアド レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー ブアドレスは , ISBA に上書きされます。ASS = 1(IBSR) のときに ISBA レジスタを 読み出すことによって実際の指定されたスレーブアドレスを特定できます。 I2C インタフェースが許可になった後にスレーブアドレス (ISBA) は受信動作によっ て書き換えられるため , ISMK を書き換えたときは , ISMK を再設定しないと期待ど おりの動作をしないことがあります。 ISMK の SM6 ∼ SM0 の各ビットが ISBA のアドレスの各ビットに対応しており , SM6 ∼ SM0 の値が "1" のときは ISBA のアドレスが有効になり , "0" のときは無効 になります。 例 : ISBA アドレス "0010111B" ISMK アドレス " 1111100B" のとき スレーブアドレスは "0010100B" ∼ "0010111B" の空間になります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 609 第 27 章 I2C インタフェース 27.2 I2C インタフェースのレジスタ 27.2.8 MB91220 シリーズ データレジスタ (IDAR0, IDAR1) データレジスタ (IDAR0, IDAR1) について説明します。 ■ データレジスタ (IDAR0, IDAR1) 図 27.2-12 に , データレジスタ (IDAR0, IDAR1) のレジスタ構成を示します。 図 27.2-12 データレジスタ (IDAR0, IDAR1) のレジスタ構成 IDAR0, IDAR1 ( アクセス:Byte,Half-word,Word) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 000569H 000575H D7 D6 D5 D4 D3 D2 D1 D0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) [bit7 ∼ bit0] D7 ∼ D0 : データビット シリアル転送に使用されるデータレジスタであり , MSB から転送されます。 このレジスタの書込み側はダブルバッファになっており , バスが使用中(BB=1)であ る場合 , 書込みデータはシリアル転送用のレジスタにロードされます。INT ビット (IBCR) がクリアされるか , バスがアイドル状態 (BB=0:IBSR) のときに転送データは 内部転送レジスタにロードされます。 読出し時はシリアル転送用のレジスタを直接読み出すため , 本レジスタの受信デー タは INT ビット (IBCR) が設定されている場合のみ有効です。 610 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.3 I C インタフェースの動作説明 MB91220 シリーズ 27.3 2 I2C インタフェースの動作説明 I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロックライン (SCL) の 2 本の双方向バスラインにより転送が行われます。 I2C インタフェースはそれに対して 2 本のオープンドレイン入出力端子 (SDA, SCL) を有し , ワイヤード論理を可能にします。 ■ 起動条件 バスが開放されている状態 (BB=0, MSS=0) で MSS ビットに "1" を書き込むと , I2C イ ンタフェースはマスタモードとなり , 起動条件を発生します。そのとき , スレーブアド レスとして IDAR レジスタの値を送信します。 バスマスタモードで割込みフラグが設定されているとき (MSS=1, INT=1:IBCR), SCC ビットに "1" を書き込むことで , 再起動条件が生成されます。 バス使用時 (BB=1, TRX=0:IBSR, MSS=0 または INT=0:IBCR) に , MSS ビットに "1" を 書き込むとバスが開放され , 送信が開始されます。 スレーブモード時にライト ( 受信 ) アクセスされると , 転送が終了してバスが開放され た後 , 送信を開始します。そのとき , インタフェースがデータ送信中であれば , バスが 開放されても送信しません。 インタフェースは , 次のことをチェックする必要があります。 • スレーブとして指定された (MSS=0:IBCR, AAS=1:IBSR) かどうか • 次の割込みで , データバイトを正常に送れた (AL=1:IBSR) かどうか ■ 停止条件 マスタモード (MSS=1, INT=1:IBCR) 時に , MSS ビットに "0" を書き込むと , 停止条件を 発生してスレーブモードになります。ほかの条件での , MSS への "0" 書込みは無視さ れます。 MSS ビットがクリアされた後 , I2C は停止条件を生成しようとします。停止条件を生成 する前に , SCL ラインが "L" にドライブされているときは生成されません。次のバイト が転送された後に割込みが生成されます。 ( 注意事項 ) MB91220 シリーズでは , I2C の端子は , 擬似オープンドレインとなってお りますので , VCC を超える電圧を印加することはできません。 <注意事項> MSS ビットに "0" を書き込んでから停止条件を発生するまでに時間を要します。起動条件 の発生前に I2C インタフェースを動作禁止 (EN=0:ICCR) にすると , 直ちに動作が停止し て SCL ラインに不正クロック発生します。I2C インタフェースを動作禁止する際には , 起 動条件の発生を確認 (BB=0:IBSR) した後 , 動作を禁止 (EN=0:ICCR) してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 611 第 27 章 I2C インタフェース 27.3 I2C インタフェースの動作説明 MB91220 シリーズ ■ スレーブアドレス検出 スレーブモードでは , 起動条件発生後 , BB=1 に設定されてマスタからの送信データを IDAR レジスタへ受信します。 〔7 ビットスレーブアドレス動作許可の場合〕(ISMK レジスタの ENSB=1) 8 ビットデータ受信後に IDAR レジスタと ISBA レジスタとの比較が行われます。こ のとき , ISMK レジスタによりビットマスクされた値との比較になります。 一致している場合 , AAS=1 に設定し , マスタに対してアクノリッジを送信します。 その後 , 受信データの bit0 ( 受信後の IDAR レジスタの bit0) を反転して TRX ビット へ格納します。 〔10 ビットスレーブアドレス動作許可の場合〕(ITMK レジスタの ENTB=1) 10 ビットアドレスのヘッダ部 (11110B, TA1, TA0, ライト ) を検出すると , マスタに 対してアクノリッジを送信し , 受信データの bit0 を反転して TRX ビットへ格納しま す。このとき割込みは発生しません。 続いて , 次の転送データと ITBA レジスタの下位データとの比較が行われます。こ のとき , ISMK レジスタによりビットマスクされた値との比較になります。 一致している場合 , AAS に "1" を設定し , マスタに対してアクノリッジを送信しま す。このときに割込みが発生します。 スレーブとしてアドレス指定され , 再起動条件を検出した場合 , 10 ビットアドレス のヘッダ部 (11110B, TA1, TA0, リード ) を受信後 AAS に "1" を設定し , 割込みを発 生します。 10 ビットスレーブアドレスレジスタ (ITBA) と 7 ビットスレーブアドレスレジスタ (ISBA) を搭載しているので , 両方の動作許可 (ISMK レジスタの ENSB=1, ITMK レ ジスタの ENTB=1) をすることにより , 10 ビットアドレス /7 ビットアドレスに対し てアクノリッジを送信することができます。 スレーブモード時 (AAS=1) の受信スレーブアドレス長は , ITMK レジスタの RAL ビットによって決定します。マスタモード時は , 両方の動作を禁止 (ENSB=0:ISMK, ENTB=0:ITMK) することにより , I2C インタフェースにスレーブアドレスを生成し ないことが可能です。 全スレーブアドレスは , ITMK, ISMK レジスタを設定することによりマスクできま す。 612 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.3 I C インタフェースの動作説明 MB91220 シリーズ 2 ■ スレーブアドレスマスク スレーブアドレスマスクレジスタ (ITMK, ISMK) は , スレーブアドレスレジスタの各 ビットに対してマスクすることができます。マスクレジスタに "1" を設定したビット はアドレス比較を行いますが , "0" に設定されているビットは無視されます。スレーブ モード (AAS=1:IBSR) 時 , 受信スレーブアドレスは , ITBA (10 ビットアドレス時 ) , ISBA (7 ビットアドレス時 ) レジスタから読み出せます。 ビットマスクがクリアされていると , 常にスレーブとしてアクセスされるので , バスの モニタとして使用できます。 <注意事項> ほかのスレーブデバイスがない場合でも , スレーブアドレスを受信するとアクノリッジを 返すので , この機能はリアルバスモニタとはなりません。 ■ スレーブアドレッシング マスタモードでは , 起動条件発生後 , BB=1, TRX=1 を設定して IDAR レジスタの内容を MSB ファーストから出力します。アドレスデータ送信後 , スレーブからアクノリッジ を受信すると , 送信データの bit0 ( 送信後の IDAR レジスタの bit0) を反転して TRX ビッ トへ格納します。この動作は , 再起動条件でも実行されます。 ライト 10 ビットスレーブアドレスのために , 2 バイト送信します。第 1 バイトは , 10 ビットシーケンスを示すヘッダ "1 1 1 1 0 A9 A8 0" であり , 続いて , 第 2 バイトでスレー ブアドレスの下位 8 ビット (A7 ∼ A0) を送信します。 リード10ビットスレーブデバイスは上記のバイトを送信し, 再起動条件とともに, リー ドアクセスを示すヘッダ "1 1 1 1 0 A9 A8 1" を生成します。 7 ビット スレーブアクセス 書込み 起動条件 -A6 A5 A4 A3 A2 A1 A0 0 読出し 起動条件 -A6 A5 A4 A3 A2 A1 A0 1 書込み 起動条件 -1 1 1 1 0 A9 A8 0-A7 A6 A5 A4 A3 A3 A1 A0 10 ビット スレーブアクセス 読出し 起動条件 -1 1 1 1 0 A9 A8 0-A7 A6 A5 A4 A3 A3 A1 A0 −再起動条件 -1 1 1 1 0 A9 A8 1 ■ アービトレーション マスタ送信時に , ほかのマスタも同時にデータを送信している場合 , アービトレーショ ンが起こります。自身の送信データが "1", SDA ライン上のデータが "L" レベルの場合 , 自身はアービトレーションを失ったと見なして AL=1 に設定します。 インタフェースがデータの最初のビットで不要な起動条件を検出されるか , 起動条件 または停止条件の生成が失敗した場合に AL=1 が設定されます。 アービトレーションロストが発生すると MSS=0, TRX=0 となり , スレーブ受信モード となり , 自身のスレーブアドレスを受信するとアクノリッジを返します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 613 第 27 章 I2C インタフェース 27.3 I2C インタフェースの動作説明 MB91220 シリーズ ■ アクノリッジ アクノリッジは , 受信側が送信側に対して送信します。データ受信時は , ACK ビット (IBCR) によって , 受信時にアクノリッジを送信するかどうかを選択することができま す。 スレーブモード時のデータ送信 ( ほかのマスタからのリードアクセス ) に , マスタから アクノリッジがなくても , TRX ビットを "0" に設定して受信モードになります。これ により , マスタはスレーブが SCL ラインを開放したときに , 停止条件を発生すること ができます。 マスタモード時 , LRB ビット (IBSR) を読み出すことにより , アクノリッジがあったか どうかをチェックできます。 ゼネラルコールアドレスを送信した後に , アービトレーションロストが発生した場合 , データ ( 発生したデータを含む ) 受信時にアクノリッジ応答する場合は , ACK ビット と GCAA ビットをともに "1" に設定してください。それ以外の設定では , アクノリッ ジ応答しません。 ■ バスエラー 以下の条件が成立した場合はバスエラーと判断され , I2C インタフェースは停止状態に なります。 • データ転送中 (ACK ビットを含む ) の I2C バスプロトコル違反の検出 • マスタ時の停止条件検出 • バスアイドル時の I2C バスプロトコル違反の検出 614 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.3 I C インタフェースの動作説明 MB91220 シリーズ 2 ■ エラーを発生しない通信エラー マスタモード送信時 , SCL ラインにノイズなどで不正クロックが発生すると , I2C イン タフェースの送信ビットカウンタが早く進み , ACK サイクルでスレーブが SDA ライン に "L" を出したまま , ハングアップすることがあります。このようなクロックの不正に 対してエラー (AL=1, BER=1) は発生しません。 この場合次の方法でエラー処理をしてください。 1) MSS=1, TRX=1, INT=1 のときに LRB=1 であれば , 通信エラーと判断します。 2) ここで , EN=0 とし , その後 EN=1 とすることにより , 擬似的に SCL が 1 クロック発 生します。 これにより , スレーブにバスを開放させます。 EN=0 から EN=1 の期間は , スレーブ側がクロックと認識できる期間 ( 送信クロック の "H" 期間と同じ程度 ) としてください。 3) EN=0 の時点で , IBSR, IBCR はクリアされますので , 起動条件から再送信処理をして ください。このとき , BSS=0 による停止条件は生成されません。 このとき , EN=1 から MSS=1 ( 起動条件 ) までに , "n × 7 × tCPP" 以上の時間を空け てください。 例 : 高速モードの場合 : 6 × 7 × 40 ≒ 2.333μs 標準モードの場合 : 27 × 7 × 40 ≒ 10.50μs (CLKP=18MHz 時 ) <注意事項> BER が設定されている場合は , EN=0 ではクリアされません。クリア後 , 再送信してくだ さい。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 615 第 27 章 I2C インタフェース 27.3 I2C インタフェースの動作説明 MB91220 シリーズ ■ その他 • アービトレーションロストした後 , 自分がアドレッシングされている場合とアドレッ シングされていなかった場合をソフトで判断する必要があります。 アービトレーションロストするとハード的にスレーブになりますが , 1 バイト転送 終了後 , クロックライン , データライン双方を "L" に引っ張ります。このため , アドレッシングされていなければ , 直ちにクロックライン , データラインを開放し , アドレッシングされていた場合には , スレーブ送信またはスレーブ受信の準備をし てからクロックライン , データラインを開放する必要があります ( すべてソフト ウェアにて処理する必要があります ) 。 • I2C バスには 1 つの割込みしかなく , 1 バイト転送終了した時点で , あるいは割込み 条件に該当していた場合 , 割込み要因が発生する仕様になっています。 1 つの割込みで , 複数の割込み条件を判断しなければならないため , 割込みルーチン 内で , 各フラグをチェックする必要があります。1 バイト転送終了時点での割込み 条件を下記に示します。 - バスマスタであった場合 - アドレスされたスレーブであった場合 - ゼネラルコールアドレスを受信した場合 - アービトレーションロストが発生した場合 • アービトレーションロストを検出した場合 , 直ちに割込み要因が発生するのではな く , 1 バイト転送終了した時点で要因が発生します。 アービトレーションロストを検出するとハード的にスレーブになりますが , スレー ブになっても , 割込み要因を発生させるために , トータル 9 クロック出力をします。 そのため , 直ちに割込み要因が発生しないので , アービトレーションロスト後に処 理を行うことはできません。 616 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.4 動作フローチャート MB91220 シリーズ 27.4 動作フローチャート スレーブアドレスとデータ転送および受信データを例に , 動作フローチャートを示 します。 ■ スレーブアドレスとデータ転送の例 図 27.4-1 に , スレーブアドレスとデータ転送例を示します。 図 27.4-1 スレーブアドレスとデータ転送例 7ビットスレーブアドレッシング 転送データ スタート スタート ライトアクセスの BERビットクリア(セット) インタフェース動作許可EN=1 スレーブアドレス IDAR =S.アドレス ≪1+RW IDAR = バイトデータ MSS=1 NO INT=0 INT=0 INT=1? INT=1? YES YES YES BER=1? BER=1? YES バスエラー NO NO AL=1? NO AASの検査 により再起動 転送 YES AL=1? NO YES AASの検査 により再起動 転送 NO NO ACK? (LRB=0?) ACK? NO (LRB=0?) YES YES データ転送の準備 最終バイト の転送 YES NO 転送終了 転送終 ・スレーブがACKを発生しない, もしくはマスタがACKを受信 できない ・いったんEN=0にして再送信 転送終了 転送終 ・反復「START」条件,「STOP」 条件を発生する ・「STOP」条件発生(BB=0) を確認してEN=0 転送終了 転送終 送信時: ・スレーブがACKを発生 しない,もしくはマスタが ACKを受信できない ・いったんEN=0にして再送信 受信時: ACKなし,反復 「START」条件,「STOP」 条件を発生する CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 617 第 27 章 I2C インタフェース 27.4 動作フローチャート MB91220 シリーズ ■ 受信データの例 図 27.4-2 に , 受信データ例を示します。 図 27.4-2 受信データ例 スタート リードアクセスの スレーブアドレス スレーブからの最終リード データならACKビットを クリアする。 INT=0 INT=1? NO YES YES BER=1? バスエラー 再起動 NO NO 最終バイト の転送 YES 転送終了 反復「START」条件,「STOP」条件 を発生する 618 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 27 章 I2C インタフェース 27.4 動作フローチャート MB91220 シリーズ ■ 割込み処理 図 27.4-3 に , 割込み処理を示します。 図 27.4-3 割込み処理 スタート NO ほかのモジュール からの受信割込み INT=1? YES バスエラー YES BER=1? 再起動 NO YES GCA=1? NO NO 転送の失敗 スレーブ時にゼネラル コール検出 YES A AS=1? 再トライを行う YES A L=1? A L=1? YES NO NO YES LRB=1? YES 次の割込みで 新データ転送開始。 必要であれば ACKビットを変更 アービトレーション ロスト再転送 スレーブのACKなし 「STOP」条件,反復 「START」条件の生成 A DT=1 NO NO TRX=1? TRX=1? YES YES NO NO IDARから受信データ を読む。必要であれば ACKビットを変更する IDARに 次の送信 データを ライト IDARから受信データ を読む。必要であ ればACKビットを 変更する IDARに次の送信 データをライト またはMSSビット のクリア クリア INT ビット ISR終了 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 619 第 27 章 I2C インタフェース 27.4 動作フローチャート 620 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ フラッシュメモリの概要 , レジスタの構成 / 機能お よび動作について説明します。 CM71-10142-5 28.1 フラッシュメモリの概要 28.2 フラッシュメモリのレジスタ 28.3 フラッシュメモリのアクセスモード 28.4 自動アルゴリズム起動方法 28.5 自動アルゴリズム実行状態 28.6 フラッシュメモリ書込み / 消去の詳細説明 28.7 セクタプロテクトオペレーション FUJITSU SEMICONDUCTOR LIMITED 621 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 28.1 MB91220 シリーズ フラッシュメモリの概要 MB91F223/S には 512K バイト (4M ビット ) の容量 , MB91F224/S には 768K バイ ト (6M ビット ) の容量で , +3.3V 単一電源による全セクタ一括消去およびセクタ単位 での消去が可能で , FR-CPU によるハーフワード (16 ビット ) 単位での書込みが可能 なフラッシュメモリを内蔵しています。 ■ フラッシュメモリの特長 このフラッシュメモリは , 内蔵の 3.3V 動作 512K バイト /768K バイトフラッシュメモ リです。当社製 4M ビット (512K × 8/256K × 16/128K × 32) フラッシュメモリ MBM29LV400TC と同じもので ( 容量 , セクタ構成を除いて ) あり , ROM ライタによる デバイス外部からの書込みも可能です。また , MBM29LV400TC 相当の機能に加え , FRCPU の内蔵 ROM として使用する場合には , ハーフワード (16 ビット ) 単位での命令 / データ読出しが可能であり , デバイスの高速動作を実現できます。 シングルチップモードで動作するプログラムあるいは内 ROM 外バスモードで動作す るプログラムのどちらかを選択して書き込むことができます。 本書と併せて MBM29LV400TC データシートを参照してください。 フラッシュメモリマクロと FR-CPU インタフェース回路の組合せにより , 以下の機能を 実現します。 • 基本仕様 : フラッシュメモリ MBM29LV400TC と同じ ( ただし , 容量と一部セクタ 構成が異なります。) • 追加仕様 : ワード (32 ビット ) 単位での命令 / データ読出しが可能で , デバイスの 高速動作を実現。 (CPU の内蔵 ROM 動作時 ) • 外部からの書込み : ROM ライタにより可能 • 動作モード : ① CPU-ROM モード (CPU がフラッシュメモリにアクセス , 読出しのみ , Byte/Half-word/Word アクセ ス) ② CPU- プログラミングモード (CPU がフラッシュメモリにアクセス。読書き , Half-word アクセスのみ ) ③ フラッシュメモリモード ( 外部からフラッシュメモリにアクセス可能 ) • 機能 : ( フラッシュメモリマクロと FR-CPU インタフェース回路の組合せにより ) • CPU のプログラム / データ格納用メモリとして機能 • ROM として使用する際は 32 ビットバス幅でアクセス可能 • CPU による読出し / 書込み / 消去 ( 自動プログラムアルゴリズム *) が可能 • 単体フラッシュメモリ製品の MBM29LV400TC 相当の機能 • ROM ライタによる読出し / 書込み / 消去 ( 自動プログラムアルゴリズム *) が可能 *: 自動プログラムアルゴリズム = Embedded Algorithm 622 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ 本書では , FR-CPU からこのフラッシュメモリを使用する場合について解説していま す。 ROM ライタからこのフラッシュメモリを使用する場合の詳細については , 別途「ROM ライタの取扱説明書」を参照してください。 ■ 自動アルゴリズム実行状態 CPU プログラミングモードにて自動アルゴリズムを起動した場合には , 内部レディ信 号 (RDY) により自動アルゴリズムの動作状態を知ることができます。このレディ信号 のレベルは , フラッシュメモリステータスレジスタの "RDY" ビットとして読み込むこ とができます。 "RDY" ビットが "0" の期間は , 自動アルゴリズムによる書込みまたは消去が行われてお り , 新たな書込みまたは消去コマンドを受け付けることはできません。また , フラッ シュメモリアドレスからのデータ読出しはできません。"RDY" ビットが "0" の期間に 読み出したデータはフラッシュメモリのステータスを示すハードウェアシーケンスフ ラグとなっています (「28.4 自動アルゴリズム起動方法」を参照 )。 ■ ROM ライタによる書込み このフラッシュメモリは , ROM ライタを用いてデバイス外部より書込みを行うことが できます。この状態では , 単体フラッシュメモリ製品の MBM29LV400TC 相当の端子 機能がデバイス外部端子に割り当てられ , FR-CPU は動作を停止します。CPU モードと はアドレス線の接続が変更され , メモリ領域内のマッピングが変化します。詳細につい ては「対応 ROM ライタの仕様書」を参照してください。 ■ フラッシュメモリのブロックダイヤグラム 図 28.1-1 フラッシュメモリのブロックダイヤグラム CPU フラッシュインタフェース フラッシュメモリ 制御信号 制御信号 A0~A18 A-1/A0~A18 アドレス DQ0~DQ15 DQ0~DQ15 制御信号 CPUコア データ 制御信号 フラッシュ ライタとの インタ アドレス フェース (フラッ シュモード 時) データ CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 623 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ ■ フラッシュメモリのセクタ構成 フラッシュメモリのアドレスマッピングは , FR-CPU からのアクセス時と ROM ライタ でのアクセス時とでは異なります。図 28.1-2 と表 28.1-2 に FR-CPU からのアクセス時 におけるマッピングを , 図 28.1-4 に ROM ライタからのアクセス時におけるマッピング を示します。 ● FR-CPU からのアクセス時におけるマッピング 図 28.1-2 MB91F223/S の FR-CPU からのアクセス時におけるマッピング 000F_FFFFH FFFF_FFFFH 000F_8000H 000F_7FFFH 000F_4000H 000F_3FFFH 000F_0000H 0010_0000H 000F_FFFFH FLASHメモリ 512KB 000E_FFFFH 000E_0000H 000D_FFFFH 0008_0000H 000C_0000H 000B_FFFFH 000A_0000H 0000_0000H 0009_FFFFH 0008_0000H SAA6 (16KB) SAA13(16KB) SAA5 (8KB) SAA12(8KB) SAA4 (8KB) SAA11(8KB) SAA3 (32KB) SAA10(32KB) SAA2 (64KB) SAA9 (64KB) SAA1 (64KB) SAA8 (64KB) SAA0 (64KB) SAA7 (64KB) bit 31 CPUモードでアクセス モードでアクセス する場合のバイト位置 1615 0 1 0 2 3 図 28.1-3 MB91F224/S の FR-CPU からのアクセス時におけるマッピング 0010_FFFFH FFFF_FFFFH 0011_0000H 0010_FFFFH FLASHメモリ 768KB 0005_0000H 0000_0000H 0010_0000H 000F_FFFFH 000F_8000H 000F_7FFFH 000F_4000H 000E_3FFFH 000F_0000H 000E_FFFFH 000E_0000H 000D_FFFFH 000C_0000H 000B_FFFFH 000A_0000H 0009_FFFFH 0008_0000H 0007_FFFFH 0006_0000H 0005_FFFFH SAA0-2 (32KB) SAA2-2 (32KB) SAA10 (16KB) SAA17 (16KB) SAA9 (8KB) SAA16 (8KB) SAA8 (8KB) SAA15 (8KB) SAA7 (32KB) SAA14 (32KB) SAA6 (64KB) SAA13 (64KB) SAA5 (64KB) SAA12 (64KB) SAA4(64KB) SAA11 (64KB) SAA1 (64KB) SAA3 (64KB) SAA0-1 (32KB) SAA2-1 (32KB) 0005_0000H bit 31 CPUモードでアクセス モードでアクセス する場合のバイト位置 624 1615 0 FUJITSU SEMICONDUCTOR LIMITED 1 0 2 3 CM71-10142-5 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ 表 28.1-1 MB91F223/S のセクタアドレス一覧 (FR-CPU からのアクセス時 ) CM71-10142-5 セクタ アドレス アドレス範囲 対応ビット位置 セクタ容量 SAA13 F_FFFEH ∼ F_8000H bit15 ∼ bit0 16K バイト SAA12 F_7FFEH ∼ F_4000H bit15 ∼ bit0 8K バイト SAA11 F_3FFEH ∼ F_0000H bit15 ∼ bit0 8K バイト SAA10 E_FFFEH ∼ E_0000H bit15 ∼ bit0 32K バイト SAA9 D_FFFEH ∼ C_0000H bit15 ∼ bit0 64K バイト SAA8 B_FFFEH ∼ A_0000H bit15 ∼ bit0 64K バイト SAA7 9_FFFEH ∼ 8_0000H bit15 ∼ bit0 64K バイト SAA6 F_FFFCH ∼ F_8000H bit31 ∼ bit16 16K バイト SAA5 F_7FFCH ∼ F_4000H bit31 ∼ bit16 8K バイト SAA4 F_3FFCH ∼ F_0000H bit31 ∼ bit16 8K バイト SAA3 E_FFFCH ∼ E_0000H bit31 ∼ bit16 32K バイト SAA2 D_FFFCH ∼ C_0000H bit31 ∼ bit16 64K バイト SAA1 B_FFFCH ∼ A_0000H bit31 ∼ bit16 64K バイト SAA0 9_FFFCH ∼ 8_0000H bit31 ∼ bit16 64K バイト FUJITSU SEMICONDUCTOR LIMITED 625 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ 表 28.1-2 MB91F224/S のセクタアドレス一覧 (FR-CPU からのアクセス時 ) セクタ アドレス アドレス範囲 対応ビット位置 セクタ容量 SAA17 F_FFFEH ∼ F_8000H bit15 ∼ bit0 16K バイト SAA16 F_7FFEH ∼ F_4000H bit15 ∼ bit0 8K バイト SAA15 F_3FFEH ∼ F_0000H bit15 ∼ bit0 8K バイト SAA14 E_FFFEH ∼ E_0000H bit15 ∼ bit0 32K バイト SAA13 D_FFFEH ∼ C_0000H bit15 ∼ bit0 64K バイト SAA12 B_FFFEH ∼ A_0000H bit15 ∼ bit0 64K バイト SAA11 9_FFFEH ∼ 8_0000H bit15 ∼ bit0 64K バイト SAA10 F_FFFCH ∼ F_8000H bit31 ∼ bit16 16K バイト SAA9 F_7FFCH ∼ F_4000H bit31 ∼ bit16 8K バイト SAA8 F_3FFCH ∼ F_0000H bit31 ∼ bit16 8K バイト SAA7 E_FFFCH ∼ E_8000H bit31 ∼ bit16 32K バイト SAA6 D_FFFCH ∼ C_0000H bit31 ∼ bit16 64K バイト SAA5 B_7FFCH ∼ A_0000H bit31 ∼ bit16 64K バイト SAA4 9_FFFCH ∼ 8_0000H bit31 ∼ bit16 64K バイト SAA3 7_FFFEH ∼ 6_0000H bit15 ∼ bit0 64K バイト bit15 ∼ bit0 64K バイト bit31 ∼ bit16 64K バイト bit31 ∼ bit16 64K バイト SAA2 SAA1 SAA0 626 5_FFFEH ∼ 5_0000H 10_FFFEH ∼ 10_0000H 7_FFFCH ∼ 6_0000H 5_FFFCH ∼ 5_0000H 10_FFFCH ∼ 10_0000H FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ ● ROM ライタからのアクセス時におけるマッピング 図 28.1-4 ROM ライタからのアクセス時におけるアドレスマッピング MB91F224/S MB91F223/S F_FFFFH F_C000H F_BFFFH F_A000H F_9FFFH F_8000H F_7FFFH F_0000H E_FFFFH E_0000H D_FFFFH D_0000H C_FFFFH C_0000H B_FFFFH B_C000H B_BFFFH B_A000H B_9FFFH B_8000H B_7FFFH B_0000H A_FFFFH A_0000H 9_FFFFH 9_0000H 8_FFFFH 8_0000H F_FFFFH SAA13(16KB) F_C000H F_BFFFH SAA12(8KB) F_A000H F_9FFFH SAA11(8KB) F_8000H F_7FFFH SAA10(32KB) F_0000H E_FFFFH SAA9(64KB) E_0000H D_FFFFH SAA8(64KB) D_0000H C_FFFFH SAA7(64KB) C_0000H B_FFFFH SAA6(16KB) B_C000H B_BFFFH SAA5(8KB) B_A000H B_9FFFH SAA4(8KB) B_8000H B_7FFFH SAA3(32KB) B_0000H A_FFFFH SAA2(64KB) SAA17(16KB) SAA16(8KB) SAA15(8KB) SAA14(32KB) SAA13(64KB) SAA12(64KB) SAA11(64KB) SAA10(16KB) SAA9(8KB) SAA8(8KB) SAA7(32KB) SAA6(64KB) A_0000H 9_FFFFH SAA1(64KB) 9_0000H 8_FFFFH SAA0(64KB) bit 15 8_0000H 7_FFFFH 0 1 0 0 1 バイト位置 ( ライタで書く場合) CPUがリードする場合 SAA5(64KB) SAA4(64KB) SAA3(64KB) 7_0000H 6_FFFFH SAA2(64KB) 6_0000H 3_FFFFH 3_0000H 2_FFFFH SAA1(64KB) SAA0(64KB) 2_0000H bit 15 CM71-10142-5 0 1 0 バイト位置 ( ライタで書く場合) 0 1 CPUがリードする場合 FUJITSU SEMICONDUCTOR LIMITED 627 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ 表 28.1-3 MB91F223/S のセクタアドレス一覧 (ROM ライタからのアクセス時 ) 628 セクタ アドレス アドレス範囲 対応ビット位置 セクタ容量 SAA13 F_FFFFH ∼ F_C000H bit15 ∼ bit0 16K バイト SAA12 F_BFFFH ∼ F_A000H bit15 ∼ bit0 8K バイト SAA11 F_9FFFH ∼ F_8000H bit15 ∼ bit0 8K バイト SAA10 F_7FFFH ∼ F_0000H bit15 ∼ bit0 32K バイト SAA9 E_FFFFH ∼ E_0000H bit15 ∼ bit0 64K バイト SAA8 D_FFFFH ∼ D_0000H bit15 ∼ bit0 64K バイト SAA7 C_FFFFH ∼ C_0000H bit15 ∼ bit0 64K バイト SAA6 B_FFFFH ∼ B_C000H bit15 ∼ bit0 16K バイト SAA5 B_BFFFH ∼ B_A000H bit15 ∼ bit0 8K バイト SAA4 B_9FFFH ∼ B_8000H bit15 ∼ bit0 8K バイト SAA3 B_7FFFH ∼ B_0000H bit15 ∼ bit0 32K バイト SAA2 A_FFFFH ∼ A_0000H bit15 ∼ bit0 64K バイト SAA1 9_FFFFH ∼ 9_0000H bit15 ∼ bit0 64K バイト SAA0 8_FFFFH ∼ 8_0000H bit15 ∼ bit0 64K バイト FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.1 フラッシュメモリの概要 MB91220 シリーズ 表 28.1-4 MB91F224/S のセクタアドレス一覧 (ROM ライタからのアクセス時 ) CM71-10142-5 セクタ アドレス アドレス範囲 対応ビット位置 セクタ容量 SAA17 F_FFFFH ∼ F_C000H bit15 ∼ bit0 16K バイト SAA16 F_BFFFH ∼ F_A000H bit15 ∼ bit0 8K バイト SAA15 F_9FFFH ∼ F_8000H bit15 ∼ bit0 8K バイト SAA14 F_7FFFH ∼ F_0000H bit15 ∼ bit0 32K バイト SAA13 E_FFFFH ∼ E_0000H bit15 ∼ bit0 64K バイト SAA12 D_FFFFH ∼ D_0000H bit15 ∼ bit0 64K バイト SAA11 C_FFFFH ∼ C_0000H bit15 ∼ bit0 64K バイト SAA10 B_FFFFH ∼ B_C000H bit15 ∼ bit0 16K バイト SAA9 B_BFFFH ∼ B_A000H bit15 ∼ bit0 8K バイト SAA8 B_9FFFH ∼ B_8000H bit15 ∼ bit0 8K バイト SAA7 B_7FFFH ∼ B_0000H bit15 ∼ bit0 32K バイト SAA6 A_FFFFH ∼ A_0000H bit15 ∼ bit0 64K バイト SAA5 9_FFFFH ∼ 9_0000H bit15 ∼ bit0 64K バイト SAA4 8_FFFFH ∼ 8_0000H bit15 ∼ bit0 64K バイト SAA3 7_FFFFH ∼ 7_0000H bit15 ∼ bit0 64K バイト SAA2 6_FFFFH ∼ 6_0000H bit15 ∼ bit0 64K バイト SAA1 3_FFFFH ∼ 3_0000H bit15 ∼ bit0 64K バイト SAA0 2_FFFFH ∼ 2_0000H bit15 ∼ bit0 64K バイト FUJITSU SEMICONDUCTOR LIMITED 629 第 28 章 フラッシュメモリ 28.2 フラッシュメモリのレジスタ 28.2 MB91220 シリーズ フラッシュメモリのレジスタ フラッシュメモリにはフラッシュメモリステータスレジスタ (FLCR) とフラッシュ ウェイトレジスタ (FLWC) の 2 つのレジスタがあります。 ■ フラッシュメモリのレジスタ一覧 図 28.2-1 に , フラッシュメモリのレジスタ一覧を示します。 図 28.2-1 フラッシュメモリのレジスタ一覧 フラッシュウェイトレジスタ (FLWC) ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 007004H - - FAC1 FAC0 - WTC2 WTC1 WTC0 R/W0 R/W0 R/W R/W R/W0 R/W R/W R/W 初期値 00000011B フラッシュメモリステータスレジスタ (FLCR) ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 007000H − − − − RDY − WE − R/W0 R/W1 R/W0 RX,WX R,WX R0,W0 R/W R/W0 初期値 01X0X000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) 630 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.2 フラッシュメモリのレジスタ MB91220 シリーズ ■ フラッシュメモリステータスレジスタ (FLCR) 図 28.2-2 フラッシュメモリステータスレジスタ (FLCR) のビット構成 FLCR ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 007000H − − − − RDY − WE − R/W0 R/W1 R/W0 RX,WX R,WX R0,W0 R/W R/W0 初期値 01X0X000B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) フラッシュメモリステータスレジスタ (FLCR) は , CPU に対する割込みの制御やフラッ シュメモリへの書込みの制御を行います。CPU でのみアクセスすることが可能です。 ライタ搭載時はアクセスできません。 このレジスタは , リードモディファイライト (RMW) 系命令ではアクセスしないでくだ さい。 以下に,フラッシュメモリステータスレジスタ(FLCR)の各ビットの機能を説明します。 [bit7] (reserved) このビットは予約ビットです。このビットは常に "0" を書き込んでください。 [bit6] (reserved) このビットは予約ビットです。このビットは常に "1" を書き込んでください。 [bit5] (reserved) このビットは予約ビットです。このビットは常に "0" を書き込んでください。 [bit4] (reserved) このビットは予約ビットです。このビットはリードオンリで書込みは動作に影響を 与えません。 [bit3] RDY : 自動アルゴリズムフラグ RDY 機能 0 書込み / 読出し動作中で , データの書込み , 読出し , 消去コマンドの 受付けはできません 1 データの書込み , 読出し , 消去コマンドの受付けが可能です RDY 信号は , フラッシュROM への書込みを行ってから動作状態を示すまでに 90ns 必要です。 フラッシュROM が書込み / 読出しを受付け可能かをチェックする信号ですので , 書 込み終了判定には使わないでください。書込み終了判定は , データポーリングで 行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 631 第 28 章 フラッシュメモリ 28.2 フラッシュメモリのレジスタ MB91220 シリーズ [bit2] (reserved) このビットは予約ビットです。このビットは常に "0" を書き込んでください。 [bit1] WE : データ / コマンド書込み制御 CPU モードにおけるフラッシュメモリへのデータおよびコマンドの書込みを制御 します。 本ビットが "0" の間は, フラッシュメモリへのデータおよびコマンドの書込みは, す べて無効になります。また , フラッシュメモリからのデータ読出しは , 32 ビットア クセスで行われます。 本ビットが "1" の間は , フラッシュメモリへのデータおよびコマンドの書込みが有 効となり , 自動アルゴリズムの起動が可能となります。 ただし , フラッシュメモリからのデータの読出しおよび書込みは 16 ビットアクセス になります。フラッシュメモリへのアクセスは 16 ビットアクセスのみを使用して ください。32 ビットおよび 8 ビットのアクセスは禁止します。 本ビットの書換えは , 必ず RDY ビットにより自動アルゴリズムが停止しているこ とを確認してから行ってください。 RDY ビットが "0" の間 , 本ビットを書き換えることはできません。 WE 機能 0 フラッシュメモリへの書込み禁止 , および 32 ビット読出しモード 1 フラッシュメモリへの書込み許可 , および 16 ビット読出しモード [bit0] (reserved) このビットは予約ビットです。このビットは常に "0" を書き込んでください。 ■ フラッシュウェイトレジスタ (FLWC) 図 28.2-3 フラッシュウェイトレジスタ (FLWC) のビット構成 FLWC ( アクセス:Byte) アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 007004H - - FAC1 FAC0 - WTC2 WTC1 WTC0 R/W0 R/W0 R/W R/W R/W0 R/W R/W R/W 初期値 00000011B ( 属性については , 「■ビット属性記号の意味について (Page No. 22)」を参照してください。) フラッシュウェイトレジスタ(FLWC)は , CPUモードにおいてフラッシュメモリのウェ イト制御を行います。 以下に , フラッシュウェイトレジスタ (FLWC) の各ビットの機能を説明します。 [bit7, bit6] (reserved) これらのビットは予約ビットです。これらのビットは常に "0" を書き込んでくださ い。 632 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.2 フラッシュメモリのレジスタ MB91220 シリーズ [bit5, bit4] FAC1, FAC0 : 内部書込み信号のパルス幅制御ビット FAC1 FAC0 ATDIN EQIN 0 0 0.5 clock 1 clock( デフォルト ) 0 1 1 clock 1.5 clock 1 0 1.5 clock 2 clock 1 1 2 clock 2.5 clock ( 注意事項 ) ATDIN, EQIN は内部書込み信号です。通常はデフォルト設定で使用してください。 [bit3] (reserved) このビットは予約ビットです。このビットは常に "0" を書き込んでください。 [bit2 ∼ bit0] WTC2 ∼ WTC0 : ウェイトサイクル制御ビット 本ビットはフラッシュアクセス時のウェイトサイクル数を制御します。 WTC2 WTC1 WTC0 ウェイト サイクル 読出し時 書込み時 0 0 0 - 設定禁止 設定禁止 0 0 1 1 33MHz まで動作可能 設定禁止 0 1 0 2 33MHz まで動作可能 設定禁止 0 1 1 3 33MHz まで動作可能 33MHz まで動作可能 ( デフォルト ) 1 0 0 - 設定禁止 設定禁止 1 0 1 - 設定禁止 設定禁止 1 1 0 - 設定禁止 設定禁止 1 1 1 - 設定禁止 設定禁止 ( 注意事項 ) • FAC1, FAC0 で設定したサイクル以上になるように設定してください。 • 初期値は書込み用の設定になっています。読出しのみを行う場合 (FLCR:WE=0 設定の場合 ) ウェイトサイクル 1 (WTC2, WTC1, WTC 0 = 001B) と設定することで最高速で読 出しが可能になります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 633 第 28 章 フラッシュメモリ 28.3 フラッシュメモリのアクセスモード 28.3 MB91220 シリーズ フラッシュメモリのアクセスモード FR-CPU によりアクセスする場合 , 以下の 2 種類のアクセスモードが存在します。 • ROM モード 32 ビット長データを一括で読み出すことができますが , 書込みはできません。 • プログラミングモード 32 ビット長アクセスは禁止されていますが , ハーフワード (16 ビット ) 長での書 込みが可能になります。 ■ FR-CPU ROM モード (32/16/8 ビット , 読出しのみ ) FR-CPU の内蔵 ROM として機能するモードです。ワード (32 ビット ) 長データの一括 読出しが可能となりますが , フラッシュへの書込み , 自動アルゴリズムの起動はできま せん。 ● モードの指定方法 • フラッシュメモリステータスレジスタの WE ビットが "0" のとき , このモードとな ります。 • CPU 動作時でのリセット解除後は常にこのモードになります。 • CPU 動作時以外ではこのモードにすることができません。 ● 動作内容 フラッシュメモリ領域の読出し時 , メモリよりワード (32 ビット ) 長データを一括で読 み出します。 読出しにかかるサイクル数は 2 サイクル /1 ワード (1 ウェイト ) です。これにより FRCPU に対し , ウェイトなしで命令を供給することができます。 ● 制限事項 ROM ライタ書込み時とはアドレスの与え方およびエンディアンが異なります。この モードでは , フラッシュメモリへのコマンド / データともに書込みはできません。 ■ FR-CPU プログラミングモード (16 ビット , 読出し / 書込み ) データの消去 / 書込みが可能になるモードです。ハーフワード (16 ビット ) 長データア クセスのみ可能です。このモードで動作している間はフラッシュメモリ上のプログラ ムは実行が不可能となります。 ● モード指定の方法 • フラッシュメモリステータスレジスタ (FLCR) の WE ビットが "1" のときに , この モードとなります。 • CPU 動作時でのリセット解除後は WE ビットが "0" になっています。このモードに するためには "1" を書き込んでください。再度 "0" を書き込むかリセットの発生に より WE ビットが "0" になると ROM モードに戻ります。 • フラッシュメモリステータスレジスタ (FLCR) の RDY ビットが "0" の期間は WE ビットを書き換えることができません。RDY ビットが "1" になったことを確認して から WE ビットを書き換えてください。 634 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.3 フラッシュメモリのアクセスモード MB91220 シリーズ ● 動作内容 • フラッシュメモリ領域の読出し時 , メモリよりハーフワード (16 ビット ) 長データを 一括で読み出します。 読出しにかかるサイクル数は 4 サイクル / ハーフワード (3 ウェイト ) です。 • フラッシュメモリへのコマンド書込みにより , 自動アルゴリズムを起動することが できます。自動アルゴリズムの起動により , フラッシュメモリの消去 / 書込みが可 能となります。自動アルゴリズムの詳細については , 次ページ以降を参照してくだ さい。 ● 制限事項 • ROM ライタ書込み時とはアドレスの与え方およびエンディアンが異なります。こ のモードではワード (32 ビット ) 長でデータを読み出すことを禁止します。 • 本モードではワード (32 ビット ) 長データを読み出すことを禁止します。 • プログラミングアクセスモード切換えで , WE ビットを書き換える際には「■フラッ シュメモリステータスレジスタ (FLCR)」の制限事項に従って書き換えてください。 ■ フラッシュメモリモード MD2 ∼ MD0 端子を "111B" に設定してリセットをかけると , CPU は機能を停止します。 このときフラッシュメモリインタフェース回路の機能により , ポート 2 ∼ポート B の 一部の信号がフラッシュメモリ本体の制御信号と直結状態になり,外部端子からフラッ シュメモリ本体への直接制御が可能になります。イメージとしてフラッシュメモリが 単体として外部端子に現れてくるモードであり,主にフラッシュメモリライタを用いた 書込み / 消去を行う際に設定します。このモードでは , 2M ビットフラッシュメモリの 自動アルゴリズムの持つすべてのオペレーションが使用可能です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 635 第 28 章 フラッシュメモリ 28.3 フラッシュメモリのアクセスモード MB91220 シリーズ ■ MBM29LV400TC とのフラッシュメモリ制御信号の対応 表 28.3-1 に , MBM29LV400TC とのフラッシュメモリ制御信号の対応を示します。 表 28.3-1 MBM29LV400TC とのフラッシュメモリ制御信号の対応 MB91F223/S, MB91F224/S 外部制御端子 MBM29LV400TC 外部端子 フラッシュメモリモード FR-CPU モード 通常オペレーション VID 印加端子 RESET INITX INITX MD1 RY/BY なし RY/BY - BYTE 内部 "H" 固定 BYTEX - WEX - OEX MD2 CE CEX - A17 ∼ A10 A18 ∼ A11 - A10 MD0 A8 ∼ A0 A9 ∼ A1 - A-1 A0 - なし - D7 ∼ D0 - WE OE 内部制御信号 +I/F 回路による制御 A9 内部アドレスバス DQ15 ∼ DQ8 内部データバス DQ7 ∼ DQ0 636 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.4 自動アルゴリズム起動方法 MB91220 シリーズ 自動アルゴリズム起動方法 28.4 フラッシュメモリに対する書込み / 消去は , フラッシュメモリ自身が持つ自動アルゴ リズムを起動することで行います。 ■ コマンドオペレーション 自動アルゴリズムを起動するには , フラッシュメモリに対し , 1 ∼ 6 回のハーフワード (16 ビット ) データの連続書込みを実行します。これをコマンドとよびます。不正なア ドレスとデータを書き込んだり,誤った順番でアドレスとデータを書き込んだりすると フラッシュメモリは読出しモードにリセットされます。 表 28.4-1 に , コマンドの一覧を示します。 表 28.4-1 コマンド一覧 アク コマンド セス シーケンス 回数 読出し / リセット 読出し / リセット プログラム 第 1 書込み サイクル 第 2 書込み サイクル 第 3 書込み サイクル 第 4 書込み / 読出しサイクル 第 5 書込み サイクル 第 6 書込み サイクル アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ 1 XXXXH F0H - - - - - - - - - - 4 D5557H AAH CAAABH 55H D5557H F0H RA RD - - - - 4 D5557H AAH CAAABH 55H D5557H A0H チップ消去 6 D5557H AAH CAAABH 55H D5557H 80H PA D5557H PD AAH CAAABH 55H D5557H 10H セクタ消去 6 D5557H AAH CAAABH 55H D5557H 80H D5557H AAH CAAABH 55H SA 30H セクタ消去一時停止 アドレス =XXXXH, データ =B0H の入力でセクタ消去中の消去一時停止 セクタ消去再開 アドレス =XXXXH, データ =30H の入力でセクタ消去一時停止後 , 消去再開 連続モード 3 D5557H AAH CAAABH 55H D5557H 20H - - - - - - 連続書込み 2 XXXXH A0H PA - - - - - - - - 連続モード リセット 2 XXXXH 90H XXXXH PD F0H or 00H - - - - - - - - ワードモード / バイトモードともにコマンドは同じで , 表記されていないビットのデータは任意 RA : 読出しアドレス PA : 書込みアドレス SA : セクタアドレス ( セクタ内の任意の 1 アドレスを指定。表 28.1-1/ 表 28.1-2 を参照 ) RD : 読出しデータ PD : 書込みデータ ● リード ( 読出し )/ リセットコマンド タイミングリミット超過から読出しモードへ復帰するには , 読出し / リセットコマンド シーケンスを発行することで行います。読出しサイクルでフラッシュメモリからデー タを読み出します。フラッシュメモリは , ほかのコマンドが入力されるまで読出し状態 を保ちます。 フラッシュメモリは , 電源投入時 , 自動的に読出し / リセットにセットされます。この 場合は , データ読出しにコマンドは必要ありません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 637 第 28 章 フラッシュメモリ 28.4 自動アルゴリズム起動方法 MB91220 シリーズ ● プログラム ( 書込み ) CPU プログラミングモードでは , ハーフワード単位を基本として書込みを行います。書 込みは 4 回のバス動作で行われます。コマンドシーケンスには 2 つの " アンロック " サ イクルがあり , 書込みセットアップコマンドと書込みデータサイクルが続きます。そし て , 最後の書込みサイクルでメモリへの書込みが開始されます。 自動書込みアルゴリズムコマンドシーケンス実行後は,フラッシュメモリはそれ以上の 外部からの制御を必要としません。フラッシュメモリは , 自動的に内部で作られた適切 な書込みパルスを発生し , 書き込まれたセルのマージンを検証します。自動書込み動作 は , データポーリング機能により , bit7 のデータがこのビットに書き込んだデータに一 致したとき終了し (「28.5 自動アルゴリズム実行状態 ■ハードウェアシーケンスフ ラグ」を参照 ), このときをもって読出しモードに戻り , これ以上書込みアドレスを受 付けなくなります。この結果 , フラッシュメモリはこの時点で次の有効アドレスを要求 します。このようにデータポーリングは , メモリが書込み中であることを示します。 書込み中はフラッシュメモリに書込みされたすべてのコマンドが無視されます。もし 書込み中にハードウェアリセットが起動されると , 書き込んでいるアドレスのデータ は保証されません。書込みはどのようなアドレスの順番でも , また , セクタの境界を越 えても可能です。書込みによって , データ 0 をデータ 1 に戻すことはできません。デー タ 0 にデータ 1 を書き込むと , データポーリングアルゴリズムにより , 素子が不良と判 定されるか見かけ上データ 1 が書き込まれたように見えるかのどちらかです。しかし , リセット / 読出しモードでデータを読み出すとデータは "0" のままです。消去動作のみ がデータ 0 をデータ 1 にすることができます。図 28.4-1 に , 書込みコマンドを使った 書込み手順を示します。 図 28.4-1 書込みコマンドを使った書込み手順 書込み開始 書込みコマンドシーケンス デバイスのデータポーリング 次アドレス NO 最終 アドレス? YES 書込み完了 638 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.4 自動アルゴリズム起動方法 MB91220 シリーズ ● チップ消去 チップ消去 ( 全セクタの一括消去 ) は , 6 回のアクセスで行われます。最初に , 2 つの " アンロック " サイクルがあり , 引き続き " セットアップ " コマンドが書き込まれます。 チップ消去コマンドまでに , さらに 2 つの " アンロック " サイクルが続けられます。 チップ消去では , 消去前にユーザがフラッシュメモリに書込みを行う必要はありませ ん。自動消去アルゴリズム実行中には , フラッシュメモリは自動的にすべてのセルを消 去する前に "0" データに書き込んで検証します ( プリプログラム )。この動作中には , フラッシュメモリは外部からの制御は必要としません。 自動消去はコマンドシーケンス中の書込みで開始され , bit7 が "1" になったときに終了 し , このときフラッシュメモリは読出しモードに戻ります。チップ消去時間は「セクタ 消去時間×全セクタ数 + チップ書込み時間 ( プリプログラム )」となります。 図 28.4-2 に , チップ消去コマンドを使ったチップ消去手順を示します。 ● セクタ消去 セクタ消去は , 6 回のアクセスで行われます。 2 つの " アンロック " サイクルがあり , 引 き続き " セットアップ " コマンドを書き込み , その後さらに 2 つの " アンロック " サイ クルが続き , 6 サイクル目にセクタ消去コマンドを入力することによりセクタ消去が始 まります。最後のセクタ消去コマンドの書込みから 50μs のタイムアウト期間中 , 次の セクタ消去コマンドの受付けが可能です。 複数のセクタ消去は前述したような 6 つのバスサイクルを書き込むことで同時に受付 け可能となります。このシーケンスは同時に消去するセクタのアドレスにセクタ消去 コマンド (30H) を引き続き書き込むことで行います。最後のセクタ消去コマンドの書込 みから 50μs のタイムアウト期間終了により , セクタ消去が開始されます。すなわち , 複数のセクタを同時に消去する場合には , 次の消去セクタをそれぞれ 50μs 以内に入力 する必要があり , それ以降ではコマンドは受け付けられないことがあります。引き続く セクタ消去コマンドが有効かどうかは bit3 にてモニタ可能です (「28.5 自動アルゴリ ズム実行状態 ■ハードウェアシーケンスフラグ」を参照 )。 タイムアウト中のセクタ消去コマンドまたは消去一時停止以外のいかなるコマンドも 読出しにリセットし , その前のコマンドシーケンスは無視します。この場合は , そのセ クタを再度消去することにより消去が完了します。セクタ消去バッファへのセクタア ドレス入力は , セクタのどのような組合せや数 (0 ∼ 6) からでも実行可能です。セクタ 消去では , 消去前にユーザがフラッシュメモリに書込みを行う必要はありません。フ ラッシュメモリは自動的に消去されるセクタ内のすべてのセルに書込みを行います ( プリプログラム )。また , セクタ消去中はほかの消去されないセクタは何の影響も受 けません。これらの動作中は , フラッシュメモリは外部からの制御は必要としません。 自動セクタ消去は , 最後のセクタ消去コマンドの書込みから 50μs のタイムアウト期間 の後に開始され , bit7 のデータが "1" になったとき (「28.5 自動アルゴリズム実行状態 ■ハードウェアシーケンスフラグ」を参照 ) 終了し , フラッシュメモリは読出しモー ドに戻ります。ほかのコマンドは無視されます。データポーリングは消去されたセク タ内のどのアドレスでも働きます。複数セクタ消去時間は「( セクタ消去時間 + セクタ 書込み時間 ( プリプログラム )) ×消去セクタ数」となります。 図 28.4-2 に , チップ消去コマンドを使ったチップ消去手順を示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 639 第 28 章 フラッシュメモリ 28.4 自動アルゴリズム起動方法 MB91220 シリーズ 図 28.4-2 チップ消去コマンドを使ったチップ消去手順 消去開始 チップ消去/セクタ消去 コマンドシーケンス デバイスのデータポーリング またはトグルビットの完了 書込み完了 ● 消去一時停止 消去一時停止コマンドは,ユーザがセクタ消去中にフラッシュメモリの自動アルゴリズ ムを一時停止して,消去中でないセクタからのデータ読出しと書込みを可能にするもの です。このコマンドはセクタ消去中のみ有効で , チップ消去や書込みの動作中は無視さ れます。消去一時停止コマンド (B0H) はセクタ消去コマンド (30H) 後のセクタ消去タイ ムアウト期間を含むセクタ消去動作中にのみ有効です。このコマンドがタイムアウト 期間中に入力されると直ちにタイムアウトを終了し , 消去動作を中断します。消去再開 コマンドが書き込まれると消去動作が再開されます。消去一時停止 , 消去再開コマンド の入力の際のアドレスは任意であってかまいません。 セクタ消去動作中に消去一時停止コマンドが入力されると,フラッシュメモリが消去動 作を停止するために最大 20μs の時間がかかります。フラッシュメモリが消去一時停止 モードに入ると , レディ / ビジー出力と bit7 が "1" を出力し , bit6 がトグル動作をやめ ます。消去しているセクタのアドレスを入力し , bit6 と bit7 の読出し値をモニタするこ とによって , 消去動作を停止しているかどうかを確かめられます。さらに , 消去一時停 止コマンドの書込みは無視されます。消去動作が停止したとき , フラッシュメモリは消 去一時停止読出しモードになります。このモードでのデータの読出しはデータが消去 一時停止していないセクタに有効となりますが , それ以外は標準的な読出しと同じで す。消去一時停止読出し中 , その消去一時停止したセクタからの連続的な読出しに対し ては , bit2 はトグル動作をします (「28.5 自動アルゴリズム実行状態 ■ハードウェア シーケンスフラグ」を参照 )。 消去一時停止読出しモードに入った後,ユーザは書込みのコマンドシーケンスを書き込 むことによりフラッシュメモリに書込みができます。この書込みモードは , 消去一時停 止書込みモードとなります。このモードでの書込みは , データが消去一時停止していな いセクタに有効となりますが , それ以外は通常のバイト書込みと同じです。消去一時停 止書込みモード中 , その消去一時停止したセクタからの連続的な読出しに対しては , bit2 はトグル動作をします。消去一時停止ビット (bit6) によって検出できます。 ( 注意事項 ) bit6 はどんなアドレスに対しても読出し可能ですが , bit7 は書込みアドレスに対し て読出しを行わなければなりません。セクタ消去動作を再開するためには , 再開コ マンド (30H) を入力する必要があります。この時点でさらに再開コマンドを入力し ても無視されます。他方 , 消去一時停止コマンドはフラッシュメモリが消去再開し た後に入力することができます。 640 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.5 自動アルゴリズム実行状態 MB91220 シリーズ 28.5 自動アルゴリズム実行状態 このフラッシュメモリでは , 書込み / 消去のフローを自動アルゴリズムで行うため , フラッシュメモリ内部の動作状態や動作完了したことをフラッシュメモリ外部に知 らせるハードウェアを持ちます。1 つはレディ / ビジー信号 , もう 1 つはハードウェ アシーケンスフラグです ■ レディ / ビジー信号 (RDY/BUSYX) フラッシュメモリは内部の自動アルゴリズムが実行中か終了したかを知らせる手段と して , ハードウェアシーケンスフラグのほかに , レディ / ビジー信号を持っています。 このレディ / ビジー信号はフラッシュメモリインタフェース回路に接続され , フラッ シュメモリステータスレジスタの RDY ビットとして読み出すことが可能です。また , このレディ/ ビジー信号の立上りにより , CPU に対して割込み要求を発生することも可 能です (「28.1 フラッシュメモリの概要」を参照してください )。 RDY ビットの読出し値が "0" のとき , フラッシュメモリは書込みまたは消去動作中で す。このときは書込みコマンドも消去コマンドも受け付けません。RDY ビットの読出 し値が "1" のときフラッシュメモリは読出し / 書込みまたは消去動作待ちの状態です。 ■ ハードウェアシーケンスフラグ ハードウェアシーケンスフラグは,自動アルゴリズム実行中にフラッシュメモリの任意 のアドレス ( バイトアクセス時は奇数アドレス ) を読み出すことによりデータとして得 られます。データのうち , 有効ビットは 5 ビットで , それぞれが自動アルゴリズムの状 態を示します。図 28.5-1 に , ハードウェアシーケンスフラグの構成を示します。 図 28.5-1 ハードウェアシーケンスフラグの構成 ハーフワード読出し時 bit15 bit8 bit7 ( 不定 ) bit0 ハードウェアシーケンスフラグ bit7 バイト読出し時 ( 奇数アドレスのみ ) bit0 ハードウェアシーケンスフラグ ハーフワード , バイトアクセス時 bit7 bit6 bit5 bit4 bit3 DPOLL TOGGLE TLOVER 不定 SETIMR bit2 bit1 bit0 不定 不定 不定 なお , これらのフラグについては FR-CPU ROM モード時に意味を持ちません。必ず FRCPU プログラミングモードのみで , ハーフワードまたはバイト読出しを行ってくださ い。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 641 第 28 章 フラッシュメモリ 28.5 自動アルゴリズム実行状態 MB91220 シリーズ 表 28.5-1 に , ハードウェアシーケンスフラグ状態一覧を示します。 表 28.5-1 ハードウェアシーケンスフラグ状態一覧 状 自動書込み動作 自動消去時の書込み / 消去動作 実行中 タイム リミット 超過 消去 一時 停止 DPOLL (bit7) TOGGLE (bit6) TLOVER (bit5) SETIMR (bit3) 反転データ 0 トグル 0 0 0 1 0 0 データ 0 態 読出し ( 消去中のセクタ ) 1 トグル 1 読出し ( 消去していないセクタ ) データ データ 書込み ( 消去していないセクタ ) 反転データ トグル データ 0 自動書込み動作 反転データ トグル 1 0 自動消去時の書込み / 消去動作 0 トグル 1 1 以下に , 各ビットの説明をします。 [bit7] DPOLL: データポーリング • 自動書込み動作中 自動書込みアルゴリズム実行中に読出しを行うと , フラッシュメモリは bit7 に最 後に書き込まれたデータの反転データを出力します。自動書込みアルゴリズム終 了時に読出しアクセスを行うと , フラッシュメモリはアドレス信号の指し示す番 地の読出しデータの bit7 を出力します。 • 自動消去動作中 自動消去アルゴリズム実行中に読出しを行うと , フラッシュメモリはアドレス信 号の指し示す番地によらず "0" を出力します。同様に終了時には "1" を出力しま す。 • セクタ消去一時停止中 セクタ消去一時停止中に読出しを行うと,フラッシュメモリはアドレス信号の指し 示す番地が消去中のセクタに属するならば "1" を出力します。消去中のセクタに属 さないのであれば , アドレス信号の指し示す番地の読出し値の bit7 を出力します。 後述の bit6 のトグルビットとともに参照することで , 現在セクタ消去一時停止状態 にあるか否か , どのセクタが消去中であるかの判定が可能です。 ( 注意事項 ) 自動アルゴリズムの動作が終了に近づくと , bit7( データポーリング ) は読出し動作 中 , 非同期的に変化します。これはフラッシュメモリが動作状態の情報を bit7 に送 り出し , そして確定したデータをその次に送り出すことを意味します。フラッシュ メモリが自動アルゴリズムを終了したとき , また , bit7 が確定データを出力している ときでも , ほかのビットはまだ不確定です。ほかのビットの確定データは , 連続し た読出しの実行によって読み出されます。 [bit6] TOGGLE: トグルビット • 自動書込み / 消去動作中 自動書込みまたは消去アルゴリズム実行中に連続した読出しを行うと , フラッ シュメモリは "1" と "0" をトグルする結果を bit6 に出力します。自動書込みまた は消去アルゴリズムが終了すると , 連続した読出しに対して bit6 のトグル動作を やめ , 有効なデータを出力します。 642 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.5 自動アルゴリズム実行状態 MB91220 シリーズ トグルビットは各コマンドシーケンスの最後の書込みサイクルの後から有効に なります。 なお , 書込みの際 , 書き込もうとしたセクタが書換え保証されているセクタの場 合は , 約 2μs の間トグル動作した後 , データに書き換えることなくトグル動作を 終わります。消去の際 , もし選択されたすべてのセクタが書込み保証されている 場合には , トグルビットは約 100μs トグル動作をし , その後データを書き換えな いで読出しモードに戻ります。 • セクタ消去一時停止中 セクタ消去一時停止中に読出しを行うと , フラッシュメモリはアドレス信号の指 し示す番地が消去中のセクタに属するならば "1" を出力します。消去中のセクタ に属さないのであれば , アドレス信号の指し示す番地の読出し値の bit6 を出力し ます。 [bit5] TLOVER: タイミングリミット超過 自動書込み / 消去動作中 bit5 は自動アルゴリズムの実行がフラッシュメモリ内部に規定された時間 ( 内部パルス回数 ) を超えてしまったことを示します。この状態において bit5 は "1" を出力します。すなわち , 自動アルゴリズムが動作中で , このフラグが "1" を 出力した場合は , 書込みまたは消去が失敗したことを示します。 bit5 は , 消去することなく非ブランクの部分に書き込もうとすると , フェイルと なります。この場合 , bit7( データポーリング ) から確定データを読むことができ ず , bit6( トグルビット ) はトグリングしたままとなります。この状態でタイムリ ミットを超えると , bit5 に "1" が出力されます。この場合は , フラッシュメモリ が不良なのではなく , 正しく使用されなかったということを表していることに注 意してください。もし , この状態が発生したときには , リセットコマンドを実行 してください。 [bit4] 未定義 読出し値は不定です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 643 第 28 章 フラッシュメモリ 28.5 自動アルゴリズム実行状態 MB91220 シリーズ [bit3] SETIMR: セクタ消去タイマ セクタ消去動作中 最初のセクタ消去コマンドシーケンス実行後 , セクタ消去ウェイト期間中になりま す。bit3 は , この期間中 "0" を , セクタ消去ウェイト期間を超えてしまっている場合 は "1" を出力します。データポーリングとトグルビットは最初のセクタ消去コマン ドシーケンスの実行後から有効となります。 データポーリング機能やトグルビット機能により,消去アルゴリズムが実行中を示し ている場合にこのフラグが "1" であれば , 内部で制御される消去が始まっており , 続 けてのコマンドライトはデータポーリングかトグルビットが消去の終了を示すまで 無視されます ( 消去一時停止コードの入力のみ受付けます )。このフラグが "0" の場 合 , フラッシュメモリは追加のセクタ消去コードの書込みを受付けます。このことを 確認するために,引き続くセクタ消去コードの書込みに先立ってソフトウェアでこの フラグの状態をチェックすることを推奨します。もし , 2 回目の状態チェックで "1" であったなら , 追加セクタ消去コードは受け付けられていない可能性があります。セ クタ消去一時停止中に読出しを行うと,フラッシュメモリはアドレス信号の指し示す 番地が消去中のセクタに属するならば "1" を出力します。消去中のセクタに属さない のであれば , アドレス信号の指し示す番地の読出し値の bit3 を出力します。 [bit2 ∼ bit0] 未定義 読出し値は不定です。 644 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.5 自動アルゴリズム実行状態 MB91220 シリーズ ■ ハードウェアシーケンスフラグの使用例 先に述べたハードウェアシーケンスフラグを用いることで,フラッシュメモリ内部の自 動アルゴリズムの状態判定が可能です。例として図 28.5-2, 図 28.5-3 に , 書込み / 消去 判定のフローチャートを , それぞれデータポーリング機能を用いた場合と , トグルビッ ト機能を用いた場合について示します。 図 28.5-2 データポーリング機能を用いた書込み / 消去判定のフローチャート 書込み/消去開始 VA = 書込みアドレス 読出し(D0~D7) アドレス=VA YES D7=Data ? = セクタ消去動作に消去されてい るセクタのアドレス = チップ消去動作中に保護されて いないセクタアドレス * : D7はD5と同時に変わるので D5=1であっても D7は再チェック する必要が あります。 NO NO D5=1 ? YES 読出し(D0~D7) アドレス=VA D7=Data ? * YES NO 書込み/消去 失敗 CM71-10142-5 書込み/消去 完了 FUJITSU SEMICONDUCTOR LIMITED 645 第 28 章 フラッシュメモリ 28.5 自動アルゴリズム実行状態 MB91220 シリーズ 図 28.5-3 トグルビット機能を用いた書込み / 消去判定のフローチャート 書込み/消去開始 読出し(D0~D7) アドレス= "H" または "L" D6=トグル ? NO YES NO D5=1 ? YES 読出し(D0~D7) アドレス= "H" または "L" D6=トグル ? NO YES 書込み/消去 失敗 書込み/消去 完了 D5 が "1" に変わるのと同時に D6 はトグル動作をやめるので , D5=1 であっても , D6 は再チェックする必要があります。 646 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ 28.6 フラッシュメモリ書込み / 消去の詳細説明 自動アルゴリズムを起動するコマンドを発行し , フラッシュメモリに読出し / リセッ ト , 書込み , チップ消去 , セクタ消去 , セクタ消去一時停止 , セクタ消去再開のそれ ぞれの動作を行う手順を説明します。 ■ フラッシュメモリ書込み / 消去の手順 フラッシュメモリは読出し / リセット , 書込み , チップ消去 , セクタ消去 , セクタ消去 一時停止 , 消去再開の動作がコマンドシーケンス ( 表 28.4-1 を参照 ) のバスへのライト サイクルを行うことで自動アルゴリズムを実行することが可能です。それぞれのバス へのライトサイクルは必ず続けて行う必要があります。また , 自動アルゴリズムはデー タポーリング機能などで終了時を知ることができます。正常終了後は読出し / リセッ ト状態に戻ります。 各動作について , 下記の順に示します。 1. 読出し / リセット状態にする 2. データを書き込む 3. 全データを消去する ( チップ全消去 ) 4. 任意のデータを消去する ( セクタ消去 ) 5. セクタ消去を一時停止する 6. セクタ消去を再開する ■ フラッシュメモリの読出し / リセット状態 フラッシュメモリを読出し / リセット状態にするには , コマンドシーケンス表 ( 表 28.41 を参照 ) の読出し / リセットコマンドを , フラッシュメモリ内の対象セクタに続けて 送ることで実行可能です。 読出し / リセットコマンドには 1 回と 3 回のバス動作を行う 2 とおりのコマンドシー ケンスがありますが , これらの本質的な違いはありません。 読出し / リセット状態はフラッシュメモリの初期状態であり , 電源投入時 , コマンドの 正常終了時は常に読出し / リセット状態になります。読出し / リセット状態はほかのコ マンドの入力待ち状態です。 読出し/リセット状態では通常のリードアクセスでデータを読み出せます。マスクROM と同様に CPU からのプログラムアクセスが可能です。通常読出しでのデータ読出しに このコマンドは必要ありません , 何らかの理由でコマンドが正常に終了しなかったと きなど , 自動アルゴリズムを初期化する場合に主にこのコマンドを使用します。 ■ フラッシュメモリのデータ書込み フラッシュメモリのデータ書込み自動アルゴリズムを起動するには , コマンドシーケ ンス ( 表 28.4-1 を参照 ) の書込みコマンドをフラッシュメモリ内の対象セクタに続けて 送ることで実行可能です。4 サイクル目に目的のアドレスへのデータライトが終了した 時点で , 自動アルゴリズムが起動され自動書込みが開始します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 647 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ ● アドレス指定方法 書込みデータサイクルの中で指定する書込みアドレスは , 偶数アドレスのみが可能で す。奇数アドレスを指定すると正しく書き込むことができません。つまり , 偶数アドレ スへのワードデータ単位での書込みが必要となります。 書込みはどのようなアドレスの順番でも , また , セクタの境界を越えても可能ですが , 1 回の書込みコマンドによって書き込まれるデータは 1 ワードのみです。 ● データ書込み上の注意 書込みによって , データ "0" をデータ "1" に戻すことはできません。データ "0" にデー タ "1" を書き込むと , データポーリングアルゴリズム (DQ7) またはトグル動作 (DQ6) が 終了せず , フラッシュメモリ素子が不良と判定され , 書込み規定時間を超えタイミング リミット超過フラグ (DQ6) がエラーと判定するか , あるいは見かけ上データ "1" が書き 込まれたように見えるかのどちらかとなります。しかし , 読出し / リセット状態でデー タを読み出すとデータは "0" のままです。消去動作のみが "0" データを "1" にすること ができます。 自動書込み実行中はすべてのコマンドが無視されます。書込み中にハードウェアリ セットが起動されると , 書き込んでいるアドレスのデータは保証されませんので注意 が必要です。 ● フラッシュメモリ書込み手順 図 28.6-1 にフラッシュメモリ書込みの手順の例を示します。 ハードウェアシーケンスフラグ (「28.5 自動アルゴリズム実行状態」を参照 ) を用いる ことでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。ここでは , 書 込み終了の確認にデータポーリングフラグ (DQ7) を用いています。 フラグチェックのために読み出すデータは最後に書込みを行ったアドレスからの読出 しとなります。 データポーリングフラグ (DQ7) は , タイミングリミット超過フラグ (DQ5) と同時に変 わるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもデータポーリ ングフラグビット (DQ7) は再チェックする必要があります。 トグルビットフラグ (DQ6) でも同様にタイミングリミット超過フラグビット (DQ5) が "1" に変わるのと同時にトグル動作を止めるので , トグルビットフラグ (DQ6) を再 チェックする必要があります。 648 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ 図 28.6-1 フラッシュメモリ書込み手順の例 書込み開始 FLCR:WE(bit1) フラッシュメモリ書込み 許可 書込みコマンドシーケンス ①D5557H←AA H ②CAAABH←55 H ③D5557H←A0 H ④書込みアドレス←書込みデータ 内部アドレスリード データポーリング (DQ7) 次アドレス Data Data 0 タイミングリミット (DQ5) 1 内部アドレスリード Data データポーリング (DQ7) Data 書込みエラー 最終アドレス FLCR:WE(bit1) フラッシュメモリ書込み禁止 ハードウェアシーケンス 書込み完了 フラグによる確認 ■ フラッシュメモリのデータを消去する ( チップ消去 ) フラッシュメモリからすべてのデータを消去するには , コマンドシーケンス表 (「28.4 自動アルゴリズム起動方法」を参照 ) のチップ消去コマンドを , フラッシュメモリ内の 対象セクタに続けて送ることで実行可能です。 チップ消去コマンドは 6 回のバス動作で行われます。6 サイクル目の書込みが完了した 時点でチップ消去動作が開始します。チップ消去では , 消去前にユーザがフラッシュメ モリに書込みを行う必要はありません。自動消去アルゴリズム実行中には , フラッシュ メモリは自動的にすべてのセルを消去する前に "0" を書き込んで検証します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 649 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ ■ フラッシュメモリの任意データ消去 ( セクタ消去 ) フラッシュメモリの任意のセクタを消去するためには , コマンドシーケンス (「28.5 自 動アルゴリズム実行状態」を参照 ) のセクタ消去コマンドを , フラッシュメモリ内の対 象セクタに続けて送ることで実行可能です。 ● セクタ指定方法 セクタ消去コマンドは 6 回のバス動作で行われます。6 サイクル目に目的のセクタ内の アクセス可能な任意の偶数の 1 アドレスへ , セクタ消去コード (30H) を書込みすること により 50μs のセクタ消去ウェイトが開始します。複数のセクタ消去を行う場合は , 上 記の処理に引き続き消去する目的のセクタ内のアドレスに消去コード(30H)を書込みし ます。 ● 複数のセクタを指定するときの注意 最後のセクタ消去コードの書込みから 50μs のセクタ消去ウェイト期間終了により消去 が開始します。つまり , 複数のセクタを同時に消去する場合は , 次の消去セクタのアド レスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 50μs 以内に入力す る必要があり , それ以降では受け付けられないことがあります。引き続くセクタ消去 コードのライトが有効かどうかはセクタ消去タイマ ( ハードウェアシーケンスフラグ DQ3) によって調べることができます。 なお , このときセクタ消去タイマをリードするアドレスは , 消去しようとしているセク タを指すようにします。 ● フラッシュメモリのセクタ消去手順 ハードウェアシーケンスフラグ (「28.5 自動アルゴリズム実行状態」を参照 ) を用いる ことでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。図 28.6-2 に フラッシュメモリセクタ消去の手順の例を示します。ここでは , 消去終了の確認にトグ ルビットフラグ (DQ6) を用いています。 フラグチェックのために読み出すデータは , 消去しようとしているセクタからの読出 しとなりますので注意が必要です。 トグルビットフラグ (DQ6) は , タイミングリミット超過フラグ (DQ5) が "1" に変わる のと同時にトグル動作を止めるので , たとえタイミングリミット超過フラグ (DQ5) が "1" であってもトグルビットフラグ (DQ6) は再チェックする必要があります。 データポーリングフラグ (DQ7) でも同様に , タイミングリミット超過フラグ (DQ5) と 同時に変わるので , データポーリングフラグを再チェックする必要があります。 650 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ 図 28.6-2 フラッシュメモリのセクタ消去手順の例 消去開始 FLCR:WE(bit1) フラッシュメモリ消去許可 消去コマンドシーケンス ① D5557H←AAH ② CAAABH←55H ③ D5557H←80H ④ D5557H←AAH ⑤ CAAABH←55H ⑥消去セクタへコード入力(30H) YES 消去セクタがほかに あるか NO 内部アドレスリード 0 内部アドレスリード1 DQ3 内部アドレスリード2 1 消去指定の追加が50μs 以内になされなかった。 残りをやり直すフラグを 立て,いったん消去を 終える。 トグルビット(DQ6) データ1(DQ6)=データ2(DQ6) YES NO 0 タイミングリミット (DQ5) 1 内部アドレスリード1 内部アドレスリード2 NO トグルビット(DQ6) データ1(DQ6)=データ2(DQ6) YES 消去エラー 残りやり直し フラグ? YES NO FLCR:WE(bit1) フラッシュメモリ消去禁止 消去完了 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 651 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ ■ フラッシュメモリセクタ消去の一時停止 フラッシュメモリのセクタ消去を一時停止するには , コマンドシーケンス (「28.4 自動 アルゴリズム起動方法」を参照 ) のセクタ消去一時停止コマンドをフラッシュメモリ 内に送ることで実行可能です。 セクタ消去一時停止コマンドは , セクタ消去中に消去を一時停止し , 消去中でないセク タからのデータ読出しを可能にするものです。この状態では読出しのみが可能で書込 みはできません。このコマンドは消去ウェイト時間を含むセクタ消去中のみ有効で , チップ消去中や書込み動作中は無視されます。 消去一時停止コード (B0H) の書込みを行うことで実施されますが , このときアドレスは フラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止での再度の 消去一時停止コマンドは無視されます。 セクタ消去ウェイト期間中に , セクタ消去一時停止コマンドが入力されると , 直ちにセ クタ消去ウェイトを終了し , 消去動作を中断して消去停止状態になります。セクタ消去 ウェイト期間後のセクタ消去動作中に消去一時停止コマンドが入力されると , 最大 20μs の時間の後 , 消去一時停止状態に入ります。セクタ消去一時停止コマンドは , セク タ消去コマンドあるいはセクタ消去再開コマンド発行後 , 20μs 以上後に行ってくださ い。 ■ フラッシュメモリセクタ消去の再開 一時停止したセクタ消去を再開させるには , コマンドシーケンス (「28.4 自動アルゴリ ズム起動方法」を参照 ) のセクタ消去再開コマンドをフラッシュメモリ内に送ること で実行可能です。 セクタ消去再開コマンドは , セクタ消去一時停止コマンドによるセクタ消去一時停止 状態からセクタ消去を再開するためのコマンドです。このコマンドは消去再開コード (30H) の書込みを行うことで実施されますが , このときのアドレスはフラッシュメモリ 領域内の任意のアドレスを指すようにします。 なお , セクタ消去中のセクタ消去再開コマンドの発行は無視されます。 652 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.6 フラッシュメモリ書込み / 消去の詳細説明 MB91220 シリーズ 28.6.1 フラッシュメモリ使用上の注意 フラッシュメモリに関する注意を以下に示します。 ■ フラッシュメモリ使用上の注意 ● リセット (INITX) の入力 読出し中で自動アルゴリズムが起動していないときにリセットを入力するには , "L" レ ベル幅として最低 500ns を確保する必要があります。この場合 , リセット起動後フラッ シュメモリからデータを読み出すまでに , 最低 500ns が必要となります。同様に , 書込 み / 消去中で自動アルゴリズムが起動しているときにリセットを入力するには , "L" レ ベル幅として最低 500ns を確保する必要があります。この場合 , フラッシュメモリを初 期化するために実行中の動作を停止した後 , データを読み出すまでに 20μs が必要とな ります。 書込み中にリセットすると , 書き込まれているデータは不定となります。消去中のハー ドウェアリセットや電源切断により , 消去されているセクタは使用不可となる可能性 があります。 ● ソフトウェアリセット , ウォッチドッグタイマリセットの取消し CPU アクセスでフラッシュメモリを書込み / 消去時に , 自動アルゴリズムがアクティブ 状態でリセット条件が発生した場合 , CPU が暴走する可能性があります。これは , リ セット条件により , フラッシュメモリユニットが初期化されずに自動アルゴリズムが 続行し , リセット離脱後に CPU がシーケンスを開始したときフラッシュメモリユニッ トが読出し状態になることが妨げられる可能性があるためです。これらのリセット条 件は , フラッシュメモリの書込み / 消去中に禁止されている必要があります。 ● フラッシュメモリへのプログラムアクセス 自動アルゴリズム動作中は , フラッシュメモリへの読出しアクセスは禁止されます。 CPU のメモリアクセスモードが内蔵 ROM モードにセットされている場合 , プログラム 領域を RAM などの別の領域に切り換え後 , 書込み / 消去を開始する必要があります。 この場合 , 割込みベクタを含むセクタ (SA6) が消去されると , 書込み / 消去割込み処理 を実行できません。 同じ理由で , 自動アルゴリズム動作中は , フラッシュメモリ以外のその他すべての割込 みソースは無効となります。 ● ホールド機能 CPU がホールド要求を受け付けたとき , フラッシュメモリユニットの書込み信号 WE は歪曲され , 不正な書込みによる不正な書込み / 消去が可能になります。ホールド要求 の受付けが許可されたとき , コントロールステータスレジスタ (FLCR) の WE ビットが 必ず "0" になっているようにしてください。 ● VID の適用 セクタプロテクト動作に必要な VID の印加は , 電源が ON のとき開始し , 終了する必要 があります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 653 第 28 章 フラッシュメモリ 28.7 セクタプロテクトオペレーション 28.7 MB91220 シリーズ セクタプロテクトオペレーション このフラッシュメモリには不正な書込み / 消去に対し , セクタ単位でこれを無効にす るセクタ保護機能があります。一度保護設定されたセクタはデバイスが破壊しない 限り , その設定を持ち続けますが , 一時的であれば保護を解除し , 書込み / 消去を行 うことも可能です。これらの操作はセクタプロテクトオペレーションを通して行わ れます。 セクタプロテクトオペレーションには書込み / 消去のような自動アルゴリズムはあり ません。また , 通常モードには対応せず , フラッシュメモリモードでのみ実行可能で す。 このため , 主にフラッシュメモリライタを用いた外部端子制御で行われるべきもの です。 ■ セクタプロテクトオペレーション一覧 セクタプロテクトオペレーションには , 以下の 3 種類があります。 • イネーブルセクタプロテクト • ベリファイセクタプロテクト • セクタプロテクト一時解除 表 28.7-1 に , それぞれの端子設定を示します。 表 28.7-1 端子設定 オペレーション CEX OEX WEX A1 イネーブル セクタプロテクト "L" "H" "L" "L" "H" "L" セクタ アドレス - ベリファイ セクタプロテクト "L" "L" "H" "L" "H" "L" セクタ アドレス セクタプロテクト 一時解除 - - - - - A2 - A7 - A17 ∼ A13 D0 ∼ D15 INITX MD2 MD1 MD0 "H" VID "H" VID コード 出力 * "H" "H" "H" VID - "H" "H" VID "H" * : セクタプロテクト時は "01H", セクタアンプロテクト時は "00H" を出力 654 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.7 セクタプロテクトオペレーション MB91220 シリーズ ■ イネーブルセクタプロテクト イネーブルセクタプロテクトでは,フラッシュメモリ内部の保護回路への書込みを行い ます。 このオペレーションにより 10 個のセクタのどのセクタの組合せでも書込みも消去も無 効にすることができます。 なお, MB91F223/F223S/F224/F224Sではすべてのセクタが保護解除された状態で出荷さ れます。このオペレーションでは , まずアドレス信号に保護すべきセクタのセクタアド レス (A17, A16, A15, A14, A13) の設定が必要となります。セクタとセクタアドレスの 対応は , 表 28.1-2 を参照してください。 保護回路の書込みは , MD2 と MD0 に VID(=12V) を印加し , CEX=0 にした後 , WEX パ ルスの立下りで開始され , 立上りで終了します。 なお , セクタアドレスは WEX パルスの間中一定に保たなければなりません。セクタ保 護は一度設定されると , 取り消すことができません。また , 保護されたセクタへは , こ れ以降書込み / 消去は不可能となります。 ■ ベリファイセクタプロテクト ベリファイセクタプロテクトでは,フラッシュメモリ内部の保護回路の書込みに対する 検証 ( ベリファイ ) を行います。このオペレーションでは , まず CEX と OEX を "0" に し , WEX を "1" にしたまま MD0 に VID を印加 ( マージンモード ) します。(A7, A2, A1)=(0, 1, 0) の条件で , アドレス信号をあるセクタアドレスにして読み出すと , 保護さ れたセクタでは出力 DQ0 に "1" が出力されます。保護されていないセクタでは , "00H" が読み出されます。図 28.7-1 に , イネーブルセクタプロテクト , ベリファイセク タプロテクトを用いたセクタ保護のアルゴリズムを示します。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 655 第 28 章 フラッシュメモリ 28.7 セクタプロテクトオペレーション MB91220 シリーズ 図 28.7-1 イネーブルセクタプロテクトおよびベリファイセクタプロテクトを用いたセクタ保護 アルゴリズム 開始 セクタアドレスのセットアップ A17~A13 PLSCNT=1 MD2=MD0=VID, MD1="H" A1=CEX=WEX="L" OEX=INITX="H" WEXパルス印加 WEX=MD2="H " CEX=OEX="L" (MD0はVIDのまま) セクタアドレスSAの読出し (アドレス=SA, A1="L" A2="H",A7="L") NO NO データ=01H ? YES PLSCNT=50 ? YES ほかにセクタ保護? YES MD0のVIDを解除 NO リセットコマンドの書込み MD0のVIDを解除 リセットコマンドの書込み Fail セクタ保護完了 656 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 28 章 フラッシュメモリ 28.7 セクタプロテクトオペレーション MB91220 シリーズ ■ セクタプロテクト一時解除 イネーブルセクタプロテクトにより保護されたセクタはデバイスが破壊しない限り,書 込み / 消去ができませんが , セクタプロテクト一時解除のオペレーションでは , 以前に 設定されたセクタ保護情報の一時的解除を可能にします。このオペレーションは , MD1 に VID を印加し続けることで設定されます。この間 , 以前に設定されたセクタ保護情 報は無視され , すべてのセクタに書込み / 消去が可能となります。MD1 を "1" (=3.3V) に戻すと , このオペレーションは解除され , 以前に保護されたすべてのセクタが再び保 護されます。図 28.7-2 に , セクタプロテクト一時解除のアルゴリズムを示します。 図 28.7-2 セクタプロテクト一時解除のアルゴリズム 開始 MD1=VID*1 消去または書込み動作実行 MD1="H" セクタ保護解除終了*2 *1 : すべての保護されたセクタの保護を解除します。 *2 : 前に保護されていたセクタが再びセクタ保護されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 657 第 28 章 フラッシュメモリ 28.7 セクタプロテクトオペレーション 658 FUJITSU SEMICONDUCTOR LIMITED MB91220 シリーズ CM71-10142-5 第 29 章 シリアル書込み接続例 シリアル書込み基本構成 , シリアルオンボード書込 みに使用する端子 , シリアル書込み接続例 , および フラッシュマイコンプログラマシステム構成につ いて説明します。 CM71-10142-5 29.1 シリアル書込み接続例 29.2 シリアル書込み ( 非同期 ) 接続例 FUJITSU SEMICONDUCTOR LIMITED 659 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 29.1 MB91220 シリーズ シリアル書込み接続例 MB91F223/S, MB91F224/S ではフラッシュ ROM のシリアルオンボード書込み ( 富 士通標準 ) をサポートしています。 ■ MB91F223/S, MB91F224/S シリアル書込み基本構成 富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ製 AF220/ AF210/AF120/AF110 フラッシュマイコンプログラマを使用します。 図 29.1-1 シリアル書込み接続の基本構成 ホストインタフェースケーブル (AZ201) 汎用共通ケーブル (AZ210) RS232C AF200 フラッシュマイ コンプログラマ + メモリカード CLK 同期シリアル MB91F223/S, MB91F224/S ユーザシステム スタンドアロンで動作可能 <注意事項> AF200 フラッシュマイコンプログラマの機能・操作方法および接続用汎用共通ケーブル (AZ210), コネクタにつきましては , 横河ディジタルコンピュータ株式会社にお問い合わ せください。 660 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ ■ 富士通標準シリアルオンボード書込みに使用する端子 表 29.1-1 富士通標準シリアルオンボード書込みに使用する端子の機能 端 子 機 能 MD2, MD1, MD0 補足説明 フラッシュマイコンプログラマから書込みモードに 制御します。 フラッシュシリアル書込みモード : MD2, MD1, MD0=100B モード端子 ( 参考 ) シングルチップモード : MD2, MD1, MD0=000B X0, X1 発振用端子 書込みモード時に , CPU 内部動作クロックは PLL ク ロック 1 逓倍となっています。したがって , 発振ク ロック周波数が , 内部動作クロックとなりますので , シリアル書換え時に使用する発振子は 1MHz ∼ 16MHz となります。 P51, P52 書込みプログラム起動端子 P51 に "L" レベル , P52 に "H" レベルを入力してくだ さい。 INITX リセット端子 SIN0 シリアルデータ入力端子 SOT0 シリアルデータ出力端子 SCK0 シリアルクロック入力端子 − UART をクロック同期モードとして使用します。 VCC 電源電圧供給端子 書込み電圧をユーザシステムから供給する場合には フラッシュマイコンプログラマとの接続は必要あり ません。 接続時にはユーザ側の電源と短絡しないようにして ください。 VSS GND 端子 フラッシュマイコンプログラマの GND と共通にし ます。 <注意事項> P51, P52, SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 下図の制御 回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書 込み中はユーザ回路を切り離すことができます。接続例を参照 )。 AF200 書込み制御端子 MB91F223/S, MB91F224/S 書込み制御端子 AF200 /TICS端子 ユーザ回路 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 661 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ ■ シリアル書込み接続例 ( ユーザ電源使用時 ) ユーザ電源使用時におけるシリアル書込み接続例を下記に示します。 なお , モード端子 MD2, MD0 にはフラッシュマイコンプログラマ (AF200) の TAUX3, TMODE より MD2 = 1, MD0 = 0 が入力されます ( シリアル書換えモード : MD2, MD1, MD0 = 100B)。 図 29.1-2 シリアル書込み接続例 ( ユーザ電源使用時 ) AF200 フラッシュマイコン プログラマ TAUX3 ユーザシステム コネクタ DX10 -28S (19) MB91F223/S, MB91F224/S 10k MD2 MD1 10k TMODE MD0 (12) 10k X0 4MHz X1 TAUX (23) P51 10k /TICS (10) ユーザ回路 10k /TRES (5) INITX 10k ユーザ回路 P52 TTXD (13) SIN0 TRXD (27) SOT0 TCK (6) SCK0 TVcc GND (2) (7,8, 14,15, 21,22, 1,28) 3,4,9,11,16,17,18, 20,24,25,26ピン は開放 VCC ユーザ電源 VSS 14ピン DX10-28S 28ピン DX10-28S:ライトアングルタイプ 662 1ピン 15ピン コネクタ(ヒロセ電機製)のピン配列 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ <注意事項> • P51, P52, SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 下図の制 御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリア ル書込み中はユーザ回路を切り離すことができます )。 AF200 書込み制御端子 MB91F223/S, MB91F224/S 書込み制御端子 AF200 /TICS端子 ユーザ回路 • AF200 との接続はユーザ電源が OFF の状態で行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 663 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ ■ シリアル書込み接続例 ( フラッシュマイコンプログラマから電源供給時 ) フラッシュマイコンプログラマ (AF200) からの電源使用時におけるシリアル書込み接 続例を下記に示します。 なお , モード端子 MD2, MD0 にはフラッシュマイコンプログラマ (AF200) の TAUX3, TMODE より MD2 = 1, MD0 = 0 が入力されます ( シリアル書換えモード : MD2, MD1, MD0 =100B)。 図 29.1-3 シリアル書込み接続例 ( フラッシュマイコンプログラマから電源供給時 ) AF200 フラッシュマイコン プログラマ ユーザシステム コネクタ DX10-28S MB91F223/S, MB91F224/S 10k MD2 MD1 (19) TAUX3 10k TMODE (12) MD0 10k X0 4M Hz X1 (23) TAUX P51 10k (10) /TICS ユーザ回路 /TRES 10k INITX (5) 10k P52 ユーザ回路 TTXD (13) SIN0 TRXD (27) SOT0 TCK (6) SCK0 Vcc (3) GND (7,8, 14,15, 21,22, 1,28) VCC ユーザ電源 VSS 14ピン 電源レギュレータ AZ264 2,4,9,11,16,17,18, 20,24,25,26ピン は開放 DX10-28S:ライトアングルタイプ 664 1ピン DX10-28S 28ピン 15ピン コネクタ(ヒロセ電機製)の ピン配列 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ <注意事項> • P51, P52, SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 下図の制 御回路が必要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリア ル書込み中はユーザ回路を切り離すことができます )。 AF200 書込み制御端子 MB91F223/S, MB91F224/S 書込み制御端子 AF200 /TICS端子 ユーザ回路 • AF200 との接続はユーザ電源が OFF の状態で行ってください。 • 書込み電源を AF200 から供給するときはユーザ電源と短絡しないでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 665 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ ■ フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) ユーザ電源使用時におけるフラッシュマイコンプログラマ (AF200) との最小限の接続 例を下記に示します。 フラッシュメモリ書込み時に , 各端子を下記のように設定することにより , MD2, MD1, MD0, P51, P52 とフラッシュマイコンプログラマとの接続は必要ありません ( シリアル 書換えモード : MD2, MD1, MD0 = 100B)。 図 29.1-4 フラッシュマイコンプログラマとの最小限の接続例 ( ユーザ電源使用時 ) AF200 フラッシュマイコン プログラマ ユーザシステム MB91F223/S, MB91F224/S シリアル書換え時1 MD2 シリアル書換え時0 MD1 MD0 シリアル書換え時0 X0 4MHz X1 シリアル書換え時0 P51 10kΩ ユーザ回路 P52 シリアル書換え時1 ユーザ回路 コネクタ DX10-28S /TRES (5) INITX TTXD (13) SIN0 TRXD (27) SOT0 TCK TVcc GND (6) SCK0 (2) VCC (7,8, 14,15 ,21,2 2,1,2 ユーザ電源 14 ピン 3,4,9,10,11,12,16,17, 18,19,20,23,24,25,26 ピンは開放 666 1 ピン DX 10-28S 28 ピン DX10-28S:ライトアングルタイプ VSS 15 ピン コネクタ(ヒロセ電機製)の ピ ン 配 列 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ <注意事項> • SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 下図の制御回路が必 要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書込み中 はユーザ回路を切り離すことができます )。 AF200 書込み制御端子 MB91F223/S, MB91F224/S 書込み制御端子 AF200 /TICS端子 ユーザ回路 • AF200 との接続はユーザ電源が OFF の状態で行ってください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 667 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ ■ フラッシュマイコンプログラマとの最小限の接続例 ( フラッシュマイコンプログラマから電源供給時 ) フラッシュマイコンプログラマ (AF200) からの電源供給時におけるフラッシュマイコ ンプログラマ (AF200) との最小限の接続例を下記に示します。 フラッシュメモリ書込み時に , 各端子を下記のように設定することにより , MD2, MD1, MD0, P51, P52 とフラッシュマイコンプログラマとの接続は必要ありません。 ( シリアル書換えモード : MD2, MD1, MD0 = 100B) 図 29.1-5 フラッシュマイコンプログラマとの最小限の接続例 ( フラッシュマイコンプログラマから電源供給時 ) AF200 フラッシュマイコン プログラマ ユーザシステム MB91F223/S, MB91F224/S シリアル書換え時 1 MD2 シリアル 書換え時 0 MD1 MD0 シリアル書換え時 0 X0 4MHz X1 P51 シリアル 書換え時 0 ユーザ回路 P52 シリアル書換え時 1 ユーザ回路 コネクタ DX10-28S (5) (13) (27) (6) /TRES TTXD TRXD TCK Vcc (3) GND (7,8, 14,15, 21,22, 1,28) 電源レギュレータ AZ264 INITX SIN0 SOT0 SCK0 VCC ユーザ電源 VSS 14ピン 1ピン 2,4,9,10,11,12 DX10-28S 16,17,18,19,20 23,24,25,26ピン 28ピン 15ピン は開放 DX10-28S:ライトアングルタイプコネクタ(ヒロセ電機製)のピン配列 668 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ <注意事項> • SIN0, SOT0, SCK0 端子をユーザシステムでも使用する場合には , 下図の制御回路が必 要となります ( フラッシュマイコンプログラマの /TICS 信号により , シリアル書込み中 はユーザ回路を切り離すことができます )。 AF200 書込み制御端子 MB91F223/S, MB91F224/S 書込み制御端子 AF200 /TICS端子 ユーザ回路 • AF200 との接続はユーザ電源が OFF の状態で行ってください。 • 書込み電源を AF200 から供給するときはユーザ電源と短絡しないでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 669 第 29 章 シリアル書込み接続例 29.1 シリアル書込み接続例 MB91220 シリーズ ■ AF200 フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会社製 ) AF220/AF210/AF120/AF110 フラッシュマイコンプログラマ ( 横河ディジタルコン ピュータ株式会社製 ) のシステム構成を示します。 表 29.1-2 AF220/AF210/AF120/AF110 フラッシュマイコンプログラマのシステム構成 型 格 機 能 AF220 /AC4P イーサネットインタフェースモデル /100V ∼ 220V 電源アダプタ AF210 本 体 AF120 /AC4P スタンダードモデル /100V ∼ 220V 電源アダプタ /AC4P 単キーイーサネットインタフェースモデル /100V ∼ 220V 電源アダプタ AF110 /AC4P 単キーモデル /100V ∼ 220V 電源アダプタ AZ221 ライタ専用 PC-AT 用 RS232C ケーブル AZ210 標準ターゲットプローブ (a) 長さ : 1m FF003 富士通製 FR フラッシュマイコン用コントロールモジュール AZ290 リモートコントローラ /P2 2M バイト PC Card ( オプション ) フラッシュメモリ容量 128K バイトまで /P4 4M バイト PC Card ( オプション ) フラッシュメモリ容量 512K バイトまで 問い合せ先 : 横河ディジタルコンピュータ株式会社 機器事業部 電話 : 042-333-6224 ■ 原発振クロック周波数について フラッシュメモリ書込み時に使用可能な原発振クロックは 4.0MHz です。 ■ その他の注意事項 シリアルライタを用いてフラッシュメモリ書込み時のポート状態は , 書込みに使用し ている端子を除きリセット状態と同じです。 670 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.2 シリアル書込み ( 非同期 ) 接続例 MB91220 シリーズ 29.2 シリアル書込み ( 非同期 ) 接続例 シリアル書込み ( 非同期 ) の接続例を示します。 ■ MB91F223/S, MB91F224/S シリアル書込み ( 非同期 ) 基本構成 図 29.2-1 シリアル書込み ( 非同期 ) 接続の基本構成 ユーザシステム RS232Cドライバ RS232C UARTによる通信 MB91F223/S, MB91F224/S パソコンから RS232C を使いユーザシステムに実装されているフラッシュ内蔵マイコ ンのフラッシュメモリの書換えを行うことができます。 なお , ユーザシステム上に RS232C ドライバがあり , マイコンの UART と通信できるこ とが条件となります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 671 第 29 章 シリアル書込み接続例 29.2 シリアル書込み ( 非同期 ) 接続例 MB91220 シリーズ ■ プログラマによるオンボード書換え接続例 図 29.2-2 プログラマによるオンボード書換え接続例 ユーザシステム MB91F223/S, MB91F224/S シリアル 書換え時 1 1 MD2 0 シリアル 1 書換え時 0 0 10 シリアル 書換え時 0 MD1 10 1 MD0 0 1 0 1 シリアル書換え時 0 P51 ユーザ回路 0 シリアル書換え時 0 ユーザ回路 P52 X0 4MHz X1 RS232C ドライバ INITX SIN0 SOT0 UARTによる通信 RS232C MD2, MD1, MD0 端子 , P51, P52 端子は PC 側からは制御できませんので , ユーザシステ ム上で設定してください。また , シリアル書換え中は MD2, MD1, MD0 端子 , P51, P52 端子の設定後 , INITX を "L" から "H" にすることによりシリアル書換えモードとなりま すので , PC からシリアル書換え可能となります。 シリアル書換え終了後 , MD2, MD1, MD0 端子は通常使われるモードに , P51, P52 端子 はユーザ回路側に切り換え , INITX を "L" から "H" にすることによりユーザプログラム を実行します。 <注意事項> 将来的に , 横河ディジタルコンピュータ製シリアルプログラマを用いた量産書込みを行う 場合には , 各品種のハードウェアマニュアルに記載のシリアル書込み接続例を参考に , シ リアルクロック端子のパターンを基板上に引いておくことをお勧めします。 672 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 第 29 章 シリアル書込み接続例 29.2 シリアル書込み ( 非同期 ) 接続例 MB91220 シリーズ ■ 本プログラマがオンボード書換えに使用する端子 表 29.2-1 MB91F223/S, MB91F224/S 用設定 端 子 機 能 補足説明 MD2, MD1, MD0 モード端子 フラッシュ書換え時に制御してください。 MD2="H", MD1=MD0="L" に設定することによりフ ラッシュ書換えモードになります。 P51, P52 書込みプログラム起動端子 フラッシュ書換えモード時に P51=P52="L" に設定しま す。 INITX リセット端子 MD2, MD1, MD0 端子 , P51, P52 端子をフラッシュ書換 えモードに設定してからリセットを解除してください。 SIN0 シリアルデータ入力端子 UART を使用します。 SOT0 シリアルデータ出力端子 UART を使用します。 X0, X1 発振用端子 書込みモード時に , CPU 内部動作クロックは PLL ク ロック 1 逓倍となっております。したがって , 発振ク ロック周波数が , 内部動作クロックとなりますので , シ リアル書換え時に使用する発振子は 1MHz ∼ 16MHz となります。 VCC 電源電圧 - VSS GND 端子 - CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 673 第 29 章 シリアル書込み接続例 29.2 シリアル書込み ( 非同期 ) 接続例 MB91220 シリーズ ■ 各端子のタイミングチャート マイコンの各端子には , INITX 端子の入力を基準にし , 下記のようなタイミングで入力 を行ってください。 INITX の立上りに対する各信号のセットアップ時間とホールド時間の最小値である P51, P52 は書込みプログラム起動端子を , SIN0 はシリアルデータ入力端子を示してい ます。 図 29.2-3 各端子のタイミングチャート "H" INITX 5tcp "L" MD0 "H" tcp "L" "H" MD1 tcp "L" "H" MD2 tcp "L" "H" P51, P52 tcp tcp×250 "L" "H" SIN0 tcp ×3500(Min) データ "L" 674 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録として , I/O マップ , 割込みベクタ , 端子状態 一覧 , リトル・エンディアン領域を利用する際の注 意事項 , 命令一覧 , および使用上の注意事項につい て記載しています。 付録 A I/O マップ 付録 B 割込みベクタ 付録 C 各 CPU ステートにおける各端子状態 付録 D リトル・エンディアン領域を利用する際の注意事項 付録 E 命令一覧 付録 F 使用上の注意 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 675 付録 付録 A I/O マップ 付録 A MB91220 シリーズ I/O マップ メモリ空間領域と周辺リソースの各レジスタの対応を示します。 ■ I/O マップ [ 表の見方 ] アドレス 00000H +0 PDR0 [R/W] B XXXXXXXX レジスタ +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" "-" : その位置に物理的にレジスタがない 記述されていないデータアクセス属性によるアクセスは禁止です。 676 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (1 / 13) レジスタ アドレス +0 +1 +2 +3 00000000H PDR0[R/W] B,H XXXXXXXX PDR1[R/W] B,H XXXXXXXX PDR2[R/W] B,H XXXXXXXX PDR3[R/W] B,H XXXXXXXX 00000004H PDR4[R/W] B,H XXXXXXXX PDR5[R/W] B,H XXXXXXXX PDR6[R/W] B,H XXXXXXXX PDR7[R/W] B,H ----XXXX 00000008H PDR8[R/W] B,H XXXXXXXX PDR9[R/W] B,H XXXXXXXX PDRA[R/W] B,H ----XXXX PDRB[R/W] B,H XXXXXXXX 0000000CH PDRC[R/W] B,H ----XXXX PDRD[R/W] B,H 0000XXXX PDRE[R/W] B,H XXXXXXXX PDRF[R/W] B,H XXXXXXXX 00000010H PDRG[R/W] B,H ----XXXX − − − ブロック ポートデータ レジスタ 00000014H ∼ 0000003CH − 予約 00000040H EIRR0 [R/W] B,H,W 00000000 ENIR0 [R/W] B,H,W 00000000 ELVR0 [R/W] B,H,W 00000000 00000000 外部割込み 00000044H DICR [R/W] B,H,W -------0 HRCL[R/W] B 0--11111 − 遅延割込み / 割込み コントローラ TMRLR0[W] H XXXXXXXX XXXXXXXX 00000048H 0000004CH − TMR0[R] H,W XXXXXXXX XXXXXXXX TMCSR0[R/W] B,H ----0000 00000000 予約 TMRLR1[W] H XXXXXXXX XXXXXXXX TMR1[R] H,W XXXXXXXX XXXXXXXX 00000054H − TMCSR1[R/W] B,H ----0000 00000000 00000058H TMRLR2[W] H XXXXXXXX XXXXXXXX TMR2[R] H,W XXXXXXXX XXXXXXXX − TMCSR2[R/W] B,H ----0000 00000000 00000050H 0000005CH リロード タイマ 0 リロード タイマ 1 リロード タイマ 2 00000060H ∼ 00000064H 00000068H − DACR1 [R/W]B,H,W -------0 予約 DACR0 [R/W]B,H,W DADR1 [R/W]B,H,W DADR0 [R/W]B,H,W -------0 XXXXXXXX XXXXXXXX DAC 0000006CH ∼ 0000007CH − 00000080H − 00000084H SGAR0[R/W] B,H,W 00000000 00000088H − 0000008CH SGAR1[R/W] B,H,W 00000000 CM71-10142-5 予約 SGDBL0[R/W] B -------0 SGCR0[R/W] B,H,W 0-----00 00000000 SGDBL1[R/W] B -------0 SGCR1[R/W] B,H,W 0-----00 00000000 サウンド SGFR0[R/W] B,H,W SGTR0[R/W] B,H,W SGDR0[R/W] B,H,W ジェネレータ 0 XXXXXXXX XXXXXXXX XXXXXXXX サウンド SGFR1[R/W] B,H,W SGTR1[R/W] B,H,W SGDR1[R/W] B,H,W ジェネレータ 1 XXXXXXXX XXXXXXXX XXXXXXXX FUJITSU SEMICONDUCTOR LIMITED 677 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (2 / 13) レジスタ アドレス +2 ブロック +0 +1 +3 00000090H − SGDBL2[R/W] B,H,W -------0 00000094H SGAR2[R/W] B,H,W 00000000 00000098H LCDCMR[R/W] B,H,W 00000000 0000009CH VRAM0 [R/W] B,H,W VRAM1[R/W] B,H,W VRAM2 [R/W] B,H,W VRAM3 [R/W] B,H,W 00000000 00000000 00000000 00000000 000000A0H VRAM4 [R/W] B,H,W VRAM5 [R/W] B,H,W VRAM6 [R/W] B,H,W VRAM7 [R/W] B,H,W 00000000 00000000 00000000 00000000 SGCR2[R/W,R] B,H,W 0------00 000--000 サウンド SGFR2[R/W] B,H,W SGTR2[R/W] B,H,W SGDR2[R/W] B,H,W ジェネレータ 2 XXXXXXXX XXXXXXXX XXXXXXXX LCR0 [R/W] B,H,W 00010000 − LCR1 [R/W] B,H,W 00000000 000000A4H VRAM8 [R/W] B,H,W VRAM9 [R/W] B,H,W VRAM10[R/W]B,H,W 00000000 00000000 00000000 VRAM11[R/W] B,H,W 00000000 000000A8H VRAM12[R/W] B,H,W 00000000 VRAM13[R/W] B,H,W 00000000 VRAM15[R/W] B,H,W 00000000 000000ACH VRAM14[R/W] B,H,W 00000000 − 予約 000000B0H SCR3 [R/W] B,H,W 00000000 SMR3 [R/W] B,H,W 00000000 000000B4H ESCR3[R/W] B,H,W 00000X00 ECCR3[R/ W] B,H,W BGR13[R/W] B,H,W BGR03[R/W] B,H,W 000000XX -0000000 00000000 000000B8H SCR4 [R/W] B,H,W 00000000 SMR4 [R/W] B,H,W 00000000 000000BCH ESCR4[R/W] B,H,W 00000X00 ECCR4[R/W] B,H,W BGR14[R/W] B,H,W BGR04[R/W] B,H,W 000000XX -0000000 00000000 000000C0H SCR5 [R/W] B,H,W 00000000 SMR5 [R/W] B,H,W 00000000 000000C4H ESCR5[R/W] B,H,W 00000X00 ECCR5[R/W] B,H,W BGR15[R/W] B,H,W BGR05 [R/W] B,H,W 000000XX -0000000 00000000 000000C8H SCR0 [R/W] B,H,W 00000000 SMR0 [R/W] B,H,W 00000000 000000CCH ESCR0[R/W] B,H,W 00000X00 ECCR0[R/W] B,H,W BGR10[R/W] B,H,W BGR00[R/W] B,H,W 000000XX -0000000 00000000 000000D0H LCD コントローラ SSR3 [R/W] B,H,W 00001000 SSR4 [R/W] B,H,W 00001000 SSR5 [R/W] B,H,W 00001000 SSR0 [R/W] B,H,W 00001000 RDR3 [R/W] B,H,W 00000000 RDR4 [R/W] B,H,W 00000000 RDR5 [R/W] B,H,W 00000000 RDR0 [R/W] B,H,W 00000000 − LIN-UART1 LIN-UART2 LIN-UART3 LIN-UART0 予約 000000D4H TCDT0 [R/W] H,W 00000000 00000000 − 16 ビットフ TCCS0 [R/W] B,H,W リーランタイマ 00000000 0 000000D8H TCDT1 [R/W] H,W 00000000 00000000 − 16 ビットフ TCCS1 [R/W] B,H,W リーランタイマ 00000000 1 000000DCH ∼ 000000E0H 000000E4H 000000E8H 678 − IPCP1 [R] H,W XXXXXXXX XXXXXXXX − − 予約 IPCP0 [R] H,W XXXXXXXX XXXXXXXX − FUJITSU SEMICONDUCTOR LIMITED 16 ビット インプット ICS01 [R/W] B,H,W キャプチャ 0, 1 00000000 CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (3 / 13) レジスタ アドレス +0 +1 +2 IPCP3 [R] H,W XXXXXXXX XXXXXXXX 000000ECH 000000F0H − +3 ブロック IPCP2 [R] H,W XXXXXXXX XXXXXXXX − 16 ビット インプット ICS23 [R/W] B,H,W キャプチャ 2, 3 00000000 − 000000F4H ∼ 00000104H − OCCP1 [R/W] H,W XXXXXXXX XXXXXXXX 00000108H 0000010CH − OCCP0 [R/W] H,W XXXXXXXX XXXXXXXX − 00000110H 予約 − − OCS01 [R/W] B,H,W ---0--00 0000--00 − 16 ビット アウトプット コンペア 00000114H ∼ 0000012CH − 予約 00000130H PWCSR0[R/W,R] B,H,W 0000000X 00000000 PWCR0[R/W] H,W 00000000 00000000 00000134H − − 00000138H PDIVR0[R/W] B,H,W -----000 − PWC − − 0000013CH ∼ 00000140H − 予約 00000144H − WTDBL [R/W] B 00000000 00000148H − WTBR1 [R/W] B ---XXXXX WTBR2 [R/W] B XXXXXXXX WTBR3 [R/W] B XXXXXXXX 0000014CH WTHR [R/W] B,H ---00000 WTMR [R/W] B,H --000000 WTSR [R/W] B --000000 − ADERH[R/W] B,H,W 11111111 11111111 00000150H WTCR [R/W] B,H 00000000 000-0000 ADERL[R/W] B,H,W 11111111 11111111 00000154H ADCS1[R/W] B,H,W 00000000 ADCS0[R/W] B,H,W 00000000 00000158H ADCT1[R/W] B,H,W 00010000 ADCT0[R/W] B,H,W ADSCH[R/W] B,H,W ADECH[R/W] B,H,W 00101100 ---00000 ---00000 ADCR1[R] B,H,W ------XX ADCR0[R] B,H,W XXXXXXXX 0000015CH CUCR[R/W] B,H,W -------- ---0--00 CUTD[R/W] B,H,W 10000000 00000000 00000160H CUTR1[R] B,H,W -------- 00000000 CUTR2[R] B,H,W 00000000 00000000 00000164H PWC20[R/W] H,W ------XX XXXXXXXX PWC10[R/W] H,W ------XX XXXXXXXX 00000168H 0000016CH 00000170H CM71-10142-5 − PWC0[R/W] B 000000-0 PWC21[R/W] H,W ------XX XXXXXXXX − PWC1[R/W] B 000000-0 リアルタイム クロック A/D コンバータ クロック 補正ユニット ステッパモータ PWS20[R/W] B,H,W PWS10[R/W] B,H,W コントローラ 0 -0000000 --000000 PWC11[R/W] H,W ------XX XXXXXXXX ステッパモータ PWS21[R/W] B,H,W PWS11[R/W] B,H,W コントローラ 1 -0000000 --000000 FUJITSU SEMICONDUCTOR LIMITED 679 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (4 / 13) レジスタ アドレス 00000174H 00000178H 0000017CH 00000180H +0 +1 +2 PWC22[R/W] H,W ------XX XXXXXXXX − PWC12[R/W] H,W ------XX XXXXXXXX ステッパモータ PWS22[R/W] B,H,W PWS12[R/W] B,H,W コントローラ 2 -0000000 --000000 PWC2[R/W] B 000000-0 PWC23[R/W] H,W ------XX XXXXXXXX − ブロック +3 PWC13[R/W] H,W ------XX XXXXXXXX ステッパモータ PWS23[R/W] B,H,W PWS13[R/W] B,H,W コントローラ 3 -0000000 --000000 PWC3[R/W] B 000000-0 00000184H ∼ 000001A4H 000001A8H − CANPRE[R/W]B,H,W 0---0000 予約 000001ACH 予約 − CAN プリスケーラ − − 予約 000001B0H − TRG0[R/W] B,H,W 00000000 − REVC0[R/W] B,H,W 00000000 000001B4H PRLH0[R/W]B,H,W XXXXXXXX PRLL0[R/W]B,H,W XXXXXXXX PRLH1[R/W]B,H,W XXXXXXXX PRLL1[R/W]B,H,W XXXXXXXX 000001B8H PRLH2[R/W,R]B,H,W XXXXXXXX PRLL2[R/W]B,H,W XXXXXXXX PRLH3[R/W]B,H,W XXXXXXXX PRLL3[R/W]B,H,W XXXXXXXX 000001BCH PPGC0[R/W]B,H,W 0000000- PPGC1[R/W]B,H,W 00000--- PPGC2[R/W]B,H,W 0000000- PPGC3[R/W]B,H,W 00000--- 000001C0H PRLH4[R/W]B,H,W XXXXXXXX PRLL4[R/W]B,H,W XXXXXXXX PRLH5[R/W]B,H,W XXXXXXXX PRLL5[R/W]B,H,W XXXXXXXX 000001C4H PRLH6[R/W]B,H,W XXXXXXXX PRLL6[R/W]B,H,W XXXXXXXX PRLH7[R/W]B,H,W XXXXXXXX PRLL7[R/W]B,H,W XXXXXXXX 000001C8H PPGC4[R/W]B,H,W 0000000- PPGC5[R/W]B,H,W 00000--- PPGC6[R/W]B,H,W 0000000- PPGC7[R/W]B,H,W 00000--- 000001CCH − − − − 000001D0H TRG1[R/W] B,H,W 00000000 − REVC1[R/W] B,H,W 00000000 − 000001D4H PRLH8[R/W]B,H,W XXXXXXXX PRLL8[R/W]B,H,W XXXXXXXX PRLH9[R/W]B,H,W XXXXXXXX PRLL9[R/W]B,H,W XXXXXXXX 000001D8H PRLHA[R/W]B,H,W XXXXXXXX PRLLA[R/W]B,H,W XXXXXXXX PRLHB[R/W]B,H,W XXXXXXXX PRLLB[R/W]B,H,W XXXXXXXX 000001DCH PPGC8[R/W]B,H,W 0000000- PPGC9[R/W]B,H,W 00000--- PPGCA[R/W]B,H,W 0000000- PPGCB[R/W]B,H,W 00000--- 000001E0H PRLHC[R/W]B,H,W XXXXXXXX PRLLC[R/W]B,H,W XXXXXXXX PRLHD[R/W]B,H,W XXXXXXXX PRLLD[R/W]B,H,W XXXXXXXX 000001E4H PRLHE[R/W]B,H,W XXXXXXXX PRLLE[R/W]B,H,W XXXXXXXX PRLHF[R/W]B,H,W XXXXXXXX PRLLF[R/W]B,H,W XXXXXXXX 000001E8H PPGCC[R/W]B,H,W 0000000- PPGCD[R/W]B,H,W 00000--- PPGCE[R/W]B,H,W 0000000- PPGCF[R/W]B,H,W 00000--- 000001ECH − − − − PPG ch.0-ch.7 PPG ch.8-ch.15 000001F0H ∼ 000001FCH 680 − FUJITSU SEMICONDUCTOR LIMITED 予約 CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (5 / 13) レジスタ アドレス +0 +1 +2 00000200H DMACA0[R/W] B,H,W *1 00000000_----0000_ 00000000_00000000 00000204H DMACB0[R/W] B,H,W 00000000_00000000_00000000_00000000 00000208H DMACA1[R/W] B,H,W *1 00000000_----0000_ 00000000_00000000 0000020CH DMACB1[R/W] B,H,W 00000000_00000000_00000000_00000000 00000210H DMACA2[R/W] B,H,W *1 00000000_----0000_ 00000000_00000000 00000214H DMACB2[R/W] B,H,W 00000000_00000000_00000000_00000000 00000218H DMACA3[R/W] B,H,W *1 00000000_----0000_ 00000000_00000000 0000021CH DMACB3[R/W] B,H,W 00000000_00000000_00000000_00000000 00000220H DMACA4[R/W] B,H,W *1 00000000_----0000_ 00000000_00000000 00000224H DMACB4[R/W] B,H,W 00000000_00000000_00000000_00000000 +3 ブロック DMA コントローラ 00000228H ∼ 0000023CH 00000240H 予約 DMACR[R/W] B 0--00000 − XXXXXXXX − XXXXXXXX − XXXXXXXX 00000244H ∼ 000003ECH − 予約 000003F0H BSD0 [W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000003F4H BSD1 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000003F8H BSDC [W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000003FCH BSRR [R] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ビットサーチ 00000400H DDR0[R/W] B,H,W 00000000 DDR1[R/W] B,H,W 00000000 DDR2[R/W] B,H,W 00000000 DDR3[R/W] B,H,W 00000000 00000404H DDR4[R/W] B,H,W 00000000 DDR5[R/W] B,H,W 00000000 DDR6[R/W] B,H,W 00000000 DDR7[R/W] B,H,W ----0000 00000408H DDR8[R/W] B,H,W 00000000 DDR9[R/W] B,H,W 00000000 DDRA[R/W] B,H,W ----0000 DDRB[R/W] B,H,W 00000000 0000040CH DDRC[R/W] B,H,W ----0000 DDRD[R/W] B,H,W 1111---- DDRE[R/W] B,H,W 00000000 DDRF[R/W] B,H,W 00000000 00000410H DDRG[R/W] B,H,W ----0000 − − − CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED データ方向 レジスタ 681 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (6 / 13) レジスタ アドレス +0 +1 +2 ブロック +3 00000414H ∼ 0000041CH − 予約 00000420H PFR0[R/W] B,H,W 00000000 PFR1[R/W] B,H,W 00000000 PFR2[R/W] B,H,W 00000000 PFR3[R/W] B,H,W 00000000 00000424H PFR4[R/W] B,H,W 00000000 PFR5[R/W] B,H,W 00000000 予約 PFR7[R/W] B,H,W ----0000 00000428H PFR8[R/W] B,H,W 00000000 PFR9[R/W] B,H,W 00000000 PFRA[R/W] B,H,W ----0000 0000042CH PFRC[R/W] B,H,W ----0000 PFRD[R/W] B,H,W 00000000 PFRE[R/W] B,H,W 00000000 00000430H PFRG[R/W] B,H,W ----0000 − − ポート PFRB[R/W] B,H,W ファンクション 00000000 レジスタ PFRF[R/W] B,H,W 00000000 − 00000434H ∼ 0000043CH − 予約 00000440H ICR00[R/W] B,H,W ---11111 ICR01[R/W] B,H,W ---11111 ICR02[R/W] B,H,W ---11111 ICR03[R/W] B,H,W ---11111 00000444H ICR04[R/W] B,H,W ---11111 ICR05[R/W] B,H,W ---11111 ICR06[R/W] B,H,W ---11111 ICR07[R/W] B,H,W ---11111 00000448H ICR08[R/W] B,H,W ---11111 ICR09[R/W] B,H,W ---11111 ICR10[R/W] B,H,W ---11111 ICR11[R/W] B,H,W ---11111 0000044CH ICR12[R/W] B,H,W ---11111 ICR13[R/W] B,H,W ---11111 ICR14[R/W] B,H,W ---11111 ICR15[R/W] B,H,W ---11111 00000450H ICR16[R/W] B,H,W ---11111 ICR17[R/W] B,H,W ---11111 ICR18[R/W] B,H,W ---11111 ICR19[R/W] B,H,W ---11111 00000454H ICR20[R/W] B,H,W ---11111 ICR21[R/W] B,H,W ---11111 ICR22[R/W] B,H,W ---11111 ICR23[R/W] B,H,W ---11111 00000458H ICR24[R/W] B,H,W ---11111 ICR25[R/W] B,H,W ---11111 ICR26[R/W] B,H,W ---11111 ICR27[R/W] B,H,W ---11111 0000045CH ICR28[R/W] B,H,W ---11111 ICR29[R/W] B,H,W ---11111 ICR30[R/W] B,H,W ---11111 ICR31[R/W] B,H,W ---11111 00000460H ICR32[R/W] B,H,W ---11111 ICR33[R/W] B,H,W ---11111 ICR34[R/W] B,H,W ---11111 ICR35[R/W] B,H,W ---11111 00000464H ICR36[R/W] B,H,W ---11111 ICR37[R/W] B,H,W ---11111 ICR38[R/W] B,H,W ---11111 ICR39[R/W] B,H,W ---11111 00000468H ICR40[R/W] B,H,W ---11111 ICR41[R/W] B,H,W ---11111 ICR42[R/W] B,H,W ---11111 ICR43[R/W] B,H,W ---11111 0000046CH ICR44[R/W] B,H,W ---11111 ICR45[R/W] B,H,W ---11111 ICR46[R/W] B,H,W ---11111 ICR47[R/W] B,H,W ---11111 割込み コントローラ 00000470H ∼ 0000047CH − 予約 00000480H RSRR [R] B,H,W 10000000 STCR [R/W] B,H,W 00110011 TBCR [R/W] B,H,W 00XXXX11 00000484H CLKR [R/W] B,H,W 00000000 WPR [R/W] B,H,W XXXXXXXX DIVR0 [R/W] B,H,W DIVR1 [R/W] B,H,W 00000011 00000000 682 FUJITSU SEMICONDUCTOR LIMITED CTBR [W] B,H,W XXXXXXXX クロック 制御部 CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (7 / 13) レジスタ アドレス 00000488H +0 +1 +2 +3 − − OSCCR [R/W] B 00000000 − 0000048CH 00000490H クロック 制御部 予約 OSCR [R/W] B 00000001 ブロック 予約 00000494H ∼ 000004ACH − 予約 000004B0H − TRG2[R/W] B,H,W 00000000 − REVC2[R/W] B,H,W 00000000 000004B4H PRLHG[R/W]B,H,W 00000000 PRLLG[R/W]B,H,W XXXXXXXX PRLHH[R/W]B,H,W XXXXXXXX PRLLH[R/W]B,H,W XXXXXXXX 000004B8H PRLHI[R/W]B,H,W 00000000 PRLLI[R/W]B,H,W XXXXXXXX PRLHJ[R/W]B,H,W XXXXXXXX PRLLJ[R/W]B,H,W XXXXXXXX 000004BCH PPGCG[R/W]B,H,W 0000000- PPGCH[R/W]B,H,W 00000--- PPGCI[R/W]B,H,W 0000000- 000004C0H PRLHK[R/W]B,H,W 00000000 PRLLK[R/W]B,H,W XXXXXXXX PRLHL[R/W]B,H,W XXXXXXXX PPGCJ[R/W]B,H,W 00000--PPG ch.16-ch.23 PRLLL[R/W]B,H,W XXXXXXXX 000004C4H PRLHM[R/W]B,H,W 00000000 PRLLM[R/W]B,H,W PRLHN[R/W]B,H,W XXXXXXXX XXXXXXXX 000004C8H PPGCK[R/W]B,H,W 0000000- PPGCL[R/W]B,H,W PPGCM[R/W]B,H,W PPGCN[R/W]B,H,W 00000--000000000000--- 000004CCH − − − − 000004D0H TRG3[R/W] B,H,W 00000000 − REVC3[R/W] B,H,W 00000000 − 000004D4H PRLHO[R/W]B,H,W 00000000 PRLLO[R/W]B,H,W XXXXXXXX PRLHP[R/W]B,H,W XXXXXXXX PRLLP[R/W]B,H,W XXXXXXXX 000004D8H PRLHQ[R/W]B,H,W 00000000 PRLLQ[R/W]B,H,W XXXXXXXX PRLHR[R/W]B,H,W XXXXXXXX PRLLR[R/W]B,H,W XXXXXXXX 000004DCH PPGCO[R/W]B,H,W 0000000- PPGCP[R/W]B,H,W 00000--- PPGCQ[R/W]B,H,W 0000000- 000004E0H PRLHS[R/W]B,H,W 00000000 PRLLS[R/W]B,H,W XXXXXXXX PRLHT[R/W]B,H,W XXXXXXXX PPGCR[R/W]B,H,W 00000--PPG ch.24-ch.31 PRLLT[R/W]B,H,W XXXXXXXX 000004E4H PRLHU[R/W]B,H,W 00000000 PRLLU[R/W]B,H,W XXXXXXXX PRLHV[R/W]B,H,W XXXXXXXX PRLLV[R/W]B,H,W XXXXXXXX 000004E8H PPGCS[R/W]B,H,W 0000000- PPGCT[R/W]B,H,W 00000--- PPGCU[R/W]B,H,W 0000000- PPGCV[R/W]B,H,W 00000--- 000004ECH − − − − PRLLN[R/W]B,H,W XXXXXXXX 000004F0H ∼ 000004F8H 000004FCH − PSCR[W] B 00000000 − 予約 − − ポート入力レベ ル選択レジスタ 00000500H ∼ 0000053CH CM71-10142-5 − FUJITSU SEMICONDUCTOR LIMITED 予約 683 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (8 / 13) レジスタ アドレス +0 +1 +2 +3 00000540H PILR0[R/W] B 00000000 PILR1[R/W] B 00000000 予約 予約 00000544H PILR4[R/W] B 00000000 PILR5[R/W] B 00000000 予約 − 00000548H − − − − 0000054CH − − PILRE[R/W] B 00000000 予約 00000550H − − − − ブロック ポート入力 レベル選択 レジスタ 00000554H ∼ 0000055CH 00000560H 00000564H − IBCR0[R/W] B,H,W 00000000 IBSR0[R] B,H,W 00000000 ITBAH0[R/W] B,H,W ITBAL0[R/W] B,H,W ------00 00000000 ITMKH0[R/W,R] B,H,W ITMKL0[R/W] B,H,W ISMK0[R/W] B,H,W 00----11 11111111 01111111 00000568H − IDAR0[R/W] B,H,W 00000000 0000056CH IBCR1[R/W] B,H,W 00000000 IBSR1[R] B,H,W 00000000 00000570H 00000574H ICCR0[R/W] B,H,W -0011111 − ISBA0[R/W] B,H,W -0000000 予約 IDAR1[R/W] B,H,W 00000000 ICCR1[R/W] B,H,W -0011111 ISBA1[R/W] B,H,W -0000000 LVRC[R/W] B,H,W 00011000 I2C1 予約 − 予約 I2C0 ITBAH1[R/W] B,H,W ITBAL1[R/W] B,H,W ------00 00000000 ITMKH1[R/W,R]B,H,W ITMKL1[R/W] B,H,W ISMK1[R/W] B,H,W 00----11 11111111 01111111 00000578H 0000057CH 予約 予約 予約 CPU 動作検出 予約 00000580H ∼ 000005FCH − 予約 00000600H 予約 予約 EPFR2[R/W] B,H,W 00000000 EPFR3[R/W] B,H,W 00000000 00000604H EPFR4[R/W] B,H,W 11111111 EPFR5[R/W] B,H,W 00000000 − EPFR7[R/W] B,H,W ----0000 00000608H EPFR8[R/W] B,H,W 00000000 EPFR9[R/W] B,H,W 00000000 − − 0000060CH − 00000610H EPFRG[R/W] B,H,W ----0000 EPFRD[R/W] B,H,W EPFRE[R/W] B,H,W 00000000 00000000 − − I/O ポート EPFRF[R/W] B,H,W 00000000 − 00000614H ∼ 0000063CH 684 − FUJITSU SEMICONDUCTOR LIMITED 予約 CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (9 / 13) レジスタ アドレス +0 +1 +2 +3 00000640H ASR0 [R/W] B,H,W 00000000 00000000 ACR0 [R/W] B,H,W 00110*00 00000000 00000644H ASR1 [R/W] B,H,W XXXXXXXX XXXXXXXX ACR1 [R/W] B,H,W XXXX0X00 00X0XXXX 00000648H ASR2 [R/W] B,H,W XXXXXXXX XXXXXXXX ACR2 [R/W] B,H,W XXXX0X00 00X0XXXX 0000064CH ASR3 [R/W] B,H,W 00000000 XXXXXXXX ACR3 [R/W] B,H,W 01XX0X00 00X0XXXX ブロック 00000650H ∼ 0000065CH 予約 T-unit 00000660H AWR0 [R/W] B,H,W 01110000 01011011 AWR1 [R/W] B,H,W XXXX0000 XX0X1XXX 00000664H AWR2 [R/W] B,H,W 0XXX0000 XX0X1XXX AWR3 [R/W] B,H,W 0XXX0000 0X0X1XXX 00000668H ∼ 0000067CH 00000680H 予約 CSER[R/W] B,H,W 00000001 − − − 00000684H ∼ 000007F8H 000007FCH − − MODR *2 予約 − − 00000800H ∼ 00000FFCH − 00001000H DMASA0[R/W] W 00000000 00000000 00000000 00000000 00001004H DMADA0[R/W] W 00000000 00000000 00000000 00000000 00001008H DMASA1[R/W] W 00000000 00000000 00000000 00000000 0000100CH DMADA1[R/W] W 00000000 00000000 00000000 00000000 00001010H DMASA2[R/W] W 00000000 00000000 00000000 00000000 00001014H DMADA2[R/W] W 00000000 00000000 00000000 00000000 00001018H DMASA3[R/W] W 00000000 00000000 00000000 00000000 0000101CH DMADA3[R/W] W 00000000 00000000 00000000 00000000 00001020H DMASA4[R/W] W 00000000 00000000 00000000 00000000 00001024H DMADA4[R/W] W 00000000 00000000 00000000 00000000 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 予約 DMA コントローラ 685 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (10 / 13) レジスタ アドレス +0 +1 +2 +3 ブロック 00001028H ∼ 00006FFCH − 予約 00007000H FLCR[R/W] B 01X0X000 − − − 00007004H FLWC[R/W] B 00000011 − − − フラッシュ メモリインタ フェース ( 量産品のみ ) 00007008H ∼ 0000FFFCH − 予約 00020000H CTRLR0 00000000 00000001 STATR0 00000000 00000000 00020004H ERRCNT0 00000000 00000000 BTR0 00100011 00000001 00020008H INTR0 00000000 00000000 TESTR0 00000000 r0000000*2 0002000CH BRPER0 00000000 00000000 予約 00020010H IF1CREQ0 00000000 00000001 IF1CMSK0 00000000 00000000 00020014H IF1MSK20 11111111 11111111 IF1MSK10 11111111 11111111 00020018H IF1ARB20 00000000 00000000 IF1ARB10 00000000 00000000 0002001CH IF1MCTR0 00000000 00000000 − 00020020H IF1DTA10 00000000 00000000 IF1DTA20 00000000 00000000 00020024H IF1DTB10 00000000 00000000 IF1DTB20 00000000 00000000 CAN0 00020028H 予約 ∼ 0002002CH 00020030H IF1DTA20 00000000 00000000 IF1DTA10 00000000 00000000 00020034H IF1DTB20 00000000 00000000 IF1DTB10 00000000 00000000 00020038H ∼ 0002003CH 予約 00020040H IF2CREQ0 00000000 00000001 IF2CMSK0 00000000 00000000 00020044H IF2MSK20 00000000 00000000 IF2MSK10 00000000 00000000 00020048H IF2ARB20 00000000 00000000 IF2ARB10 00000000 00000000 0002004CH IF2MCTR0 00000000 00000000 − 686 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (11 / 13) レジスタ アドレス +0 +1 +2 +3 00020050H IF2DTA10 00000000 00000000 IF2DTA20 00000000 00000000 00020054H IF2DTB10 00000000 00000000 IF2DTB20 00000000 00000000 ブロック 00020058H 予約 ∼ 0002005CH 00020060H IF2DTA20 00000000 00000000 IF2DTA10 00000000 00000000 00020064H IF2DTB20 00000000 00000000 IF2DTB10 00000000 00000000 00020068H 予約 ∼ 0002007CH 00020080H TREQR20 00000000 00000000 TREQR10 00000000 00000000 00020084H 00020090H CAN0 予約 ∼ 0002008CH NEWDT20 00000000 00000000 NEWDT10 00000000 00000000 00020094H 予約 ∼ 0002009CH 000200A0H INTPEND20 00000000 00000000 INTPEND10 00000000 00000000 000200A4H 予約 ∼ 000200ACH 000200B0H MESVAL20 00000000 00000000 MESVAL10 00000000 00000000 000200B4H 予約 ∼ 000200BCH 00020100H CTRLR1 00000000 00000001 STATR1 00000000 00000000 00020104H ERRCNT1 00000000 00000000 BTR1 00100011 00000001 00020108H INTR1 00000000 00000000 TESTR1 00000000 r0000000*2 0002010CH BRPER1 00000000 00000000 予約 00020110H IF1CREQ1 00000000 00000001 IF1CMSK1 00000000 00000000 00020114H IF1MSK21 11111111 11111111 IF1MSK11 11111111 11111111 00020118H IF1ARB21 00000000 00000000 IF1ARB11 00000000 00000000 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED CAN1 687 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (12 / 13) レジスタ アドレス +0 +1 +2 +3 0002011CH IF1MCTR1 00000000 00000000 − 00020120H IF1DTA11 00000000 00000000 IF1DTA21 00000000 00000000 00020124H IF1DTB11 00000000 00000000 IF1DTB21 00000000 00000000 ブロック 00020128H 予約 ∼ 0002012CH 00020130H IF1DTA21 00000000 00000000 IF1DTA11 00000000 00000000 00020134H IF1DTB21 00000000 00000000 IF1DTB11 00000000 00000000 00020138H ∼ 0002013CH 予約 00020140H IF2CREQ1 00000000 00000001 IF2CMSK1 00000000 00000000 00020144H IF2MSK21 00000000 00000000 IF2MSK11 00000000 00000000 00020148H IF2ARB21 00000000 00000000 IF2ARB11 00000000 00000000 0002014CH IF2MCTR1 00000000 00000000 − 00020150H IF2DTA11 00000000 00000000 IF2DTA21 00000000 00000000 00020154H IF2DTB11 00000000 00000000 IF2DTB21 00000000 00000000 CAN1 00020158H ∼ 0002015CH 予約 00020160H IF2DTA21 00000000 00000000 IF2DTA11 00000000 00000000 00020164H IF2DTB21 00000000 00000000 IF2DTB11 00000000 00000000 00020168H ∼ 0002017CH 00020180H 予約 TREQR21 00000000 00000000 TREQR11 00000000 00000000 00020184H ∼ 0002018CH 00020190H 688 予約 NEWDT21 00000000 00000000 NEWDT11 00000000 00000000 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 A I/O マップ MB91220 シリーズ 表 A-1 I/O マップ (13 / 13) レジスタ アドレス +0 +1 +2 +3 ブロック 00020194H 予約 ∼ 0002019CH INTPEND21 00000000 00000000 000201A0H INTPEND11 00000000 00000000 000201A4H CAN1 予約 ∼ 000201ACH MESVAL21 00000000 00000000 000201B0H MESVAL11 00000000 00000000 000201B4H ∼ 000201BCH 予約 *1 : DMACA0 ∼ DMACA4 の下位 16 ビット (DTC[15:0]) は , バイトでのアクセスはできません。 *2 : このレジスタは , モードベクタフェッチにより設定されます。ユーザからはアクセスできません。 <注意事項> • ライトオンリビットのあるレジスタに対してリードモディファイライト (RMW) 系 の命令を行わないでください。 • CM71-10142-5 予約または ( − ) の領域のデータは不定です。 FUJITSU SEMICONDUCTOR LIMITED 689 付録 付録 B 割込みベクタ 付録 B MB91220 シリーズ 割込みベクタ 付表 B-1 に , 割込みベクタテーブルを示します。割込みベクタテーブルには , MB91220 シリーズの割込み要因と割込みベクタ / 割込み制御レジスタの割当てが記 載されています。 ■ ベクタテーブル ICR: 割込みコントローラ内に設けられたレジスタで割込みの各要求に対する割込み レベルを設定します。ICR は割込み要求の各々に対応して用意されています。 TBR: EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。 TBR と EIT 要因ごとに決められたオフセット値を加算したアドレスが , ベクタ アドレスとなります。 TBR の示すアドレスから 1K バイトの領域が , EIT 用ベクタ領域となっています。 1 ベクタあたりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は下記のよ うに表されます。 vctadr = TBR + vctofs = TBR + (3FCH − 4 × vct) 690 vctadr: ベクタアドレス vctofs: ベクタオフセット vct: ベクタ番号 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 B 割込みベクタ MB91220 シリーズ 付表 B-1 ベクタテーブル (1 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ セット TBR デフォルト のアドレス DMA リセット 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 − コプロセッサ不在トラップ 7 07 − 3E0H 000FFFE0H − コプロセッサエラートラップ 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 0FH 固定 3C0H 000FFFC0H − 外部割込み 0/1/2/6/7 16 10 ICR00 3BCH 000FFFBCH − 外部割込み 3 17 11 ICR01 3B8H 000FFFB8H 6 外部割込み 4 18 12 ICR02 3B4H 000FFFB4H 7 外部割込み 5 19 13 ICR03 3B0H 000FFFB0H − PPG0H/0L/8H/8L 20 14 ICR04 3ACH 000FFFACH − PPG2H/2L/9H/9L 21 15 ICR05 3A8H 000FFFA8H − PPG4H/4L/10H/10L 22 16 ICR06 3A4H 000FFFA4H − PPG6H/6L/11H/11L 23 17 ICR07 3A0H 000FFFA0H − リロードタイマ 0 24 18 ICR08 39CH 000FFF9CH 8 リロードタイマ 1 25 19 ICR09 398H 000FFF98H 9 リロードタイマ 2 26 1A ICR10 394H 000FFF94H 10 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 691 付録 付録 B 割込みベクタ MB91220 シリーズ 付表 B-1 ベクタテーブル (2 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ セット TBR デフォルト のアドレス DMA LIN-UART 0 ( 受信 ) 27 1B ICR11 390H 000FFF90H − LIN-UART 0 ( 送信 ) 28 1C ICR12 38CH 000FFF8CH − LIN-UART 1 ( 受信 ) 29 1D ICR13 388H 000FFF88H 1 LIN-UART 1 ( 送信 ) 30 1E ICR14 384H 000FFF84H 4 LIN-UART 2 ( 受信 ) 31 1F ICR15 380H 000FFF80H 2 LIN-UART 2 ( 送信 ) 32 20 ICR16 37CH 000FFF7CH 5 LIN-UART 3 ( 受信 ) 33 21 ICR17 378H 000FFF78H − LIN-UART 3 ( 送信 ) 34 22 ICR18 374H 000FFF74H − CAN0 35 23 ICR19 370H 000FFF70H − CAN1 36 24 ICR20 36CH 000FFF6CH − PPG12H/12L/I2C0 37 25 ICR21 368H 000FFF68H − PPG13H/13L 38 26 ICR22 364H 000FFF64H − PPG14H/14L/I2C1 39 27 ICR23 360H 000FFF60H − PWC ( 測定終了 ) 40 28 ICR24 35CH 000FFF5CH − PWC ( オーバフロー ) 41 29 ICR25 358H 000FFF58H − DMAC 42 2A ICR26 354H 000FFF54H − ADC 43 2B ICR27 350H 000FFF50H 14 リアルタイムクロック 44 2C ICR28 34CH 000FFF4CH − PPG15H/15L 45 2D ICR29 348H 000FFF48H − メイン発振安定待ちタイマ 46 2E ICR30 344H 000FFF44H − タイムベースタイマ オーバフロー 47 2F ICR31 340H 000FFF40H − PPG1H/1L 48 30 ICR32 33CH 000FFF3CH 11 PPG3H/3L 49 31 ICR33 338H 000FFF38H 12 PPG5H/5L 50 32 ICR34 334H 000FFF34H 13 PPG7H/7L 51 33 ICR35 330H 000FFF30H 3 16 ビットフリーラン 0 52 34 ICR36 32CH 000FFF2CH − 16 ビットフリーラン 1 53 35 ICR37 328H 000FFF28H − ICU0 54 36 ICR38 324H 000FFF24H − 692 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 B 割込みベクタ MB91220 シリーズ 付表 B-1 ベクタテーブル (3 / 3) 割込み番号 割込み要因 10 進 16 進 割込み レベル オフ セット TBR デフォルト のアドレス DMA ICU1 55 37 ICR39 320H 000FFF20H − ICU2 56 38 ICR40 31CH 000FFF1CH − ICU3 57 39 ICR41 318H 000FFF18H − OCU0 58 3A ICR42 314H 000FFF14H − OCU1 59 3B ICR43 310H 000FFF10H − サウンドジェネレータ 0 60 3C ICR44 30CH 000FFF0CH − サウンドジェネレータ 1 61 3D ICR45 308H 000FFF08H − サウンドジェネレータ 2 62 3E ICR46 304H 000FFF04H − 遅延割込み 63 3F ICR47 300H 000FFF00H − システム予約 64 40 − 2FCH 000FFEFCH − システム予約 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 − 80 | 255 50 | FF 2BCH 000FEBCH INT 命令 − | 000H | 000FFC00H CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED − 693 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 各 CPU ステートにおける各端子状態 付録 C 各 CPU ステートにおける端子の状態について説明します。 ■ リセット中の端子の状態 リセット中の端子の状態は , モード端子 (MD2 ∼ MD0=00XB) の設定によって決定され ます。 ● 内部ベクタモード設定時 (M2, M1, M0 = 000B) I/O 端子 ( 周辺機能端子 ) はハイインピーダンス (MB91220 シリーズでは , COM0 ∼ COM3 は , "L" 出力 ) になり , モードデータの読出し先は内部 ROM になります。 ● 外部ベクタモード設定時 (M2, M1, M0 = 001B) I/O 端子 ( 周辺機能端子 ) はハイインピーダンス (MB91220 シリーズでは , COM0 ∼ COM3 は , "L" 出力 ) になり , モードデータの読出し先は外部 ROM になります。 <注意事項> • リセット要因が発生したときハイインピーダンスとなる端子は , その端子に接続した 機器が誤動作しないように配慮してください。 • 内部ベクタモードでは , モードデータは内部 (Flash) ROM 領域に格納してください。 • 外バスモードにおいてアドレスデータマルチプレックスのみをサポートします。外部 バス使用時には , アクセスタイプをアドレスデータマルチプレックスに設定してくだ さい。 各 CPU ステートにおける端子の状態は , 付表 C-1 を参照してください。 694 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-1 シングルチップモード (1 / 3) STOP 初期値 端子名 SLEEP 機能名 INITX=L INITX INITX=H 備考 HIZ=0 INIT HIZ=1 入力可 X0 Hi-Z or 入力可 main clock X1 "H" 出力 or 入力可 X0A sub clock 入力可 入力可 入力可 X1A Hi-Z or 入力可 "H" 出力 or 入力可 ⎯ MD0 MD1 mode 入力可 MD2 P00 SEG24 P01 SEG25 P02 SEG26 P03 SEG27 P04 SEG28 P05 SEG29 P06 SEG30 P07 SEG31/ATGX P10 SEG16 P11 SEG17 P12 SEG18 P13 SEG19 P14 SEG20 P15 SEG21 P16 SEG22 P17 SEG23 P20 SEG0 P21 SEG1 P22 SEG2 P23 SEG3 P24 SEG4 P25 SEG5 P26 SEG6 P27 SEG7 P30 SEG8 P31 SEG9 P32 SEG10 P33 SEG11 P34 SEG12 P35 SEG13 P36 SEG14 P37 SEG15 CM71-10142-5 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 LCD 使用時は , 出力 Hi-Z SLEEP/STOP ともに 入力遮断 出力動作もしくは , 出 力保持 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 LCD 使用時は , 出力 Hi-Z SLEEP/STOP ともに 入力遮断 出力動作もしくは , 出 力保持 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 LCD 使用時は , 出力 Hi-Z SLEEP/STOP ともに 入力遮断 出力動作もしくは , 出 力保持 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 LCD 使用時は , 出力 Hi-Z SLEEP/STOP ともに 入力遮断 出力動作もしくは , 出 力保持 FUJITSU SEMICONDUCTOR LIMITED 695 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-1 シングルチップモード (2 / 3) STOP 初期値 端子名 P40 SIN0/INT0 P41 SOT0 P42 SCK0 P43 SIN3/INT1 P44 SOT3 P45 SCK3 P46 備考 INITX=L INITX=H HIZ=0 HIZ=1 出力 Hi-Z 入力可 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 外部割込みは , PFR 設 入力遮断 定によって , 入力可 出力 Hi-Z 入力可 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 出力 Hi-Z 入力遮断 出力 Hi-Z 入力遮断 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 出力 Hi-Z 入力可 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 外部割込みは , PFR 設 入力遮断 定によって , 入力可 出力 Hi-Z 入力遮断 出力 Hi-Z 入力遮断 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z DA 使用時は , 出力保 入力遮断 持 − P47 − P50 SIN4/CK0 P51 SOT4 P52 SCK4 P53 SIN5/CK1 P54 SOT5 P55 SCK5 P56 OUT0 P57 OUT1 P60 AN0 P61 AN1 P62 AN2 P63 AN3 P64 AN4 P65 AN5 P66 AN6 P67 AN7 P70 INT6/RX0 P71 TX0 P72 INT7/RX1 P73 TX1 P80 AN16/IN0 P81 AN17/IN1 P82 AN18/IN2 P83 AN19/IN3 P84 AN20/INT2 P85 AN21/INT3 P86 AN22/INT4 P87 AN23/INT5 P90 DA0 P91 DA1/PWC P92 SGA0 P93 SGO0 P94 SGA1 P95 SGO1 P96 SGA2 P97 SGO2 696 SLEEP 機能名 FUJITSU SEMICONDUCTOR LIMITED ⎯ CM71-10142-5 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-1 シングルチップモード (3 / 3) STOP 初期値 端子名 SLEEP 機能名 PA0 PWM1P3 PA1 PWM1M3 PA2 PWM2P3 PA3 PWM2M3 PB0 PPG8 PB1 PPG9 PB2 PPG10 PB3 PPG11 PB4 PWM1P1 PB5 PWM1M1 PB6 PWM2P1 PB7 PWM2M1 PC0 PWM1P0 PC1 PWM1M0 PC2 PWM2P0 PC3 PWM2M0 PD0 TIN0/IN0/PWC0/INT2/V0 PD1 TIN1/IN1/V1 PD2 TIN2/IN2/V2 PD3 IN3/V3 PD4 COM0/PPG1 PD5 COM1/PPG3 PD6 COM2/PPG5 PD7 COM3/PPG7 PE0 PWM1P2 PE1 PWM1M2 PE2 PWM2P2 PE3 PWM2M2 PE4 PPG12/SDA0 PE5 PPG13/SCL0 PE6 PPG14/SDA1 PE7 PPG15/SCL1 PF0 AN8 PF1 AN9 PF2 AN10 PF3 AN11 PF4 AN12 PF5 AN13/TIN0 PF6 AN14/TIN1 PF7 AN15/TIN2 PG0 PPG0 PG1 TOT0/PPG2 PG2 TOT1/PPG4 PG3 TOT2/PPG6 CM71-10142-5 INITX=L INITX=H 出力 Hi-Z 入力可 出力 Hi-Z 入力可 出力 Hi-Z 入力可 備考 HIZ=0 HIZ=1 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 出力 Hi-Z 入力可 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 入力可 入力可 直前状態 保持 直前状態 保持 外部割込みは , PFR 設 定によって , 入力可 出力 Hi-Z LCD 使用時は , 入力遮断 SLEEP/STOP ともに 出力動作もしくは , 出 力保持 "L" 出力 入力可 "L" 出力 入力可 直前状態 保持 出力 Hi-Z 入力可 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 出力 Hi-Z 入力遮断 出力 Hi-Z 入力遮断 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ 出力 Hi-Z 入力可 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 ⎯ FUJITSU SEMICONDUCTOR LIMITED 697 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-2 8 ビット外バスモード (1 / 2) STOP 初期値 端子名 SLEEP 機能名 INITX=L INITX INITX=H 備考 HIZ=0 INIT HIZ=1 入力可 X0 Hi-Z or 入力可 main clock X1 "H" 出力 or 入力可 X0A sub clock 入力可 入力可 入力可 X1A Hi-Z or 入力可 "H" 出力 or 入力可 ⎯ MD0 MD1 mode 入力可 MD2 P00 SEG24 P01 SEG25 P02 SEG26 P03 SEG27 P04 SEG28 P05 SEG29 P06 SEG30 P07 SEG31/ATGX P10 D08 P11 D09 P12 D10 P13 D11 P14 D12 P15 D13 P16 D14 P17 D15 P20 A00 P21 A01 P22 A02 P23 A03 P24 A04 P25 A05 P26 A06 P27 A07 P30 A08 P31 A09 P32 A10 P33 A11 P34 A12 P35 A13 P36 A14 P37 A15 698 LCD 使用時は , 出力 Hi-Z SLEEP/STOP ともに 入力遮断 出力動作もしくは , 出 力保持 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 直前状態 保持 直前状態 保持 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 Hi-Z Hi-Z 出力 Hi-Z ポート機能はありま 入力遮断 せん 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 アドレス 出力 アドレス 出力 出力 Hi-Z ポート機能はありま 入力遮断 せん 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 アドレス 出力 アドレス 出力 出力 Hi-Z ポート機能はありま 入力遮断 せん FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-2 8 ビット外バスモード (2 / 2) STOP 初期値 端子名 SLEEP 機能名 INITX=L P40 SIN0/INT0 P41 SOT0 INITX=H P42 SCK0 P43 SIN3/INT1 P44 SOT3 P45 SCK3 P46 ASX "H" 出力 P47 SYSCLK クロック 出力 P50 SIN4/CK0/CS0X P51 SOT4/CS1X P52 SCK4/CS2X P53 SIN5/CK1/CS3X P54 SOT5/RDX P55 SCK5/WR0X P56 OUT0 P57 OUT1/RDY P60 ∼ PG3 CM71-10142-5 備考 HIZ=0 直前状態 保持 直前状態 保持 外部割込みは , PFR 設 定によって , 入力可 出力 Hi-Z 外バス信号時 , 入力遮断 SLEEP/STOP (Hi-Z=0) のときは , "H" 出力 / クロック出力 直前状態 保持 直前状態 保持 外バス信号時 , 出力 Hi-Z SLEEP/STOP (Hi-Z=0) 入力遮断 のときは , "H" 出力 出力 Hi-Z 入力可 出力 Hi-Z 入力可 出力 Hi-Z 入力可 "H" 出力 HIZ=1 入力可 シングルチップと同じ FUJITSU SEMICONDUCTOR LIMITED 699 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-3 16 ビット外バスモード (1 / 2) STOP 初期値 端子名 SLEEP 機能名 INITX=L INITX INITX=H 備考 HIZ=0 INIT HIZ=1 入力可 X0 Hi-Z or 入力可 main clock X1 "H" 出力 or 入力可 X0A sub clock 入力可 入力可 入力可 X1A Hi-Z or 入力可 "H" 出力 or 入力可 ⎯ MD0 MD1 mode 入力可 MD2 P00 D00 P01 D01 P02 D02 P03 D03 P04 D04 P05 D05 P06 D06 P07 D07 P10 D08 P11 D09 P12 D10 P13 D11 P14 D12 P15 D13 P16 D14 P17 D15 P20 A00 P21 A01 P22 A02 P23 A03 P24 A04 P25 A05 P26 A06 P27 A07 P30 A08 P31 A09 P32 A10 P33 A11 P34 A12 P35 A13 P36 A14 P37 A15 700 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 Hi-Z Hi-Z 出力 Hi-Z ポート機能はありま 入力遮断 せん 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 Hi-Z Hi-Z 出力 Hi-Z ポート機能はありま 入力遮断 せん 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 アドレス 出力 アドレス 出力 出力 Hi-Z ポート機能はありま 入力遮断 せん 出力 Hi-Z 入力遮断 出力 Hi-Z 入力可 アドレス 出力 アドレス 出力 出力 Hi-Z ポート機能はありま 入力遮断 せん FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 C 各 CPU ステートにおける各端子状態 MB91220 シリーズ 付表 C-3 16 ビット外バスモード (2 / 2) STOP 初期値 端子名 SLEEP 機能名 INITX=L P40 SIN0/INT0 P41 SOT0 INITX=H P42 SCK0 P43 SIN3/INT1 P44 SOT3 P45 SCK3 P46 ASX "H" 出力 P47 SYSCLK クロック 出力 P50 SIN4/CK0/CS0X P51 SOT4/CS1X P52 SCK4/CS2X P53 SIN5/CK1/CS3X P54 SOT5/RDX P55 SCK5/WR0X P56 OUT0/WR1X P57 OUT1/RDY P60 ∼ PG3 CM71-10142-5 備考 HIZ=0 直前状態 保持 直前状態 保持 外部割込みは , PFR 設 定によって , 入力可 出力 Hi-Z 外バス信号時 , 入力遮断 SLEEP/STOP (Hi-Z=0) のときは , "H" 出力 / クロック出力 直前状態 保持 直前状態 保持 外バス信号時 , 出力 Hi-Z SLEEP/STOP (Hi-Z=0) 入力遮断 のときは , "H" 出力 出力 Hi-Z 入力可 出力 Hi-Z 入力可 出力 Hi-Z 入力可 "H" 出力 HIZ=1 入力可 シングルチップと同じ FUJITSU SEMICONDUCTOR LIMITED 701 付録 付録 D リトル・エンディアン領域を利用する際の注意事項 付録 D MB91220 シリーズ リトル・エンディアン領域を利用する際の注意事項 リトルエンディアン領域を利用する際の注意事項を以下の項目ごとに説明します。 • C コンパイラ • アセンブラ • リンカ • デバッガ ■ 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(); ... } 702 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 D リトル・エンディアン領域を利用する際の注意事項 MB91220 シリーズ ● 構造体代入 構造体どうしの代入を行うとき , コンパイラは最適な転送方法を選択してバイト , ハー フワード , ワードごとの転送を行います。このため , 通常の領域に割り当てられた構造 体変数とリトルエンディアンの領域に割り当てられた構造体変数の間で構造体代入を 行うと , 正しい結果が得られません。 構造体のメンバをそれぞれ代入してください。 [ 例 ] リトルエンディアン領域の構造体変数 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-10142-5 04 FUJITSU SEMICONDUCTOR LIMITED 703 付録 付録 D リトル・エンディアン領域を利用する際の注意事項 MB91220 シリーズ ● 文字列操作関数使用時の -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 f0 3f となり , double 型データの転送結果としては誤りになります。 (正しい結果) 00 00 00 00 ● スタックのリトルエンディアン領域への配置 リトルエンディアン領域にスタックの一部あるいは全部が配置された場合 , 動作を保 証しません。 704 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 D リトル・エンディアン領域を利用する際の注意事項 MB91220 シリーズ ■ アセンブラ (fasm911) FR のアセンブラ言語でプログラミングをするにあたって , リトルエンディアン領域に 関して注意すべき項目を以下に示します。 ● セクションについて リトルエンディアン領域は , 主にリトルエンディアン系 CPU とデータ交換を行うこと を目的としています。そのため , リトルエンディアン領域は初期値のないデータセク ションとして定義してください。 もし , リトルエンディアン領域にコードやスタック , 初期値付きデータセクションなど の指定をした場合には , MB91220 シリーズでのアクセス動作は保証できなくなります。 [例] /* 正しいリトルエンディアン領域のセクション定義 */ .SECTION Little_Area, DATA, ALIGN=4 Little_Word: .RES.W 1 Little_Half: .RES.H 1 Little_Byte: .RES.B 1 ● データのアクセスについて リトルエンディアン領域へのデータのアクセスを行う場合 , そのデータの値は , エン ディアンを意識せずにコーディングできます。ただし , リトルエンディアン領域のデー タへのアクセスは , 必ずデータサイズと同じサイズでアクセスしてください。 [例] 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 CM71-10142-5 r2, @r3 FUJITSU SEMICONDUCTOR LIMITED 705 付録 付録 D リトル・エンディアン領域を利用する際の注意事項 MB91220 シリーズ /* 8 ビットデータは , STB 命令 ( や LDB 命令など ) でアクセスします。*/ STB r4, @r5 MB91220 シリーズでデータサイズと異なるサイズでアクセスした場合には , その値の 保証はできません。例えば , 連続する 2 つの 16 ビットデータを , 32 ビットアクセス命 令を使って一度にアクセスした場合にはデータの値の保証はできません。 ■ リンカ (flnk911) リトルエンディアン領域を使用するプログラムの作成において , リンク時のセクショ ン配置で注意すべき項目を以下に示します。 ● セクション種別の制限 リトルエンディアン領域には , 初期値なしデータセクションのみ配置することができ ます。 リトルエンディアン領域に初期値付きデータセクション , スタックセクション , および コードセクションを配置した場合 , リンカの内部では , ビッグエンディアンでアドレス 解決などの演算処理を行っていますので , プログラム動作は保証できなくなります。 ● エラーの未検出 リンカは , リトルエンディアン領域の認識をしていませんので , 上記制限事項に違反し た配置が行われても , エラーメッセージを通知することはありません。リトルエンディ アン領域に配置したセクションの内容を十分に確認のうえ使用してください。 706 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 D リトル・エンディアン領域を利用する際の注意事項 MB91220 シリーズ ■ デバッガ (sim911, eml911, mon911) ● シミュレータデバッガ リトルエンディアン領域を示すような , メモリ空間指定コマンドはありません。 したがって , メモリ操作コマンドや , メモリを操作する命令実行は , ビッグエンディア ンとして扱われます。 ● エミュレータデバッガ , モニタデバッガ 以下のコマンドでリトルエンディアン領域をアクセスした場合に , 正常な値として扱 われませんので注意してください。 − set memory/show memory/enter/examine/set watch コマンド → 浮動小数点 (single/double) のデータを扱った場合 , 指定した値が設定・表示と もにできません。 − search memory コマンド → halfword, word のデータの検索を行った場合 , 指定した値で検索が行われませ ん。 − 行 / 逆アセンブル ( ソースウィンドウの逆アセンブル表示を含む ) → 正常な命令コードが設定・表示ともにできません ( リトルエンディアン領域には , 命令コードを配置しないようにしてくださ い )。 − call/show call コマンド → スタック領域が, リトルエンディアン領域に置かれた場合, 正常に動作しませ ん (リトルエンディアン領域にスタック領域を配置しないようにしてください)。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 707 付録 付録 E 命令一覧 付録 E MB91220 シリーズ 命令一覧 FR ファミリーの命令一覧表を示します。その前に , 命令一覧を理解するために次の 事項について説明します。 • 命令一覧表の読み方 • アドレッシングモードの記号 • 命令フォーマット ■ 命令一覧表の読み方 ニーモニック 型 OP CYCLE NZVC 動作 ADD Rj, Rj A AG 1 CCCC Ri + Rj → Rj *ADD #s5, Rj C A4 1 CCCC Ri + s5 → Ri ↓ 1) , , , , , , , , , , , , ↓ 3) ↓ 4) ↓ 5) ↓ 6) ↓ 7) ↓ 2) 備考 1) 命令名が示されています。 - * 印は , CPU 仕様にはなくアセンブラで命令を拡張または追加した拡張命令です。 2) オペランドに指定可能なアドレッシングモードを記号で示されています。 - 記号の意味は ,「■ アドレッシングモードの記号」を参照してください。 3) 命令フォーマットが示されています。 4) 命令コードが 16 進数表示されています。 5) 命令実行サイクル数を表しています。 - a: メモリアクセスサイクルであり , Ready 機能により延びる可能性があります。 - b: メモリアクセスサイクルであり , Ready 機能により延びる可能性があります。た だし , LD 動作の対象となるレジスタを直後の命令が参照する場合にはインター ロックがかかり , 実行サイクル数が +1 増加します。 - c: 直後の命令が , R15, SSP または USP に対し , 読出しまたは書込みを行う命令で あるとき , あるいは命令フォーマット A の命令であるとき , インターロックがか かり , 実行サイクル数は +1 増加して 2 となります。 - d: 直後の命令が MDH/MDL を参照する場合インターロックがかかり , 実行サイク ル数は増加して 2 となります。 ただし , DIV1 命令の直後に , 特殊レジスタ (TBR, RP, USP, SSP, MDH, MDL) を ST Rs,@R15- 命令でアクセスすると , 常にインターロックが掛かって , 実行サイクル 数は増加して 2 となります。 - a, b, c, d とも最小は 1 サイクルです。 管理番号 : CM71-00103-1 708 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ 6) フラグ変化を表しています。 フラグ変化 C 0 1 : 変化する : 変化しない : クリア : セット フラグの意味 N Z V C : : : : ネガティブフラグ ゼロフラグ オーバフラグ キャリフラグ 7) 命令動作が表記されています。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 709 付録 付録 E 命令一覧 MB91220 シリーズ ■ アドレッシングモードの記号 付表 E-1 アドレッシングモードの記号説明 記号 意味 Ri レジスタ直接 (R0 ∼ R15, AC, FP, SP) Rj レジスタ直接 (R0 ∼ R15, AC, FP, SP) R13 レジスタ直接 (R13, AC) PS レジスタ直接 ( プログラムステータスレジスタ ) Rs レジスタ直接 (TBR, RP, SSP, USP, MDH, MDL) CRi レジスタ直接 (CR0 ∼ CR15) CRj レジスタ直接 (CR0 ∼ CR15) #i4 符号なし 4 ビット即値 ( 命令の種類に応じて 0 ∼ 15, あるいは -16 ∼ -1) #i8 符号なし 8 ビット即値 (-128 ∼ 255) ( 注意事項 ) -128 ∼ -1 は , 128 ∼ 255 として扱います。 #i20 符号なし 20 ビット即値 (-0x80000 ∼ 0xFFFFF) ( 注意事項 ) -0x7FFFF ∼ -1 は , 0x7FFFF ∼ 0xFFFFF として扱いま す。 #i32 符号なし 32 ビット即値 (-0x80000000 ∼ 0xFFFFFFFF) ( 注意事項 ) -0x80000000 ∼ -1 は , 0x80000000 ∼ 0xFFFFFFFF とし て扱います。 #s5 符号付き 5 ビット即値 (-16 ∼ 15) #s10 符号付き 10 ビット即値 (-512 ∼ 508, 4 の倍数のみ ) #u4 符号なし 4 ビット即値 (0 ∼ 15) #u5 符号なし 5 ビット即値 (0 ∼ 31) #u8 符号なし 8 ビット即値 (0 ∼ 255) #u10 符号なし 10 ビット即値 (0 ∼ 1020, 4 の倍数のみ ) @dir8 符号なし 8 ビット直接アドレス (0 ∼ 0xFF) @dir9 符号なし 9 ビット直接アドレス (0 ∼ 0x1FE, 2 の倍数のみ ) @dir10 符号なし 10 ビット直接アドレス (0 ∼ 0x3FC, 4 の倍数のみ ) label9 符号付き 9 ビット分岐アドレス (-0x100 ∼ 0xFC, 2 の倍数のみ ) label12 符号付き 12 ビット分岐アドレス (-0x800 ∼ 0x7FC, 2 の倍数のみ ) label20 符号付き 20 ビット分岐アドレス (-0x80000 ∼ 0x7FFFF) label32 符号付き 32 ビット分岐アドレス (-0x80000000 ∼ 0x7FFFFFFF) @Ri レジスタ間接 (R0 ∼ R15, AC, FP, SP) @Rj レジスタ間接 (R0 ∼ R15, AC, FP, SP) @(R13,Rj) レジスタ相対間接 (Rj:R0 ∼ R15, AC, FP, SP) @(R14,disp10) レジスタ相対間接 (disp10:-0x200 ∼ 0x1FC, 4 の倍数のみ ) @(R14,disp9) レジスタ相対間接 (disp9:-0x100 ∼ 0xFE, 2 の倍数のみ ) @(R14,disp8) レジスタ相対間接 (disp8:-0x80 ∼ 0x7F) @(R15,udisp6) レジスタ相対間接 (udisp6:0 ∼ 60, 4 の倍数のみ ) @Ri+ ポストインクリメント付きレジスタ間接 (R0 ∼ R15, AC, FP, SP) @R13+ ポストインクリメント付きレジスタ間接 (R13, AC) @SP+ スタックポップ @-SP スタックプッシュ (reglist) レジスタリスト • extu( ): ゼロ拡張操作を示し , 上位ビットの欠けている部分に "0" を補います。 • extn( ): マイナス拡張操作を示し , 上位ビットの欠けている部分に "1" を補います。 • exts( ): 符号拡張操作を示し , () のデータの MSB が "0" ならばゼロ拡張操作をし , MSB が "1" ならばマイナス拡張操作をします。 710 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ 命令フォーマット 付表 E-2 命令フォーマット 型 命令フォーマット MSB LSB 16bit A B OP Rj Ri 8 4 4 OP i8/o8 Ri 4 8 4 C OP u4/m4/i4 Ri 8 4 4 ADD, ADDN, CMP, LSL, LSR, ASR 命令のみ * C’ OP s5/u5 Ri 7 5 4 D E F CM71-10142-5 OP u8/rel8/dir/ reglist 8 8 OP SUB-OP Ri 8 4 4 OP rel11 5 11 FUJITSU SEMICONDUCTOR LIMITED 711 付録 付録 E 命令一覧 E.1 MB91220 シリーズ FR ファミリーの命令一覧表 FR ファミリーの命令一覧表を下記の命令順に記載します。 ■ FR ファミリーの命令一覧表 付表 E-3 加減算命令 付表 E-4 比較演算命令 付表 E-5 論理演算命令 付表 E-6 ビット操作命令 付表 E-7 乗除算命令 付表 E-8 シフト命令 付表 E-9 即値セット /16 ビット /32 ビット即値転送命令 付表 E-10 メモリロード命令 付表 E-11 メモリストア命令 付表 E-12 レジスタ間転送命令 付表 E-13 通常分岐 ( 遅延なし ) 命令 付表 E-14 遅延分岐命令 付表 E-15 その他の命令 付表 E-16 20 ビット通常分岐マクロ命令 付表 E-17 20 ビット遅延分岐マクロ命令 付表 E-18 32 ビット通常分岐マクロ命令 付表 E-19 32 ビット遅延分岐マクロ命令 付表 E-20 ダイレクトアドレッシング命令 付表 E-21 リソース命令 付表 E-22 コプロセッサ制御命令 712 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ 加減算命令 付表 E-3 加減算命令 *ADD #s5, Ri 型 OP CYCLE NZVC 動作 A A6 1 CCCC Ri + Rj → Ri C’ A4 1 CCCC Ri + s5 → Ri ADD #i4, Ri C A4 ADD2 ニーモニック ADD Rj, Ri 1 CCCC Ri + extu(i4) → Ri CCCC Ri + extn(i4) → Ri CCCC Ri + Rj + c → Ri 備考 アセンブラでは上位 1 ビットを符号と見る ゼロ拡張 #i4, Ri C A5 1 ADDC Rj, Ri A A7 1 ADDN Rj, Ri A A2 1 ---- Ri + Rj → Ri *ADDN #s5, Ri C’ A0 1 ---- Ri + s5 → Ri アセンブラでは上位 1 ビットを符号と見る ADDN #i4, Ri C A0 1 ---- Ri + extu(i4) → Ri ゼロ拡張 ADDN2 #i4, Ri C A1 1 ---- Ri + extn(i4) → Ri マイナス拡張 SUB Rj, Ri A AC 1 SUBC Rj, Ri A AD 1 SUBN Rj, Ri A AE 1 CCCC Ri - Rj → Ri CCCC Ri - Rj - c → Ri ---Ri - Rj → Ri マイナス拡張 キャリ付き加算 キャリ付き減算 ■ 比較演算命令 付表 E-4 比較演算命令 ニーモニック CMP Rj, Ri *CMP #s5, Ri 型 OP CYCLE NZVC 動作 A AA 1 CCCC Ri - Rj C’ A8 1 CCCC Ri - s5 CMP CMP2 C C #i4, Ri #i4, Ri A8 A9 1 1 CCCC Ri - extu(i4) CCCC Ri - extn(i4) 備考 アセンブラでは上位 1 ビットを符号と見る ゼロ拡張 マイナス拡張 ■ 論理演算命令 付表 E-5 論理演算命令 ニーモニック AND Rj, Ri 型 OP CYCLE NZVC A 82 1 CC-- Ri 動作 &= Rj 備考 ワード Rj, @Ri * A 84 1+2a CC-- (Ri) &= Rj ワード ANDH Rj, @Ri * A 85 1+2a CC-- (Ri) &= Rj ハーフワード ANDB Rj, @Ri OR Rj, Ri * A 86 1+2a CC-- (Ri) &= Rj バイト A 92 1 CC-- Ri |= Rj ワード OR Rj, @Ri * A 94 1+2a CC-- (Ri) |= Rj ワード ORH Rj, @Ri * A 95 1+2a CC-- (Ri) |= Rj ハーフワード ORB EOR Rj, @Ri * Rj, Ri A 96 1+2a CC-- (Ri) |= Rj バイト A 9A 1 CC-- Ri ^= Rj ワード EOR Rj, @Ri * A 9C 1+2a CC-- (Ri) ^= Rj ワード EORH Rj, @Ri * A 9D 1+2a CC-- (Ri) ^= Rj ハーフワード EORB * A 9E 1+2a CC-- (Ri) ^= Rj バイト AND Rj, @Ri *: これらの命令をアセンブラで記述する場合 , Rj には R15 以外の汎用レジスタを指定してください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 713 付録 付録 E 命令一覧 MB91220 シリーズ ■ ビット操作命令 付表 E-6 ビット操作命令 ニーモニック BANDL #u4, @Ri 型 OP C 80 BANDH #u4, @Ri C 81 *BAND #u8, @Ri *1 BORL #u4, @Ri C 90 BORH C 91 #u4, @Ri *BOR #u8, @Ri BEORL #u4, @Ri CYCLE NZVC 1+2a ---- 1+2a ---- 備考 ---- 下位 4 ビットを操作 (Ri) &= ((u4<<4)+0x0F) 上位 4 ビットを操作 (Ri) &= u8 1+2a ---- (Ri) |= u4 下位 4 ビットを操作 1+2a ---- (Ri) |= (u4<<4) 上位 4 ビットを操作 ---- (Ri) |= u8 *2 BEORH #u4, @Ri 動作 (Ri) &= (0xF0+u4) C 98 1+2a ---- (Ri) ^= u4 下位 4 ビットを操作 C 99 1+2a ---- (Ri) ^= (u4<<4) 上位 4 ビットを操作 ---- (Ri) ^= u8 *BEOR #u8, @Ri *3 BTSTL #u4, @Ri C 88 2+a 0C-- (Ri) & u4 下位 4 ビットテスト BTSTH #u4, @Ri C 89 2+a CC-- (Ri) & (u4<<4) 上位 4 ビットテスト *1: アセンブラは , u8&0x0F でビットが立っていれば , BANDL を生成し , u8&0xF0 でビットが立って いれば , BANDH を生成します。BANDL, BANDH の両方を生成する場合もあります。 *2: アセンブラは , u8&0x0F でビットが立っていれば , BORL を生成し , u8&0xF0 でビットが立って いれば , BORH を生成します。BORL, BORH の両方を生成する場合もあります。 *3: アセンブラは , u8&0x0F でビットが立っていれば , BEORL を生成し , u8&0xF0 でビットが立って いれば , BEORH を生成します。BEORL, BEORH の両方を生成する場合もあります。 ■ 乗除算命令 付表 E-7 乗除算命令 MULUH Rj,Ri 型 OP CYCLE NZVC 動作 A AF 5 CCC- Ri * Rj → MDH,MDL A AB 5 CCC- Ri * Rj → MDH,MDL A BF 3 CC-- Ri * Rj → MDL A BB 3 CC-- Ri * Rj → MDL DIV0S Ri E 97-4 1 ---- DIV0U DIV1 Ri Ri DIV2 DIV3 DIV4S Ri *3 E 97-5 E 97-6 E 97-7 1 d 1 ----C-C -C-C E 9F-6 E 9F-7 *DIV Ri *1 1 1 36 -------C-C ニーモニック MUL Rj,Ri MULU Rj,Ri MULH Rj,Ri 備考 32bit × 32bit=64bit 符号なし 16bit × 16bit=32bit 符号なし ステップ演算 32bit/32bit=32bit MDL / Ri → MDL , MDL % Ri → MDH*4 *DIVU Ri *2 33 -C-C MDL / Ri → MDL , MDL % Ri → 符号なし MDH*4 *1:DIV0S, DIV1 × 32, DIV2, DIV3, DIV4S を生成します。命令コード長は , 72 バイトとなります。 *2:DIV0U, DIV1 × 32 を生成します。命令コード長は , 66 バイトとなります。 *3:DIV2 命令の後には , 必ず DIV3 命令を置いてください。 *4:% は剰余演算子 714 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ シフト命令 付表 E-8 シフト命令 ニーモニック LSL Rj, Ri 型 A OP CYCLE NZVC B6 1 CC-C Ri << Rj → Ri *LSL #u5, Ri (u5:0 ∼ 31) LSL #u4, Ri C’ B4 1 CC-C Ri << u5 → Ri C B4 1 CC-C Ri << u4 → Ri LSL2 #u4, Ri C B5 1 CC-C Ri << (u4+16) → Ri LSR Rj, Ri A B2 1 CC-C Ri >> Rj → Ri *LSR #u5, Ri (u5:0 ∼ 31) LSR #u4, Ri C’ B0 1 CC-C Ri >> u5 → Ri C B0 1 CC-C Ri >> u4 → Ri LSR2 #u4, Ri C B1 1 CC-C Ri >> (u4+16) → Ri ASR Rj, Ri A BA 1 CC-C Ri >> Rj → Ri *ASR #u5, Ri (u5:0 ∼ 31) ASR #u4, Ri C’ B8 1 CC-C Ri >> u5 → Ri C B8 1 CC-C Ri >> u4 → Ri ASR2 #u4, Ri C B9 1 CC-C Ri >> (u4+16) → Ri 動作 備考 論理シフト 論理シフト 算術シフト ■ 即値セット /16 ビット /32 ビット即値転送命令 付表 E-9 即値セット /16 ビット /32 ビット即値転送命令 ニーモニック LDI:32 #i32, Ri LDI:20 #i20, Ri LDI:8 #i8, Ri *LDI #{i8 | i20 | i32},Ri *1 型 OP CYCLE NZVC 動作 E 9F-8 3 ---i32 → Ri C 9B 2 ---i20 → Ri 上位 12 ビットはゼロ拡張 B 上位 24 ビットはゼロ拡張 C0 1 ---- i8 → Ri 備考 {i8 | i20 | i32} → Ri *1: 即値が絶対値の場合は , i8, i20, i32 の選択はアセンブラが自動的に行います。 即値が , 相対値または外部参照シンボルを含む場合は , i32 が選択されます。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 715 付録 付録 E 命令一覧 MB91220 シリーズ ■ メモリロード命令 付表 E-10 メモリロード命令 LD ニーモニック @Rj, Ri 型 A OP CYCLE NZVC 動作 04 b ---- (Rj) → Ri LD @(R13,Rj), Ri A 00 b ---- (R13+Rj) → Ri LD @(R14,disp10), Ri B 20 b ---- (R14+disp10) → Ri LD @(R15,udisp6), Ri C 03 b ---- (R15+udisp6) → Ri LD @R15+, Ri E 07-0 b ---- (R15) → Ri, R15+=4 LD @R15+, Rs E 07-8 b ---- (R15) → Rs, R15+=4 CCCC (R15) → PS, R15+=4 ---(Rj) → Ri 備考 Rs: 特殊レジスタ * LD @R15+, PS E 07-9 1+a+c LDUH @Rj, Ri A 05 b LDUH @(R13,Rj), Ri A 01 b ---- (R13+Rj) → Ri ゼロ拡張 LDUH @(R14,disp9), Ri B 40 b ---- (R14+disp9) → Ri ゼロ拡張 LDUB @Rj, Ri A 06 b ---- (Rj) → Ri ゼロ拡張 LDUB @(R13,Rj), Ri A 02 b ---- (R13+Rj) → Ri ゼロ拡張 LDUB @(R14,disp8), Ri B 60 b ---- (R14+disp8) → Ri ゼロ拡張 ゼロ拡張 *: 特殊レジスタ Rs:TBR, RP, USP, SSP, MDH, MDL <注意事項> ハード仕様のo8, o4のフィールドには,次のようにアセンブラが計算して値を設定します。 - disp10/4 → o8, disp9/2 → o8, disp8 → o8 (disp10, disp9, disp8 は符号付きです。) - udisp6/4 → o4 (udisp6 は , 符号なしです。) 716 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ メモリストア命令 付表 E-11 メモリストア命令 ST ニーモニック Ri, @Rj 型 A OP CYCLE NZVC 動作 備考 14 a ---- Ri → (Rj) ワード ST Ri, @(R13,Rj) A 10 a ---- Ri → (R13+Rj) ワード ST Ri, @(R14,disp10) B 30 a ---- Ri → (R14+disp10) ワード ST Ri, @(R15,udisp6) C 13 a ---- Ri → (R15+udisp6) ST Ri, @-R15 E 17-0 a ---- R15-=4, Ri → (R15) ST Rs, @-R15 E 17-8 a ---- R15-=4, Rs → (R15) Rs: 特殊レジスタ * ST PS, @-R15 E 17-9 a ---- R15-=4, PS → (R15) STH Ri, @Rj A 15 a ---- Ri → (Rj) ハーフワード STH Ri, @(R13,Rj) A 11 a ---- Ri → (R13+Rj) ハーフワード STH Ri, @(R14,disp9) B 50 a ---- Ri → (R14+disp9) ハーフワード STB Ri, @Rj A 16 a ---- Ri → (Rj) バイト STB Ri, @(R13,Rj) A 12 a ---- Ri → (R13+Rj) バイト STB Ri, @(R14,disp8) B 70 a ---- Ri → (R14+disp8) バイト *: 特殊レジスタ Rs:TBR, RP, USP, SSP, MDH, MDL <注意事項> ハード仕様のo8, o4のフィールドには,次のようにアセンブラが計算して値を設定します。 - disp10/4 → o8, disp9/2 → o8, disp8 → o8 (disp10, disp9, disp8 は符号付きです。) - udisp6/4 → o4 (udisp6 は , 符号なしです。) ■ レジスタ間転送命令 付表 E-12 レジスタ間転送命令 ニーモニック MOV Rj, Ri 型 A OP CYCLE NZVC 8B 1 ---- Rj → Ri 汎用レジスタ間転送 MOV Rs, Ri A B7 1 ---- Rs → Ri Rs: 特殊レジスタ * MOV Ri, Rs E B3 1 ---- Ri → Rs Rs: 特殊レジスタ * MOV PS, Ri E 17-1 1 ---- PS → Ri MOV Ri, PS E 07-1 c CCCC Ri → PS 動作 備考 *: 特殊レジスタ Rs:TBR, RP, USP, SSP, MDH, MDL CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 717 付録 付録 E 命令一覧 MB91220 シリーズ ■ 通常分岐 ( 遅延なし ) 命令 付表 E-13 通常分岐 ( 遅延なし ) 命令 ニーモニック JMP @Ri CALL label12 型 E F CALL @Ri E RET INT #u8 E D INTE E RETI E BRA BNO BEQ label9 label9 label9 D D D BNE label9 D BC label9 D BNC label9 D BN label9 D BP label9 D BV label9 D BNV label9 D BLT label9 D BGE label9 D BLE label9 D BGT label9 D BLS label9 D BHI label9 D 718 OP CYCLE NZVC 動作 97-0 2 ---- Ri → PC D0 2 ---- PC+2 → RP , PC+2+(label12-PC-2) → PC 97-1 2 ---- PC+2 → RP ,Ri → PC 97-2 2 ---- RP → PC 1F 3+3a ---- SSP-=4,PS → (SSP), SSP-=4,PC+2 → (SSP), 0 → I フラグ , 0 → S フラグ , (TBR+0x3FC-u8 × 4) → PC 9F-3 3+3a ---- SSP-=4,PS → (SSP), SSP-=4,PC+2 → (SSP), 0 → S フラグ , (TBR+0x3D8) → PC 97-3 2+2a CCCC (R15) → PC,R15+=4, (R15) → PS,R15+=4 E0 2 ---- PC+2+(label9-PC-2) → PC E1 1 ---非分岐 E2 2/1 ---- if(Z==1) then PC+2+(label9-PC-2) → PC E3 2/1 ---- if(Z==0) then PC+2+(label9-PC-2) → PC E4 2/1 ---- if(C==1) then PC+2+(label9-PC-2) → PC E5 2/1 ---- if(C==0) then PC+2+(label9-PC-2) → PC E6 2/1 ---- if(N==1) then PC+2+(label9-PC-2) → PC E7 2/1 ---- if(N==0) then PC+2+(label9-PC-2) → PC E8 2/1 ---- if(V==1) then PC+2+(label9-PC-2) → PC E9 2/1 ---- if(V==0) then PC+2+(label9-PC-2) → PC EA 2/1 ---- if(V xor N==1) then PC+2+(label9-PC-2) → PC EB 2/1 ---- if(V xor N==0) then PC+2+(label9-PC-2) → PC EC 2/1 ---- if((V xor N) or Z==1) then PC+2+(label9-PC-2) → PC ED 2/1 ---- if((V xor N) or Z==0) then PC+2+(label9-PC-2) → PC EE 2/1 ---- if(C or Z==1) then PC+2+(label9-PC-2) → PC EF 2/1 ---- if(C or Z==0) then PC+2+(label9-PC-2) → PC FUJITSU SEMICONDUCTOR LIMITED 備考 リターン エミュレータ用 CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ <注意事項> • CYCLE 数の「2/1」は , 分岐するとき 2, 分岐しないとき 1 であることを示します。 • ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を設定 します。 (label12-PC-2)/2 → rel11, (label9-PC-2)/2 → rel8 (label12, label9 は符号付きです。) • RETI 命令を実行するときは , S フラグが "0" であることが必要です。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 719 付録 付録 E 命令一覧 MB91220 シリーズ ■ 遅延分岐命令 付表 E-14 遅延分岐命令 OP CYCLE NZVC ニーモニック JMP:D @Ri CALL:D label12 型 E F 9F-0 D8 1 1 ------- CALL:D @Ri RET:D BRA:D label9 BNO:D label9 BEQ:D label9 E E D D D 9F-1 9F-2 F0 F1 F2 1 1 1 1 1 ---------------- BNE:D label9 D F3 1 ---- BC:D label9 D F4 1 ---- BNC:D label9 D F5 1 ---- BN:D label9 D F6 1 ---- BP:D label9 D F7 1 ---- BV:D label9 D F8 1 ---- BNV:D label9 D F9 1 ---- BLT:D label9 D FA 1 ---- BGE:D label9 D FB 1 ---- BLE:D label9 D FC 1 ---- BGT:D label9 D FD 1 ---- BLS:D label9 D FE 1 ---- BHI:D D FF 1 ---- label9 動作 Ri → PC PC+4 → RP , PC+2+(label12-PC-2) → PC PC+4 → RP ,Ri → PC RP → PC PC+2+(label9-PC-2) → PC 非分岐 if(Z==1) then PC+2+(label9-PC-2) → PC if(Z==0) then PC+2+(label9-PC-2) → PC if(C==1) then PC+2+(label9-PC-2) → PC if(C==0) then PC+2+(label9-PC-2) → PC if(N==1) then PC+2+(label9-PC-2) → PC if(N==0) then PC+2+(label9-PC-2) → PC if(V==1) then PC+2+(label9-PC-2) → PC if(V==0) then PC+2+(label9-PC-2) → PC if(V xor N==1) then PC+2+(label9-PC-2) → PC if(V xor N==0) then PC+2+(label9-PC-2) → PC if((V xor N) or Z==1) then PC+2+(label9-PC-2) → PC if((V xor N) or Z==0) then PC+2+(label9-PC-2) → PC if(C or Z==1) then PC+2+(label9-PC-2) → PC if(C or Z==0) then PC+2+(label9-PC-2) → PC 備考 リターン <注意事項> • ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を設定 します。 (label12-PC-2)/2 → rel11, (label9-PC-2)/2 → rel8 (label12, label9 は符号付きです。) • 遅延分岐は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。 • 遅延スロットに置くことができる命令は , すべての 1 サイクル , a, b, c, d サイクル命令 です。 複数サイクル命令は置けません。 720 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ その他の命令 付表 E-15 その他の命令 OP CYCLE NZVC NOP 型 E 9F-A 1 ---- ANDCCR #u8 D 83 c CCCC CCR and u8 → CCR ORCCR #u8 D 93 c CCCC CCR or u8 → CCR STILM #u8 D 87 1 ---- D A3 1 ---- E 97-8 1 ---- 符号拡張 8bit → 32bit ニーモニック *1 動作 備考 何も変化しない u8 → ILM R15 += s10 ADDSP EXTSB #s10 Ri EXTUB Ri E 97-9 1 ---- ゼロ拡張 8bit → 32bit EXTSH Ri E 97-A 1 ---- 符号拡張 16bit → 32bit 1 EXTUH Ri E 97-B ---- ゼロ拡張 16bit → 32bit LDM0 (reglist) D 8C ---- (R15) → reglist, LDM1 (reglist) D 8D ---- *LDM (reglist) *2 STM0 (reglist) D 8E ---- STM1 (reglist) D 8F ---- ILM 即値セット ADD SP 命令 ロードマルチ R0-R7 R15 インクリメント (R15) → reglist, ロードマルチ R8-R15 R15 インクリメント ---- (R15) → reglist, ロードマルチ R0-R15 R15 インクリメント R15 ディクリメント , ストアマルチ R0-R7 reglist → (R15) R15 ディクリメント , ストアマルチ R8-R15 reglist → (R15) *STM (reglist) *3 ENTER #u10 *4 ---- R15 ディクリメント , ---- R14 → (R15 - 4), ストアマルチ R0-R15 reglist → (R15) D 0F 1+a 関数の入口処理 R15 - 4 → R14, R15 - u10 → R15 LEAVE E 9F-9 b ---- R14 + 4 → R15, 関数の出口処理 (R15 - 4) → R14 XCHB @Rj, Ri *5 A 8A 2a ---- Ri → TEMP セマフォ管理用 (Rj) → Ri バイトデータ TEMP → (Rj) *1: s10 はアセンブラが , s10/4 を計算して s8 にして値を設定します。s10 は符号付きです。 *2: reglist で , R0-R7 のどちらかの指定があれば , LDM0 を生成し , R8-R15 のどちらかの指定があれば , LDM1 を生成します。LDM0, LDM1 の両方を生成する場合もあります。 *3: reglist で , R0-R7 のどちらかの指定があれば , STM0 を生成し , R8-R15 のどちらかの指定があれば , STM1 を 生成します。STM1, STM0 の両方を生成する場合もあります。 *4: u10 はアセンブラが , u10/4 を計算して u8 にして値を設定します。u10 は符号なしです。 *5: この命令をアセンブラで記述する場合 , Ri には R15 以外の汎用レジスタを指定してください。 <注意事項> • LDM0(reglist), LDM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき , a × (n-1)+b+1 サイクルとなります。 • STM0(reglist), STM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき , a × n+1 サイクルとなります。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 721 付録 付録 E 命令一覧 MB91220 シリーズ ■ 20 ビット通常分岐マクロ命令 付表 E-16 20 ビット通常分岐マクロ命令 ニーモニック *CALL20 label20,Ri 動作 次の命令のアドレス→ RP, 備考 Ri: テンポラリレジスタ ( 参考 1 参照 ) label20 → PC *BRA20 label20,Ri label20 → PC Ri: テンポラリレジスタ ( 参考 2 参照 ) *BEQ20 label20,Ri if(Z==1) then label20 → PC Ri: テンポラリレジスタ ( 参考 3 参照 ) *BNE20 label20,Ri *BNC20 if(Z==0) then label20 → PC label20,Ri if(C==1) then label20 → PC label20,Ri if(C==0) then label20 → PC ↑ *BN20 label20,Ri if(N==1) then label20 → PC ↑ *BP20 label20,Ri if(N==0) then label20 → PC label20,Ri if(V==1) then label20 → PC ↑ ↑ label20,Ri if(V==0) then label20 → PC label20,Ri if(V xor N==1) then label20 → PC ↑ *BC20 *BV20 *BNV20 *BLT20 *BGE20 *BLE20 *BGT20 *BLS20 *BHI20 ↑ ↑ ↑ label20,Ri if(V xor N==0) then label20 → PC ↑ label20,Ri if((V xor N) or Z==1) then label20 → PC ↑ label20,Ri if((V xor N) or Z==0) then label20 → PC ↑ label20,Ri if(C or Z==1) then label20 → PC label20,Ri if(C or Z==0) then label20 → PC ↑ ↑ 参考 1 : CALL20 1. label20-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL label12 2. abel20-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成 します。 LDI:20 #label20,Ri CALL @Ri 参考 2 : BRA20 1. label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA label9 2. label20-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:20 #label20,Ri JMP @Ri 参考 3 : Bcc20 1. label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc label9 2. label20-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 Bxcc false ;xcc は , cc の背反条件 LDI:20 #label20,Ri JMP @Ri false: 722 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ 20 ビット遅延分岐マクロ命令 付表 E-17 20 ビット遅延分岐マクロ命令 ニーモニック *CALL20:D label20,Ri 動作 次の命令のアドレス +2 → RP, 備考 Ri: テンポラリレジスタ ( 参考 1 参照 ) label20 → PC *BRA20:D label20,Ri label20 → PC Ri: テンポラリレジスタ ( 参考 2 参照 ) *BEQ20:D label20,Ri if(Z==1) then label20 → PC Ri: テンポラリレジスタ ( 参考 3 参照 ) *BNE20:D label20,Ri if(Z==0) then label20 → PC ↑ *BC20:D label20,Ri if(C==1) then label20 → PC ↑ *BNC20:D label20,Ri if(C==0) then label20 → PC ↑ *BN20:D label20,Ri if(N==1) then label20 → PC ↑ *BP20:D label20,Ri if(N==0) then label20 → PC ↑ *BV20:D label20,Ri if(V==1) then label20 → PC ↑ *BNV20:D label20,Ri if(V==0) then label20 → PC ↑ *BLT20:D label20,Ri if(V xor N==1) then label20 → PC ↑ *BGE20:D label20,Ri if(V xor N==0) then label20 → PC ↑ *BLE20:D label20,Ri if((V xor N) or Z==1) then label20 → PC ↑ *BGT20:D label20,Ri if((V xor N) or Z==0) then label20 → PC ↑ *BLS20:D label20,Ri if(C or Z==1) then label20 → PC ↑ *BHI20:D label20,Ri if(C or Z==0) then label20 → PC ↑ 参考 1 : CALL20:D 1. label20-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL:D label12 2. label20-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:20 #label20,Ri CALL:D @Ri 参考 2 : BRA20:D 1. label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA:D label9 2. label20-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:20 #label20,Ri JMP:D @Ri 参考 3 : Bcc20:D 1. label20-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc:D label9 2. label20-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 Bxcc false ;xcc は , cc の背反条件 LDI:20 #label20,Ri JMP:D @Ri false: CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 723 付録 付録 E 命令一覧 MB91220 シリーズ ■ 32 ビット通常分岐マクロ命令 付表 E-18 32 ビット通常分岐マクロ命令 ニーモニック *CALL32 label32,Ri 動作 次の命令のアドレス→ RP, 備考 Ri: テンポラリレジスタ ( 参考 1 参照 ) label32 → PC *BRA32 label32,Ri label32 → PC Ri: テンポラリレジスタ ( 参考 2 参照 ) *BEQ32 label32,Ri if(Z==1) then label32 → PC Ri: テンポラリレジスタ ( 参考 3 参照 ) *BNE32 label32,Ri if(Z==0) then label32 → PC ↑ *BC32 label32,Ri if(C==1) then label32 → PC ↑ *BNC32 label32,Ri if(C==0) then label32 → PC ↑ *BN32 label32,Ri if(N==1) then label32 → PC ↑ *BP32 label32,Ri if(N==0) then label32 → PC ↑ *BV32 label32,Ri if(V==1) then label32 → PC ↑ *BNV32 label32,Ri if(V==0) then label32 → PC ↑ *BLT32 label32,Ri if(V xor N==1) then label32 → PC ↑ *BGE32 label32,Ri if(V xor N==0) then label32 → PC ↑ *BLE32 label32,Ri if((V xor N) or Z==1) then label32 → PC ↑ *BGT32 label32,Ri if((V xor N) or Z==0) then label32 → PC ↑ *BLS32 label32,Ri if(C or Z==1) then label32 → PC ↑ *BHI32 label32,Ri if(C or Z==0) then label32 → PC ↑ 参考 1 : CALL32 1. label32-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL label12 2. label32-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:32 #label32,Ri CALL @Ri 参考 2 : BRA32 1. label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA label9 2. label32-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:32 #label32,Ri JMP @Ri 参考 3 : Bcc32 1. label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc label9 2. label32-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 Bxcc false ;xcc は , cc の背反条件 LDI:32 #label32,Ri JMP @Ri false: 724 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ 32 ビット遅延分岐マクロ命令 付表 E-19 32 ビット遅延分岐マクロ命令 ニーモニック 動作 *CALL32:D label32,Ri 次の命令のアドレス +2 → RP, 備考 Ri: テンポラリレジスタ ( 参考 1 参照 ) label32 → PC *BRA32:D label32,Ri label32 → PC Ri: テンポラリレジスタ ( 参考 2 参照 ) *BEQ32:D label32,Ri if(Z==1) then label32 → PC Ri: テンポラリレジスタ ( 参考 3 参照 ) *BNE32:D label32,Ri if(Z==0) then label32 → PC ↑ *BC32:D label32,Ri if(C==1) then label32 → PC ↑ *BNC32:D label32,Ri if(C==0) then label32 → PC ↑ *BN32:D label32,Ri if(N==1) then label32 → PC ↑ *BP32:D label32,Ri if(N==0) then label32 → PC ↑ *BV32:D label32,Ri if(V==1) then label32 → PC ↑ *BNV32:D label32,Ri if(V==0) then label32 → PC ↑ *BLT32:D label32,Ri if(V xor N==1) then label32 → PC ↑ *BGE32:D label32,Ri if(V xor N==0) then label32 → PC ↑ *BLE32:D label32,Ri if((V xor N) or Z==1) then label32 → PC ↑ *BGT32:D label32,Ri if((V xor N) or Z==0) then label32 → PC ↑ *BLS32:D label32,Ri if(C or Z==1) then label32 → PC ↑ *BHI32:D label32,Ri if(C or Z==0) then label32 → PC ↑ 参考 1 : CALL32:D 1. label32-PC-2 が , -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL:D label12 2. label32-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:32 #label32,Ri CALL:D @Ri 参考 2 : BRA32:D 1. label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA:D label9 2. label32-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 LDI:32 #label32,Ri JMP:D @Ri 参考 3 : Bcc32:D 1. label32-PC-2 が , -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc:D label9 2. label32-PC-2 が , 1) の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生 成します。 Bxcc false ;xcc は , cc の背反条件 LDI:32 #label32,Ri JMP:D @Ri false: CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 725 付録 付録 E 命令一覧 MB91220 シリーズ ■ ダイレクトアドレッシング命令 付表 E-20 ダイレクトアドレッシング命令 ニーモニック DMOV @dir10, R13 型 D OP CYCLE NZVC 08 b ---- (dir10) → R13 ワード DMOV R13, @dir10 D 18 a ---- R13 → (dir10) ワード DMOV @dir10, @R13+ D 0C 2a ---- 動作 備考 (dir10) → (R13),R13+=4 ワード DMOV @R13+, @dir10 D 1C 2a ---- (R13) → (dir10),R13+=4 ワード DMOV @dir10, @-R15 D 0B 2a ---- R15-=4,(R15) → (dir10) ワード DMOV @R15+, @dir10 D 1B 2a ---- (R15) → (dir10),R15+=4 ワード DMOVH @dir9, R13 D 09 b ---- (dir9) → R13 ハーフワード DMOVH R13, @dir9 D 19 a ---- R13 → (dir9) ハーフワード DMOVH @dir9, @R13+ D 0D 2a ---- (dir9) → (R13),R13+=2 ハーフワード DMOVH @R13+, @dir9 D 1D 2a ---- (R13) → (dir9),R13+=2 ハーフワード DMOVB @dir8, R13 D 0A b ---- (dir8) → R13 バイト DMOVB R13, @dir8 D 1A a ---- R13 → (dir8) バイト DMOVB @dir8, @R13+ D DMOVB @R13+, @dir8 D 0E 2a ---- (dir8) → (R13),R13++ バイト 1E 2a ---- (R13) → (dir8),R13++ バイト <注意事項> dir8, dir9, dir10 フィールドには , 次のようにアセンブラが計算して値を設定します。 dir8 → dir, dir9/2 → dir, dir10/4 → dir (dir8, dir9, dir10 は符号なしです。) ■ リソース命令 付表 E-21 リソース命令 ニーモニック LDRES @Ri+, #u4 型 C OP BC a ---- (Ri) → u4 のリソース Ri+=4 u4: チャネル番号 STRES C BD a ---- u4 のリソース→ (Ri) Ri+=4 u4: チャネル番号 #u4, @Ri+ CYCLE NZVC 動作 備考 <注意事項> 本シリーズでは , リソース命令の対象となる , チャネル番号を持つリソースを搭載してい ないため使用できません。 726 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 E 命令一覧 MB91220 シリーズ ■ コプロセッサ制御命令 付表 E-22 コプロセッサ制御命令 OP CYCLE NZVC ニーモニック COPOP #u4, #u8, CRj, CRi 型 E 動作 9F-C 2+a ---- 演算指示 COPLD #u4, #u8, Rj, CRi E 9F-D 1+2a ---- Rj → CRi COPST #u4, #u8, CRj, Ri E 9F-E 1+2a ---- CRj → Ri COPSV #u4, #u8, CRj, Ri E 9F-F 1+2a ---- CRj → Ri 備考 エラートラップなし <注意事項> - ・{CRi | CRj}:= CR0 | CR1 | CR2 | CR3 | CR4 | CR5 | CR6 | CR7 | CR8 | CR9 | CR10 | CR11 | CR12 | CR13 | CR14 | CR15 ・u4:= チャネル指定 ・u8:= コマンド指定 - 本シリーズでは , コプロセッサを搭載していないため使用できません。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 727 付録 付録 F 使用上の注意 付録 F MB91220 シリーズ 使用上の注意 使用上の注意事項です。 ■ 共通事項 ● クロック制御部 INITX 端子への "L" 入力時には , 発振安定待ち時間を確保してください。 ● 兼用ポートの機能切換え PORT と兼用端子の切換えは , PFR ( ポートファンクションレジスタ ) で行います。た だし , バス端子は外バスの設定により切り換わります。 ● D-bus メモリ コード領域を , D-bus 上のメモリに設定しないでください。 D-bus へは命令フェッチを行いませんので , D-bus 領域へ命令フェッチを行った場合 , 誤ったデータをコードとして解釈するため , 暴走する可能性があります。 728 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 F 使用上の注意 MB91220 シリーズ ● 低消費電力モード (1) スタンバイモードに入れる場合は , 以下のシーケンスを必ず使用してください。 /* STCR ライト */ ldi #_STCR, R0 ; STCR レジスタ (0x0481) ldi #Val_of_Stby, rl ; Val_of_Stby は , STCR へのライトデータ stb rl,@r0 ; STCR へのライト /* STBR ライト */ ldi #_CTBR, r2 ; CTBR レジスタ (0x0483) ldi #0xA5, rl ; クリアコマンド (1) stb rl,@r2 ; CTBR への A5 ライト ldi #0x5A, rl ; クリアコマンド (2) stb rl,@r2 ; CTBR への 5A ライト /* ここでタイムベースカウンタクリア */ ldub @r0, rl ; STCR リード /* 同期スタンバイ遷移開始 */ ldub nop @r0, rl ; STCR ダミーリード ; タイミング調整用の NOP × 5 nop nop nop nop (2) モニタデバッガを使用される場合は , 以下のことに注意してください。 - 上記命令列に対して , ブレークポイントを設定しないでください。 - 上記命令列に対して , ステップ実行を行わないでください。 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 729 付録 付録 F 使用上の注意 MB91220 シリーズ ● PS レジスタに関する注意事項 一部の命令で 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 要因が発生している状態で , 割込みを許可するために OR CCR, STILM, MOV Ri, PS の各命令が実行されると , 以下のような動作を行います。 (1) PS レジスタが , 先行して更新されます。 (2) EIT 処理ルーチン ( ユーザ割込み・NMI) を実行します。 (3) EIT から復帰後 , 上記命令が実行され , PS レジスタが (1) と同じ値に更新されま す。 ● ウォッチドッグタイマ機能について MB91220 シリーズが備えているウォッチドッグタイマ機能は , プログラムが一定時間 内にリセット延期動作を行うことを監視し , プログラムの暴走によりリセット延期動 作が行われなかったときに , CPU をリセットするための機能です。そのため , いったん ウォッチドッグタイマ機能を有効にすると , リセットをかけるまで動作を続けます。 例外として , CPU のプログラム実行が停止する条件では自動的にリセット延期を行い ます。この例外にあてはまる条件については ,「3.12.7 クロック生成制御部のレジスタ 詳細説明の ■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ」を 参照してください。 ■ デバッグ関連の注意事項 ● RETI 命令のステップ実行 ステップ実行する際 , 割込みが頻繁に発生する環境下では , RETI をステップ実行後に 該当割込み処理ルーチンだけを繰り返して実行します。その結果 , メインルーチンや割 込みレベルの低いプログラムの実行が行われなくなります。 回避のために , RETI 命令をステップ実行しないでください。 または , 該当割込みルーチンのデバッグが不要になった段階で , 該当割込みを禁止して デバッグを行ってください。 ● オペランドブレーク システムスタックポインタのアドレスを含む領域に対するアクセスを , データイベン トブレークの対象に設定しないでください。 730 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 付録 付録 F 使用上の注意 MB91220 シリーズ ● フラッシュメモリの未使用領域実行 フラッシュメモリの未使用領域 ( データが FFFFH) を誤って実行してしまうと , ブレー クを受け付けない状態になってしまいます。これを回避するために , デバッガのコード イベントのアドレスマスク機能を使用して , 未使用領域の命令アクセス時にブレーク させることを推奨いたします。 ● パワーオンデバッグ パワーオンデバッグで電源をOFFにするときは, 次の3条件をすべて満たす状態で行っ てください。 (1) ユーザ電源が 0.9VCC から 0.5VCC まで低下する時間が 25 μs 以上 ( 注意事項 ) 2 電源の場合は , VCC は外部 I/O 電源電圧のことを指します。 (2) CPU 動作周波数が 1MHz 以上 (3) ユーザプログラム実行中 ●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 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 731 付録 付録 F 使用上の注意 732 MB91220 シリーズ FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 索引 Numerics A 10 ビットスレーブアドレスマスクレジスタ 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) ........................................................................... 605 10 ビットスレーブアドレスレジスタ 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) ........... 604 16 ビット 即値セット /16 ビット /32 ビット即値転送命令 ........................................................................... 715 20 ビット 20 ビット遅延分岐マクロ命令 ............................. 723 20 ビット通常分岐マクロ命令 ............................. 722 2 サイクル 転送時 2 サイクル 転送時のデータの動作 ...................... 363 32 ビット 32 ビット遅延分岐マクロ命令 ............................. 725 32 ビット通常分岐マクロ命令 ............................. 724 即値セット /16 ビット /32 ビット即値転送命令 ........................................................................... 715 7 ビットスレーブアドレスマスクレジスタ 7 ビットスレーブアドレスマスクレジスタ (ISMK0,ISMK1) ................................................ 608 7 ビットスレーブアドレスレジスタ 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) ................................................ 607 A/D コンバータ A/D コンバータの概要 .......................................... 446 A/D コンバータの動作 .......................................... 460 A/D コンバータの特長 .......................................... 446 A/D コンバータのブロックダイヤグラム .......... 447 A/D コンバータのレジスタ一覧 .......................... 449 ACR ACR0 ∼ ACR3 (Area Configuration Register) ........................... 291 ADCR データレジスタ (ADCR0,ADCR1) ....................... 456 ADCS A/D コントロールステータスレジスタ (ADCS0) ........................................................................... 454 A/D コントロールステータスレジスタ (ADCS1) ........................................................................... 452 ADCT A/D 変換時間設定レジスタ (ADCT0,ADCT1) ........................................................................... 457 ADSCH A/D 開始 / 終了チャネル設定レジスタ (ADSCH,ADECH) ............................................ 458 AF200 AF200 フラッシュマイコンプログラマ システム構成 ( 横河ディジタルコンピュータ 株式会社製 ) ..................................................... 670 ASR ASR0 ∼ ASR3 (Area Select Register) ................... 289 AWR AWR0 ∼ AWR3 (Area Wait Register) .................. 295 B BGR ボーレート / リロードカウンタレジスタ (BGR) ............................................................................ 412 BS ビット BS ビットによる PWM コンペアレジスタの ロード動作 ....................................................... 375 BUSYX レディ / ビジー信号 (RDY/BUSYX) .................... 641 C CCR CCR (Condition Code Register) ................................ 38 CLKB CPU クロック (CLKB) ............................................ 86 CLKP 周辺クロック (CLKP) .............................................. 86 CLKR CLKR : クロックソース制御レジスタ .................. 99 CLKT 外部バスクロック (CLKT) ..................................... 86 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 733 MB91220 シリーズ CPU CPU ............................................................................ 33 FR60Lite CPU .............................................................. 2 CPU 動作検出リセット回路 CPU 動作検出リセット回路使用上の注意 ......... 573 CPU 動作検出リセット回路の動作 ..................... 572 CPU 動作検出リセット回路の特長 ..................... 568 CPU 動作検出リセット回路のブロック ダイヤグラム ................................................... 568 CSER CSER (Chip Select Enable Register ) ...................... 300 CSX CSX 遅延設定 (TYP[3:0]=0000B,AWR=000CH) ..................... 315 CSX → RDX/WRX セットアップ・ RDX/WRnX → CSX ホールド設定 (TYP[3:0]=0000B, AWR=000BH) .................... 316 CTBR CTBR : タイムベースカウンタクリアレジスタ ............................................................................. 98 CUCR 補正ユニット制御レジスタ (CUCR) ................... 562 CUTD 32kHz タイマデータレジスタ (16 ビット ) (CUTD) .............................................................. 564 CUTR 4MHz タイマデータレジスタ (24 ビット ) (CUTR) .............................................................. 565 C コンパイラ C コンパイラ (fcc911) ........................................... 702 D DDR データ方向レジスタ (DDR:DDR0 ∼ DDRG) ........................................................................... 127 DIVR DIVR0: 基本クロック分周設定レジスタ 0 ......... 103 DIVR1: 基本クロック分周設定レジスタ 1 ......... 106 DMA DMA 転送と割込み ............................................... 350 DMA 抑止 ............................................................... 350 DMAC DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 DMAC 全体制御 レジスタ [DMACR] ......................................... 337 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ステータスレジスタ A [DMACA0 ∼ DMACA4] ................................. 323 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 コントロール / ステータスレジスタ B[DMACB0 ∼ DMACB4] ........................................................................... 328 DMAC-ch.0,ch.1,ch.2,ch.3,ch.4 転送元 / 転送先アドレス設定レジスタ [DMASA0 ∼ DMASA4/ DMADA0 ∼ DMADA4] .................................. 334 DMAC の概要 ......................................................... 339 DMAC の主要動作 ................................................. 340 DMAC のブロックダイヤグラム ......................... 322 DMAC のレジスタ概要 ......................................... 321 DMAC 割込み制御が出力できる割込み ............. 357 DMA 転送 スリープモード中の DMA 転送の注意 .............. 358 734 E ECCR 拡張通信制御レジスタ (ECCR) ........................... 411 EIRR 割込み許可レジスタ (EIRR : External Interrupt Request Register) ........................................................................... 171 EIT EIT ( 例外 , 割込み , トラップ ) .............................. 50 EIT ( 例外・割込み・トラップ ) の特長 ............... 50 EIT からの復帰 ........................................................ 50 EIT の動作 ................................................................ 61 EIT の割込みレベル ................................................ 51 EIT ベクタテーブル ................................................ 55 EIT 要因 .................................................................... 50 EIT 要因受理の優先度 ............................................ 59 ELVR 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) .................... 172 ENIR 外部割込み要因レジスタ (ENIR : ENable Interrupt request Register) ........................................................................... 170 EPFR ポート機能レジスタ (PFR, EPFR) ....................... 129 ESCR 拡張ステータス制御レジスタ (ESCR) ................ 409 F FLCR フラッシュメモリステータスレジスタ (FLCR) ........................................................................... 631 FLWC フラッシュウェイトレジスタ (FLWC) ............... 632 FR-CPU FR-CPU ROM モード (32/16/8 ビット , 読出しのみ ) ....................... 634 FR-CPU プログラミングモード (16 ビット , 読出し / 書込み ) ........................ 634 FR ファミリ FR ファミリの命令一覧表 .................................... 712 H HRCL HRCL(Hold Request Cancel Level register) ........... 158 ホールドリクエスト取下げ要求機能 (HRCL) の 使用例 ............................................................... 165 I I I フラグ ..................................................................... 51 I/O I/O ピン ................................................................... 288 I/O マップ I/O マップ ............................................................... 676 I2C インタフェース I2C インタフェースの特長 ................................... 584 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ I2C インタフェースのブロックダイヤグラム ........................................................................... 588 2 I C インタフェースのレジスタ一覧 ................... 585 I2C インタフェースのレジスタ概要 ................... 589 IBCR バス制御レジスタ (IBCR0, IBCR1) ..................... 594 IBSR バスステータスレジスタ (IBSR0, IBSR1) .......... 590 ICCR クロック制御レジスタ (ICCR0, ICCR1) ............. 602 ICR 割込み制御レジスタ (ICR) ..................................... 53 割込み制御レジスタ (ICR) のビット構成 .......... 157 割込み制御レジスタ (ICR) のマッピング ............ 53 ICS インプットキャプチャコントロールレジスタ (ICS) .................................................................. 272 IDAR データレジスタ (IDAR0, IDAR1) ........................ 610 ILM ILM ............................................................................ 41 割込みレベルマスク (ILM) ..................................... 52 INIT 設定初期化リセット (INIT) .................................... 72 リセット (INIT) の解除時 ....................................... 80 INITX ストップモード中の INITX 端子による復帰に ついて ................................................................. 71 IPCP インプットキャプチャレジスタ (IPCP) ............. 271 ISBA 7 ビットスレーブアドレスレジスタ (ISBA0, ISBA1) ................................................ 607 ISMK 7 ビットスレーブアドレスマスクレジスタ (ISMK0, ISMK1) ............................................... 608 ITBA 10 ビットスレーブアドレスレジスタ (ITBAH0, ITBAH1, ITBAL0, ITBAL1) ........... 604 ITMK 10 ビットスレーブアドレスマスクレジスタ (ITMKH0, ITMKH1, ITMKL0, ITMKL1) ........................................................................... 605 L LCD LCD の駆動波形 ..................................................... 549 LCDCMR コモン端子切換えレジスタ (LCDCMR) ............. 543 LCD コントローラ LCD コントローラの動作 ..................................... 549 LCD コントローラの特長 ..................................... 540 LCD コントローラのブロックダイヤグラム ........................................................................... 541 LCD コントローラのレジスタ一覧 ..................... 542 LCD コントローラ・ドライバ動作時の出力波形 (1/4 デューティ出力モード ) .......................... 554 LCD コントローラドライバ LCD コントローラドライバ動作時の出力波形 (1/2 デューティ出力モード ) .......................... 550 CM71-10142-5 LCD コントローラドライバ動作時の出力波形 (1/3 デューティ出力モード ) ......................... 552 LCR LCD コントローラ制御レジスタ 0(LCR0) ......... 544 LCD コントローラ制御レジスタ 1(LCR1) ......... 546 LIN LIN-UART マスタ .................................................. 440 LIN スレーブ動作 .................................................. 424 LIN デバイス接続 .................................................. 439 LIN 同期フィールドエッジ検出割込み .............. 430 LIN フィールドエッジ検出割込み ...................... 435 LIN ブレーク検出割込みとフラグ ...................... 435 LIN ブレーク割込み .............................................. 430 LIN マスタ動作 ...................................................... 423 LIN マスタ・スレーブ通信機能 .......................... 439 LIN-UART LIN-UART スレーブ .............................................. 441 LIN-UART の概要 .................................................. 402 LIN-UART の動作モード ...................................... 418 LIN-UART のブロックダイヤグラム .................. 403 LIN-UART のレジスタ一覧 .................................. 404 LVRC CPU 動作検出リセット制御レジスタ (LVRC) ........................................................................... 570 M MB91F223/S MB91F223/S, MB91F224/S シリアル書込み ( 非同期 ) 基本構成 .......................................... 671 MB91F223/S, MB91F224/S シリアル書込み 基本構成 ........................................................... 660 MB91F224/S MB91F223/S, MB91F224/S シリアル書込み ( 非同期 ) 基本構成 .......................................... 671 MB91F223/S, MB91F224/S シリアル書込み 基本構成 ........................................................... 660 MBM29LV400TC MBM29LV400TC とのフラッシュメモリ制御信号 の対応 ............................................................... 636 N NMI NMI/ ホールド抑止レベル割込み処理中 ............ 354 割込み・NMI に対するレベルマスク ................... 52 O OCCP コンペアレジスタ (OCCP) ................................... 278 OCS アウトプットコントロールレジスタ (OCS) ........................................................................... 279 OSCCR OSCCR: 発振制御レジスタ .................................. 108 OSCR メイン発振安定待ちタイマレジスタ (OSCR) ........................................................................... 250 FUJITSU SEMICONDUCTOR LIMITED 735 MB91220 シリーズ P PC PC (Program Counter) ............................................... 42 PDIVR PDIVR( 分周比制御レジスタ ) ............................. 233 PDR ポートデータレジスタ (PDR:PDR0 ∼ PDRG) ........................................................................... 125 PFR ポート機能レジスタ (PFR, EPFR) ....................... 129 PILR 入力レベル選択レジスタ (PILR) ......................... 146 PLL PLL 選択時の異常状態からの復帰時 ................... 80 PLL 逓倍率 ................................................................ 84 PLL 動作許可 ............................................................ 83 発振安定待ち・メイン PLL ロック待ち時間 ............................................................................. 85 PPG 8 ビット PPG ch.0, ch.2, ch.4, ch.6, ch.8, ch.10, ch.12, ch.14, ch.16, ch.18, ch.20, ch.22, ch.24, ch.26, ch.28, ch.30 のブロックダイヤグラム ...................... 205 8 ビット PPG ch.1, ch.5, ch.9, ch.13, ch.17, ch.21, ch.25, ch.29 のブロックダイヤグラム ...................... 206 8 ビット PPG ch.3, ch.7, ch.11, ch.15, ch.19, ch.23, ch.27, ch.31 のブロックダイヤグラム ........... 207 PPG の機能 ............................................................. 200 PPG のレジスタ一覧 ............................................. 201 PPGCn PPGCn レジスタ (PPGn 動作モード制御レジスタ ) n=0 ∼ 9, A ∼ V ............................................... 211 PRLH PRLL/PRLH レジスタ ( リロードレジスタ :PRLL0 ∼ PRLLV/ PRLH0 ∼ PRLHV) ........................................... 214 PRLL PRLL/PRLH レジスタ ( リロードレジスタ :PRLL0 ∼ PRLLV/ PRLH0 ∼ PRLHV) ........................................... 214 PS PS (Program Status) ................................................... 37 PSCR ポート状態制御レジスタ (PSCR) ........................ 149 PS レジスタ PS レジスタに関する注意事項 .............................. 41 PWC PWC の機能 ............................................................ 226 PWC のブロックダイヤグラム ............................ 227 PWC のレジスタ一覧 ............................................ 226 PWCR PWCR レジスタ (PWC データバッファレジスタ ) .................. 232 PWCSR PWC コントロール / ステータスレジスタ (PWCSR) ........................................................... 228 PWM PWM1,PWM2 コンペアレジスタの機能 ............ 370 PWM1,PWM2 選択レジスタの機能 .................... 372 PWM 制御レジスタのビット構成 ....................... 368 PWM 設定値変更時の注意 ................................... 377 736 PWM 動作 ............................................................... 374 PWM コンペアレジスタ BS ビットによる PWM コンペアレジスタの ロード動作 ....................................................... 375 R RDR 受信データレジスタ (RDR) と 送信データレジスタ (TDR) ............................ 408 RDX CSX → RDX/WRX セットアップ・ RDX/WRnX → CSX ホールド設定 (TYP[3:0]=0000B, AWR=000BH) .................... 316 RDY レディ / ビジー信号 (RDY/BUSYX) .................... 641 REVC 出力反転レジスタ (REVC0 ∼ REVC3) ............... 217 ROM ライタ ROM ライタによる書込み ................................... 623 RP RP (Return Pointer) .................................................... 42 RSRR RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ......................................... 90 RST 動作初期化リセット (RST) ..................................... 73 S SCR SCR (System Condition code Register) ..................... 40 シリアル制御レジスタ (SCR) .............................. 405 SMR シリアルモードレジスタ (SMR) ......................... 406 SSP SSP (System Stack Pointer) ....................................... 42 システムスタックポインタ (SSP) ......................... 54 SSR シリアルステータスレジスタ (SSR) ................... 407 STCR STCR : スタンバイ制御レジスタ .......................... 93 STOP 状態 STOP 状態からの復帰動作 ................................... 176 T TBCR TBCR : タイムベースカウンタ制御レジスタ ............................................................................. 96 TBR TBR (Table Base Register) ........................................ 42 テーブルベースレジスタ (TBR) ............................ 55 TCCS タイマコントロールレジスタ (TCCS) ................ 261 TCDT タイマデータレジスタ (TCDT) ........................... 260 TDR 受信データレジスタ (RDR) と 送信データレジスタ (TDR) ............................ 408 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ TMCSR コントロールステータスレジスタ (TMCSR) ........................................................................... 192 TMR 16 ビットタイマレジスタ (TMR) ........................ 195 TMRLR 16 ビットリロードレジスタ (TMRLR) ............... 195 TRG PPG 起動レジスタ (TRG) ...................................... 216 U UART LIN-UART マスタ .................................................. 440 UART からの変更点 .............................................. 443 UART 割込み要因 .................................................. 428 USP USP (User Stack Pointer) ........................................... 43 V VRAM 表示用データメモリ (VRAM) .............................. 547 W WPR WPR : ウォッチドッグリセット発生延期レジスタ ........................................................................... 102 WRX CSX → RDX/WRX セットアップ・ RDX/WRnX → CSX ホールド設定 (TYP[3:0]=0000B, AWR=000BH) .................... 316 WTBR サブセカンドレジスタ (WTBR) .......................... 397 WTCR タイマ制御レジスタ (WTCR) .............................. 395 WTDBL クロック禁止レジスタ (WTDBL) ........................ 394 WTHR 時間レジスタ (WTHR) .......................................... 398 WTMR 分レジスタ (WTMR) .............................................. 398 WTSR 秒レジスタ (WTSR) ............................................... 398 あ アービトレーション アービトレーション .............................................. 613 アウトプットコンペア 16 ビットアウトプットコンペアの 動作タイミング ............................................... 283 アウトプットコンペアの動作 ............................. 281 アウトプットコンペアの特長 ............................. 276 アウトプットコンペアのブロックダイヤグラム ........................................................................... 277 アウトプットコンペアのレジスタ一覧 ............. 276 アクセスアドレス アクセスアドレス .................................................. 348 アクノリッジ アクノリッジ .......................................................... 614 アセンブラ アセンブラ (fasm911) ............................................ 705 アドレスレジスタ アドレスレジスタ指定 .......................................... 347 アドレッシング アドレッシングモードの記号 ............................. 710 スレーブアドレッシング ...................................... 613 ダイレクトアドレッシング命令 ......................... 726 アドレッシングモード アドレッシングモードの記号 ............................. 710 アナログ アナログ入力許可レジスタ .................................. 451 アンダフロー アンダフロー動作 .................................................. 196 い イネーブルセクタプロテクト イネーブルセクタプロテクト ............................. 655 インターバルタイマ インターバルタイマ機能の動作 ......................... 252 インピーダンス 入力インピーダンス .............................................. 448 インプットキャプチャ 16 ビットインプットキャプチャの 入力タイミング ............................................... 273 インプットキャプチャの特長 ............................. 268 インプットキャプチャの取込みタイミング ........................................................................... 273 インプットキャプチャのブロックダイヤグラム ........................................................................... 270 インプットキャプチャのレジスタ一覧 ............. 269 う ウェイトタイミング 外部ウェイトタイミング (TYP[3:0]=0001B, AWR=2008H) ..................... 314 自動ウェイトタイミング (TYP[3:0]=0000B, AWR=2008H) ..................... 313 ウォッチドッグ サブ RUN でメイン発振停止中のウォッチドッグ リセット発生時 ................................................. 80 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 737 MB91220 シリーズ え く エラー エラー検出 .............................................................. 421 エラーを発生しない通信エラー .......................... 615 ストップビット , エラー検出およびパリティ ........................................................................... 420 バスエラー .............................................................. 614 クロック CPU クロック (CLKB) ............................................ 86 クロック供給 .......................................................... 421 クロック供給機能の動作 ...................................... 253 クロック生成制御 .................................................... 81 周辺クロック (CLKP) .............................................. 86 メインクロック⇔サブクロック切換え例 ......... 255 クロック制御レジスタ クロック制御レジスタ (ICCR0, ICCR1) ............. 602 クロック生成制御部 クロック生成制御部のブロックダイヤグラム ............................................................................. 89 クロック同期 クロック同期 .......................................................... 432 か 外部アクセス 外部アクセス .......................................................... 306 外部クロック 外部クロックの使用 .............................................. 417 外部バスインタフェース 外部バスインタフェースの特長 .......................... 286 外部バスインタフェースのブロックダイヤグラム ........................................................................... 287 外部バスインタフェースのレジスタ一覧 .......... 288 外部バスインタフェースのレジスタ概要 .......... 289 外部割込み 外部割込み制御部のブロックダイヤグラム ........................................................................... 168 外部割込み制御部のレジスタ一覧 ...................... 168 外部割込み制御部のレジスタ詳細 ...................... 169 外部割込みの動作 .................................................. 173 外部割込みの動作手順 .......................................... 173 外部割込み要因レジスタ (ENIR : ENable Interrupt request Register) ........................................................................... 170 外部割込み要求レベル .......................................... 174 外部割込み要求レベル設定レジスタ (ELVR : External LeVel Register) .................... 172 外部割込みを使用した STOP 状態からの復帰時に おける注意事項 ............................................... 175 概要 概要 ............................................................................ 68 カウンタ カウンタのクリア .................................................. 238 カウンタの動作状態 .............................................. 198 カウント カウント例 .............................................................. 417 カウントクロック カウントクロックの選択 ...................................... 235 加減算命令 加減算命令 .............................................................. 713 検出 スレーブアドレス検出 .......................................... 612 原発振クロック 原発振クロック周波数について ......................... 670 こ コプロセッサ制御命令 コプロセッサ制御命令 .......................................... 727 コマンドオペレーション コマンドオペレーション ...................................... 637 さ サウンド禁止レジスタ サウンド禁止レジスタの機能 ............................. 389 サウンドコントロール サウンドコントロールレジスタのビット構成 ........................................................................... 383 サウンドジェネレータ サウンドジェネレータの構成 ............................. 380 サウンドジェネレータのブロックダイヤグラム ........................................................................... 380 サウンドジェネレータのレジスタ一覧 ............. 381 サンプリングクロックエッジ サンプリングクロックエッジ ............................. 437 し き 起動条件 起動条件 .................................................................. 611 基本タイミング 基本タイミング ( アクセスが連続する場合 ) (TYP[3:0]=0000B, AWR=0008H) ..................... 310 共通事項 共通事項 .................................................................. 728 738 け システムスタックポインタ システムスタックポインタ (SSP) ......................... 54 自動アルゴリズム 自動アルゴリズム実行状態 .................................. 623 シフト命令 シフト命令 .............................................................. 715 周波数データレジスタ 周波数データレジスタのビット構成 ................. 386 受信 受信データの例 ...................................................... 618 受信動作 受信動作 .................................................................. 420 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ 受信割込み 受信割込み発生とフラグセットのタイミング ........................................................................... 433 出力端子 出力端子機能 .......................................................... 197 主要機能 主要機能 .................................................................. 320 使用上の注意 使用上の注意 .......................................................... 152 乗除算命令 乗除算命令 .............................................................. 714 乗除算レジスタ 乗除算レジスタ (Multiply & Divide register) ......... 43 初期化 設定初期化リセット (INIT) .................................... 72 シリアル シリアル端子直接アクセス .................................. 425 シリアルオンボード書込み 富士通標準シリアルオンボード書込みに使用する 端子 ................................................................... 661 シリアル書込み MB91F223/S, MB91F224/S シリアル書込み ( 非同期 ) 基本構成 .......................................... 671 MB91F223/S, MB91F224/S シリアル書込み 基本構成 ........................................................... 660 シリアル書込み接続例 ( フラッシュマイコン プログラマから電源供給時 ) ......................... 664 シリアル書込み接続例 ( ユーザ電源使用時 ) ........................................................................... 662 シリアルクロック 連続シリアルクロック出力 .................................. 438 振幅データレジスタ 振幅データレジスタのビット構成 ...................... 385 す 推奨設定値 推奨設定値 .............................................................. 458 スタンバイ スタンバイモード ( ストップ / スリープ ) からの 復帰 ................................................................... 164 ステッパモータコントローラ ステッパモータコントローラの概要 .................. 366 ステッパモータコントローラのブロック ダイヤグラム ................................................... 366 ステッパモータコントローラのレジスタ一覧 ........................................................................... 367 ストップビット ストップビット , エラー検出およびパリティ ........................................................................... 420 同期スタート / ストップビットモード .............. 437 ストップモード ストップモードからの復帰時 ................................ 80 ストップモード中の INITX 端子による復帰に ついて ................................................................. 71 ストップモード中の外部割込みによる復帰に ついて ................................................................. 71 ストップモードについて ...................................... 549 スレーブアドレス スレーブアドレス検出 .......................................... 612 スレーブアドレスとデータ転送の例 .................. 617 スレーブアドレスマスク ...................................... 613 CM71-10142-5 スレーブアドレス検出 スレーブアドレス検出 .......................................... 612 スレーブアドレスマスク スレーブアドレスマスク ...................................... 613 スレーブアドレッシング スレーブアドレッシング ...................................... 613 せ 制御命令 コプロセッサ制御命令 .......................................... 727 制御レジスタ 制御レジスタへの書込みによる一時停止の設定 ( 各チャネル独立または全チャネル同時に 設定 ) ................................................................. 354 制限事項 制限事項 .................................................................. 444 セクタプロテクト セクタプロテクト一時解除 .................................. 657 セクタプロテクトオペレーション セクタプロテクトオペレーション一覧 ............. 654 そ 送受信データ 送受信データフォーマット .......................... 419, 421 送信動作 送信動作 .................................................................. 420 送信割込み 送信割込み発生とフラグセットのタイミング ........................................................................... 434 ソースクロック ソースクロックの選択 ............................................ 82 即値セット 即値セット /16 ビット /32 ビット即値転送命令 ........................................................................... 715 その他 その他 ...................................................................... 198 その他の命令 その他の命令 .......................................................... 721 ソフトウェア要求 ソフトウェア要求 .................................................. 342 ソフトウェアリセット ソフトウェアリセット .......................................... 431 た 退避 退避・復帰の処理 .................................................. 187 タイマデータレジスタ 32kHz タイマデータレジスタの設定 .................. 566 タイミングチャート 各端子のタイミングチャート ............................. 674 タイムベースカウンタ タイムベースカウンタ .......................................... 110 ダイレクトアドレッシング ダイレクトアドレッシング領域 ..................... 28, 46 ダイレクトアドレッシング命令 ダイレクトアドレッシング命令 ......................... 726 端子機能 端子機能説明 .............................................................. 8 FUJITSU SEMICONDUCTOR LIMITED 739 MB91220 シリーズ 端子配列図 端子配列図 .................................................................. 7 単発モード 単発モード .............................................................. 460 ち 遅延 通常分岐 ( 遅延なし ) 命令 ................................... 718 遅延スロット 遅延スロット付き動作 ............................................ 47 遅延スロットなし動作 ............................................ 49 遅延スロットの注意事項 ........................................ 64 遅延分岐マクロ命令 20 ビット遅延分岐マクロ命令 ............................. 723 32 ビット遅延分岐マクロ命令 ............................. 725 遅延分岐命令 遅延分岐命令 .......................................................... 720 チャネル間優先順位 チャネル間優先順位 .............................................. 359 チャネルグループ チャネルグループ .................................................. 360 注意 使用上の注意 .......................................................... 318 注意事項 その他の注意事項 .................................................. 670 注意事項 .......................................................... 198, 244 つ 通常分岐マクロ命令 20 ビット通常分岐マクロ命令 ............................. 722 32 ビット通常分岐マクロ命令 ............................. 724 通常分岐命令 通常分岐 ( 遅延なし ) 命令 ................................... 718 通信エラー エラーを発生しない通信エラー .......................... 615 通信方法 通信方法 .................................................................. 422 て 停止条件 停止条件 .................................................................. 611 停止モード 停止モード .............................................................. 461 低消費電力 低消費電力モード .................................................. 116 データアクセス データアクセス ........................................................ 45 データバス データバス幅と制御信号との関係 ...................... 302 データフォーマット データフォーマット設定 ...................................... 426 データレジスタ データレジスタ (IDAR0, IDAR1) ........................ 610 テーブルベース テーブルベースレジスタ (TBR) ............................ 55 デクリメントグレードレジスタ デクリメントグレードレジスタの機能 .............. 388 740 デバイス状態 デバイス状態と各遷移 .......................................... 113 デバッガ デバッガ (sim911,eml911,mon911) ....................... 707 デバッグ デバッグ関連の注意事項 ...................................... 730 電源投入時 電源投入時の発振安定待ち時間について ........... 71 転送 ステップ / ブロック転送 2 サイクル転送 .......... 344 ステップ転送 .......................................................... 344 スレーブアドレスとデータ転送の例 ................. 617 転送アドレス .......................................................... 341 転送シーケンスの選択 .......................................... 343 転送タイプ .............................................................. 340 転送モード .............................................................. 340 バースト 2 サイクル転送 ...................................... 343 ブロック転送 .......................................................... 344 転送回数 転送回数と転送終了 .............................................. 341 転送回数レジスタ 転送回数レジスタとリロード動作 ..................... 349 転送終了 転送終了 .................................................................. 355 転送停止要求 周辺回路からの転送停止要求の発生 ................. 356 転送命令 即値セット /16 ビット /32 ビット即値転送命令 ........................................................................... 715 レジスタ間転送命令 .............................................. 717 転送要求 転送要求の受付けと転送 ...................................... 352 と 同期スタート 同期スタート / ストップビットモード .............. 437 動作開始 動作開始 .................................................................. 351 動作禁止 全チャネル動作禁止 .............................................. 355 動作説明 動作説明 .......................................................... 181, 185 動作モード 動作モード ........................................................ 65, 124 動作モードの選択 .................................................. 236 トーンカウントレジスタ トーンカウントレジスタのビット構成 ............. 387 取扱い上の注意 デバイス取扱い上の注意 ........................................ 24 な 内蔵周辺機能 内蔵周辺機能 .............................................................. 2 内蔵周辺要求 内蔵周辺要求 .......................................................... 342 内部アーキテクチャ 内部アーキテクチャ ................................................ 32 内部アーキテクチャの特長 .................................... 31 内部クロック 内部クロック動作 .................................................. 196 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ に 汎用レジスタ 汎用レジスタ ............................................................ 37 入出力回路形式 入出力回路形式 ........................................................ 17 ひ は バースト転送 バースト転送 .......................................................... 362 ハードウェア ハードウェア構成 .................................................. 320 ハードウェアシーケンスフラグ ハードウェアシーケンスフラグ .......................... 641 ハードウェアシーケンスフラグの使用例 .......... 645 バイトオーダリング バイトオーダリング ................................................ 44 バスアイドル バスアイドル 割込み ............................................. 430 バスアイドル割込みとフラグ .............................. 436 バスアクセス バスアクセス .......................................................... 303 バスインタフェース 通常バスインタフェース ...................................... 310 バスエラー バスエラー .............................................................. 614 バスクロック 外部バスクロック (CLKT) ..................................... 86 バスコンバータ 32 ビット←→ 16 ビット バスコンバータ ............ 33 ハーバード ←→ プリンストン バスコンバータ ............................................................................. 34 バスステータスレジスタ バスステータスレジスタ (IBSR0, IBSR1) .......... 590 バス制御レジスタ バス制御レジスタ (IBCR0, IBCR1) ..................... 594 バスモード バスモード ................................................................ 65 パッケージ パッケージ外形寸法図 .............................................. 6 発振安定 電源投入時の発振安定待ち時間について ............ 71 発振安定待ち・メイン PLL ロック待ち時間 ............................................................................. 85 メイン発振安定待ちタイマ起動時のメイン クロック移行時カウンタ状態 ....................... 254 メイン発振安定待ちタイマ使用時の注意事項 ........................................................................... 255 メイン発振安定待ちタイマの概要 ...................... 248 メイン発振安定待ちタイマのブロックダイヤグラ ム ....................................................................... 249 メイン発振安定待ちタイマレジスタ (OSCR) ........................................................................... 250 メイン発振安定待ち割込みの動作 ...................... 252 リセット要因と発振安定待ち時間 ........................ 70 パリティ ストップビット , エラー検出およびパリティ ........................................................................... 420 パルス パルス幅測定機能 .................................................. 234 パルス幅測定動作詳細 .......................................... 239 パルス幅測定の起動と停止 .................................. 237 CM71-10142-5 比較演算命令 比較演算命令 .......................................................... 713 ビットオーダリング ビットオーダリング ................................................ 44 ビット操作命令 ビット操作命令 ...................................................... 714 品種構成 品種構成一覧 .............................................................. 4 ふ フォーマット 命令フォーマット .................................................. 711 復帰 退避・復帰の処理 .................................................. 187 フラグ レジスタ / フラグビット ...................................... 427 フラグセット 受信割込み発生とフラグセットのタイミング ........................................................................... 433 送信割込み発生とフラグセットのタイミング ........................................................................... 434 フラッシュマイコンプログラマ フラッシュマイコンプログラマとの最小限の 接続例 ( フラッシュマイコンプログラマから 電源供給時 ) ..................................................... 668 フラッシュマイコンプログラマとの最小限の 接続例 ( ユーザ電源使用時 ) .......................... 666 フラッシュメモリ フラッシュメモリ書込み / 消去の手順 .............. 647 フラッシュメモリ使用上の注意 ......................... 653 フラッシュメモリセクタ消去の一時停止 ......... 652 フラッシュメモリセクタ消去の再開 ................. 652 フラッシュメモリのセクタ構成 ......................... 624 フラッシュメモリのデータ書込み ..................... 647 フラッシュメモリのデータを消去する ( チップ消去 ) ................................................... 649 フラッシュメモリの特長 ...................................... 622 フラッシュメモリの任意データ消去 ( セクタ消去 ) ................................................... 650 フラッシュメモリのブロックダイヤグラム ........................................................................... 623 フラッシュメモリの読出し / リセット状態 ........................................................................... 647 フラッシュメモリのレジスタ一覧 ..................... 630 フラッシュメモリモード ...................................... 635 フリーランタイマ 16 ビットフリーランタイマのカウントタイミング ........................................................................... 265 16 ビットフリーランタイマのクリアタイミング ........................................................................... 265 16 ビットフリーランタイマの注意事項 ............ 266 16 ビットフリーランタイマの動作説明 ............ 264 16 ビットフリーランタイマの特長 .................... 258 16 ビットフリーランタイマのブロックダイヤグラ ム ....................................................................... 259 FUJITSU SEMICONDUCTOR LIMITED 741 MB91220 シリーズ 16 ビットフリーランタイマのレジスタ一覧 ........................................................................... 258 フレーム周期発生用クロック フレーム周期発生用クロックの切換え .............. 549 プログラマ プログラマによるオンボード書換え接続例 ........................................................................... 672 本プログラマがオンボード書換えに使用する端子 ........................................................................... 673 プログラミングモデル 基本プログラミングモデル .................................... 36 プログラムアクセス プログラムアクセス ................................................ 45 ブロックサイズ ブロックサイズ ...................................................... 345 ブロックダイヤグラム I2C インタフェースのブロックダイヤグラム ........................................................................... 588 ブロックダイヤグラム ...................... 5, 180, 182, 191 ブロック転送 ブロック転送 .......................................................... 361 分岐マクロ命令 20 ビット遅延分岐マクロ命令 ............................. 723 20 ビット通常分岐マクロ命令 ............................. 722 32 ビット遅延分岐マクロ命令 ............................. 725 32 ビット通常分岐マクロ命令 ............................. 724 分岐命令 遅延分岐命令 .......................................................... 720 通常分岐 ( 遅延なし ) 命令 ................................... 718 分周 クロック分周 ............................................................ 88 へ ベクタテーブル ベクタテーブル ...................................................... 690 ベクタテーブル初期領域 ........................................ 46 ベリファイセクタプロテクト ベリファイセクタプロテクト .............................. 655 ほ ポート ポート基本ブロックダイヤグラム ...................... 122 ポート機能レジスタ ポート機能レジスタ (PFR, EPFR) ...................................................... 129 ホールド NMI/ ホールド抑止レベル割込み処理中 ............ 354 ホールドリクエスト ホールドリクエスト取下げ要求 (Hold Request Cancel Request) ......................... 163 ホールドリクエスト取下げ要求機能 (HRCL) の 使用例 ............................................................... 165 ボーレート UART のボーレート選択 ...................................... 414 インプットキャプチャによる ボーレート検出 ............................................... 413 周辺クロック周波数ごとの ボーレート設定例 ........................................... 416 ボーレートの算出 .................................................. 415 742 補正ユニット 32kHz クロック補正ユニットのクロック .......... 559 32kHz クロック補正ユニットのタイミング ........................................................................... 559 32kHz クロック補正ユニットのブロック ダイヤグラム ................................................... 558 補正ユニットの特長 .............................................. 558 補正ユニットのレジスタ一覧 ............................. 560 ま マクロ命令 20 ビット遅延分岐マクロ命令 ............................. 723 20 ビット通常分岐マクロ命令 ............................. 722 32 ビット遅延分岐マクロ命令 ............................. 725 32 ビット通常分岐マクロ命令 ............................. 724 マスク スレーブアドレスマスク ...................................... 613 め 命令 20 ビット遅延分岐マクロ命令 ............................. 723 20 ビット通常分岐マクロ命令 ............................. 722 32 ビット遅延分岐マクロ命令 ............................. 725 32 ビット通常分岐マクロ命令 ............................. 724 加減算命令 .............................................................. 713 コプロセッサ制御命令 .......................................... 727 シフト命令 .............................................................. 715 乗除算命令 .............................................................. 714 即値セット /16 ビット /32 ビット即値転送命令 ........................................................................... 715 その他の命令 .......................................................... 721 ダイレクトアドレッシング命令 ......................... 726 遅延分岐命令 .......................................................... 720 通常分岐 ( 遅延なし ) 命令 ................................... 718 比較演算命令 .......................................................... 713 ビット操作命令 ...................................................... 714 命令概要 .................................................................... 34 命令フォーマット .................................................. 711 メモリストア命令 .................................................. 717 メモリロード命令 .................................................. 716 リソース命令 .......................................................... 726 レジスタ間転送命令 .............................................. 717 論理演算命令 .......................................................... 713 命令一覧表 FR ファミリの命令一覧表 .................................... 712 命令一覧表の読み方 .............................................. 708 メモリストア命令 メモリストア命令 .................................................. 717 メモリマップ MB91220 シリーズのメモリマップ ...................... 29 メモリマップ ............................................................ 46 メモリロード命令 メモリロード命令 .................................................. 716 も モータドライブ信号 モータドライブ信号の選択 .................................. 376 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 MB91220 シリーズ モード アドレッシングモードの記号 .............................. 710 モードフェッチ ........................................................ 76 モード設定 モード設定 ................................................................ 66 モード端子 モード端子 ................................................................ 76 ゆ 優先順位判定 優先順位判定 .......................................................... 159 ら レジスタ設定 レジスタ設定時の注意 .......................................... 323 レジスタ設定手順 .................................................. 317 連続モード 連続モード .............................................................. 460 ろ ロード動作 BS ビットによる PWM コンペアレジスタの ロード動作 ....................................................... 375 論理演算命令 論理演算命令 .......................................................... 713 わ ライトタイミング ライト → ライトタイミング (TYP[3:0]=0000B,AWR=0018H) ...................... 312 リード → ライトタイミング (TYP[3:0]=0000B,AWR=0048H) ...................... 311 り リアルタイムクロック リアルタイムクロックの概要 .............................. 392 リアルタイムクロックの動作説明 ...................... 400 リアルタイムクロックの ブロックダイヤグラム ................................... 392 リアルタイムクロックのレジスタ一覧 .............. 393 リセット 外部端子のリセットタイミング ............................ 74 外部リセット端子のブロックダイヤグラム ............................................................................. 74 設定初期化リセット (INIT) .................................... 72 動作初期化リセット (RST) ..................................... 73 リセット .................................................................... 77 リセット (INIT) の解除時 ....................................... 80 リセット中の端子の状態 ...................................... 694 リセット動作の概要 ................................................ 75 リセット要因 ............................................................ 68 リセット要因と発振安定待ち時間 ........................ 70 リセット要因ビットとリセット要因の対応 ............................................................................. 78 リセット要因ビットの注意事項 ............................ 79 リソース命令 リソース命令 .......................................................... 726 リロード リロード動作 .......................................................... 345 リロードタイマ リロードタイマのレジスタ一覧 .......................... 190 リンカ リンカ (flnk911) ...................................................... 706 割込み 受信割込み .............................................................. 429 ストップモード中の外部割込みによる復帰に ついて ................................................................. 71 送信割込み .............................................................. 429 割込み許可レジスタ (EIRR : External Interrupt Request Register) ........................................................................... 171 割込みクリアの発生タイミング ......................... 353 割込みコントローラの主要機能 ......................... 154 割込みコントローラのハードウェア構成 ......... 154 割込みコントローラのブロックダイヤグラム ........................................................................... 156 割込みコントローラのレジスタ一覧 ................. 155 割込み処理 .............................................................. 619 割込みスタック ........................................................ 54 割込み制御レジスタ (ICR) ..................................... 53 割込み制御レジスタ (ICR) のマッピング ............ 53 割込みレベルマスク (ILM) ..................................... 52 割込み・NMI に対するレベルマスク ................... 52 れ レジスタ レジスタ / フラグビット ...................................... 427 レジスタ一覧 .................................................. 180, 182 レジスタ詳細説明 .......................................... 181, 183 レジスタ間転送命令 レジスタ間転送命令 .............................................. 717 CM71-10142-5 FUJITSU SEMICONDUCTOR LIMITED 743 MB91220 シリーズ 744 FUJITSU SEMICONDUCTOR LIMITED CM71-10142-5 CM71-10142-5 FUJITSU SEMICONDUCTOR • CONTROLLER MANUAL FR60Lite 32 ビット・マイクロコントローラ MB91220 Series ハードウェアマニュアル 2011 年 1 月 第 5 版発行 発行 富士通セミコンダクター株式会社 編集 企画部 プロモーション推進部
© Copyright 2024 ExpyDoc