本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 富士通マイクロエレクトロニクス CONTROLLER MANUAL CM71-10159-2 FR ファミリ 32 ビット・マイクロコントローラ MB91461 ハードウェアマニュアル FR ファミリ 32 ビット・マイクロコントローラ MB91461 ハードウェアマニュアル 富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。 「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思われる チェック項目をリストにしたものです。 http://edevice.fujitsu.com/micom/jp-support/ 富士通マイクロエレクトロニクス株式会社 はじめに ■ 本書の目的と対象読者 MB91461 は民生機器等の高速リアルタイム処理が要求される組込み制御 用途向けに設計された, 汎用の富士通マイクロエレクトロニクス製32ビッ ト RISC マイクロコントローラです。 CPU には , FR ファミリと互換の FR60 を使用しています。 本製品は LIN-UART および CAN コントローラを内蔵しています。低消費 電力モードの 1 つとしてシャットダウンモードをもち , 低消費電流を実現 しています。 FR は , FUJITSU RISC controller の略で , 富士通マイクロエレクトロニクス 株式会社の製品です。 ■ 商標 本書に記載されている社名および製品名などの固有名詞は , 各社の商標ま たは登録商標です。 ■ 本書の全体構成 本書は , 以下に示す 24 の章 , および付録から構成されています。 第 1 章 概要 MB91461 の特長 , ブロックダイヤグラム , 機能概要など全体を知るため の基本的なことについて説明します。 第 2 章 デバイスの取扱いについて FR ファミリの取扱い上の注意について説明します。 第 3 章 CPU FR ファミリの CPU コアのアーキテクチャ , 仕様 , 命令などについて説 明します。 第 4 章 制御部 制御部について説明します。 第 5 章 命令キャッシュ 命令キャッシュについて説明します。 第 6 章 低消費電力モード 低消費電力モードの機能と動作について説明しま す。 i 第 7 章 ハードウェアウォッチドッグタイマ ハードウェアウォッチドッグタイマの機能について説明します。 第 8 章 外部バスインタフェース 外部バスインタフェースの各機能について説明します。 第 9 章 I/O ポート I/O ポートの概要 , レジスタの構成 , および機能について説明します。 第 10 章 割込みコントローラ 割込みコントローラの概要 , レジスタの構成 / 機能 , および動作につい て説明します。 第 11 章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能 , および動作について 説明します。 第 12 章 REALOS 関連ハード REALOS の概要 , レジスタの構成 / 機能 , および動作について説明しま す。 第 13 章 DMAC (DMA コントローラ ) DMAC の概要 , レジスタの構成 / 機能 , および DMAC の動作について 説明します。 第 14 章 CAN コントローラ CAN コントローラの機能と動作について示します。 第 15 章 LIN-UART LIN 対応 UART の機能と動作について説明します。 第 16 章 I2C インタフェース I2C インタフェースの概要 , レジスタの構成 / 機能 , および動作につい て説明します。 第 17 章 16 ビットリロードタイマ 16 ビットリロードタイマのレジスタの構成と機能およびタイマの動作 について説明します。 第 18 章 16 ビットフリーランタイマ 16 ビットフリーランタイマの機能と動作について説明します。 第 19 章 インプットキャプチャ インプットキャプチャの機能と動作について説明します。 ii 第 20 章 アウトプットコンペアユニット アウトプットコンペアユニットの機能と動作について説明します。 第 21 章 PPG ( プログラマブルパルスジェネレータ ) PPG のレジスタ , 機能と動作について説明します。 第 22 章 リアルタイムクロック リアルタイムクロック ( 以降 RTC) のレジスタ構成とその機能 , RTC モ ジュールの動作について説明します。 第 23 章 A/D コンバータ A/D コンバータの概要 , レジスタの構成 / 機能 , および動作について説 明します。 第 24 章 フラッシュメモリサポート フラッシュメモリのシリアルプログラミングのサポートについて説明 します。 付録 各 CPU ステートにおける端子状態 , リトル・エンディアン領域を利用 する際の注意事項 , FR ファミリの命令一覧 , および MB91461 を使用す る際の注意事項について説明します。 iii • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性 が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。 ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ い。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright ©2007-2010 FUJITSU MICROELECTRONICS LIMITED All rights reserved. iv 目次 第1章 1.1 1.2 1.3 1.4 1.5 1.6 第2章 2.1 2.2 第3章 概要 ............................................................................................................ 1 概要 ........................................................................................................................................ 2 ブロックダイヤグラム............................................................................................................ 5 外形寸法図.............................................................................................................................. 6 端子配列図.............................................................................................................................. 7 端子機能一覧表 ...................................................................................................................... 9 入出力回路形式 .................................................................................................................... 15 デバイスの取扱いについて ...................................................................... 19 デバイス取扱い上の注意 ...................................................................................................... 20 使用上の注意 ........................................................................................................................ 24 CPU.......................................................................................................... 27 3.1 メモリ空間............................................................................................................................ 28 3.2 内部アーキテクチャ ............................................................................................................. 29 3.2.1 命令概要 ..................................................................................................................... 33 3.3 プログラミングモデル.......................................................................................................... 35 3.3.1 汎用レジスタ .............................................................................................................. 36 3.3.2 専用レジスタ .............................................................................................................. 37 3.4 データ構造............................................................................................................................ 44 3.5 メモリマップ ........................................................................................................................ 46 3.6 分岐命令 ............................................................................................................................... 47 3.6.1 遅延スロット付き動作 ............................................................................................... 48 3.6.2 遅延スロットなし動作 ............................................................................................... 50 3.7 EIT ( 例外・割込み・トラップ ) ........................................................................................... 51 3.7.1 EIT の割込みレベル.................................................................................................... 52 3.7.2 割込み制御レジスタ (ICR).......................................................................................... 54 3.7.3 システムスタックポインタ (SSP).............................................................................. 55 3.7.4 テーブルベースレジスタ (TBR) ................................................................................. 56 3.7.5 多重 EIT 処理.............................................................................................................. 57 3.7.6 EIT の動作 .................................................................................................................. 59 第4章 制御部 ...................................................................................................... 63 4.1 動作モード............................................................................................................................ 64 4.1.1 バスモード ................................................................................................................. 65 4.1.2 モード設定 ................................................................................................................. 66 4.2 リセット ( デバイス初期化 ) ................................................................................................. 69 4.2.1 リセットレベル .......................................................................................................... 70 4.2.2 リセット要因 .............................................................................................................. 71 4.2.3 リセットシーケンス ................................................................................................... 73 4.2.4 発振安定待ち時間....................................................................................................... 74 4.2.5 リセット動作モード ................................................................................................... 76 4.3 クロック生成制御 ................................................................................................................. 78 4.3.1 PLL 制御 ..................................................................................................................... 79 v 4.3.2 発振安定待ち・PLL ロック待ち時間.......................................................................... 80 4.3.3 クロック分配 .............................................................................................................. 82 4.3.4 クロック分周 .............................................................................................................. 84 4.3.5 クロック生成制御部のブロックダイヤグラム............................................................ 85 4.3.6 クロック生成制御部のレジスタ詳細説明................................................................... 86 4.3.7 クロック制御部の周辺回路 ...................................................................................... 104 4.4 PLL インタフェース ........................................................................................................... 108 4.4.1 PLL インタフェースのレジスタ詳細説明................................................................. 109 4.4.2 PLL 逓倍率設定例..................................................................................................... 116 4.5 デバイス状態制御 ............................................................................................................... 120 4.5.1 デバイス状態と各遷移 ............................................................................................. 121 4.6 インターバルタイマ ........................................................................................................... 125 第5章 5.1 5.2 5.3 5.4 第6章 6.1 6.2 6.3 6.4 第7章 7.1 7.2 7.3 7.4 7.5 第8章 命令キャッシュ ...................................................................................... 131 概要 .................................................................................................................................... 132 制御レジスタ ...................................................................................................................... 135 命令キャッシュの状態と設定 ............................................................................................. 138 命令キャッシュを使用するときの設定方法 ....................................................................... 140 低消費電力モード .................................................................................. 143 低消費電力モードの概要 .................................................................................................... 144 スリープモード .................................................................................................................. 145 ストップモード .................................................................................................................. 147 シャットダウンモード........................................................................................................ 149 ハードウェアウォッチドッグタイマ...................................................... 155 ハードウェアウォッチドッグタイマの概要 ....................................................................... 156 ハードウェアウォッチドッグタイマの構成 ....................................................................... 157 ハードウェアウォッチドッグタイマのレジスタ ................................................................ 158 ハードウェアウォッチドッグタイマの機能 ....................................................................... 160 ハードウェアウォッチドッグタイマ使用上の注意............................................................. 162 外部バスインタフェース........................................................................ 163 8.1 外部バスインタフェースの特長 ......................................................................................... 164 8.2 外部バスインタフェースのレジスタ .................................................................................. 167 8.2.1 領域選択レジスタ (ASR0 ∼ ASR4) ......................................................................... 168 8.2.2 領域構成レジスタ (ACR0 ∼ ACR4)......................................................................... 169 8.2.3 領域ウェイトレジスタ (AWR0 ∼ AWR4) ................................................................ 175 8.2.4 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2)............................................... 181 8.2.5 チップセレクト領域許可レジスタ (CSER) .............................................................. 184 8.2.6 キャッシュイネーブルレジスタ (CHER).................................................................. 185 8.2.7 端子 / タイミングコントロールレジスタ (TCR)....................................................... 186 8.3 チップセレクト領域 ........................................................................................................... 188 8.4 エンディアンとバスアクセス ............................................................................................. 190 8.4.1 ビッグエンディアンのバスアクセス ........................................................................ 191 8.4.2 リトルエンディアンのバスアクセス ........................................................................ 196 8.4.3 ビッグエンディアンとリトルエンディアンの外部アクセスの比較 ......................... 200 8.5 通常バスインタフェース .................................................................................................... 204 8.6 アドレス / データマルチプレックスインタフェース.......................................................... 212 vi 8.7 8.8 DMA アクセス .................................................................................................................... 216 レジスタ設定手順 ............................................................................................................... 219 第9章 9.1 9.2 9.3 9.4 9.5 I/O ポート............................................................................................... 221 I/O ポートの概要 ................................................................................................................ 222 I/O ポートのレジスタ ......................................................................................................... 226 ポートファンクションレジスタの設定............................................................................... 228 端子入力レベルの選択........................................................................................................ 242 プルアップ・プルダウン制御レジスタ............................................................................... 243 第 10 章 割込みコントローラ............................................................................... 245 10.1 割込みコントローラの概要................................................................................................. 246 10.2 割込みコントローラのレジスタ ......................................................................................... 250 10.2.1 割込み制御レジスタ (ICR)........................................................................................ 251 10.2.2 ホールドリクエスト取下げ要求レジスタ (HRCL).................................................... 252 10.3 割込みコントローラの動作説明 ......................................................................................... 253 第 11 章 外部割込み制御部 .................................................................................. 263 11.1 外部割込み制御部の概要 .................................................................................................... 264 11.2 外部割込み制御部のレジスタ ............................................................................................. 265 11.2.1 割込み許可レジスタ (ENIR) ..................................................................................... 266 11.2.2 外部割込み要因レジスタ (EIRR) .............................................................................. 267 11.2.3 外部割込み要求レベル設定レジスタ (ELVR) ........................................................... 268 11.3 外部割込み制御部の動作説明 ............................................................................................. 270 第 12 章 REALOS 関連ハード ............................................................................. 275 12.1 遅延割込みモジュール........................................................................................................ 276 12.1.1 遅延割込みモジュールの概要................................................................................... 277 12.1.2 遅延割込みモジュールのレジスタ............................................................................ 278 12.1.3 遅延割込みモジュールの動作説明............................................................................ 279 12.2 ビットサーチモジュール .................................................................................................... 280 12.2.1 ビットサーチモジュールの概要 ............................................................................... 281 12.2.2 ビットサーチモジュールのレジスタ ........................................................................ 282 12.2.3 ビットサーチモジュールの動作説明 ........................................................................ 284 第 13 章 DMAC (DMA コントローラ ) ................................................................. 287 13.1 DMAC (DMA コントローラ ) の概要................................................................................... 288 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 ............................................................. 291 13.2.1 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータスレジスタ A ............................. 292 13.2.2 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータスレジスタ B ............................. 296 13.2.3 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先アドレス設定レジスタ .............. 302 13.2.4 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レジスタ .................................. 304 13.3 DMAC (DMA コントローラ ) の動作説明 ........................................................................... 306 13.3.1 動作概要 ................................................................................................................... 307 13.3.2 転送要求の設定 ........................................................................................................ 309 13.3.3 転送シーケンス ........................................................................................................ 310 13.3.4 DMA 転送全般 .......................................................................................................... 312 13.3.5 アドレッシングモード ............................................................................................. 314 13.3.6 データの種類 ............................................................................................................ 315 vii 13.3.7 転送回数制御 ............................................................................................................ 316 13.3.8 CPU 制御.................................................................................................................. 317 13.3.9 動作開始 ................................................................................................................... 318 13.3.10 転送要求の受付けと転送 .......................................................................................... 319 13.3.11 DMA による周辺割込みクリア ................................................................................. 320 13.3.12 一時停止 ................................................................................................................... 321 13.3.13 動作終了 / 停止 ......................................................................................................... 322 13.3.14 エラーによる停止..................................................................................................... 323 13.3.15 DMAC 割込み制御 .................................................................................................... 324 13.3.16 スリープ中の DMA 転送 ........................................................................................... 325 13.3.17 チャネル選択と制御 ................................................................................................. 326 13.4 DMAC (DMA コントローラ ) の動作フロー........................................................................ 328 13.5 データバス.......................................................................................................................... 330 第 14 章 CAN コントローラ ................................................................................. 333 14.1 CAN の特長 ........................................................................................................................ 334 14.2 CAN のブロックダイヤグラム............................................................................................ 335 14.3 CAN のレジスタ ................................................................................................................. 336 14.4 CAN レジスタ機能.............................................................................................................. 343 14.4.1 全体制御レジスタ..................................................................................................... 344 14.4.2 メッセージインタフェースレジスタ ........................................................................ 359 14.4.3 メッセージオブジェクト .......................................................................................... 371 14.4.4 メッセージハンドラレジスタ................................................................................... 377 14.4.5 CAN プリスケーラレジスタ (CANPRE)................................................................... 386 14.5 CAN 機能 ............................................................................................................................ 388 14.5.1 メッセージオブジェクト .......................................................................................... 389 14.5.2 メッセージ送信動作 ................................................................................................. 391 14.5.3 メッセージ受信動作 ................................................................................................. 393 14.5.4 FIFO バッファ機能................................................................................................... 397 14.5.5 割込み機能 ............................................................................................................... 399 14.5.6 ビットタイミング..................................................................................................... 401 14.5.7 テストモード ............................................................................................................ 404 14.5.8 ソフトウェア初期化 ................................................................................................. 409 14.5.9 CAN クロックプリスケーラ ..................................................................................... 410 第 15 章 LIN-UART .............................................................................................. 413 15.1 LIN-UART の概要 ............................................................................................................... 414 15.2 LIN-UART の構成 ............................................................................................................... 417 15.3 LIN-UART のレジスタ ........................................................................................................ 422 15.3.1 シリアル制御レジスタ (SCR)................................................................................... 424 15.3.2 シリアルモードレジスタ (SMR)............................................................................... 427 15.3.3 シリアルステータスレジスタ (SSR) ........................................................................ 430 15.3.4 受信 / 送信データレジスタ (RDR/TDR).................................................................... 433 15.3.5 拡張ステータス・制御レジスタ (ESCR).................................................................. 435 15.3.6 拡張通信制御レジスタ (ECCR) ................................................................................ 438 15.3.7 ボーレート / リロードカウンタレジスタ (BGR) ...................................................... 441 15.4 LIN-UART の割込み............................................................................................................ 443 15.4.1 受信割込み生成とフラグセットタイミング ............................................................. 447 15.4.2 送信割込み生成とフラグセットタイミング ............................................................. 449 viii 15.5 LIN-UART のボーレート..................................................................................................... 451 15.5.1 ボーレートの設定..................................................................................................... 453 15.5.2 リロードカウンタの再起動 ...................................................................................... 456 15.6 LIN-UART の動作 ............................................................................................................... 458 15.6.1 非同期モードでの動作 ( 動作モード 0, 1) ............................................................... 460 15.6.2 同期モードでの動作 ( 動作モード 2) ....................................................................... 463 15.6.3 LIN 機能での動作 ( 動作モード 3) ........................................................................... 466 15.6.4 シリアル端子への直接アクセス ............................................................................... 470 15.6.5 双方向通信機能 ( ノーマルモード ) ......................................................................... 471 15.6.6 マスタ / スレーブ通信機能 ( マルチプロセッサモード ) ......................................... 472 15.6.7 LIN 通信機能............................................................................................................. 475 15.6.8 LIN 通信モード ( 動作モード 3) UART サンプルフローチャート............................. 476 15.7 LIN-UART 使用上の注意事項 ............................................................................................. 479 第 16 章 I2C インタフェース ................................................................................ 481 16.1 I2C インタフェースの概要.................................................................................................. 482 16.2 I2C インタフェースのレジスタ .......................................................................................... 486 16.2.1 バスステータスレジスタ (IBSR) .............................................................................. 487 16.2.2 バス制御レジスタ (IBCR)......................................................................................... 491 16.2.3 クロック制御レジスタ (ICCR) ................................................................................. 499 16.2.4 10 ビットスレーブアドレスレジスタ (ITBA) ........................................................... 501 16.2.5 10 ビットスレーブアドレスマスクレジスタ (ITMK)................................................ 502 16.2.6 7 ビットスレーブアドレスレジスタ (ISBA) ............................................................. 504 16.2.7 7 ビットスレーブアドレスマスクレジスタ (ISMK).................................................. 505 16.2.8 データレジスタ (IDAR) ............................................................................................ 506 16.3 I2C インタフェースの動作説明 .......................................................................................... 507 16.4 動作フローチャート ........................................................................................................... 512 第 17 章 16 ビットリロードタイマ ...................................................................... 515 17.1 16 ビットリロードタイマの概要 ........................................................................................ 516 17.2 16 ビットリロードタイマのレジスタ................................................................................. 517 17.2.1 制御ステータスレジスタ (TMCSR).......................................................................... 518 17.2.2 16 ビットタイマレジスタ (TMR) ............................................................................. 522 17.2.3 16 ビットリロードレジスタ (TMRLR) ..................................................................... 523 17.3 16 ビットリロードタイマの動作 ........................................................................................ 524 第 18 章 16 ビットフリーランタイマ................................................................... 529 18.1 16 ビットフリーランタイマの概要 .................................................................................... 530 18.2 16 ビットフリーランタイマのレジスタ ............................................................................. 532 18.2.1 タイマデータレジスタ (TCDT)................................................................................. 533 18.2.2 タイマ制御ステータスレジスタ ............................................................................... 534 18.3 16 ビットフリーランタイマの動作 .................................................................................... 537 18.4 16 ビットフリーランタイマ使用上の注意.......................................................................... 539 第 19 章 インプットキャプチャ ........................................................................... 541 19.1 インプットキャプチャの概要 ............................................................................................. 542 19.2 インプットキャプチャのレジスタ...................................................................................... 543 19.2.1 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3).................................................. 544 19.2.2 インプットキャプチャ制御レジスタ (ICS01,ICS23)................................................ 545 ix 19.3 インプットキャプチャの動作 ............................................................................................. 547 第 20 章 アウトプットコンペアユニット ............................................................. 549 20.1 アウトプットコンペアユニットの概要............................................................................... 550 20.2 アウトプットコンペアユニットのレジスタ ....................................................................... 551 20.2.1 コンペアレジスタ (OCCP0 ∼ OCCP3) ................................................................... 552 20.2.2 制御レジスタ (OCS01,OCS23) ................................................................................ 553 20.3 アウトプットコンペアユニットの動作............................................................................... 556 第 21 章 PPG ( プログラマブルパルスジェネレータ )......................................... 559 21.1 PPG の概要 ........................................................................................................................ 560 21.2 PPG のレジスタ ................................................................................................................. 563 21.2.1 制御ステータスレジスタ (PCNH, PCNL)................................................................. 566 21.2.2 PPG 周期設定レジスタ (PCSR) ............................................................................... 570 21.2.3 PPG デューティ設定レジスタ (PDUT) .................................................................... 571 21.2.4 PPG タイマレジスタ (PTMR) .................................................................................. 572 21.2.5 ゼネラル制御レジスタ 10 (GCN10) ......................................................................... 573 21.2.6 ゼネラル制御レジスタ 11 (GCN11) ......................................................................... 576 21.2.7 ゼネラル制御レジスタ 2 (GCN20,GCN21) .............................................................. 579 21.3 PPG の動作 ........................................................................................................................ 580 21.3.1 PWM 動作................................................................................................................. 581 21.3.2 ワンショット動作..................................................................................................... 583 21.3.3 割込み....................................................................................................................... 585 21.3.4 PPG 出力オール "L" あるいはオール "H" の出力方法............................................... 586 21.3.5 複数チャネルの起動 ................................................................................................. 587 第 22 章 リアルタイムクロック ........................................................................... 589 22.1 リアルタイムクロックのレジスタ構成............................................................................... 590 22.2 リアルタイムクロックのブロックダイヤグラム ................................................................ 592 22.3 リアルタイムクロックのレジスタの詳細 ........................................................................... 593 第 23 章 A/D コンバータ ...................................................................................... 599 23.1 A/D コンバータの概要 ........................................................................................................ 600 23.2 A/D コンバータのブロックダイヤグラム ........................................................................... 601 23.3 A/D コンバータのレジスタ................................................................................................. 602 23.3.1 アナログ入力許可レジスタ (ADER) ......................................................................... 604 23.3.2 A/D 制御ステータスレジスタ (ADCS)...................................................................... 605 23.3.3 データレジスタ (ADCR1, ADCR0)........................................................................... 610 23.3.4 変換時間設定レジスタ (ADCT) ................................................................................ 611 23.3.5 開始チャネル設定レジスタ (ADSCH) 終了チャネル設定レジスタ (ADECH) .......... 613 23.4 A/D コンバータの動作 ........................................................................................................ 615 第 24 章 フラッシュメモリサポート .................................................................... 617 24.1 フラッシュメモリのシリアルプログラミング.................................................................... 618 付録 付録 A A.1 A.2 ............................................................................................................... 619 命令一覧 ........................................................................................................................ 620 記号の意味 .................................................................................................................. 621 命令一覧表 .................................................................................................................. 628 x A.3 A.4 付録 B 付録 C 付録 D 付録 E 索引 命令マップ .................................................................................................................. 637 命令フォーマット TYPE-E の命令マップ................................................................... 638 I/O マップ ...................................................................................................................... 639 割込みベクタ ................................................................................................................. 659 DMA 転送要求要因 ........................................................................................................ 664 シリアル書込み時の端子状態........................................................................................ 665 ............................................................................................................... 671 xi xii 本版での主な変更内容 ページ 変更内容(詳細は本文を参照してください。 ) ドキュメントコードを変更 CM44-10133-1 → CM71-10159-2 - タイトルを変更 「MB91461 MB91F467R ハードウェアマニュアル」 → 「MB91461 ハードウェアマニュアル」 - 2 第 1 章 概要 1.1 概要 ■ 特長 「● FR60 CPU」の説明を訂正 原発振 20MHz/4MHz → 原発振 4MHz 4/20 逓倍 → 20 逓倍 「● 内蔵周辺機能」の説明を訂正 F-bus RAM → ID-RAM 4 ■ 品種構成 表 1.1-1 16 ■ 入出力回路形式 表 1.6-1 22 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 27 28 67 - 131 分類 D, F の備考欄を訂正 5V CMOS レベル入力 → 5V CMOS レベル出力 「■シリアル通信について」を追加 第 3 章 CPU 第 3 章のタイトルを変更 CPU および制御部 → CPU 3.1 メモリ空間 ■ メモリマップ 図 3.1-1 図 3.1-1 を訂正 F-bus RAM → ID-RAM 第 4 章 制御部 章構成を変更 「3.9 動作モード∼ 3.14 インターバルタイマ」 → 「第 4 章 制御部」 4.1.1 バスモード ■ バスモード 0 ( シングルチップ モード ) 「4.1.1 バスモード」の説明を訂正 F-bus RAM → ID-RAM 4.1.2 モード設定 ■ モードレジスタ (MODR) 「[bit2] ROMA : 内部 ROM イネーブルビット」の説 明を訂正 F-bus RAM → ID-RAM 第 5 章 クロックモジュレータ 「第 5 章 クロックモジュレータ」全体を削除 第 5 章 命令キャッシュ 章構成を変更 「3.3 命令キャッシュ」 → 「第 5 章 命令キャッシュ」 63 65 「表 1.1-1」の説明を訂正 F-bus RAM → ID-RAM xiii ページ 変更内容(詳細は本文を参照してください。 ) 140 第 5 章 命令キャッシュ 5.4 命令キャッシュを使用するとき の設定方法 ■ 設定手順 「● 初期化」の説明を訂正 Flash ビット → FLSH ビット 149 第 6 章 低消費電力モード 6.4 シャットダウンモード 「6.4 シャットダウンモード」の説明を変更 F-bus RAM → ID-RAM 152 「● シャットダウンモードへの移行」の説明を訂正 F-bus RAM → ID-RAM 154 「● シャットダウンモードからの復帰」の<注意事 項>に項目を追加 - 第 6 章 サブ発振安定待ちタイマ 「第 6 章 サブ発振安定待ちタイマ」全体を削除 - 第 8 章 メモリコントローラ 「第 8 章 メモリコントローラ」全体を削除 192 第 8 章 外部バスインタフェース 8.4.1 ビッグエンディアンのバスア クセス ■ 外部バスアクセス 説明文を訂正 "00B" "01B" のときには "10B" になります。 224 9.1 I/O ポートの概要 ■ ポートの一般的な仕様 説明文を訂正 50 kW → 50 kΩ 225 10.2 ポート入力許可 「10.2 ポート入力許可」を削除 9.3 ポートファンクションレジスタ の設定 「■ポート 00」, 「■ポート 01」, 「■ポート 05」, 「■ポート 06」, 「■ポート 07」, 「■ポート 08」, 「■ポート 09」, 「■ポート 10」, 「■ポート 11」, 「■ポート 13」を削除 228 262 - 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 第 13 章 MPU / EDSU → 10B, 11B のときには 10B になります。 図 10.3-3 のタイトルを訂正 INTC-3 割込みレベル → 割込みレベル 「第 13 章 MPU / EDSU」全体を削除 290 第 13 章 DMAC (DMA コントローラ ) 13.1 DMAC (DMA コントローラ ) の 概要 図 13.1-2 を訂正 DSS[3:0] → DSS[2:0] 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ 15.3.1 シリアル制御レジスタ (SCR) <注意事項>を追加 426 452 第 15 章 LIN-UART 15.5 LIN-UART のボーレート 図 15.5-1 のビット名を訂正 リセット → REST - 第 26 章 サブクロックキャリブレー ションユニット 617 第 24 章 フラッシュメモリサポート 「第 26 章 サブクロックキャリブレーションユニッ ト」全体を削除 章タイトルを変更 フラッシュメモリ → フラッシュメモリサポート xiv ページ 変更内容(詳細は本文を参照してください。) 24.1 フラッシュメモリのシリアル プログラミング 内容を変更 「27.4 注意事項」 → 「24.1 フラッシュメモリのシリアルプログラミン グ」 第 28 章 フラッシュセキュリティ 「第 28 章 フラッシュセキュリティ」全体を削除 618 - 変更箇所は , 本文中のページ左側の│によって示しています。 xv xvi 第1章 概要 MB91461 の特長 , ブロックダイヤグラム , 機能概 要など全体を知るための基本的なことについて説 明します。 1.1 概要 1.2 ブロックダイヤグラム 1.3 外形寸法図 1.4 端子配列図 1.5 端子機能一覧表 1.6 入出力回路形式 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 1 第 1 章 概要 1.1 概要 MB91461 概要 1.1 MB91461 は民生機器などの高速リアルタイム処理が要求される組込み制御用途向け に設計された汎用の富士通 32 ビット RISC マイクロコントローラです。CPU には , FR ファミリと互換の FR60 を使用しています。 本製品は LIN-UART および CAN コントローラを内蔵しています。 ■ 特長 ● FR60 CPU • 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段 • 最大動作周波数 : 80MHz ( 原発振 4MHz, 20 逓倍 ((PLL クロック逓倍方式 ) • 16 ビット固定長命令 ( 基本命令 ) • 命令実行速度 : 1 命令 /1 サイクル • メモリ - メモリ間転送命令 , ビット処理命令 , バレルシフト命令など 組込み用途に適した命令 • 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令 : C 言語対応命令 • レジスタのインターロック機能 : アセンブラ記述も容易に可能 • 乗算器の内蔵 / 命令レベルでのサポート 1. 符号付き 32 ビット乗算……5 サイクル 2. 符号付き 16 ビット乗算…… 3 サイクル • 割込み (PC/PS 退避 ) : 6 サイクル (16 レベル ) • ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に 実行可能 • FR ファミリとの命令互換 ● 内蔵周辺機能 • 内蔵 RAM 容量 命令キャッシュ 4K バイト ID-RAM ( 命令 / データ共通 ) 64K バイト • 汎用ポート : 最大 72 本 • DMAC (DMA Controller) 同時に最大 5 チャネルの動作が可能 ( 外部→外部は 1 チャネル ) 3 つの転送要因 ( 外部端子 / 内部ペリフェラル / ソフトウェア ) 起動要因はソフトウェアにて選択可能 アドレッシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 ) 転送モード ( デマンド転送 / バースト転送 / ステップ転送 / ブロック転送 ) フライバイ転送サポート ( 外部 I/O とメモリ間 ) 転送データサイズは 8/16/32 ビットから選択可能 多バイト転送可能 ( ソフトにて決定 ) DMAC ディスクリプタは I/O 領域 (200H ∼ 240H, 1000H ∼ 1024H) 2 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.1 概要 MB91461 • A/D コンバータ ( 逐次比較型 ) 10 ビット分解能 : 13 チャネル 変換時間 : 1 μs ( 周辺マクロ動作クロック 16.67MHz 時 ) • 外部割込み入力 : 16 チャネル CAN0, CAN1 の RX 端子と兼用 • ビットサーチモジュール (REALOS 使用 ) 1 ワード中の MSB( 上位ビット ) から最初の "1" → "0" 変化ビット位置をサーチする 機能 • LIN-UART( 全二重ダブルバッファ方式 ) : 7 チャネル クロック同期 / 非同期の選択可能 Sync-break 検出 専用ボーレートジェネレータ内蔵 • I2C バスインタフェース (400kbps 対応 ) : 3 チャネル 3 チャネル マスタ / スレーブ送受信 アービトレーション機能 , クロック同期化機能 • CAN コントローラ (C-CAN) : 2 チャネル 転送速度 最大 1Mbps 32 送受信メッセージバッファ • 16 ビット PPG タイマ : 8 チャネル • 16 ビットリロードタイマ : 5 チャネル • 16 ビットフリーランタイマ : 4 チャネル (ICU 用 , OCU 用各 1 チャネル ) • インプットキャプチャ : 4 チャネル ( フリーランタイマと連動 ) • アウトプットコンペア : 4 チャネル ( フリーランタイマと連動 ) • ウォッチドッグタイマ ウォッチドッグリセット出力端子あり • リアルタイムクロック • 低消費電力モード : スリープ / ストップ / シャットダウンモード機能 ● パッケージ : LQFP-176 (FPT-176P-M07) ● CMOS 0.18 μm テクノロジ ● 3.3V/5V 電源 [ 降圧回路により内部 Logic 1.8V, I/O 一部 5.0V 耐圧 ] ● 動作温度 : − 40 ℃ ∼ + 85 ℃ CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 3 第 1 章 概要 1.1 概要 MB91461 ■ 品種構成 表 1.1-1 に , MB91461 品種構成一覧を示します。 表 1.1-1 MB91461 構成一覧 項目 搭載チャネル ROM/Flash 容量 − − 命令キャッシュ 4K バイト − ダイレクトマップキャッシュ − − D-bus RAM 容量 ( データ専用 ) − − ID-RAM ( 容量命令 / データ兼用 ) 64K バイト − 外部割込み 16 チャネル INT0 ∼ INT15 DMAC 5 チャネル ch.0 ∼ ch.4 A/D コンバータ 13 チャネル ch.0 ∼ ch.12 LIN-UART 7 チャネル ch.0 ∼ ch.6 I2 C 3 チャネル ch.0 ∼ ch.2 2 チャネル (32msg) ch.0, ch.1 16 ビット PPG 8 チャネル ch.0 ∼ ch.7 16 ビットリロードタイマ 5 チャネル ch.0 ∼ ch.3, ch.7 16 ビットフリーランタイマ 4 チャネル ch.0 ∼ ch.3 インプットキャプチャ 4 チャネル ch.0 ∼ ch.3 アウトプットコンペア 4 チャネル ch.0 ∼ ch.3 リアルタイムクロック あり − − − アドレス 24bit データ 16bit − ROM なし品 − DSU4 − CAN 32kHz サブクロック 外部バス その他 デバッグサポートユニット 4 MB91461 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.2 ブロックダイヤグラム MB91461 1.2 ブロックダイヤグラム MB91461 のブロックダイヤグラムを示します。 ■ ブロックダイヤグラム 図 1.2-1 ブロックダイヤグラム (MB91461) TRSTX BREAK ICS0~ICS2 ICD0~ICD3 DSU FR60 CPU コア (デバッグ サポート) ビットサーチ I-cache CAN (2チャネル) I-bus 32 D-bus 32 RX0, RX1 TX0, TX1 32←→16 バスアダプタ SYSCLK ASX RDX WR0X WR1X RAM 外部バス インタ フェース バスコンバータ BRQ BGRNTX CS0X~CS4X A23~A00 D31~D16 DREQ0 DACK0X DEOP0 IOWRX IORDX DMAC(5チャネル) クロック 制御 TRG0~TRG3 PPG0~PPG7 TIN0~TIN3 TOT0~TOT3 FRCK0~FRCK3 CM71-10159-2 PPG (8チャネル) リロードタイマ (5チャネル) フリーラン タイマ (4チャネル) ICU0~ICU3 インプット コンペア (4チャネル) OCU0~OCU3 アウトプット コンペア (4チャネル) R-bus 16 割込み コントローラ 外部割込み 16チャネル PORT インタフェース NMIX INT0~INT15 PORT LIN-UART (7チャネル) (BRGを含む) SIN0~SIN6 SOT0~SOT6 SCK0~SCK6 I2C (3チャネル) SDA0~SDA2 SCL0~SCL2 RTC A/Dコンバータ (13チャネル) FUJITSU MICROELECTRONICS LIMITED AN0~AN12 ATGX 5 第 1 章 概要 1.3 外形寸法図 1.3 MB91461 外形寸法図 MB91461 の外形寸法図を示します。 ■ LQFP-176 ピン 図 1.3-1 FPT-176P-M07 外形寸法図 プラスチック・LQFP, 176 ピン リードピッチ 0.50mm パッケージ幅× パッケージ長さ 24.0 × 24.0mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70mm MAX コード(参考) P-LQFP-0176-2424-0.50 (FPT-176P-M07) プラスチック・LQFP, 176 ピン (FPT-176P-M07) 注 1)* 印寸法はレジン残りを含まず。レジン残りは片側 +0.25(.010)MAX 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 26.00±0.20(1.024±.008)SQ *24.00±0.10(.945±.004)SQ 0.145±0.055 (.006±.002) 132 89 133 88 0.08(.003) Details of "A" part +0.20 1.50 –0.10 +.008 (Mounting height) .059 –.004 0.10±0.10 (.004±.004) (Stand off) 0˚~8˚ INDEX 176 45 "A" LEAD No. 1 44 0.50(.020) 0.22±0.05 (.009±.002) 0.08(.003) 0.50±0.20 (.020±.008) 0.60±0.15 (.024±.006) 0.25(.010) M ©2004-2008 FUJITSU LIMITED F176013S-c-1-2 C 2004 FUJITSU LIMITEDMICROELECTRONICS F176013S-c-1-1 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記の URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 6 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.4 端子配列図 MB91461 1.4 端子配列図 MB91461 の端子配列図を示します。 ■ 端子配列図 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 VCC5 P17_3 PPG3 P17_2/ PPG2 P17_1/ PPG1 P17_0/ PPG0 P14_3/ ICU3/TTN3/TRG3 P14_2/ ICU2/TIN2/TRG2 P14_1/ ICU1/TIN1/TRG1 P14_0/ ICU0/TIN0/TRG0 P22_3 P22_2/ INT13 P22_0/ INT12 P23_6/ INT11 P23_4/ INT10 VCC5 VSS P15_3/ OCU3/TOT3 P15_2/ OCU2/TOT2 P15_1/ OCU1/TOT1 P15_0/ OCU0/TOT0 P18_2/ SCK6 P18_1/ SOT6 P18_0/ SIN6 P19_6/ SCK5 P19_5/ SOT5 P19_4/ SIN5 P19_2/ SCK4 P19_1/ SOT4 P19_0/ SIN4 VCC5 VSS P20_6/ SCK3/FRCK3 P20_5/ SOT3 P20_4/ SIN3 P20_2/ SCK2/FRCK2 P20_1/ SOT2 P20_0/ SIN2 P21_6/ SCK1/FRCK1 P21_5/ SOT1 P21_4/ SIN1 P21_2/ SCK0/FRCK0 P21_1/ SOT0 P21_0/ SIN0 VCC5 図 1.4-1 MB91461 の端子配列図 VSS INT2 / P24_2 lNT3 / P24_3 SDA1/lNT15 / P22_6 SCL1 /P22_7 SDA2/INT4 / P24_4 SCL2/lNT5 / P24_5 DREQ0 DACK0X DEOP0 VCC3 VCC3 VSS C_1 CS4X CS3X CS2X CS1X CS0X IORDX IOWRX RDY BRQ BGRNTX RDX WR0X WR1X SYSCLK ASX VCC3 C_2 VSS X0 X1 VSS D16 D17 D18 D19 D20 D21 D22 D23 VCC3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ① ② ③ TOP View MB91461端子配列 (LQFP-176) 2電源品 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 VSS INITX TRSTX MD0 MD1 MD2 MD3 P23_3 / TX1 P23_2 / RX1/INT9 P23_1 / TX0 P23_0 / RX0/lNT8 P24_7 / INT7 P24_6 / INT6 P22_5 / SCL0 P22_4 / SDA0/INT14 P24_1 / lNT1 P24_0 / INT0 AVRH AVCC3 AVSS/AVRL P28_4 / AN12 P28_3 / AN11 P28_2 / AN10 P28_1 / AN9 P28_0 / AN8 P29_7 / AN7 P29_6 / AN6 P29_5 / AN5 P29_4 / AN4 P29_3 / AN3 P29_2 / AN2 P29_1 / AN1 P29_0 / AN0 WDRESETX BREAK ICLK ICS2 ICS1 lCS0 ICD3 lCD2 lCD1 lCD0 VCC3 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 VSS P17_7 / PPG7 P17_6 / PPG6 P17_5 / PPG5 P17_4 / PPG4 P16_7 / ATGX NMIX A23 A22 A21 A20 A19 A18 A17 VSS VCC3 A16 A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 VSS VCC3 A02 A01 A00 D31 D30 D29 D28 D27 D26 D25 D24 VSS CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 7 第 1 章 概要 1.4 端子配列図 MB91461 <注意事項> 3 つの I/O ブロック ( ①∼③ ) は , それぞれ 176 ピン , 162 ピン , 133 ピン (147 ピン ) にて , 各端子への供給電源レベル (3.3V/5V) が設定できます。ただし , 各ブロックとも , 1 本でも 5V 動作する端子がある場合は , 5V 電源の供給を行ってください。 ①の I2C 用端子は電源に 5V を供給する場合のみ , 5V 振幅の入力が可能になります。また , I2C の入力しきい値は電源電圧に関係なく 3.3V を基準とした値になります。 ①または③を 5V 端子を使用した場合 , INITX 端子へ 5V 入力が必要になりますので , ③には 5V 供給を行ってください。 8 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.5 端子機能一覧表 MB91461 端子機能一覧表 1.5 MB91461 の端子機能の一覧を示します。 ■ 端子機能一覧表 表 1.5-1 端子機能一覧表 (1 / 5) 端子番号 端子名 P24_2 2 INT2 P24_3 3 INT3 P22_6 4 SDA1 INT15 P22_7 5 SCL1 P24_4 6 SDA2 INT4 P24_5 入出力 入出力 回路形式 I/O D I/O D 汎用入出力ポートです。 外部割込み入力端子です。 汎用入出力ポートです。 外部割込み入力端子です。 汎用入出力ポートです。 I/O オープン ドレイン C I/O オープン ドレイン C I/O オープン ドレイン 機能 I2C バスデータ入出力端子です。 外部割込み入力端子です。 汎用入出力ポートです。 I2C バスクロック入出力端子です。 汎用入出力ポートです。 C I2C バスデータ入出力端子です。 外部割込み入力端子です。 汎用入出力ポートです。 C INT5 I/O オープン ドレイン 8 DREQ0 I H DMA 外部転送要求入力です。 9 DACK0X O H DMA 外部転送アクノリッジ出力です。 10 DEOP0 O H DMA 外部転送 EOP (End of Process) 出力です。 15 ∼ 19 CS4X ∼ CS0X O H チップセレクト出力です。 20 IORDX O H DMA フライバイ転送時のリードストローブ出力です。 21 IOWRX O H DMA フライバイ転送時のライトストローブ出力です。 22 RDY I H 外部レディ入力です。 23 BRQ I H 外部バス開放要求入力です。 24 BGRNTX O H 外部バス開放受付け出力です。 25 RDX O H 外部リードストローブ出力です。 26 WR0X O H 外部ライトストローブ出力です。 27 WR1X O H 外部ライトストローブ出力です。 28 SYSCLK O H システムクロック出力です。 29 ASX O H アドレスストローブ出力です。 33 X0 − H クロック ( 発振 ) 入力です。 7 SCL2 CM71-10159-2 I2C バスクロック入出力端子です。 外部割込み入力端子です。 FUJITSU MICROELECTRONICS LIMITED 9 第 1 章 概要 1.5 端子機能一覧表 MB91461 表 1.5-1 端子機能一覧表 (2 / 5) 端子番号 端子名 入出力 入出力 回路形式 34 X1 − H クロック ( 発振 ) 出力です。 36 ∼ 43 46 ∼ 53 D16 ∼ D31 I/O H 外部データバス信号です。 54 ∼ 56 59 ∼ 72 75 ∼ 81 A00 ∼ A23 O H 外部アドレスバス信号です。 82 NMIX I H NMI (Non Maskable Interrupt) 入力です。 H 汎用入出力ポートです。 H A/D コンバータ外部トリガ入力です。 H 汎用入出力ポートです。 H PPG タイマ出力端子です。 83 84 ∼ 87 P16_7 ATGX P17_4 ∼ P17_7 PPG4 ∼ PPG7 I/O 機能 I/O 90 ∼ 93 ICD0 ∼ ICD3 I/O H 開発ツール用データ入出力端子です。 94 ∼ 96 ICS0 ∼ ICS2 O H 開発ツール用ステータス出力端子です。 97 ICLK O I 開発ツール用クロック出力端子です。 98 BREAK I H 開発ツール用ブレーク入力端子です。 99 WDRESETX O J ウォッチドッグリセット出力端子です。 100 ∼ 107 P29_0 ∼ P29_7 I/O F AN0 ∼ AN7 108 ∼ 112 116, 117 P28_0 ∼ P28_4 A/D コンバータ用アナログ入力端子です。 汎用入出力ポートです。 I/O AN8 ∼ AN12 P24_0, P24_1 F A/D コンバータ用アナログ入力端子です。 汎用入出力ポートです。 I/O D INT0, INT1 P22_4 118 SDA0 INT14 P22_5 119 SCL0 P24_6 120 10 INT6 汎用入出力ポートです。 外部割込み入力端子です。 シャットダウンからの復帰要因として使用可能です。 汎用入出力ポートです。 I/O オープン ドレイン C I/O オープン ドレイン C I/O オープン ドレイン D I2C バスデータ入出力端子です。 外部割込み入力端子です。 汎用入出力ポートです。 I2C バスクロック入出力端子です。 汎用入出力ポートです。 外部割込み入力端子です。 シャットダウンからの復帰要因として使用可能です。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.5 端子機能一覧表 MB91461 表 1.5-1 端子機能一覧表 (3 / 5) 端子番号 端子名 入出力 入出力 回路形式 I/O D P24_7 121 INT7 汎用入出力ポートです。 P23_0 122 RX0 P23_1 TX0 I/O D RX1 I/O D P23_3 TX1 汎用入出力ポートです。 CAN0 の TX 出力端子です 汎用入出力ポートです。 I/O D CAN1 の RX 入力端子です。 外部割込み入力端子です。 シャットダウンからの復帰要因として使用可能です。 INT9 125 CAN0 の RX 入力端子です。 外部割込み入力端子です。 シャットダウンからの復帰要因として使用可能です。 P23_2 124 外部割込み入力端子です。 シャットダウンからの復帰要因として使用可能です。 汎用入出力ポートです。 INT8 123 機能 I/O D 汎用入出力ポートです。 CAN0 の TX 出力端子です。 126 MD3 I A 127 MD2 I A 128 MD1 I A 129 MD0 I B 130 TRSTX I E 開発ツール用リセット入力端子です。 131 INITX I B 外部リセット入力です。 I/O D I/O D 134 135 P21_0 SIN0 P21_1 SOT0 P21_2 136 SCK0 138 P21_4 SIN1 P21_5 SOT1 I/O D SCK1 I/O D I/O D 141 CM71-10159-2 P20_0 SIN2 P20_1 SOT2 汎用入出力ポートです。 UART0 のデータ出力端子です。 UART0 のクロック入出力端子です。 汎用入出力ポートです。 UART1 のデータ入力端子です。 汎用入出力ポートです。 UART1 のデータ出力端子です。 汎用入出力ポートです。 I/O D FRCK1 140 UART0 のデータ入力端子です。 フリーランタイマ 0 の外部クロック入力端子です。 P21_6 139 汎用入出力ポートです。 汎用入出力ポートです。 FRCK0 137 モード設定端子です。 MD3 は "0" 固定にしてください。 UART1 のクロック入出力端子です。 フリーランタイマ 1 の外部クロック入力端子です。 I/O D I/O D 汎用入出力ポートです。 UART2 のデータ入力端子です。 汎用入出力ポートです。 UART2 のデータ出力端子です。 FUJITSU MICROELECTRONICS LIMITED 11 第 1 章 概要 1.5 端子機能一覧表 MB91461 表 1.5-1 端子機能一覧表 (4 / 5) 端子番号 端子名 入出力 入出力 回路形式 P20_2 142 SCK2 汎用入出力ポートです。 I/O D FRCK2 143 144 P20_4 SIN3 P20_5 SOT3 SCK3 I/O D I/O D 149 150 151 152 153 154 155 156 P19_0 SIN4 P19_1 SOT4 P19_2 SCK4 P19_4 SIN5 P19_5 SOT5 P19_6 SCK5 P18_0 SIN6 P18_1 SOT6 P18_2 SCK6 I/O D OCU0 ∼ OCU3 I/O D I/O D I/O D I/O D I/O D I/O D I/O D I/O D I/O D 164 12 P23_4 INT10 P23_6 INT11 汎用入出力ポートです。 UART3 のデータ出力端子です。 UART3 のクロック入出力端子です。 汎用入出力ポートです。 UART4 のデータ入力端子です。 汎用入出力ポートです。 UART4 のデータ出力端子です。 汎用入出力ポートです。 UART4 のクロック入出力端子です。 汎用入出力ポートです。 UART5 のデータ入力端子です。 汎用入出力ポートです。 UART5 のデータ出力端子です。 汎用入出力ポートです。 UART5 のクロック入出力端子です。 汎用入出力ポートです。 UART6 のデータ入力端子です。 汎用入出力ポートです。 UART6 のデータ出力端子です。 汎用入出力ポートです。 UART6 のクロック入出力端子です。 汎用入出力ポートです。 I/O D TOT0 ∼ TOT3 163 UART3 のデータ入力端子です。 フリーランタイマ 3 の外部クロック入力端子です。 P15_0 ∼ P15_3 157 ∼ 160 汎用入出力ポートです。 汎用入出力ポートです。 FRCK3 148 UART2 のクロック入出力端子です。 フリーランタイマ 2 の外部クロック入力端子です。 P20_6 145 機能 アウトプットコンペア出力端子です。 リロードタイマ出力端子です。 I/O D I/O D 汎用入出力ポートです。 外部割込み入力端子です。 汎用入出力ポートです。 外部割込み入力端子です。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.5 端子機能一覧表 MB91461 表 1.5-1 端子機能一覧表 (5 / 5) 端子番号 端子名 P22_0 165 INT12 P22_2 166 INT13 167 P22_3 入出力 入出力 回路形式 I/O D I/O D I/O D P14_0 ∼ P14_3 168 ∼ 171 ICU0 ∼ ICU3 TIN0 ∼ TIN3 172 ∼ 175 PPG0 ∼ PPG3 CM71-10159-2 汎用入出力ポートです。 外部割込み入力端子です。 汎用入出力ポートです。 外部割込み入力端子です。 汎用入出力ポートです。 汎用入出力ポートです。 インプットキャプチャ入力端子です。 I/O D リロードタイマの外部トリガ入力端子です。 TRG0 ∼ TRG3 P17_0 ∼ P17_3 機能 PPG の外部トリガ入力端子です。 汎用入出力ポートです。 I/O D PPG タイマ出力端子です。 FUJITSU MICROELECTRONICS LIMITED 13 第 1 章 概要 1.5 端子機能一覧表 MB91461 表 1.5-2 端子機能一覧表【電源・GND 端子】 端子番号 端子名 I/O 回路形式 1, 13, 32, 35 45, 58, 74, 88, 132, 146, 161 VSS (VSS) 11, 12, 30, 44, 57, 73, 89 VCC3 (VCC3) 3.3V 電源端子です。 14 端子機能 GND 端子です。 133 147 VCC5 (VCC5) 5V 電源端子です。116 ∼ 145 ピンに対応した I/O 電源で あり , 3.3V を供給することにより I/O が 3.3V 動作になり ます。ほかの I/O 電源ブロックで 5V を使用する場合には 本端子に属する I/O も 5V に設定する必要があります。 162 VCC5 (VCC5) 5V 電源端子です。148 ∼ 160 ピンに対応した I/O 電源で あり , 3.3V を供給することにより I/O が 3.3V 動作になり ます。 176 VCC5 (VCC5) 5V 電源端子です。2 ∼ 7, 163 ∼ 175 ピンに対応した I/O 電源であり , 5V 動作端子が 1 本以上ある場合には 5V を 供給してください。 113 AVSS/AVRL (AVSS) A/D コンバータ用アナログ GND 端子です。 114 AVCC3 (AVCC3) A/D コンバータ用 3.3V 電源端子です。 115 AVRH (AVRH) A/D コンバータ用基準電源端子です。 14 C_1 − 内部レギュレータ用のコンデンサ接続端子です。1μF を接 続してください。 31 C_2 − 内部レギュレータ用のコンデンサ接続端子です。1μF を接 続してください。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.6 入出力回路形式 MB91461 1.6 入出力回路形式 表 1.6-1 に , 入出力回路形式を示します。 ■ 入出力回路形式 表 1.6-1 入出力回路形式 (1 / 3) 分類 回路形式 備考 5V CMOS ヒステリシス入力 プルダウン付き 5Vレベル 入力 A N-ch プルダウン 5V CMOS ヒステリシス入力 プルアップ付き プルアップ P-ch B 入力 5Vレベル I2C 用入出力 IOL = 3 mA N-ch 出力駆動 N-ch 5V 耐圧 ( スタンバイ制御付き ) C 入力 スタンバイ制御 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 15 第 1 章 概要 1.6 入出力回路形式 MB91461 表 1.6-1 入出力回路形式 (2 / 3) 分類 回路形式 備考 5V CMOS レベル出力 IOL = 4 mA プルアップ制御 P-ch 5Vレベル P-ch 出力駆動 P-ch N-ch 出力駆動 N-ch 5V CMOS レベル入力 5V CMOS ヒステリシス入力 プルアップ / プルダウン制御付き ( スタンバイ制御付き ) D プルダウン制御 N-ch 入力 スタンバイ制御 入力 スタンバイ制御 3.3V CMOS ヒステリシス入力 5V 耐圧 ( スタンバイ制御付き ) 3.3Vレベル E 入力 3.3V CMOS レベル出力 IOL = 4 mA 3.3Vレベル P-ch 出力駆動 P-ch N-ch 出力駆動 N-ch 3.3V CMOS レベル入力 3.3V CMOS ヒステリシス入力 アナログ入力 ( スタンバイ制御付き ) F 入力 スタンバイ制御 入力 スタンバイ制御 アナログ入力 16 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 1 章 概要 1.6 入出力回路形式 MB91461 表 1.6-1 入出力回路形式 (3 / 3) 分類 回路形式 備考 3.3Vレベル 入力 3.3V 発振セル ( 帰還抵抗 1MΩ) G スタンバイ制御 3.3V CMOS レベル出力 IOL = 4 mA プルアップ制御 P-ch 3.3Vレベル P-ch 出力駆動 P-ch N-ch 出力駆動 N-ch 3.3V CMOS レベル入力 3.3V CMOS ヒステリシス入力 プルアップ / プルダウン制御付き ( スタンバイ制御付き ) H プルダウン制御 N-ch 入力 スタンバイ制御 入力 スタンバイ制御 3.3V CMOS レベル出力 I : IOL = 8 mA 3.3Vレベル P-ch 出力駆動 P-ch N-ch 出力駆動 N-ch J : IOL = 4 mA I, J 5V CMOS ヒステリシス入力 5Vレベル K CM71-10159-2 入力 FUJITSU MICROELECTRONICS LIMITED 17 第 1 章 概要 1.6 入出力回路形式 18 MB91461 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第2章 デバイスの取扱いについて FR ファミリの取扱い上の注意について説明しま す。 2.1 デバイス取扱い上の注意 2.2 使用上の注意 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 19 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 2.1 MB91461 デバイス取扱い上の注意 ラッチアップ防止 , 端子処理 , 回路の取扱い , および電源投入時の入力などについて 説明します。 ■ ラッチアップ防止のために CMOS IC では入力端子や出力端子に VCC より高い電圧や VSS より低い電圧を印加し た場合, またはVCC端子とVSS端子との間に定格を超える電圧を印加した場合に, ラッ チアップ現象を生じることがあります。ラッチアップが生じると電源電流が激増し , 素 子の熱破壊に至ることがありますので使用に際しては最大定格を超えることのないよ う十分に注意してください。 ■ 未使用入力端子の処理について 使用していない入力端子を開放のままにしておくと誤動作の原因となることがありま すので , プルアップまたはプルダウンの処理をしてください。 ■ 電源端子について VCC・VSS が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止する ためにデバイス内部で同電位にすべきものどうしを接続してありますが , 不要輻射の 低減・グランドレベルの上昇によるストローブ信号の誤動作の防止・総出力電流規格 を遵守などのために , 必ずそれらすべてを外部で電源およびグランドに接続してくだ さい。また , 電流供給源からできる限り低インピーダンスで本デバイスの VCC, VSS に 接続するような配慮をお願いします。 さらに , 本デバイスの近くで , VCC と VSS の間に 0.1 μF 程度のセラミックコンデンサ をバイパスコンデンサとして接続することをお勧めします。 MB91461 には , 降圧レギュレータが内蔵されています。レギュレータ用に必ず C_1, C_2 端子に 4.7 μF のバイパスコンデンサを接続してください。 ■ 水晶発振回路について X0, X1 (X0A, X1A) 端子の近辺のノイズは本デバイスの誤動作の原因となります。X0 (X0A) と X1 (X1A) および水晶発振子さらにグランドへのバイパスコンデンサはできる 限り近くに配置するようにプリント板を設計してください。また , X0, X1 端子の回り をグランドで囲むようなプリント板アートワークは安定した動作を期待できますので, 強くお勧めします。 各量産品において , 使用される発振子メーカに発振評価依頼をしてください。 20 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 MB91461 ■ 外部クロック使用時の注意 外部クロックを使用する際には , 原則として X0 (X0A) 端子 , また , X1 (X1A) 端子には X0 (X0A) と逆相のクロックを同時に供給してください。ただし , この場合には STOP モード ( 発振停止モード ) は使用しないでください (STOP 時 , X1 (X1A) 端子が "H" 出 力で停止するため )。 図 2.1-1 外部クロック使用例 ( 通常 ) X0 (X0A) X1 (X1A) ( 注意事項 ) STOP モード ( 発振停止モード ) は使用できません。 ■ モード端子 (MD0 ∼ MD3) について これらの端子は , VCC または VSS に直接つないで使用してください。ノイズにより 誤ってテストモードに入ってしまうことを防ぐために , プリント板上の各モード端子 と VCC または VSS 間のパターン長をできる限り短くし , これらを低インピーダンスで 接続するようにしてください。 ■ 3.3V 系および 5V 系の電源投入順序について • 電源投入直後は発振回路の発振安定待ち時間を確保するため , INITX 端子への "L" レベル入力を発振安定待ち時間 (8ms) の間持続してください。 • 電源投入順序はありません。 • リセット解除 (INITX 端子を "L" レベル→ "H" レベル ) を行う場合は , 3.3V 系および 5V 系電源が安定している状態で行ってください。 ■ PLL クロックモード動作中の注意について MB91461 で PLL クロックを選択しているときに発振子が外れたり , クロック入力が停 止した場合 , PLL 内部の自励発振回路の自走周波数で動作を続ける場合があります。こ の動作は保証外の動作です。 ■ 外部バスの設定 MB91461 は , 外部バスクロック SYSCLK は最大 40MHz の保証となっています。 DIVR1 ( 外部バス基本クロック分周設定レジスタ ) を初期値のまま , ベースクロックを 40MHz に設定すると , 外部バスも 80MHz になります。ベースクロックを変更する際に は , SYSCLK が 40MHz を超えないように設定した後 , ベースクロックを変更してくだ さい。 ■ プルアップコントロール 外部バス端子として使用する端子に対してプルアップ抵抗をつけると交流規格を保証 できません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 21 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 MB91461 ■ シリアル通信について シリアル通信においては , ノイズなどにより間違ったデータを受信する可能性があり ます。そのため , ノイズを抑えるボードの設計をしてください。 また , 万が一ノイズなどの影響により誤ったデータを受信した場合を考慮し , 最後に データのチェックサムなどを付加してエラー検出を行ってださい。エラーが検出され た場合には , 再送を行うなどの処理をしてください。 ■ PS レジスタに関する注意事項 一部の命令で PS レジスタを先行処理しているため , 下記の例外動作により , デバッガ 使用時に割込み処理ルーチンでブレークしたり , PS レジスタ内のフラグの表示内容が 更新されたりする場合があります。いずれの場合も , EIT から復帰後以降に , 正しく再 処理を行うように設計されていますので , EIT 前後の動作は仕様どおりの処理を行いま す。 1) DIV0U/DIV0S 命令の直前の命令では , ユーザ割込み・NMI を受け付けた場合 , ス テップ実行を行った場合 , データイベントまたはエミュレータメニューにてブ レークした場合 , 以下の動作を行う場合があります。 - D0, D1 フラグが先行して更新されます。 - EIT 処理ルーチン ( ユーザ割込み・NMI, またはエミュレータ ) を実行します。 - EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0, D1 フラグが 1) と同じ値 に更新されます。 2) ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために OR CCR/ST ILM/MOV Ri,PS の各命令が実行されると , 以下のような動作 を行います。 - PS レジスタが先行して更新されます。 - EIT 処理ルーチン ( ユーザ割込み・NMI, またはエミュレータ ) を実行します。 - EIT から復帰後 , 上記命令が実行され , PS レジスタが 1) と同じ値に更新され ます。 ■ 同期モードのソフトウェアリセットについて 同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジス タ ) の SRST ビットに "0" を設定する前に , 以下の 2 つの条件を必ず満たしてください。 • 割込み許可フラグ (I) を割込み禁止 (I = 0) に設定する。 • NMI を使用しない。 22 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 2 章 デバイスの取扱いについて 2.1 デバイス取扱い上の注意 MB91461 ■ デバッガ関連の注意事項 ● RETI 命令のステップ実行 ステップ実行する際 , 割込みが頻繁に発生する環境下では , 該当する割込み処理ルーチ ンだけを繰り返して実行します。その結果 , メインルーチンや割込みレベルの低いプロ グラムの実行が行われなくなります ( 例えば, タイムベースタイマの割込みを許可して いた場合 , RETI をステップ実行すると , 必ずタイムベースのルーチンの先頭でブレー クします ) 。 該当割込み処理ルーチンのデバッグが不要になった段階で , 該当する割込みを禁止し てください。 ● ブレーク機能 ハードウェアブレーク (イベントブレークを含む) の対象アドレスが現在のシステムス タックポインタのアドレスや , スタックポインタを含む領域に設定されていると , ユー ザプログラムに実際のデータアクセス命令がないにもかかわらず , 1 命令実行後にブ レークしてしまいます。 ブレーク回避するために , システムスタックポインタのアドレスを含む領域に対する ( ワード ) アクセスをハードウェアブレーク ( イベントブレーク含む ) の対象に設定しな いでください。 ● オペランドブレークについて DSU のオペランドブレークとして設定している領域にスタックポインタがあると誤動 作の原因となります。システムスタックポインタのアドレスを含む領域に対するアク セスをデータイベントブレークの対象にしないでください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 23 第 2 章 デバイスの取扱いについて 2.2 使用上の注意 2.2 MB91461 使用上の注意 DSU4 (ICE) 専用接続端子の使用上の注意について示します。 ■ DSU4 (ICE) 専用接続端子について 下記に MB91461 の DSU4 (ICE) 接続端子を示します。 表 2.2-1 MB91461 の DSU4 (ICE) 接続端子 端子番号 端子名 機能 93 ∼ 90 ICD3 ∼ ICD0 開発ツール用データ入出力端子です。 96 ∼ 94 ICS2 ∼ ICS0 開発ツール用ステータス出力端子です。 97 ICLK 開発ツール用クロック端子です。 98 BREAK 開発ツール用ブレーク端子です。 130 TRSTX 開発ツール用リセット端子です。 (3V/5V 対応入力端子 ) ● ユーザターゲット側コネクタと MB91461 の接続について 下記にユーザターゲット側の推奨コネクタを示します。 メーカ : 山一電機株式会社 型格 : FAP-20-08#* * : 一桁の数字で端子形状を示します。 ・1 : ライトアングル / ラッピング ・2 : ライトアングル / はんだディップ ・4 : ストレート / はんだディップ 図 2.2-1 ユーザターゲット側コネクタの接続例 24 19ピン 1ピン 20ピン 2ピン FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 2 章 デバイスの取扱いについて 2.2 使用上の注意 MB91461 表 2.2-2 ターゲット側コネクタの端子機能一覧表 コネクタ 端子 No. 信号線名 入出力 1 EVCC2 入力 開放 2 EVCC3 入力 開放 3 DSUIO 入出力 開放 4 UVCC 出力 ユーザ Vcc 出力 6 XRSTIN 出力 ユーザ回路の INITX 信号に接続 8 PLVL 入力 開放 5 XTRST 入力 TRSTX(130 ピン ) に接続 7 XINIT 入力 INITX(131 ピン ) に接続 9 GND − 10 BREAK 入力 11 ICD[3] 12 ICD[2] 端子処理 VSS に接続 ブレーク (98 ピン ) に接続 ICD3 (93 ピン ) に接続 ICD2 (92 ピン ) に接続 入出力 13 ICD[1] ICD1 (91 ピン ) に接続 MB91461 CM71-10159-2 14 ICD[0] 15 GND 16 ICS[2] 17 ICS[1] 18 ICS[0] 19 GND − 20 ICLK 出力 ICD0 (90 ピン ) に接続 − VSS に接続 ICS2 (96 ピン ) に接続 出力 ICS1 (95 ピン ) に接続 ICS0 (94 ピン ) に接続 VSS に接続 ICLK(97 ピン ) に接続 FUJITSU MICROELECTRONICS LIMITED 25 第 2 章 デバイスの取扱いについて 2.2 使用上の注意 MB91461 ● 量産時の DSU4 (ICE) 専用端子の処理について 表 2.2-3 量産時の DSU4 (ICE) 専用端子処理 端子番号 端子名 端子処理 93 ∼ 90 ICD3 ∼ ICD0 開放 96 ∼ 94 ICS2 ∼ ICS0 開放 97 ICLK 開放 98 BREAK 開放 130 TRSTX INITX(131 ピン : 外部リセット入力端子 ) に接続 図 2.2-2 量産時の開発ツール (DSU) 用リセット端子 (TRSTX) の接続処理 INITX リセット入力 TRSTX 開発ツール用リセット端子 (TRSTX) は 3.3V/5V 対応入力端子になっておりますので , INITX 端子と直接接続が可能です。 26 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第3章 CPU FR ファミリの CPU コアのアーキテクチャ , 仕様 , 命令などについて説明します。 3.1 メモリ空間 3.2 内部アーキテクチャ 3.3 プログラミングモデル 3.4 データ構造 3.5 メモリマップ 3.6 分岐命令 3.7 EIT ( 例外・割込み・トラップ ) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 27 第 3 章 CPU 3.1 メモリ空間 3.1 MB91461 メモリ空間 FR ファミリの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアにアク セスを行います。 ■ ダイレクトアドレッシング領域 アドレス空間の下記の領域は I/O 用に使用されます。 この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレ スを指定できます。 ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。 バイトデータアクセス : 000H ∼ 0FFH ハーフワードアクセス : 000H ∼ 1FFH ワードデータアクセス : 000H ∼ 3FFH ■ メモリマップ 図 3.1-1 に , メモリマップを示します。 図 3.1-1 メモリマップ MB91461 外ROM 外バスモード 0000 0000H I/O 0000 0400H ダイレクト アドレッシング領域 I/Oマップを参照 I/O 0000 1000H 0000 8000H 0000 BFFFH BI-ROM 0001 0000H 0002 0000H I-cache 0003 0000H 0004 0000H ID-RAM 外部領域 0010 0000H リセット・ モードベクタ 外部領域 FFFF FFFFH <注意事項> MB91V460 に搭載されている RAM はすべて 0 ウェイトです。 28 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.2 内部アーキテクチャ MB91461 3.2 内部アーキテクチャ FR ファミリ CPU は , RISC アーキテクチャを採用すると同時に , 組込み用途に向け た高機能命令を導入した高性能コアです。 ■ 内部アーキテクチャの特長 • RISC アーキテクチャの採用 基本命令 1 命令 1 サイクル • 32 ビットアーキテクチャ 汎用レジスタ 32 ビット× 16 本 • 4G バイトのリニアなメモリ空間 • 乗算器の搭載 32 ビット× 32 ビット乗算 5 サイクル 16 ビット× 16 ビット乗算 3 サイクル • 割込み処理機能の強化 高速応答速度 (6 サイクル ) 多重割込みのサポート レベルマスク機能 (16 レベル ) • I/O 操作用命令の強化 メモリ - メモリ転送命令 ビット処理命令 • 高いコード効率 基本命令語長 16 ビット • 低消費電力 スリープモード / ストップモード / シャットダウンモード CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 29 第 3 章 CPU 3.2 内部アーキテクチャ MB91461 ■ 内部アーキテクチャの構造 FR ファミリの CPU は命令バスとデータバスが独立したハーバードアーキテクチャ構 造を採用しています。 32 ビット←→ 16 ビットバスアダプタは 32 ビットバス (D-bus) に接続され , CPU と周 辺リソースとのインタフェースを実現します。 ハーバード←→プリンストン バスコンバータは I-bus, D-bus 双方に接続され , CPU とバ スコントローラとのインタフェースを実現します。 図 3.2-1 に , 内部アーキテクチャの構造を示します。 図 3.2-1 内部アーキテクチャの構造 DSU FR60CPU コア (デバッグサポート) D-bus I-bus ビットサーチ I-cache RAM 32 CAN (2チャネル) 32 32←→16 バスアダプタ RAM バス コンバータ 16 R-bus DMAC 5チャネル 外部バス インタ フェース 周辺 リソース 30 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.2 内部アーキテクチャ MB91461 ■ CPU CPU は 32 ビット RISC の FR アーキテクチャをコンパクトにインプリメントしたもの です。1 サイクルあたり 1 命令の実行を行うため , 5 段階の命令パイプライン方式を採 用しています。パイプラインは以下のステージから構成されています。 図 3.2-2 に , 命令パイプラインを示します。 命令フェッチ (IF) …命令アドレスを出力し , 命令をフェッチします。 命令デコード (ID) …フェッチした命令をデコードします。レジスタの読出しも 行います。 実行 (EX) …演算を実行します。 メモリアクセス (MA) …メモリに対するロードまたはストアのアクセスを行いま す。 ライトバック (WB) …演算結果 ( またはロードされたメモリデータ ) をレジスタ に書き込みます。 図 3.2-2 命令パイプライン CLK 命令 1 WB 命令 2 MA WB 命令 3 EX MA WB 命令 4 ID EX MA WB 命令 5 IF ID EX MA WB IF ID EX MA 命令 6 WB 命令は , 順不同で実行されることはありません。すなわち , 命令 A が命令 B の前にパ イプラインに入ると , 命令 A は必ず命令 B の前にライトバックステージに達します。 命令の実行は , 原則として 1 サイクルあたり 1 命令の速度で行われます。ただし , メモ リウェイトを伴ったロード・ストア命令 , 遅延スロットがない分岐命令 , 複数サイクル 命令では命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い場合 も命令の実行速度が低下します。 ■ 命令キャッシュ オンチップの命令キャッシュにより , 外部高速メモリとそれに関連する制御ロジック のコストを発生することなく高性能なシステムを構築することができます。外部バス の速度が遅い場合にも , CPU への命令供給を高速に行うことができます。 命令キャッシュの詳細については「第 5 章 命令キャッシュ」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 31 第 3 章 CPU 3.2 内部アーキテクチャ MB91461 ■ 32 ビット←→ 16 ビットバスコンバータ 32 ビット←→ 16 ビットバスコンバータは , 32 ビット幅で高速アクセスされる F-bus と , 16 ビット幅でアクセスされる R-bus とのインタフェースを行い , CPU から内蔵周辺回 路へのデータアクセスを実現します。 CPU から R-bus に対して 32 ビット幅のアクセスがあった場合 , このバスコンバータが 2 回の 16 ビット幅アクセスに変換してアクセスを行います。内蔵周辺回路の一部には アクセス幅に関して制限のあるものがあります。 ■ ハーバード←→プリンストン バスコンバータ ハーバード←→プリンストン バスコンバータは , CPU の命令アクセスとデータアクセ スの整合をとり , 外部バスとのスムーズなインタフェースを実現します。 CPU は命令バスとデータバスが独立したはハーバードアーキテクチャ構造です。一方 , 外部バスの制御を行うバスコントローラは単一バスのプリンストンアーキテクチャ構 造です。このバスコンバータは CPU の命令アクセスとデータアクセスに優先順位をつ け , バスコントローラへのアクセスの制御を行います。この働きにより , 外部へのバス アクセス順位が常に最適化されたものになります。 32 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.2 内部アーキテクチャ MB91461 3.2.1 命令概要 FR ファミリは , 一般的な RISC の命令体系に加え , 組込み用途に最適化された論理 演算とビット操作およびダイレクトアドレッシング命令をサポートしています。 各命令は 16 ビット長 ( 一部命令は 32, 48 ビット長 ) ですので , 優れたメモリ使用効 率があります。 命令セットは以下の機能グループに分けることができます。 • 算術演算 • ロードとストア • 分岐 • 論理演算とビット操作 • ダイレクトアドレッシング • その他 ■ 算術演算 標準の算術演算命令 ( 加算 , 減算 , 比較 ) およびシフト命令 ( 論理シフト , 算術演算シフ ト ) があります。加算と減算については , 多ワード長演算で使用するキャリ付き演算や アドレス計算に便利なフラグ値を変化させない演算も可能です。 さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令と , 32 ビット÷ 32 ビットのステップ除算命令があります。また , レジスタに即値をセットする即値転送命 令やレジスタ間転送命令も備えています。 算術演算命令はすべて CPU 内の汎用レジスタおよび乗除算レジスタを用いて演算を行 います。 ■ ロードとストア ロードとストアは外部メモリに対して読出しと書込みを行う命令です。また , チップ内 の周辺回路 (I/O) への読出しと書込みにも使用されます。 ロードとストアにはバイト , ハーフワード , ワードの 3 種類のアクセス長があります。 また , 一般的なレジスタ間接のメモリアドレッシングに加え , 一部の命令については ディスプレースメント付きレジスタ間接やレジスタインクリメント・デクリメント付 きレジスタ間接のメモリアドレッシングも可能です。 ■ 分岐 分岐 , コール , 割込みおよび復帰の命令です。分岐命令は , 遅延スロットがあるものと 持たないものがあり , 用途に応じて最適化を行うことができます。分岐命令の詳細につ いては , 「3.6 分岐命令」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 33 第 3 章 CPU 3.2 内部アーキテクチャ MB91461 ■ 論理演算とビット操作 論理演算命令は汎用レジスタ間, または汎用レジスタとメモリ (およびI/O) 間でAND, OR, EOR の論理演算を行うことが可能です。また , ビット操作命令はメモリ ( および I/O) の 内容を直接操作することができます。 メモリアドレッシングは一般的なレジスタ間接です。 ■ ダイレクトアドレッシング ダイレクトアドレッシング命令は , I/O と汎用レジスタ間 , または I/O とメモリ間のア クセスに使用する命令です。I/O のアドレスをレジスタ間接ではなく命令中で直接指定 することにより , 高速 , 高効率なアクセスを行うことができます。一部の命令について は , レジスタインクリメント・デクリメント付きレジスタ間接のメモリアドレッシング も可能です。 ■ その他の命令概要 PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また , 高級言語対応の関数入口 / 出口 , レジスタマルチロード / ストア命令も備えています。 34 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.3 プログラミングモデル MB91461 3.3 プログラミングモデル FR ファミリのプログラミングモデル , 汎用レジスタおよび専用レジスタについて説 明します。 ■ 基本プログラミングモデル 図 3.3-1 に , 基本プログラミングモデルを示します。 図 3.3-1 基本プログラミングモデル 32ビット 〔初期値〕 XXXX XXXXH R0 … R1 … … 汎用レジスタ … … … … … AC … R12 R13 R14 R15 プログラムカウンタ PC プログラムステータス PS - テーブルベースレジスタ TBR リターンポインタ RP システムスタックポインタ SSP ユーザスタックポインタ USP 乗除算結果レジスタ MDH MDL CM71-10159-2 ILM FP XXXX XXXXH SP 0000 0000H - SCR FUJITSU MICROELECTRONICS LIMITED CCR 35 第 3 章 CPU 3.3 プログラミングモデル 3.3.1 MB91461 汎用レジスタ レジスタ R0 ∼ R15 は汎用レジスタです。 各種演算におけるアキュムレータ , およびメモリアクセスのポインタとして使用さ れます。 ■ 汎用レジスタ 図 3.3-2 に , 汎用レジスタの構成を示します。 図 3.3-2 汎用レジスタの構成 32ビット [初期値] R0 XXXX XXXX H R1 R12 R13 R14 AC FP XXXX XXXX H R15 SP 0000 0000 H 16本のレジスタのうち, 以下に示すレジスタは特殊な用途を想定しており, そのために 一部の命令が強化されています。 R13: 仮想アキュムレータ (AC) R14: フレームポインタ (FP) R15: スタックポインタ (SP) リセットによる初期値は , R0 ∼ R14 は不定です。R15 は , 00000000H (SSP の値 ) とな ります。 36 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.3 プログラミングモデル MB91461 3.3.2 専用レジスタ 専用レジスタは , 特定の目的のために使用します。 FR ファミリでは , 以下の専用レジスタが用意されています。 • プログラムステータス (PS) • コンディションコードレジスタ (CCR) • システムコンディションコードレジスタ (SCR) • 割込みレベルマスクレジスタ (ILM) • プログラムカウンタ (PC) • テーブルベースレジスタ (TBR) • リターンポインタ (RP) • システムスタックポインタ (SSP) • ユーザスタックポインタ (USP) • 乗除算レジスタ (Multiply & Divide register) ■ プログラムステータス (PS) プログラムステータス (PS) は , プログラム状態を保持するレジスタで , ILM, SCR およ び CCR の 3 つのパートに分かれています。 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。 書込みは無効です。 図 3.3-3 に , プログラムステータス (PS) のレジスタ構成を示します。 図 3.3-3 プログラムステータス (PS) のレジスタ構成 bit 31 20 16 ILM CM71-10159-2 10 8 7 SCR 0 CCR FUJITSU MICROELECTRONICS LIMITED 37 第 3 章 CPU 3.3 プログラミングモデル MB91461 ■ コンディションコードレジスタ (CCR) 図 3.3-4 に , コンディションコードレジスタ (CCR) のレジスタ構成を示します。 図 3.3-4 コンディションコードレジスタ (CCR) のレジスタ構成 bit 7 − 6 5 4 3 2 1 0 − 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 MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.3 プログラミングモデル MB91461 [bit2] Z : ゼロフラグ 演算結果が "0" であったかどうかを示します。 値 内 容 0 演算結果が "0" 以外の値であったことを示します。 1 演算結果が "0" であったことを示します。 リセットによる初期状態は不定です。 [bit1] V : オーバフローフラグ 演算に用いたオペランドを 2 の補数で表現される整数であるとみなし , 演算の結果 , オーバフローが生じたかどうかを示します。 値 内 容 0 演算の結果 , オーバフローは発生していないことを示します。 1 演算の結果 , オーバフローが発生したことを示します。 リセットによる初期状態は不定です。 [bit0] C : キャリフラグ 演算により , 最上位ビットからのキャリ , またはボローが発生したかどうかを示し ます。 値 内 容 0 キャリもボローも発生していないことを示します。 1 キャリまたはボローが発生したことを示します。 リセットによる初期状態は不定です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 39 第 3 章 CPU 3.3 プログラミングモデル MB91461 ■ システムコンディションコードレジスタ (SCR) 図 3.3-5 に, システムコンディションコードレジスタ(SCR)のレジスタ構成を示します。 図 3.3-5 システムコンディションコードレジスタ (SCR) のレジスタ構成 bit 10 9 8 [ 初期値 ] D1 D0 T XX0B [bit10, bit9] ステップ除算用フラグ ステップ除算実行時の中間データを保持します。 除算処理の実行途中には変更しないでください。ステップ除算実行途中にほかの処 理を行う場合は , PS レジスタの値を退避・復帰することによりステップ除算の再開 が保証されます。 リセットによる初期状態は不定です。 DIV0S 命令の実行により被除数と除数を参照して設定されます。 DIV0U 命令の実行により , 強制的にクリアされます。 DIV0S/DIV0U 命令とユーザ割込み , NMI 同時受付け EIT 処理ルーチン内で , EIT 分 岐前の PS レジスタの D0/D1 ビットを期待した処理を行わないでください。 DIV0S/DIV0U 命令の直前に , ブレーク , ステップなどで停止させた場合 , PS レジス タの D0/D1 ビットの表示は正しい値とならないことがあります。ただし , 復帰後の 演算結果は正しいものになります。 [bit8] ステップトレーストラップフラグ ステップトレーストラップを有効にするかどうかを指定するフラグです。 値 内 容 0 ステップトレーストラップ無効 1 ステップトレーストラップ有効 このとき , ユーザ用 NMI とユーザ割込みがすべて割込み禁止となりま す。 リセットにより "0" に初期化されます。 ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使用 時 , ユーザプログラム中で使用することはできません。 40 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.3 プログラミングモデル MB91461 ■ 割込みレベルマスクレジスタ (ILM) 図 3.3-6 に , 割込みレベルマスクレジスタ (ILM) のレジスタ構成を示します。 図 3.3-6 割込みレベルマスクレジスタ (ILM) のレジスタ構成 bit 20 19 18 17 16 [ 初期値 ] 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) に初期化されます。 ■ プログラムカウンタ (PC) 図 3.3-7 に , プログラムカウンタ (PC) のレジスタ構成を示します。 図 3.3-7 プログラムカウンタ (PC) のレジスタ構成 bit 31 PC 0 [ 初期値 ] XXXXXXXXH [bit31 ∼ bit0] プログラムカウンタで , 実行している命令のアドレスを示しています。 命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。bit0 が "1" になる可 能性があるのは , 分岐先アドレスとして奇数番地を指定した場合だけです。ただし , その場合でも bit0 は無効であり , 命令は 2 の倍数のアドレスに置く必要があります。 リセットによる初期値は不定です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 41 第 3 章 CPU 3.3 プログラミングモデル MB91461 ■ テーブルベースレジスタ (TBR) 図 3.3-8 に , テーブルベースレジスタ (TBR) のレジスタ構成を示します。 図 3.3-8 テーブルベースレジスタ (TBR) のレジスタ構成 bit 31 0 [ 初期値 ] 000FFC00H TBR テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アドレス を保持します。 リセットによる初期値は , 000FFC00H です。 ■ リターンポインタ (RP) 図 3.3-9 に , リターンポインタ (RP) のレジスタ構成を示します。 図 3.3-9 リターンポインタ (RP) のレジスタ構成 bit 31 0 RP [ 初期値 ] XXXXXXXXH リターンポインタで , サブルーチンから復帰するアドレスを保持します。 CALL 命令実行時 , PC の値がこの RP に転送されます。 RET 命令実行時 , RP の内容が PC に転送されます。 リセットによる初期値は不定です。 ■ システムスタックポインタ (SSP) 図 3.3-10 に , システムスタックポインタ (SSP) のレジスタ構成を示します。 図 3.3-10 システムスタックポインタ (SSP) のレジスタ構成 bit 31 0 SSP [ 初期値 ] 00000000H SSP は , システムスタックポインタです。 S フラグが "0" のとき , R15 として機能します。 SSP を明示的に指定することも可能です。また , EIT 発生時に , PS と PC を退避するス タックを指定するスタックポインタとしても使用されます。 リセットによる初期値は 00000000H です。 42 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.3 プログラミングモデル MB91461 ■ ユーザスタックポインタ (USP) 図 3.3-11 に , ユーザスタックポインタ (USP) のレジスタ構成を示します。 図 3.3-11 ユーザスタックポインタ (USP) のレジスタ構成 bit 31 0 USP [ 初期値 ] XXXXXXXXH USP は , ユーザスタックポインタです。 S フラグが "1" のとき , R15 として機能します。 USP を明示的に指定することも可能です。 リセットによる初期値は不定です。 RETI 命令で使用することはできません。 ■ 乗除算レジスタ (Multiply & Divide register) 図 3.3-12 に , 乗除算レジスタ (Multiply & Divide register) のレジスタ構成を示します。 図 3.3-12 乗除算レジスタ (Multiply & Divide register) のレジスタ構成 bit 31 0 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-10159-2 FUJITSU MICROELECTRONICS LIMITED 43 第 3 章 CPU 3.4 データ構造 MB91461 データ構造 3.4 FR ファミリのデータ構造について説明します。 ■ ビットオーダリング FR ファミリでは , ビットオーダリングとして , リトルエンディアンを採用しています。 図 3.4-1 に , ビットオーダリングのデータ配置を示します。 図 3.4-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 5 6 3 4 1 2 MSB 0 LSB ■ バイトオーダリング FR ファミリでは , バイトオーダリングとして , ビッグエンディアンを採用しています。 図 3.4-2 に , バイトオーダリングのデータ配置を示します。 図 3.4-2 バイトオーダリングのデータ配置 メモリ MSB bit 31 23 15 7 LSB 0 10101010B 11001100B 11111111B 00010001B ビット 0 7 n番地 10101010B (n+1)番地 11001100B (n+2)番地 11111111B (n+3)番地 00010001B 44 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.4 データ構造 MB91461 ■ ワードアライメント ● プログラムアクセス 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 +) 加算結果 アドレス端子 CM71-10159-2 00002225H 下位2ビット強制マスク 00002224H FUJITSU MICROELECTRONICS LIMITED 45 第 3 章 CPU 3.5 メモリマップ 3.5 MB91461 メモリマップ FR ファミリのメモリマップについて説明します。 ■ メモリマップ アドレス空間は 32 ビットリニアです。 図 3.5-1 に , メモリマップを示します。 図 3.5-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 MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.6 分岐命令 MB91461 3.6 分岐命令 FR ファミリの分岐命令について説明します。 ■ 分岐命令の概要 FR ファミリでは , 分岐命令に遅延スロット付きの動作と遅延スロットなしの動作を指 定することができます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 47 第 3 章 CPU 3.6 分岐命令 3.6.1 MB91461 遅延スロット付き動作 分岐命令に遅延スロット付き動作を指定した場合について説明します。 ■ 遅延スロット付き動作の命令 以下に示す表記をした命令が , 遅延スロット付きの分岐動作を行います。 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 BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 label9 ■ 遅延スロット付き動作の動作説明 遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後 (「遅延 スロット」とよびます ) に置かれた命令を実行した後に分岐します。 分岐動作の前に遅延スロットの命令を実行するため, 見かけ上の実行速度が1サイクル となります。その代わり , 遅延スロットに有効な命令を入れることができないときは , NOP 命令を置く必要があります。 [例] ; 命令の並び ADD R1, R2 ; BRA:D LABEL ; 分岐命令 MOV R2, R3; 遅延スロット……分岐の前に実行される … LABEL : ST R3, @R4 ; 分岐先 条件分岐命令の場合 , 分岐条件が成立するかしないかにかかわらず , 遅延スロットに置 かれた命令は実行されます。 遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , それは PC の 更新動作だけについてであり , その他の動作 ( レジスタの更新・参照など ) はあくまで 記述された順番で実行されます。 以下に , 具体的な説明をします。 1) JMP:D @Ri / CALL:D @Ri 命令で参照する Ri は , 遅延スロットの中の命令が Ri を更新しても影響を受けません。 [例] LDI:32 #Label, R0 JMP:D @R0 LDI:8 #0, ;Label に分岐 R0 ; 分岐先アドレスには影響を与えない … 48 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.6 分岐命令 MB91461 2) RET:D 命令が参照する RP は , 遅延スロットの中の命令が RP を更新しても影響 を受けません。 [例] RET:D MOV ; これより前に設定された RP の示すアドレスへ分岐 R8, RP ; リターン動作には影響を与えない … 3) Bcc:D rel 命令が参照するフラグも , 遅延スロットの命令の影響を受けません。 [例] ADD #1, R0 BC:D Overflow AND CCR #0 ; フラグ変化 ; 上記の命令の実行結果により分岐 ; このフラグ更新は上記分岐命令では参照しない … 4) CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令によ り更新された内容が読み出されます。 [例] CALL:D Label MOV RP, ;RP を更新して分岐 R0 ; 上記 CALL:D の実行結果の RP を転送 … ■ 遅延スロット付き動作の制限事項 遅延スロットに置くことができる命令 遅延スロット内で実行できるのは , 以下の条件を満たす命令のみです。 1 サイクル命令 分岐命令ではないこと 順番が変化した場合でも動作に影響を与えない命令 「1 サイクル命令」とは , 命令一覧表中でサイクル数の欄が「1」, 「a」, 「b」, 「c」 または「d」と記載された命令です。 ステップトレーストラップ 遅延スロットがある分岐命令の実行と遅延スロットの間では , ステップトレースト ラップは発生しません。 割込み・NMI 遅延スロットがある分岐命令の実行と遅延スロットの間では , 割込み・NMI を受理 しません。 未定義命令例外 遅延スロットに未定義命令があった場合 , 未定義命令例外は発生しません。このと き , 未定義命令は NOP 命令として動作します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 49 第 3 章 CPU 3.6 分岐命令 3.6.2 MB91461 遅延スロットなし動作 分岐命令に遅延スロットなし動作を指定した場合について説明します。 ■ 遅延スロットなし動作の命令 以下に示す表記をした命令が , 遅延スロットなしの分岐動作を行います。 JMP @Ri CALL label12 CALL @Ri RET BRA label9 BNO label9 BEQ label9 BNE label9 BC label9 BNC label9 BN label9 BP label9 BV label9 BNV label9 BLT label9 BGE label9 BLE label9 BGT label9 BLS label9 BHI label9 ■ 遅延スロットなし動作の動作説明 遅延スロットなしの動作では , あくまで命令の並びの順に実行します。 直後の命令が分岐前に実行されることはありません。 [例] ; 命令の並び ADD R1, R2 ; BRA LABEL ; 分岐命令 ( 遅延スロットなし ) MOV R2, R3 ; 実行されない R3, @R4 ; 分岐先 … LABEL: ST 遅延スロットなしの分岐命令の実行サイクル数は , 分岐するとき 2 サイクル , 分岐しな いとき 1 サイクルとなります。 遅延スロットなしの分岐命令は , 遅延スロットに適当な命令を入れることができない ために NOP を明記した遅延スロット付き分岐命令に比べて , 命令コード効率を上げる ことができます。 遅延スロットに有効な命令を設置できるときは遅延スロット付きの動作を選択し , そ うでないときは遅延スロットなしの動作を選択することで , 実行速度とコード効率を 両立させることが可能となります。 50 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 3.7 EIT ( 例外・割込み・トラップ ) EIT とは , 現プログラム実行時にイベントの発生によりそのプログラムの実行を中断 してほかのプログラムを実行することを指し , 例外 (Exception), 割込み (Interrupt), トラップ (Trap) の総称です。 例外とは , 実行中のコンテキストに関連して発生する事象です。例外を起こした命 令から再実行します。 割込みとは , 実行中のコンテキストとは無関係に発生する事象です。イベント要因 はハードウェアです。 トラップとは , 実行中のコンテキストに関連して発生する事象です。システムコー ルのようにプログラムで指示するものがあります。トラップを起こした命令の次の 命令から再実行します。 ■ EIT の特長 • 割込みに多重割込みをサポート • 割込みにレベルマスク機能 (15 レベルをユーザが使用可能 ) • トラップ命令 (INT) • エミュレータ起動用 EIT ( ハードウェア / ソフトウェア ) ■ EIT 要因 EIT 要因として , 以下のものがあります。 • リセット • ユーザ割込み ( 内部リソース , 外部割込み ) • NMI • 遅延割込み • 未定義命令例外 • トラップ命令 (INT) • トラップ命令 (INTE) • ステップトレーストラップ • コプロセッサ不在トラップ • コプロセッサエラートラップ <注意事項> 分岐命令の遅延スロットには , EIT に関して制約があります。詳細は , 「3.6 分岐命令」を 参照してください。 ■ EIT からの復帰 EIT から復帰するためには , RETI 命令を実行します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 51 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 EIT の割込みレベル 3.7.1 割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。 ■ EIT の割込みレベル 表 3.7-1 に , 割込みレベルを示します。 表 3.7-1 割込みレベル レベル 割込み要因 2 進数 10 進数 00000B 0 ( システム予約 ) … … … … … … 00011B 3 ( システム予約 ) 00100B 4 00101B 5 ( システム予約 ) … … … … … … 01110B 14 ( システム予約 ) 01111B 15 NMI ( ユーザ用 ) 10000B 16 割込み 10001B 17 割込み … … … … … … 11110B 30 割込み 11111B 31 ─ { 注意事項 ILM の元の値が 16 ∼ 31 のとき , この 範囲の値をプログラムにより ILM に設 定することはできません。 INTE 命令 ステップトレーストラップ ILM 設定時 , ユーザ割込み禁止 ICR 設定時 , 割込み禁止 操作が可能なのは , 16 ∼ 31 のレベルです。 未定義命令例外, コプロセッサ不在トラップ, コプロセッサエラートラップ, そしてINT 命令は , 割込みレベルの影響を受けません。また , ILM を変化させることもありません。 52 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 ■ I フラグ I フラグは , 割込みの許可・禁止を指定するフラグです。PS レジスタの CCR の bit4 と して設けられています。 表 3.7-2 I フラグ 値 内 容 0 割込み禁止 INT 命令実行時 "0" にクリアされます ( ただし , スタック退避させる値はクリアする前の値です ) 。 1 割込み許可 割込み要求のマスク処理は , ILM の保持する値により制御されます。 ■ ILM 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.7-1 を参照 ) が ILM の保持するレベルマスク値と比較されます。そして , 次の条件が成立したとき はマスクされ , 要求は受理されません。 要因の割込みレベル ≧ レベルマスク値 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 53 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) 3.7.2 MB91461 割込み制御レジスタ (ICR) 割込みコントローラ内に設けられたレジスタで , 割込みの各要求に対するレベルを 設定します。割込み制御レジスタ (ICR) は割込み要求入力の各々に対応して用意さ れています。割込み制御レジスタ (ICR) は I/O 空間にマッピングされており , CPU からはバスを通してアクセスされます。 ■ 割込み制御レジスタ (ICR) ビット構成 図 3.7-1 に , 割込み制御レジスタ (ICR) のビット構成を示します。 図 3.7-1 割込み制御レジスタ (ICR) のビット構成 bit 7 6 5 4 3 2 1 0 − − − − − − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W 初期値 ---111111B [bit4] ICR4 このビットは , 常に "1" です。 [bit3 ∼ bit0] ICR3 ∼ ICR0 対応する割込み要因の割込みレベルの下位 4 ビットです。読出し / 書込み可能です。 bit4 と合わせて , ICR は 16 ∼ 31 の範囲で値を設定することができます。 ■ ICR マッピング 表 3.7-3 に , 割込み要因と割込み制御レジスタ , 割込みベクタを示します。 表 3.7-3 割込み要因と割込み制御レジスタ , 割込みベクタ 割込み制御レジスタ 対応する割込みベクタ 番号 割込み要因 番号 アドレス ICR00 00000440H IRQ00 IRQ01 IRQ02 ICR01 IRQ03 … … 00000441H … … ICR63 0000047FH IRQ126 IRQ127 アドレス 16 進 10 進 10H 16 TBR + 3BCH 11H 17 TBR + 3B8H 12H 18 TBR + 3B4H 13H 19 TBR + 3B0H … … … … … … 3DH 142 TBR + 1C4H 8FH 143 TBR + 1C0H ・TBR 初期値 : 000FFC00H ・詳細は「第 10 章 割込みコントローラ」を参照してください。 54 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 システムスタックポインタ (SSP) 3.7.3 システムスタックポインタ (SSP) が , EIT の受理および復帰動作時のデータ退避・復 帰用スタックを示すポインタとして使用されます。 ■ システムスタックポインタ (SSP) 図 3.7-2 に , システムスタックポインタ (SSP) のレジスタ構成を示します。 図 3.7-2 システムスタックポインタ (SSP) のレジスタ構成 bit 31 0 SSP 初期値 00000000H EIT 処理時に内容が 8 減ぜられ , RETI 命令の実行による EIT からの復帰動作時に 8 加 算されます。 リセットによる初期値は 00000000H です。 システムスタックポインタ (SSP) は , CCR 中の S フラグが "0" のとき , 汎用レジスタ R15 としても機能します。 ■ 割込みスタック システムスタックポインタ (SSP) により示される領域で , PC および PS の値が退避・復 帰されます。 割込み後はシステムスタックポインタ (SSP) の示すアドレスに PC, (SSP + 4) のアドレ スに PS が格納されています。 図 3.7-3 に , 割込みスタックを示します。 図 3.7-3 割込みスタック [割込み前] SSP 80000000H [割込み後] SSP 7FFFFFF8H メモリ 80000000H 7FFFFFFCH 7FFFFFF8H CM71-10159-2 80000000H 7FFFFFFCH 7FFFFFF8H FUJITSU MICROELECTRONICS LIMITED PS PC 55 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) 3.7.4 MB91461 テーブルベースレジスタ (TBR) EIT 用ベクタテーブルの先頭アドレスを示すレジスタです。 ■ テーブルベースレジスタ (TBR) 図 3.7-4 に , テーブルベースレジスタ (TBR) のレジスタ構成を示します。 図 3.7-4 テーブルベースレジスタ (TBR) のレジスタ構成 bit 31 0 TBR 初期値 000FFC00H テーブルベースレジスタ (TBR) と EIT 要因ごとに決められたオフセット値を加算した アドレスがベクタアドレスとなります。 リセットによる初期値は 000FFC00H です。 ■ EIT ベクタテーブル テーブルベースレジスタ (TBR) の示すアドレスから 1K バイトの領域が EIT 用ベクタ 領域となっています。 1 ベクタ当たりの大きさは 4 バイトで , ベクタ番号とベクタアドレスの関係は以下のと おりです。 vctadr =TBR + vctofs =TBR + (3FCH − 4 × vct) vctadr: ベクタアドレス vctofs: ベクタオフセット vct: ベクタ番号 加算結果の下位 2 ビットは常に 00B として扱われます。 000FFC00H ∼ 000FFFFFH の領域がリセットによるベクタテーブルの初期領域です。 ベクタの一部には特殊な機能が割り当てられています。リセットベクタとモードベク タは TBR の値を変更しても常に固定アドレス 000FFFFCH, 000FFFF8H が使用されます。 マスク可能要因は各品種により定義されます。ベクタテーブルは「付表 C-1 」を参照 してください。 56 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 3.7.5 多重 EIT 処理 複数の EIT 要因が同時に発生した場合 , CPU は 1 つの EIT 要因を選択して受理 し , EIT シーケンスを実行した後 , 再び EIT 要因の検出を行う , という動作を繰り返 します。 EIT 要因検出の際に , 受理可能な EIT 要因がなくなったとき , 最後に受理した EIT 要 因のハンドラの命令を実行します。 そのため , 複数の EIT 要因が同時に発生した場合の各要因のハンドラの実行順序は , 次の 2 つの要素によって決まります。 • EIT 要因受理の優先順位 • 受理した場合にほかの要因をどのようにマスクするか ■ EIT 要因受理の優先度 EIT 要因受理の優先度とは , PS と PC を退避して PC を更新し ( 必要に応じて ), ほかの 要因のマスク処理を行うという , EIT シーケンスを実行する要因を選ぶときの順番で す。 必ずしも , 先に受理された要因のハンドラが先に実行されるわけではありません。 表 3.7-4 に , EIT 要因の受理の優先度とほかの要因へのマスクを示します。 表 3.7-4 EIT 要因の受理の優先度とほかの要因へのマスク 受理の優先順位 CM71-10159-2 要因 ほかの要因に対するマスク 1 リセット ほかの要因は破棄されます。 2 命令ブレーク ほかの要因はキャンセル (ILM = 4) 3 INTE 命令 ほかの要因はキャンセル (ILM = 4) 4 未定義命令例外 ほかの要因はキャンセル (I フラグ= 0) 5 INT 命令 / コプロセッサ例外 I フラグ= 0 6 ユーザ割込み ILM =受理した要因のレベル 7 NMI ( ユーザ用 ) ILM = 15 8 NMI ( エミュレータ用 ) ほかの要因はキャンセル (ILM = 4) 9 ステップトレーストラップ ほかの要因はキャンセル (ILM = 4) 10 オペランドブレーク ほかの要因はキャンセル (ILM = 4) FUJITSU MICROELECTRONICS LIMITED 57 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 EIT 要因を受理した後のほかの要因に対するマスクの処理を加味すると , 同時に発生し た EIT 要因の各ハンドラの実行順序は , 表 3.7-5 のようになります。 表 3.7-5 EIT ハンドラの実行順序 ハンドラの実行順序 要因 1 リセット 2 未定義命令例外 3 命令ブレーク 4 INTE 命令 5 NMI ( エミュレータ用 ) 6 ステップトレーストラップ 7 オペランドブレーク 8 NMI ( ユーザ用 ) 9 INT 命令 / コプロセッサ例外 10 ユーザ割込み 図 3.7-5 に多重 EIT 処理を示します。 図 3.7-5 多重 EIT 処理 メインルーチン NMIのハンドラ INT命令 のハンドラ 優先度 (高) NMI発生 ①最初に実行 (低) INT命令実行 ②次に実行 58 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 EIT の動作 3.7.6 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 は以下のように動作します。 ( 注意事項 ) 〔動作〕における ( ) はレジスタの指すアドレスを表します。 [ 動作 ] CM71-10159-2 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) 受理した要求の割込みレベル → ILM FUJITSU MICROELECTRONICS LIMITED 59 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 → S フラグ 6) "0" 7) (TBR +受理した割込み要求のベクタオフセット ) → PC 割込みシーケンス終了後 , ハンドラの先頭の命令を実行する前に新たな EIT の検出を 行います。この時点で受理可能な EIT が発生していると , CPU は EIT 処理シーケンス に遷移します。 ユーザ割込み , または NMI 要因が発生している状態で割込みを許可するために "OR CCR", "ST ILM", および "MOV Ri, PS" の各命令が実行されると , 割込みハンドラの前後 で上記命令が 2 回実行される場合があります。ただし , CPU 内のレジスタに対して , 同 じ値を 2 度設定するだけですので , 動作的に問題ありません。 EIT 処理ルーチン内では EIT 分岐前の PS レジスタの内容を期待した処理を行わないで ください。 ■ 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 6) "0" → ILM 7) (TBR + 3D8H) → PC → S フラグ INTE 命令 , およびステップトレーストラップの処理ルーチン中では , INTE 命令は使用 しないでください。また , ステップ実行中は INTE による EIT の発生はありません。 60 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 ■ ステップトレーストラップの動作 PS 中の SCR における T フラグをセットしてステップトレースの機能を許可にしてお くと , 1 命令実行ごとにトラップが発生してブレークします。 [ ステップトレーストラップ検出の条件 ] • T フラグ= 1 • 遅延分岐命令ではないとき • INTE 命令 , ステップトレーストラップの処理ルーチン以外を実行中であるとき 以上の条件が成立すると , 命令動作の切れ目でブレークします。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) 00100B 6) "0" → ILM 7) (TBR + 3CCH) → PC → S フラグ 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-10159-2 FUJITSU MICROELECTRONICS LIMITED 61 第 3 章 CPU 3.7 EIT ( 例外・割込み・トラップ ) MB91461 ■ コプロセッサ不在トラップ 実装していないコプロセッサを使用するコプロセッサ命令を実行すると , コプロセッ サ不在トラップが発生します。 [ 動作 ] 1) SSP − 4 → SSP 2) PS → (SSP) 3) SSP − 4 → SSP 4) 次の命令のアドレス → (SSP) 5) "0" → S フラグ 6) (TBR + 3E0H) → PC ■ コプロセッサエラートラップ コプロセッサを使用するしているときにエラーが発生した場合 , 次にそのコプロセッ サを操作するコプロセッサ命令を実行したとき , コプロセッサエラートラップが発生 します。 [ 動作 ] 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" の状態で実行する必要があります。 62 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第4章 制御部 制御部について説明します。 4.1 動作モード 4.2 リセット ( デバイス初期化 ) 4.3 クロック生成制御 4.4 PLL インタフェース 4.5 デバイス状態制御 4.6 インターバルタイマ CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 63 第 4 章 制御部 4.1 動作モード 4.1 MB91461 動作モード FR ファミリの動作モードについて説明します。 ■ 動作モードの概要 動作モードには , バスモードとアクセスモードがあります。 ■ バスモード バスモードとは, 内部ROMの動作と外部アクセス機能の動作を制御するモードを指し, モード設定端子 (MD2, MD1, MD0) とモードデータ内の ROMA ビットの内容で指定し ます。 ■ アクセスモード アクセスモードとは , 外部データバス幅を制御するモードを示し , モードレジスタ内の WTH1, WTH0 ビットと ACR0 ∼ ACR3 (Area Configuration Register) 内の DBW0 ビット で指定します。 64 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.1 動作モード MB91461 4.1.1 バスモード FR ファミリには , 次に示す 3 つのバスモードがあります。 詳細は「3.1 メモリ空間」を参照してください。 ■ バスモード 0 ( シングルチップモード ) 内部 I/O, ID-RAM, F-bus ROM (FLASH) が有効で , それ以外の領域へのアクセスは無効 であるモードです。 外部端子はペリフェラル , または汎用ポートの機能を果たします。バス端子としては機 能しません。 ( 注意事項 ) MB91461 では使用できません。 ■ バスモード 1 ( 内 ROM 外バスモード ) 内部 I/O, ID-RAM, F-bus ROM (FLASH) が有効で , 外部アクセスが可能な領域へのアク セスは外部空間へのアクセスとなるモードです。外部端子の一部は , バス端子として機 能します。 ( 注意事項 ) MB91461 では使用できません。 ■ バスモード 2 ( 外 ROM 外バスモード ) 内部 I/O, ID-RAM が有効で , F-bus ROM (FLASH) へのアクセスを禁止にしてすべての アクセスが外部空間へのアクセスとなるモードです。外部端子の一部は , バス端子とし て機能します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 65 第 4 章 制御部 4.1 動作モード MB91461 モード設定 4.1.2 FR ファミリでは , モード端子 (MD2, MD1, MD0) とモードレジスタ (MODR) で動作 モードの設定を行います。 ■ モード端子 MD2, MD1, MD0 の 3 端子で , モードベクタフェッチに関する指定を行います。 表 4.1-1 にモードベクタフェッチに関する指定を示します。 表 4.1-1 モードベクタフェッチに関する指定 モード端子 モード名 リセットベク タアクセス領 域 備考 MD2 MD1 MD0 0 0 0 内 ROM モードベクタ 内部 MB91461 では設定禁止です *。 0 0 1 外 ROM モードベクタ 外部 バス幅はモードレジスタで設定 *: MD3 は常に "0" に設定してください。ただし , 表に示した設定以外は禁止とします。 <注意事項> FR ファミリでは , マルチプレックスバスによる外部モードベクタフェッチはサポートし ていません。 ■ モードレジスタ (MODR) モードベクタフェッチによってモードレジスタに書き込むデータをモードデータとよ びます。モードベクタフェッチについては , 「4.2.3 リセットシーケンス」を参照して ください。 モードレジスタ (MODR) に設定が行われた後 , 本レジスタの設定に従った動作モード で動作します。 モードレジスタは , すべてのリセット要因で設定されます。また , ユーザプログラムか らは書き込むことはできません。 <参考> 従来の FR ファミリで使用していたモードレジスタのアドレス (000007FFH) には何も存在 しません。 エミュレータモードでは , 書換え可能です。この場合 , 8 ビット長のデータ転送命令を 使用してください。 16/32 ビット長の転送命令では書き込めません。 図 4.1-1 に , モードレジスタ (MODR) を示します。 66 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.1 動作モード MB91461 〔レジスタ詳細説明〕 図 4.1-1 モードレジスタ (MODR) MODR bit 7 6 5 4 3 アドレス:000FFFF8H 0 0 0 0 0 2 1 0 ROMA WTH1 WTH0 初期値 XXXXXXXXB 動作モード設定ビット [bit7 ∼ bit3] 予約ビット 必ず 00000B を設定してください。 00000B 以外の値を設定したときの動作は保証できません。 [bit2] ROMA : 内部 ROM イネーブルビット 内部 ID-RAM, F-bus ROM (FLASH) 領域を有効にするかどうかを設定します。 ROMA 機 能 0 外 ROM モード 1 内 ROM モード 備 考 内蔵 ID-RAM は有効 , 内部 ROM 領域 (40000H ∼ FFFFFH) が外部領域になります。 内蔵 ID-RAM, F-bus ROM (FLASH) が有効になります。 ( 注意事項 )MB91461 では "0" に設定してください。 [bit1, bit0] WTH1, WTH0 : バス幅指定ビット 外バスモード時のバス幅指定の設定を行います。 外バスモード時 , この値が AMD0 (CS0 領域 ) の BW1, BW0 ビットに設定されます。 WTH1 WTH0 0 0 8 ビットバス幅 外バスモード 0 1 16 ビットバス幅 〃 1 0 1 1 機 能 ― シングルチップモード 備 考 設定禁止 シングルチップモード ( 注意事項 )MB91461 ではシングルチップモードは使用できません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 67 第 4 章 制御部 4.1 動作モード MB91461 <注意事項> モードベクタに設定するモードデータは , 000FFFF8H にバイトデータとして配置する必 要があります。FR ファミリは , バイトエンディアンとしてビッグエンディアンを採用し ていますので , 図 4.1-2 のように bit31 ∼ bit24 の最上位バイトに配置してください。 図 4.1-2 モードデータの注意事項 bit 31 誤 000FFFF8H 24 23 XXXXXXXXB bit 31 正 000FFFF8H 000FFFFCH 68 XXXXXXXXB 24 23 MODR 16 15 XXXXXXXXB 16 15 XXXXXXXXB 8 7 XXXXXXXXB 0 MODR 8 7 0 XXXXXXXXB Reset Vector FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) MB91461 4.2 リセット ( デバイス初期化 ) MB91461 を初期化するリセット動作について説明します。 ■ リセット ( デバイス初期化 ) の概要 リセット要因が発生すると , デバイスはすべてのプログラムおよびハードウェア動作 を停止して状態を初期化します。この状態をリセット状態とよびます。 リセット要因の消失により , デバイスは初期状態からプログラムおよびハードウェア 動作を開始します。このリセット状態から動作開始にいたる一連の動作をリセット シーケンスとよびます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 69 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) 4.2.1 MB91461 リセットレベル リセット動作は , 2 種類のレベルに分かれており , それぞれ発生要因および初期化の 内容が異なります。 ここでは , 各リセットレベルについて説明します。 ■ 設定初期化リセット (INIT) すべての設定を初期化する最強レベルのリセットを設定初期化リセット (INIT) とよび ます。 設定初期化リセット (INIT) により初期化される主な内容は , 以下のとおりです。 〔設定初期化リセット (INIT) による初期化内容〕 デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) 内部クロックに関するすべての設定 ( クロックソース選択 , PLL 制御 , 分周比設定 ) 外部バスの CS0 領域に関するすべての設定 その他端子状態に関するすべての設定 動作初期化リセット (RST) で初期化されるすべての内容 詳細はそれぞれの機能の説明を参照してください。 なお , 電源投入後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてください。 ■ 動作初期化リセット (RST) プログラム動作を初期化する通常レベルのリセットを動作初期化リセット (RST) とよ びます。 設定初期化リセット (INIT) 時には , 同時に動作初期化リセット (RST) も発生します。 動作初期化リセット (RST) により初期化される主な内容は , 以下のとおりです。 〔動作初期化リセット (RST) による初期化内容〕 プログラム動作 CPU および内部バス 周辺回路のレジスタ設定値 I/O ポート設定 外部バスの CS0 領域に関するすべての設定 詳細はそれぞれの機能の説明を参照してください。 70 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) MB91461 4.2.2 リセット要因 各リセット発生要因と発生するリセットレベルについて説明します。 過去に発生したリセット要因は , RSRR ( リセット要因レジスタ ) を読み出すことで 確認できます ( 各説明にあるレジスタ , フラグの詳細な説明は , 「4.3.5 クロック生 成制御部のブロックダイヤグラム」および「4.3.6 クロック生成制御部のレジスタ詳 細説明」を参照 ) 。 ■ INITX 端子入力 ( 設定初期化リセット端子 ) 外部端子の INITX 端子は , 設定初期化リセット端子として機能します。 本端子へ"L"レベル入力を行っている間, 設定初期化リセット(INIT)要求が発生します。 本端子へ "H" レベルを入力することにより , 設定初期化リセット (INIT) 要求は解除さ れます。 本端子要求による設定初期化リセット (INIT) が発生した場合 , RSRR ( リセット要因レ ジスタ ) 中の bit15:INIT ビットが設定されます。本端子要求による設定初期化リセット (INIT) は , すべてのリセット要因中で最強のものであり , すべての入力・動作・状態よ りも優先されます。 なお , 電源投入直後は必ず INITX 端子にて設定初期化リセット (INIT) をかけてくださ い。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子 への "L" レベル入力を発振回路の要求する安定待ち時間の間持続してください (INITX 端子による INIT では , 発振安定待ち時間の設定は最小値に初期化されています ) 。 発生要因 : 外部 INITX 端子への "L" レベル入力 解除要因 : 外部 INITX 端子への "H" レベル入力 発生レベル : 設定初期化リセット (INIT) 対応フラグ : bit15:INIT ■ STCR:SRST ビット書込み ( ソフトウェアリセット ) STCR ( スタンバイ制御レジスタ ) 中の bit4:SRST ビットに "0" が書き込まれると , ソフ トウェアリセット要求が発生します。 ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。 要求が受け付けられて動作初期化リセット (RST) が発生するとソフトウェアリセット 要求は解除されます。 ソフトウェアリセット要求による動作初期化リセット (RST) が発生した場合 , RSRR ( リセット要因レジスタ ) 中の bit11:SRST ビットが設定されます。 ソフトウェアリセット要求による動作初期化リセット (RST) は , TBCR ( タイムベース カウンタ制御レジスタ ) 中の bit7:SYNCR ビットが設定されている場合 ( 同期リセット モード ) , すべてのバスアクセスが停止してからでないと発生しません。 このため, バスの使用状況によっては動作初期化リセット (RST)が発生するまでに長時 間を要する場合があります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 71 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) MB91461 発生要因 : STCR (スタンバイ制御レジスタ ) 中のbit4:SRSTビットへの "0"書込み 解除要因 : 動作初期化リセット (RST) の発生 発生レベル : 動作初期化リセット (RST) 対応フラグ : bit11:SRST ■ ウォッチドッグリセット RSRR ( ウォッチドッグタイマ制御レジスタ ) に対して書込みを行うと , ウォッチドッ グタイマが起動します。その後 , RSRR 中の bit9, bit8:WT1, WT0 ビットにて設定した周 期内に WPR ( ウォッチドッグリセット発生延期レジスタ ) への "A5H"/"5AH" 書込みが 行われないとウォッチドッグリセット要求が発生します。 ウォッチドッグリセット要求は , 設定初期化リセット (INIT) 要求です。要求が受け付 けられて設定初期化リセット (INIT) が発生するか , 動作初期化リセット (RST) が発生 するとウォッチドッグリセット要求は解除されます。 ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合 , RSRR ( リセット要因レジスタ ) 中の bit13:WDOG ビットが設定されます。 なお , ウォッチドッグリセット要求による設定初期化リセット (INIT) が発生した場合 では , 発振安定待ち時間の設定は初期化されません。 発生要因 : ウォッチドッグタイマの設定周期経過 解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の発生 発生レベル : 設定初期化リセット (INIT) 対応フラグ : bit13:WDOG ■ ハードウェアウォッチドッグリセット INITX 解除後 , ハードウェアウォッチドッグタイマは直ちに動作を開始します。一定期 間タイマがクリアされず , カウンタがオーバフローすると設定初期化リセットが発行 されます。 発生要因 : ハードウェアウォッチドッグタイマの設定周期経過 解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の発生 発生レベル : 設定初期化リセット (INIT) 対応フラグ : bit10:HWDCS 72 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) MB91461 リセットシーケンス 4.2.3 リセット要因の消失により , デバイスはリセットシーケンスの実行を開始します。 リセットシーケンスは , リセットレベルによりそれぞれ動作内容が異なります。 各リセットレベルにおけるリセットシーケンスの動作内容について説明します。 ■ 設定初期化リセット (INIT) 解除シーケンス 設定初期化リセット (INIT) 要求が解除されると , デバイスは以下の動作を順に実行し ます。 1) 設定初期化リセット (INIT) の解除 , 発振安定待ち状態へ遷移 2) 発振安定待ち時間 (STCRのbit3, bit2:OS1, OS0にて設定) の間, 動作初期化リセッ ト (RST) 状態を保持 , 内部クロック停止 3) 動作初期化リセット (RST) 状態 , 内部クロック動作開始 4) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移 5) 000FFFF8H 番地よりモードベクタの読出し 6) 000007FDH 番地の MODR ( モードレジスタ ) へ , モードベクタの書込み 7) 000FFFFCH 番地よりリセットベクタの読出し 8) PC ( プログラムカウンタ ) へリセットベクタの書込み 9) PC ( プログラムカウンタ ) の示す番地より , プログラム動作開始 ■ 動作初期化リセット (RST) 解除シーケンス 動作初期化リセット(RST)要求が解除されると, デバイスは以下の動作を順に実行しま す。 1) 動作初期化リセット (RST) の解除 , 通常動作状態へ遷移 2) 000FFFF8H 番地よりモードベクタの読出し 3) 000007FDH 番地の MODR ( モードレジスタ ) へ , モードベクタの書込み 4) 000FFFFCH 番地よりリセットベクタの読出し 5) PC ( プログラムカウンタ ) へリセットベクタの書込み 6) PC ( プログラムカウンタ ) の示す番地よりプログラム動作開始 <注意事項> STOP およびシャットダウン中以外で発生したリセットについては , これにより RAM の 内容が破壊される場合があります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 73 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) 4.2.4 MB91461 発振安定待ち時間 デバイスの原発振が停止していたか , その可能性がある状態から復帰したとき , 自動 的に発振安定待ち状態に遷移します。 本機能により発振開始後の安定していない発振器出力を使用しないようにします。 発振安定待ち時間中は , 内部および外部へのクロック供給は停止し , 内蔵タイムベー スカウンタのみが動作して , STCR ( スタンバイ制御レジスタ ) にて設定された安定 待ち時間の経過を待ちます。 発振安定待ち動作の詳細について説明します。 ■ 発振安定待ち発生要因 発振安定待ち発生要因を以下に示します。 ● 設定初期化リセット (INIT) の解除時 各種要因による設定初期化リセット (INIT) が解除された直後に発振安定待ち状態へ遷 移します。 発振安定待ち時間経過後は , 動作初期化リセット (RST) 状態へ遷移します。 ● ストップモードからの復帰時 ストップモードが解除された直後に発振安定待ち状態へ遷移します。ただし , 設定初期 化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状態に遷 移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷移します。 発振安定待ち時間の経過後は , ストップモードが解除された要因に対応した状態へと 遷移します。 有効な外部割込み要求入力 (NMI を含む ) による復帰時 : 通常動作状態へ遷移します。 設定初期化リセット (INIT) 要求による復帰時 : 動作初期化リセット (RST) 状態へ遷移 します。 ● PLL 選択時の異常状態の発生からの復帰時 PLL をソースクロックとして動作しているときに PLL 制御に何らかの異常 * が発生し た場合 , PLL ロックタイムの確保のために自動的に発振安定待ち時間に遷移します。 発振安定待ち時間の経過後は , 通常動作状態へ遷移します。 * : PLL 使用中の逓倍率変更や PLL 動作許可ビット化けの発生など。 ● ハードウェアウォッチドッグリセット発生時 ハードウェアウォッチドッグリセットが発生した場合 , 原発振クロックの 1024 サイク ルの間 , 内部リセットが発行されます。このリセットにより , STCR レジスタの OS1, OS0 ビットが "0" ( 初期値 ) になるため , 発振安定待ちは行いません。 74 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) MB91461 ● シャットダウンモードからの復帰時 シャットダウンモードが解除された直後に発振安定待ち状態へ遷移します。ただし , 設 定初期化リセット (INIT) 要求により解除された場合は , 設定初期化リセット (INIT) 状 態に遷移し , 設定初期化リセット (INIT) が解除された後 , 発振安定待ち状態へ遷移しま す。 発振安定待ち時間は , 外部発振器または内蔵発振回路からの信号を 218 分周した時間が 適用されます。 ■ 発振安定待ち時間の選択 発振安定待ち時間は , 内蔵タイムベースカウンタを用いて計測されます。 発振安定待ち発生要因が発生し , 発振安定待ち状態へ遷移すると , 内蔵タイムベースカ ウンタはいったん初期化された後 , 発振安定待ち時間の計測を開始します。 STCR ( スタンバイ制御レジスタ ) の bit3, bit2:OS1, OS0 ビットにより , 発振安定待ち時 間を 4 種類のうちから選択して設定することができます。 いったん選択した設定は , 外部 INITX 端子による設定初期化リセット (INIT), シャット ダウンモードからの復帰 , ハードウェアウォッチドッグリセットで初期化されます。そ れ以外のウォッチドッグリセットによる設定初期化リセット (INIT) や動作初期化リ セット (RST) では , リセット発生以前に設定した発振安定待ち時間が保持されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 75 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) 4.2.5 MB91461 リセット動作モード 動作初期化リセット (RST) には , 通常 ( 非同期 ) リセットモードと同期リセットモー ドの 2 つのモードがあり , TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットによってどちらのモードで動作するかを設定します。 本モード設定は , 設定初期化リセット (INIT) のみで初期化されます。 設定初期化リセット (INIT) は , 常に非同期でリセット動作を行います。 各モード動作について説明します。 ■ 通常リセット動作 動作初期化リセット (RST) 要求が発生した際に , 即座に動作初期化リセット (RST) 状態 への遷移を行う動作を通常リセット動作とよびます。 本モードにおいては , リセット (RST) 要求が受け付けられると , 内部バスアクセスの動 作状態にかかわらず , 即時にリセット (RST) 状態へ遷移します。 本モードでは , 各状態へ遷移する時点で行われていたバスアクセスについては , その結 果を保証できません。しかし , それら要求を確実に受け付けることが可能です。 TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "0" のとき , 通常リセットモードとなります。 設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードとなります。 ■ 同期リセット動作 動作初期化リセット(RST)要求が発生した際に, すべてのバスアクセスが停止してから 動作初期化リセット (RST) 状態への遷移を行う動作を同期リセット動作とよびます。 本モードにおいては , リセット (RST) 要求が受け付けられても , 内部バスアクセスが行 われている間は , リセット (RST) 状態への遷移は行いません。 上記要求が受け付けられると , それにより内部バスに対してスリープ要求が発行され ます。各バスが動作を切り上げてスリープ状態に移行すると , 動作初期化リセット (RST) 状態へ遷移します。 本モードでは , 各状態へ遷移する時点ではすべてのバスアクセスが停止しているため , すべてのバスアクセスの結果を保証できます。 しかし , バスアクセスが何らかの理由により停止しない場合 , その間 , 各要求を受け付 けることができなくなります ( このような場合でも , 設定初期化リセット (INIT) は直ち に有効となります ) 。 バスアクセスが停止しない要因には以下のものがあげられます。 76 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 MB91461 第 4 章 制御部 4.2 リセット ( デバイス初期化 ) <参考> • DMA コントローラについては , 各要求の受付けにより転送停止を行いますので , 各状 態への遷移を遅延させることはありません。 • TBCR ( タイムベースカウンタ制御レジスタ ) 中の bit9:SYNCR ビットが "1" のとき , 同 期リセットモードとなります。 • 同期モードのソフトウェアリセットの使用に関してはTBCR (タイムベースカウンタ制 御レジスタ ) の bit9:SYNCR ビットの注意事項を参照してください。 設定初期化リセット (INIT) の発生後の初期値は , 通常リセットモードに戻ります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 77 第 4 章 制御部 4.3 クロック生成制御 4.3 MB91461 クロック生成制御 クロック生成制御について説明します。 ■ 内部動作クロックの生成 内部動作クロックは , 以下のようにして生成されます。 ソースクロック : X0/X1 端子または内蔵発振回路からの信号を 2 分周したクロックです。 ベースクロックの生成 : ソースクロックの 2 分周クロックまたは PLL 発振クロックのいずれかを選択し て基本クロックを生成します。 各内部クロックの生成 : ベースクロックを分周し , 各部に供給する 4 種類の動作クロックを生成します。 以降 , 各クロック生成とその制御について説明します。 各説明にあるレジスタ , フラグの詳細な説明は , 「4.3.5 クロック生成制御部のブロッ クダイヤグラム」および「4.3.6 クロック生成制御部のレジスタ詳細説明」を参照して ください。 ■ クロックの選択 ソースクロックの選択について説明します。 外部発振端子である X0/X1 端子入力に発振子を接続し , 内蔵発振回路にて発振し , これ を 2 分周した信号がソースクロックとなります。 外部バスクロックを含むすべてのクロック供給源は , MB91461 自身となります。 内部ベースクロックは , 以下のクロックのうちから選択して生成します。 • ソースクロックを 2 分周したもの • 内蔵発振回路または X0/X1 端子から直接入力されたクロックを PLL で逓倍したもの クロックの選択制御は , CLKR ( クロックソース制御レジスタ ) の設定によって行いま す。 78 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 PLL 制御 4.3.1 メインクロックに対応した PLL 発振回路について , 動作 ( 発振 ) 許可・禁止と逓倍 率設定を制御することが可能です。 各制御は , CLKR ( クロックソース制御レジスタ ) , PLLDIVM, PLLDIVN( 逓倍率設定 レジスタ ) の設定によって行います。以下に , 各制御内容について説明します。 ■ PLL 動作許可 メイン PLL 発振動作の許可 / 停止は , CLKR ( クロックソース制御レジスタ ) の bit10: PLL1EN ビットの設定によって行います。 PLL1EN は , 設定初期化リセット (INIT) 後は "0" に初期化され , PLL の発振動作は停止 しています。停止中は , クロックソースとして PLL 出力を選択することはできません。 プログラム動作を開始したら , まず , クロックソースとして使用する PLL の逓倍率を 設定しかつ動作許可した後 , PLL のロック待ち時間の経過後にクロックを切り換えて ください。この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用するこ とをお奨めします。 ベースクロックとして PLL 出力を選択している間は , その PLL は動作停止させること はできません ( レジスタへの書込みは無効となります ) 。ストップモードに移行する際 などで PLL を停止させたい場合は , いったんベースクロックをソースクロックの 2 分 周したものに選択し直した後 , PLL を停止させてください。 なお , STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットや bit1:OSCD2 ビットに より , ストップモード中の発振が停止するように設定してある場合 , PLL はストップ モード遷移時に自動的に停止しますので , 動作停止を改めて設定する必要はありませ ん。その後 , ストップモードから復帰する際 , PLL は自動的に発振動作を開始します。 ストップモード中の発振が停止しないように設定してある場合は , PLL は自動では停 止しません。この場合は , 必要であればストップモード移行前にあらかじめ動作停止を 設定してください。 ■ PLL 逓倍率 PLL の逓倍率は , PLLDIVM/PLLDIVN レジスタによって設定します。 どちらのレジスタも設定初期化リセット(INIT)後は全ビット"0"に初期化されています。 〔PLL 逓倍率設定〕 PLL 逓倍率設定を初期値より変更する場合 , プログラム動作開始後 , PLL を動作許 可する前に設定してください。逓倍率変更後は , ロック待ち時間の経過後にクロッ クを切り換えてください。この際の PLL ロック待ち時間は , タイムベースタイマ割 込みを使用することをお奨めします。 動作中に PLL 逓倍率設定を変更する場合 , いったんクロックを該当 PLL 以外に切り 換えてから変更してください。逓倍率変更後は , 上記同様にロック待ち時間の経過 後にクロックを切り換えてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 79 第 4 章 制御部 4.3 クロック生成制御 4.3.2 MB91461 発振安定待ち・PLL ロック待ち時間 ソースクロックとして選択するクロックが安定動作状態にない場合 , 発振安定待ち 時間が必要となります (「4.2.4 発振安定待ち時間」を参照 ) 。 PLL については , 動作開始後 , 設定された周波数に出力が安定するまでにはロック待 ち時間が必要となります。 各種ケースにおける待ち時間について説明します。 ■ 電源投入後の待ち時間 電源投入後は , INITX 端子入力 ( 設定初期化リセット端子 ) へ "L" レベルを入力する必 要があります。この状態においては , PLL は動作許可されていないため , ロック待ち時 間はここでは考慮する必要がありません。 ■ 設定初期化後の待ち時間 設定初期化リセット (INIT) が解除されると , 発振安定待ち状態へ遷移します。ここで は , 設定された発振安定待ち時間を内部的に発生します。 この状態において , PLL は動作許可されていないため , ロック待ち時間はここでは考慮 する必要がありません。 ■ PLL 動作許可後の待ち時間 プログラム動作開始後 , 停止状態の PLL を動作許可した場合 , ロック待ち時間が経過 しないとその PLL 出力を使用してはいけません。 クロックソースとして PLL を選択していなければ , ロック待ち時間中もプログラム動 作は実行可能です。 この際の PLL ロック待ち時間は , タイムベースタイマ割込みを使用してください。 ■ PLL 逓倍率変更後の待ち時間 プログラム動作開始後 , 動作状態の PLL の逓倍率設定を変更した場合も , ロック待ち 時間が経過しないとその PLL 出力を使用してはいけません。 クロックソースとして PLL を選択していなければ , ロック待ち時間中もプログラム動 作は実行可能です。 この際の PLL ロック待ち時間に , タイムベースタイマ割込みを使用できます。 80 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ ストップモード復帰後の待ち時間 プログラム動作開始後 , ストップモードに遷移した場合の解除時には , プログラムにて 設定された時間の発振安定待ち時間を内部的に発生します。 ストップモード中に , クロックソースのクロック用発振回路を停止させる設定であっ た場合は , その発振回路の発振安定待ち時間と PLL のロック待ち時間のうち長い方の 時間が必要となります。ストップモードに遷移させる前に , あらかじめその発振安定待 ち時間を設定しておいてください。 ストップモード中に , クロックソースのクロック用発振回路を停止させない設定で あった場合は , PLL は自動で動作を停止しません。したがって , PLL を停止させない限 り発振安定待ち時間は必要となりません。ストップモードに遷移させる前に , あらかじ め発振安定待ち時間を最小値に設定してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 81 第 4 章 制御部 4.3 クロック生成制御 4.3.3 MB91461 クロック分配 選択されたクロックから生成されたベースクロックを元に , 各機能用の動作クロッ クをそれぞれ作成します。 内部動作クロックは全部で 3 種類あり , それぞれが独立に分周比を設定することが できます。 各内部動作クロックについて説明します。 ■ CPU クロック (CLKB) CPU と内部メモリおよび内部バスに使用されるクロックです。 本クロックを使用する回路には , 以下のようなものがあります。 • CPU • 内蔵 RAM • ビットサーチモジュール • I-bus, D-bus, X-bus, F-bus • DMA コントローラ • DSU 動作可能な上限周波数は 80MHz ですので , これを超える周波数になる逓倍率と分周比 の組合せは設定しないでください。 ■ 周辺クロック (CLKP) 周辺回路およびペリフェラルバスに使用されるクロックです。 本クロックを使用する回路には , 以下のようなものがあります。 • ペリフェラル ( 周辺 ) バス • クロック制御部 ( バスインタフェース部のみ ) • 割込みコントローラ • 周辺 I/O ポート • I/O ポートバス • 外部割込み入力 • UART • 16 ビットタイマ • A/D コンバータ • フリーランタイマ • リロードタイマ • アップダウンカウンタ • インプットキャプチャ • アウトプットコンペア • I2C インタフェース • PPG 82 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 動作可能な上限周波数は 20MHz ですので , これを超える周波数になる逓倍率と分周比 の組合せは設定しないでください。 ■ 外部バスクロック (CLKT) 外部拡張バスインタフェースに使用されるクロックです。 本クロックを使用する回路には , 以下のようなものがあります。 • 外部拡張バスインタフェース • 外部クロック出力 動作可能な上限周波数は 40MHz ですので , これを超える周波数になる逓倍率と分周比 の組合せは設定しないでください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 83 第 4 章 制御部 4.3 クロック生成制御 MB91461 クロック分周 4.3.4 各内部動作クロックは , それぞれ独立にベースクロックからの分周比を設定するこ とができます。この機能により , 各回路に最適な動作周波数を設定することができ ます。 ■ 分周比の設定 分周比は , DIVR0 ( 基本クロック分周設定レジスタ 0) および DIVR1 ( 基本クロック分 周設定レジスタ 1) にて設定します。 各レジスタには各クロックに対応する 4 ビットずつの設定ビットがあり , ( レジスタ設 定値+ 1) がそのクロックのベースクロックに対する分周比となります。分周比設定が 奇数であっても , 常にデューティ比は 50% となります。 設定値の変更があった場合 , 設定後次のクロックの立上りから変更後の分周比が有効 となります。 ■ 分周比設定の初期化 分周比設定は , 動作初期化リセット (RST) の発生では初期化されず , リセット発生前の 設定が維持されます。設定初期化リセット (INIT) の発生によってのみ初期化されます。 初期状態では , 周辺クロック (CLKP) 以外はすべて分周比が "1" となりますので , クロッ クソースを高速なものに変更する前に必ず分周比の設定を行ってください。 <注意事項> 各クロックには動作可能な上限周波数が規定されています。クロックソースの選択 , PLL の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は 保証されません。特に , クロックソース選択の変更設定との順序を間違えないように注意 してください。 84 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 クロック生成制御部のブロックダイヤグラム 4.3.5 図 4.3-1 に , クロック生成制御部のブロックダイヤグラムを示します。 図中のレジスタの詳細な説明は , 「4.3.6 クロック生成制御部のレジスタ詳細説明」 を参照してください。 ■ クロック生成制御部のブロックダイヤグラム 図 4.3-1 クロック生成制御部のブロックダイヤグラム 外部バスクロック分周 CPUクロック 周辺クロック 外部バスクロック CLKRレジスタ 発振回路 セレクタ X0 X1 セレクタ 周辺クロック分周 停止制御 CPUクロック分周 セレクタ DIVR0,DIVR1レジスタ セレクタ R-bus [クロック生成部] 1/2 ソースクロック PLL ベースクロック 1/2 ハードウェア ウォッチドッグ [ストップ・スリープ制御部] 内部割込み ストップ状態 STGRレジスタ 内部リセット 状態遷移 制御回路 スリープ状態 リセット発生 F/F リセット発生 F/F 内部リセット(RST) 内部リセット(INIT) [リセット要因回路] INITX端子 RSRRレジスタ [ ウォッチドッグ制御部] WPRレジスタ ウォッチドッグF/F タイムベースカウンタ カウンタクロック CTBRレジスタ セレクタ TBCRレジスタ オーバフロー検出F/F 割込み許可 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED タイムベースタイマ 割込み要求 85 第 4 章 制御部 4.3 クロック生成制御 MB91461 クロック生成制御部のレジスタ詳細説明 4.3.6 クロック生成制御部のレジスタについて説明します。 ■ RSRR : リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ 図 4.3-2 に , リセット要因レジスタおよびウォッチドッグタイマ制御レジスタのレジス タ構成を示します。 図 4.3-2 リセット要因レジスタおよびウォッチドッグタイマ制御レジスタのレジスタ構成 RSRR bit アドレス : 000480H リード / ライト 初期値 (INITX 端子 ) 初期値 (INIT) 初期値 (RST) 15 14 13 12 11 10 9 8 INIT R 1 * X 予約 R X X X WDOG R 0 * X 予約 R X X X SRST R 0 X * 予約 R X X X WT1 R/W 0 0 0 WT0 R/W 0 0 0 *: 要因により初期化されます。 X: 初期化されません。 直前に発生したリセットの要因の保持 , およびウォッチドッグタイマの周期設定 および起動制御を行うレジスタです。 本レジスタを読むと , 保持されたリセット要因は読出し後にクリアされます。読み出す までの間に複数回のリセットが発生した場合 , リセット要因フラグは累積され , 複数の フラグが設定されることになります。 本レジスタに書き込むと , ウォッチドッグタイマが起動されます。それ以降は , リセッ ト (RST) が発生するまで , ウォッチドッグタイマは動作を続けます。 [bit15] INIT : 外部リセット発生フラグ INITX 端子入力によるリセット (INIT) の発生の有無を示します。 値 内 容 0 INITX 端子入力による INIT は発生していません。 1 INITX 端子入力による INIT が発生しました。 読出し直後に "0" にクリアされます。 読出し可能で , 書込みはビット値に影響を与えません。 電源投入時には , 8ms 以上 INITX 端子へ "L" レベルを印加してください。それ以下 の場合ではフラグが設定されない場合があります。 [bit14] 予約 : 予約ビット 予約ビットです。 86 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit13] WDOG : ウォッチドッグリセット発生フラグ ウォッチドッグタイマによるリセット (INIT) の発生の有無を示します。 値 内 容 0 ウォッチドッグタイマによる INIT は発生していません。 1 ウォッチドッグタイマによる INIT が発生しました。 電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" にク リアされます。 読出し可能で , 書込みはビット値に影響を与えません。 [bit12] 予約 : 予約ビット 予約ビットです。 [bit11] SRST : ソフトウェアリセット発生フラグ STCRレジスタのSRSTビット書込み (ソフトウェアリセット) によるリセット(RST) の発生の有無を示します。 値 内 容 0 ソフトウェアリセットによる RST は発生していません。 1 ソフトウェアリセットによる RST が発生しました。 電源投入時の INITX 端子入力によるリセット (INIT), または読出し直後に "0" にク リアされます。 読出し可能で , 書込みはビット値に影響を与えません。 [bit10] 予約 : 予約ビット 予約ビットです。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 87 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit9, bit8] WT1, WT0 : ウォッチドッグタイマインターバル時間選択ビット ウォッチドッグタイマの周期を設定します。 本ビットに書き込む値により , ウォッチドッグタイマの周期を下表に示す 4 種類の うちから選択します。 ウォッチドッグリセットの 発生を抑止するために最低限 必要な WPR への書込み間隔 WPR への最終 5AH 書込みか らウォッチドッグリセットが 発生するまでの時間 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 回のみ有効で , それ以降の書込みは 無効です。 88 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ STCR : スタンバイ制御レジスタ 図 4.3-3 に , スタンバイ制御レジスタのレジスタ構成を示します。 図 4.3-3 スタンバイ制御レジスタのレジスタ構成 STCR bit アドレス : 000481H 7 6 STOP SLEEP 5 4 3 2 1 0 HIZ SRST OS1 OS0 予約 OSCD1 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INITX 端子 ) 0 0 1 1 0 0 1 1 初期値 (INIT) 0 0 1 1 X X 1 1 初期値 (RST) 0 0 X 1 X X X X リード / ライト デバイスの動作モードを制御するレジスタです。 ストップ , スリープの 2 つのスタンバイモードへの遷移 , ストップモード中の端子およ び発振停止制御を行うほか , 発振安定待ち時間の設定 , ソフトウェアリセットの発行を 行います。 <注意事項> スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ 制御レジスタの bit8: SYNCS ビットにて設定します ) を使用した上で , 以下のシーケンス を必ず使用してください。 (LDI#value_of_standby,R0) ;value_of_standby は , STCR へのライトデータ (LDI#_STCR,R12) ;_STCR は , STCR のアドレス (481H) STB ;スタンバイ制御レジスタ (STCR) への書込み R0,@R12 LDUB @R12,R0 ;同期スタンバイのための STCR リード LDUB @R12,R0 ;もう一度 STCR をダミーリード NOP ; タイミング調整用の NOP × 5 NOP NOP NOP NOP [bit7] STOP : STOP モードビット ストップモードへの遷移を指示します。bit6:SLEEP ビットと本ビット両方に "1" を 書き込んだ場合は , 本ビットの方が優先となり , ストップモードへ遷移します。 値 内 容 0 ストップモードへの遷移は行いません。[ 初期値 ] 1 ストップモードへ遷移します。 リセット (RST) およびストップ復帰要因により "0" に初期化されます。 読出しおよび書込みが可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 89 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit6] SLEEP : SLEEP モードビット スリープモードへの遷移を指示します。bit7:STOP ビットと本ビット両方に "1" を書 き込んだ場合は, bit7:STOPビットの方が優先となり, ストップモードへ遷移します。 値 内 容 0 スリープモードへの遷移は行いません。[ 初期値 ] 1 スリープモードへ遷移します。 リセット (RST) およびスリープ復帰要因により "0" に初期化されます。 読出しおよび書込みが可能です。 [bit5] HIZ : Hi-Z モードビット ストップモード時の端子状態を制御します。 値 内 容 0 ストップモード遷移前の端子状態を維持します。 1 ストップモード中は端子出力をハイインピーダンス状態にします。 [ 初期値 ] リセット (INIT) により "1" に初期化されます。 読出しおよび書込みが可能です。 [bit4] SRST : ソフトウェアリセットビット ソフトウェアリセット (RST) の発行を指示します。 値 内 容 0 ソフトウェアリセットを発行します。 1 ソフトウェアリセットの発行は行いません。[ 初期値 ] リセット (RST) により "1" に初期化されます。 読出しおよび書込みが可能です。読出し値は , 常に "1" となります。 <注意事項> 同期モードのソフトウェアリセットの使用に関しては TBCR ( タイムベースカウンタ制御 レジスタ ) の bit9:SYNCR ビットの注意事項を参照してください。 90 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit3, bit2] OS1, OS0 : 発振安定待ち時間選択ビット リセット (INIT) 後 , およびストップモード復帰後などにおける , 発振安定待ち時間 を設定します。 本ビットに書き込む値により , 発振安定待ち時間を下表に示す 4 種類のうちから選 択します。 OS1 OS0 発振安定待ち時間 原発振 18MHz の場合 0 0 φ × 21 [ 初期値 ] 0.44 μs 0 1 φ × 211 0.46 ms 1 0 φ × 216 14.6 ms 1 1 φ × 222 0.93 s φ はベースクロックの周期 INITX 端子入力によるリセット (INIT) により 00B に初期化されます。 読出しおよび書込みが可能です。 [bit1] 予約 : 予約ビット 予約ビットです。 [bit0] OSCD1 : 発振停止ビット ストップモード時での発振回路の発振停止を制御します。 値 内 容 0 ストップモード中も発振は停止しません。 1 ストップモード中は発振を停止します。[ 初期値 ] リセット (INIT) により "1" に初期化されます。 読出しおよび書込みが可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 91 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ TBCR : タイムベースカウンタ制御レジスタ 図 4.3-4 に , タイムベースカウンタ制御レジスタのレジスタ構成を示します。 図 4.3-4 タイムベースカウンタ制御レジスタのレジスタ構成 TBCR bit アドレス : 000482H リード / ライト 初期値 (INIT) 初期値 (RST) 15 14 13 12 11 TBIF R/W TBIE R/W TBC2 R/W TBC1 R/W TBC0 R/W 10 9 8 予約 R/W 0 0 X X X X 0 0 0 0 X X X X X X SYNCR SYNCS R/W R/W タイムベースタイマ割込みなどを制御するレジスタです。 タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択を行います。 [bit15] TBIF : タイムベースタイマ割込みフラグ タイムベースタイマ割込みフラグです。 タイムベースカウンタが設定されたインターバル時間 (bit13 ∼ bit11:TBC2 ∼ TBC0 ビットにて設定 ) を経過したことを示します。 bit14:TBIE ビットにより割込み発生が許可 (TBIE = 1) されているときに , 本ビット が "1" になるとタイムベースタイマ割込み要求が発生します。 クリア要因 命令による "0" の書込み セット要因 設定されたインターバル時間の経過 ( タイムベースカウンタ出力の立下りエッジ検出 ) リセット (RST) により "0" に初期化されます。 読出しおよび書込み可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込んで もビット値は変化しません。 リードモディファイライト (RMW) 系命令での読出し値は , 常に "1" となります。 [bit14] TBIE : タイムベースタイマ割込み許可ビット タイムベースタイマ割込み要求出力許可ビットです。 タイムベースカウンタのインターバル時間の経過による割込み要求出力を制御し ます。本ビットが "1" のときに , bit15:TBIF ビットが "1" になるとタイムベースタイ マ割込み要求が発生します。 値 内 容 0 タイムベースタイマ割込み要求出力禁止 [ 初期値 ] 1 タイムベースタイマ割込み要求出力許可 リセット (RST) により "0" に初期化されます。 読出しおよび書込みが可能です。 92 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit13 ∼ bit11] TBC2, TBC1, TBC0 : タイムベースタイマカウンタ選択ビット タイムベースタイマで使用するタイムベースカウンタのインターバル時間を設定 します。 本ビットに書き込む値により , インターバル時間を下表に示す 8 種類のうちから選 択します。 TBC2 TBC1 TBC0 タイマインターバル時間 原発振 18MHz かつ PLL が 4 逓倍の場合 0 0 0 φ × 211 28.4 μs 0 0 1 φ × 212 56.9 μs 0 1 0 φ × 213 114 μs 0 1 1 φ × 222 58.3 ms 1 0 0 φ × 223 117 ms 1 0 1 φ × 224 233 ms 1 1 0 φ × 225 466 ms 1 1 1 φ × 226 932 ms φ はベースクロックの周期 初期値は不定です。割込みを許可する前に必ず値を設定してください。 読出しおよび書込みが可能です。 [bit10] 予約 : 予約ビット 予約ビットです。読出し値は不定で , 書込みは動作に影響を与えません。 [bit9] SYNCR : 同期リセットイネーブルビット 同期リセット動作許可ビットです。 動作初期化リセット (RST) 要求が発生した際に , 直ちにリセット (RST) を行う通常 リセット動作を行うか , すべてのバスアクセスが停止してから動作初期化リセット (RST) を行う同期リセット動作を行うかを選択します。 値 内 容 0 通常リセット動作 [ 初期値 ] 1 同期リセット動作 リセット (INIT) により "0" に初期化されます。 読出しおよび書込みが可能です。MB91461 では同期リセットのみをサポートしてい るため , このレジスタに書き込む場合はこのビットに "1" を設定してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 93 第 4 章 制御部 4.3 クロック生成制御 MB91461 <注意事項> 同期モードのソフトウェアリセットを使用するときは , STCR ( スタンバイ制御レジスタ ) の SRST ビットに "0" を設定する前に , 以下の 2 つの条件を必ず満たしてください。 • 割込み許可フラグ (I) を割込み禁止 (I = 0) に設定する。 • NMI を使用しない。 [bit8] SYNCS : 同期スタンバイ許可ビット 同期スタンバイ動作許可ビットです。 スタンバイ要求 ( スリープモード要求またはストップモード要求 ) を発生する際 , STCR レジスタの制御ビットへの書込みのみでスタンバイ遷移を行う通常スタンバ イ動作を行うか , STCR レジスタの制御ビットへの書込み後に STCR レジスタを読 み出すことによってスタンバイ遷移を行う同期スタンバイ動作を行うかを選択し ます。 値 内 容 0 通常スタンバイ動作 [ 初期値 ] 1 同期スタンバイ動作 リセット (INIT) により "0" に初期化されます。 <注意事項> スタンバイモードに遷移する際には , 必ず "1" を設定し , 同期スタンバイ動作としてくだ さい。 94 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ CTBR : タイムベースカウンタクリアレジスタ 図 4.3-5 に , タイムベースカウンタクリアレジスタのレジスタ構成を示します。 図 4.3-5 タイムベースカウンタクリアレジスタのレジスタ構成 CTBR bit アドレス : 000483H リード / ライト 初期値 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 W X W X W X W X W X W X W X W X タイムベースカウンタを初期化するためのレジスタです。 本レジスタに連続して A5H, 5AH を書き込むと , 5AH 書込みの直後にタイムベースカウ ンタを全ビット "0" にクリアします。A5H 書込みと 5AH 書込みの間の時間制限はあり ませんが , A5H 書込みの後に 5AH 以外のデータを書き込むと , 再度 A5H を書き込まな いと 5AH を書き込んでもクリア動作を行いません。 本レジスタの読出し値は不定です。 <注意事項> 本レジスタを使用してタイムベースカウンタをクリアすると , 発振安定待ち間隔 , ウォッ チドッグタイマ周期 , およびタイムベースタイマの周期が一時的に変動します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 95 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ CLKR : クロックソース制御レジスタ 図 4.3-6 に , クロックソース制御レジスタのレジスタ構成を示します。 図 4.3-6 クロックソース制御レジスタのレジスタ構成 CLKR bit アドレス : 000484H リード / ライト 初期値 (INIT) 初期値 (RST) 15 14 13 12 予約 R/W 0 X 予約 R/W 0 X 予約 R/W 0 X 予約 R/W 0 X 11 10 9 8 SCKEN PLL1EN CLKS1 CLKS0 R/W R/W R/W R/W 0 0 0 0 X X X X システムのベースクロックとするクロックソースの選択や PLL の制御を行うレジスタ です。本レジスタにてクロックソースを 2 種類のうちから選択します。 [bit15 ∼ bit12] 予約 : 予約ビット 予約ビットです。必ず "0" を設定してください。 [bit11] SCKEN : サブクロック選択許可ビット サブクロックの選択を許可するビットです。サブクロックがクロックソースとして 選択されている (CLKS1, CLKS0 = 11B) 間にサブクロック選択許可ビット (SCKEN) を変更することは , 禁止されています ( 結果は保証されません ) 。メインクロック が選択されている場合以外は , 設定を変更しないでください。( クロックソースの変 更方法については , クロックソース選択ビット (CLKS1, CLKS0) の説明を参照して ください。) このビットは MB91461 には搭載されていません。MB91461 の場合は 予約ビットとなります。 値 内 容 0 サブクロック選択禁止 [ 初期値 ] 1 サブクロック選択許可 [bit10] PLL1EN : PLL 許可ビット PLL の動作許可ビットです。本ビットは , クロックソースとして PLL を選択してい る間は書換えをしないでください。また , 本ビットが "0" の間はクロックソースと して PLL を選択しないでください (bit9, bit8:CLKS1, CLKS0 ビットの設定による ) 。 STCR の bit0:OSCD1 が "1" であると , ストップモード中は本ビットが "1" であって も PLL は停止します。ストップモードからの復帰後は動作許可に戻ります。 値 内 容 0 PLL 停止 [ 初期値 ] 1 PLL 動作許可 リセット (INIT) により "0" に初期化されます。読出しおよび書込みが可能です。 96 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit9, bit8] CLKS1, CLKS0 : クロックソース選択ビット 使用するクロックソースを設定します。 本ビットに書き込む値により , クロックソースを下表に示す 2 種類のうちから選択 します。 なお , bit9:CLKS1 が "1" の間は bit8:CLKS0 の値を変更することができません。 表 4.3-1 クロックソース選択ビットの変更例 変更可能な組合せ 変更不可能な組合せ 00B → 01B または 10B 00B → 11B 01B → 11B または 00B 01B → 10B 10B → 00B 10B → 01B または 11B 11B → 01B 11B → 00B または 10B CLKS1 CLKS0 0 0 X0/X1 からの原発振入力の 4 分周 [ 初期値 ] 0 1 X0/X1 からの原発振入力の 4 分周 1 0 PLL( メインクロック ) 1 1 サブクロック ( 設定禁止 ) クロックソース設定 リセット (INIT) により 00B に初期化されます。 読出しおよび書込みが可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 97 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ WPR : ウォッチドッグリセット発生延期レジスタ 図 4.3-7 に , ウォッチドッグリセット発生延期レジスタのレジスタ構成を示します。 図 4.3-7 ウォッチドッグリセット発生延期レジスタのレジスタ構成 WPR bit アドレス : 000485H 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 W X W X W X W X W X W X W X W X リード / ライト 初期値 ウォッチドッグリセットの発生を延期するためのレジスタです。 本レジスタに連続して A5H, 5AH を書き込むと , 5AH 書込みの直後にウォッチドッグタ イマの検出用 F/F をクリアし , ウォッチドッグリセットの発生を延期します。 A5H 書込みと 5AH 書込みの間の時間制限はありませんが , A5H 書込みの後に 5AH 以外 のデータを書き込んだ場合 , 再度 A5H を書き込まないと 5AH を書き込んでもクリア動 作を行いません。 以下に , ウォッチドッグリセット発生に関する時間間隔と RSRR レジスタの値の関係 を示します。 この期間内に両データの書込みを終えないとウォッチドッグリセットを発生します。 ウォッチドッグリセット発生までの時間や発生抑止のために必要な書込み間隔は , RSRR レジスタの WT1 (bit9) , WT0 (bit8) の状態によって変化します。 表 4.3-2 ウォッチドックリセット発生のインターバル時間 RSRR のウォッチドッグリセッ トの発生を抑止するために最低 限必要な WPR への書込み間隔 WPR への最終 5AH 書込みから WT1 WT0 0 0 φ × 216 [ 初期値 ] φ × 216 ∼ φ × 217 0 1 φ × 218 φ × 218 ∼ φ × 219 1 0 φ × 220 φ × 220 ∼ φ × 221 1 1 φ × 222 φ × 222 ∼ φ × 223 ウォッチドッグリセットが 発生するまでの時間 φはベースクロックの周期, WT1, WT0はRSRRのbit9, bit8でウォッチドッグタイマ周 期設定。 ストップ , スリープ , DMA 転送中など , CPU が動作していない間は自動的にクリアを 行いますので , これらの条件が発生すると , ウォッチドッグリセットは自動的に延期さ れます。 ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合ではウォッ チドッグリセットは延期されませんので , 長期間外部バスをホールドする場合はス リープモードにしてからホールド要求 (BRQ) を入力してください。 本レジスタの読出し値は不定です。 98 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ DIVR0 : 基本クロック分周設定レジスタ 0 図 4.3-8 に , 基本クロック分周設定レジスタ 0 のレジスタ構成を示します。 図 4.3-8 基本クロック分周設定レジスタ 0 のレジスタ構成 DIVR0 bit アドレス : 000486H リード / ライト 初期値 (INIT) 初期値 (RST) 15 14 13 12 11 10 9 8 B3 R/W 0 X B2 R/W 0 X B1 R/W 0 X B0 R/W 0 X P3 R/W 0 X P2 R/W 0 X P1 R/W 1 X P0 R/W 1 X 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , CPU および内部バスのクロック (CLKB), 周辺回路 , およびペリフェ ラルバスクロック (CLKP) の分周比の設定を行います。 <注意事項> 各クロックには動作可能な上限周波数が規定されています。クロックソースの選択 , PLL の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は 保証されません。特にクロックソース選択の変更設定との順序を間違えないように注意し てください。 本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周 比が有効となります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 99 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit15 ∼ bit12] B3, B2, B1, B0 : CLKB 分周選択ビット CPU クロック (CLKB) のクロック分周比設定ビットです。CPU と内部メモリおよび 内部バスのクロック (CLKB) のクロック分周比を設定します。 本ビットに書き込む値により , CPU および内部バスのクロックのベースクロックに 対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択します。 動作可能な上限周波数は 80 MHz ですので , これを超える周波数になる分周比は設 定しないでください。 クロック周波数 : 原発振 18 MHz および PLL4 逓倍の場合 B3 B2 B1 B0 0 0 0 0 φ 72.0 MHz [ 初期値 ] 0 0 0 1 φ × 2 (2 分周 ) 36.0 MHz 0 0 1 0 φ × 3 (3 分周 ) 24.0 MHz 0 0 1 1 φ × 4 (4 分周 ) 18.0 MHz 0 1 0 0 φ × 5 (5 分周 ) 14.4 MHz 0 1 0 1 φ × 6 (6 分周 ) 12.0 MHz 0 1 1 0 φ × 7 (7 分周 ) 10.3 MHz 0 1 1 1 φ × 8 (8 分周 ) 9.0 MHz … … … … … 1 1 1 1 φ × 16 (16 分周 ) クロック分周比 … 4.5 MHz φ はベースクロックの周期 リセット (INIT) により 0000B に初期化されます。 読出しおよび書込みが可能です。 100 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit11 ∼ bit8] P3, P2, P1, P0 : CLKP 分周選択ビット 周辺クロック (CLKP) クロック分周比設定ビットです。 周辺回路およびペリフェラルバスのクロック (CLKP) のクロック分周比を設定しま す。 本ビットに書き込む値により , 周辺回路およびペリフェラルバスのクロックのベー スクロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択 します。 動作可能な上限周波数は 20MHzですので , これを超える周波数になる分周比は設定 しないでください。 クロック周波数 : 原発振 18 MHz および PLL4 逓倍の場合 P3 P2 P1 P0 0 0 0 0 φ 72.0 MHz 0 0 0 1 φ × 2 (2 分周 ) 36.0 MHz 0 0 1 0 φ × 3 (3 分周 ) 24.0 MHz 0 0 1 1 φ × 4 (4 分周 ) 18.0 MHz [ 初期値 ] 0 1 0 0 φ × 5 (5 分周 ) 14.4 MHz 0 1 0 1 φ × 6 (6 分周 ) 12.0 MHz 0 1 1 0 φ × 7 (7 分周 ) 10.3 MHz 0 1 1 1 φ × 8 (8 分周 ) 9.0 MHz … … … … … 1 1 1 1 φ × 16 (16 分周 ) クロック分周比 … 4.5 MHz φ はベースクロックの周期 リセット (INIT) により 0011B に初期化されます。 読出しおよび書込みが可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 101 第 4 章 制御部 4.3 クロック生成制御 MB91461 ■ DIVR1 : 基本クロック分周設定レジスタ 1 図 4.3-9 に , 基本クロック分周設定レジスタ 1 のレジスタ構成を示します。 図 4.3-9 基本クロック分周設定レジスタ 1 のレジスタ構成 DIVR1 bit アドレス : 000487H リード / ライト 初期値 (INIT) 初期値 (RST) 7 6 5 4 3 2 1 0 T3 R/W 0 X T2 R/W 0 X T1 R/W 0 X T0 R/W 0 X 予約 R/W 0 X 予約 R/W 0 X 予約 R/W 0 X 予約 R/W 0 X 各内部クロックのベースクロックに対する分周比を制御するレジスタです。 本レジスタでは , 外部拡張バスインタフェースのクロック (CLKT) の分周比の設定を行 います。 <注意事項> 各クロックには動作可能な上限周波数が規定されています。クロックソースの選択 , PLL の逓倍率の設定 , 分周比の設定の組合せで , 上限周波数を超える設定をした場合 , 動作は 保証されません。特に , クロックソース選択の変更設定との順序を間違えないように注意 してください。 本レジスタの設定の変更があった場合 , 設定後 , 次のクロックレートから変更後の分周 比が有効となります。 102 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 [bit7 ∼ bit4] T3, T2, T1, T0 : CLKT 分周選択ビット 外部バスクロック (CLKT) のクロック分周比設定ビットです。 外部拡張バスインタフェースのクロック (CLKT) のクロック分周比を設定します。 本ビットに書き込む値により , 外部拡張バスインタフェースのクロックのベースク ロックに対する分周比 ( クロック周波数 ) を下表に示す 16 種類のうちから選択しま す。 動作可能な上限周波数は 40MHz ですので , これを超える周波数になる分周比は設定 しないでください。 クロック周波数 : 原発振 18 MHz および PLL4 逓倍の場合 T3 T2 T1 T0 0 0 0 0 φ 72.0 MHz [ 初期値 ] 0 0 0 1 φ × 2 (2 分周 ) 36.0 MHz 0 0 1 0 φ × 3 (3 分周 ) 24.0 MHz 0 0 1 1 φ × 4 (4 分周 ) 18.0 MHz 0 1 0 0 φ × 5 (5 分周 ) 14.4 MHz 0 1 0 1 φ × 6 (6 分周 ) 12.0 MHz 0 1 1 0 φ × 7 (7 分周 ) 10.3 MHz 0 1 1 1 φ × 8 (8 分周 ) 9.0 MHz … … … … … 1 1 1 1 φ × 16 (16 分周 ) クロック分周比 … 4.5 MHz φ はベースクロックの周期 リセット (INIT) により 0000B に初期化されます。 読出しおよび書込みが可能です。 [bit3 ∼ bit0] 予約 : 予約ビット 予約ビットです。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 103 第 4 章 制御部 4.3 クロック生成制御 4.3.7 MB91461 クロック制御部の周辺回路 クロック制御部の周辺回路機能について説明します。 ■ タイムベースカウンタ クロック制御部には, 26ビット長のタイムベースカウンタがあり, ベースクロックで動 作しています。 タイムベースカウンタは , 発振安定待ち時間の計測 (「4.2.4 発振安定待ち時間」を参照 ) のほか , 以下の用途に使用されます。 ウォッチドッグタイマ : システムの暴走検出用のウォッチドッグタイマをタイムベースカウンタのビッ ト出力を用いて計測します。 タイムベースタイマ : タイムベースカウンタ出力を用いてインターバル割込みを発生します。 ● ウォッチドッグタイマ ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマで す。プログラムの暴走などで設定したインターバルの間にウォッチドッグリセット の発生延期動作が行われなくなると , ウォッチドッグリセットとして設定初期化リ セット (INIT) 要求を発生します。ここで説明するウォッチドッグタイマは「第 7 章 ハードウェアウォッチドッグタイマ」とは異なるもので , リセット直後は停止状態 です。 〔ウォッチドッグタイマの起動〕 ウォッチドッグタイマは , リセット (RST) 後の 1 回目の RSRR ( リセット要因レジ スタ / ウォッチドッグタイマ制御レジスタ ) への書込み動作により起動します。 このとき , ウォッチドッグタイマのインターバル時間を bit9, bit8:WT1, WT0 ビット により設定します。インターバル時間の設定は , この最初の書込みで設定した時間 のみが有効となり , それ以降の書込みはすべて無視されます。 〔ウォッチドッグリセットの発生延期〕 いったんウォッチドッグタイマを起動すると , プログラムで定期的に WPR ( ウォッ チドッグリセット発生延期レジスタ ) に対して A5H, 5AH の順でデータを書き込む 必要があります。 この操作により , ウォッチドッグリセット発生用フラグが初期化されます。 〔ウォッチドッグリセットの発生〕 ウォッチドッグリセット発生用フラグは , 設定したインターバルのタイムベースカ ウンタ出力の立下りエッジによってセットされます。2 度目の立下りエッジの検出 時にフラグが設定されていると , ウォッチドッグリセットとして設定初期化リセッ ト (INIT) 要求を発生します。 104 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 〔ウォッチドッグタイマの停止〕 いったんウォッチドッグタイマを起動すると , 動作初期化リセット (RST) が発生す るまでは , ウォッチドッグタイマを停止することはできません。 動作初期化リセット (RST) の発生する以下の状態では , ウォッチドッグタイマは停 止し , 再度プログラム動作にて起動するまでは機能しません。 - 動作初期化リセット (RST) 状態 - 設定初期化リセット (INIT) 状態 - 発振安定待ちリセット (RST) 状態 〔ウォッチドッグタイマの一時停止 ( 自動発生延期 ) 〕 ウォッチドッグタイマは , CPU のプログラム動作が停止している場合いったん ウォッチドッグリセット発生用フラグを初期化し , ウォッチドッグリセットの発生 を延期します。プログラム動作の停止とは具体的には以下の動作を示します。 - スリープ状態 - ストップ状態 - 発振安定待ち RUN 状態 - エミュレータデバッガ , モニタデバッガを使用時のブレーク中 - INTE 命令の実行から RETI 命令の実行までの期間 - ステップトレーストラップ (PS レジスタの T フラグ= 1 による 1 命令ごとのブレーク ) - 命令キャッシュ制御レジスタ (ISIZE, ICHCR), RAM モード時のキャッシュメモリへのデータ また , タイムベースカウンタのクリアを行うと , 同時にウォッチドッグリセット発 生用フラグも初期化され , ウォッチドッグリセットの発生が延期されます。 なお , システムの暴走により上記状態となってしまった場合 , ウォッチドッグリ セットが発生しない可能性があります。その場合 , 外部 INITX 端子よりリセット (INIT) をかけてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 105 第 4 章 制御部 4.3 クロック生成制御 MB91461 ● タイムベースタイマ タイムベースタイマは , タイムベースカウンタ出力を用いたインターバル割込み発 生用タイマです。PLL のロック待ち時間など , 最大で { ベースクロック× 226} サイ クルまでの比較的長時間の時間計測を行う用途に適しています。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジを 検出すると , タイムベースタイマ割込み要求を発生します。 〔タイムベースタイマの起動とインターバル設定〕 タイムベースタイマは , TBCR ( タイムベースカウンタ制御レジスタ ) の bit13 ∼ bit11:TBC2, TBC1, TBC0 ビットにてインターバル時間を設定します。 設定したインターバルに対応するタイムベースカウンタの出力の立下りエッジは 常に検出されているため , インターバル時間の設定後はまず , bit15:TBIF ビットをク リアしてから bit14:TBIE ビットを "1" にして割込み要求出力を許可してください。 インターバル時間を変更する際は , あらかじめ bit14:TBIE ビットを "0" にして割込 み要求出力を禁止しておいてください。 タイムベースカウンタはこれら設定に影響されず , 常にカウント動作を行っていま すので , 正確なインターバル割込み時間を得るためには , 割込みを許可する前にタ イムベースカウンタをクリアしてください。クリアしない場合 , 割込み許可直後に 割込み要求が発生することもあり得ます。 〔プログラムによるタイムベースカウンタのクリア〕 CTBR ( タイムベースカウンタクリアレジスタ ) に対して A5H, 5AH の順でデータを 書き込むと , 5AH 書込みの直後に , タイムベースカウンタを全ビット "0" にクリア します。A5H 書込みと 5AH 書込みの間の時間制限はありませんが , A5H 書込みの後 に 5AH 以外のデータを書き込むと , 再度 A5H を書き込まないと 5AH を書き込んで もクリア動作を行いません。 このタイムベースカウンタのクリアを行うことにより , 同時にウォッチドッグリ セット発生用フラグも初期化され , ウォッチドッグリセットの発生がいったん延期 されます。 〔デバイス状態によるタイムベースカウンタのクリア〕 タイムベースカウンタは , 以下のデバイス状態の遷移時に , 同時に全ビット "0" にク リアされます。 - ストップ状態 - 設定初期化リセット (INIT) 状態 特にストップ状態の場合 , 発振安定待ち時間の計測のためにタイムベースカウンタ が使用されるため , 意図せずにタイムベースタイマのインターバル割込みが発生し てしまう可能性があります。 そのため , ストップモードを設定する前には , タイムベースタイマ割込みを禁止し , タイムベースタイマを使用しないでください。 それ以外の状態については, 動作初期化リセット(RST)が発生するため, タイムベー スタイマ割込みは自動的に禁止されます。 106 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.3 クロック生成制御 MB91461 ● インターバルタイマ クロックソースの選択や分周設定の影響を受けず , ソースクロックに同期してカウ ントアップする 23 ビットのタイマです。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 107 第 4 章 制御部 4.4 PLL インタフェース 4.4 MB91461 PLL インタフェース PLL の逓倍設定について説明します。 図 4.4-1 に , PLL 周辺のブロックダイヤグラムを示します。 図 4.4-1 PLL 周辺のブロックダイヤグラム クロック ユニット XIN1 PLL PLLIN インタフェース PLL 水晶 または クロック入力 X 1/G 1/M CK 位相補正 M U X FB 1/N クロックツリー CLKB CLKP CLKT M U X FB1 遅延 ■ 特長 1 ∼ 64 まで設定可能な 2 つのデバイダによって逓倍率を決定 電圧降下および電圧サージを防ぐためのクロック自動ギアのアップダウン機能 108 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.4 PLL インタフェース MB91461 PLL インタフェースのレジスタ詳細説明 4.4.1 PLL インタフェースのレジスタの詳細について説明します。 ■ PLLDIVM:PLL デバイダ M 図 4.4-2 に , PLL デバイダ M の構成を示します。 図 4.4-2 PLL デバイダ M の構成 PLLDIVM bit アドレス : 00048CH リード / ライト 初期値 7 6 5 4 3 2 1 0 予約 予約 DVM5 DVM4 DVM3 DVM2 DVM1 DVM0 R/W R/W R/W R/W R/W R/W R/W R/W − − 0 0 0 0 0 0 PLLDIVM は PLL フィードバックループの中に入るデバイダの 1 つで , PLLDIVN とと もに PLL の逓倍率を決定します。また , PLL 発振出力を分周して , 以降のクロックユ ニットに与えるクロックを生成する分周器としても使用されます。 [bit7, bit6] 予約 : 予約ビット 予約ビットです。読出し値は "0" です。 [bit5 ∼ bit0] DVM5 ∼ DVM0 : PLLDIVM 分周設定値 DVM5 ∼ DVM0 に設定する値によって分周数は以下のようになります。 CM71-10159-2 DVM5 ∼ DVM0 分周数 000000B 1 ( 分周なし ) 000001B 2 000010B 3 000011B 4 000100B 5 000101B 6 000110B 7 000111B 8 ・・・・・ ・・・・・ 111111B 64 FUJITSU MICROELECTRONICS LIMITED 109 第 4 章 制御部 4.4 PLL インタフェース MB91461 <注意事項> • 分周設定としては "1" ( 分周なし ) も設定できますが , "2" 以上に設定することを推奨し ます。また , PLL 出力のデューティ比を 50 % にするために , 設定値としては偶数の分 周数を設定してください。 • クロックソースとして PLL が選択されている場合は (CLKS1, CLKS0 = 10B), PLLDIVM の値を変更することはできません。 110 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.4 PLL インタフェース MB91461 ■ PLLDIVN:PLL デバイダ N PLL デバイダ N の構成は以下のとおりです。 図 4.4-3 PLL デバイダ N の構成 PLLDIVN bit アドレス : 00048DH リード / ライト 初期値 7 6 5 4 3 2 1 0 予約 予約 DVN5 DVN4 DVN3 DVN2 DVN1 DVN0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 PLLDIVN は PLL フィードバックループの中に入るデバイダの 1 つで , PLLDIVM とと もに PLL の逓倍率を決定します。 [bit7, bit6] 予約 : 予約ビット 予約ビットです。読出し値は "0" です。 [bit5 ∼ bit0] DVN5 ∼ DVN0 : PLLDIVN 分周設定値 以下に PLLDIVN 分周設定値を示します。 DVN5 ∼ DVN0 分周数 000000B 1 ( 分周なし ) 000001B 2 000010B 3 000011B 4 000100B 5 000101B 6 000110B 7 000111B 8 ・・・・・ ・・・・・ 111111B 64 <注意事項> クロックソースとして PLL が選択されている場合は (CLKS1, CLKS0 = 10B), PLLDIVN の 値を変更することはできません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 111 第 4 章 制御部 4.4 PLL インタフェース MB91461 ■ PLLDIVG PLLDIVG bit 7 アドレス : 00048EH 6 5 4 3 2 1 0 DVG2 R/W DVG1 R/W DVG0 R/W 予約 R/W 予約 R/W 予約 R/W 予約 R/W DVG3 R/W 初期値 (INITX 端子入力 , ウォッチドッグリセット ) 0 0 0 0 0 0 0 0 初期値 (ソフトウェアリセット) 0 0 0 0 X X X X [bit7 ∼ bit4] 予約:予約ビット これらのビットには常に "0" を書き込みます。 [bit3 ∼ bit0] DVG0 ∼ DVG3:PLL 自動ギアの開始 / 終了 G 分周選択 DVG3 ∼ DVG0 PLL 出力 G 分周の開始 / 終了周波数 ( 生成 φ: ベースクロック ) 0000B 自動ギア禁止 ( 初期値 ) 0001B ソース (FCL-PLL) : 2 (2 分周 ) 0010B ソース (FCL-PLL) : 3 (3 分周 ) 0011B ソース (FCL-PLL) : 4 (4 分周 ) 0100B ソース (FCL-PLL) : 5 (5 分周 ) 0101B ソース (FCL-PLL) : 6 (6 分周 ) 0110B ソース (FCL-PLL) : 7 (7 分周 ) 0111B ソース (FCL-PLL) : 8 (8 分周 ) ...... ..... 1111B ソース (FCL-PLL) : 16 (16 分周 ) < 注意事項 > • G 分周カウンタに対して奇数の分周比 (3, 5, 7 など ) を選択できますが , これは推奨値 ではありません。常に偶数の分周比を選択してください (2, 4, 6 など ) 。 • クロックソースとして PLL を選択すると , レジスタ値は変更できません。 (CLKS1, CLKS0 = 10B) 。 • 自動ギア機能を使用しない場合は 0000B ( 初期値 ) としてください。 112 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.4 PLL インタフェース MB91461 ■ PLLMULG PLLMULG bit 7 6 5 4 3 2 1 0 MLG7 R/W MLG6 R/W MLG5 R/W MLG4 R/W MLG3 R/W MLG2 R/W MLG1 R/W MLG0 R/W 初期値 (INITX 端子入力 , ウォッチドッグリセット ) 0 X 0 0 0 0 0 0 初期値 (ソフトウェアリセット) X X X X X X X X アドレス : 00048FH [bit5 ∼ bit0] : MLG7 ∼ MLG0:PLL 自動ギア G 分周のステップ逓倍率選択 MLG7 ∼ MLG0 G 分周のステップ逓倍率 00000000B G 分周ステップ× 1 (1 で乗算 ) 00000001B G 分周ステップ× 2 (2 で乗算 ) 00000010B G 分周ステップ× 3 (3 で乗算 ) 00000011B G 分周ステップ× 4 (4 で乗算 ) 00000100B G 分周ステップ× 5 (5 で乗算 ) 00000101B G 分周ステップ× 6 (6 で乗算 ) 00000110B G 分周ステップ× 7 (7 で乗算 ) 00000111B G 分周ステップ× 8 (8 で乗算 ) ...... ..... 11111111B G 分周ステップ× 256 (256 で乗算 ) < 注意事項 > • クロックソースとして PLL を選択すると , レジスタ値は変更できません (CLKS1, CLKS0 = 10B) 。 • 自動ギア機能を使用しない場合は , このレジスタは使用されません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 113 第 4 章 制御部 4.4 PLL インタフェース MB91461 ■ PLLCTRL PLLCTRL bit 7 アドレス : 000490H 6 5 4 3 2 1 0 GRDN R/W IEUP R/W GRUP R/W 予約 R/W 予約 R/W 予約 R/W 予約 R/W IEDN R/W 初期値 (INITX 端子入力 , ウォッチドッグリセット ) 0 X 0 0 0 0 0 0 初期値 (ソフトウェアリセット) 0 0 0 0 X X X X [bit7 ∼ bit4] 予約 : 予約ビット 読出し値は常に "0" です。 [bit3] : 割込み許可ギアダウン IEDN 機能 0 ギアダウン割込み禁止 ( 初期値 ) 1 ギアダウン割込み許可 [bit2] : 割込みフラグギアダウン GRDN 機能 0 ギアダウン割込み非アクティブ ( 初期値 ) 1 ギアダウン割込みアクティブ • G 分周カウンタがプログラムされた終了値に達すると , クロックソース PLL から クロックソース発振に切り換わるときにこのフラグが設定されます。 • リードモディファイライト命令では , このビットは "1" と読まれます。"1" を書き 込んでも影響はありません。 [bit1] : 割込み許可ギアアップ IEUP 114 機能 0 ギアアップ割込み禁止 ( 初期値 ) 1 ギアアップ割込み許可 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.4 PLL インタフェース MB91461 [bit0] : 割込みフラグギアアップ GRUP 機能 0 ギアアップ割込み非アクティブ ( 初期値 ) 1 ギアアップ割込みアクティブ • G 分周カウンタが M 分周カウンタで定義されている終了値に達すると , クロック ソース発振からクロックソース PLL に切り換わるときにこのフラグが設定され ます。 • リードモディファイライト (RMW) 命令では , このビットは "1" と読まれます。 "1" を書き込んでも影響はありません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 115 第 4 章 制御部 4.4 PLL インタフェース MB91461 PLL 逓倍率設定例 4.4.2 PLL 設定例について説明します。 以下の表に PLLDIVM, PLLDIVN の設定例を示します。 PLL 発振器出力が 80Mz ∼ 170MHz の範囲になるように設定してください。 表 4.4-1 PLL 逓倍率設定例 (1 / 2) PLL 入力クロック [MHz] 116 PLLDIVM 設定 PLLDIVN 設定 PLL 発振器出力 [MHz] PLL 出力 ( クロック ユニットへの出力 )[MHz] 4 20 2 160 8 4 14 3 168 12 4 10 4 160 16 4 8 5 160 20 4 8 6 192 24 4 6 7 168 28 4 6 8 192 32 4 6 9 192 36 4 4 10 160 40 4 4 11 176 44 4 4 12 192 48 4 2 19 152 76 4 2 20 160 80 10 2 8 160 80 10 3 5 150 50 10 3 6 180 60 10 4 4 160 40 10 4 5 200 50 10 5 3 150 30 10 5 4 200 40 10 6 3 180 30 10 8 2 160 20 10 9 2 180 20 10 10 2 200 20 12 3 5 180 60 12 4 4 192 48 12 5 3 180 36 12 7 2 168 24 12 8 2 192 24 14 3 4 168 56 14 4 3 168 42 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.4 PLL インタフェース MB91461 表 4.4-1 PLL 逓倍率設定例 (2 / 2) PLL 入力クロック [MHz] PLLDIVM 設定 PLLDIVN 設定 PLL 発振器出力 [MHz] PLL 出力 ( クロック ユニットへの出力 )[MHz] 14 6 2 168 28 14 7 2 196 28 16 2 5 160 80 16 3 4 192 64 16 4 3 192 48 16 5 2 160 32 16 6 2 192 32 18 3 3 162 54 18 5 2 180 36 20 2 4 160 80 20 3 3 180 60 20 4 2 160 40 20 5 2 200 40 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 117 第 4 章 制御部 4.4 PLL インタフェース MB91461 ■ クロック自動ギアのアップダウン クロックソースを発振から高周波数 PLL 出力 ( またはその逆 ) に切り換えるときに電圧 の降下やサージを回避するために , PLL インタフェースにはクロックをスムーズにギア アップおよびギアダウンする回路が実装されています。 主な機能は , 2 つの分周カウンタ (M 分周カウンタと G 分周カウンタ ) を使用して実装 されています。M 分周カウンタでは , PLL フィードバックにターゲットの周波数が指定 されます。もう一方の G 分周カウンタでは , G 分周設定 (DIVG) で指定されているプロ グラマブルな分周から , M 分周設定 (DIVM) で指定されているターゲットの周波数に上 昇し , M 分周設定 (DIVM) からプログラマブルな終了周波数 (DIVG) まで周波数が低下 します。 システムクロックを低周波数から高周波数に変えたり ( ギアアップ ) , 高周波数から低 周波数に変える ( ギアダウン ) 場合は , DIVG > DIVM 設定のみが , 有効なクロックギア 仕様になります。 周波数ステップは , 以下のように PLL 出力周波数の逓倍で実行されます。 発振器= 4 MHz, M = 2, N = 20 ( つまり , PLL 出力= 160 MHz, C ユニットへの周波数出力= 80 MHz と すると , M × N = 40 という周波数逓倍になります ) 。 ギアデバイダは , 任意の偶数デバイダに設定できます。この例では G = 20 であり , 発 振から PLL に切り換わるときに以下のギアアップが行われます。 1. ステップ : 1 サイクルの 8.0 MHz (8.0 MHz は , 20 サイクルの PLL 出力になります ) 2. ステップ : 2 サイクルの 8.4 MHz (8.4 MHz は , 19 サイクルの PLL 出力になります ) 3. ステップ : 3 サイクルの 8.8 MHz (8.8 MHz は , 18 サイクルの PLL 出力になります ) : 17. ステップ : 17 サイクルの 40.0 MHz (40.0 MHz は , 4 サイクルの PLL 出力になります ) 18. ステップ : 18 サイクルの 53.3 MHz (53.3 MHz は , 3 サイクルの PLL 出力になります ) 19. ステップ : 19 サイクルの 80.0 MHz (80.0 MHz は , 2 サイクルの PLL 出力になります ) →最終ステップへの遷移で到達したターゲットの周波数 ( ここでは 18. から 19.) ギア逓倍率レジスタ内で逓倍値を設定すると , 各ステップが逓倍されます。開始周波数 を生成してからターゲットの周波数に達するまでの時間は , 以下の式で計算できます。 i i duration = mul Þ t Þ k Þ ( i – k + 1 ) – k Þ ( i – k + 1 ) k = 1 k = j+1 この式は, 以下の式と同じです (最初の和の項の有限の算術級数は, 以下に帰着します) 。 i i Þ ( i + 1 ) Þ ( i + 2 ) duration = mul Þ t Þ ---------------------------------------------- – k Þ ( i – k + 1 ) 6 k = j+1 i = G, j = G − M, mul = MULG, t = 1/f(pllout) 上記の設定では , 開始周波数からターゲット周波数までの時間が 9262500ps ( 約 9.3 ms) である 1483PLL 出力クロックサイクルと同じになります。 118 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.4 PLL インタフェース MB91461 < 注意事項 > クロック自動ギア機能を使用する場合は , ギアアップおよびギアダウンのフラグ (PLLCTRL:GRUP, PLLCTRL:GRDN) を使用して , この機能の現在の状態を評価すること をお勧めします。これにより , 完了前の設定変更によって発生するクロックシステム内で の誤動作を防ぐことができます。 手順例 : 1. 選択した周波数とギア時間に従って PLL インタフェースレジスタ (PLLDIVN, PLLDIVM, PLLDIVG, PLLMULG) を設定します。 2. PLL を ON にします (CLKR:PLL1EN = 1) 。 3. ギアをアップまたはダウンに切り換えた後に割込みを受信した場合は , 対応する割 込み許可も許可します (PLLCTRL:IEUP, PLLCTRL:IEDN) 。 4. PLL 安定待ち時間まで待機します。 5. ベースクロック分周レジスタを設定します (DIV0, DIV1) 。 6. クロックソースを PLL に切り換えます (CLKR:CLKS 00B → 10B) 。 7. クロックソースを発振に戻す前に PLLCTRL:GRUP ギアアップフラグ ( ポーリング または割込み ) まで待機するか , または CLKR レジスタ内のビットを変更する前に PLLCTRL:GRUP = 1 の設定を確定します。 8. クロックソースを発振に切り換えます (CLKR:CLKS 10B → 00B) 。 9. クロックソースを PLL に戻す前に PLLCTRL:GRDN ギアダウンフラグ ( ポーリング または割込み ) まで待機するか , または CLKR レジスタ内のビットを変更する前に PLLCTRL:GRDN = 1 の設定を確定します。 10.PLL を OFF にします (CLKR:PLL1EN = 0) 。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 119 第 4 章 制御部 4.5 デバイス状態制御 4.5 MB91461 デバイス状態制御 MB91461 の各種状態とその制御について説明します。 ■ デバイス状態制御の概要 デバイス状態には , 以下のものがあります。 • RUN 状態 ( 通常動作 ) • スリープ状態 • ストップ状態 • シャットダウン状態 • 発振安定待ち RUN 状態 • 発振待ちリセット (RST) 状態 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 以降 , 上記各種状態の詳細と , 低消費電力モードであるスリープモードおよびストップ モードの詳細について説明します。 120 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.5 デバイス状態制御 MB91461 デバイス状態と各遷移 4.5.1 図 4.5-1 に , デバイスの状態遷移を示します。 ■ デバイス状態 図 4.5-1 デバイス状態 遷移要求の優先順位 1 INITX端子=0(INIT) 2 INITX端子=1(INIT解除) 3 発振安定待ち終了 4 リセット(RST)解除 5 ソフトウェアリセット(RST) 6 スリープ(命令書込み) 7 ストップ (命令書込み) 8 シャットダウン (命令書込み) 9 割込み 10 クロックを必要としない外部割込み 11 ウォッチドックリセット(INIT) (ハードウェアウォッチドッグを含む) 最強 ↓ ↓ ↓ ↓ 最弱 パワーオン 1 設定初期化リセット(INIT) 発振安定待ち終了 動作初期化リセット(RST) 割込み要求 ストップ(シャットダウン) スリープ 設定初期化 (INIT) 2 1 シャットダウン 10 1 発振安定待ち リセット ストップ 1 8 10 1 3 プログラムリセット (RST) 発振安定待ちRUN 3 7 5 1 6 スリープ RUN 1 4 11 1 9 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 121 第 4 章 制御部 4.5 デバイス状態制御 MB91461 ■ デバイスの動作状態 MB91461 のデバイスの動作状態には以下のものがあります。 ● RUN 状態 ( 通常動作 ) この状態は , プログラム実行状態です。 すべての内部クロックが供給され , すべての回路が動作可能な状態です。ただし , 16 ビット周辺 ( ペリフェラル ) バスのみは , アクセスが行われていない期間はバス クロックのみ停止しています。 各状態遷移要求を受け付けますが , 同期リセットモードを選択している場合 , 通常 リセットモードの場合と一部要求に対する状態遷移動作が異なります。 詳細は ,「4.2.5 リセット動作モード」の「■ 同期リセット動作」を参照してください。 ● スリープ状態 この状態は , プログラム停止状態です。プログラム動作により遷移します。 CPU のプログラム実行のみ停止し , 周辺回路は動作可能な状態です。各種内蔵メモ リおよび内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。有 効な割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移し ます。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 動作初期化リセット (RST) 要求の発生により , 動作初期化リセット (RST) 状態へ遷 移します。 ● ストップ状態 この状態は , デバイス停止状態です。プログラム動作により遷移します。 すべての内部回路が停止します。内部クロックはすべて停止し, 発振回路およびPLL は設定により停止させることが可能です。また , 設定により , 外部端子を一律ハイ インピーダンスにすることが可能です ( 一部端子を除く ) 。 特定の ( クロックを必要としない ) 有効な割込みや , 発振動作中のインターバルタ イマ割込み要求の発生により , 発振安定待ち RUN 状態へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ 遷移します。 ● シャットダウン状態 この状態は, RAM以外のデバイス停止状態です。プログラム動作により遷移します。 RAM (64K バイト ) およびその周辺回路以外は電源供給が遮断されます。これにより , シャットダウン状態でのリーク電流を大幅に低減することができます。外部バスのコ ントロール信号を出力保持する以外は , すべての出力をハイインピーダンス状態にし ます。 特定の ( クロックを必要としない ) 有効な割込みにより , 発振安定待ち RUN 状態へ 遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 122 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.5 デバイス状態制御 MB91461 ● 発振安定待ち RUN 状態 この状態は , デバイス停止状態です。ストップ状態からの復帰後に遷移します。 クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くす べての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路およ び動作許可されていた PLL は動作しています。 ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 設定された発振安定待ち時間の経過により , RUN 状態 ( 通常動作 ) へ遷移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 動作初期化リセット (RST) 要求の発生により , 発振安定待ちリセット (RST) 状態へ 遷移します。 ● 発振安定待ちリセット (RST) 状態 この状態は , デバイス停止状態です。ストップ状態または設定初期化リセット (INIT) 状態からの復帰後に遷移します。 クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くす べての内部回路が停止します。内部クロックはすべて停止しますが , 発振回路およ び動作許可されていた PLL は動作しています。 ストップ状態などでの外部端子のハイインピーダンス制御は解除されます。 内部回路に対し , 動作初期化リセット (RST) を出力します。 設定された発振安定待ち時間の経過により , 発振安定待ちリセット (RST) 状態へ遷 移します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 ● 動作初期化リセット (RST) 状態 この状態は , プログラム初期化状態です。動作初期化リセット (RST) 要求の受付け , または発振安定待ちリセット (RST) 状態の終了により遷移します。 CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路 は一部を除き初期化されます。すべての内部クロックと発振回路および動作許可さ れていた PLL は動作しています。 内部回路に対して動作初期化リセット (RST) を出力します。 動作初期化リセット (RST) 要求の消失により , RUN 状態 ( 通常動作 ) へ遷移し , 動 作初期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの 復帰後だった場合は , 設定初期化リセットシーケンスを実行します。 設定初期化リセット (INIT) 要求の発生により , 設定初期化リセット (INIT) 状態へ遷 移します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 123 第 4 章 制御部 4.5 デバイス状態制御 MB91461 ● 設定初期化リセット (INIT) 状態 この状態は , 全設定初期化状態です。設定初期化リセット (INIT) 要求の受付け , ま たはハードウェアスタンバイ状態の終了により遷移します。 CPU のプログラム実行は停止し , プログラムカウンタは初期化されます。周辺回路 はすべて初期化されます。発振回路は動作しますが , PLL は動作を停止します。す べての内部クロックは , 外部 INITX 端子への "L" レベル入力期間は停止しますが , それ以外では動作します。 内部回路に対して設定初期化リセット (INIT) および動作初期化リセット (RST) を出 力します。 設定初期化リセット (INIT) 要求の消失により , 本状態は解除され , 発振安定待ちリ セット (RST) 状態へ遷移します。その後 , 動作初期化リセット (RST) 状態を経て , 設定初期化リセットシーケンスを実行します。 ● 各状態遷移要求の優先順位 どの状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 一部 要求は特定の状態でしか発生しませんので , その状態でしか有効になりません。 【最強】 設定初期化リセット (INIT) 要求 ↓ 発振安定待ち時間の終了 ( 発振安定待ちリセット状態および発振安定待ち RUN 状態のみ発生 ) ↓ 動作初期化リセット (RST) 要求 ↓ 有効な割込み要求 (RUN, スリープ , ストップ , シャットダウン状態のみ発生 ) ↓ ストップモード要求 ( シャットダウン ) ( レジスタ書込み ) (RUN 状態のみ発生 ) 【最弱】 スリープモード要求 ( レジスタ書込み ) (RUN 状態のみ発生 ) 124 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.6 インターバルタイマ MB91461 インターバルタイマ 4.6 インターバルタイマは , ソースクロックに同期してカウントアップする 23 ビットの カウンタで , 一定の時間間隔で繰り返し割込みを発生するインターバルタイマ機能 があります。 ■ インターバルタイマのインターバル時間 表 4.6-1 に , インターバルタイマのインターバル時間を示します。インターバル時間は 次の 3 種類の中から選択できます。 表 4.6-1 インターバルタイマのインターバル時間 メインクロック周期 インターバル時間 214/FXTL 219/FXTL 1/FXTL 225/FXTL ( 注意事項 ) FXTL は X0/X1 端子または発振回路からのクロック ■ インターバルタイマのブロックダイヤグラム 図 4.6-1 に , インターバルタイマのブロックダイヤグラムを示します。 図 4.6-1 インターバルタイマのブロックダイヤグラム インターバル タイマ用カウンタ FXTL 22 0 1 2 3 4 5 6 7 8 23 24 25 26 27 28 29 210 211 11 16 22 214 219 225 ソース クロック インターバル タイマ セレクタ カウンタ クリア回路 リセット (INIT) インターバル タイマ割込み インターバルタイマ 制御レジスタ(OSCR) WIF WIE WEN 予約 予約 WS1 WS0 WCL FXTL:X0/X1端子または発振回路からのクロック CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 125 第 4 章 制御部 4.6 インターバルタイマ MB91461 ● インターバルタイマ X0/X1 または発振回路からのクロックの 4 分周クロックをカウントクロックとする 23 ビットのアップカウンタです。 ● カウンタクリア回路 OSCR レジスタによる設定 (WCL = 0) 以外に , リセット (INIT) 時にカウンタをクリ アします。 ● インターバルタイマセレクタ インターバルタイマ用カウンタの 3 種類の分周出力からインターバルタイマ用の 1 種 類を選択する回路で , 選択した分周出力の立下りエッジが割込み要因になります。 ● インターバルタイマ制御レジスタ (OSCR) インターバル時間の選択 , カウンタのクリア , 割込み制御および状態の確認などを 行います。 126 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.6 インターバルタイマ MB91461 ■ インターバルタイマのレジスタ説明 図 4.6-2 に , インターバルタイマのレジスタ構成を示します。 図 4.6-2 インターバルタイマのレジスタ構成 OSCR bit アドレス : 0004C8H リード / ライト 初期値 (INIT) 初期値 (RST) 15 14 13 12 11 10 9 8 WIF R/W 0 X WIE R/W 0 X WEN R/W 0 X 予約 R/W 予約 R/W ― X ― X WS1 R/W 0 X WS0 R/W 0 X WCL R/W 0 X [bit15] WIF : タイマ割込みフラグ インターバル割込み要求フラグです。 選択されたインターバルタイマ用分周出力の立下りエッジによって "1" に設定され ます。 このビットと割込み要求許可ビットが "1" のとき , インターバルタイマ割込み要求 を出力します。 値 内 容 0 インターバルタイマ割込みの要求なし [ 初期値 ] 1 インターバルタイマ割込みの要求あり リセット (INIT) で "0" に初期化されます。 読出しおよび書込みが可能です。ただし , 書込みは "0" のみ可能で , "1" を書き込ん でもビット値は変化しません。 リードモディファイライト (RMW) 系命令での読出し値では常に "1" となります。 [bit14] WIE : タイマ割込み許可ビット CPU への割込み要求出力の許可 / 禁止を行うビットです。このビットとインターバ ルタイマ割込み要求フラグビットが "1" のとき , インターバルタイマ割込み要求を 出力します。 値 内 容 0 インターバルタイマ割込み要求出力禁止 [ 初期値 ] 1 インターバルタイマ割込み要求出力許可 リセット (INIT) で "1" に初期化されます。 読出しおよび書込みが可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 127 第 4 章 制御部 4.6 インターバルタイマ MB91461 [bit13] WEN : タイマ動作許可ビット タイマ動作許可ビットです。 本ビットが "1" のときにタイマはカウント動作を行います。 値 内 容 0 タイマ動作停止 [ 初期値 ] 1 タイマ動作 リセット (INIT) で "0" に初期化されます。 読出しおよび書込みが可能です。 [bit12, bit11] 予約 : 予約ビット 予約ビットです。書込み時は "0" を書き込んでください ("1" 書込み禁止 ) 。 読出し値は不定です。 [bit10, bit9] WS1, WS0 : タイマインターバル時間選択ビット インターバルタイマの周期を選択します。 インターバルタイマ用カウンタの出力ビットを下記 3 種類のうちから選択します。 WS1 WS0 0 0 設定禁止 [ 初期値 ] 0 1 214/FXTL 1 0 219/FXTL 1 1 225/FXTL インターバルタイマ周期 FXTL は X0/X1 または発振回路からのクロックです。 リセット (INIT) で 00B に初期化されます。 読出しおよび書込みが可能です。 インターバル時間タイマを使用する場合 , 本レジスタにデータの書込みを行ってく ださい。 [bit8] WCL : タイマクリアビット "0" 書込みでインターバルタイマを "0" にクリアします。 書込みは "0" のみ可能で , "1" を書き込んでも動作に影響を与えません。 読出し値は常に "1" となります。 128 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 4 章 制御部 4.6 インターバルタイマ MB91461 ■ インターバル割込み インターバルタイマ用カウンタは , X0/X1 端子または発振回路からのクロックの 2 分周 のクロック ( ソースクロック ) でカウント動作し , 設定したインターバル時間が経過す ると , インターバル割込み要求フラグ (WIF) を "1" に設定します。そのとき , 割込み要 求許可ビットを許可 (WIE = 1) していると CPU へ割込み要求が発生します。ただし , 発振回路が発振停止しているとき (「■インターバルタイマ機能の動作」を参照 ) では カウント動作も停止しますので , インターバル割込みは発生しません。 割込み処理ルーチンで WIF フラグに "0" を書き込み , 割込み要求をクリアしてくださ い。なお , WIF ビットは , WIE ビットの値に関系なく , 指定した分周出力が立ち下ると 設定されます。 <注意事項> • リセット解除後に割込み要求出力を許可 (WIE = 1) する場合および WS1, WS0 ビット 変更時は , 必ず WIF と WCL ビットを同時にクリア (WIF = WCL = 0) してください。 このタイマは発振回路の安定待ち時間を自動で確保する目的には使えません。 • WIF ビットが "1" のとき , WIE ビットを禁止から許可 (0 → 1) にすると , 直ちに割込み 要求が発生します。 • カウンタクリア (OSCR:WCL = 1) と選択したビットのオーバフローが同時に起こった 場合は , WIF ビットのセットは行われません。 ■ インターバルタイマ機能の動作 インターバルタイマ用カウンタはソースクロックにてカウントアップを行いますが , 以下の状態では発振回路の発振が停止するため , カウント動作も停止します。 WEN ビットが "0" のとき ストップモードで発振回路が停止する設定 ( スタンバイ制御レジスタ STCR の bit0:OSCD1 = 1) でストップモードに移行すると , ストップモード中 , カウント動作 が停止。リセット (INIT) 時 , OSCD1 = 1 に初期化しますので , ストップモード中も インターバルタイマを動かしたい場合は , スタンバイ移行前に OSCD2 = 0 を設定 してください。 カウンタをクリア (WCL = 0) すると , 000000H からカウント動作を行い , 7FFFFFH に 達すると , 000000H に戻ってカウントを継続します。カウントアップ中に選択されたイ ンターバルタイマ用の分周出力に立下りエッジが発生すると , インターバル割込み要 求ビット (WIF) を "1" に設定します。すなわち , クリアされた時間を基準にして , 選択されたインターバル時間ごとにインターバルタイマ割込み要求を発生します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 129 第 4 章 制御部 4.6 インターバルタイマ MB91461 ■ インターバルタイマの動作 図 4.6-3 に , インターバルタイマ起動時のカウンタ状態を示します。 図 4.6-3 インターバルタイマ起動時のカウンタ状態 7FFFFFH カウンタ値 000000H 時間 設定時間 ・タイマクリア(WCL=1) * "0"以外のとき ・インターバル時間設定(WS1,WS0=11B) 割込みルーチンでクリア WIF(割込み要求) WIE(割込みマスク) ■ インターバルタイマ使用時の注意事項 発振開始直後は発振周期が不安定なため , 設定時間は目安値となります。 発振回路が発振停止中はカウンタも停止しますので , インターバルタイマ割込みも発 生しません。インターバルタイマ割込みを使った処理を行う場合は , 発振回路を停止し ないでください。 WIF フラグセット要求と CPU からの "0" クリアタイミングが重なった場合は , フラグ セットが優先して "0" クリアは無効となります。 130 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第5章 命令キャッシュ 命令キャッシュについて説明します。 5.1 概要 5.2 制御レジスタ 5.3 命令キャッシュの状態と設定 5.4 命令キャッシュを使用するときの設定方法 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 131 第 5 章 命令キャッシュ 5.1 概要 MB91461 概要 5.1 命令キャッシュは , 一時記憶メモリです。命令コードを外部の低速メモリからアク セスする場合 , 一度アクセスしたコードを内部に保持する役目を果たし , 2 回目以降 のアクセス速度を速めるために使用します。 ■ 概要 命令キャッシュデータ RAM, タグ RAM は , RAM モードに設定することにより , ソフトウェア で直接リード・ライトアクセスができるようになります。 ■ 本体構成 • FR の基本命令長 : 2 バイト • ブロックの配置方式 : 2 ウェイセットアソシアティブ方式 • ブロック : 1 ウェイは 128 ブロック構成 1 ブロックは 16 バイト ( = 4 サブブロック ) 1 サブブロックは 4 バイト ( = 1 バスアクセス単位 ) 図 5.1-1 命令キャッシュ構成 4バイト ウェイ1 4バイト 4バイト 4バイト 4バイト I1 I0 サブブロック1 サブブロック0 ブロック0 キャッシュタグ サブブロック3 サブブロック2 サブブロック1 サブブロック0 ブロック127 キャッシュタグ サブブロック3 サブブロック2 サブブロック1 サブブロック0 ブロック0 サブブロック3 サブブロック2 サブブロック1 サブブロック0 ブロック127 ・・ 128ブロック ・・ I2 サブブロック2 ・・ I3 サブブロック3 キャッシュタグ キャッシュタグ 132 ・・ ・・ 128ブロック ・・ ウェイ2 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 5 章 命令キャッシュ 5.1 概要 MB91461 図 5.1-2 命令キャッシュタグ ウェイ1 bit31 9 8 空き 3 TAGV 2 空き アドレスタグ 7 SBV3 6 SBV2 5 SBV1 4 SBV0 サブブロックバリッド LRU エントリロック 0 ETLK 1 0 ETLK TAGバリッド ウェイ2 bit31 9 8 空き 3 TAGV 2 アドレスタグ 7 SBV3 1 LRU 6 SBV2 5 SBV1 4 SBV0 サブブロックバリッド 空き TAGバリッド エントリロック [bit31 ∼ bit9] アドレスタグ 対応するブロックにキャッシュされている命令のメモリアドレスの上位 23 ビット がストアされています。 ブロック i のサブブロック k に格納されている命令データのメモリアドレス IA は , IA =アドレスタグ× 211 + i × 24 + k × 22 となります。 CPU からアクセス要求された命令アドレスの一致を検査するために使用します。タ グ検査の結果に従い , 以下のような動作をします。 • 要求された命令データがキャッシュ内に存在するとき (ヒット) , キャッシュから CPU へサイクル内にデータを転送します。 • 要求された命令データがキャッシュ内に存在しないとき (ミス) , 外部アクセスで 取得されたデータを CPU とキャッシュが同時に取得します。 [bit7 ∼ bit4] SBV3 ∼ SBV0 : サブブロックバリッド サブブロックバリッドを "1" に設定したとき , 対応するサブブロックにタグで示さ れたアドレスの現行命令データがエントリされています。サブブロックには , 通常 2 命令が格納されます ( 即値転送命令を除く ) 。 [bit3] TAGV : TAG バリッド アドレスタグの値が有効がどうかを示します。このビットが "0" のときはサブバリッ ドビットとは無関係に, このブロックはインバリッド状態になります (フラッシュ時) 。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 133 第 5 章 命令キャッシュ 5.1 概要 MB91461 [bit1] LRU ( ウェイ 1 のみ ) ウェイ 1 の命令キャッシュタグにのみ存在します。選択されたセットについて , 最 後にアクセスしたエントリがウェイ 1・ウェイ 2 のどちらであるかを示します。 LRU = 1 のときはウェイ 1 の , LRU = 0 のときはウェイ 2 のセットのエントリが最 後にアクセスしたことを示します。 [bit0] ETLK : エントリロック タグに相当するブロック内の全エントリをキャッシュにロックします。ETLK = 1 のときにロック状態で , キャッシュミス時にエントリは更新されません。ただし , 無効なサブブロックは更新されます。ウェイ 1, ウェイ 2 ともにエントリロックされ ているときにキャッシュミスした場合は , キャッシュミス判定の 1 サイクルをロス した後 , 外部メモリにアクセスします。 134 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 5 章 命令キャッシュ 5.2 制御レジスタ MB91461 5.2 制御レジスタ 制御レジスタには , キャッシュサイズレジスタ (ISIZE) と命令キャッシュ制御レジス タ (ICHCR) があります。これらのレジスタ機能について説明します。 ■ キャッシュサイズレジスタ (ISIZE) 図 5.2-1 キャッシュサイズレジスタ (ISIZE) ISIZE (8 ビット ) bit 7 6 5 4 3 2 − − − − R/W :リード / ライト可能 − :未定義 − − − − − − − − 000003C7H 1 0 SIZE1 SIZE0 R/W R/W 初期値 ------10B [bit1, bit0] SIZE1, SIZE0 キャッシュ容量を設定するビットです。設定によりキャッシュサイズと IRAM 容量 , RAM モード時のアドレスマップが図 5.2-3 のように変化します。キャッシュ容量 を変更した場合は , 必ずフラッシュおよびエントリロックの解除を行ってから キャッシュ ON にしてください。 表 5.2-1 キャッシュサイズレジスタ SIZE1 SIZE0 0 0 1K バイト 0 1 2K バイト 1 0 4K バイト ( 初期値 ) 1 1 設定禁止 容量 ■ 命令キャッシュ制御レジスタ (ICHCR) 命令キャッシュ制御レジスタ (ICHCR) は , 命令キャッシュの動作を制御します。 ICHCR への書込みは , 以降 3 サイクル以内にフェッチされる命令のキャッシュ動作に 影響を与えません。 図 5.2-2 命令キャッシュ制御レジスタ (ICHCR) ICHCR (8 ビット ) bit 000003E7H 7 6 5 4 3 2 1 0 初期値 RAM GBLK ALFL EOLK ELKR FLSH ENAB 0-000000B R/W R/W R/W R/W R/W R/W R/W − − R/W :リード / ライト可能 − :未定義 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 135 第 5 章 命令キャッシュ 5.2 制御レジスタ MB91461 [bit7] RAM: RAM モード "1" で RAM モードとして動作します。RAM モードにすることによって , ENAB が "1" でキャッシュオンとなっている場合はキャッシュ RAM が図 5.2-3 のとおりに マッピングされます。 [bit5] GBLK: グローバルロック すべてのカレントエントリをキャッシュにロックします。GBLK = 1 のとき , キャッ シュ内の有効なエントリはミス時に更新されません。ただし , 無効なサブブロック は更新されます。その際の命令データフェッチ動作は , ロックしていないときと同 様です。 [bit4] ALFL: オートロックフェイル すでにロックしているエントリをさらにロックしようとすると ALFL = 1 に設定さ れます。エントリオートロック中のエントリの更新がすでにロックされているエン トリに対して行われようとしたとき , 新たなエントリはキャッシュ中にロックされ ません。このようなプログラムのデバッグのために参照します。"0" 書込みでクリ アされます。 [bit3] EOLK: エントリオートロック 命令キャッシュ内の各エントリに対して , オートロッキングの有効・無効を切り換 えます。EOLK = 1 のときにアクセス ( ミス時のみ ) されたエントリは , キャッシュ タグ内のエントリロックビットがハードウェアで"1"に設定されることにより, ロッ クされます。ロックされたエントリは以後 , キャッシュミス時の更新の対象になり ません。ただし , 無効なサブブロックは更新されます。確実にロックするためには 一度消去した後 , このビットを設定してください。 [bit2] ELKR: エントリロック解除 すべてのキャッシュタグ中のエントリロックビットのクリアを指定します。 ELKR=1に設定された次のサイクルで, すべてのキャッシュタグ中のエントリロッ クビットが "0" にクリアされます。ただし , 本ビットの内容が保持されるのは 1 ク ロックサイクルのみであり , 2 クロックサイクル以降は "0" にクリアされます。 [bit1] FLSH: フラッシュ 命令キャッシュの消去を指定します。FLSH = 1 のとき , キャッシュの内容が消去 されます。ただし , 本ビットの内容が保持されるのは 1 クロックサイクルのみであ り , 2 クロックサイクル以降は "0" にクリアされます。 [bit0] ENAB: イネーブル 命令キャッシュの許可・禁止を切り換えます。ENAB = 0 のときは禁止状態で , CPU からの命令アクセスは , キャッシュを介さず外部に対して直接行われます。禁止状 態では , キャッシュの内容は保存されます。 136 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 5 章 命令キャッシュ 5.2 制御レジスタ MB91461 図 5.2-3 RAM のアドレスマップ アドレス 00010000H 00010200H 00010400H 00010600H 00010800H キャッシュ OFF キャッシュ OFF RAM OFF RAM ON キャッシュ ON キャッシュ ON キャッシュ ON キャッシュ ON キャッシュ ON キャッシュ ON 4K バイト 4K バイト 2K バイト 2K バイト 1K バイト 1K バイト RAM OFF RAM ON TAG TAG ( ウェイ 1) ( ウェイ 1) RAM OFF RAM ON RAM OFF RAM ON TAG TAG( ウェイ 1) ( ウェイ 1) [TAG ウェイ 1] [TAG ウェイ 1] [TAG ウェイ 1] [TAG ウェイ 1] [TAG ウェイ 1] [TAG ウェイ 1] [TAG ウェイ 1] … … … … [TAG ウェイ 1] … [TAG ウェイ 1] 00014000H 00014200H 00014400H 00014600H 00014800H TAG TAG TAG TAG( ウェイ 2) ( ウェイ 2) ( ウェイ 2) ( ウェイ 2) [TAG ウェイ 2] [TAG ウェイ 2] [TAG ウェイ 2] [TAG ウェイ 2] [TAG ウェイ 2] [TAG ウェイ 2] [TAG ウェイ 2] … … … [TAG ウェイ 2] … [TAG ウェイ 2] 00018000H 00018200H 00018400H 00018600H 00018800H [IRAM ウェイ 1] [$RAM ウェイ 1] [$RAM ウェイ 1] [IRAM ウェイ 1]*2 … … … … … IRAM $RAM(IRAM) ( ウェイ 2) ( ウェイ 2) IRAM $RAM(IRAM) $RAM $RAM ( ウェイ 1) ( ウェイ 1) ( ウェイ 1) ( ウェイ 1) IRAM IRAM IRAM ( ウェイ 1) ( ウェイ 1) *1 IRAM ( ウェイ 1) $RAM( ウェイ 1) ( ウェイ 1) [ $/I ウェイ 1 ] [IRAM ウェイ ] [ $/I ウェイ 1 ] … … … $RAM $RAM ( ウェイ 2) − IRAM $RAM( ウェイ 2) ( ウェイ 2) IRAM ( ウェイ 2) ( ウェイ 2) 0001C000H 0001C200H 0001C400H 0001C600H 0001C800H ( ウェイ 2) ( ウェイ 2) [IRAM ウェイ 2] [$RAM ウェイ 2] [$RAM ウェイ 2] [IRAM ウェイ 2]*2 [ $/I ウェイ 2 ] [IRAM ウェイ 2] [ $/I ウェイ 2 ] … … … … … … … … *1 IRAM IRAM 00020000H [ ] はミラーとなる領域 *1 ISIZE レジスタの値に従い , キャッシュ ON 時と同様のマップになります。 *2 ミラー領域は 4K バイトごとの上位 2K バイトに発生します。 ( 注意事項 ) $ の記号はキャッシュを意味します。 TAGRAM $RAM 00010004H <- 00x 番地のエントリ 00018000H 00018004H <- 00x のミラー 00010008H 00018008H 008 番地の命令 (SBV2) 0001000CH 0001800CH 00C 番地の命令 (SBV3) 00010010H <- 01x 番地のエントリ 00018010H 00018014H <- 01x のミラー 000 番地の命令 (SBV0) 00010014H 00010018H 00018018H 008 番地の命令 (SBV2) 0001001CH 00010020H 0001801CH 00018020H 00C 番地の命令 (SBV3) 00010000H 000 番地の命令 (SBV0) 004 番地の命令 (SBV1) 004 番地の命令 (SBV1) 図 5.2-4 各キャッシュ容量時のメモリの割り当て アドレス 000H 200H 400H 600H … 000H 200H 400H 600H キャッシュ 4K バイト $RAM ( ウェイ 1) キャッシュ 2K バイト $RAM IRAM … $RAM ( ウェイ 2) $RAM IRAM キャッシュ 1K バイト キャッシュ OFF $RAM IRAM IRAM … $RAM IRAM IRAM ( 注意事項 ) $ の記号はキャッシュを意味します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 137 第 5 章 命令キャッシュ 5.3 命令キャッシュの状態と設定 MB91461 命令キャッシュの状態と設定 5.3 命令キャッシュの各動作モードにおける状態と , 命令キャッシュの設定方法について 説明します。 ■ 動作モード時のキャッシュの状態 ディセーブル / フラッシュはビット操作命令などでそのビットだけを変化させた場合 の状態を示しています。 表 5.3-1 動作モード時のキャッシュの状態 ディセーブル (ENAB = 0) フラッシュ 内容は不定 直前の状態を保持 ディセーブル中書換え不可能 直前の状態を保持 内容は不定 直前の状態を保持 ディセーブル中書換え不可能 直前の状態を保持 サブブロック 内容は不定 バリッドビット 直前の状態を保持 ディセーブル中書換え不可能 直前の状態を保持 LRU 内容は不定 直前の状態を保持 ディセーブル中書換え不可能 直前の状態を保持 エントリロック ビット 内容は不定 直前の状態を保持 ディセーブル中書換え不可能 直前の状態を保持 ( 要エントリロック解除 ) リセット直後 キャッシュメモリ アドレスタグ タ グ TAG 内容は不定 バリッドビット 通常モード 直前の状態を保持 直前の状態を保持 ディセーブル中フラッシュ可能 グローバル ロック アンロック 直前の状態を保持 ディセーブル中書換え可能 直前の状態を保持 オートロック フェイル フェイルなし 直前の状態を保持 ディセーブル中書換え可能 直前の状態を保持 エントリ オートロック アンロック 直前の状態を保持 ディセーブル中書換え可能 直前の状態を保持 エントリロック 解除 解除なし 直前の状態を保持 ディセーブル中書換え可能 直前の状態を保持 イネーブル ディセーブル ディセーブル 直前の状態を保持 フラッシュ フラッシュ しない 直前の状態を保持 ディセーブル中書換え可能 メモリアクセス直後の サイクルでフラッシュ。 以後 "0" に戻る。 RAM 制 御 レ ジ ス タ 138 直前の状態を保持 すべてのエントリが ディセーブル中フラッシュ可能 インバリッド FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 5 章 命令キャッシュ 5.3 命令キャッシュの状態と設定 MB91461 ■ キャッシュのエントリ更新 キャッシュのエントリ更新は , 以下の表のように行います。 表 5.3-2 キャッシュのエントリ更新 アンロック ヒット 更新しない。 ミス ロック 更新しない。 メモリをロードし , キャッシュの エントリの内容を更新する。 タグミスの場合は更新しない。 サブブロックインバリッドの場合は更新する。 ■ 命令キャッシュのキャッシュ可能領域 • 命令キャッシュは , 外バス空間のみをキャッシュ可能とします。 • DMA 転送で外部メモリの内容が更新されたとしてもキャッシュの内容とのコヒー レンシはとりません。 このような場合はキャッシュをフラッシュすることで , コヒーレンシを保ってくだ さい。 • 各チップセレクトの領域ごとに非キャッシュ領域に設定することができます。この 場合でもキャッシュオフに比べて 1 サイクルのペナルティを受けます 「 ( 8.3 チップ セレクト領域」を参照 ) 。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 139 第 5 章 命令キャッシュ 5.4 命令キャッシュを使用するときの設定方法 5.4 MB91461 命令キャッシュを使用するときの設定方法 命令キャッシュを使用する場合の設定方法を説明します。 ■ 設定手順 命令キャッシュを使用する場合の設定は , 以下の要領で行います。 ● 初期化 命令キャッシュを使い始める一番最初はキャッシュの中身をクリアしておく必要があ ります。 レジスタの FLSH ビットと ELKR ビットを "1" にして , 過去のデータを消去します。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00000110,r1 // に "1" をセット FLSH ビット (bit1) // に "1" をセット ELKR ビット (bit2) stb r1,@r0 // レジスタへ書込み これで , キャッシュが初期化されます。 ● キャッシュを有効 (ON) 化 命令キャッシュを有効にするには ENAB ビットを "1" にします。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00000001,r1 // に "1" をセット ENAB ビット (bit0) stb r1,@r0 // レジスタへ書込み これ以降の命令アクセスがキャッシュに取り込まれて行きます。 キャッシュの有効化は , キャッシュの初期化と同時に行うこともできます。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00000111,r1 // に "1" をセット ENAB ビット (bit0) // に "1" をセット FLSH ビット (bit1) // に "1" をセット ELKR ビット (bit2) stb r1,@r0 // レジスタへ書込み ● キャッシュを無効 (OFF) 化 命令キャッシュを無効にするには ENAB ビットを "0" にします。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00000000,r1 // に "0" をセット ENAB ビット (bit0) stb r1,@r0 // レジスタへ書込み この状態 ( リセット後の状態と同じ ) では , キャッシュはないのと同じで何もしません。 キャッシュのオーバヘッドが気になる処理のときに , OFF にすると処理性能が向上すること があります。 140 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 5 章 命令キャッシュ 5.4 命令キャッシュを使用するときの設定方法 MB91461 ● キャッシュの内容をすべてロック 現在命令キャッシュに入っている命令がキャッシュから追い出されないようにロック します。 レジスタの GBLK ビットを "1" にします。 ENAB ビットも "1" にしておかないと , キャッ シュが OFF になってしまい , キャッシュ内のロックした命令が使われません。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00100001,r1 // に "1" をセット ENAB ビット (bit0) // に "1" をセット GBLK ビット (bit5) stb r1,@r0 // レジスタへ書込み ● 特定の命令をキャッシュにロック 特定の命令群 ( サブルーチンなど ) をキャッシュにロックするには , それらの命令を実 行する前に EOLK ビットを "1" にします。 ロックした命令は高速な内部 ROM のようにアクセスされます。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00001001,r1 // に "1" をセット ENAB ビット (bit0) // に "1" をセット EOLK ビット (bit3) stb r1,@r0 // レジスタへ書込み メモリのウェイト数に依りますが , stb 命令の次以降の命令から有効になります。 ロックしたい命令群が終わった所で EOLK ビットを "0" にします。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00000001,r1 // に "1" をセット ENAB ビット (bit0) // に "0" をセット EOLK ビット (bit3) stb r1,@r0 // レジスタへ書込み ● キャッシュのロック解除 上記 (5) でロックした命令のロック情報を解除します。 ldi #0x000003e7,r0 // 命令キャッシュ制御レジスタのアドレス ldi #0B00000000,r1 // キャッシュディスエーブル stb r1,@r0 // レジスタへ書込み ldi #0B00000100,r1 // に "1" をセット ELKR ビット (bit2) stb r1,@r0 // レジスタへ書込み ロック情報だけ解除されるので , ロックされていた命令は LRU ビットの状態に応じて 順次新しい命令に置き換わります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 141 第 5 章 命令キャッシュ 5.4 命令キャッシュを使用するときの設定方法 MB91461 142 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 第6章 低消費電力モード 低消費電力モードの機能と動作について説明しま す。 6.1 低消費電力モードの概要 6.2 スリープモード 6.3 ストップモード 6.4 シャットダウンモード CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 143 第 6 章 低消費電力モード 6.1 低消費電力モードの概要 6.1 MB91461 低消費電力モードの概要 MB91461 でサポートする 3 つの低消費電力モードについて説明します。 ■ 低消費電力モード ● スリープモード ( プログラム停止状態 ) CPU コア部のクロック供給を停止します。周辺機能は動作を継続します。レジスタ書 込みにより , デバイスがスリープ状態へ遷移します。 ● ストップモード ( デバイス停止状態 ) CPU コアと周辺機能へのクロック供給を停止します。オプションとして , メイン発振 を停止するか継続するかを選択できます。 ● シャットダウンモード ( 電源遮断状態 ) RAM と一部の制御ロジック以外への電源供給をデバイス内部で遮断します。発振は停 止し , クロック供給も停止します。 144 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 6 章 低消費電力モード 6.2 スリープモード MB91461 6.2 スリープモード スリープモードとは , CPU コア部に供給するクロックのみを停止するモードで , CPU は停止し , 周辺機能は動作を続けます。 ● スリープモードの概要 プログラム停止状態です。ソフトウェアでレジスタを設定することにより遷移します。 CPU のプログラム実行のみを停止し , 周辺回路は動作可能な状態です。各所内蔵メモ リおよび内部 / 外部バスは DMA コントローラが要求しない限り停止状態です。有効な 割込み要求の発生により , 本状態は解除され , RUN 状態 ( 通常動作 ) へ遷移します。 ● スリープモードへの移行 STCR (スタンバイ制御レジスタ) のbit6:SLEEPビットに"1"を書き込むとスリープモー ドとなり , スリープ状態へ遷移します。 以降 , スリープ状態からの復帰要因が発生するまでは , スリープ状態を維持します。 STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットと本ビット両方に "1" を書き込ん だ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。 スリープモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ 制御レジスタの bit8:SYNCS ビットにて設定します ) を使用した上で , 以下のシーケン スを必ず使用してください。 (LDI #value_of_sleep,R0);value_of_sleep は , STCR へのライトデータ (LDI #_STCR,R12) ;_STCR は , STCR のアドレス (481H) STB ;スタンバイ制御レジスタ (STCR) への書込み R0,@R12 LDUB @R12,R0 ;同期スタンバイのための STCR リード LDUB @R12,R0 ;もう一度 STCR をダミーリード NOP ; タイミング調整用の NOP × 5 NOP NOP NOP NOP 〔スリープ状態で停止する回路〕 • CPU のプログラム実行 • ビットサーチモジュール (DMA 転送が発生した場合は動作します。) • 各種内蔵メモリ (DMA 転送が発生した場合は動作します。) • 内部 / 外部バス (DMA 転送が発生した場合は動作します。) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 145 第 6 章 低消費電力モード 6.2 スリープモード MB91461 〔スリープ状態で停止しない回路〕 • 発振回路 • 動作許可された PLL • クロック発生制御部 • 割込みコントローラ • 周辺回路 • DMA コントローラ • DSU • インターバルタイマ 〔スリープ状態からの復帰要因〕 • 有効な割込み要求の発生 割込み禁止 (1FH) 以外の割込みレベルの割込み要求が発生すると , スリープモー ドは解除され , RUN 状態 ( 通常状態 ) へ遷移します。 割込み要求が発生しても , スリープモードを解除したくない場合は , 該当する ICR に割込みレベルとして割込み禁止 (1FH) を設定してください。 • 設定初期化リセット (INIT) 要求の発生 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 • 動作初期化リセット (RST) 要求の発生 動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット (RST) 状態へ遷移します。 各要因の優先順位については ,「4.5.1 デバイス状態と各遷移」を参照してください。 〔同期スタンバイ動作〕 タイムベースカウンタ制御レジスタ (TBCR) の bit8:SYNCS ビットに "1" が設定して ある場合 , 同期スタンバイ動作が許可されます。この場合 , SLEEP ビットへの書込 みのみではスリープ状態へは遷移しません。その後 , STCR レジスタを読み出すこ とによってスリープ状態へ遷移します。 146 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 6 章 低消費電力モード 6.3 ストップモード MB91461 6.3 ストップモード ストップモードとは , CPU コア部と周辺機能に供給するクロックを停止するモード です。 STCR ( スタンバイ制御レジスタ ) の bit7:STOP ビットに "1" を書き込むとストップモー ドとなり , ストップ状態へ遷移します。以降 , ストップ状態からの復帰要因が発生する まではストップ状態を維持します。 STCR ( スタンバイ制御レジスタ ) の bit6:SLEEP ビットと本ビットの両方に "1" を書き 込んだ場合は , bit7:STOP ビットの方が優先となり , ストップ状態へ遷移します。 〔ストップ状態で停止する回路〕 停止するように設定された発振回路 : STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると き , ストップ状態中のメインクロック用発振回路を停止状態にします。このとき , インターバルタイマも停止します。 動作許可されていないか , 停止するように設定された発振回路に接続された PLL : STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "1" が設定してあると き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定 してあっても , ストップ状態中のメインクロック用 PLL を停止状態にします。 〔ストップ状態で停止しない回路〕を除くすべての内部回路 〔ストップ状態で停止しない回路〕 停止するように設定されていない発振回路 : STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると き , ストップ状態中のメインクロック用発振回路は停止しません。このときイン ターバルタイマも停止しません。 動作許可されていて , かつ停止するように設定されていない発振回路に接続された PLL : STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると き , CLKR ( クロックソース制御レジスタ ) の bit10:PLL1EN ビットに "1" が設定 してあると , ストップ状態中のメインクロック用 PLL は停止しません。 〔ストップ状態での端子のハイインピーダンス制御〕 STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "1" が設定してあると , ストッ プ状態中の端子出力をハイインピーダンス状態にします。 STCR ( スタンバイ制御レジスタ ) の bit5:HIZ ビットに "0" が設定してあると , ストッ プ状態中の端子出力はストップ状態への遷移前の値を保持します。詳細は「4.3.6 ク ロック生成制御部のレジスタ詳細説明」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 147 第 6 章 低消費電力モード 6.3 ストップモード MB91461 〔ストップ状態での周辺リソースへの入力 ] ストップ状態では , 各周辺リソースへの入力は "0" になります。また , 外部割込み (INTn) および CAN の受信 (RXn) 端子については , 対応する PFR を "0" とすると , 各 リソースの入力は "0" になりますが , PFR = 1 とすることにより , 端子からの信号が リソースにつながります。 〔ストップ状態からの復帰要因〕 特定の ( クロックを必要としない ) 有効な割込み要求の発生 : 外部割込み入力端子 (INTn 端子 ) , メイン発振中のインターバルタイマ割込みの み有効です。 割込み禁止(1FH)以外の割込みレベルの割込み要求が発生するとストップモード は解除され , RUN 状態 ( 通常状態 ) へ遷移します。 割込み要求が発生してもストップモードを解除したくない場合は , 該当する ICR に割込みレベルとして割込み禁止 (1FH) を設定してください。割込み要求レベル (ELVR レジスタ ) にエッジ検出は設定しないでください。 インターバルタイマ割込み : STCR ( スタンバイ制御レジスタ ) の bit0:OSCD1 ビットに "0" が設定してあると き , インターバルタイマの割込み要求が発生するとストップモードは解除され , RUN 状態 ( 通常状態 ) へ遷移します。 割込み要求が発生してもストップモードを解除したくない場合は , インターバ ルタイマを停止させるか , インターバルタイマの割込み許可ビットを割込み禁 止に設定してください。 設定初期化リセット (INIT) 要求の発生 : 設定初期化リセット (INIT) 要求が発生すると , 無条件で設定初期化リセット (INIT) 状態へ遷移します。 動作初期化リセット (RST) 要求の発生 : 動作初期化リセット (RST) 要求が発生すると , 無条件で動作初期化リセット (RST) 状態へ遷移します。 〔ストップモード時のクロックソース選択〕 ストップモードを設定する前に , PLL の出力を選択しないようにあらかじめ設定し ておいてください。分周比の設定に関しては , 通常動作時と制限事項は変わりませ ん。 148 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 6 章 低消費電力モード 6.4 シャットダウンモード MB91461 6.4 シャットダウンモード シャットダウンモードとは , RAM と一部の制御ロジック以外の電源供給を停止する モードで , スタンバイ時のリーク電流を大幅に低減できます。 シャットダウンモードでは内蔵 RAM* およびシャットダウン復帰要因フラグ以外のレ ジスタの設定は保持されません。必要な情報は RAM に残した上でシャットダウンモー ドへ移行する必要があります。外部バスのコントロール信号を出力保持する以外はす べての出力をハイインピーダンスの状態にします。本モードからの復帰は , あらかじめ 指定された外部割込み信号のアサートあるいは INITX( 外部リセット端子 ) のアサート により行います。NMI 入力での復帰はできません。 * 命令 / データ兼用の ID-RAM 64 K バイト (0003:0000H ∼ 0003:FFFFH) です。 ● SHDE: シャットダウン制御レジスタ 図 6.4-1 シャットダウン制御レジスタ アドレス : 0004D4H bit リード / ライト 初期値 7 6 5 4 3 2 1 0 SDENB ― ― ― ― ― ― ― R/W ― X ― X ― X ― X ― X ― X ― X X X X X 0 (INITX 端子 , シャットダウンモードからのリセット ) 初期値 保持 X X X ( ソフトウェアリセット , ウォッチドッグリセット ) シャットダウンモードを有効にするためのレジスタです。 SDENB (bit7): シャットダウンイネーブル 1: シャットダウンモード有効 2: シャットダウンモード無効 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 149 第 6 章 低消費電力モード 6.4 シャットダウンモード MB91461 ● EXTE: 外部割込みイネーブルレジスタ 図 6.4-2 外部割込みイネーブルレジスタ アドレス : 0004D6H bit リード / ライト 7 6 5 4 3 2 1 0 RX1 RX0 INT7 INT6 INT3 INT2 INT1 INT0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 保持 保持 保持 保持 初期値 (INITX 端子 , シャットダウンモードからのリセット ) 初期値 保持 保持 保持 保持 ( ソフトウェアリセット , ウォッチドッグリセット ) シャットダウンモードからの復帰要因を選択するためのレジスタです。 復帰要因として有効にするには , 割込みあるいは CAN の受信信号 (RX) に対応する本 レジスタのビットに "1" を設定してください。シャットダウンモードからの復帰 ( リス タート ) で本レジスタの各ビットはクリアされるので , シャットダウンモードに入る前 に毎回設定する必要があります。 ● EXTF: 外部割込み要因フラグ 図 6.4-3 外部割込み要因フラグ アドレス : 0004D7H bit リード / ライト 初期値 7 6 5 4 3 2 1 0 RX1 RX0 INT7 INT6 INT3 INT2 INT1 INT0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 保持 保持 保持 保持 保持 保持 保持 保持 (INITX 端子 ) 初期値 ( ソフトウェアリセット , シャットダウンモードからのリセット , ウォッチドッグリセット ) シャットダウンモードからの復帰要因を示すレジスタです。 復帰要因として有効な入力があった場合に対応するフラグに "1" が設定されます。本 レジスタは "0" 書込みのみ可能です。これらのフラグのクリアは , CPU 命令により "0" を設定する , もしくは INITX 端子によるリセットで行います。 シャットダウン後に一番初めの要因が受け付けられると , その情報はフラグに保持さ れ , 直ち ( 約 100μs 後 ) に復帰のためのリセットシーケンスを始めます。これにより , 複数の復帰要因がある場合であっても , 時間差がある場合には後続の要因は受け付け られず , フラグも保持されません。 150 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 6 章 低消費電力モード 6.4 シャットダウンモード MB91461 ● EXTLV1: 外部割込みレベルレジスタ 図 6.4-4 外部割込みレベルレジスタ アドレス : 0004D8H bit リード / ライト 7 6 5 4 3 2 1 0 LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 保持 保持 保持 保持 初期値 (INITX 端子 , シャットダウンモードからのリセット ) 初期値 保持 保持 保持 保持 ( ソフトウェアリセット , ウォッチドッグリセット ) ● EXTLV2: 外部割込みレベルレジスタ 図 6.4-5 外部割込みレベルレジスタ アドレス : 0004D9H bit リード / ライト 初期値 7 6 5 4 3 2 1 0 LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 保持 保持 保持 保持 (INITX 端子 , シャットダウンモードからのリセット ) 初期値 保持 保持 保持 保持 ( ソフトウェアリセット , ウォッチドッグリセット ) シャットダウンモードからの復帰要因の割込みレベルを指定するためのレジスタで す。 表 6.4-1 外部割込みレベルレジスタ LBx LAx 0 0 "L" レベル ( 初期値 ) 0 1 "H" レベル 1 0 設定禁止 1 1 設定禁止 割込みレベル <注意事項> シャットダウンモードからの割込みレベルに対しては , "L" レベルまたは "H" レベルのみ 設定可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 151 第 6 章 低消費電力モード 6.4 シャットダウンモード MB91461 ● シャットダウンモードへの移行 シャットダウンモードに遷移するには , 以下の手順が必要です。 1) EXTLV1, EXTLV2 ( 外部割込みレベルレジスタ ) でシャットダウンモードからの 復帰に使用する割込みの信号レベルを設定してください。 2) SHDE ( シャットダウン制御レジスタ ) の SDENB ビットに "1" を設定し , シャッ トダウンモードを有効にしてください。 3) EXTE( 外部割込みイネーブルレジスタ ) で復帰に使用する外部割込みチャネル を設定してください。あらかじめ , SHDE ビットに "1" が設定されていないと , 復帰チャネルを "1" に設定できません。 4) ストップモードへ移行する場合と同様の命令列を実行してください。1) ∼ 3) を 実行しておくことにより , 次の命令シーケンスの実行後 , シャットダウンモード に移行します。 (LDI #value_of_stop, R0) ; value_of_stop は 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 シャットダウンモード中は , 外部バスの制御信号はシャットダウンに移行する直前の 値を保持しますが , それ以外のすべての出力は Hi-Z 状態になります。シャットダウン からの復帰用端子の入力はその復帰要因を受け付けるまでの間 , 入力しきい値とプル アップ / プルダウンの設定を保持します。また , 本モードの間 , 水晶発振は発振を停止 し , 内部ロジックへの電源供給も RAM* およびシャットダウン制御ロジックを除いて 停止します。 *: 命令 / データ兼用の ID-RAM 64 K バイト (0003:0000H ∼ 0003:FFFFH) です。 152 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 6 章 低消費電力モード 6.4 シャットダウンモード MB91461 [ シャットダウンモード中の端子状態 ] 表 6.4-2 シャットダウンモード中の端子状態 端子名 端子状態 WDRESETX ASX CS0X, CS1X, CS2X, CS3X, CS4X IORDX IOWRX RDX WR0X, WR1X BGRNTX シャットダウンモード移行直前の状態を保持します。 INT0, INT1, INT2, INT3, INT6, INT7, RX0/INT8, RX1/INT9 シャットダウン中は入力しきい値の設定およびプル アップ / プルダウンの設定を継続します。 最初の復帰要因を受け付けた後 , リセットへ移行す る際に初期値に戻されます。 SYSCLK Hi-Z 状態になります。 その他の端子 Hi-Z 状態になります。 プルアップ / プルダウンの設定は初期値になります。 ● シャットダウンモードからの復帰 外部割込みイネーブルレジスタで設定した外部割込み端子に有効なレベルが入力され ると , リセットがかかります。その後 , 内部ロジックへの電源供給開始 , 発振安定待ち を経て復帰します。その際 , シャットダウンからの復帰要因は , 外部割込み要因フラグ レジスタ (EXTF) に保持されます。このフラグレジスタの値を初期設定ルーチン内で判 定することにより , 初期電源投入時の処理とシャットダウンモード復帰時の処理とを ソフトウェアで判定することが可能です。最初の復帰要因が入力され , 復帰処理を行っ ている最中に入力された割込みについては要因を保持しません。 [ 割込み端子による復帰 ] シャットダウンモードでの復帰要因は , 初めの要因が受け付けられるとフラグに保 持され , リセットシーケンスが走り始めます。複数の復帰要因が入力された場合で も , 時間差がある場合 , 後続の要因が受け付けられず , フラグにも保持されません。 シャットダウンの復帰要因を受け付けると , すべての端子はリセット状態に戻され ます。すなわち , 復帰用端子の入力しきい値設定 , プルアップ / プルダウン設定も初 期状態に戻されます。 復帰要因を受け付けた後は以下の手順を経て起動します。 1) 内部降圧レギュレータからの電源供給再開 2) 発振安定待ち 3) リセット解除 , モードベクタフェッチ , リセットベクタフェッチ シャットダウン中 , 復帰用端子の入力しきい値は , シャットダウン前の設定値が継 続されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 153 第 6 章 低消費電力モード 6.4 シャットダウンモード MB91461 割込みからの復帰を行う場合 , 割込み要求レベル設定レジスタ (ELVR) でエッジ検 出は使用できません。 [INITX 端子による復帰 ] INITX 端子に "L" レベルを入力することによりリセットがかかります。この場合は , すべての割込み要因フラグはクリアされます。 割込み端子による復帰と異なり , INITX 端子で復帰する場合には発振安定待ち時間 は確保されません。INITX を 8ms 以上入力し , 発振安定待ち時間を確保してくださ い。 <注意事項> シャットダウンモードからの復帰として NMI を使用することはできません。 シャットダウン中は RTC も動作を停止します。 • 割込み要因として, レベルを使用する場合は, 最低500μsのレベルを入力してください。 本規格を満たせない場合 , MCU が誤動作します。 シャットダウンからの復帰には , エッ ジを使用する事を推奨します。 154 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第7章 ハードウェアウォッチ ドッグタイマ ハードウェアウォッチドッグタイマの機能につい て説明します。 7.1 ハードウェアウォッチドッグタイマの概要 7.2 ハードウェアウォッチドッグタイマの構成 7.3 ハードウェアウォッチドッグタイマのレジスタ 7.4 ハードウェアウォッチドッグタイマの機能 7.5 ハードウェアウォッチドッグタイマ使用上の注意 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 155 第 7 章 ハードウェアウォッチドッグタイマ 7.1 ハードウェアウォッチドッグタイマの概要 7.1 MB91461 ハードウェアウォッチドッグタイマの概要 ハードウェアウォッチドッグタイマは , 内部カウンタが一定期間クリアされない場 合にリセット信号 ( 設定初期化リセット ) を発行します。 ■ ハードウェアウォッチドッグタイマ ハードウェアウォッチドッグタイマは , CPU 動作監視用のモジュールです。このタイ マは設定初期化リセット (INIT) 後 , 直ちにカウントアップを開始します。プログラム 実行を継続させるには一定期間内に定期的にこのタイマをクリアする必要がありま す。無限ループに陥った場合などでカウンタが一定期間以上クリアされない場合はリ セット信号が発行されます。 外部端子 WDRESETX に出力される "L" パルス幅は原発振クロックの 128 サイクル分 , 内部リセットは 1024 サイクル分の幅となります。 <注意事項> CPU が下記のような動作を停止するモード ( スタンバイモード ) へ遷移した場合は , 本モ ジュールの動作も停止します。 • スリープモード : CPU 停止 , 周辺回路動作 • ストップモード : CPU および周辺回路停止 • シャットダウンモード : CPU および周辺回路停止 • RTC モード : CPU および RTC モジュールを除く周辺回路停止 , 発振子動作 • デバッグモード : DSU ( デバッグサポートユニット ) によりブレークが発生し , デバッグルーチンが走行しているとき。 下記条件のいずれかを満たすことにより , ハードウェアウォッチドッグタイマはクリアさ れます。 • HWDCS レジスタの CL ビットへの "0" 書込み • リセット • 発振停止 • スリープ / ストップ / シャットダウンモード , RTC モード , デバッグモードのいずれか へ遷移 156 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 7 章 ハードウェアウォッチドッグタイマ 7.2 ハードウェアウォッチドッグタイマの構成 MB91461 7.2 ハードウェアウォッチドッグタイマの構成 ハードウェアウォッチドッグタイマは , 以下の 2 つの回路で構成されます。 • ウォッチドッグタイマ • ハードウェアウォッチドッグタイマ制御レジスタ ■ ハードウェアウォッチドッグタイマのブロックダイヤグラム 図 7.2-1 ハードウェアウォッチドッグタイマのブロックダイヤグラム X0入力 (水晶発振回路) 1/2 カウンタ リセット信号 FF クリア 予約 予約 予約 予約 CL 予約 予約 CPUF 内部バス ● ウォッチドッグタイマ CPU 動作を監視するためのタイマです。リセット解除後は定期的にクリアしてくださ い。 ● ハードウェアウォッチドッグタイマ制御レジスタ このレジスタにはリセットフラグとタイマのクリアビットがあります。 ● リセット発行 タイマがある一定期間以上クリアされない場合 , ハードウェアウォッチドッグタイマ モジュールは設定初期化リセット (INIT) を発行します。内部リセット信号の幅は原発 振クロックの 1024 周期分となります。 ● ウォッチドッグタイマの動作クロック ウォッチドッグタイマの動作クロックは , X0 からのクロック ( 外部入力あるいは水晶発振 ) です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 157 第 7 章 ハードウェアウォッチドッグタイマ 7.3 ハードウェアウォッチドッグタイマのレジスタ 7.3 MB91461 ハードウェアウォッチドッグタイマのレジスタ ハードウェアウォッチドッグタイマ制御レジスタには , リセットフラグとウォッチ ドッグタイマクリアビットがあります。 ■ ハードウェアウォッチドッグタイマ制御レジスタ 図 7.3-1 ハードウェアウォッチドッグタイマ制御レジスタ HWDCS bit アドレス : 0004C7H リード / ライト 初期値 7 6 5 4 3 2 1 0 予約 R/W 0 予約 R/W 0 予約 R/W 0 予約 R/W 1 CL 予約 R/W 0 予約 R/W 0 CPUF W 1 R/W 0 [bit7 ∼ bit4] 予約 : 予約ビット これらのビットは予約ビットです。 必ず , 0001B を設定してください。 [bit3] CL: タイマクリアビット ウォッチドッグタイマクリアビットです。 このビットに "0" を書き込むことによって , ウォッチドッグタイマはクリアされま す。 読出し値は常に "1" です。"1" 書込みは無効です。 [bit2, bit1] 予約 : 予約ビット これらのビットは予約ビットです。 必ず , 00B を設定してください。 [bit0] CPUF: CPU リセットフラグ ウォッチドッグタイマにオーバフローが発生すると , このビットは "1" に設定され ます。 "0" 書込みによりこのビットはクリアされます。"1" 書込みは無効です。 外部リセット入力 (INITX) により初期化されますが , 内部リセット ( ソフトウェア リセット ) では初期化されません。 158 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 7 章 ハードウェアウォッチドッグタイマ 7.3 ハードウェアウォッチドッグタイマのレジスタ MB91461 ■ ハードウェアウォッチドッグタイマ期間レジスタ 図 7.3-2 ハードウェアウォッチドッグタイマ期間レジスタ HWWDE bit アドレス : 0004C7H リード / ライト 初期値 7 6 5 4 3 2 1 0 予約 予約 予約 予約 予約 予約 ED1 ED0 − − R/W 0 R/W 0 − − − − − − − − − − [bit7 ∼ bit2] 予約 : 予約ビット これらのビットは予約ビットです。 [bit1, bit0] ED : ウォッチドッグ期間設定 このビットによりウォッチドッグ期間を設定します。 ED1 ED0 機能 0 0 ウォッチドッグ周期を 216 × CR クロックサイクルとする ( 初期値 ) 0 1 ウォッチドッグ周期を 217 × CR クロックサイクルとする 1 0 ウォッチドッグ周期を 218 × CR クロックサイクルとする 1 1 ウォッチドッグ周期を 219 × CR クロックサイクルとする <注意事項> • この機能は MB91461 では使用できません。 • MB91V460 では CR 発振により動作しますが , 周期は初期値から変更できません (216 × CR から変更できません )。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 159 第 7 章 ハードウェアウォッチドッグタイマ 7.4 ハードウェアウォッチドッグタイマの機能 7.4 MB91461 ハードウェアウォッチドッグタイマの機能 一定期間以上ウォッチドッグタイマがクリアされない場合は , 設定初期化リセット (INIT) が発行されます。この場合 , CPU のレジスタ値は保証されません。 ■ ハードウェアウォッチドッグタイマの機能 リセット解除後 , 安定時間を待たずにハードウェアウォッチドッグタイマはカウント アップを開始します。一定期間タイマがクリアされず , カウンタがオーバフローすると 設定初期化リセット (INIT) が発行されます。 ■ ハードウェアウォッチドッグタイマの周期 ハードウェアウォッチドッグタイマのビット長は 23 ビットで , オーバフロー周期は 932.1ms ( 原発振 18MHz 時 ) です。 表 7.4-1 ハードウェアウォッチドッグタイマの周期 9MHz 18MHz 0.22μs 0.11μs ウォッチドッグタイマ周期 1864.1ms 932.1ms WDRESETX 出力パルス幅 14.22μs 7.11μs WDRESETX アサート後 , 外部バスサイクル の開始まで 113.78μs 56.89μs ウォッチドッグタイマ 動作クロック周期 ■ ウォッチドッグタイマオーバフロー時のリセットタイミング 図 7.4-1 ウォッチドッグタイマオーバフロー時のリセットタイミング (18MHz発振時) 7.11µs WDRESETX 内部リセット 160 56.89µs FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 7 章 ハードウェアウォッチドッグタイマ 7.4 ハードウェアウォッチドッグタイマの機能 MB91461 ■ WDRESETX の端子出力について WDRESETX 端子にはハードウェアウォッチドッグタイマのオーバフロー時の "L" パル スが出力されるほか , 外部リセット入力 (INITX)によっても "L"レベルが出力されます。 WDRESETX 端子と外付けのフラッシュメモリの RESET 端子と接続することにより , ウォッチドッグリセットが発生した場合にフラッシュメモリが書込み / 消去モードに ある場合でも読出しモードへ復帰します。 WDRESETX 端子には CPU コア部内蔵のソフトウェア起動のウォッチドッグタイマに よるリセットとソフトウェアリセットではパルスは出力されません。したがって , フ ラッシュメモリの書込み / 消去モードからの復帰にはこれらのリセット要因は使用で きません。 <注意事項> MB91V460 に WDRESETX 出 力 は あ り ま せ ん。ICE を 使 用 し て 動 作 さ せ る 場 合 は WDRESETX 出力が使用できませんので注意してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 161 第 7 章 ハードウェアウォッチドッグタイマ 7.5 ハードウェアウォッチドッグタイマ使用上の注意 7.5 MB91461 ハードウェアウォッチドッグタイマ使用上の注意 ハードウェアウォッチドッグタイマ使用上の注意について説明します。 ■ ハードウェアウォッチドッグタイマ使用上の注意 ● ソフトウェアでの停止不可 ウォッチドッグタイマはリセット解除後 , 直ちに動作を開始します。ソフトウェアでは カウントを停止することはできません。 ● リセット抑止 ハードウェアウォッチドッグリセットを抑止するにはタイマのクリアが必要です。 ハードウェアウォッチドッグタイマ制御レジスタの CL ビットに "0" が書き込まれると タイマはいったんクリアされ , リセットの発行が抑止されます。 ● タイマの停止とクリア CPU が動作しないモード ( スリープモード , ストップモード , シャットダウンモード , RTC モード ) の場合 , 遷移前にタイマはクリアされてカウントは停止します。また , DSU 経由でデバッグルーチンが走行する場合 , ウォッチドッグタイマはクリアされて カウントは停止します。 ● DMA 転送中の動作 内部の D-bus に接続された周辺リソースへの DMA 転送中は DMAC がバスを占有して しまうため CL ビットへの "0" 書込みはできません。したがって , DMA 転送時間が ウォッチドッグ周期より長い場合はリセットが発行されます。 162 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第8章 外部バスインタフェース 外部バスインタフェースの各機能について説明し ます。 8.1 外部バスインタフェースの特長 8.2 外部バスインタフェースのレジスタ 8.3 チップセレクト領域 8.4 エンディアンとバスアクセス 8.5 通常バスインタフェース 8.6 アドレス / データマルチプレックスインタフェース 8.7 DMA アクセス 8.8 レジスタ設定手順 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 163 第 8 章 外部バスインタフェース 8.1 外部バスインタフェースの特長 8.1 MB91461 外部バスインタフェースの特長 外部バスインタフェースの特長について説明します。 ■ 外部バスインタフェースの特長 • 最大 24 ビット長のアドレス出力 • 各種外部メモリ (8 ビット /16 ビット ) を直結できるほか , 複数のアクセスタイミン グを混在制御可能 - 非同期 SRAM, 非同期 ROM/ フラッシュメモリ ( 複数ライトストローブ方式 ) - アドレス / データマルチプレックスバス (8 ビット /16 ビット幅のみ ) • 独立した 5 個のバンク ( チップセレクト領域 ) を設定でき , それぞれに対応したチッ プセレクト出力が可能 - CS0 ∼ CS4 は , 64K バイト∼ 2048M バイト単位で , 00040000H ∼ 00FFFFFFH の空 間に設定可能 - 領域サイズによりバウンダリの制限あり • チップセレクト領域ごとに以下の機能を独立に設定可能 - チップセレクト領域の許可・禁止 ( 禁止された領域はアクセスを行いません ) - 各種メモリ対応などのアクセスタイミングタイプ設定 - 詳細アクセスタイミング設定 ( ウェイトサイクルなどのアクセスタイプ個別設定 ) - データバス幅設定 (8 ビット /16 ビット ) • アクセスタイミングタイプごとに異なる詳細なタイミングを設定可能 - 同一タイプでもチップセレクト領域ごとに異なる設定が混在可能 - オートウェイトは , 最大 7 サイクルまで設定可能 ( 非同期 SRAM, ROM, Flash, I/O 領域 ) - 外部 RDY 入力によるバスサイクルの延長が可能 ( 非同期 SRAM, ROM, Flash, I/O 領域 ) - 各種アイドル・リカバリサイクル , セットアップ遅延などの挿入が可能 164 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.1 外部バスインタフェースの特長 MB91461 ■ 外部バスインタフェースのブロックダイヤグラム 図 8.1-1 に , 外部バスインタフェースのブロックダイヤグラムを示します。 図 8.1-1 外部バスインタフェースのブロックダイヤグラム 内部 内部 アドレスバス データバス 32 32 / / A-OUT MUX ライト バッファ スイッチ リード バッファ スイッチ 外部 データバス データブロック アドレスブロック +1または+2 外部 アドレスバス アドレス バッファ コンパ レータ ASR ASZ 外部端子制御部 全ブロック制御 レジスタ & 制御 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED CS0X~CS4X ASX, RDX WR0X, WR1X BRQ BGRNTX RDY SYSCLK 165 第 8 章 外部バスインタフェース 8.1 外部バスインタフェースの特長 MB91461 ■ I/O ピン 外部バスインタフェースの端子です。 〔通常バスインタフェース〕 A23 ∼ A00, D31 ∼ D16 (AD15 ∼ AD00) CS0X, CS1X, CS2X, CS3X, CS4X ASX, SYSCLK, RDX, WR0X, WR1X, WEX RDY, BRQ, BGRNTX <注意事項> MB91461 には MCLKE, MCLKI, MCLKO, BAAX はありません。 ■ 外部バスインタフェースのレジスタ一覧 図 8.1-2 に , 外部バスインタフェースのレジスタ構成を示します。 図 8.1-2 外部バスインタフェースのレジスタ構成 アドレス bit 31 24 23 16 15 8 7 000640H ASR0 ACR0 000644H ASR1 ACR1 000648H ASR2 ACR2 00064CH ASR3 ACR3 000650H ASR4 ACR4 000660H AWR0 AWR1 000664H AWR2 AWR3 000668H AWR4 予約 0 000678H IOWR0 IOWR1 IOWR2 予約 000680H CSER CHER 予約 TCR 0007FCH 予約 MODR* 予約 予約 予約 : 予約レジスタです。書き換える場合には , 必ず "0" を設定してください。 * : MODR はユーザプログラムからはアクセスできません。 166 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 8.2 外部バスインタフェースのレジスタ 外部バスインタフェースのレジスタについて説明します。 ■ 外部バスインタフェースのレジスタ概要 外部バスインタフェースには , 以下の 7 種類のレジスタがあります。 • 領域選択レジスタ (ASR0 ∼ ASR4) • 領域構成レジスタ (ACR0 ∼ ACR4) • 領域ウェイトレジスタ (AWR0 ∼ AWR4) • DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) • チップセレクト領域許可レジスタ (CSER) • キャッシュイネーブルレジスタ (CHER) • 端子 / タイミングコントロールレジスタ (TCR) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 167 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ 8.2.1 MB91461 領域選択レジスタ (ASR0 ∼ ASR4) 領域選択レジスタの詳細を説明します。 ■ 領域選択レジスタ (ASR0 ∼ ASR4) のレジスタ構成 図 8.2-1 に , 領域選択レジスタ (ASR0 ∼ ASR4) のレジスタ構成を示します。 図 8.2-1 領域選択レジスタ (ASR0 ∼ ASR4) のレジスタ構成 ASR0 000640H bit15 A31 ... ... 8 A24 7 A23 6 A22 ... ... 1 A17 0 A16 初期値 INIT 時 RST 時 0000H 0000H アクセス ASR1 000644H bit15 A31 ... ... 8 A24 7 A23 6 A22 ... 1 A17 0 A16 XXXXH 00XXH R/W ASR2 000648H bit15 A31 ... ... 8 A24 7 A23 6 A22 ... 1 A17 0 A16 XXXXH XXXXH R/W ASR3 00064CH bit15 A31 ... ... 8 A24 7 A23 6 A22 ... 1 A17 0 A16 XXXXH 00XXH R/W ASR4 000650H bit15 A31 ... ... 8 A24 7 A23 6 A22 ... 1 A17 0 A16 XXXXH 00XXH R/W R/W [bit15 ∼ bit0] A31 ∼ A16 : 領域開始アドレス ASR0 ∼ ASR4 ( 領域選択レジスタ 0 ∼ 4) は , CS0X ∼ CS4X の各チップセレクト領 域の開始アドレスを指定します。 開始アドレスは , A31 ∼ A16 の上位 16 ビットを設定できます。各チップセレクト 領域は , このレジスタに設定されたアドレスから始まり , ACR0 ∼ ACR4 レジスタ の ASZ3 ∼ ASZ0 ビットで設定された範囲をとります。 各チップセレクト領域のバウンダリは , ACR0 ∼ ACR4 レジスタの ASZ3 ∼ ASZ0 ビットの設定に従います。例えば , ASZ3 ∼ ASZ0 ビットにより , 1M バイトの領域 を設定した場合は , ASR0 ∼ ASR4 レジスタの下位 4 ビットは無視され , A23 ∼ A20 ビットのみ意味があります。 ASR0 レジスタは , INIT および RST により , 0000H に初期化されます。ASR1 ∼ ASR4 は , INIT および RST によっては初期化されずに不定となります。LSI の動作開始 後 , CSER レジスタにより各チップセレクト領域を有効にする前に , 必ず対応する ASR レジスタを設定してください。 168 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 8.2.2 領域構成レジスタ (ACR0 ∼ ACR4) 領域構成レジスタの詳細を説明します。 ■ 領域構成レジスタ (ACR0 ∼ ACR3) のレジスタ構成 図 8.2-2 に , 領域構成レジスタ (ACR0 ∼ ACR3) のレジスタ構成を示します。 図 8.2-2 領域構成レジスタ (ACR0 ∼ ACR3) のレジスタ構成 14 13 12 11 10 9 8 ACR0 上位 bit15 000642H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 初期値 INIT 時 RST 時 1111**00B 1111**00B 6 5 ACR0 下位 bit7 000643H SREN PFEN WREN 00000000B 4 0 3 2 1 0 TYP3 TYP2 TYP1 TYP0 00000000B アクセス R/W R/W 14 13 12 11 10 9 8 ACR1 上位 bit15 000646H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB R/W 6 5 4 3 2 1 0 ACR1 下位 bit7 000647H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB R/W 14 13 12 11 10 9 8 ACR2 上位 bit15 00064AH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB R/W 6 5 4 3 2 1 0 ACR2 下位 bit7 00064BH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB R/W 14 13 12 11 10 9 8 ACR3 上位 bit15 00064EH ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB R/W 6 5 4 3 2 1 0 ACR3 下位 bit7 00064FH SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB R/W 14 13 12 11 10 9 8 ACR4 上位 bit15 000652H ASZ3 ASZ2 ASZ1 ASZ0 DBW1 DBW0 BST1 BST0 XXXXXXXXB XXXXXXXXB R/W 6 5 4 3 2 1 0 ACR4 下位 bit7 000653H SREN PFEN WREN LEND TYP3 TYP2 TYP1 TYP0 XXXXXXXXB XXXXXXXXB R/W ACR0 ∼ ACR4 (Area Configuration Register 0 ∼ 4) は , 各チップセレクト領域の機能を設 定します。 ACR0 の DBW1, DBW0 ビットの初期値はモードベクタの WTH ビットの値が書き込ま れます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 169 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit15 ∼ bit12] ASZ3 ∼ ASZ0 : Area SiZe ビット 3 ∼ 0 表 8.2-1 に , Area Size ビットの各チップセレクト領域のサイズを示します。 表 8.2-1 Area Size ビットの各チップセレクト領域のサイズ ASZ3 ASZ2 ASZ1 ASZ0 各チップセレクト領域のサイズ 0 0 0 0 64K バイト (00010000H バイト , ASR A31 ∼ A16 ビット指定が有効 ) 0 0 0 1 128K バイト (00020000H バイト , ASR A31 ∼ A17 ビット指定が有効 ) 0 0 1 0 256K バイト (00040000H バイト , ASR A31 ∼ A18 ビット指定が有効 ) 0 0 1 1 512K バイト (00080000H バイト , ASR A31 ∼ A19 ビット指定が有効 ) 0 1 0 0 1M バイト (00100000H バイト , ASR A31 ∼ A20 ビット指定が有効 ) 0 1 0 1 2M バイト (00200000H バイト , ASR A31 ∼ A21 ビット指定が有効 ) 0 1 1 0 4M バイト (00400000H バイト , ASR A31 ∼ A22 ビット指定が有効 ) 0 1 1 1 8M バイト (00800000H バイト , ASR A31 ∼ A23 ビット指定が有効 ) 1 0 0 0 16M バイト (01000000H バイト , ASR A31 ∼ A24 ビット指定が有効 ) 1 0 0 1 32M バイト (02000000H バイト , ASR A31 ∼ A25 ビット指定が有効 ) 1 0 1 0 64M バイト (04000000H バイト , ASR A31 ∼ A26 ビット指定が有効 ) 1 0 1 1 128M バイト (08000000H バイト , ASR A31 ∼ A27 ビット指定が有効 ) 1 1 0 0 256M バイト (10000000H バイト , ASR A31 ∼ A28 ビット指定が有効 ) 1 1 0 1 512M バイト (20000000H バイト , ASR A31 ∼ A29 ビット指定が有効 ) 1 1 1 0 1024M バイト (40000000H バイト , ASR A31 ∼ A30 ビット指定が有効 ) 1 1 1 1 2048M バイト (80000000H バイト , ASR A31 ビット指定が有効 ) ASZ3 ∼ ASZ0 では , ASR とのアドレス比較のビット数を変更させることにより , 各 領域のサイズを設定します。そのため , ASR には比較されないビットが存在します。 ACR0 の ASZ3 ∼ ASZ0 ビットは RST により 1111B に初期化されますが , この設定 にかかわらず RST 直後の CS0 領域は特別に 00000000H から FFFFFFFFH ( 全領域 ) に設定されています。ACR0 への最初の書込み後より , 全領域設定が解除されて上 記の表に従ったサイズに設定されます。 170 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit11, bit10] DBW1, DBW0 : Data Bus Width1, 0 表 8.2-2 に , DBW ビットの各チップセレクト領域のデータバス幅を示します。 表 8.2-2 DBW ビットの各チップセレクト領域のデータバス幅 DBW1 DBW0 0 0 8 ビット ( バイトアクセス ) 0 1 16 ビット ( ハーフワードアクセス ) 1 0 予約 設定禁止 1 1 予約 設定禁止 データバス幅 ACR0 の DBW1, DBW0 ビットは , リセットシーケンス中にモードベクタの WTH ビットの値と同じ値が自動的に書き込まれます。 [bit9, bit8] BST1, BST0 : BurST Size 1, 0 表 8.2-3 に , BST ビットの各チップセレクト領域のバースト長を示します。 表 8.2-3 BST ビットの各チップセレクト領域のバースト長 BST1 BST0 0 0 1 ( シングルアクセス ) 0 1 2 バースト 1 0 4 バースト 1 1 8 バースト 最大バースト長 シングルアクセス以外のバースト長が設定された領域は , プリフェッチアクセスま たはバス幅を超えるサイズのデータの読出しを行った場合のみ , バースト長から決 まるアドレス境界内で連続したバーストアクセスを行います。 バス幅 16 ビット領域の最大バースト長は 2 バースト以下を推奨します。 [bit7] SREN : ShaRed ENable 表 8.2-4 に , SREN ビットの各チップセレクト領域の BRQ/BGRNTX による共有の 許可・禁止を示します。 表 8.2-4 SREN ビットの各チップセレクト領域の BRQ/BGRNTX による共有の 許可・禁止 SREN 共有の許可・禁止 0 BRQ/BGRNTX による共有を禁止 (CSnX は Hi-Z になりません ) 1 BRQ/BGRNTX による共有を許可 (CSnX は Hi-Z になります ) 共有が許可された領域は , バス開放中 (BGRNTX = "L" 出力中 ) は CSnX が Hi-Z に なります。共有が禁止された領域は , バス開放中 (BGRNTX = "L" 出力中 ) も CSnX が Hi-Z になりません。CSER により許可されたすべての領域の共有が許可されてい る場合のみ , アクセスストローブ出力 (RDX, WR1X, WR0X) は Hi-Z になります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 171 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit6] PFEN : PreFetch ENable 表 8.2-5 に , PFEN ビットの各チップセレクト領域のプリフェッチの許可・禁止を示 します。 表 8.2-5 PFEN ビットの各チップセレクト領域のプリフェッチの許可・禁止 PFEN プリフェッチ許可・禁止 0 プリフェッチ禁止 1 プリフェッチ許可 プリフェッチが許可された領域に対しての読出しを行うと , それに続くアドレスに 対して先読みを行い , 内蔵プリフェッチバッファに蓄積します。蓄積されたアドレ スに対して内部バスからのアクセスがあると , 外部アクセスを行わずにプリフェッ チバッファに先読みされたデータを返します。 [bit5] WREN : WRite ENable 表 8.2-6 に , WREN ビットの各チップセレクト領域の書込みの許可・禁止を示します。 表 8.2-6 WREN ビットの各チップセレクト領域の書込みの許可・禁止 WREN 書込み許可・禁止 0 書込み禁止 1 書込み許可 書込みが禁止された領域に対する書込みアクセスが内部バスから発生しても , その アクセスは無視され , 外部アクセスを一切行いません。 データ領域など , 書込みが必要な領域は , WREN ビットに "1" を設定してください。 [bit4] LEND : Little ENDian select 表 8.2-7 に, LENDビットの各チップセレクト領域のバイトオーダリングを示します。 表 8.2-7 LEND ビットの各チップセレクト領域のバイトオーダリング LEND バイトオーダリング 0 ビッグエンディアン 1 リトルエンディアン ACR0のLENDビットには必ず"0"が設定され, 常にビッグエンディアンとなります。 172 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit3 ∼ bit0] TYP3 ∼ TYP0 : TYPe select 表 8.2-8 に , TYP ビットの各チップセレクト領域のアクセスタイプを示します。 表 8.2-8 TYP ビットの各チップセレクト領域のアクセスタイプ TYP3 TYP2 TYP1 TYP0 0 X X 通常アクセス ( 非同期 SRAM, I/O, ROM/Flash) 1 X X アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 ) 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 マスク領域設定 ( アクセスタイプは重複した領域のものになります ) * 各ビットは , 組み合せて設定します。 * : CS 領域マスク設定機能 ある CS 領域 ( 以降 , ベース設定領域とよびます ) の中に , 一部動作設定を変更した 領域を定義したい場合 , 別の CS 領域の設定にて , ACR:TYP3 ∼ TYP0 = 1111B を設 定し , マスク設定領域として機能させることができます。 マスク設定機能を使用しない場合 , 複数の CS 領域でオーバラップする領域設定を 禁止します。 マスク設定領域へのアクセスは , 以下のような動作を行います。 - マスク設定領域に対応する CSX はアサートされません。 - ベース設定領域に対応する CSX がアサートされます。 - ACR の以下の設定はマスク設定領域側のものが有効になります。 bit11, bit10 (DBW1, DBW0) : バス幅設定 bit9, bit8 (BST1, BST0) : バースト長設定 bit7 (SREN) : 共有許可設定 bit6 (PFEN) : プリフェッチ許可設定 bit5 (WREN) : ライト許可設定 ( この設定のみ , ベース設定領域と 異なる設定を禁止します。) bit4 (LEND) CM71-10159-2 : リトルエンディアン設定 FUJITSU MICROELECTRONICS LIMITED 173 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 - ACR の以下の設定はベース設定領域側のものが有効になります。 bit3, bit0 (TYP3, TYP0) : アクセスタイプ設定 - AWR の設定はマスク設定領域側のものが有効になります。 - CHER の設定はマスク設定領域側のものが有効になります。 マスク設定領域は , ほかの CS 領域 ( ベース設定領域 ) 内の一部の領域にのみ設定 できます。ベース設定領域がない領域に対して , マスク設定領域を設けてはいけ ません。また , マスク設定領域を複数重複させないでください。ASR および ACR:ASZ1, ASZ0 ビットの設定には十分注意してください。 <注意事項> [bit3 ∼ bit0] TYP3 ∼ TYP0 についての制限事項は以下のとおりです。 • ライト許可設定をマスクで実現することはできません。 • ライト許可設定は , ベースとなる CS 領域とマスク設定領域とで同じ設定としてくださ い。 • マスク設定領域でライト禁止を設定するとその領域はマスクされずにベースCS領域と して動作します。 • ベース CS 領域でライト禁止を設定し , マスク設定領域でライト許可を設定すると , ベース設定のない領域となり誤動作します。 174 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 領域ウェイトレジスタ (AWR0 ∼ AWR4) 8.2.3 領域ウェイトレジスタの詳細を説明します。 ■ 領域ウェイトレジスタ (AWR0 ∼ AWR4) のレジスタ構成 図 8.2-3 に , AWR0 ∼ AWR4 のレジスタ構成を示します。 図 8.2-3 AWR0 ∼ AWR4 のレジスタ構成 AWR0 上位 bit31 000660H W15 AWR0 下位 bit23 000661H W07 AWR1 上位 bit15 30 29 28 27 26 25 24 W14 W13 W12 W11 W10 W09 W08 22 21 20 19 18 17 16 W06 W05 W04 W03 W02 W01 W00 14 13 12 11 10 9 8 000662H W15 W14 W13 W12 W11 W10 W09 AWR1 下位 bit7 6 5 4 3 2 1 000663H W07 W06 W05 W04 W03 W02 W01 30 29 28 27 26 25 W14 W13 W12 W11 W10 W09 22 21 20 19 18 17 W06 W05 W04 W03 W02 W01 14 13 12 11 10 9 AWR2 上位 bit31 000664H W15 AWR2 下位 bit23 000665H W07 AWR3 上位 bit15 000666H W15 W14 W13 W12 W11 W10 W09 AWR3 下位 bit7 6 5 4 3 2 1 000667H W07 W06 W05 W04 W03 W02 W01 14 13 12 11 10 9 AWR4 上位 bit15 000668H W15 W14 W13 W12 W11 W10 W09 AWR4 下位 bit7 6 5 4 3 2 1 000669H W07 W06 W05 W04 W03 W02 W01 初期値 INIT 時 RST 時 アクセス 01111111B 01111111B R/W 11111011B 11111011B R/W W08 XXXXXXXXB XXXXXXXXB R/W 0 W00 XXXXXXXXB XXXXXXXXB R/W 24 W08 XXXXXXXXB XXXXXXXXB R/W 16 W00 XXXXXXXXB XXXXXXXXB R/W 8 W08 XXXXXXXXB XXXXXXXXB R/W 0 W00 XXXXXXXXB XXXXXXXXB R/W 8 W08 XXXXXXXXB XXXXXXXXB R/W 0 W00 XXXXXXXXB XXXXXXXXB R/W AWR0 ∼ AWR4 は , 各チップセレクト領域の各種ウェイトタイミングを指定します。 ACR0 ∼ ACR4 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) の設定により , 各 ビットの働きが変わります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 175 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 ■ 通常アクセスおよびアドレス / データマルチプレックスアクセス ACR0 ∼ ACR4 レジスタのアクセスタイプ (TYP3 ∼ TYP0 ビット ) に以下の設定を行っ たチップセレクト領域は , 通常アクセスまたはアドレス / データマルチプレックスアク セス動作を行う領域となります。 表 8.2-9 通常アクセスおよびアドレス / データマルチプレックスアクセス TYP3 TYP2 TYP1 TYP0 0 0 X X 通常アクセス ( 非同期 SRAM, I/O, ROM/Flash) 0 1 X X アドレスデータマルチプレックスアクセス (8/16 ビットバス幅限定 ) アクセスタイプ 通常アクセスまたはアドレス / データマルチプレックスアクセス領域に対しての AWR0 ∼ AWR3 の各ビットの機能を以下に示します。AWR0 以外は初期値が不定ですので , 各領域 を CSER レジスタによって有効にする前に設定を行ってください。 [bit15 ∼ bit12] W15 ∼ W12 : ファーストアクセスウェイトサイクル (First Access Wait Cycle) 各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイクル数を設 定します。バーストアクセスサイクル以外は , このウェイト設定のみ使用されます。 CS0 領域は , 初期値 7 ウェイトに設定されます。その他の領域は初期値不定です。 表 8.2-10 各サイクルの最初のアクセスサイクルに挿入するオートウェイトサイク ル数 W15 W14 W13 W12 0 0 0 0 自動ウェイトサイクル 0 0 0 0 1 自動ウェイトサイクル 1 ファーストアクセスウェイトサイクル … 1 176 1 … 1 1 自動ウェイトサイクル 15 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit11 ∼ bit8] W11 ∼ W08 : ページ内アクセスウェイトサイクル (Inpage Access Wait Cycle) バーストアクセス時 , ページ内アクセスのオートウェイトサイクル数を設定しま す。バーストアクセスサイクル以外では意味がありません。 表 8.2-11 バーストアクセス時 , ページ内アクセスのオートウェイトサイクル数 W11 W10 W09 W08 0 0 0 0 自動ウェイトサイクル 0 0 0 0 1 自動ウェイトサイクル 1 ページ内アクセスウェイトサイクル … 1 1 … 1 1 自動ウェイトサイクル 15 ファーストアクセスウェイトサイクルとページ内アクセスウェイトサイクルに同 じ値を設定しても , それぞれのアクセスサイクルでのアドレスからのアクセスタイ ムは同じにはならないことに注意してください ( ページ内アクセスサイクルでは , アドレス出力遅延が含まれるため ) 。 [bit7, bit6] W07, W06 : リード → ライトアイドルサイクル (Read → Write Idle Cycle) リード→ライトアイドルサイクルは , リードサイクル後にライトサイクルが続く場 合に , リードデータとライトデータのデータバス上での衝突を防ぐために設定しま す。アイドルサイクル中はすべてのチップセレクト信号をネゲートし , データ端子 は Hi-Z 状態を維持します。 リード後にライトが続く場合 , もしくはリードの後に別のチップセレクト領域への アクセスが発生した場合に , 指定したアイドルサイクルを挿入します。 CM71-10159-2 W07 W06 0 0 0 サイクル 0 1 1 サイクル 1 0 2 サイクル 1 1 3 サイクル リード→ライトアイドルサイクル FUJITSU MICROELECTRONICS LIMITED 177 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit5, bit4] W05, W04 : ライトリカバリサイクル (Write Recovery Cycle) ライトリカバリサイクルは , ライトアクセス後に続けてアクセスする際の間隔に制 限のあるデバイスへのアクセスを制御する場合に設定します。ライトリカバリサイ クル中はすべてのチップセレクト信号をネゲートし , データ端子はハイインピーダ ンスを維持します。 ライトリカバリサイクルを "1" 以上に設定した場合は , ライトアクセスの後には必 ずライトリカバリサイクルが挿入されます。 W05 W04 0 0 0 サイクル 0 1 1 サイクル 1 0 2 サイクル 1 1 3 サイクル ライトリカバリサイクル [bit3] W03 : WR1X, WR0X 出力タイミング選択 WR1X, WR0X 出力タイミング設定は , ライトストローブ出力を , 非同期ストローブ として使用するか , 同期ライトイネーブルとして使用するかを選択します。非同期 ストローブとすることにより通常メモリ I/O に対応し , 同期イネーブルとすること によりクロック同期のメモリ I/O (ASIC 内蔵メモリなど ) に対応します。 W03 WR1X, WR0X 出力タイミング選択 0 SYSCLK 同期ライトイネーブル出力 (ASX = "L" から有効 ) 1 非同期ライトストローブ出力 ( 通常動作 ) 同期ライトイネーブルとした場合 (AWR:W03 ビットが "0") , 以下のような動作とな ります。 • 同期ライトイネーブル出力のタイミングは , 外部メモリアクセスクロックの SYSCLK 出力の立上りエッジで取り込まれることを前提としたタイミング になります。非同期ストローブ出力とはタイミングが異なります。 • WR1X, WR0X 端子出力は , ASX 端子出力がアサートされているタイミングから 同期ライトイネーブル出力をアサートします。外部バスへのライトが行われる場 合 , 同期ライトイネーブル出力は "L" を出力します。外部バスからのリードが行 われる場合 , 同期ライトイネーブル出力は "H" を出力します。 • 同期ライトイネーブル出力をアサートした次のクロックサイクルにて, 外部デー タ出力端子よりライトデータを出力します。 • リードストローブ出力 (RDX) は , WR1X, WR0X 出力タイミング設定の内容にか かわらず , 非同期リードストローブとして機能します。データの入出力方向制御 にそのまま用いてください。 • 同期ライトイネーブル出力を使用する場合 , 以下の制限があります。 • 以下の追加ウェイト設定はしないでください。 - CSX → RDX/WR1X, WR0X セットアップ設定 (AWR:W01 ビットは常に "0" を 178 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 書いてください ) - ファーストアクセスウェイトサイクル設定 (AWR:W15 ∼ W12 ビットには 常に 0000 B を書いてください ) • 以下のアクセスタイプ設定 (ACR レジスタ中の TYP3 ∼ TYP0 ビット (bit3 ∼ bit0) ) は設定しないでください。 - WR1X, WR0X をライトストローブとして使用する設定 (ACR:TYP1 ビットには 常に "0" を書いてください ) - アドレス / データマルチプレックスバス設定 (ACR:TYP2 ビットには常に "0" を 書いてください ) - RDY 入力有効設定 (ACR:TYP0 ビットには常に "0" を書いてください ) • 同期ライトイネーブル出力の場合 , バースト長には常に "1" (ACR:BST1, BST0 ビットに 00B) を設定してください。 [bit2] W02 : アドレス → CSX 遅延 (Address → CSX Delay) アドレス→ CSX 遅延設定は , CSX の立下りに対してアドレスなどが一定のセット アップを必要とする場合や , 連続して同一のチップセレクト領域にアクセスする際 にも CSX のエッジを必要とする場合などに設定します。 アドレスおよび ASX 出力から CS0X ∼ CS4X 出力の遅延を設定します。 W02 アドレス → CSX 遅延 0 遅延なし 1 遅延あり "0" を設定し , 遅延なしを選択した場合は , ASX のアサートと同じタイミングで CS0X ∼ CS4X がアサート開始されます。このとき , 同じチップセレクト領域に連続したアクセス を実行した場合 , 両アクセスの間も CS0X ∼ CS4X はアサートを継続したまま変化しない ことがあります。 "1" を設定し , 遅延ありを選択した場合は , 外部メモリクロック SYSCLK 出力の立 上りから CS0X ∼ CS4X がアサート開始されます。このとき , 同じチップセレクト 領域に連続したアクセスを実行した場合でも , 両アクセスの間に CS0X ∼ CS4X ネ ゲートタイミングが発生します。 CSX 遅延ありを選択した場合は , 遅延させた CSX のアサートからリード / ライトス トローブをアサートする前に , 1 サイクルのセットアップサイクルを挿入します (W01 の CSX → RDX/WR1X, WR0X セットアップ設定と同等の動作となります ) 。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 179 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit1] W01 : CSX → RDX/WR1X, WR0X セットアップ延長サイクル (CSX → RDX/ WR1X, WR0X setup) CSX → RDX/WR1X, WR0X セットアップ延長サイクルは , CSX アサート後 , リード / ライトストローブをアサートするまでの期間を延長する場合に設定します。CSX ア サート後 , リード / ライトストローブをアサートする前に最低 1 サイクルのセット アップ延長サイクルを挿入します。 W01 CSX → RDX/WR1X, WR0X セットアップ延長サイクル 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/WR1X, WR0X → CSX ホールド延長サイクル (RDX/WR1X, WR0X → CSX Hold Cycle) RDX/WR1X, WR0X → CSX ホールド延長サイクルは , リード / ライトストローブネ ゲート後 , CSX ネゲートまでの期間を延長する場合に設定します。リード / ライト ストローブネゲート後 , CSX をネゲートする前に , 1 サイクルのホールド延長サイ クルを挿入します。 W00 RDX/WR1X, WR0X → CSX ホールド延長サイクル 0 0 サイクル 1 1 サイクル "0" を設定して 0 サイクルを選択した場合は , RDX/WR0X, WR1X がネゲートされた後 の外部メモリクロック SYSCLK 出力の立上りエッジよりホールド遅延の経過後に CS0X ∼ CS3X がネゲートされます。 "1" を設定して 1 サイクルを選択した場合は , CS0X ∼ CS4X は 1 サイクル遅れてネ ゲートされます。 同一チップセレクト領域内で , CSX をネゲートしないまま連続してアクセスする場 合 , このホールド延長サイクルは挿入されません。アドレス確定のホールド延長サ イクルが必須となる場合 , W02 ビットを有効にしてアドレス → CSX 遅延を挿入す ることにより , 毎アクセス時に CSX がいったんネゲートされるため , このホールド 延長サイクルが有効となります。 180 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) 8.2.4 DMAC 用 I/O ウェイトレジスタの詳細を説明します。 ■ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) のレジスタ構成 図 8.2-4 に , IOWR0 ∼ IOWR2 のレジスタ構成を示します。 図 8.2-4 IOWR0 ∼ IOWR2 のレジスタ構成 IOWR0 bit 000678H IOWR1 bit 000679H IOWR2 bit 00067AH 31 30 29 28 27 RYE0 HLD0 WR01 WR00 IW03 23 22 21 20 14 13 12 25 IW02 IW01 18 17 IW12 IW11 10 9 IW22 IW21 19 RYE1 HLD1 WR11 WR10 IW13 15 26 11 RYE2 HLD2 WR21 WR20 IW23 24 INIT 時 初期値 RST 時 アクセス IW00 XXXXXXXXB XXXXXXXXB R/W 16 IW10 XXXXXXXXB XXXXXXXXB R/W 8 IW20 XXXXXXXXB XXXXXXXXB R/W [bit31, bit23, bit15] RYE0, RYE1, RYE2 : RDY 機能設定 (ReadY Enable0, 1, 2) DMA フライバイアクセス時の ch.0 ∼ ch.2 のチャネルごとの RDYI によるウェイト 制御の設定を行います。 RYEn RDY 機能設定 0 I/O アクセスに対する RDY 入力は無効となります。 1 I/O アクセスに対する RDY 入力が有効になります。 "1" を設定することにより , 該当するチャネルのフライバイ転送時 , RDYI 端子によ るウェイト挿入が可能となります。IOWRX, IORDX は RDYI 端子がイネーブルにな るまで延長されます。また , メモリ側の RDX/WR0X, WR1X もそれに同期して延長 されます。 フライバイ転送相手のチップセレクト領域が ACR レジスタにより RDY 有効に設定 されていると , IOWRX 側の RYEn ビットとは関係なく , RDYI 端子によるウェイト 挿入が可能となります。また , フライバイ転送相手のチップセレクト領域で ACR レ ジスタにより RDY 無効にされている場合でも , IOWRX 側の RYEn ビットにより RDY 有効に設定されていると , フライバイアクセス時のみ , RDYI 端子によるウェ イト挿入が可能となります。 SDRAM へのフライバイライトアクセスで RDY を有効にした場合 , 必ず HLD ビッ トを有効にしてホールドウェイト設定を行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 181 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit30, bit22, bit14] HLD0, HLD1, HLD2 : ホールドウェイト設定 (HoLD wait control) DMA フライバイアクセス時の転送元アクセス側のリードストローブ信号のホール ドサイクルを制御します。 HLDn ホールドウェイト設定 0 ホールド延長サイクルを挿入しません。 1 ホールド延長サイクルを挿入し , リードサイクルを 1 サイクル延長し ます。 "0" 設定時は , 転送元アクセス側のリードストローブ信号 ( メモリ→ I/O の場合は RDXO, I/O →メモリの場合は IORDX) とライトストローブ信号 ( メモリ→ I/O の場 合は IOWRX, I/O →メモリの場合は , WRXO3 ∼ WRXO0 および WEX) は同じタイ ミングで出力されます。 "1"設定時は, 転送元アクセス側データの転送先に対するホールドタイムを確保する ため , ライトストローブ信号に対してリードストローブ信号を "1" サイクル長く出 力します。 SDRAM へのフライバイライトアクセスで RDY を有効にした場合 , 必ず HLD ビッ トを有効にしてホールドウェイト設定を行ってください。 [bit29, bit28, bit21, bit20, bit13, bit12] WR01, WR00, WR11, WR10, WR21, WR20 : I/O アイドルサイクル設定 (I/O Idle Cycle) DMA フライバイアクセス時に , 連続した I/O アクセスに対するアイドルサイクルを 設定します。 WRn1 WRn0 0 0 0 サイクル 0 1 1 サイクル 1 0 2 サイクル 1 1 3 サイクル I/O アイドルサイクル設定 アイドルサイクルを 1 サイクル以上設定した場合 , DMA フライバイアクセス時に , I/O アクセスの後に設定したサイクル数のアイドルサイクルを挿入します。アイド ルサイクル中は , すべての CSX およびストローブ出力はネゲートされ , データ端子 はハイインピーダンスとなります。 182 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit27 ∼ bit24, bit19 ∼ bit16, bit11 ∼ bit8] IW03 ∼ IW00, IW13 ∼ IW10, IW23 ∼ IW20: I/O ウェイトサイクル (I/O Wait Cycle) DMA フライバイアクセス時の I/O アクセスの自動ウェイトサイクルを指定します。 IWn3 IWn2 IWn1 IWn0 0 0 0 0 0 サイクル 0 0 0 1 1 サイクル I/O ウェイトサイクル … 1 1 … 1 1 15 サイクル ウェイトサイクルの挿入数は , 転送元と転送先とのデータ同期のため , IWnn ビット による I/O 側の設定とフライバイ転送相手 ( メモリなど ) のウェイト設定のうち , 大 きいほうを使用します。そのため , IWnn ビットに設定したサイクル数より多いウェ イトが挿入される場合があります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 183 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ 8.2.5 MB91461 チップセレクト領域許可レジスタ (CSER) チップセレクト領域許可レジスタの詳細を説明します。 ■ チップセレクト領域許可レジスタ (CSER) のレジスタ構成 図 8.2-5 に , CSER のレジスタ構成を示します。 図 8.2-5 CSER のレジスタ構成 アドレス bit31 30 29 000680H 予約 予約 予約 28 27 26 25 24 初期値 INIT 時 RST 時 CSE4 CSE3 CSE2 CSE1 CSE0 00000001B 00000001B アクセス R/W 各チップセレクト領域の許可 / 禁止を設定します。 [bit31 ∼ bit29] 予約 : 予約ビット 必ず , 000B を設定してください。 [bit28 ∼ bit24] CSE4 ∼ CSE0 : チップセレクト領域許可 (Chip select enable 0 ∼ 4) CS0X ∼ CS4X の各チップセレクト領域許可ビットです。 初期値は , 00001B で CS0 領域のみ許可されています。 "1" を書き込むことにより ASR0 ∼ ASR4, ACR0 ∼ ACR4, AWR0 ∼ AWR4 の設定に 従って動作します。 許可にする前に , 必ず対応するチップセレクト領域のすべての設定を行ってくださ い。 CSE4 ∼ CSE0 領域コントロール 0 禁止 1 許可 以下に CSE のビットと対応する CSX を示します。 CSE のビット 184 対応する CSX bit24 : CSE0 CS0X bit25 : CSE1 CS1X bit26 : CSE2 CS2X bit27 : CSE3 CS3X bit28 : CSE4 CS4X FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 キャッシュイネーブルレジスタ (CHER) 8.2.6 キャッシュイネーブルレジスタの詳細を説明します。 ■ キャッシュイネーブルレジスタ (CHER) のレジスタ構成 図 8.2-6 に , CHER のレジスタ構成を示します。 図 8.2-6 CHER のレジスタ構成 アドレス bit23 22 21 000681H 予約 予約 予約 20 19 18 17 16 初期値 INIT 時 RST 時 CHE4 CHE3 CHE2 CHE1 CHE0 11111111B 11111111B アクセス R/W CHER は各チップセレクト領域から読み込んだデータの内蔵キャッシュへの取込みを 制御します。 [bit20 ∼ bit16] CHE4 ∼ CHE0 : キャッシュ領域設定 (CacHe Enable 4 ∼ 0) 各チップセレクト領域ごとに , キャッシュへの取込みの許可・禁止を指定します。 CHE4 ∼ CHE0 CM71-10159-2 キャッシュ領域設定 0 非キャッシュ領域 ( 該当する領域より読み出したデータをキャッシュに保存し ません ) 1 キャッシュ領域 ( 該当する領域より読み出したデータをキャッシュに保存し ます ) FUJITSU MICROELECTRONICS LIMITED 185 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ 8.2.7 MB91461 端子 / タイミングコントロールレジスタ (TCR) 端子 / タイミングコントロールレジスタ (TCR) の詳細を説明します。 ■ 端子 / タイミングコントロールレジスタ (TCR) のレジスタ構成 図 8.2-7 TCR のレジスタ構成 アドレス 000683H bit23 22 21 BREN PSUS PCLR 20 19 予約 予約 18 17 16 初期値 INIT 時 RST 時 予約 RDW1 RDW0 00000000B 0000XXXXB アクセス R/W TCR は , 能設定やタイミング制御など , 外部バスインタフェースコントローラ全般にか かわる機能を制御します。 [bit7] BREN : BRQ 入力許可設定 (BRQ ENable) BRQ 端子入力を許可し , 外部バス共有を可能にします。 BREN BRQ 入力許可設定 0 BRQ/BGRNTX によるバス共有をしません。BRQ 入力は無効となり ます。 1 BRQ/BGRNTX によるバス共有を行います。BRQ 入力は有効となり ます。 初期状態 ("0") のときは , BRQ の入力を無視します。 "1" を設定すると , BRQ 入力が "H" になった後 , バス開放が可能になった時点で , バ スを開放 ( ハイインピーダンス制御 ) して BGRNTX をアクティブ ("L" 出力 ) にし ます。 [bit6] PSUS : プリフェッチ抑止 (Prefetch SUSpend) すべての領域に対するプリフェッチの一時停止を制御します。 PSUS プリフェッチ制御 0 プリフェッチ許可 1 プリフェッチ抑止 "1" を設定すると "0" を書き込むまでの間 , 新規のプリフェッチ動作を行いません。 この間 , プリフェッチバッファへのミスが発生しない限りはプリフェッチバッファ の内容は消去されませんので , プリフェッチを再開する前に bit5:PCLR ビット機能 によりプリフェッチバッファのクリアを行ってください。 186 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.2 外部バスインタフェースのレジスタ MB91461 [bit5] PCLR : プリフェッチバッファ全クリア (Prefetch buffer CLeaR) プリフェッチバッファのすべての内容をクリアします。 PCLR プリフェッチバッファ制御 0 通常状態 1 プリフェッチバッファクリア "1" を書き込むと 1 度だけプリフェッチバッファをすべてクリアします。バッファ クリアが完了すると自動的にビット値は "0" に戻ります。 PSUS ビットでプリフェッ チを中断 ("1" に設定 ) しておいてからバッファのクリアを行ってください (PSUS と PCLR の両ビットに同時に 11B を書き込んで結構です ) 。 [bit4 ∼ bit2] 予約 : 予約ビット 予約ビットです。必ず "0" を設定してください。 [bit1, bit0] RDW1, RDW0 : ウェイトサイクル短縮 (ReDuce Wait cycle) すべてのチップセレクト領域およびフライバイ用 I/O チャネルに対し , 自動アクセ スサイクルウェイトの設定値を AWR レジスタの設定値はそのままで自動ウェイト サイクルのみ一律に削減します。アイドルサイクルやリカバリサイクル , セット アップやホールドサイクルの設定には影響しません。 RDW1 RDW0 0 0 通常ウェイト (AWR0 ∼ AWR4 の設定値 ) 0 1 AWR0 ∼ AWR4 の設定値の 1/2 (1 ビット右シフト ) 1 0 AWR0 ∼ AWR4 の設定値の 1/4 (2 ビット右シフト ) 1 1 AWR0 ∼ AWR4 の設定値の 1/8 (3 ビット右シフト ) ウェイトサイクル短縮 この機能は , ベースクロックを低速にしている間や外部バスクロックの分周比設定 を大きくしている間など , 低速クロックで動作している間に過剰なアクセスサイク ルウェイトがかかることを防ぐためのものです。 通常 , このような場合にウェイトサイクルを設定し直すには , すべての AWR をそれ ぞれ書き換えなければなりませんが , RDW1, RDW0 ビットの機能を使うと , すべて の AWR の設定は高速クロックのときの設定のままで , アクセスサイクルウェイト のみ一度に削減することができます。 クロックを高速に戻す前に , 必ず RDW1, RDW0 ビットは 00B に設定し直してくだ さい。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 187 第 8 章 外部バスインタフェース 8.3 チップセレクト領域 8.3 MB91461 チップセレクト領域 外部バスインタフェースは全 5 領域分のチップセレクト領域を設定できます。 各領域のアドレス空間は ASR0 ∼ ASR4 ( 領域選択レジスタ ) と ACR0 ∼ ACR4 ( 領域構成レジスタ ) にて 4G バイトの空間の内 , CS0X ∼ CS4X は 64K ∼ 2048M バイト単位で 00040000H ∼ FFFFFFFFH の空間に設定可能です。 これらのレジスタによって指定された領域に対してバスアクセスを行うと , アクセス サイクル中に対応するチップセレクト信号 CS0X ∼ CS4X がアクティブ ("L" 出力 ) になります。 ■ ASR および ASZ1, ASZ0 の設定例 1. ASR1 = 0001H ACR1 → ASZ3 ∼ ASZ0 = 0000B チップセレクト領域 1 は , 00100000H から 0010FFFFH に割り当てられます。 2. ASR2 = 0040H ACR2 → ASZ3 ∼ ASZ0 = 0100B チップセレクト領域 2 は , 00400000H から 004FFFFFH に割り当てられます。 3. ASR3 = 0081H ACR3 → ASZ3 ∼ ASZ0 = 0111B チップセレクト領域 3 は , 00800000H から 00FFFFFFH に割り当てられます。 このとき , ACR → ASZ3 ∼ ASZ0 が 8M バイトの設定になっていますので , バウンダリ は 8M バイト単位となり , ASR3[22:16] は無視されます。 リセット後は , ACR0 に書込みが行われるまでの間 , 00000000H ∼ FFFFFFFFH がチップ セレクト領域 0 に割り当てられます。 <注意事項> チップセレクト領域は , お互いにオーバラップしないように設定してください。 188 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.3 チップセレクト領域 MB91461 図 8.3-1 にチップセレクト領域を示します。 図 8.3-1 チップセレクト領域 00000000H 00000000H 00100000H 領域 1 64K バイト 00400000H 領域 2 1M バイト 領域 0 00800000H 8M バイト 領域 3 00FFFFFFH FFFFFFFFH CM71-10159-2 FFFFFFFFH FUJITSU MICROELECTRONICS LIMITED 189 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス 8.4 MB91461 エンディアンとバスアクセス WR1X, WR0X の制御信号は , データバス幅に関係なくデータバスのバイト位置に常 に 1 対 1 に対応します。 下記にバスモード別に , 設定されたデータバス幅で使用されるデータバスのバイト 位置とそれに対応する制御信号をまとめます。 ■ データバス幅と制御信号との関係 ● 通常バスインタフェースの制御信号 図 8.4-1 に , 通常バスインタフェースの制御信号を示します。 図 8.4-1 通常バスインタフェースの制御信号 a)16ビットバス幅 データバス 制御記号 D31 WR0X D24 WR1X D16 b)8ビットバス幅 データバス 制御記号 WR0X - - ● 時分割入出力インタフェースの制御信号 図 8.4-2 に , 時分割入出力インタフェースの制御信号を示します。 図 8.4-2 時分割入出力インタフェースの制御信号 a)16ビットバス幅 b) 8ビットバス幅 データバス 出力アドレス 制御記号 データバス 出力アドレス 制御記号 D31 D16 190 A15~A08 WR0X A07~A00 WR1X A07~A00 - - FUJITSU MICROELECTRONICS LIMITED WR0X - CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 8.4.1 ビッグエンディアンのバスアクセス MB91461 は CS0 領域を除いて , 各チップセレクトごとにビッグエンディアン / リト ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に 設定した場合は , その領域をリトルエンディアンとして扱います。 通常 , MB91461 はビッグエンディアンで外部バスアクセスを行います。 ■ ビッグエンディアンのデータフォーマット 内部レジスタと外部データバスとの関係は以下のようになります。 ● ワードアクセス (LD, ST 命令実行時 ) 図 8.4-3 ワードアクセス (LD, ST 命令実行時 ) 内部レジスタ D31 AA D23 BB D15 CC D7 DD D0 外部バス D31 AA D23 BB D15 ● ハーフワードアクセス (LDUH, STH 命令実行時 ) 図 8.4-4 ハーフワードアクセス (LDUH, STH 命令実行時 ) a)出力アドレス下位"00" 内部レジスタ D31 D23 D15 b)出力アドレス下位"10" 外部バス D31 AA D23 BB D15 内部レジスタ D31 D23 D15 AA 外部バス D31 AA D23 BB D15 AA D7 D7 BB BB D0 D0 ● バイトアクセス (LDUB, STB 命令実行時 ) 図 8.4-5 バイトアクセス (LDUB, STB 命令実行時 ) a) 出力アドレス下位"00" b) 出力アドレス下位"01" c) 出力アドレス下位"10" d) 出力アドレス下位"11" 内部レジスタ D31 内部レジスタ D31 内部レジスタ 外部バス D31 D31 AA D23 D23 内部レジスタ 外部バス D31 D31 D23 外部バス D31 AA D23 外部バス D31 D23 D23 D23 D23 AA D15 D15 D7 D15 D15 D7 AA D0 CM71-10159-2 AA D15 D7 AA D0 D15 D15 D15 D7 AA D0 FUJITSU MICROELECTRONICS LIMITED AA D0 191 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ■ データバス幅 ● 16 ビットバス幅 図 8.4-6 16 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 "00" "10" D31 D23 D15 D07 読出し/書込み AA BB AA CC BB DD D31 D23 CC DD ● 8 ビットバス幅 図 8.4-7 8 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 D31 D23 D15 D07 読出し/書込み AA "00" "01" "10" "11" AA BB CC DD D31 BB CC DD ■ 外部バスアクセス 外部バスアクセス (16 ビット /8 ビットバス幅 ) をワード / ハーフワード / バイトアクセ ス別に図 8.4-8 , 図 8.4-9 および図 8.4-10 に示します。また , 以下の項目も合わせて図 8.4-11 , 図 8.4-12 および図 8.4-13 に示します。 • アクセスバイト位置 • プログラムアドレス • 出力アドレスバスアクセス回数 PA1/PA0 : プログラムで指定したアドレス下位2ビット 出力 A1/A0 : 出力するアドレスの下位 2 ビット : 出力するアドレスの先頭バイト位置 : アクセスするデータバイト位置 : バスアクセス回数 + ①∼④ MB91461 では , ミスアラインエラーを検出しません。 したがってワードアクセスの場合には , プログラムで指定したアドレス下位 2 ビットが 00B, 01B, 10B, 11B であっても , 出力するアドレスの下位 2 ビットはすべて 00B となり , ハーフワードアクセスの場合には 00B, 01B のときには 00B に , 10B, 11B のときには 10B になります。 192 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ● 16 ビットバス幅 • ワードアクセス 図 8.4-8 ワードアクセス (a) PA1/PA0 = 00B → ①出力 A1/A0 = 00B ②出力 A1/A0 = 10B MSB (b) PA1/PA0 = 01B → ①出力 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 ビット • ハーフワードアクセス 図 8.4-9 ハーフワードアクセス (a) PA1/PA0 = 00B →①出力 A1/A0 = 00B (b) PA1/PA0 = 01B →①出力 A1/A0 = 00B (c) PA1/PA0 = 10B →①出力 A1/A0 = 10B (d) PA1/PA0 = 11B →①出力 A1/A0 = 10B ①⇒ 00 01 ①⇒ 00 01 00 01 00 01 10 11 10 11 ①⇒ 10 11 ①⇒ 10 11 • バイトアクセス 図 8.4-10 バイトアクセス (a) PA1/PA0 = 00B →①出力 A1/A0 = 00B (b) PA1/PA0 = 01B (c) PA1/PA0 = 10B (d) PA1/PA0 = 11B →①出力 A1/A0 = 01B →①出力 A1/A0 = 10B →①出力 A1/A0 = 11B ①⇒ 00 01 ①⇒ 00 01 00 01 00 01 10 11 10 11 ①⇒ 10 11 ①⇒ 10 11 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 193 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ● 8 ビットバス幅 • ワードアクセス 図 8.4-11 ワードアクセス (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 ビット • ハーフワードアクセス 図 8.4-12 ハーフワードアクセス (a) PA1/PA0 = 00B → ①出力 A1/A0 = 00B ②出力 A1/A0 = 01B 194 (b) PA1/PA0 = 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 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 • バイトアクセス 図 8.4-13 バイトアクセス (a) PA1/PA0 = 00B →①出力 A1/A0 = 00B (b) PA1/PA0 = 01B →①出力 A1/A0 = 01B (c) PA1/PA0 = 10B →①出力 A1/A0 = 10B (d) PA1/PA0 = 11B →①出力 A1/A0 = 11B ①⇒ 00 00 00 00 01 ①⇒ 01 01 01 10 10 ①⇒ 10 10 11 11 11 ①⇒ 11 ■ 外部との接続例 図 8.4-14 外部との接続例 FRコア D31 WR0X D23 WR1X ~ ~ D24 D16 0 D31 A23~ A23~ A01 A00 1 D24 D23 A23 ~ A00 D16 16ビットデバイス* 0 D31 D24 8ビットデバイス* ("0"/"1"アドレス下位1ビット) *:8ビットデバイスの場合は,MSB側のデータバスを使用します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 195 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス 8.4.2 MB91461 リトルエンディアンのバスアクセス MB91461 は CS0 領域を除いて , 各チップセレクトごとにビッグエンディアン / リト ルエンディアンを切り換えて使用可能です。ACR レジスタの LEND ビットを "1" に 設定した場合は , その領域はリトルエンディアンとして扱います。 MB91461 のリトルエンディアンバスアクセスは , ビッグエンディアン時のバスアク セス動作を利用し , 基本的にはビッグエンディアン時の出力アドレスの順番と制御 信号の出力は同じで , データバスのバイト位置をバス幅に応じてスワップすること により実現しています。 接続時には , ビッグエンディアン領域とリトルエンディアン領域を物理的に分ける 必要がありますので , 十分注意が必要です。 ■ リトルエンディアンとビッグエンディアンの相違点 リトルエンディアンとビッグエンディアンの相違点を以下に説明します。 • 出力するアドレスの順番はビッグエンディアン / リトルエンディアンで変わりませ ん。 • ワードアクセス : ビッグエンディアンのアドレス A01, A00 = 00B に対応する MSB 側のバイトデータが , リトルエンディアンでは LSB 側 のバイトデータになります。 ワードアクセスの場合は , ワード内の 4 バイトのすべてのバ イト位置が反転します。 • ハーフワードアクセス: ビッグエンディアンのアドレス A00 に対応する MSB 側のバ イトデータが, リトルエンディアンではLSB側のバイトデー タになります。 ハーフワードアクセスの場合は , ハーフワード内の 2 バイト のバイト位置が反転します。 • バイトアクセス : ビッグエンディアン / リトルエンディアンとも同じです。 ■ リトルエンディアン領域に対する制限事項 • リトルエンディアン領域に対してプリフェッチを許可している場合は , その領域に 対するアクセスは必ずワードアクセスにて行ってください。プリフェッチバッファ に読み出されたデータをワード長以外でアクセスすると , 正しくエンディアン変換 が行われず , 誤ったデータを読み出してしまいます。これは , エンディアン変換機 構のハードウェア的な制限によるものです。 • リトルエンディアン領域には , 命令コードを配置しないでください。 196 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ■ データフォーマット 内部レジスタと外部データバスとの関係は以下のようになります。 ● ワードアクセス (LD, ST 命令実行時 ) 図 8.4-15 ワードアクセス (LD, ST 命令実行時 ) 内部レジスタ D31 AA D23 BB D15 CC D7 DD D0 外部バス D31 BB DD D23 AA CC D15 ● ハーフワードアクセス (LDUH, STH 命令実行時 ) 図 8.4-16 ハーフワードアクセス (LDUH, STH 命令実行時 ) a)出力アドレス下位"00" 内部レジスタ D31 D23 D15 b)出力アドレス下位"10" 外部バス D31 BB D23 AA D15 内部レジスタ D31 D23 D15 外部バス D31 BB D23 AA D15 AA AA D7 D7 BB BB D0 D0 ● バイトアクセス (LDUB, STB 命令実行時 ) 図 8.4-17 バイトアクセス (LDUB, STB 命令実行時 ) a) 出力アドレス下位"00" b) 出力アドレス下位"01" c) 出力アドレス下位"10" d) 出力アドレス下位"11" 内部レジスタ D31 内部レジスタ D31 内部レジスタ 外部バス D31 D31 AA D23 D23 内部レジスタ 外部バス D31 D31 D23 外部バス D31 AA D23 外部バス D31 D23 D23 D23 D23 AA D15 D15 D7 D15 D15 D7 AA D0 CM71-10159-2 AA D15 D7 AA D0 D15 D15 D15 D7 AA D0 FUJITSU MICROELECTRONICS LIMITED AA D0 197 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ■ データバス幅 ● 16 ビットバス幅 図 8.4-18 16 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 "00" "10" D31 D23 D15 D07 AA 読出し/書込み BB DD BB CC AA D31 D23 CC DD ● 8 ビットバス幅 図 8.4-19 8 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 D31 D23 D15 D07 198 AA 読出し/書込み "00" DD "01" CC "10" BB "11" AA D31 BB CC DD FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ■ 外部デバイスとの接続例 ● 16 ビットバス幅 図 8.4-20 16 ビットバス幅 FRコア D31 WR0X D23 WR1X ~ ~ D24 D16 0 D31 A31 ~ A01 1 1 D24 D23 D16 D31 ビッグエンディアン領域 0 D24 D23 D16 リトルエンディアン領域 ● 8 ビットバス幅 図 8.4-21 8 ビットバス幅 FRコア D31 WR0X ~ D24 D31 A31 ~ A00 D24 D31 ビッグエンディアン領域 CM71-10159-2 D24 リトルエンディアン領域 FUJITSU MICROELECTRONICS LIMITED 199 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス 8.4.3 MB91461 ビッグエンディアンとリトルエンディアンの外部 アクセスの比較 バス幅に対するワードアクセス , ハーフワードアクセスおよびバイトアクセスについ て , ビッグエンディアンとリトルエンディアンの外部アクセスの比較を示します。 これらの図は , ビッグエンディアン領域とリトルエンディアン領域とを分け 「 , 8.4.1 ビッグエンディアンのバスアクセス」および「8.4.2 リトルエンディアンのバスアク セス」で示した外部デバイスとの接続例に従ってデータバスを準続した場合に , すべ てのアクセスについて内部レジスタがビッグエンディアンになることを示していま す。 ■ ワードアクセス 表 8.4-1 ワードアクセス (1 / 2) バス幅 ビッグエンディアンモード 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D31 AA WR0X BB D16 AA BB D00 リトルエンディアンモード 内部レジスタ 外部端子 アドレス: "0" D31 D31 BB AA WR1X - - - - BB D00 ① 16 ビットバス幅 内部レジスタ 外部端子 アドレス: "2" D31 D31 CC DD D16 CC DD D00 - - - - ① 制御端子 WR0X 内部レジスタ 外部端子 アドレス: "2" D31 D31 DD CC WR1X - - - - D16 CC DD D00 ① 200 WR0X WR1X D16 AA 制御端子 FUJITSU MICROELECTRONICS LIMITED 制御端子 WR0X WR1X - - - - ① CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 表 8.4-1 ワードアクセス (2 / 2) バス幅 ビッグエンディアンモード 内部レジスタ 外部端子 制御端子 アドレス: "0" "1" D31 D31 AA BB WR0X D24 AA BB D00 - - - - - - - - - D00 ① リトルエンディアンモード 内部レジスタ 外部端子 アドレス: "0" "1" D31 D31 BB AA 制御端子 D24 - - AA BB D00 D00 - - - - - - - ① ② WR0X ② 8 ビットバス幅 内部レジスタ 外部端子 アドレス: "2" "3" D31 D31 CC DD D24 CC DD D00 CM71-10159-2 D00 制御端子 WR0X - - - - - - - - - ① ② 内部レジスタ 外部端子 アドレス: "2" "3" D31 D31 DD CC D24 CC DD D00 FUJITSU MICROELECTRONICS LIMITED D00 制御端子 WR0X - - - - - - - - - ① ② 201 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 ■ バイトアクセス 表 8.4-2 バイトアクセス (1 / 2) バス幅 ビッグエンディアンモード 外部端子 内部レジスタ アドレス: "0" D31 D31 AA 制御端子 WR0X リトルエンディアンモード 外部端子 内部レジスタ アドレス: "0" D31 D31 AA - D16 AA - AA - - D00 ① ① 内部レジスタ 外部端子 アドレス: "1" D31 D31 WR0X - D16 - D00 制御端子 制御端子 内部レジスタ 外部端子 アドレス: "1" D31 D31 制御端子 - - BB D16 BB WR1X WR1X D16 - - BB - D00 BB - D00 ① ① 16 ビットバス幅 外部端子 内部レジスタ アドレス: "2" D31 D31 CC 制御端子 WR0X 外部端子 内部レジスタ アドレス: "2" D31 D31 CC - D16 制御端子 WR0X - D16 - CC - D00 - CC - D00 ① 内部レジスタ 外部端子 アドレス: "3" D31 D31 ① 制御端子 内部レジスタ 外部端子 アドレス: "3" D31 D31 - DD D16 - DD WR1X D16 - DD DD - D00 ① 202 WR1X - - D00 制御端子 FUJITSU MICROELECTRONICS LIMITED ① CM71-10159-2 第 8 章 外部バスインタフェース 8.4 エンディアンとバスアクセス MB91461 表 8.4-2 バイトアクセス (2 / 2) バス幅 ビッグエンディアンモード 外部端子 内部レジスタ アドレス: "0" D31 D31 AA D24 AA 制御端子 WR0X リトルエンディアンモード 内部レジスタ 外部端子 アドレス: "0" D31 D31 AA D24 制御端子 WR0X - - - - AA - - D00 D00 ① ① 外部端子 内部レジスタ アドレス: "1" D31 D31 BB D24 BB 制御端子 WR0X 外部端子 内部レジスタ アドレス: "1" D31 D31 BB D24 制御端子 WR0X - - - - BB - D00 - D00 ① ① 8 ビットバス幅 内部レジスタ 外部端子 アドレス: "2" D31 D31 CC D24 CC 制御端子 WR0X 内部レジスタ 外部端子 アドレス: "2" D31 D31 CC D24 WR0X - - - - CC - D00 - D00 ① 内部レジスタ 外部端子 アドレス: "3" D31 D31 DD D24 DD ① 制御端子 WR0X 内部レジスタ 外部端子 アドレス: "3" D31 D31 DD D24 制御端子 WR0X - - - - DD - D00 - D00 ① CM71-10159-2 制御端子 FUJITSU MICROELECTRONICS LIMITED ① 203 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 通常バスインタフェース 8.5 通常バスインタフェースでは , リードアクセス / ライトアクセスともに 2 クロックサ イクルが基本バスサイクルになります。 ■ 基本タイミング ( アクセスが連続する場合 ) (TYP3 ∼ TYP0= 0000B, AWR=0008H) 図 8.5-1 に , アクセスが連続する場合の基本タイミングを示します。 図 8.5-1 アクセスが連続する場合の基本タイミング SYSCLK A23~A00 #2 #1 ASX CS4X~CS0X RDX 読出し D31~D16 #1 #2 WR1X, WR0X 書込み D31~D16 204 #1 FUJITSU MICROELECTRONICS LIMITED #2 CM71-10159-2 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 • ASX は , バスアクセス開始サイクルに 1 サイクルアサートします。 • A23 ∼ A00 は , ワード / ハーフワード / バイトアクセスの先頭バイト位置のアドレ スをバスアクセス開始サイクルからバスアクセス終了サイクルまで出力します。 • CS0X ∼ CS3X は , AWR0 ∼ AWR4 レジスタの W02 ビットが "0" のときは , ASX と 同じタイミングでアサートし , 連続するアクセスがある場合には CS0X ∼ CS4X は ネゲートしません。AWR レジスタの W00 ビットが "0" の場合はバスサイクル終了 後に CS0X ∼ CS4X をネゲートし , W00 ビットが "1" の場合はバスアクセス終了の 1 サイクル後にネゲートします。 • RDX, WR0X, WR1X は , バスアクセス第 2 サイクルからアサートになります。AWR レジスタ W15 ∼ W12 ビットのウェイトサイクルを挿入した後 , ネゲートになりま す。RDX, WR0X, WR1X をアサートするタイミングは AWR レジスタ W01 ビットを "1" に設定することにより 1 サイクル遅らせることができます。 • リードアクセスの場合 , RDX アサートになった後 , ウェイトサイクルが終了したサ イクルの SYSCLK の立上りで D31 ∼ D16 を取り込みます。 • ライトアクセスの場合 , WR0X, WR1X をアサートになったタイミングから D31 ∼ D16 にデータを出力します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 205 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 ■ リード→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0048H) 図 8.5-2 に , リード→ライトタイミングを示します。 図 8.5-2 リード → ライトタイミング リード アイドル ライト SYSCLK A23~A00 ASX CS4X~CS0X RDX WR1X, WR0X D31~D16 • AWR レジスタ W06 ビットの設定により , 0 または 1 サイクルのアイドルサイクル 挿入が可能です。 • リード側の CS 領域の設定が有効になります。 • リードアクセスの次のアクセスがライトアクセス , または別の領域へのアクセスで ある場合にこのアイドルサイクルを挿入します。 206 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 ■ ライト→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0018H) 図 8.5-3 に , ライト→ライトタイミングを示します。 図 8.5-3 ライト → ライトタイミング ライト ライト リカバリ ライト SYSCLK A23~A00 ASX CS4X~CS0X WR1X, WR0X D31~D16 • AWR レジスタの W04 ビットの設定により , 0 または 1 サイクルのライトリカバリ サイクルを挿入可能です。 • すべてのライトサイクル後に , リカバリサイクルが発生します。 • 設定したバス幅以上のアクセスによってライトアクセスが分割された場合もライ トリカバリサイクルを発生します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 207 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 ■ 自動ウェイトタイミング (TYP3 ∼ TYP0=0000B, AWR=2008H) 図 8.5-4 に , 自動ウェイトタイミングを示します。 図 8.5-4 自動ウェイトタイミング 基本サイクル ウェイトサイクル SYSCLK A23~A00 ASX CS4X~CS0X RDX 読出し D31~D16 WR1X, WR0X 書込み D31~D16 • AWR レジスタ W15 ∼ W12 ビット (first wait cycle) の設定により自動ウェイトサイ クルを 0 ∼ 15 まで設定可能です。 • 上図では , 自動ウェイトサイクルを 2 サイクル挿入して合計 4 サイクルのアクセスと なっています。自動ウェイトを設定した場合 , バスサイクルは最小で 2 サイクル+ (first wait cycle) となります。ライトの場合は内部状態によりさらに長くなることがあ ります。 208 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 ■ 外部ウェイトタイミング (TYP3 ∼ TYP0=0001B, AWR=2008H) 図 8.5-5 に , 外部ウェイトタイミングを示します。 図 8.5-5 外部ウェイトタイミング 基本サイクル 自動ウェイト 2サイクル RDYによる ウェイト サイクル SYSCLK A23~A00 ASX CS4X~CS0X RDX 読出し D31~D16 WR1X, WR0X 書込み D31~D16 RDY 解除 ウェイト ACR レジスタの TYP0 ビットを "1" に設定し , 外部 RDY 入力端子を有効にすることに より外部ウェイトサイクルを挿入可能です。上図において , 自動ウェイトサイクルによ るウェイトが有効であるため , RDY 端子の斜線部分は無効になります。自動ウェイト サイクルの最後のサイクル以降から , RDY 入力端子の値を判定します。また , いった んウェイトサイクルを終了した後は , 次のアクセスサイクルの開始まで , RDY 入力端 子の値は無効になります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 209 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 ■ CSX 遅延設定 (TYP3 ∼ TYP0=0000B, AWR=000CH) 図 8.5-6 に , CSX 遅延設定を示します。 図 8.5-6 CSX 遅延設定 SYSCLK A23~A00 ASX CS4X~CS0X RDX 読出し D31~D16 WR1X, WR0X 書込み D31~D16 210 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.5 通常バスインタフェース MB91461 ■ CSX→ RDX/WR1X, WR0X セットアップ・RDX/WR1X, WR0X → CSX ホールド設定 (TYP3 ∼ TYP0=0000B, AWR=000BH) 図 8.5-7 に , CSX → RDX/WR1X, WR0X セットアップ・RDX/WR1X, WR0X → CSX ホー ルド設定を示します。 図 8.5-7 CSX → RDX/WR1X, WR0X セットアップ・RDX/WR1X, WR0X → CSX ホールド設定 SYSCLK A23~A00 ASX CS4X~CS0X CSX->RDX/WR1X, WR0X RDX/WR1X, WR0X->CSX 遅延 遅延 RDX 読出し D31~D16 WR1X, WR0X 書込み D31~D16 • AWRレジスタのW01ビットを"1"に設定することにより, CSX→RDX/WR1X, WR0X セットアップディレイを設定可能です。チップセレクトアサート後 , リード / ライト ストローブまでの期間を延長する場合に設定します。 • AWR レジスタの W00 ビットを "1" に設定することにより , RDX/WR1X, WR0X → CSX ホールドディレイを設定可能です。リード / ライトストローブネゲート後 , チッ プセレクトネゲートまでの期間を延長する場合に設定します。 • CSX → RDX/WR1X, WR0X セットアップディレイ (W01 ビット ) と RDX/WR1X, WR0X → CSX ホールドディレイ (W00 ビット ) は独立に設定可能です。 • 同一チップセレクト領域内で , チップセレクトをネゲートしないまま連続してアク セスする場合は , CSX → RDX/WR1X, WR0X セットアップディレイ , RDX/WR1X, WR0X → CSX ホールドディレイともに挿入されません。 • アドレス確定からのセットアップサイクルおよびアドレス確定のホールドサイク ルが必要な場合は , アドレス→ CSX 遅延設定 (AWR レジスタの W02 ビット ) を "1" に設定してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 211 第 8 章 外部バスインタフェース 8.6 アドレス / データマルチプレックスインタフェース MB91461 アドレス / データマルチプレックスインタフェース 8.6 アドレス / データマルチプレックスインタフェースの設定について説明します。 ■ 外部ウェイトなし (TYP3 ∼ TYP0=0100B, AWR=0008H) 図 8.6-1 に , 外部ウェイトがない場合のアドレス / データマルチプレックスインタ フェース設定を示します。 図 8.6-1 外部ウェイトがない場合のアドレス / データマルチプレックスインタフェース設定 SYSCLK アドレス[23:0] A23~A00 ASX CS4X~CS0X RDX 読出し D31~D16 アドレス[15:0] データ [15:0] WR1X, WR0X 書込み D31~D16 212 アドレス[15:0] データ[15:0] FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.6 アドレス / データマルチプレックスインタフェース MB91461 • ACR レジスタの TYP3 ∼ TYP0 = 01XXB と設定することによりアドレス / データマ ルチプレックスインタフェース設定が可能です。 • アドレス / データマルチプレックスインタフェースに設定した場合 , データバス幅 (DBW1, DBW0 ビット ) の設定は 8 ビットもしくは 16 ビットに設定してください。 32 ビット幅はサポートしていません。 • アドレス / データマルチプレックスインタフェースでは , アドレス出力サイクル 2 サ イクル+データサイクル 1 サイクルの計 3 サイクルが基本アクセスサイクルとなり ます。 • アドレス出力サイクルでは , 出力アドレスラッチイネーブル信号として ASX をア サートしますが , CSX → RDX/WR1X, WR0X セットアップ遅延 (AWR:W01) が "0" に 設定してある場合 , 上図のようにマルチプレックスアドレス出力サイクルが 1 サイ クルのみとなり , アドレスを ASX の立上りエッジで直接ラッチすることは不可能と なります。このため , ASX に "L" がアサートされているサイクルの SYSCLK の立上 りエッジでアドレスを取り込んでください。アドレスを ASX の立上りエッジで直 接ラッチする場合は , 「■ CSX → RDX/WR1X, WR0X セットアップ設定 (TYP3 ∼ TYP0 = 0101B, AWR = 100BH)」を参照してください。 • A23 ∼ A00 には , 時分割バスサイクル中 , 通常インタフェースと同様にアクセスの 先頭を示すアドレスを出力します。アドレス / データマルチプレックスインタ フェースで 8/16 ビット以上のアドレスを使用したい場合に利用してください。 • 自動ウェイト(AWR:W14∼AWR:W12),リード→ライトアイドルサイクル(AWR:W06), ライトリカバリ(AWR:W04), アドレス→ CSX遅延 (AWR2), CSX→RDX/WR1X, WR0X セットアップ遅延 (AWR:W01), RDX /WR1X, WR0X → CSX ホールド遅延 (AWR0) の 設定は , 通常インタフェースと同様に設定可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 213 第 8 章 外部バスインタフェース 8.6 アドレス / データマルチプレックスインタフェース MB91461 ■ 外部ウェイトあり (TYP3 ∼ TYP0=0101B, AWR=1008H) 図 8.6-2 に , 外部ウェイトがある場合のアドレス / データマルチプレックスインタ フェース設定を示します。 図 8.6-2 外部ウェイトがある場合のアドレス / データマルチプレックスインタフェース設定 SYSCLK アドレス[23:0] A23~A00 ASX CS4X~CS0X RDX 読出し D31~D16 データ [15:0] アドレス[15:0] WR1X, WR0X 書込み D31~D16 アドレス[15:0] データ[15:0] RDY ACR レジスタの TYP3 ∼ TYP0 = 01X1B と設定することにより , アドレス / データマ ルチプレックスインタフェースにおいて RDY 入力を有効とすることが可能です。 214 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.6 アドレス / データマルチプレックスインタフェース MB91461 ■ CSX→RDX/WR1X, WR0Xセットアップ設定 (TYP3∼TYP0=0101B, AWR=100BH) 図 8.6-3 に , CSX → RDX/WR1X, WR0X セットアップ設定を示します。 図 8.6-3 CSX → RDX/WR1X, WR0X セットアップ設定 SYSCLK A23~A00 アドレス[23:0] ASX CS4X~CS0X RDX 読出し D31~D16 アドレス[15:0] データ [15:0] アドレス[15:0] データ[15:0] WR1X, WR0X 書込み D31~D16 CSX → RDX/WR1X, WR0X セットアップ遅延 (AWR:W01) を "1" に設定すると , 上図の ようにマルチプレックスアドレス出力サイクルが1サイクル延長され, アドレスをASX の立上りエッジで直接ラッチすることが可能となります。SYSCLK を使用せずに ASX を ALE(Address Latch Enable) ストローブとして使用したい場合にこの設定を使用して ください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 215 第 8 章 外部バスインタフェース 8.7 DMA アクセス 8.7 MB91461 DMA アクセス DMA アクセスの設定について説明します。 ■ 2サイクル転送 (内部RAM→外部I/O, RAM, 外部I/O, RAM→内部RAMもタイミング は同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H) 図 8.7-1 に , 2 サイクル転送の設定を示します。 図 8.7-1 2 サイクル転送の設定 (I/O 側のウェイト設定なしの場合 ) SYSCLK I/O アドレス A23~A00 ASX CS4X~CS0X(I/O側) WR1X, WR0X D31~D16 バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。 216 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.7 DMA アクセス MB91461 ■ 2 サイクル転送 ( 外部→ I/O) (TYP3 ∼ TYP0=0000B, AWR=0008H) 図 8.7-2 に , 2 サイクル転送 ( 外部→ I/O) の設定を示します。 図 8.7-2 2 サイクル転送 ( 外部→ I/O) の設定 ( メモリ , I/O のウェイト設定なしの場合 ) SYSCLK メモリアドレス A23~A00 アイドル I/Oアドレス ASX CS4X~CS0X RDX CS4X~CS0X WR1X, WR0X D31~D16 バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 217 第 8 章 外部バスインタフェース 8.7 DMA アクセス MB91461 ■ 2 サイクル転送 (I/O →外部 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) 図 8.7-3 に , 2 サイクル転送 (I/O →外部 ) の設定を示します。 図 8.7-3 2 サイクル転送 (I/O →外部 ) の設定 ( メモリ , I/O のウェイト設定なしの場合 ) SYSCLK I/Oアドレス A23~A00 アイドル メモリアドレス ASX CS4X~CS0X WR1X, WR0X CS4X~CS0X RDX D31~D16 バスアクセスは , DMAC 転送でない場合のインタフェースと同様です。 218 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 8 章 外部バスインタフェース 8.8 レジスタ設定手順 MB91461 8.8 レジスタ設定手順 外部バスインタフェースに関する設定手順は , 以下の原則に従ってください。 ■ 外部バスインタフェースの設定手順 1) レジスタの内容を書き換える場合は , 必ず CSER レジスタの対応する領域を使用 しない設定 ("0") にして行ってください。"1" のまま設定を変更した場合 , その前 後のアクセスは保証されません。 2) レジスタの変更は以下の手順で行ってください。 ① 該当領域に対応する CSER のビットを "0" に設定してください。 ② ASR と ACR をワードアクセスで同時に設定してください。ASR, ACR をハー フワードでアクセスする場合には , ASR 設定後に ACR を設定してください。 ③ AWR を設定してください。 ④ 該当領域に対する CSER のビットを設定してください。 3) CS0X 領域はリセット解除後から有効になっており , プログラム領域として使用 している場合は CSER を "1" のままで書き換える必要がありますが , この場合は 内部クロックが低い初期状態で上記② , ③の設定を行ってください。その後 , ク ロックを高速クロックに切り換えてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 219 第 8 章 外部バスインタフェース 8.8 レジスタ設定手順 MB91461 220 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 第9章 I/O ポート I/O ポートの概要 , レジスタの構成 , および機能に ついて説明します。 9.1 I/O ポートの概要 9.2 I/O ポートのレジスタ 9.3 ポートファンクションレジスタの設定 9.4 端子入力レベルの選択 9.5 プルアップ・プルダウン制御レジスタ CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 221 第 9 章 I/O ポート 9.1 I/O ポートの概要 9.1 MB91461 I/O ポートの概要 I/O ポートの概要について説明します。 ■ ポート基本ブロックダイヤグラム MB91461は, 各端子に対応する外部バスインタフェースやペリフェラルが入出力として 端子を使用しない設定になっているときに I/O ポートとして使用することができます。 図 9.1-1 に , ポート基本ブロックダイヤグラムを示します。 222 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.1 I/O ポートの概要 MB91461 図 9.1-1 ポート基本ブロックダイヤグラム ポートバス PILR EPILR 外部バスインタフェース入力 周辺入力 CMOS PDRD リード & Automotive & PDRD 0 CLKP CMOS ヒステリシス & 1 STOP または GPORTEN PDR リード PPER P-ch プルアップ / ダウン 制御 PPCR 出力ドライバ 1. 周辺出力 2. 周辺出力 端子 アウトプット MUX PDR N-ch DDR ポート 方向 制御 PFR EPFR PODR PDR: PDRD: DDR: PFR: EPFR: PILR: EPILR: PPER: PPCR: ポートデータレジスタ ポートデータダイレクトリードレジスタ データ方向レジスタ ポート機能レジスタ エクストラ PFR ポート機能レジスタ ポート入力レベル選択レジスタ ポート入力レベル選択レジスタ ポートプルアップ / ダウン許可レジスタ ポートプルアップ / ダウン制御レジスタ CM71-10159-2 アドレス 000H + #port ( ポート00: 000H, ポート01: 001H など ) アドレス= PDR + D00H アドレス= PDR + D40H アドレス= PDR + D80H アドレス= PDR + DC0H アドレス= PDR + E40H アドレス= PDR + E80H アドレス= PDR + EC0H アドレス= PDR + F00H FUJITSU MICROELECTRONICS LIMITED 223 第 9 章 I/O ポート 9.1 I/O ポートの概要 MB91461 ■ ポートの一般的な仕様 すべてのポートに対して , 次の規則が有効です。 • ソフトウェアによるポート設定の前に , 貫通電流が発生するのを防ぐため , ポート 入力はすべて , 初期値が設定されています。各ポート端子をその機能に応じて設定し てください。 • ポートごとに , CLKP で端子データをサンプリングするポートデータダイレクト リードレジスタ (PDRD) があります。このレジスタはリードオンリです。 • ポートごとに , ポートの入力 / 出力方向を切り換えるデータ方向レジスタ (DDR) が あります。リセット後 , すべてのポートは入力になります (DDR = 00H)。 - ポート入力モード (PFR = 0 および DDR = 0) PDRD リード: サンプリングされた端子データが読み出されます。 PDR リード: サンプリングされた端子データが読み出されます。 PDR ライト:PDR 設定値が書き込まれますが , 端子値に何も影響しません。 - ポート出力モード (PFR = 0 および DDR = 1) PDRD リード: サンプリングされた端子データが読み出されます。 PDR リード:PDR レジスタ値が読み出されます。 PDR ライト:PDR 設定値が対応する外部端子に書き込まれます。 • リードモディファイライト命令 ( ビット演算 ) では , データ方向レジスタ (DDR) の 設定にかかわらず , PDR レジスタは常にリードになります。 • 特定のポートに , ポート機能レジスタ (PFR) およびエクストラポート機能レジスタ (EPFR) があります。EPFR = 1 により決定される機能を有効にするには , PFR = 1 も "1" に設定する必要があります。 MB91V460 上では , EPFR = 1 および PFR = 0 設 定の動作は , ポート入力 / 出力モード ( 将来の利用に予約 ) と同じです。 • ポートごとに, 入力レベル (CMOS ヒステリシス / Automotive [/ TTL]) をビット単位 で入力するポート入力レベルレジスタ (PILR) があります。デフォルト値は , ポート の機能によって異なります。 入力レベルは , どのデバイスモードでも設定できます。表 9.4-2 を参照してください。 • 特定のポートには , 自身のプルアップ / プルダウン許可レジスタ (PPER) およびプル アップ / プルダウン制御レジスタ (PPCR) によりビット単位で許可されるプルアッ プ / プルダウン (50 kΩ) があります。 「9.5 プルアップ・プルダウン制御レジスタ 」 を参照してください。 • ポートごとに , 1 つまたは 2 つのポート機能レジスタ , PFR およびエクストラ PFR (EPFR) ( 必要に応じて ) があります。合わせて , 端子当たり最大 3 リソース I/O の役 割を果たします。「9.3 ポートファンクションレジスタの設定 」を参照してくださ い。 • MD2 ∼ MD0 端子およびモードレジスタ MODR で制御されるポート設定は , ポート レジスタ内の設定を上書きします。例えば , 外部バスモードはポートレジスタの設 定を上書きします。外部バス信号出力は , 端子の PFR をポートモード (PFR = 0) に 設定すると , 無効にできます。 • リソース入力ラインは , 通常 , 端子に接続され , リソース内の適切な機能を設定する と有効になります。「9.3 ポートファンクションレジスタの設定 」に示す例外があ ります。 224 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.1 I/O ポートの概要 MB91461 • 外部割込み入力ラインは , 常に端子に接続され , 外部割込みユニットで有効になり ます。 • (STCR:STOP が設定され , STCR:HIZ が設定されない ) STOP モードでは , すべての 端子が現在の状態 (STOP モードになる前の設定により入力または出力 ) を維持し , 入 力段階およびラインは横断電流を避けるために内部で固定されます。対応する端子 が PFR = 1 で設定され , 対応する外部割込みが ENIR0, ENIR1 レジスタで許可されて いる場合 , 外部割込み入力端子は , 固定されません。 プルアップ およびプルダウンは許 可されます。 • (STCR:STOP および STCR:HIZ が設定される ) STOP-HIZ モードでは , すべての端子 が入力 ( ハイインピーダンス状態 ) に切り換えられ , すべての入力段階およびライン は変動を避けるために内部で固定されます。対応する端子が PFR = 1 で設定され , 対応する外部割込みが ENIR0, ENIR1 レジスタで許可されている場合 , 外部割込み 入力端子は , 固定されません。プルアップ およびプルダウンは禁止されます。 • リソース出力ラインは, ポート内の対応する PFR / EPFR ビットを設定することによ り有効になります。詳細は , 「9.3 ポートファンクションレジスタの設定 」を参照 してください。さらに , UART 制御内の SOE ビットを設定して , UART 出力 (SOT) も有効にする必要があります。 • リソース双方向信号 (UART の SCK など ) は , ポート内の対応する PFR / EPFR ビット を設定することにより有効になります。信号方向は , 出力許可ビットなど , リソース の設定により制御されます。詳細は , 「9.3 ポートファンクションレジスタの設定 」 を参照してください。 <注意事項> 汎用ポート入力とペリフェラル入力を切り換えるレジスタはありません。外部端子から入 力された値は , 常に汎用ポートとペリフェラル回路へ伝播しています。 また , DDR で出力設定時も外部へ出力している値が常に汎用ポートとペリフェラル回路 へ伝播しています。 ペリフェラル入力としてご使用の場合は , DDR で入力設定し , 各ペリフェラルの入力信号 を有効にして使用してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 225 第 9 章 I/O ポート 9.2 I/O ポートのレジスタ 9.2 MB91461 I/O ポートのレジスタ ポートデータレジスタ (PDR) とポート方向レジスタ (DDR), ポートデータダイレク トリードレジスタ (PDRD) を示します。 ■ ポートデータレジスタ (PDR) ポートごとの出力データを格納するレジスタです。 図 9.2-1 ポートデータレジスタ (PDR) PDR14 PDR15 PDR16 PDR17 PDR18 PDR19 PDR20 PDR21 PDR22 PDR23 PDR24 PDR28 PDR29 アドレス 00000EH 00000FH 000010H 000011H 000012H 000013H 000014H 000015H 000016H 000017H 000018H 00001CH 00001DH bit7 6 5 4 − − − − PDR14_3 PDR14_2 PDR14_1 PDR14_0 3 − − − - PDR15_3 PDR15_2 PDR15_1 PDR15_0 PDR16_7 − − − − 2 − 1 − 0 − PDR17_7 PDR17_6 PDR17_5 PDR17_4 PDR17_3 PDR17_2 PDR17_1 PDR17_0 − PDR18_2 PDR18_1 PDR18_0 − PDR19_6 PDR19_5 PDR19_4 − PDR19_2 PDR19_1 PDR19_0 − PDR20_6 PDR20_5 PDR20_4 − PDR20_2 PDR20_1 PDR20_0 − PDR21_6 PDR21_5 PDR21_4 − PDR21_2 PDR21_1 PDR21_0 − − − − PDR22_7 PDR22_6 PDR22_5 PDR22_4 PDR22_3 PDR22_2 − PDR23_6 − − PDR22_0 PDR23_4 PDR23_3 PDR23_2 PDR23_1 PDR23_0 PDR24_7 PDR24_6 PDR24_5 PDR24_4 PDR24_3 PDR24_2 PDR24_1 PDR24_0 − − − PDR28_4 PDR28_3 PDR28_2 PDR28_1 PDR28_0 PDR29_7 PDR29_6 PDR29_5 PDR29_4 PDR29_3 PDR29_2 PDR29_1 PDR29_0 R/W R/W R/W R/W R/W R/W R/W 初期値 ----XXXXB ----XXXXB X-------B XXXXXXXXB -----XXXB -XXX-XXXB -XXX-XXXB -XXX-XXXB XXXXXX-XB -X-XXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB R/W ■ データ方向レジスタ (DDR) ポートごとに入出力の方向を設定するレジスタです。リセット後 , すべてのポートは入 力となります。 図 9.2-2 データ方向レジスタ (DDR) DDR14 DDR15 DDR16 DDR17 DDR18 DDR19 DDR20 DDR21 DDR22 DDR23 DDR24 DDR28 DDR29 アドレス 000D4EH 000D4FH 000D50H 000D51H 000D52H 000D53H 000D54H 000D55H 000D56H 000D57H 000D58H 000D5CH 000D5DH bit7 5 4 3 2 1 0 − − − − DDR14_3 DDR14_2 DDR14_1 DDR14_0 − − − − DDR15_3 DDR15_2 DDR15_1 DDR15_0 DDR16_7 − − − − − − − DDR17_7 DDR17_6 DDR17_5 DDR17_4 DDR17_3 DDR17_2 DDR17_1 DDR17_0 − − − − − DDR18_2 DDR18_1 DDR18_0 − DDR19_6 DDR19_5 DDR19_4 − DDR19_2 DDR19_1 DDR19_0 − DDR20_6 DDR20_5 DDR20_4 − DDR20_2 DDR20_1 DDR20_0 − DDR21_6 DDR21_5 DDR21_4 − DDR21_2 DDR21_1 DDR21_0 DDR22_7 DDR22_6 DDR22_5 DDR22_4 DDR22_3 DDR22_2 − DDR23_6 − − DDR22_0 DDR23_4 DDR23_3 DDR23_2 DDR23_1 DDR23_0 DDR24_7 DDR24_6 DDR24_5 DDR24_4 DDR24_3 DDR24_2 DDR24_1 DDR24_0 − − − DDR28_4 DDR28_3 DDR28_2 DDR28_1 DDR28_0 DDR29_7 DDR29_6 DDR29_5 DDR29_4 DDR29_3 DDR29_2 DDR29_1 DDR29_0 R/W 226 6 R/W R/W R/W R/W R/W FUJITSU MICROELECTRONICS LIMITED R/W 初期値 ----0000B ----0000B 0-------B 00000000B -----000B -000-000B -000-000B -000-000B 000000-0B -0-00000B 00000000B 00000000B 00000000B R/W CM71-10159-2 第 9 章 I/O ポート 9.2 I/O ポートのレジスタ MB91461 ■ ポートデータダイレクトリードレジスタ (PDRD) これらのレジスタは読出し専用レジスタで , ポートが出力状態であっても入力値を直 接読み出すために使用されます。 図 9.2-3 ポートデータダイレクトリードレジスタ (PDRD) PDRD14 PDRD15 PDRD16 PDRD17 PDRD18 PDRD19 PDRD20 PDRD21 PDRD22 PDRD23 PDRD24 PDRD28 PDRD29 アドレス 000D0EH 000D0FH 000D10H 000D11H 000D12H 000D13H 000D14H 000D15H 000D16H 000D17H 000D18H 000D1CH 000D1DH bit7 6 5 − − − − − − PDRD16_7 − − PDRD17_7 PDRD17_6 PDRD17_5 − − PDRD19_6 PDRD19_5 − PDRD20_6 PDRD20_5 − PDRD21_6 PDRD21_5 PDRD22_7 PDRD22_6 PDRD22_5 − PDRD23_6 − PDRD24_7 PDRD24_6 PDRD24_5 − − − PDRD29_7 PDRD29_6 PDRD29_5 R CM71-10159-2 − − R R 4 3 2 1 0 初期値 ----XXXXB PDRD15_3 PDRD15_2 PDRD15_1 PDRD15_0 ----XXXXB − X-------B − − − − − PDRD17_4 PDRD17_3 PDRD17_2 PDRD17_1 PDRD17_0 XXXXXXXXB PDRD18_2 PDRD18_1 PDRD18_0 -----XXXB − − PDRD19_4 PDRD19_2 PDRD19_1 PDRD19_0 -XXX-XXXB − PDRD20_4 PDRD20_2 PDRD20_1 PDRD20_0 -XXX-XXXB − PDRD21_4 PDRD21_2 PDRD21_1 PDRD21_0 -XXX-XXXB − PDRD22_4 PDRD22_3 PDRD22_2 PDRD22_0 XXXXXX-XB − PDRD23_4 PDRD23_3 PDRD23_2 PDRD23_1 PDRD23_0 -X-XXXXXB PDRD24_4 PDRD24_3 PDRD24_2 PDRD24_1 PDRD24_0 XXXXXXXXB PDRD28_4 PDRD28_3 PDRD28_2 PDRD28_1 PDRD28_0 XXXXXXXXB PDRD29_4 PDRD29_3 PDRD29_2 PDRD29_1 PDRD29_0 XXXXXXXXB R R R R R − PDRD14_3 PDRD14_2 PDRD14_1 PDRD14_0 FUJITSU MICROELECTRONICS LIMITED 227 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 9.3 MB91461 ポートファンクションレジスタの設定 ポートファンクションレジスタの機能について説明します。 ■ ポート 14 ポート 14 は PFR14 および EPFR14 で制御されます。 PFR14 の対応するビットが "0" のとき , 端子は汎用ポートとして使用され , "1" の場合 は外部端子はペリフェラルへの入力となります。ICU ( インプットキャプチャユニット ) への入力選択は PFR と EPFR の組合せで決まります。 図 9.3-1 ポート 14 の制御レジスタ構成 アドレス PFR14 000D8EH EPFR14 000DCEH bit7 6 5 4 3 2 1 0 初期値 − − − − PFR14_3 PFR14_2 PFR14_1 PFR14_0 ----0000B − − − − EPFR14_3 EPFR14_2 EPFR14_1 EPFR14_0 − − − − R/W R/W R/W ----0000B R/W 表 9.3-1 ポート 14 の制御レジスタの機能説明 (1 / 2) ビット名 値 00B 01B PFR14_3/EPFR14_3 10B 11B 外部端子から次の 2 つへ入力されます。 ・リロードタイマ 3 の外部トリガ入力 ・PPG3 の外部トリガ入力 内部の ICU3 の入力には LIN-UART3 の LSYN 出力が接続されます。 01B 228 外部端子が汎用ポート (P14_3) として使用されます。* ICU3 の入力には LIN-UART3 の LSYN 出力が接続されます。LIN 通信時の LSYN パルス幅を計測して LIN スレーブ動作時のボー レートを検出するために使用できます。 外部端子から次の 3 つへ入力されます。 ・ICU3 の入力 ・リロードタイマ 3 の外部トリガ入力 ・PPG3 の外部トリガ入力 00B PFR14_2/EPFR14_2 機能 外部端子が汎用ポート (P14_2) として使用されます。* ICU2 の入力には LIN-UART2 の LSYN 出力が接続されます。 10B 外部端子から次の 3 つへ入力されます。 ・ICU2 の入力 ・リロードタイマ 2 の外部トリガ入力 ・PPG2 の外部トリガ入力 11B 外部端子から次の 2 つへ入力されます。 ・リロードタイマ 2 の外部トリガ入力 ・PPG2 の外部トリガ入力 ICU2 の入力には LIN-UART2 の LSYN 出力が接続されます。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 表 9.3-1 ポート 14 の制御レジスタの機能説明 (2 / 2) ビット名 値 00B 01B PFR14_1/EPFR14_1 外部端子が汎用ポート (P14_1) として使用されます。* ICU1 の入力には LIN-UART1 の LSYN 出力が接続されます。 10B 外部端子から次の 3 つへ入力されます。 ・ICU1 の入力 ・リロードタイマ 1 の外部トリガ入力 ・PPG1 の外部トリガ入力 11B 外部端子から次の 2 つへ入力されます。 ・リロードタイマ 1 の外部トリガ入力 ・PPG1 の外部トリガ入力 ICU1 の入力には LIN-UART1 の LSYN 出力が接続されます。 00B 01B PFR14_0/EPFR14_0 機能 外部端子が汎用ポート (P14_0) として使用されます。 ICU0 の入力には LIN-UART0 の LSYN 出力が接続されます。 10B 外部端子から次の 3 つへ入力されます。 ・ICU0 の入力 ・リロードタイマ 0 の外部トリガ入力 ・PPG0 の外部トリガ入力 11B 外部端子から次の 2 つへ入力されます。 ・リロードタイマ 0 の外部トリガ入力 ・PPG0 の外部トリガ入力 ICU0 の入力には LIN-UART0 の LSYN 出力が接続されます。 * : ポートを選択している場合でもリロードタイマのトリガ入力 , PPG のトリガ入力は可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 229 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 15 ポート 15 は PFR15 および EPFR15 で制御されます。 PFR が "0" のときは汎用ポートとなり , "1" のときには周辺マクロ (OCU あるいはリロー ドタイマ ) からの出力端子となります。 図 9.3-2 ポート 15 の制御レジスタ構成 アドレス PFR15 000D8FH EPFR15 000DCFH bit7 6 5 4 − − − − PFR15_3 PFR15_2 PFR15_1 PFR15_0 ----0000B 3 − − − − EPFR15_3 EPFR15_2 EPFR15_1 EPFR15_0 − − − − R/W 2 R/W 1 R/W 0 初期値 ----0000B R/W 表 9.3-2 ポート 15 の制御レジスタの機能説明 ビット名 PFR15_3/EPFR15_3 PFR15_2/EPFR15_2 PFR15_1/EPFR15_1 PFR15_0/EPFR15_0 230 値 機能 0XB P15_3 : 外部端子が汎用ポート (P15_3) として使用されます。 10B OCU3 : 外部端子が OCU3 の出力として使用されます。 11B TOT3 : 外部端子がリロードタイマ 3 の出力として使用されます。 0XB P15_2 : 外部端子が汎用ポート (P15_2) として使用されます。 10B OCU2 : 外部端子が OCU2 の出力として使用されます。 11B TOT2 : 外部端子がリロードタイマ 2 の出力として使用されます。 0XB P15_1 : 外部端子が汎用ポート (P15_1) として使用されます。 10B OCU1 : 外部端子が OCU1 出力として使用されます。 11B TOT1 : 外部端子がリロードタイマ 1 の出力として使用されます。 0XB P15_0 : 外部端子が汎用ポート (P15_0) として使用されます。 10B OCU0 : 外部端子が OCU0 の出力として使用されます。 11B TOT0 : 外部端子がリロードタイマ 0 の出力として使用されます。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 16 ポート 16 は PFR16 および EPFR16 で制御されます。 図 9.3-3 ポート 16 の制御レジスタ構成 アドレス PFR16 000D90H EPFR16 000DD0H bit7 6 5 4 3 2 1 0 PFR16_7 − − − − − − − EPFR16_7 − − − − − − − R/W − − − − − − − 初期値 0-------B 0-------B 表 9.3-3 ポート 16 の制御レジスタの機能説明 ビット名 値 PFR16_7/EPFR16_7 機能 0XB P16_7 : 外部端子が汎用ポート (P16_7) として使用されます。 10B 設定禁止 1XB ATGX : 外部端子が ATGX 入力として使用されます。* * : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。 ■ ポート 17 ポート 17 は PFR17 で制御されます。 図 9.3-4 ポート 17 の制御レジスタ構成 PFR17 bit7 6 5 4 3 2 1 0 アドレス 初期値 000D91H PFR17_7 PFR17_6 PFR17_5 PFR17_4 PFR17_3 PFR17_2 PFR17_1 PFR17_0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 表 9.3-4 ポート 17 の制御レジスタの機能説明 (1 / 2) ビット名 値 機能 0 P17_7 : 外部端子が汎用ポート (P17_7) として使用されます。 1 PPG7 : PPG 出力 (PPG7) として使用されます。 0 P17_6 : 外部端子が汎用ポート (P17_6) として使用されます。 1 PPG6 : PPG 出力 (PPG6) として使用されます。 0 P17_5 : 外部端子が汎用ポート (P17_5) として使用されます。 1 PPG5 : PPG 出力 (PPG5) として使用されます。 0 P17_4 : 外部端子が汎用ポート (P17_4) として使用されます。 1 PPG4 : PPG 出力 (PPG4) として使用されます。 0 P17_3 : 外部端子が汎用ポート (P17_3) として使用されます。 1 PPG3 : PPG 出力 (PPG3) として使用されます。 PFR17_7 PFR17_6 PFR17_5 PFR17_4 PFR17_3 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 231 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 表 9.3-4 ポート 17 の制御レジスタの機能説明 (2 / 2) ビット名 値 機能 0 P17_2 : 外部端子が汎用ポート (P17_2) として使用されます。 1 PPG2 : PPG 出力 (PPG2) として使用されます。 0 P17_1 : 外部端子が汎用ポート (P17_1) として使用されます。 1 PPG1 : PPG 出力 (PPG1) として使用されます。 0 P17_0 : 外部端子が汎用ポート (P17_0) として使用されます。 1 PPG0 : PPG 出力 (PPG0) として使用されます。 PFR17_2 PFR17_1 PFR17_0 ■ ポート 18 ポート 18 は PFR18 で制御されます。 図 9.3-5 ポート 18 の制御レジスタ構成 アドレス PFR18 000D92H EPFR18 000DD2H bit7 6 5 4 3 − − − − − PFR18_2 PFR18_1 PFR18_0 − − − − − EPFR18_2 − − − R/W R/W R/W − − − − 2 1 0 初期値 -----000B -----0--B 表 9.3-5 ポート 18 の制御レジスタの機能説明 ビット名 PFR18_2/EPFR18_2 値 機能 0XB P18_2 : 外部端子が汎用ポート (P18_2) として使用されます。 10B SCK6 : LIN-UART6 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシ リアルモードレジスタの SCKE ビットで行います。* 11B 設定禁止です。 0B P18_1 : 外部端子が汎用ポート (P18_1) として使用されます。 1B SOT6 : LIN-UART6 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモー ドレジスタの SOE ビットに "1" を設定してください。 0B P18_0 : 外部端子が汎用ポート (P18_0) として使用されます。 1B SIN6 : LIN-UART6 の SIN として使用されます。* PFR18_1 PFR18_0 * : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。 232 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 19 ポート 19 は PFR19 で制御されます。 図 9.3-6 ポート 19 の制御レジスタ構成 アドレス PFR19 000D93H EPFR19 000DD3H bit7 6 5 4 3 2 1 0 − PFR19_6 PFR19_5 PFR19_4 − PFR19_2 PFR19_1 PFR19_0 − EPFR19_6 − − − EPFR19_2 − − − R/W R/W R/W − R/W R/W R/W 初期値 -000-000B -0---0--B 表 9.3-6 ポート 19 の制御レジスタの機能説明 ビット名 PFR19_6/EPFR19_6 値 0XB P19_6 : 外部端子が汎用ポート (P19_6) として使用されます。 10B SCK5 : LIN-UART5 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシリ アルモードレジスタの SCKE ビットで行います。* 11B 設定禁止です。 0B P19_5 : 外部端子が汎用ポート (P19_5) として使用されます。 1B SOT5 : LIN-UART5 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモード レジスタの SOE ビットに "1" を設定してください。 0B P19_4 : 外部端子が汎用ポート (P19_4) として使用されます。 1B SIN5 : LIN-UART5 の SIN として使用されます。* PFR19_5 PFR19_4 PFR19_2/EPFR19_2 0XB P19_2 : 外部端子が汎用ポート (P19_2) として使用されます。 10B SCK4 : LIN-UART4 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシリ アルモードレジスタの SCKE ビットで行います。* 11B 設定禁止です。 0B P19_1 : 外部端子が汎用ポート (P19_1) として使用されます。 1B SOT4 : LIN-UART4 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモード レジスタの SOE ビットに "1" を設定してください。 0B P19_0 : 外部端子が汎用ポート (P19_0) として使用されます。 1B SIN4 : LIN-UART4 の SIN として使用されます。* PFR19_1 PFR19_0 機能 * : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 233 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 20 ポート 20 は PFR20 および EPFR20 で制御されます。 図 9.3-7 ポート 20 の制御レジスタ構成 アドレス PFR20 000D94H EPFR20 000DD4H bit7 6 5 4 3 2 1 0 − PFR20_6 PFR20_5 PFR20_4 − PFR20_2 PFR20_1 PFR20_0 − EPFR20_6 EPFR20_5 EPFR20_4 − EPFR20_2 EPFR20_1 EPFR20_0 R/W − R/W R/W − R/W R/W 初期値 -000-000B -000-000B R/W 表 9.3-7 ポート 20 の制御レジスタの機能説明 ビット名 PFR20_6/EPFR20_6 PFR20_5/EPFR20_5 PFR20_4/EPFR20_4 PFR20_2/EPFR20_2 PFR20_1/EPFR20_1 PFR20_0/EPFR20_0 値 機能 0XB P20_6 : 外部端子が汎用ポートとして使用されます。 10B SCK3 : LIN-UART3 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシ リアルモードレジスタの SCKE ビットで行います。*1 11B FRCK3 : フリーランタイマ 3 の CK として使用されます。*2 0XB P20_5 : 外部端子が汎用ポートとして使用されます。 10B SOT3 : LIN-UART3 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモー ドレジスタの SOE ビットに "1" を設定してください。 11B 設定禁止です。 0XB P20_4 : 外部端子が汎用ポートとして使用されます。 10B SIN3 : LIN-UART3 の SIN として使用されます。 *1 11B 設定禁止です。 0XB P20_2 : 外部端子が汎用ポートとして使用されます。 10B SCK2 : LIN-UART2 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシ リアルモードレジスタの SCKE ビットで行います。*1 11B FRCK3 : フリーランタイマ 3 の CK として使用されます。*2 0XB P20_1 : 外部端子が汎用ポートとして使用されます。 10B SOT2 : LIN-UART2 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモー ドレジスタの SOE ビットに "1" を設定してください。 11B 設定禁止です。 0XB P20_0 : 外部端子が汎用ポートとして使用されます。 10B SIN2 : LIN-UART2 の SIN として使用されます。 *1 11B 設定禁止です。 *1 : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。 *2 : フリーランタイマの入力クロック (FRCKx) は PFR と EPFR の設定とは関係なく常に入力されます。 234 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 21 ポート 21 は PFR21 および EPFR21 で制御されます。 図 9.3-8 ポート 21 の制御レジスタ構成 アドレス PFR21 000D95H EPFR21 000DD5H bit7 6 5 4 3 2 1 0 − PFR21_6 PFR21_5 PFR21_4 − PFR21_2 PFR21_1 PFR21_0 − EPFR21_6 EPFR21_5 EPFR21_4 − EPFR21_2 EPFR21_1 EPFR21_0 R/W − R/W R/W − R/W R/W 初期値 -000-000B -000-000B R/W 表 9.3-8 ポート 21 の制御レジスタの機能説明 ビット名 PFR21_6/EPFR21_6 PFR21_5/EPFR21_5 PFR21_4/EPFR21_4 PFR21_2/EPFR21_2 PFR21_1/EPFR21_1 PFR21_0/EPFR21_0 値 機能 0XB P21_6 : 外部端子が汎用ポートとして使用されます。 10B SCK1 : LIN-UART1 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシ リアルモードレジスタの SCKE ビットで行います。*1 11B FRCK1 : フリーランタイマ 1 の CK として使用されます。 *2 0XB P21_5 : 外部端子が汎用ポートとして使用されます。 10B SOT1 : LIN-UART1 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモー ドレジスタの SOE ビットに "1" を設定してください。 11B 設定禁止です。 0XB P21_4 : 外部端子が汎用ポートとして使用されます。 10B SIN1 : LIN-UART1 の SIN として使用されます。 11B 設定禁止です。 0XB P21_2 : 外部端子が汎用ポートとして使用されます。 10B SCK0 : LIN-UART0 の SCK として使用されます。 SCK として使用する場合の入出力の設定は LIN-UART のシ リアルモードレジスタの SCKE ビットで行います。*1 11B FRCK0 : フリーランタイマ 0 の CK として使用されます。 *2 0XB P21_1 : 外部端子が汎用ポートとして使用されます。 10B SOT0 : LIN-UART0 の SOT として使用されます。 SOT 出力として使用する場合は LIN-UART のシリアルモー ドレジスタの SOE ビットに "1" を設定してください。 11B 設定禁止です。 0XB P21_0 : 外部端子が汎用ポートとして使用されます。 10B SIN0 : LIN-UART0 の SIN として使用されます。 11B 設定禁止です。 *1 *1 *1 : ペリフェラルを入力として使用する場合は汎用ポートを選択していても入力されます。 *2 : フリーランタイマの入力クロック (FRCKx) は PFR と EPFR の設定とは関係なく常に入力されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 235 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 22 ポート 22 は PFR22 で制御されます。 通常動作時は , 割込み入力 (INT15, INT14, INT13, INT12) は PFR の設定とは関係なく入 力されますが , STOP モード時は内部 INT 入力への入力は以下のようになります。 • PFR = 0 のとき…内部 STOP モード信号により , 内部 INT 入力に "0" が入力される。 • PFR = 1 のとき…外部端子の値がそのまま内部 INT 入力に入力される。 このため , STOP モード解除用として使用する割込みに対しては , STOP モード実行前 に PFR を "1" に設定することが必要です。また , STOP モード解除用として使用しない 割込みに対しては , 外部割込みレジスタにてインアクティブにするための設定を行う か , PFR を "1" に設定して外部端子で処理するなどの注意が必要です。 図 9.3-9 ポート 22 の制御レジスタ構成 PFR22 bit7 6 5 4 3 2 アドレス 000D96H PFR22_7 PFR22_6 PFR22_5 PFR22_4 PFR22_3 PFR22_2 R/W R/W R/W R/W R/W R/W 1 − − 0 初期値 PFR22_0 000000-0B R/W 表 9.3-9 ポート 22 の制御レジスタの機能説明 ビット名 PFR22_7 値 0 P22_7 : 外部端子が汎用ポートとして使用されます。 1 SCL1 : I2C_1 の SCL 入出力として使用されます。 0 P22_6 : 外部端子が汎用ポートとして使用されます。 INT15 : INT15 へ入力されます。 1 SDA1 : I2C_1 の SDA 入出力として使用されます。 INT15 : INT15 へ入力されます。 INT15 を STOP モード解除用として使用する場合は "1" にしてください。 0 P22_5 : 外部端子が汎用ポートとして使用されます。 1 SCL0 : I2C_0 の SCL 入出力として使用されます。 0 P22_4 : 外部端子が汎用ポートとして使用されます。 INT14 : INT14 へ入力されます。 1 SDA0 : I2C_0 の SDA 入出力として使用されます。 INT14 : INT14 へ入力されます。 INT14 を STOP モード解除用として使用する場合は "1" にしてください。 0 P22_3 : 外部端子が汎用ポートとして使用されます。 1 設定禁止です。 0 P22_2 : 外部端子が汎用ポートとして使用されます。 INT13 : INT13 へ入力されます。 1 INT13 : INT13 へ入力されます。 INT13 を STOP モード解除用として使用する場合は "1" にしてください。 0 P22_0 : 外部端子が汎用ポートとして使用されます。 INT12 : INT12 へ入力されます。 1 INT12 : INT12 へ入力されます。 INT12 を STOP モード解除用として使用する場合は "1" にしてください。 PFR22_6 PFR22_5 PFR22_4 PFR22_3 PFR22_2 PFR22_0 236 機能 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 23 ポート 23 は PFR23 で制御されます。 通常動作時は , 割込み入力 (INT11, INT10, INT9, INT8) は PFR の設定とは関係なく入力 されますが , STOP モード時は内部 INT 入力への入力は以下のようになります。 • PFR = 0 のとき…内部 STOP モード信号により , 内部 INT 入力に "0" が入力される。 • PFR = 1 のとき…外部端子の値がそのまま内部 INT 入力に入力される。 このため , STOP モード解除用として使用する割込みに対しては , STOP モード実行前 に PFR を "1" に設定することが必要です。また , STOP モード解除用として使用しない 割込みに対しては , 外部割込みレジスタにてインアクティブにするための設定を行う か , PFR を "1" に設定して外部端子で処理するなどの注意が必要です。 図 9.3-10 ポート 23 の制御レジスタ構成 PFR23 アドレス 000D97H bit7 6 5 − PFR23_6 − − R/W − 4 3 2 1 0 初期値 PFR23_4 PFR23_3 PFR23_2 PFR23_1 PFR23_0 -0-00000B R/W R/W R/W R/W R/W 表 9.3-10 ポート 23 の制御レジスタの機能説明 ビット名 値 0 P23_6 : 外部端子が汎用ポートとして使用されます。 INT11 : INT11 へ入力されます。 1 INT11 : INT11 へ入力されます。 INT11 を STOP モード解除用として使用する場合は "1" にしてください。 0 P23_4 : 外部端子が汎用ポートとして使用されます。 INT10 : INT10 へ入力されます。 1 INT10 : INT10 へ入力されます 。 INT10 を STOP モード解除用として使用する場合は "1" にしてください。 0 P23_3 : 外部端子が汎用ポートとして使用されます。 1 TX1 : CAN1 の TX として使用されます。 0 P23_2 : 外部端子が汎用ポートとして使用されます。 RX1 : CAN1 の RX へ入力されます。 INT9 : INT9 へ入力されます。 1 RX1 : CAN1 の RX へ入力されます。 INT9 : INT9 へ入力されます。 INT9 を STOP モード解除用として使用する場合は "1" にしてください。 0 P23_1 : 外部端子が汎用ポートとして使用されます。 1 TX0 : CAN0 の TX として使用されます。 0 P23_0 : 外部端子が汎用ポートとして使用されます。 RX0 : CAN0 の RX へ入力されます。 INT8 : INT8 へ入力されます。 1 RX0 : CAN0 の RX へ入力されます。 INT8 : INT8 へ入力されます。 INT8 を STOP モード解除用として使用する場合は "1" にしてください。 PFR23_6 PFR23_4 PFR23_3 PFR23_2 PFR23_1 PFR23_0 CM71-10159-2 機能 FUJITSU MICROELECTRONICS LIMITED 237 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 24 ポート 24 は PFR24 で制御されます。 通常動作時は , 割込み入力 (INT7, INT6, INT5, INT4, INT3, INT2, INT1, INT0) は PFR の 設定とは関係なく入力されますが , STOP モード時は内部 INT 入力への入力は以下のよ うになります。 • PFR = 0 のとき…内部 STOP モード信号により , 内部 INT 入力に "0" が入力される。 • PFR = 1 のとき…外部端子の値がそのまま内部 INT 入力に入力される。 このため , STOP モード解除用として使用する割込みに対しては , STOP モード実行前 に PFR を "1" に設定することが必要です。また , STOP モード解除用として使用しない 割込みに対しては , 外部割込みレジスタにてインアクティブにするための設定を行う か , PFR を "1" に設定して外部端子で処理するなどの注意が必要です。 図 9.3-11 ポート 24 の制御レジスタ構成 PFR24 bit7 6 5 4 3 2 1 0 アドレス 初期値 000D98H PFR24_7 PFR24_6 PFR24_5 PFR24_4 PFR24_3 PFR24_2 PFR24_1 PFR24_0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 表 9.3-11 ポート 24 の制御レジスタの機能説明 (1 / 2) ビット名 値 機能 0 P24_7 : 外部端子が汎用ポートとして使用されます。 INT7 : INT7 へ入力されます。 1 INT7 : INT7 へ入力されます。 INT7 を STOP モード解除用として使用する場合は "1" にしてください。 0 P24_6 : 外部端子が汎用ポートとして使用されます。 INT6 : INT6 へ入力されます。 1 INT6 : INT6 へ入力されます。 INT6 を STOP モード解除用として使用する場合は "1" にしてください。 0 P24_5 : 外部端子が汎用ポートとして使用されます。 INT5 : INT5 へ入力されます。 1 SCL2 : I2C_2 の SCL として使用されます。 INT5 : INT5 へ入力されます。 INT5 を STOP モード解除用として使用する場合は "1" にしてください。 0 P24_4 : 外部端子が汎用ポートとして使用されます。 INT4 : INT4 へ入力されます。 1 SDA2 : I2C_2 の SDA として使用されます。 INT4 : INT4 へ入力されます。 INT4 を STOP モード解除用として使用する場合は "1" にしてください。 PFR24_7 PFR24_6 PFR24_5 PFR24_4 238 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 表 9.3-11 ポート 24 の制御レジスタの機能説明 (2 / 2) ビット名 値 機能 0 P24_3 : 外部端子が汎用ポートとして使用されます。 INT3 : INT3 へ入力されます。 1 INT3 : INT3 へ入力されます。 INT3 を STOP モード解除用として使用する場合は "1" にしてください。 0 P24_2 : 外部端子が汎用ポートとして使用されます。 INT2 : INT2 へ入力されます。 1 INT2 : INT2 へ入力されます。 INT2 を STOP モード解除用として使用する場合は "1" にしてください。 0 P24_1 : 外部端子が汎用ポートとして使用されます。 INT1 : INT1 へ入力されます。 1 INT1 : INT1 へ入力されます。 INT1 を STOP モード解除用として使用する場合は "1" にしてください。 0 P24_0 : 外部端子が汎用ポートとして使用されます。 INT0 : INT0 へ入力されます。 1 INT0 : INT0 へ入力されます。 INT0 を STOP モード解除用として使用する場合は "1" にしてください。 PFR24_3 PFR24_2 PFR24_1 PFR24_0 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 239 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 28 ポート 28 は A/D コンバータの入力と兼用しており , 汎用ポートとして使用するために は PFR28 の対応するビットを "0" に設定するだけでなく , ADER( アナログ入力許可レ ジスタ ) の対応するビットには "0" を設定してください。 図 9.3-12 ポート 28 の制御レジスタ構成 アドレス PFR28 000D9CH ADERL 0001A2H 上位バイト bit7 − − − 6 − − − 5 − − − 4 3 2 1 0 初期値 PFR28_4 PFR28_3 PFR28_2 PFR28_1 PFR28_0 00000000B ADE12 ADE11 ADE10 R/W R/W R/W ADE9 R/W ADE8 R/W 00000000B 表 9.3-12 ポート 28 の制御レジスタの機能説明 ビット名 PFR28_4 / ADE12 PFR28_3 / ADE11 PFR28_2 / ADE10 PFR28_1 / ADE9 PFR28_0 / ADE8 240 値 00B 01B, 10B 11B 00B 01B, 10B 11B 00B 01B, 10B 11B 00B 01B, 10B 11B 00B 01B, 10B 11B 機能 P28_4 : 外部端子が汎用ポートとして使用されます。 設定禁止です。 AN12 : A/D コンバータのアナログ入力として使用されます。 P28_3 : 外部端子が汎用ポートとして使用されます。 設定禁止です。 AN11 : A/D コンバータのアナログ入力として使用されます。 P28_2 : 外部端子が汎用ポートとして使用されます。 設定禁止です。 AN10 : A/D コンバータのアナログ入力として使用されます。 P28_1 : 外部端子が汎用ポートとして使用されます。 設定禁止です。 AN9 : A/D コンバータのアナログ入力として使用されます。 P28_0 : 外部端子が汎用ポートとして使用されます。 設定禁止です。 AN8 : A/D コンバータのアナログ入力として使用されます。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 9 章 I/O ポート 9.3 ポートファンクションレジスタの設定 MB91461 ■ ポート 29 ポート 29 は A/D コンバータの入力と兼用しており , 汎用ポートとして使用するために は PFR29 の対応するビットを "0" に設定するだけでなく , ADER( アナログ入力許可レ ジスタ ) の対応するビットには "0" を設定してください。 図 9.3-13 ポート 29 の制御レジスタ構成 bit7 6 5 4 3 2 1 0 アドレス 初期値 PFR29 000D9DH PFR29_7 PFR29_6 PFR29_5 PFR29_4 PFR29_3 PFR29_2 PFR29_1 PFR29_0 00000000B ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 00000000B ADERL 0001A3H ADE7 R/W R/W R/W R/W R/W R/W R/W R/W 下位バイト 表 9.3-13 ポート 29 の制御レジスタの機能説明 ビット名 値 00B PFR29_7 / ADE7 PFR29_6 / ADE6 PFR29_5 / ADE5 PFR29_4 / ADE4 PFR29_3 / ADE3 PFR29_2 / ADE2 PFR29_1 / ADE1 PFR29_0 / ADE0 01B, 10B P29_7 : 外部端子が汎用ポートとして使用されます。 設定禁止です。 11B AN7 : A/D コンバータのアナログ入力として使用されます。 00B P29_6 : 外部端子が汎用ポートとして使用されます。 01B, 10B 設定禁止です。 11B AN6 : A/D コンバータのアナログ入力として使用されます。 00B P29_5 : 外部端子が汎用ポートとして使用されます。 01B, 10B 設定禁止です。 11B AN5 : A/D コンバータのアナログ入力として使用されます。 00B P29_4 : 外部端子が汎用ポートとして使用されます。 01B, 10B 設定禁止です。 11B AN4 : A/D コンバータのアナログ入力として使用されます。 00B P29_3 : 外部端子が汎用ポートとして使用されます。 01B, 10B 設定禁止です。 11B AN3 : A/D コンバータのアナログ入力として使用されます。 00B P29_2 : 外部端子が汎用ポートとして使用されます。 01B, 10B 設定禁止です。 11B AN2: A/D コンバータのアナログ入力として使用されます。 00B P29_1 : 外部端子が汎用ポートとして使用されます。 01B, 10B 設定禁止です。 11B AN1 : A/D コンバータのアナログ入力として使用されます。 00B P29_0 : 外部端子が汎用ポートとして使用されます。 01B, 10B 11B CM71-10159-2 機能 設定禁止です。 AN0 : A/D コンバータのアナログ入力として使用されます。 FUJITSU MICROELECTRONICS LIMITED 241 第 9 章 I/O ポート 9.4 端子入力レベルの選択 9.4 MB91461 端子入力レベルの選択 端子の入力レベルは , レジスタ設定により選択することができます。 ■ 端子入力レベル 表 9.4-1 に , 入力レベルを示します。 表 9.4-1 入力レベル VIL VIH CMOS VIL = 0.3 × VDD VIH = 0.7 × VDD CMOS シュミットトリガ 1 VIL = 0.3 × VDD VIH = 0.7 × VDD CMOS シュミットトリガ 2 VIL = 0.2 × VDD VIH = 0.8 × VDD Automotive VIL = 0.5 × VDD VIH = 0.8 × VDD 名称 ■ 端子入力レベルの選択 端子ごとの入力レベルの選択には , 端子入力レベル選択レジスタ (PILR, EPIRL) が使用 されます。表 9.4-2 に 端子入力レベル選択レジスタの設定を示します 表 9.4-2 端子入力レベル選択レジスタの設定 PILRxy 端子入力レベル 0 [ 初期値 ] 1 CMOS シュミットトリガ 1 CMOS シュミットトリガ 2 <注意事項> MB91V460 では PILR の値によらず CMOS シュミットトリガ入力となります。 (VIL = 0.3 × VDD/VIH = 0.7 × VDD) 図 9.4-1 端子入力レベル選択レジスタ アドレス PILR14 PILR15 PILR16 PILR17 PILR18 PILR19 PILR20 PILR21 PILR22 PILR23 PILR24 PILR28 PILR29 242 bit 7 6 000E4EH − − 000E4FH − − 000E50H PILR16_7 − 000E51H PILR17_7 PILR17_6 000E52H − − 000E53H PILR19_6 − 000E54H PILR20_6 − 000E55H PILR21_6 − 000E56H PILR22_7 PILR22_6 000E57H PILR23_6 − 000E58H PILR24_7 PILR24_6 000E5CH − − 000E5DH PILR29_7 PILR29_6 R/W R/W 5 4 − − PILR14_3 PILR14_2 PILR14_1 PILR14_0 ----0000B 3 − − PILR15_3 PILR15_2 PILR15_1 PILR15_0 ----0000B − − − 2 − 1 − 0 初期値 − PILR17_5 PILR17_4 PILR17_3 PILR17_2 PILR17_1 PILR17_0 − PILR18_2 PILR18_1 PILR18_0 PILR19_5 PILR19_4 − PILR19_2 PILR19_1 PILR19_0 PILR20_5 PILR20_4 − PILR20_2 PILR20_1 PILR20_0 PILR21_5 PILR21_4 − PILR21_2 PILR21_1 PILR21_0 − − PILR22_5 PILR22_4 PILR22_3 PILR22_2 − − PILR22_0 PILR23_4 PILR23_3 PILR23_2 PILR23_1 PILR23_0 PILR24_5 PILR24_4 PILR24_3 PILR24_2 PILR24_1 PILR24_0 − PILR28_4 PILR28_3 PILR28_2 PILR28_1 PILR28_0 PILR29_5 PILR29_4 PILR29_3 PILR29_2 PILR29_1 PILR29_0 R/W R/W R/W R/W FUJITSU MICROELECTRONICS LIMITED R/W 0-------B 00000000B -----000B -000-000B -000-000B -000-000B ----00-0B -0-00000B 00--0000B 00000000B 00000000B R/W CM71-10159-2 第 9 章 I/O ポート 9.5 プルアップ・プルダウン制御レジスタ MB91461 9.5 プルアップ・プルダウン制御レジスタ 端子には 50kΩ のプルアップ , もしくはプルダウンを付加する機能があります。こ の機能はソフトウェアによりビット単位で制御可能です。 ■ プルアップ・プルダウン制御 プルアップ・プルダウン機能は , ポートプルアップ・プルダウン許可レジスタ (PPER) により有効とされ , ポートプルアップ・プルダウン制御レジスタ (PPCR) により , プル アップもしくはプルダウンの制御が行われます。 以下の場合は , 端子のプルアップもしくはプルダウンは自動的に無効となります。 • ポートが出力状態 • STOP モード時 ■ ポートプルアップ・プルダウン許可レジスタ 表 9.5-1 に , ポートプルアップ・プルダウン許可レジスタを示します。 I2C インタフェースと兼用しているポート , および A/D コンバータの入力と兼用してい るポートにはプルアップ・プルダウン制御はありません。 表 9.5-1 ポートプルアップ・プルダウン許可レジスタの設定 ポートプルアップ・プルダウン許可レジスタ ビット PPERxy 0 [ 初期値 ] 1 プルアップ・プルダウン無効 プルアップ・プルダウン有効 図 9.5-1 ポートプルアップ・プルダウン許可レジスタ アドレス PPER14 PPER15 PPER16 PPER17 PPER18 PPER19 PPER20 PPER21 PPER22 PPER23 PPER24 PPER28 PPER29 bit 000ECEH 000ECFH 000ED0H 000ED1H 000ED2H 000ED3H 000ED4H 000ED5H 000ED6H 000ED7H 000ED8H 000EDCH 000EDDH 7 6 5 4 − − − − PPER14_3 PPER14_2 PPER14_1 PPER14_0 − − − − PPER15_3 PPER16_7 − − − − PPER17_7 PPER17_6 PPER17_5 PPER17_4 PPER17_3 − − − − − − PPER19_6 PPER19_5 PPER19_4 − − PPER20_6 PPER20_5 PPER20_4 − − PPER21_6 PPER21_5 PPER21_4 − − − − PPER23_6 − PPER24_7 PPER24_6 − − − − − − PPER22_3 PPER23_4 PPER23_3 − PPER24_3 PPER28_4 PPER28_3 PPER29_7 PPER29_6 PPER29_5 PPER29_4 PPER29_3 R/W CM71-10159-2 3 R/W R/W R/W R/W 2 1 0 初期値 ----0000B PPER15_2 PPER15_1 PPER15_0 ----0000B 0-------B − − − PPER17_2 PPER17_1 PPER17_0 00000000B PPER18_2 PPER18_1 PPER18_0 -----000B PPER19_2 PPER19_1 PPER19_0 -000-000B PPER20_2 PPER20_1 PPER20_0 -000-000B PPER21_2 PPER21_1 PPER21_0 -000-000B PPER22_2 PPER22_0 ----00-0B − PPER23_2 PPER23_1 PPER23_0 -0-00000B PPER24_2 PPER24_1 PPER24_0 00--0000B PPER28_2 PPER28_1 PPER28_0 00000000B PPER29_2 PPER29_1 PPER29_0 00000000B R/W R/W R/W FUJITSU MICROELECTRONICS LIMITED 243 第 9 章 I/O ポート 9.5 プルアップ・プルダウン制御レジスタ MB91461 ■ ポートプルアップ・プルダウン制御レジスタ 表 9.5-2 に , ポートプルアップ・プルダウン制御レジスタの設定を示します。各ビット の設定値は対応する PPER が設定されているときのみ有効です。 I2C インタフェースと兼用しているポート , および A/D コンバータの入力と兼用してい るポートにはプルアップ・プルダウン制御はありません。 表 9.5-2 ポートプルアップ・プルダウン制御レジスタの設定 ポートプルアップ・プルダウン制御レジスタ ビット PPCRxy 0 1 ( 初期値 ) プルダウン プルアップ 図 9.5-2 ポートプルアップ・プルダウン制御レジスタ bit アドレス PPCR14 000F0EH PPCR15 000F0FH PPCR16 000F10H PPCR17 000F11H PPCR18 000F12H PPCR19 000F13H PPCR20 000F14H PPCR21 000F15H PPCR22 000F16H PPCR23 000F17H PPCR24 000F18H PPCR28 000F1CH PPCR29 000F1DH 7 6 5 − − − − − − PPCR16_7 − − PPCR17_7 PPCR17_6 PPCR17_5 − − − − PPCR19_6 PPCR19_5 − PPCR20_6 PPCR20_5 − PPCR21_6 PPCR21_5 − − − − PPCR23_6 − PPCR24_7 PPCR24_6 − − − − PPCR29_7 PPCR29_6 PPCR29_5 R/W R/W R/W 4 3 2 1 0 初期値 ----1111B PPCR15_3 PPCR15_2 PPCR15_1 PPCR15_0 ----1111B − 1-------B − − − − − PPCR17_4 PPCR17_3 PPCR17_2 PPCR17_1 PPCR17_0 11111111B PPCR18_2 PPCR18_1 PPCR18_0 -----111B − − PPCR19_4 PPCR19_2 PPCR19_1 PPCR19_0 -111-111B − PPCR20_4 PPCR20_2 PPCR20_1 PPCR20_0 -111-111B − PPCR21_4 PPCR21_2 PPCR21_1 PPCR21_0 -111-111B − PPCR22_3 PPCR22_2 PPCR22_0 ----11-1B − − PPCR23_4 PPCR23_3 PPCR23_2 PPCR23_1 PPCR23_0 -1-11111B PPCR24_3 PPCR24_2 PPCR24_1 PPCR24_0 11--1111B − PPCR28_4 PPCR28_3 PPCR28_2 PPCR28_1 PPCR28_0 11111111B PPCR29_4 PPCR29_3 PPCR29_2 PPCR29_1 PPCR29_0 11111111B R/W R/W R/W R/W R/W − PPCR14_3 PPCR14_2 PPCR14_1 PPCR14_0 <注意事項> プルアップもしくはプルダウンが有効である期間 (PPER = 1) は , PPCR への書込みアク セスは無効となり , レジスタ値は更新されません。PPCR の設定値の変更は , 対応する PPER が "0" の場合にのみ有効です。 244 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 割込みコントローラの概要 , レジスタの構成 / 機能 , および動作について説明します。 10.1 割込みコントローラの概要 10.2 割込みコントローラのレジスタ 10.3 割込みコントローラの動作説明 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 245 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 10.1 MB91461 割込みコントローラの概要 割込みコントローラは , 割込み受付け / 調停処理を行います。 ■ 割込みコントローラのハードウェア構成 本モジュールは , 以下のものより構成されます。 • ICR レジスタ • 割込み優先度判定回路 • 割込みレベル , 割込み番号 ( ベクタ ) 発生部 • ホールドリクエスト取下げ要求発生部 ■ 割込みコントローラの主要機能 本モジュールには , 主に以下のような機能があります。 • NMI 要求 / 割込み要求の検出 • 優先度判定 ( レベルおよび番号による ) • 判定結果の要因の割込みレベル伝達 (CPU へ ) • 判定結果の要因の割込み番号伝達 (CPU へ ) • NMI/ 割込みレベルが 11111B 以外の割込み発生によるストップモードからの復帰指 示 (CPU へ ) • バスマスタへのホールドリクエスト取下げ要求発生 246 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 MB91461 ■ 割込みコントローラのレジスタ一覧 図 10.1-1 に , 割込みコントローラのレジスタ一覧を示します。 図 10.1-1 割込みコントローラのレジスタ一覧 レジスタ アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ICR00 000440H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR01 000441H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR02 000442H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR03 000443H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR04 000444H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR05 000445H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR06 000446H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR07 000447H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR08 000448H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR09 000449H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR10 00044AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR11 00044BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR12 00044CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR13 00044DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR14 00044EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR15 00044FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR16 000450H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR17 000451H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR18 000452H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR19 000453H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR20 000454H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR21 000455H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR22 000456H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR23 000457H − − − ICR4 ICR3 ICR2 ICR1 ICR0 (ICR24) 000458H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR25 000459H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR26 00045AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR27 00045BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR28 00045CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR29 00045DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR30 00045EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR31 00045FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR32 000460H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR33 000461H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR36 000464H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ( 続く ) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 247 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 MB91461 ( 続き ) レジスタ アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ICR34 000462H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR35 000463H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR37 000465H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR38 000466H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR39 000467H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR40 000468H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR41 000469H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR42 00046AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR43 00046BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR44 00046CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR45 00046DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR46 00046EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR47 00046FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR48 000470H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR49 000471H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR50 000472H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR51 000473H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR52 000474H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR53 000475H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR54 000476H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR55 000477H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR56 000478H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR57 000479H − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR58 00047AH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR59 00047BH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR60 00047CH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR61 00047DH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR62 00047EH − − − ICR4 ICR3 ICR2 ICR1 ICR0 ICR63 00047FH − − − ICR4 ICR3 ICR2 ICR1 ICR0 R R/W R/W R/W R/W レジスタ アドレス bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 HRCL 000045H MHALTI − − LVL4 LVL3 LVL2 LVL1 LVL0 R R/W R/W R/W R/W R/W 248 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.1 割込みコントローラの概要 MB91461 ■ 割込みコントローラのブロックダイヤグラム 図 10.1-2 に , 割込みコントローラのブロックダイヤグラムを示します。 図 10.1-2 割込みコントローラのブロックダイヤグラム ウェイクアップ (レベル≠11111Bのとき"1") UNMI 優先度判定 NMI 処理 レベル4~ レベル0 5 / レベル, ベクタ 発生 レベル判定 RI00 ・ ・ ・ RI63 ( DLYIRQ) ICR00 ・ ・ ・ ICR63 ベクタ 判定 ホールド リクエスト 取下げ要求 6 / MHALTI VCT5~VCT0 R-bus CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 249 第 10 章 割込みコントローラ 10.2 割込みコントローラのレジスタ 10.2 MB91461 割込みコントローラのレジスタ 割込みコントローラのレジスタ構成および機能について説明します。 ■ 割込みコントローラのレジスタ詳細 割込みコントローラには , 以下の 2 種類のレジスタがあります。 • 割込み制御レジスタ (ICR) • ホールドリクエスト取下げ要求レジスタ (HRCL) 250 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.2 割込みコントローラのレジスタ MB91461 10.2.1 割込み制御レジスタ (ICR) ICR は , 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対応する割込み要求の割込みレベルを設定します。 ■ 割込み制御レジスタ (ICR) のビット構成 図 10.2-1 に , 割込み制御レジスタ (ICR) のビット構成を示します。 図 10.2-1 割込み制御レジスタ (ICR) のビット構成 7 アドレス : bit ch.00 000440H − 6 − 5 4 3 2 1 0 初期値 − ICR4 ICR3 ICR2 ICR1 ICR0 ---11111B R R/W R/W R/W R/W ∼ ch.63 00047FH [bit4 ∼ bit0] ICR4 ∼ ICR0 割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。 本レジスタに設定した割込みレベルが CPU の ILM レジスタに設定した ( された ) レ ベルマスク値以上の場合は , CPU 側にて割込み要求はマスクされます。 リセットにより , 11111B に初期化されます。 表 10.2-1 に , 設定可能な割込みレベル設定ビットと割込みレベルの対応を示します。 表 10.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" を書き込むことはできません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 251 第 10 章 割込みコントローラ 10.2 割込みコントローラのレジスタ 10.2.2 MB91461 ホールドリクエスト取下げ要求レジスタ (HRCL) HRCL は , ホールドリクエスト取下げ要求発生のためのレベル設定レジスタです。 ■ ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成は , 以下のとおりです。 図 10.2-2 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 HRCL bit アドレス :000039H 7 MHALTI 6 − R/W 5 4 3 2 1 0 初期値 − LVL4 LVL3 LVL2 LVL1 LVL0 0--11111B R R/W R/W R/W R/W [bit7] MHALTI MHALTI は , NMI の要求による DMA 転送抑止ビットです。NMI 要求によって "1" にセットされ , "0" を書き込むことによってクリアされます。NMI ルーチンの最後 で通常の割込みルーチンと同様にクリアしてください。 [bit4 ∼ bit0] LVL4 ∼ LVL0 バスマスタへのホールドリクエスト取下げ要求を出すための割込みレベルを設定 します。 本レジスタに設定した割込みレベルより強いレベルの割込み要求が発生した場合 は , バスマスタに対してホールドリクエスト取下げ要求を発生します。 LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。 252 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 割込みコントローラの動作説明 10.3 割込みコントローラの動作について説明します。 ■ 優先順位判定 本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選 択し , その要因の割込みレベルと割込み番号を CPU へ出力します。 割込み要因の優先順位判定基準は , 以下のとおりです。 1)NMI 2) 以下の条件を満たす要因 - 割込みレベルの数値が 31 以外 (31 は割込み禁止 ) - 割込みレベルの数値が最も小さい要因 - その中で , 最も小さい割込み番号の要因 上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし て 31 (11111B) を出力します。そのときの割込み番号は不定です。 表 10.3-1 に , 割込み要因と割込み番号 , 割込みレベルの関係を示します。 表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (1 / 6) 割込み番号 割込み要因 10 進 16 進 割込みレベル 設定 レジスタ レジスタ アドレス オフ セット TBR リソース デフォルトの 番号 *1 アドレス リセット 0 00H − − 3FCH 000FFFFCH − モードベクタ 1 01H − − 3F8H 000FFFF8H − システム予約 2 02H − − 3F4H 000FFFF4H − システム予約 3 03H − − 3F0H 000FFFF0H − システム予約 4 04H − − 3ECH 000FFFECH − システム予約 (UDSU) 5 05H − − 3E8H 000FFFE8H − システム予約 (UDSU) 6 06H − − 3E4H 000FFFE4H − コプロセッサ不在トラップ 7 07H − − 3E0H 000FFFE0H − コプロセッサエラートラップ 8 08H − − 3DCH 000FFFDCH − INTE 命令 9 09H − − 3D8H 000FFFD8H − システム予約 10 0AH − − 3D4H 000FFFD4H − システム予約 11 0BH − − 3D0H 000FFFD0H − ステップトレーストラップ 12 0CH − − 3CCH 000FFFCCH − MNI 要求 (tool) 13 0DH − − 3C8H 000FFFC8H − CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 253 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (2 / 6) 割込み番号 割込み要因 10 進 16 進 割込みレベル 設定 レジスタ レジスタ アドレス オフ セット TBR リソース デフォルトの 番号 *1 アドレス 未定義命令例外 14 0EH − − 3C4H 000FFFC4H − NMI 要求 15 0FH 15 (F) 固定 15 (F) 固定 3C0H 000FFFC0H − 外部割込み 0 16 10H 000FFFBCH 0 440H 3BCH ICR00 3B8H 000FFFB8H 1 3B4H 000FFFB4H 2 3B0H 000FFFB0H 3 3ACH 000FFFACH − 3A8H 000FFFA8H − 3A4H 000FFFA4H − 3A0H 000FFFA0H − 39CH 000FFF9CH − 398H 000FFF98H − 394H 000FFF94H − 390H 000FFF90H − 38CH 000FFF8CH − 388H 000FFF88H − 384H 000FFF84H − 380H 000FFF80H − 37CH 000FFF7CH 4 378H 000FFF78H 5 374H 000FFF74H − 370H 000FFF70H − 36CH 000FFF6CH − 368H 000FFF68H − 364H 000FFF64H − 360H 000FFF60H − 外部割込み 1 17 11H 外部割込み 2 18 12H ICR01 外部割込み 3 19 13H 外部割込み 4 20 14H ICR02 外部割込み 5 21 15H 外部割込み 6 22 16H ICR03 外部割込み 7 23 17H 外部割込み 8 24 18H ICR04 外部割込み 9 25 19H 外部割込み 10 26 1AH ICR05 外部割込み 11 27 1BH 外部割込み 12 28 1CH ICR06 外部割込み 13 29 1DH 外部割込み 14 30 1EH ICR07 外部割込み 15 31 1FH リロードタイマ 0 32 20H ICR08 リロードタイマ 1 33 21H リロードタイマ 2 34 22H ICR09 リロードタイマ 3 35 23H システム予約 36 24H ICR10 システム予約 37 25H システム予約 38 26H ICR11 リロードタイマ 7 254 39 27H 441H 442H 443H 444H 445H 446H 447H 448H 449H 44AH 44BH FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (3 / 6) 割込み番号 割込み要因 10 進 16 進 フリーランタイマ 0 40 割込みレベル 設定 レジスタ レジスタ アドレス 28H ICR12 フリーランタイマ 1 41 29H フリーランタイマ 2 42 2AH ICR13 フリーランタイマ 3 43 2BH システム予約 44 2CH ICR14 システム予約 45 2DH システム予約 46 2EH ICR15 システム予約 47 2FH CAN 0 48 30H ICR16 CAN 1 49 31H システム予約 50 32H ICR17 システム予約 51 33H システム予約 52 34H ICR18 システム予約 53 35H LIN-UART 0 RX 54 36H ICR19 LIN-UART 0 TX 55 37H LIN-UART 1 RX 56 38H ICR20 LIN-UART 1 TX 57 39H LIN-UART 2 RX 58 3AH ICR21 LIN-UART 2 TX 59 3BH LIN-UART 3 RX 60 3CH ICR22 LIN-UART 3 TX 61 3DH システム予約 62 3EH ICR23 遅延割込み 63 3FH システム予約 64 40H (ICR24) システム予約 65 41H LIN-UART 4 RX 66 42H ICR25 LIN-UART 4 TX CM71-10159-2 67 43H 44CH 44DH 44EH 44FH 450H 451H 452H 453H 454H 455H 456H 457H 458H 459H オフ セット TBR リソース デフォルトの 番号 *1 アドレス 35CH 000FFF5CH − 358H 000FFF58H − 354H 000FFF54H − 350H 000FFF50H − 34CH 000FFF4CH − 348H 000FFF48H − 344H 000FFF44H − 340H 000FFF40H − 33CH 000FFF3CH − 338H 000FFF38H − 334H 000FFF34H − 330H 000FFF30H − 32CH 000FFF2CH − 328H 000FFF28H − 324H 000FFF24H 6 320H 000FFF20H 7 31CH 000FFF1CH 8 318H 000FFF18H 9 314H 000FFF14H − 310H 000FFF10H − 30CH 000FFF0CH − 308H 000FFF08H − 304H 000FFF04H − 300H 000FFF00H − 2FCH 000FFEFCH − 2F8H 000FFEF8H − 2F4H 000FFEF4H 10 2F0H 000FFEF0H 11 FUJITSU MICROELECTRONICS LIMITED 255 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (4 / 6) 割込み番号 割込み要因 10 進 16 進 LIN-UART 5 RX 68 割込みレベル 設定 レジスタ レジスタ アドレス 44H ICR26 LIN-UART 5 TX 69 45H LIN-UART 6 RX 70 46H ICR27 LIN-UART 6 TX 71 47H システム予約 72 48H ICR28 システム予約 73 49H I2C0 / I2C2 74 4AH ICR29 I2C1 / I2C3 75 4BH システム予約 76 4CH ICR30 システム予約 77 4DH システム予約 78 4EH ICR31 システム予約 79 4FH システム予約 80 50H ICR32 システム予約 81 51H システム予約 82 52H ICR33 システム予約 83 53H システム予約 84 54H ICR34 システム予約 85 55H システム予約 86 56H ICR35 システム予約 87 57H システム予約 88 58H ICR36 システム予約 89 59H システム予約 90 5AH ICR37 システム予約 91 5BH インプットキャプチャ 0 92 5CH ICR38 インプットキャプチャ 1 93 5DH インプットキャプチャ 2 94 5EH ICR39 インプットキャプチャ 3 256 95 5FH 45AH 45BH 45CH オフ セット TBR リソース デフォルトの 番号 *1 アドレス 2ECH 000FFEECH 12 2E8H 000FFEE8H 13 2E4H 000FFEE4H − 2E0H 000FFEE0H − 2DCH 000FFEDCH − 2D8H 000FFED8H − 2D4H 000FFED4H − 2D0H 000FFED0H − 2CCH 000FFECCH − 2C8H 000FFEC8H − 2C4H 000FFEC4H − 2C0H 000FFEC0H − 2BCH 000FFEBCH − 2B8H 000FFEB8H − 2B4H 000FFEB4H − 2B0H 000FFEB0H − 2ACH 000FFEACH − 2A8H 000FFEA8H − 2A4H 000FFEA4H − 2A0H 000FFEA0H − 29CH 000FFE9CH − 298H 000FFE98H − 294H 000FFE94H − 290H 000FFE90H − 28CH 000FFE8CH − 288H 000FFE88H − 284H 000FFE84H − 280H 000FFE80H − 45DH 45EH 45FH 460H 461H 462H 463H 464H 465H 566H 467H FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (5 / 6) 割込み番号 割込み要因 10 進 16 進 システム予約 96 割込みレベル 設定 レジスタ レジスタ アドレス 60H ICR40 システム予約 97 61H システム予約 98 62H ICR41 システム予約 99 63H アウトプットキャプチャ 0 100 64H ICR42 アウトプットキャプチャ 1 101 65H アウトプットキャプチャ 2 102 66H ICR43 アウトプットキャプチャ 3 103 67H システム予約 104 68H ICR44 システム予約 105 69H システム予約 106 6AH ICR45 システム予約 107 6BH システム予約 108 6CH ICR46 システム予約 109 6DH システム予約 110 6EH ICR47 システム予約 111 6FH PPG0 112 70H ICR48 PPG1 113 71H PPG2 114 72H ICR49 PPG3 115 73H PPG4 116 74H ICR50 PPG5 117 75H PPG6 118 76H ICR51 PPG7 119 77H システム予約 120 78H ICR52 システム予約 121 79H システム予約 122 7AH ICR53 システム予約 CM71-10159-2 123 7BH 468H 469H 46AH 46BH 46CH 46DH 46EH 46FH 470H 471H 472H 473H 474H 475H オフ セット TBR リソース デフォルトの 番号 *1 アドレス 27CH 000FFE7CH − 278H 000FFE78H − 274H 000FFE74H − 270H 000FFE70H − 26CH 000FFE6CH − 268H 000FFE68H − 264H 000FFE64H − 260H 000FFE60H − 25CH 000FFE5CH − 258H 000FFE58H − 254H 000FFE54H − 250H 000FFE50H − 24CH 000FFE4CH − 248H 000FFE48H − 244H 000FFE44H − 240H 000FFE40H − 23CH 000FFE3CH 15 238H 000FFE38H − 234H 000FFE34H − 230H 000FFE30H − 22CH 000FFE2CH − 228H 000FFE28H − 224H 000FFE24H − 220H 000FFE20H − 21CH 000FFE1CH − 218H 000FFE18H − 214H 000FFE14H − 210H 000FFE10H − FUJITSU MICROELECTRONICS LIMITED 257 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 表 10.3-1 割込み要因と割込み番号 , 割込みレベルの関係 (6 / 6) 割込み番号 割込み要因 10 進 16 進 システム予約 124 割込みレベル 設定 レジスタ レジスタ アドレス 7CH ICR54 システム予約 125 7DH システム予約 126 7EH ICR55 システム予約 127 7FH システム予約 128 80H ICR56 システム予約 129 81H システム予約 130 82H ICR57 システム予約 131 83H リアルタイムクロック 132 84H ICR58 システム予約 133 85H A/D コンバータ 0 134 85H ICR59 システム予約 135 87H システム予約 136 88H ICR60 システム予約 137 89H システム予約 138 8AH ICR61 システム予約 139 8BH タイムベースオーバフロー 140 8CH ICR62 PLL クロックギア 141 8DH DMA コントローラ 142 8EH ICR63 メイン / サブ発振安定待ち 143 8FH システム予約 144 90H INT 命令で使用 145 : 255 91H : FFH 258 − − オフ セット TBR リソース デフォルトの 番号 *1 アドレス 20CH 000FFE0CH − 208H 000FFE08H − 204H 000FFE04H − 200H 000FFE00H − 1FCH 000FFDFCH − 1F8H 000FFDF8H − 1F4H 000FFDF4H − 1F0H 000FFDF0H − 1ECH 000FFDECH − 1E8H 000FFDE8H − 1E4H 000FFDE4H 14 1E0H 000FFDE0H − 1DCH 000FFDDCH − 1D8H 000FFDD8H − 1D4H 000FFDD4H − 1D0H 000FFDD0H − 1CCH 000FFDCCH − 1C8H 000FFDC8H − 1C4H 000FFDC4H − 1C0H 000FFDC0H − − 1BCH 000FFDBCH − − 1B8H : 000H 000FFDB8H : 000FFC00H − 476H 477H 478H 479H 47AH 47BH 47CH 47DH 47EH 47FH FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 ■ NMI (Non Maskable Interrupt) NMI は , 本モジュールが取り扱う割込み要因の中では最も優先順位が高くなっていま す。 そのため , ほかの割込み要因と同時発生の場合は常に NMI が選択されます。 ● NMI 発生 NMI が発生すると , CPU に対して次の情報を伝えます。 • 割込みレベル : 15 (01111B) • 割込み番号 : 15 (0001111B) ● NMI 検出 NMI の設定および検出は , 外部割込み /NMI モジュールで行います。本モジュールでは NMI 要求により , 割込みレベル / 割込み番号 , MHALTI の生成のみを行います。 ● NMI による DMA 転送の抑止 NMI 要求が発生すると , HRCL レジスタの MHALTI ビットが "1" になり , DMA 転送が 抑止されます。DMA 転送の抑止を解除したい場合は , NMI ルーチンの最後にて MHALTI ビットを "0" にクリアしてください。 ■ ホールドリクエスト取下げ要求 (Hold Request Cancel Request) 優先度の高い割込み処理を CPU のホールド中 (DMA 転送中 ) に行う場合は , ホールド リクエスト発生元においてリクエストを取り下げさせる必要があります。この取下げ 要求発生の基準となる割込みレベルを HRCL レジスタに設定します。 ● 発生基準 HRCL レジスタに設定した割込みレベルより強いレベルの割込み要因が発生した場合 は , ホールドリクエスト取下げ要求を発生します。 HRCL レジスタの割込みレベル > 優先度判定後の割込みレベル →取下げ要求発生 HRCL レジスタの割込みレベル ≦ 優先度判定後の割込みレベル →取下げ要求なし 取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効 であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割 込み要因をクリアしてください。また , NMI を使用したときは , HRCL レジスタの MHALTI ビットが "1" となっているため , 取下げ要求が有効になっています。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 259 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 ● 設定可能なレベル HRCL レジスタに設定可能な値は , ICR と同様に 10000B から 11111B までです。 11111B に設定した場合はすべての割込みレベルに対して取下げ要求を発生し , また , 10000B に設定した場合は NMI でのみ取下げ要求を発生します。 表 10.3-2 に , ホールドリクエスト取下げ要求発生となる割込みレベルの設定を示しま す。 表 10.3-2 ホールドリクエスト取下げ要求発生となる割込みレベルの設定 HRCL レジスタ 取下げ要求発生となる割込みレベル 17 NMI, 割込みレベル 16 18 NMI, 割込みレベル 16, 17 ∼ NMI のみ ∼ 16 31 NMI, 割込みレベル 16 ∼ 30 [ 初期値 ] リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割 込みが発生していると DMA 転送は行われませんので , HRCL レジスタの値を必要な値 に設定してください。 ■ スタンバイモード ( ストップ / スリープ ) からの復帰 割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し ます。NMI を含む , 周辺からの割込み要求 ( 割込みレベルが 11111B 以外 ) が 1 つでも 発生すると , クロック制御部に対してストップモードからの復帰要求を発生します。 優先度判定部はストップ復帰後にクロックが供給されてから動作を再開しますので , 優先度判定部の結果が出るまでの間 , CPU は命令を実行します。 スリープ状態からの復帰においても同様に動作します。また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。 <注意事項> • NMI 要求でシャットダウンモードからの復帰はできません。 • NMI 要求においてもストップモードからの復帰を行います。ただし , ストップ時に有効 な入力を検出するように NMI の設定を行ってください。 • ストップおよびスリープからの復帰の要因としない割込み要因は , 対応する周辺の制 御レジスタにて割込みレベルを 11111B にしてください。 260 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 ■ ホールドリクエスト取下げ要求機能 (HRCL) の使用例 DMA 転送中に CPU が優先度の高い処理を行いたいときは , DMA に対してホールドリ クエストを取り下げさせ , ホールド状態を解除する必要があります。ここでは , 割込み を利用して DMA に対してホールドリクエストの取下げ , すなわち , CPU の優先動作を 実現します。 ● 制御レジスタ ① HRCL ( ホールドリクエストキャンセルレベル設定レジスタ ) : 本モジュール : 本レジスタに設定した割込みレベルより強いレベルの割込みが発生した場合に , DMA に対してホールドリクエスト取下げ要求を発生します。その基準となるレベ ルを設定します。 ② ICR: 本モジュール : 使用する割込み要因に対応する ICR に , HRCL レジスタよりも強いレベルを設定し ます。 ● ハードウェア構成 図 10.3-1 に , ホールドリクエストの各信号の流れを示します。 図 10.3-1 ホールドリクエストの各信号の流れ 本モジュール IRQ バスアクセス要求 MHALTI I-ユニット DHREQ DMA DHREQ:D-busホールドリクエスト CPU B-ユニット (ICR) DHACK:D-busホールドアクノリッジ IRQ :割込み要求 (HRCL) DHACK MHALTI:ホールドリクエスト 取下げ要求 ● シーケンス 図 10.3-2 に , 割込みレベル HRCL < ICR (LEVEL) を示します。 図 10.3-2 割込みレベル HRCL < ICR (LEVEL) RUN CPU バスホールド 割込み処理 バスホールド(DMA転送) ① ② バスアクセス要求 割込みルーチンの例 ①割込み要因クリア DHREQ ~ DHACK ②RETI IRQ LEVEL MHALTI CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 261 第 10 章 割込みコントローラ 10.3 割込みコントローラの動作説明 MB91461 割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した レベルより強いと DMA に対して MHALTI を "H" レベルにします。これによって , DMA はアクセス要求を取り下げ , CPU はホールド状態から復帰して割込み処理を行います。 図 10.3-3 に , 割込みレベル HRCL < ICR ( 割込みⅠ ) < ICR ( 割込みⅡ ) を示します。 図 10.3-3 割込みレベル HRCL < ICR ( 割込みⅠ ) < ICR ( 割込みⅡ ) RUN バスホールド 割込み I 割込み処理II ③ CPU ④ 割込み処理I バスホールド(DMA転送) ① ② バスアクセス要求 DHREQ DHACK IRQ1 IRQ2 LEVEL MHALTI 〔割込みルーチンの例〕 ① , ③割込み要因クリア ∼ ② , ④ RETI 上記の例では割込みルーチン I を実行中に , それよりも優先度の高い割込みが発生した 場合を示しています。 HRCL レジスタに設定した割込みレベルより高い割込みレベルが発生している間は , DHREQ はさがっています。 <注意事項> HRCL レジスタと ICR に設定する割込みレベルの関係には十分注意してください。 262 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 11 章 外部割込み制御部 外部割込み制御部の概要 , レジスタの構成 / 機能 , および動作について説明します。 11.1 外部割込み制御部の概要 11.2 外部割込み制御部のレジスタ 11.3 外部割込み制御部の動作説明 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 263 第 11 章 外部割込み制御部 11.1 外部割込み制御部の概要 MB91461 外部割込み制御部の概要 11.1 外部割込み制御部は , INT 端子に入力される外部割込み要求の制御を行うブロックで す。検出する要求のレベル / エッジとして , 以下の 4 種類から選択できます。 • "H" レベル • "L" レベル • 立上りエッジ • 立下りエッジ ■ 外部割込み制御部のレジスタ一覧 図 11.1-1 に , 外部割込み制御部のレジスタ一覧を示します。 図 11.1-1 外部割込み制御部のレジスタ一覧 bit bit bit bit 7 6 5 4 3 2 1 0 EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 15 14 13 12 11 10 9 8 ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 15 14 13 12 11 10 9 8 LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 7 6 5 4 3 2 1 0 LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 外部割込み許可レジスタ (ENIR) 外部割込み要因レジスタ (EIRR) 要求レベル設定レジスタ (ELVR) ■ 外部割込み制御部のブロックダイヤグラム 図 11.1-2 に , 外部割込み制御部のブロックダイヤグラムを示します。 図 11.1-2 外部割込み制御部のブロックダイヤグラム R-bus 8 割込み 要求 17 割込み許可レジスタ ゲート 要因F/F エッジ検出回路 17 INT0~INT15 NMI 8 割込み要因レジスタ 16 264 要求レベル設定レジスタ FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ MB91461 11.2 外部割込み制御部のレジスタ 外部割込み制御部のレジスタ構成および機能について説明します。 ■ 外部割込み制御部のレジスタ詳細 外部割込み制御部のレジスタには , 以下の 3 種類があります。 • 割込み許可レジスタ (ENIR) • 外部割込み要因レジスタ (EIRR) • 外部割込み要求レベル設定レジスタ (ELVR) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 265 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ 11.2.1 MB91461 割込み許可レジスタ (ENIR) ENIR は外部割込み要求出力のマスク制御を行います。 ■ 割込み許可レジスタ (ENIR) のビット構成 図 11.2-1 に , 割込み許可レジスタのビット構成を示します。 図 11.2-1 割込み許可レジスタのビット構成 bit 7 6 5 4 3 2 1 0 ENIR0 アドレス : 000031H EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 初期値 00000000B [R/W] bit 7 6 5 4 3 2 1 0 ENIR1 アドレス : 000035H EN15 EN14 EN13 EN12 EN11 EN10 EN9 EN8 初期値 00000000B [R/W] このレジスタの "1" を書かれたビットに対応する割込み要求出力は許可され (INT0 の 許可を EN0 が制御 ) , 割込みコントローラに対して要求が出力されます。"0" が書かれ たビットの対応する端子は割込み要因を保持しますが , 割込みコントローラに対して は要求を発生しません。 266 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ MB91461 11.2.2 外部割込み要因レジスタ (EIRR) EIRR は読出し時には対応する外部割込み要求があることを示し , 書込み時にはこの 要求を示すフリップフロップ内容をクリアするレジスタです。 ■ 外部割込み要因レジスタ (EIRR) のビット構成 図 11.2-2 に , 外部割込み要因レジスタのビット構成を示します。 図 11.2-2 外部割込み要因レジスタのビット構成 bit EIRR0 アドレス : 000030H 15 14 13 12 11 10 9 8 ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 初期値 00000000B [R/W] bit 15 14 13 12 11 10 9 8 EIRR1 アドレス : 000034H ER15 ER14 ER13 ER12 ER11 ER10 ER9 ER8 初期値 00000000B [R/W] この EIRR レジスタを読み出したとき , その値によって動作が以下のようになります。 "1" であった場合に , そのビットに対応する端子に外部割込み要求があることを示しま す。また , このレジスタに "0" を書き込むと , 対応するビットの要求フリップフロップ がクリアされます。 "1" の書込みは無効です。 リードモディファイライト (RMW) 系命令の読出し時には "1" が読み出されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 267 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ 11.2.3 MB91461 外部割込み要求レベル設定レジスタ (ELVR) ELVR は要求検出の選択を行うレジスタです。 ■ 外部割込み要求レベル設定レジスタ (ELVR) のビット構成 図 11.2-3 に , 外部割込み要求レベル設定レジスタのビット構成を示します。 図 11.2-3 外部割込み要求レベル設定レジスタのビット構成 bit 15 14 13 12 11 10 9 8 ELVR0 アドレス : 000032H LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 bit 7 000033H LB3 6 5 4 3 2 1 0 LA3 LB2 LA2 LB1 LA1 LB0 LA0 初期値 00000000B 初期値 00000000B [R/W] bit 15 14 13 12 11 10 9 8 ELVR1 アドレス : 000036H LB15 LA15 LB14 LA14 LB13 LA13 LB12 LA12 初期値 00000000B bit 7 6 5 4 3 000037H LB11 LA11 LB10 LA10 LB9 初期値 00000000B 2 1 0 LA9 LB8 LA8 [R/W] 各割込みチャネルに 2 ビットずつが割り当てられていて , 以下のような設定になりま す。 要求入力がレベルの場合 , EIRR の各ビットをクリアしても入力がアクティブレベルな らば該当するビットは再び設定されます。 表 11.2-1 に , ELVR 割当てを示します。 表 11.2-1 ELVR 割当て LBx, LAx 268 動 作 00B "L" レベルで要求あり [ 初期値 ] 01B "H" レベルで要求あり 10B 立上りエッジで要求あり 11B 立下りエッジで要求あり FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 MB91461 第 11 章 外部割込み制御部 11.2 外部割込み制御部のレジスタ <注意事項> • STOPモードおよびシャットダウンモードからの復帰要因となる割込みに対して, エッ ジ検出の設定をすることはできません。 • 外部割込み要求レベルを変更すると , 内部で割込み要因が発生する場合がありますの で , 外部割込み要求レベル変更後に外部割込み要因レジスタ (EIRR) をクリアしてくだ さい。外部割込み要因レジスタをクリアする際は一度 , 外部割込み要求レベルレジスタ を読み出してからクリアの書込みを行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 269 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 11.3 MB91461 外部割込み制御部の動作説明 外部割込み制御部の動作について説明します。 ■ 外部割込みの動作 要求レベル , 許可レジスタの設定の後 , 対応する端子に ELVR レジスタで設定された要 求が入力されると , 本モジュールは割込みコントローラに対して割込み要求信号を発 生します。割込みコントローラ内で同時に発生した割込みの優先順位を識別した結果 , 本リソースからの割込みが最も優先順位が高かったときに , 該当する割込みが発生し ます。 図 11.3-1 に , 外部割込みの動作を示します。 図 11.3-1 外部割込みの動作 外部割込み リソース要求 ELVR 割込みコントローラ ICR y y EIRR CPU IL CMP ENIR ICR X X CMP ILM 要因 ■ 外部割込みの動作手順 外部割込み部内に存在するレジスタの設定を行う際 , 次の手順で設定してください。 1. 外部割込み入力として使用する端子と兼用する汎用入出力ポートを入力ポートに 設定する。 2. 割込み許可レジスタ (ENIR) の対象となるビットを禁止状態にする。 3. 外部割込み要求レベル設定レジスタ (ELVR) の対象となるビットを設定する。 4. 外部割込み要求レベル設定レジスタ (ELVR) を読み出す。 5. 外部割込み要因レジスタ (EIRR) の対象となるビットをクリアする。 6. 割込み許可レジスタ (ENIR) の対象となるビットを許可状態にする。 ただし , 5. と 6. は 16 ビットデータによる同時書込みが可能です。 本モジュール内のレジスタを設定するときには必ず許可レジスタをディセーブル状態 に設定する必要があります。また , 許可レジスタをイネーブル状態にする前に必ず要因 レジスタをクリアしておく必要があります。これは , レジスタ設定時や割込み許可状態 時に誤って割込み要因が起こってしまうことを避けるためです。 270 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 MB91461 ■ 外部割込み要求レベル 要求レベルがエッジ要求のとき , エッジがあったことを検出するためには , パルス幅は 最小 3 マシンサイクル ( 周辺系クロックマシンサイクル ) 必要とします。 要求入力レベルがレベル設定のとき , 外部より要求入力が入って , その後 , 取り下げら れても内部に要因保持回路が存在するので , 割込みコントローラへの要求は有効のま まです。 割込みコントローラへの要求を取り下げるには要因レジスタをクリアする必要があり ます。 図 11.3-2 に , レベル設定時の要因保持回路のクリアを示します。 図 11.3-2 レベル設定時の要因保持回路のクリア 割込み入力 レベル検出 要因 F/F (要因保持回路) 許可ゲート 割込み コントローラ クリアしない限り要因を保持し続ける 図 11.3-3 に , 割込み許可時の割込み要因と割込みコントローラへの割込み要求を示し ます。 図 11.3-3 割込み許可時の割込み要因と割込みコントローラへの割込み要求 割込み入力 "H"レベル 割込みコントローラ への割込み要求 要因F/Fのクリアによって無効となる CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 271 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 MB91461 ■ 外部割込みを使用した STOP 状態からの復帰時における注意事項 STOP 状態時に , INT 端子へ最初に入力された外部割込み信号は非同期で入力され , STOP 状態から復帰することが可能です。ただし , その STOP 解除から , 発振安定待ち 時間が経過するまでの期間においては , ほかの外部割込み信号の入力を認識できない 期間が存在します ( 図 11.3-4 の b + c + d 期間 )。STOP 解除後の外部入力信号を内部 クロックに同期させるため , クロックが安定していない期間内は , その割込み要因を保 持できないためです。 STOP 解除後の外部割込み入力を行う場合には , 発振安定待ち時間経過後に外部割込み 信号を入力してください。 図 11.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)振動子の発振時間 272 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 MB91461 ■ STOP 状態からの復帰動作 現行回路の外部割込みによる STOP 復帰動作は , 以下の動作によって行われます。 ● STOP 遷移前の処理 外部割込みの設定 デバイスが STOP 状態に遷移する前に STOP 状態を解除するための外部割込み入力 経路を設定しておく必要があります。これは PFR レジスタ (Port Function Register) で設定を行います。通常状態 (STOP 以外の状態 ) では割込みの入力パスは許可状態 ですので意識する必要はありません。しかし ,STOP 状態では PFR レジスタ値によ り入力パスが制御されています。 外部割込みの入力 STOP 状態から復帰させたいとき , 外部割込み信号は非同期で入力信号を伝える状 態となっています。この割込み入力が有効になると直ちに内部 STOP 信号を立ち下 げる動作が行われます。同時に外部割込み回路では , ほかのレベル割込み入力の同 期化を行うように切り換わります。 ● レギュレータ安定待ち時間 内部 STOP 信号が立ち下ると STOP 時のレギュレータから RUN 時のレギュレータ へ切り換え動作が開始されます。RUN 時のレギュレータの電圧出力が安定する前 に内部動作が開始されると動作が不安定になるため , 内部出力電圧の安定待ち時間 を確保しています。この期間はクロックが停止しています。 ● 振動子の発振時間 レギュレータ安定待ち時間の終了後 , クロックの発振が開始されます。振動子の発 振時間は使用される振動子により異なります。 ● 発振安定待ち時間 振動子の発振時間後にデバイス内部で発振安定待ち時間が確保されます。発振安定 待ち時間はスタンバイ制御レジスタの OS1, OS0 ビットにより指定します。発振安 定待ち時間終了後 , 内部クロックが供給され , 外部割込みによる割込み命令動作が 開始されるとともに , STOP 状態からの復帰要因以外の外部割込み要因が受付け可 能になります。 <注意事項> INT0 ∼ INT15 に対して , 外部で "H" 入力にしている状態から , ① PFR で割込み端子設定。 ② 割込み検出レベルを "L" レベルに設定 ③ 割込み許可 と操作した場合 , 外部から "L" を入れていない場合でも要求フラグ EIRR がセットされま す。これを回避するためには , ②と③の間で EIRR のクリア処理を行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 273 第 11 章 外部割込み制御部 11.3 外部割込み制御部の動作説明 MB91461 274 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 第 12 章 REALOS 関連ハード REALOS の概要 , レジスタの構成 / 機能 , および動 作について説明します。 12.1 遅延割込みモジュール 12.2 ビットサーチモジュール CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 275 第 12 章 REALOS 関連ハード 12.1 遅延割込みモジュール 12.1 MB91461 遅延割込みモジュール 遅延割込みモジュールの概要 , レジスタの構成 / 機能 , および動作について説明しま す。 ■ 遅延割込みモジュールの概要 遅延割込みモジュールは , タスク切換え用の割込みを発生するためのモジュールです。 本モジュールを使用することで , ソフトウェアで CPU に対して割込み要求の発生 / 取 消しを行うことができます。 276 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 12 章 REALOS 関連ハード 12.1 遅延割込みモジュール MB91461 12.1.1 遅延割込みモジュールの概要 遅延割込みモジュールのレジスタ一覧 , 詳細 , および動作について説明します。 ■ 遅延割込みモジュールのレジスタ一覧 遅延割込みモジュールのレジスタ一覧は , 以下のとおりです。 図 12.1-1 遅延割込みモジュールのレジスタ一覧 bit アドレス : 000038H 7 6 5 4 3 2 1 0 − − − − − − − DLYI R/W DICR ■ 遅延割込みモジュールのブロックダイヤグラム 図 12.1-2 に , 遅延割込みモジュールのブロックダイヤグラムを示します。 図 12.1-2 遅延割込みモジュールのブロックダイヤグラム R-bus 割込み要求 CM71-10159-2 DLYI FUJITSU MICROELECTRONICS LIMITED 277 第 12 章 REALOS 関連ハード 12.1 遅延割込みモジュール 12.1.2 MB91461 遅延割込みモジュールのレジスタ 遅延割込みモジュールのレジスタの構成および機能について説明します。 ■ DICR ( 遅延割込みモジュールレジスタ ) DICR は , 遅延割込みを制御するレジスタです。 図 12.1-3 に , 遅延割込みモジュールレジスタ (DICR) のビット構成を示します。 図 12.1-3 遅延割込みモジュールレジスタ (DICR) のビット構成 bit 7 6 5 4 3 2 1 0 アドレス : 000038H − − − − − − − DLYI R/W -------0B ( 初期値 ) [bit0] DLYI 表 12.1-1 DLYI DLYI 説明 0 遅延割込み要因の解除・要求なし [ 初期値 ] 1 遅延割込み要因の発生 本ビットにより , 該当する割込み要因の発生・解除を制御します。 278 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 12 章 REALOS 関連ハード 12.1 遅延割込みモジュール MB91461 12.1.3 遅延割込みモジュールの動作説明 遅延割込みは , タスク切換え用の割込みを発生するものです。本機能を使用するこ とにより , ソフトウェアで CPU に対して割込み要求の発生 , 取消しを行うことがで きます。 ■ 割込み番号 遅延割込みは , 最も大きな割込み番号に対応した割込み要因に割り当てられています。 遅延割込みの割込み番号を 63 (3FH) に割り当てています。 ■ DICR の DLYI ビット このビットに "1" を書き込むことで , 遅延割込み要因が発生します。また , "0" を書き 込むことで , 遅延割込み要因を解除します。 本ビットは , 一般の割込みにおける割込み要因フラグと同じものであり , 割込みルーチ ンの中で本ビットをクリアして併せてタスクの切換えを行うようにしてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 279 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール 12.2 MB91461 ビットサーチモジュール ビットサーチモジュールの概要 , レジスタの構成 / 機能 , および動作について説明し ます。 ■ ビットサーチモジュールの概要 ビットサーチモジュールは , 入力レジスタに書き込まれたデータに対して , "0", "1" ま たは変化点を検索して検出したビット位置を返します。 280 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール MB91461 ビットサーチモジュールの概要 12.2.1 ビットサーチモジュールのレジスタの構成および機能について説明します。 ■ ビットサーチモジュールのレジスタ一覧 図 12.2-1 に , ビットサーチモジュールのレジスタ一覧を示します。 図 12.2-1 ビットサーチモジュールのレジスタ一覧 bit 31 0 アドレス : 0003F0H BSD0 0 検出用データレジスタ アドレス : 0003F4H BSD1 1 検出用データレジスタ アドレス : 0003F8H BSDC 変化点検出用データレジスタ アドレス : 0003FCH BSRR 検出結果レジスタ ■ ビットサーチモジュールのブロックダイヤグラム 図 12.2-2 に , ビットサーチモジュールのブロックダイヤグラムを示します。 図 12.2-2 ビットサーチモジュールのブロックダイヤグラム D-bus 入力ラッチ アドレスデコーダ 検出モード 1検出データ化 ビットサーチ回路 検索結果 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 281 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール 12.2.2 MB91461 ビットサーチモジュールのレジスタ ビットサーチモジュールのレジスタの構成および機能について説明します。 ■ 0 検出用データレジスタ (BSD0) 書き込んだ値に対して , 0 検出を行います。 図 12.2-3 に , 0 検出用データレジスタ (BSD0) のレジスタ構成を示します。 図 12.2-3 0 検出用データレジスタ (BSD0) のレジスタ構成 bit 31 0 000003F0H →ライトオンリ →不定 R/W 初期値 リセットによる初期値は不定です。読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令は使わないでください ) 。 ■ 1 検出用データレジスタ (BSD1) 図 12.2-4 に , 1 検出用データレジスタ (BSD1) のレジスタ構成を示します。 図 12.2-4 1 検出用データレジスタ (BSD1) のレジスタ構成 bit 31 0 000003F4H R/W 初期値 →リード / ライト可能 →不定 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令は使わないでください ) 。 • 書込み時 : 書き込んだ値に対して , "1" を検出します。 • 読出し時 : ビットサーチモジュールの内部状態の退避用データが読み出されます。割込みハン ドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避・復帰する ときに使用します。 0 検出 , 変化点検出 , データレジスタにデータを書き込んだ場合でも , 1 検出用デー タレジスタのみ操作することで退避・復帰できます。 リセットによる初期値は不定です。 282 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール MB91461 ■ 変化点検出用データレジスタ (BSDC) 書き込んだ値に対して , 変化点の検出を行います。 図 12.2-5 に , 変化点検出用データレジスタ (BSDC) のレジスタ構成を示します。 図 12.2-5 変化点検出用データレジスタ (BSDC) のレジスタ構成 bit 31 0 000003F8H →ライトオンリ →不定 R/W 初期値 リセットによる初期値は不定です。 読出し値は不定です。 データ転送には , 32 ビット長のデータ転送命令を使用してください (8 ビット , 16 ビッ ト長のデータ転送命令は使わないでください ) 。 ■ 検出結果レジスタ (BSRR) 0 検出 , 1 検出 , または変化点検出の結果が読み出されます。 どの検出結果が読み出されるかは , 最後に書き込んだデータレジスタによって決定さ れます。 図 12.2-6 に , 検出結果レジスタ (BSRR) のレジスタ構成を示します。 図 12.2-6 検出結果レジスタ (BSRR) のレジスタ構成 bit 31 0 000003FCH R/W 初期値 CM71-10159-2 →リードオンリ →不定 FUJITSU MICROELECTRONICS LIMITED 283 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール 12.2.3 MB91461 ビットサーチモジュールの動作説明 ビットサーチモジュールの動作について説明します。 ■ 0 検出 0 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "0" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と , 返す数 値の関係は , 表 12.2-1 を参照してください。 "0" が存在しないとき ( すなわち FFFFFFFFH という数値のとき ) , 32 という値をサーチ 結果として返します。 【実行例】 書込みデータ 読出し値 (10 進 ) 11111111111111111111000000000000B (FFFFF000H) → 20 11111000010010011110000010101010B (F849E0AAH) → 5 10000000000000101010101010101010B (8002AAAAH) → 1 11111111111111111111111111111111B (FFFFFFFFH) → 32 ■ 1 検出 1 検出用データレジスタに書き込まれたデータを MSB から LSB へスキャンし , 最初の "1" を検出した位置を返します。 検出結果は , 検出結果レジスタを読み出すことで得られます。検出した位置と返す値と の関係は , 表 12.2-1 のとおりです。 "1" が存在しないとき ( すなわち 00000000H という数値のとき ) , 32 という値をサーチ 結果として返します。 【実行例】 書込みデータ 284 読出し値 (10 進 ) 00100000000000000000000000000000B (20000000H) → 2 00000001001000110100010101100111B (01234567H) → 7 00000000000000111111111111111111B (0003FFFFH) → 14 00000000000000000000000000000001B (00000001H) → 31 00000000000000000000000000000000B (00000000H) → 32 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール MB91461 ■ 変化点検出 変化点検出用データレジスタに書き込まれたデータを bit30 から LSB へスキャンし , MSB の値と比較します。 最初に MSB と異なる値を検出した位置を返します。検出結果は , 検出結果レジスタを 読み出すことで得られます。 検出した位置と返す値は , 表 12.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 表 12.2-1 に , ビット位置と返す値 (10 進 ) を示します。 表 12.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 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 285 第 12 章 REALOS 関連ハード 12.2 ビットサーチモジュール MB91461 ■ 退避・復帰の処理 割込みハンドラ中で , ビットサーチモジュールを使う場合のように , ビットサーチモ ジュールの内部状態を退避・復帰させる必要がある場合は , 以下の手順に従ってくださ い。 1) 1 検出用データレジスタを読み出し , この内容を保存 ( 退避 ) 2) ビットサーチモジュールを使用 3) 1) で退避したデータを 1 検出用データレジスタに書込み ( 復帰 ) 以上の操作により, 次に検出結果レジスタを読み出したときに得られる値は, 1)以前に, ビットサーチモジュールに書き込まれた内容に応じたものとなります。 最後に書き込まれたデータレジスタが0検出用または変化点検出用であっても, 上記の 手順で正しく元に戻ります。 286 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) DMAC の概要 , レジスタの構成 / 機能 , および DMAC の動作について説明します。 13.1 DMAC (DMA コントローラ ) の概要 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 13.3 DMAC (DMA コントローラ ) の動作説明 13.4 DMAC (DMA コントローラ ) の動作フロー 13.5 データバス CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 287 第 13 章 DMAC (DMA コントローラ ) 13.1 DMAC (DMA コントローラ ) の概要 13.1 MB91461 DMAC (DMA コントローラ ) の概要 DMAC (DMA コントローラ ) は , FR ファミリデバイスにて DMA(Direct Memory Access) 転送を実現するためのモジュールです。 DMAC (DMA コントローラ ) の制御による DMA 転送により , CPU を介さずに各種 データ転送を高速に行うことが可能となり , システムのパフォーマンスを増加させ ます。 ■ DMAC のハードウェア構成 DMAC (DMA コントローラ ) は , 主に以下のものより構成されます。 • 独立した DMA チャネル× 5 チャネル • 5 チャネル独立アクセス制御回路 • 32 ビットアドレスレジスタ ( リロード指定可能 :ch.0 ∼ ch.4) • 16 ビット転送回数レジスタ ( リロード指定可能 : 各チャネル 1 本 ) • 4 ビットブロック回数レジスタ ( 各チャネル 1 本 ) • 2 サイクル転送 ■ DMAC の主要機能 DMAC (DMAコントローラ)によるデータ転送には, 主に以下のような機能があります。 ● 複数チャネルの独立したデータ転送が可能 (5 チャネル ) • 優先順位 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) • ch.0 ∼ ch.1 間にて順位回転が可能 • DMAC 起動要因 - 内蔵周辺要求 ( 割込み要求を共用 --- 外部割込みを含む ) - ソフトウェア要求 ( レジスタ書込み ) • 転送モード - バースト転送 / ステップ転送 / ブロック転送 - アドレッシングモード : 32 ビットアドレス指定 ( 増加 / 減少 / 固定 : アドレス増減幅は± 1, 2, 4 固定 ) - データの種類 : バイト / ハーフワード / ワード長 - シングルショット / リロード選択可能 288 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.1 DMAC (DMA コントローラ ) の概要 MB91461 ■ DMAC のレジスタ概要 図 13.1-1 に , DMAC のレジスタ概要を示します。 図 13.1-1 DMAC のレジスタ概要 ch.0 制御 / ステータスレジスタ A DMACA0 bit 31 000200H ch.0 制御 / ステータスレジスタ B DMACB0 000204H ch.1 制御 / ステータスレジスタ A DMACA1 000208H ch.1 制御 / ステータスレジスタ B DMACB1 00020CH ch.2 制御 / ステータスレジスタ A DMACA2 000210H ch.2 制御 / ステータスレジスタ B DMACB2 000214H ch.3 制御 / ステータスレジスタ A DMACA3 000218H ch.3 制御 / ステータスレジスタ B DMACB3 00021CH ch.4 制御 / ステータスレジスタ A DMACA4 000220H ch.4 制御 / ステータスレジスタ B DMACB4 000224H 全体制御レジスタ DMACR 000240H ch.0 転送元アドレス設定レジスタ DMASA0 001000H ch.0 転送先アドレス設定レジスタ DMADA0 001004H ch.1 転送元アドレス設定レジスタ DMASA1 001008H ch.1 転送先アドレス設定レジスタ DMADA1 00100CH ch.2 転送元アドレス設定レジスタ DMASA2 001010H ch.2 転送先アドレス設定レジスタ DMADA2 001014H ch.3 転送元アドレス設定レジスタ DMASA3 001018H ch.3 転送先アドレス設定レジスタ DMADA3 00101CH ch.4 転送元アドレス設定レジスタ DMASA4 001020H ch.4 転送先アドレス設定レジスタ DMADA4 001024H CM71-10159-2 24 23 FUJITSU MICROELECTRONICS LIMITED 16 15 8 7 0 289 第 13 章 DMAC (DMA コントローラ ) 13.1 DMAC (DMA コントローラ ) の概要 MB91461 ■ DMAC のブロックダイヤグラム 図 13.1-2 に , DMAC のブロックダイヤグラムを示します。 カウンタ バスコントローラへ DMA転送要求 バッファ セレクタ ライトバック 図 13.1-2 DMAC のブロックダイヤグラム DTC2段レジスタ DTCR DMA起動要因 選択回路 & 要求受付け 制御 ペリフェラル起動要求/停止入力 外部端子起動要求/停止入力 カウンタ DSS[2:0] バッファ 読出し 書込み 優先度回路 割込みコントローラへ IRQ[4:0] 周辺割込みクリア MCLREQ ERIE,EDIE セレクタ 読出し/書込み 制御 BLKレジスタ 290 セレクタ DMAコントローラ DSAD2段レジスタ SADM,SASZ[7:0] SADR DDAD2段レジスタ DADM,DASZ[7:0] DADR バス制御部 セレクタ DDNレジスタ ライトバック セレクタ アドレス カウンタバッファ アクセス カウンタバッファ DDN アドレスカウンタ バスコン トローラ へ バス制御部 状態遷移回路 X-bus TYPE.MOD,WS ライトバック FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 DMAC の各レジスタの詳細について説明します。 ■ レジスタ設定時の注意 本 DMAC の設定をする場合 , DMA が停止しているときに行う必要があるビットがあ ります。動作中 ( 転送中 ) に設定した場合には正常な動作は保証されません。 * マークは DMAC 転送中に設定すると動作に影響するビットです。このビットの書換 えは DMAC 転送停止中 ( 起動禁止状態または一時停止状態 ) に行ってください。 DMA 転送の起動禁止状態 (DMACR:DMAE = 0 または DMACA:DENB = 0 のとき ) で 設定した場合は , 起動許可後に設定は有効になります。 DMA 転送の一時停止状態 (DMACR:DMAH3 ∼ DMAH0 ≠ 0000B または DMACA:PAUS = 1 のとき ) で設定した場合は , 一時停止解除後に設定は有効になります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 291 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 13.2.1 MB91461 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータス レジスタ A DMACA0 ∼ DMACA4 は DMAC 各チャネルの動作制御を行うレジスタで , 各チャネ ルごとに独立して存在します。 ■ DMACA0 ∼ DMACA4 のビット機能 図 13.2-1 に , DMACA0 ∼ DMACA4 の各ビット機能を示します。 図 13.2-1 DMACA0 ∼ DMACA4 の各ビット機能 bit 31 30 29 28 27 DENB PAUS STRG bit 15 14 13 26 25 24 23 22 IS [4 : 0] 12 11 10 21 20 19 8 7 6 17 16 BLK [3 : 0] 予約 9 18 5 4 3 2 1 0 DTC [15 : 0] ( 初期値 : 00000000H) [bit31] DENB(Dma ENaBle) : DMA 動作許可ビット 各転送チャネルに対応して DMA 転送の起動許可 / 禁止を行います。 起動されたチャネルは , 転送要求が発生して受け付けられると DMA 転送を開始し ます。起動許可されていないチャネルに対して発生した転送要求は , すべて無効と なります。 起動されたチャネルの転送が指定回数分すべて終了した場合 , 本ビットは "0" にな り , 転送は停止します。 本ビットに "0" を書き込むと強制停止しますが , 必ず PAUS ビット [bit30:DMACA] で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) してください。一時停止 しないで強制停止した場合は DMA は停止しますが転送データは保証されません。 停止の確認は DSS2 ∼ DSS0 ビット (bit18 ∼ bit16:DMACB) で行ってください。 DENB 機 能 0 対応チャネル DMA 動作禁止 [ 初期値 ] 1 対応チャネル DMA 動作許可 • リセット時 , 停止要求が受け付けられた場合 :"0" に初期化されます。 • 読出し / 書込み可能です。 DMAC 全体制御レジスタ DMACR の bit31:DMAE ビットにより , 全チャネルの動作 が禁止されている場合 , 本ビットへの "1" 書込みは無効となり停止状態を維持しま す。また , 本ビットにより動作が許可されている状態にて前記ビットにより動作が 禁止された場合 , 本ビットは "0" となり転送は中断します ( 強制停止 ) 。 292 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit30] PAUS(PAUSe) : 一時停止指示 対応するチャネルの DMA 転送の一時停止制御を行います。本ビットが設定される と , 再び本ビットがクリアされるまでの間は DMA 転送を行いません (DMA が停止 中は DSS ビットが 1XXB になります ) 。 起動前に本ビットを設定してから起動した場合 , 一時停止状態のままとなります。 本ビットが設定されている間に新たに発生した転送要求は受け付けられますが , 本 ビットをクリアしないと転送は開始しません (「13.3.10 転送要求の受付けと転送」 を参照 ) 。 PAUS 機 能 0 対応チャネル DMA 動作許可 [ 初期値 ] 1 対応チャネル DMA 一時停止 • リセット時 :"0" に初期化されます。 • 読出し / 書込み可能です。 [bit29] STRG(Software TRiGger) : 転送要求 対応するチャネルの DMA 転送要求を生成します。本ビットに "1" を書き込むと , レ ジスタへの書込みが終了した時点より転送要求が発生し , 対応チャネルの転送を開 始します。ただし , 対応するチャネルが起動されていない場合は , 本ビットへの操 作は無効となります。 STRG 機 能 0 無効 [ 初期値 ] 1 DMA 起動要求 • リセット時 :"0" に初期化されます。 • 読出し値は常に "0" となります。 • 書込み値は "1" のみ有効で , "0" は動作に影響を与えません。 <注意事項> DMAE ビットの書込みによる起動と本ビットによる転送要求が同時に発生する場合 , 転送 要求は有効となり , 転送を開始します。また , PAUS ビットへの "1" 書込みと同時に発生 する場合 , 転送要求は有効となりますが , PAUS ビットを "0" に戻すまで DMA 転送は開始 しません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 293 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit28 ∼ bit24] IS4 ∼ IS0 (Input Select)* : 転送要因選択 転送要求の要因を以下のように選択します。ただし , STRG ビット機能によるソフ トウェア転送要求は本設定にかかわらず有効となります。 表 13.2-1 転送要求の要因 IS (Input Source) 機能 転送停止要求 00000B ソフトウェア転送要求のみ 00001B ∼ 01101B 設定禁止 01110B 外部端子 (DREQ) "H" レベルまたは↑エッジ 01111B 外部端子 (DREQ) "L" レベルまたは↓エッジ 10000B 外部割込み 0 − 10001B 外部割込み 1 − 10010B 外部割込み 2 − 10011B 外部割込み 3 − 10100B リロードタイマ 0 − 10101B リロードタイマ 1 − 10110B LIN-UART0 RX ( 受信完了 ) あり 10111B LIN-UART0 TX ( 送信完了 ) − 11000B LIN-UART1 RX ( 受信完了 ) あり 11001B LIN-UART1 TX ( 送信完了 ) − 11010B LIN-UART4 RX ( 受信完了 ) あり 11011B LIN-UART4 TX ( 送信完了 ) − 11100B LIN-UART5 RX ( 受信完了 ) あり 11101B LIN-UART5 TX ( 送信完了 ) − 11110B A/D コンバータ − 11111B PPG0 − − • リセット時 : 00000B に初期化されます。 • 読出し / 書込み可能です。 周辺機能の割込みによる DMA 起動を設定した場合 (IS = 1XXXXB), 選択した機能 は ICR レジスタで割込みを禁止状態にしてください。また , 周辺機能の割込みによ る DMA 起動を設定した状態で , ソフトウェア転送要求により DMA 転送を起動する と , 転送終了後 , 該当する周辺に対して要因クリアを行います。このため , 本来の転 送要求をクリアしてしまう可能性がありますので , 周辺機能の割込みによる DMA 転送を設定した状態では , ソフトウェア転送要求による起動を行わないでくださ い。 294 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit23 ∼ bit20] 予約 : 未使用ビット 読出し値は 0000B 固定です。書込みは無効となります。 [bit19 ∼ bit16] BLK3 ∼ BLK0 (BLocK size) : ブロックサイズ指定 対応するチャネルのブロック転送時のブロックサイズを指定します。本ビットに設 定した値が 1 回の転送単位におけるワード数 ( 正確には , データ幅設定の繰返し回 数 ) となります。 ブロック転送を行わない場合は 01H ( サイズ 1) を設定してください。 表 13.2-2 対応するチャネルのブロック転送時のブロックサイズ BLK XXXXB 機 能 対応チャネルのブロックサイズ指定 • リセット時 : 0000B に初期化されます。 • 読出し / 書込み可能です。 • 全ビット "0" を指定した場合 , ブロックサイズは 16 ワードとなります。 • 読出し時は , 常にブロックサイズ ( リロード値 ) が読み出されます。 [bit15 ∼ bit0] DTC15 ∼ DTC0 (Dma Terminal Count register)* : 転送回数レジスタ 転送回数を格納するレジスタです。各レジスタは 16 ビット長で構成されています。 すべてのレジスタには , 専用のリロードレジスタがあります。転送回数レジスタの リロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定 値をレジスタに戻します。 DTC XXXXH 機 能 対応チャネルの転送回数指定 DMA 転送が起動すると , 本レジスタのデータを DMA 専用転送回数カウンタのカウ ンタバッファに格納して 1 転送単位ごとに− 1 カウントします ( 減算 ) 。DMA の転 送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は終了 します。そのため , DMA 動作中の転送回数指定値を読み出すことはできません。 • リセット時 : 0000H に初期化されます。 • 読出し / 書込み可能です。DTC のアクセスは , 必ずハーフワード長またはワード 長にてアクセスしてください。 • 読出し時の値は , カウント値となります。リロード値の読出しはできません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 295 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 13.2.2 MB91461 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 制御 / ステータス レジスタ B DMACB0 ∼ DMACB4 は , DMAC 各チャネルの動作制御を行うレジスタで , 各チャ ネルごとに独立して存在します。 ■ DMACB0 ∼ DMACB4 のビット機能 図 13.2-2 に , DMACB0 ∼ DMACB4 の各ビット機能を示します。 図 13.2-2 DMACB0 ∼ DMACB4 の各ビット機能 bit 31 30 TYPE [1 : 0] bit 15 14 29 28 27 26 MOD [1 : 0] WS [1 : 0] 13 11 12 10 25 24 23 22 21 20 19 18 SADM DADM DTCR SADR DADR ERIE EDIE 9 8 7 6 5 SASZ [7 : 0] 4 3 17 16 DSS [2 : 0] 2 1 0 DASZ [7 : 0] ( 初期値 : 00000000_00000000_XXXXXXXX_XXXXXXXXB) [bit31, bit30] TYPE1, TYPE0 (TYPE)* : 転送タイプ設定 対応チャネルの動作タイプを以下のように設定します。 2 サイクル転送モード : 転送元アドレス (DMASA) と転送先アドレス (DMADA) を設定して読出し動作と書 込み動作を転送回数分繰り返して転送するモードです。 表 13.2-3 対応チャネルの動作タイプ TYPE 機 能 00B 2 サイクル 転送 [ 初期値 ] 01B 設定禁止 10B 設定禁止 11B 設定禁止 • リセット時 : 00B に初期化されます。 • 読出し / 書込み可能です。 • 必ず 00B に設定してください。 296 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [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-10159-2 FUJITSU MICROELECTRONICS LIMITED 297 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [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" に初期化されます。 • 読出し / 書込み可能です。 298 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit22] SADR(Source-ADdr.-reg, Reload)* : 転送元アドレスレジスタリロード指定 対応するチャネルの転送元アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送元アドレス レジスタ値を初期設定値に戻します。 回数カウンタのリロード動作を禁止している場合は , アドレスレジスタにリロード 指定をしていても , 転送終了にて停止するシングルショット動作となります。この 場合 , アドレスレジスタ値は初期設定値がリロードされた状態で停止します。 本ビットによりリロード動作が禁止されている場合は , 転送終了時のアドレスレジ スタ値は最終アドレスの次のアクセスアドレスとなります ( アドレス増加を指定し ている場合は , 増加したアドレスとなります ) 。 SADR 機 能 0 転送元アドレスレジスタリロード禁止 [ 初期値 ] 1 転送元アドレスレジスタリロード許可 • リセット時 : "0" に初期化されます。 • 読出し / 書込み可能です。 [bit21] DADR(Dest.-ADdr.-reg, Reload)* : 転送先アドレスレジスタリロード指定 対応するチャネルの転送先アドレスレジスタのリロード機能を制御します。 本ビットによりリロード動作が許可されている場合 , 転送終了後に転送先アドレス レジスタ値を初期設定値に戻します。 その他 , 機能の詳細は bit22:SADR の内容と等価になります。 DADR 機 能 0 転送先アドレスレジスタリロード禁止 [ 初期値 ] 1 転送先アドレスレジスタリロード許可 • リセット時 : "0" に初期化されます。 • 読出し / 書込み可能です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 299 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit20] ERIE (ERror Interrupt Enable)* : エラー割込み出力許可 エラー発生による終了時の割込み発生を制御します。発生したエラーの内容は DSS2 ∼ DSS0 にて示されます。すべての終了要因で本割込みが発生するのではなく , 特定の 終了要因の際のみ割込みが発生することに注意してください (DSS2 ∼ DSS0 ビット の説明を参照 ) 。 ERIE 機 能 0 エラー割込み要求出力禁止 [ 初期値 ] 1 エラー割込み要求出力許可 • リセット時 : "0" に初期化されます。 • 読出し / 書込み可能です。 [bit19] EDIE(EnD Interrupt Enable)* : 終了割込み出力許可 正常終了時の割込み発生を制御します。 EDIE 機 能 0 終了割込み要求出力禁止 [ 初期値 ] 1 終了割込み要求出力許可 • リセット時 : "0" に初期化されます。 • 読出し / 書込み可能です。 [bit18 ∼ bit16] DSS2 ∼ DSS0 (Dma Stop Status)* : 転送停止要因表示 対応するチャネルの DMA 転送停止 / 終了の要因を示す 3 ビットのコード ( 終了コー ド ) を表示します。 終了コードの内容は以下のとおりです。 表 13.2-4 転送停止要因表示 DSS 機 能 割込み発生 000B 初期値 なし X01B ― なし X10B 転送停止要求 X11B 正常終了 終了 1XXB DMA 一時停止中 (DMAH, PAUS ビット , 割込みなど ) なし エラー 転送停止要求は , 周辺回路からの要求を使用した場合のみ設定されます。 なお , 「割込み発生」欄は , 発生可能な割込み要求の種類を示します。 • リセット時 : 000B に初期化されます。 • 000B を書き込むことによりクリアされます。 • 読出し / 書込み可能ですが , 本ビットへの書込みは 000B のみ有効となります。 300 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit15 ∼ bit8] SASZ7 ∼ SASZ0 (Source Addr count SiZe)* : 転送元アドレスカウントサイズ指定 対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減幅を指定します。 本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド レスの増減幅は転送元アドレスカウントモード (SADM) の指定に従います。 SASZ 機 能 00H アドレス固定 01H バイト単位で転送 02H ハーフワード単位で転送 04H ワード単位で転送 上記以外 設定禁止 • リセット時 : 00000000B に初期化されます。 • 読出し / 書込み可能です。 • アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し てください。 [bit7 ∼ bit0] DASZ7 ∼ DASZ0 (Des Addr count SiZe)*: 転送先アドレスカウントサイズ 指定 対応するチャネルの 1 転送ごとの転送先アドレス (DMADA) の増減幅を指定します。 本ビットに設定した値が 1 回の転送単位におけるアドレス増減幅となります。アド レスの増減幅は転送先アドレスカウントモード (DADM) の指定に従います。 DASZ 機 能 00H アドレス固定 01H バイト単位で転送 02H ハーフワード単位で転送 04H ワード単位で転送 上記以外 設定禁止 • リセット時 : 00000000B に初期化されます。 • 読出し / 書込み可能です。 • アドレス固定以外に設定する場合 , 転送データ幅 (WS) と同じ転送単位を設定し てください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 301 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 13.2.3 MB91461 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 転送元 / 転送先ア ドレス設定レジスタ DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 は , DMAC 各チャネルの動作制御を行 うレジスタで , 各チャネルごとに独立して存在します。 ■ DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 のビット機能 DMASA0∼DMASA4/DMADA0∼DMADA4の各ビット機能は, 以下に示すとおりです。 図 13.2-3 DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 の各ビット機能 bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 6 5 4 3 2 1 0 22 21 20 19 18 17 16 6 5 4 3 2 1 0 DMASA [31 : 16] bit 15 14 13 12 11 10 9 8 7 DMASA [15 : 0] ( 初期値 : XXXXXXXXH) bit 31 30 29 28 27 26 25 24 23 DMADA [31 : 16] bit 15 14 13 12 11 10 9 8 7 DMADA [15 : 0] ( 初期値 : XXXXXXXXH) 転送元 / 転送先アドレスを格納するレジスタ群です。32 ビット長で構成されています。 [bit31 ∼ bit0] DMASA31 ∼ DMASA0 (DMA Source Addr)* : 転送元アドレス設定 転送元アドレスの設定を行います。 302 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit31 ∼ bit0] DMADA31 ∼ DMADA0 (DMA Destination Addr)* : 転送先アドレス設定 転送先アドレスの設定を行います。 DMA 転送が起動すると , 本レジスタのデータを DMA 専用アドレスカウンタのカウ ンタバッファに格納して 1 転送ごとに設定に従ってアドレスカウントします。DMA の転送終了時にカウンタバッファの内容を本レジスタにライトバックして DMA は 終了します。そのため , DMA 動作中のアドレスカウンタ値を読み出すことはできま せん。 すべてのレジスタには , 専用のリロードレジスタがあります。転送元 / 転送先アド レスレジスタのリロードを許可しているチャネルに使用した場合 , 転送終了時に自 動的に初期設定値をレジスタに戻します。この際 , ほかのアドレスレジスタには影 響を与えません。 • リセット時 : 00000000H に初期化されます。 • 読出し / 書込み可能です。本レジスタは , 必ず 32 ビットデータでアクセスしてく ださい。 • 読出し時の値は , 転送中は転送前のアドレス値 , 転送終了時には次のアクセスア ドレス値となります。リロード値の読出しはできません。そのため , 転送アドレ スをリアルタイムで読出しすることはできません。 • 存在しない上位ビットには , "0" を設定してください。 <注意事項> 本レジスタにて DMAC 自身のレジスタを設定しないでください。DMAC 自身のレジスタ に DMA 転送を行うことはできません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 303 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 13.2.4 MB91461 DMAC-ch.0, ch.1, ch.2, ch.3, ch.4 DMAC 全体制御レ ジスタ DMACR は , DMAC5 チャネル分全体の動作制御を行うレジスタです。本レジスタは 必ずバイト長でアクセスしてください。 ■ DMACR のビット機能 図 13.2-4 に , DMACR の各ビット機能を示します。 図 13.2-4 DMACR の各ビット機能 bit bit 31 30 29 28 27 26 25 DMAE − − PM01 15 14 13 12 11 10 9 − − − − − − − 24 23 22 21 20 19 18 17 16 − − − − − − − − 8 7 6 5 4 3 2 1 0 − − − − − − − − − DMAH [3 : 0] ( 初期値 : 0XX00000_XXXXXXXX_XXXXXXXX_XXXXXXXXB) [bit31] DMAE(DMA Enable) : DMA 動作許可 DMA 全チャネルの動作制御を行います。 本ビットにより DMA 動作が禁止されている場合 , 各チャネルごとの起動 / 停止の設 定や動作状態にかかわらず , 全チャネルの転送動作が禁止されます。転送中であった チャネルは要求を取り下げ , ブロック境界にて転送を停止します。禁止状態にて , 各 チャネルに対して行われる起動操作はすべて無効となります。 本ビットにより DMA 動作が許可されている場合 , 各チャネルごとに起動 / 停止操 作が有効となります。本ビットで DMA 動作許可を行ったのみでは , 各チャネルに 対する起動は行われません。 本ビットに "0" を書き込むと強制停止しますが , 必ず DMAH3 ∼ DMAH0 ビット (bit27 ∼ bit24:DMACR) で DMA を一時停止状態にしてから強制停止 ("0" 書込み ) し てください。一時停止しないで強制停止した場合は DMA は停止しますが転送デー タは保証されません。停止の確認は DSS2 ∼ DSS0 ビット (bit18 ∼ bit16:DMACB) で 行ってください。 DMAE 機 能 0 全チャネル DMA 動作禁止 [ 初期値 ] 1 全チャネル DMA 動作許可 • リセット時 : "0" に初期化されます。 • 読出し / 書込み可能です。 304 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.2 DMAC (DMA コントローラ ) のレジスタ詳細説明 MB91461 [bit28] PM01 (Priority Mode ch.0, ch.1 robin): チャネル優先度回転 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) されているチャネル に発生した転送要求は , すべて有効となり , 本ビットをクリアすることにより転送 を開始します。 DMAH 機能 0000B 全チャネル DMA 動作許可 [ 初期値 ] 0000B 以外 全チャネル DMA 一時停止 • リセット時 : "0" に初期化されます。 • 読出し / 書込み可能です。 [bit30, bit29, bit23 ∼ bit0] 予約 : 予約ビット 読出し値は不定です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 305 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3 MB91461 DMAC (DMA コントローラ ) の動作説明 DMAC の動作概要 , 転送要求設定や転送シーケンスなどの詳細 , 動作中の詳細など について説明します。 ■ DMAC の概要 本ブロックは , FR ファミリに内蔵され , CPU の命令動作を介することなく高速にデー タ転送を制御する多機能 DMA コントローラです。 306 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 13.3.1 動作概要 DMAC の動作概要を説明します。 ■ DMAC の主要動作 各転送チャネルは , 独立に各種機能を設定します。 各チャネルは起動許可後 , 設定した転送要求を検出するまでは転送動作を行いません。 転送要求検出により , バスコントローラに対して DMA 転送要求を出力し , バスコント ローラの制御によりバス権を取得して転送を開始します。転送は各チャネルごとに独 立に設定されたモード設定に従ったシーケンスで行われます。 ■ 転送モード DMA の各チャネルは , それぞれの DMACB レジスタの MOD1, MOD0 ビットで設定さ れた転送モードに従って転送動作を行います。 ● ブロック / ステップ転送 1 回の転送要求にて 1 ブロック転送単位のみ転送を行い , その後 , 次の転送要求が受け 付けられるまでは DMA はバスコントローラに対して転送要求を停止します。 1 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK3 ∼ BLK0) ● バースト転送 1 回の転送要求にて指定転送回数終了まで連続して転送を行います。 指定転送回数 : ブロックサイズ分×転送回数分 (DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0) ■ 転送タイプ ● 2 サイクル転送 ( 通常転送 ) DMA コントローラの動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い ます。 転送元レジスタのアドレスからデータを読み出して転送先レジスタのアドレスへデー タを書き込みます。 ■ 転送アドレス アドレッシングには以下のようなものがあり , 各チャネル転送元 / 転送先ごとに独立に 設定します。 ● 2 サイクル転送でのアドレスの指定 あらかじめアドレスを設定してあるレジスタ (DMASA, DMADA) から読み出した値を アドレスとしてアクセスします。 転送要求を受け付けたら , DMA はレジスタからアドレスを一時記憶バッファに格納し て転送を開始します。 1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次回アクセスアドレスを生成 ( 加 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 307 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 算 / 減算 / 固定選択可能 ) して , 一時記憶バッファに戻します。この一時記憶バッファ の内容は 1 ブロック転送単位終了ごとにレジスタ (DMASA, DMADA) へライトバック されます。 そのため , アドレスレジスタ (DMASA, DMADA) 値は , 1 ブロック転送単位ごとにしか 更新されませんので転送中のアドレスをリアルタイムに知ることはできません。 ■ 転送回数と転送終了 ● 転送回数 1 ブロック転送単位終了ごとに , 転送回数レジスタを減数 ( − 1) します。転送回数レジ スタが "0" になると指定転送回数終了となり , 終了コードを表示して停止または再起動 します。 転送回数レジスタ値はアドレスレジスタと同様に 1 ブロック転送単位ごとにしか更新 されません。 転送回数レジスタリロード禁止に設定している場合は転送を終了します。許可されて いる場合はレジスタ値を初期化して転送待ち状態になります (DMACB:DTCR)。 ● 転送終了 転送終了要因には , 以下のようなものがあり , 終了時は終了コードとして要因が表示さ れます (DMACB:DSS2 ∼ DSS0)。 • 指定転送回数の終了 (DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0) →正常終了 • 周辺回路からの転送停止要求の発生→エラー • アドレスエラーの発生→エラー • リセットの発生→リセット 各終了要因に対応して , 転送停止要因が表示 (DSS) されて転送終了割込み / エラー割込 みを発生可能です。 308 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 転送要求の設定 13.3.2 DMA 転送を起動する転送要求には , 以下の 2 種類があります。 • 内蔵周辺要求 • ソフトウェア要求 ソフトウェア要求については , ほかの要求の設定にかかわらず常に使用することが できます。 ■ 内蔵周辺要求 内蔵周辺回路の割込み発生により , 転送要求を発生します。 各チャネルごとに , どの周辺の割込みにより転送要求を発生するかを設定します (DMACA:IS4 ∼ IS0 = 1XXXXB)。 外部転送要求とは同時に使用することができません。 <注意事項> 転送要求に使用した割込み要求は, CPUへの割込み要求としても見えますので割込みコン トローラの設定を割込み禁止に設定してください (ICR レジスタ ) 。 ■ ソフトウェア要求 レジスタのトリガビットへの書込みにより , 転送要求を発生します (DMACA:STRG)。 上記の転送要求とは独立で , 常に使用することができます。 起動 ( 転送許可 ) と同時にソフトウェア要求を行った場合 , 直後にバスコントローラに 対して DMA 転送要求を出力して転送を開始します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 309 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.3 MB91461 転送シーケンス 各チャネルごとに , DMA 転送起動後の動作シーケンスなどを決定する転送タイプと転 送モードを独立して設定することができます (DMACB:TYPE1, TYPE0, MOD1, MOD0 の設定 ) 。 ■ 転送シーケンスの選択 レジスタの設定により , 以下のシーケンスが選択可能です。 • バースト 2 サイクル転送 • ブロック / ステップ 2 サイクル転送 ■ バースト 2 サイクル転送 1 回の転送要因にて指定転送回数の転送を続けて行います。2 サイクル転送の場合は転 送元 / 転送先アドレスは 32 ビット領域指定可能です。 転送要因は , 周辺転送要求 / ソフトウェア転送要求を選択できます。 表 13.3-1 にバースト 2 サイクル転送の指定可能転送アドレスを示します。 表 13.3-1 バースト 2 サイクル転送の指定可能転送アドレス 転送元アドレス指定 方向 転送先アドレス指定 32 ビット全領域指定可能 → 32 ビット全領域指定可能 〔バースト転送の特長〕 • 転送要求を 1 回受け付けると , 転送回数レジスタが "0" になるまで連続して転送 を 行 い ま す。転 送 回 数 は ブ ロ ッ ク サ イ ズ 分 × 転 送 回 数 分 に な り ま す (DMACA:BLK3 ∼ BLK0 × DMACA:DTC15 ∼ DTC0)。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送回数レジスタのリロード機能が有効である場合, 転送終了後より次の転送要 求を受け付けます。 • 転送中に , より高い優先順位の他チャネルの転送要求を受け付けた場合 , ブロッ ク転送単位の境目でチャネルを切り換えてそのチャネルの転送要求がクリアさ れるまで復帰しません。 図 13.3-1 に , バースト転送例を示します。 図 13.3-1 バースト転送例 転送要求↑(エッジ) バス動作 転送回数 CPU SA DA 4 SA DA 3 SA DA 2 SA DA CPU 0 1 転送終了 (外部端子立上りエッジ起動,ブロック数=1, 転送回数=4のときのバースト転送例) 310 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 ■ ステップ / ブロック転送 2 サイクル転送 ステップ / ブロック転送 (1 転送要求ごとに指定ブロック回数分のみ転送を行う ) の場 合は転送元 / 転送先アドレスは 32 ビット領域指定可能です。 表 13.3-2 にステップ / ブロック転送 2 サイクル転送の指定可能転送アドレスを示します。 表 13.3-2 ステップ / ブロック転送 2 サイクル転送の指定可能転送アドレス 転送元アドレス指定 方向 転送先アドレス指定 32 ビット全領域指定可能 → 32 ビット全領域指定可能 ■ ステップ転送 ブロックサイズに "1" を設定すると , ステップ転送シーケンスとなります。 〔ステップ転送の特長〕 • 転送要求を 1 回受け付けると , 1 回の転送を行った後 , 転送要求をクリアして転送を 停止します ( バスコントローラに対して DMA 転送要求を取り下げる ) 。 • 転送中に再度要求が発生した場合 , 要求は無視されます。 • 転送中により , 高い優先順位の他チャネルの転送要求を受け付けた場合 , 転送停止 後に , チャネルを切り換えて転送を開始します。ステップ転送における優先順位は , 転送要求が同時に発生した場合のみ意味があります。 ■ ブロック転送 ブロックサイズを "1" 以外に設定すると , ブロック転送シーケンスとなります。 [ ブロック転送の特長 ] 1 転送単位が複数回 ( ブロック数 ) の転送サイクルから構成されること以外は , ステッ プ転送と全く同じ動作となります。図 13.3-2 にブロック転送例を示します。 図 13.3-2 ブロック転送例 転送要求(↑エッジ) バス動作 ブロック数 転送回数 CPU SA DA SA 2 DA 1 CPU 0 SA DA SA 2 2 DA 1 1 転送終了 (外部端子立上りエッジ起動,ブロック数=2, 転送回数=2のときのブロック転送例) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 311 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.4 MB91461 DMA 転送全般 DMA の転送動作について説明します。 ■ ブロックサイズ 転送データの 1 転送単位はブロックサイズ指定レジスタに設定した数 ( ×データ幅 ) の データの集合となります。 1 転送サイクルにて転送されるデータは , データ幅指定の値に固定されるため , 1 転送 単位はブロックサイズ指定値分の転送サイクル数より構成されることになります。 転送中に , より高い優先順位の転送要求が受け付けられた場合または転送の一時停止 要求が発生した場合 , ブロック転送時でも 1 転送単位の境界にならないと停止しませ ん。これにより , 分割・一時停止を希望しないデータブロックのデータ保護が可能とな りますが , ブロックサイズが大きい場合はレスポンスを低下させる原因になります。 リセット発生の場合のみ直ちに停止しますが , 転送中であったデータの内容などは保 証されません。 ■ リロード動作 本モジュールでは, 各チャネルごとに, 以下の3種類のリロード機能の設定が可能です。 (1) 転送回数レジスタリロード機能 指定回数の転送が終了した後 , 転送回数レジスタに初期設定値を再設定して起 動受付け待ちします。 全転送シーケンスを繰り返し行う際に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は回数レジスタ値が "0" のま まとなり , 以降の転送は行われません。 (2) 転送元アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送元アドレスレジスタに初期設定値を再設定 します。 転送元アドレス領域内で固定領域から繰り返し転送する場合に設定します。 リロード指定をしない場合 , 指定回数の転送終了後は転送元アドレスレジスタ 値が終了時の次のアドレスとなります。アドレス領域を固定しない場合に使用 します。 (3) 転送先アドレスレジスタリロード機能 指定回数の転送が終了した後 , 転送先アドレスレジスタに初期設定値を再設定 します。 転送先アドレス領域内で固定領域へ繰り返し転送する場合に設定します。 ( 以下 (2) と同じ ) 転送元 / 転送先レジスタのリロード機能を有効にしたのみでは , 指定回数転送終了後の 再起動は行われず , 各アドレスレジスタ値が再設定されるのみとなります。 312 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 〔動作モードとリロード動作の特殊な例〕 外部端子入力レベル検出による連続転送モードで転送している場合 , 転送回数レジ スタのリロード機能を使用すると , 入力が連続している間に転送終了となってもそ のままリロードして転送を継続します。この場合も終了コードは設定されます。 転送終了後いったん停止して , 再度入力検出から行いたい場合は , リロード指定を 行わないようにしてください。 バースト / ブロック / ステップ転送モードで転送している場合 , 転送が終了し , リ ロードすると , いったん転送を中断し , 改めて転送要求入力が検出されるまで転送 を行いません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 313 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 アドレッシングモード 13.3.5 各転送チャネルの転送先および転送元アドレスは , それぞれ独立して指定します。 その指定方法について説明します。転送シーケンスによって設定してください。 ■ アドレスレジスタ指定 2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) に転送元アドレス を , 転送先アドレス設定レジスタ (DMADA) に転送先アドレスを設定してください。 〔アドレスレジスタの特長〕 32 ビット長のレジスタです。 〔アドレスレジスタの機能〕 • 毎アクセス時に読み出され , アドレスバスへ放出されます。 • 同時にアドレスカウンタで次回アクセス時のアドレス計算が行われ, 計算結果の アドレスでアドレスレジスタを更新します。 • アドレス計算は , 各チャネル / 転送先 / 転送元それぞれ独立に , 加算 / 減算のどち らかを選択します。アドレスの増減幅はアドレスカウントサイズ指定レジスタ値 によります (DMACB:SASZ, DASZ)。 • 転送終了時のアドレスレジスタには , リロード機能を有効にしていない場合 , 最 終アドレスにアドレス計算をした結果のアドレスが残されます。 • リロード機能を有効にしている場合 , アドレスの初期値がリロードされます。 <参考> 32 ビット長アドレス計算の結果 , オーバフロー / アンダフローが発生した場合 , アドレス エラーとして検出され , そのチャネルの転送を中止します ( 表 13.2-4 を参照 ) 。 <注意事項> • アドレスレジスタに DMAC 自身のレジスタのアドレスを設定しないでください。 • DMAC により DMAC 自身のレジスタへの転送は行わないでください。 314 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 13.3.6 データの種類 1 回の転送で転送されるデータ長 ( データ幅 ) は , 以下から選択します。 • バイト • ハーフワード • ワード ■ アクセスアドレス DMA 転送においても , ワードバウンダリ仕様が守られるため , 転送先 / 転送元アドレ ス指定においてデータ長と一致しないアドレスが設定された場合 , 異なる下位ビット は無視されます。 • ワード : 実際のアクセスアドレスは下位 2 ビットが 00B から始まる 4 バイトとなります。 • ハーフワード : 実際のアクセスアドレスは下位 1 ビットが "0" から始まる 2 バイトとなります。 • バイト : 実際のアクセスアドレスとアドレス指定が一致します。 転送元アドレスと転送先アドレスの下位ビットが一致しない場合 , 内部アドレスバス 上には設定そのままのアドレスが出力されますが , バス上の各転送対象において , 上記 の決まりに従ってアドレスが修正されてアクセスが行われます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 315 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.7 MB91461 転送回数制御 転送回数は , 最大で 16 ビット長の範囲内 (1 回∼ 65536 回 ) で指定します。転送回 数指定値は転送回数レジスタ (DMACA:DTC) にて設定します。 ■ 転送回数レジスタとリロード動作 レジスタ値は転送開始時に一時記憶バッファに格納され , 転送回数カウンタにより減算 されます。このカウンタ値が "0" となったとき , 指定回数の転送終了として検出され , そのチャネルの転送停止または再起動受付け待ち ( リロード指定時 ) が行われます。 〔転送回数レジスタ群の特長〕 • 各レジスタ 16 ビット長です。 • すべてのレジスタにはそれぞれ専用リロードレジスタがあります。 • レジスタ値が "0" 時に起動すると , 65536 回の転送を行います。 〔リロード動作〕 • リロード機能があるレジスタで, リロード機能が許可されている場合にのみ有効 です。 • 転送起動時に , 回数レジスタの初期値をリロードレジスタに退避します。 • 転送回数カウンタにてカウントを行った際 , "0" になると転送終了を通知すると ともにリロードレジスタから初期値を読み出して回数レジスタに書き込みます。 316 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 CPU 制御 13.3.8 DMA 転送要求が受け付けられると , DMA はバスコントローラに対して転送要求を 発生します。 バスコントローラはバス動作の切れ目で内部バス使用権を DMA に明け渡し , DMA 転送を開始します。 ■ DMA 転送と割込み DMA 転送中に , NMI 要求 , または割込みコントローラの HRCL レジスタにて設定され たホールド抑止レベルより高いレベルの割込み要求が発生した場合には , DMAC は転 送単位 (1 ブロック ) の境界にてバスコントローラへの転送要求を一時取り下げ , 割込 み要求がクリアされるまでは転送を一時停止状態にします。この間 , 転送要求は内部で 保持されます。割込み要求がクリアされた後に再度 , DMAC はバスコントローラへ転 送要求を発行してバス使用権を取得し , DMA 転送を再開します。 割込みのレベルが HRCL レジスタに設定されたレベルより低い場合は , DMA 転送終了 まで割込みは受け付けられません。また , HRCL の設定値より低いレベルの割込み処理 動作中に DMA 転送要求があった場合は , 転送要求は受け付けられ , 転送終了まで割込 み処理動作は停止します。 デフォルトでは DMA 転送要求レベルは最弱です。すべての割込み要求に対して転送 を停止し , 割込み処理を優先させます。 ■ DMA 抑止 FR ファミリは DMA 転送中に , より優先度の高い割込み要因が発生すると DMA 転送 を中断して該当割込みルーチンへ分岐します。この機能は割込み要求がある限り有効 ですが , 割込み要因をクリアすると抑止機能が働かなくなり , 割込み処理ルーチン内で DMA 転送を再開します。 このため , DMA 転送を中断するレベルの割込み要因の処理ルーチン内で , 割込み要因 クリア後の DMA 再転送開始を抑止したいときは , DMA 抑止機能を使用します。 DMA 抑止機能は , DMA 全体制御レジスタの DMAH3 ∼ DMAH0 ビットに "0" 以外の 値を書くことで起動し , "0" を書くことで停止します。 本機能は主として割込み処理ルーチン内で使用します。割込み処理ルーチンで割込み 要因をクリアする前に DMA 抑止レジスタの内容を 1 つ増加させます。このようにす ると , 以降 , DMA 転送を行いません。 割込み処理への対応を行った後 , 復帰する前に DMAH3 ∼ DMAH0 ビットの内容を 1 つ 減少させます。 もし , 多重割込みであれば DMAH3 ∼ DMAH0 ビットの内容は , まだ "0" にならないた め , 引き続いて DMA 転送は抑止されます。また , 多重割込みでなければ , DMAH3 ∼ DMAH0 ビットの内容は "0" になるため , その後 , すぐに DMA 要求を有効にします。 <注意事項> • レジスタのビット数は 4 ビットですので , 15 レベルを超える多重割込みで本機能を使 用することができません。 • DMA タスクの優先順位は必ずほかの割込みレベルより 15 レベルは上に置いてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 317 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.9 MB91461 動作開始 DMA 転送の開始は , 各チャネルごとに独立に制御しますが , その前に全チャネルの 動作を許可しておく必要があります。 ■ 全チャネル動作許可 DMAC 各チャネルに起動を行う前に , DMA 動作許可ビット (DMACR:DMAE) にてあら かじめ全チャネルの動作を許可する必要があります。 許可されていない状態で行った起動設定 , および発生した転送要求はすべて無効とな ります。 ■ 転送起動 各チャネルごとの制御レジスタにある動作許可ビットで , 転送動作を起動します。起動 されたチャネルに対する転送要求が受け付けられると , 設定されたモードにて DMA 転 送動作が開始されます。 ■ 一時停止状態からの起動 各チャネルごとまたは全チャネル制御にて , 起動前に一時停止状態にした場合 , 転送動 作を起動しても一時停止状態を維持します。この間に転送要求が発生した場合は , 要求 を受け付けて保持します。 一時停止を解除した時点から転送を開始します。 318 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 13.3.10 転送要求の受付けと転送 転送要求の受付けと転送の内容を説明します。 ■ 転送要求の受付けと転送 起動後から , 各チャネルに対して設定した転送要求のサンプリングが開始されます。 周辺割込み起動を選択した場合 , 転送要求がクリアされるまで DMAC は転送を続けま すが , クリアされると 1 転送単位で転送を停止します ( 周辺割込み起動 ) 。 周辺割込みはレベル検出扱いとなりますので , 割込みは DMA による割込みクリアで行 うようにしてください。 転送要求は他チャネルの要求が受け付けられて転送が行われている間でも常に受け付 けられており , 優先順位の判断を行って , 1 転送単位ごとに転送するチャネルを決定し ています。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 319 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.11 MB91461 DMA による周辺割込みクリア 本 DMA には周辺割込みをクリアする機能があります。この機能は DMA 起動要因に 周辺割込みを選択したときに機能します (IS4 ∼ IS0 = 1XXXXB のとき )。 周辺割込みのクリアは設定された起動要因にのみ行われます。すなわち , IS4 ∼ IS0 で設定された周辺機能のみクリアされます。 ■ DMA による割込みクリアの発生タイミング 転送モードにより発生するタイミングが違います (「13.4 DMAC (DMA コントロー ラ ) の動作フロー」を参照 ) 。 〔ブロック / ステップ転送〕 ブロック転送を選択した場合 , 1 ブロック ( ステップ ) 転送ごとにクリア信号が発生 します。 〔バースト転送〕 バースト転送を選択した場合は , 指定転送回数がすべて終了するとクリア信号が発 生します。 320 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 13.3.12 一時停止 DMA 転送が一時停止する場合について説明します。 ■ 制御レジスタへの書込みによる一時停止の設定 ( 各チャネル独立または全チャネル同時に設定 ) 一時停止ビットにより一時停止を設定すると , 一時停止解除設定を再度設定するまで の間 , 対応するチャネルの転送は停止します。一時停止の確認は DSS ビットで行って ください。 一時停止を解除すると転送を再開します。 ■ NMI/ ホールド抑止レベル割込み処理中 NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , 転 送中のチャネルはすべて転送単位の境界にて一時停止し , バス権を開放して NMI/ 割込 み処理を優先させます。また , NMI/ 割込み処理中に受け付けられた転送要求は , その まま保持され , NMI 処理の終了を待ちます。 要求が保持されたチャネルは , NMI/ 割込み処理が終了した後に転送を再開します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 321 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.13 MB91461 動作終了 / 停止 DMA 転送の終了は , 各チャネルごとに独立に制御し , 全チャネルの動作を禁止する ことが可能です。 ■ 転送終了 リロード動作が有効でない場合 , 転送回数レジスタが "0" になると転送を停止し , 終了 コードにて「正常終了」を表示した後 , 以降の転送要求は無効となります (DMACA: DENB ビットをクリアする ) 。 リロード動作が有効である場合 , 転送回数レジスタが "0" になると初期値をリロードし , 終了コードにて「正常終了」を表示した後 , 再度 , 転送要求待ちとなります (DMACA: DENB ビットをクリアしない ) 。 ■ 全チャネル動作禁止 DMA 動作許可ビット DMAE にて全チャネルの動作を禁止すると , 動作中であったチャ ネルも含めて DMAC のすべての動作が停止します。以降 , 再度 , 全チャネル DMA 動 作を許可しても , 各チャネルごとに再起動しないと転送は行われません。この場合 , 割 込みは一切発生しません。 322 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 13.3.14 エラーによる停止 指定回数の転送終了による正常終了以外の要因で停止する場合として , 各種エラー 発生による停止および強制停止があります。 ■ 周辺回路からの転送停止要求の発生 転送要求を出力する周辺回路には , 異常を検出した際などに転送停止要求を発生する ものがあります ( 例 : 通信系周辺における受信 / 送信エラーなど ) 。 この転送停止要求を受け取った DMAC は , 終了コードで「転送停止要求」を表示して 対応するチャネルの転送を停止します。 ■ アドレスエラーの発生 各アドレッシングモードにて不適切なアドレッシングが行われたとき , アドレスエ ラーとして検出されます。 「不適切なアドレッシング」とは , 例えば「32 ビットアドレ ス指定時に , アドレスカウンタでオーバフロー / アンダフローが発生した場合」です。 アドレスエラーを検出すると , 終了コードで「アドレスエラーの発生」を表示して対応 するチャネルの転送を停止します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 323 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.15 MB91461 DMAC 割込み制御 DMAC 割込み制御は , 転送要求となる周辺割込みとは独立に DMAC 各チャネルごと に割込みを出力することが可能です。 ■ DMAC 割込み制御が出力できる割込み • 転送終了割込み : 正常終了した場合のみ発生する。 • エラー割込み : 周辺回路からの転送停止要求 ( 周辺に起因するエラー ) アドレスエラーの発生 ( ソフトウェアに起因するエラー ) これらの割込みはすべて終了コードの内容に従って出力されます。 割込み要求のクリアは , DMACS の DSS2 ∼ DSS0 ( 終了コード ) に 000B を書き込むこ とにより行います。 なお , 終了コードは再起動する際には必ず 000B を書き込んでクリアしてください。 リロード動作が有効である場合 , 自動的に再起動しますが , この時終了コードはクリア されず , 次の転送終了による新しい終了コードの書込み時まで保持されます。 終了コードで表示できる終了要因は1種類のみですので, 複数の要因が同時に発生した 場合は優先判断を行った結果を表示します。この際に発生する割込みは , 表示されてい る終了コードに従います。 終了コードの表示の優先順位を優先度の高い順に以下に示します。 • リセット • 000B 書込みによるクリア • 周辺停止要求 • 正常終了 • アドレスエラー検出による停止 • チャネル選択と制御 324 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 13.3.16 スリープ中の DMA 転送 DMAC は , スリープモード中でも動作させることができます。 スリープ状態のときの DMA 転送について説明します。 ■ スリープモード中の DMA 転送の注意 スリープモードで DMA 転送する場合 , 次のことに注意する必要があります。 • CPU は停止状態なので DMAC のレジスタを書き換えることはできません。スリー プモードに入る前に設定を済ませておいてください。 • スリープモードは , 割込みで解除されますので , DMAC 起動要因で周辺割込みを選 択した場合は , 割込みコントローラで割込みを禁止する必要があります。 同様に DMAC 終了割込みでスリープモードを解除したくない場合は割込みを禁止にし てください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 325 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 13.3.17 MB91461 チャネル選択と制御 転送チャネルの数は 5 チャネルまで同時に設定が可能です。 各チャネルは基本的に各機能を独立に設定することが可能です。 ■ チャネル間優先順位 DMA 転送は同時に 1 チャネルのみ可能なため , 各チャネル間には優先順位が設定され ます。順位設定には , 固定 / 回転の 2 モードがあり , チャネルグループ (「■チャネル グループ」を参照 ) ごとに選択します。 ● 固定モード チャネル番号の小さい順に固定されます。 (ch.0 > ch.1 > ch.2 > ch.3 > ch.4) 転送中により高い優先度の転送要求が受け付けられた場合 , 1 転送単位 ( ブロックサイ ズ指定レジスタに設定した数×データ幅 ) の転送が終了した時点で , 転送チャネルが高 優先度側に切り換わります。 高優先度側の転送が終了すると , 元のチャネルの転送を再開します。 図 13.3-3 に , 固定モード時の DMA 転送を示します。 図 13.3-3 固定モード時の DMA 転送 ch.0転送要求 ch.1転送要求 バス動作 CPU SA 転送チャネル DA SA ch.1 DA SA ch.0 DA SA ch.0 DA CPU ch.1 ch.0転送終了 ch.1転送終了 ● 回転モード (ch.0 − ch.1 間のみ ) 動作許可後の初期状態は固定モードと同じ順位に設定されますが , 一転送終了ごとに そのチャネルの優先度は逆転します。そのため, 同時に転送要求が出力されている場合, 1 転送単位ごとにチャネルが切り換わります。 連続 / バースト転送を設定した場合に効果のあるモードです。 図 13.3-4 に回転モード時の DMA 転送を示します。 図 13.3-4 回転モード時の DMA 転送 ch.0転送要求 ch.1転送要求 バス動作 転送チャネル CPU SA DA ch.1 SA DA ch.0 SA DA ch.1 SA DA CPU ch.0 ch.0転送終了 ch.1転送終了 326 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.3 DMAC (DMA コントローラ ) の動作説明 MB91461 ■ チャネルグループ 優先順位の選択は , 以下の単位で設定します。 表 13.3-3 に , DMA 優先順位選択の設定を示します。 表 13.3-3 DMA 優先順位選択の設定 CM71-10159-2 モード 優先度 備考 固定 ch.0 > ch.1 − 回転 ch.0 > ch.1 ↑↓ ch.0 < ch.1 初期状態は上位側の順位です。 上位側が転送されると反転します。 FUJITSU MICROELECTRONICS LIMITED 327 第 13 章 DMAC (DMA コントローラ ) 13.4 DMAC (DMA コントローラ ) の動作フロー 13.4 MB91461 DMAC (DMA コントローラ ) の動作フロー 図 13.4-1 および 図 13.4-2 に , DMA 転送の動作フローを示します。 ■ ブロック転送の動作フロー 図 13.4-1 ブロック転送 DMA停止 DENB=>0 DENB=1 リロード許可 起動要求待機 起動要求 初期化 アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 フライバイ時は1回のアクセス 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 周辺割込み起動要因選択時のみ アドレス,転送回数, ブロック数,ライトバック 割込みクリア 割込みクリア発生 DTC=0 DMA転送終了 DMA割込み発生 ブロック転送 • すべての起動要因で起動可能(選択) • すべての領域へのアクセス可能 • ブロック数の設定可能 • ブロック数終了で割込みクリア発行 • 指定転送回数終了で DMA 割込みを発行 328 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.4 DMAC (DMA コントローラ ) の動作フロー MB91461 ■ バースト転送の動作フロー 図 13.4-2 バースト転送 DMA停止 DENB=>0 DENB=1 起動要求待機 リロード許可 初期化 アドレス,転送回数, ブロック数ロード 転送元アドレスアクセス アドレス演算 フライバイ時は1回のアクセス 転送先アドレスアクセス アドレス演算 ブロック数-1 BLK=0 転送回数-1 DTC=0 アドレス,転送回数, ブロック数,ライトバック 割込みクリア 周辺割込み起動要因選択時のみ 割込みクリア発生 DMA転送終了 DMA割込み発生 バースト転送 • すべての起動要因で起動可能(選択) • すべての領域へのアクセス可能 • ブロック数の設定可能 • 指定転送回数終了で割込みクリア , DMA 割込みを発行 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 329 第 13 章 DMAC (DMA コントローラ ) 13.5 データバス 13.5 MB91461 データバス 各転送時のデータの動作を示します。 ■ 2 サイクル転送時のデータの動作 図 13.5-1 から図 13.5-6 に 2 サイクル転送時のデータの動作を示します。 図 13.5-1 外部領域→外部領域転送 MB91xxx リードサイクル CPU I-bus X-bus バスコントローラ D-bus データバッファ DMAC ライトサイクル I-bus CPU DMAC 外部バス I/F MB91xxx X-bus バスコントローラ D-bus データバッファ F-bus RAM 外部バス I/F 外部領域=>外部領域 転送 F-bus I/O RAM I/O 図 13.5-2 外部領域→内部 RAM 領域転送 MB91xxx リードサイクル CPU I-bus X-bus バスコントローラ D-bus データバッファ DMAC ライトサイクル I-bus CPU DMAC 外部バス I/F MB91xxx X-bus バスコントローラ D-bus データバッファ F-bus RAM 330 外部バス I/F 外部領域=>内部RAM領域 転送 F-bus I/O FUJITSU MICROELECTRONICS LIMITED RAM I/O CM71-10159-2 第 13 章 DMAC (DMA コントローラ ) 13.5 データバス MB91461 図 13.5-3 外部領域→内蔵 I/O 領域転送 MB91xxx リードサイクル CPU I-bus X-bus バスコントローラ D-bus DMAC ライトサイクル I-bus CPU DMAC 外部バス I/F MB91xxx X-bus バスコントローラ D-bus データバッファ データバッファ F-bus RAM 外部バス I/F 外部領域=>内蔵I/O領域 転送 F-bus RAM I/O I/O 図 13.5-4 内蔵 I/O 領域→内蔵 RAM 領域転送 MB91xxx リードサイクル CPU I-bus X-bus バスコントローラ D-bus データバッファ DMAC ライトサイクル I-bus CPU DMAC 外部バス I/F MB91xxx X-bus バスコントローラ D-bus F-bus RAM 外部バス I/F 内蔵I/O領域=>内蔵RAM領域 転送 F-bus RAM I/O I/O 図 13.5-5 内部 RAM 領域→外部領域転送 MB91xxx リードサイクル CPU I-bus X-bus バスコントローラ D-bus データバッファ DMAC ライトサイクル I-bus CPU DMAC 外部バス I/F MB91xxx X-bus バスコントローラ D-bus データバッファ F-bus RAM CM71-10159-2 I/O FUJITSU MICROELECTRONICS LIMITED 外部バス I/F 内部RAM領域=>外部領域 転送 F-bus RAM I/O 331 第 13 章 DMAC (DMA コントローラ ) 13.5 データバス MB91461 図 13.5-6 内部 RAM 領域→内蔵 I/O 領域転送 MB91xxx リードサイクル X-bus CPU I-bus バスコントローラ D-bus データバッファ DMAC ライトサイクル X-bus I-bus CPU DMAC 外部バス I/F MB91xxx バスコントローラ D-bus データバッファ F-bus RAM 332 I/O FUJITSU MICROELECTRONICS LIMITED 外部バス I/F 内部RAM領域=>内蔵I/O領域 転送 F-bus RAM I/O CM71-10159-2 第 14 章 CAN コントローラ CAN コントローラの機能と動作について示しま す。 14.1 CAN の特長 14.2 CAN のブロックダイヤグラム 14.3 CAN のレジスタ 14.4 CAN レジスタ機能 14.5 CAN 機能 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 333 第 14 章 CAN コントローラ 14.1 CAN の特長 14.1 MB91461 CAN の特長 CAN は , シリアル通信用の標準プロトコルである CAN プロトコル ver2.0A/B に準 拠しており , 自動車や FA などの工業分野に広く使用されています。 ■ CAN の特長 CAN には以下の特長があります。 • CAN プロトコル ver2.0A/B をサポート • 1Mbps までのビットレートをサポート • メッセージオブジェクトごとの識別マスク • プログラマブル FIFO モードをサポート • マスク可能な割込み • 自己テスト動作用プログラマブルループバックモードをサポート • インタフェースレジスタを使用してメッセージバッファへの読出し / 書込み 334 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.2 CAN のブロックダイヤグラム MB91461 14.2 CAN のブロックダイヤグラム 図 14.2-1 に , CAN ブロックダイヤグラムを示します。 図 14.2-1 CAN ブロックダイヤグラム CAN_TX CAN_RX CANコントローラ メッセージ RAM メッセージ ハンドラ C_CAN レジスタ群 割込み データ出力 データ入力 アドレス[7:0] 制御 リセット クロック CPUインタフェース ■ CAN コントローラ CAN プロトコルと送受信メッセージ転送のためのシリアル / パラレル変換用のシリア ルレジスタを制御します。 ■ メッセージ RAM メッセージオブジェクトを格納します。 ■ レジスタ群 CAN で使用されるすべてのレジスタです。 ■ メッセージハンドラ メッセージ RAM と CAN コントローラを制御します。 ■ CPU インタフェース FR ファミリ内部バスのインタフェースを制御します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 335 第 14 章 CAN コントローラ 14.3 CAN のレジスタ 14.3 MB91461 CAN のレジスタ CAN には , 以下のレジスタがあります。 • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPE) • 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 New Data レジスタ 1, 2 (NEWDT1, NEWDT2) • CAN 割込みペンディングレジスタ 1, 2 (INTPND1, INTPND2) • CAN メッセージ有効レジスタ 1, 2 (MSGVAL1, MSGVAL2) • CAN クロックプリスケーラレジスタ (CANPRE) 336 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.3 CAN のレジスタ MB91461 ■ 全体制御レジスタ一覧 表 14.3-1 全体制御レジスタ一覧 レジスタ アドレス +0 +1 CAN 制御レジスタ ベースアドレス + 00H 初期値 初期値 bit15 ∼ bit8 bit7 ∼ bit0 予約 00000000B CTRLR 予約 00000000B STATR 00000001B 初期値 初期値 CM71-10159-2 − 00000000B CAN ビットタイミングレジスタ bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 RP, REC[6:0] TEC[7:0] TSeg2[2:0], TSeg1[3:0] SJW[1:0], BRP[5:0] 00000000B 00000000B 00100011B 00000001B CAN テストレジスタ bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 IntId15 ∼ IntId8 IntId7 ∼ IntId0 予約 TESTR 00000000B 00000000B 00000000B 00000000B r0000000B CAN プリスケーラ拡張レジスタ ベースアドレス + 0CH コメント CAN ステータスレジスタ bit7 ∼ bit0 CAN 割込みレジスタ ベースアドレス + 08H +3 bit15 ∼ bit8 CAN エラーカウンタ ベースアドレス + 04H +2 予約 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 予約 BRP3 ∼ BRP0 予約 予約 00000000B 00000000B 00000000B 00000000B FUJITSU MICROELECTRONICS LIMITED エラーカウンタは 読出し専用です。 ビットタイミング レジスタは , CCE により書込み可能 となります。 割込みレジスタは 読出し専用です。 テストレジスタは TSET により使用 できます。 TESTR の "r" は CAN_RX 端子の 値を意味します。 プリスケーラ拡張 レジスタは CCE により書込み可能 となります。 337 第 14 章 CAN コントローラ 14.3 CAN のレジスタ MB91461 ■ メッセージインタフェースレジスタ一覧 表 14.3-2 メッセージインタフェースレジスタ一覧 (1 / 2) アドレス ベースアドレス + 10H 初期値 レジスタ +0 +1 IF1 コマンド要求レジスタ 初期値 +3 コメント IF1 コマンドマスクレジスタ bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 BUSY Mess.No.5 ∼ 0 IF1CMSK 00000000B 00000001B 予約 00000000B IF1 マスクレジスタ 2 ベースアドレス + 14H +2 − 00000000B IF1 マスクレジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 MXtd. MDir, Msk28 ∼ Msk24 Msk23 ∼ Msk16 Msk15 ∼ Msk8 Msk7 ∼ Msk0 11111111B 11111111B 11111111B 11111111B − IF1 アービトレーションレジスタ 2 IF1 アービトレーションレジスタ 1 ベースアドレス + 18H 初期値 ベースアドレス + 1CH 初期値 ベースアドレス + 20H 初期値 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 MsgVal, Xtd, Dir, ID28 ∼ ID24 ID23 ∼ ID16 ID15 ∼ ID8 ID7 ∼ ID0 00000000B 00000000B 00000000B 00000000B IF1 メッセージ制御レジスタ 予約 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 IF1MCTR IF1MCTR 00000000B 00000000B 予約 00000000B 予約 00000000B IF1 データレジスタ A1 IF1 データレジスタ A2 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 Data[0] Data[1] Data[2] Data[3] 00000000B 00000000B 00000000B 00000000B IF1 データレジスタ B1 IF1 データレジスタ B2 ベースアドレス + 24H bit15 ∼ bit8 Data[4] Data[5] Data[6] Data[7] 初期値 00000000B 00000000B 00000000B 00000000B bit7 ∼ bit0 IF1 データレジスタ A2 bit15 ∼ bit8 bit7 ∼ bit0 IF1 データレジスタ A1 ベースアドレス + 30H bit15 ∼ bit8 Data[3] Data[2] Data[1] Data[0] 初期値 00000000B 00000000B 00000000B 00000000B bit7 ∼ bit0 IF1 データレジスタ B2 bit15 ∼ bit8 bit7 ∼ bit0 IF1 データレジスタ B1 ベースアドレス + 34H bit15 ∼ bit8 Data[7] Data[6] Data[5] Data[4] 初期値 00000000B 00000000B 00000000B 00000000B 338 bit7 ∼ bit0 − bit15 ∼ bit8 bit7 ∼ bit0 FUJITSU MICROELECTRONICS LIMITED − ビッグ エンディアン バイト ビッグ エンディアン バイト リトル エンディアン バイト リトル エンディアン バイト CM71-10159-2 第 14 章 CAN コントローラ 14.3 CAN のレジスタ MB91461 表 14.3-2 メッセージインタフェースレジスタ一覧 (2 / 2) アドレス ベースアドレス + 40H 初期値 レジスタ +0 +1 IF2 コマンド要求レジスタ 初期値 ベースアドレス + 48H 初期値 ベースアドレス + 4CH 初期値 +3 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 BUSY Mess.No.5 ∼ 0 IF2CMSK 00000000B 00000001B 予約 00000000B IF2 マスクレジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 MXtd. MDir, Msk28 ∼ Msk24 Msk23 ∼ Msk16 Msk15 ∼ Msk8 Msk7 ∼ Msk0 11111111B 11111111B 11111111B 11111111B bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 IF2MCTR IF2MCTR 00000000B 00000000B 予約 00000000B 予約 00000000B IF2 メッセージ制御レジスタ bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 IF2MCTR IF2MCTR 00000000B 00000000B 予約 00000000B 予約 00000000B IF2 データレジスタ A1 IF2 データレジスタ A2 Data[0] Data[1] Data[2] Data[3] 初期値 00000000B 00000000B 00000000B bit15 ∼ bit8 IF2 データレジスタ B1 bit7 ∼ bit0 bit15 ∼ bit8 IF2 データレジスタ B2 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 Data[4] Data[5] Data[6] Data[7] 00000000B 00000000B 00000000B 00000000B IF2 データレジスタ A2 IF2 データレジスタ A1 ベースアドレス + 60H bit15 ∼ bit8 Data[3] Data[2] Data[1] Data[0] 初期値 00000000B 00000000B 00000000B 00000000B bit7 ∼ bit0 IF2 データレジスタ B2 bit15 ∼ bit8 bit7 ∼ bit0 IF2 データレジスタ B1 ベースアドレス + 64H bit15 ∼ bit8 Data[7] Data[6] Data[5] Data[4] 初期値 00000000B 00000000B 00000000B 00000000B bit7 ∼ bit0 − 予約 00000000B CM71-10159-2 − IF2 アービトレーションレジスタ 2 IF2 アービトレーションレジスタ 1 bit7 ∼ bit0 初期値 − 00000000B ベースアドレス + 50H ベースアドレス + 54H コメント IF2 コマンドマスクレジスタ bit15 ∼ bit8 IF2 マスクレジスタ 2 ベースアドレス + 44H +2 bit15 ∼ bit8 bit7 ∼ bit0 FUJITSU MICROELECTRONICS LIMITED − ビッグ エンディアン バイト ビッグ エンディアン バイト リトル エンディアン バイト リトル エンディアン バイト 339 第 14 章 CAN コントローラ 14.3 CAN のレジスタ MB91461 ■ メッセージハンドラレジスタ一覧 表 14.3-3 メッセージハンドラレジスタ一覧 (1 / 2) レジスタ アドレス コメント +0 +1 CAN 送信要求レジスタ 2 ベースアドレス + 80H 初期値 +2 +3 CAN 送信要求レジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 TxRqst32 ∼ TxRqst25 TxRqst24 ∼ TxRqst17 TxRqst16 ∼ TxRqst9 TxRqst8 ∼ TxRqst1 00000000B 00000000B 00000000B 00000000B 送信要求レジスタ はリードオンリで す。 ベースアドレス + 84H ベースアドレス + 88H 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) − ベースアドレス + 8CH ベースアドレス + 90H 初期値 CAN データ更新レジスタ 2 CAN データ更新レジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 NewDat32 ∼ NewDat25 NewDat24 ∼ NewDat17 NewData16 ∼ NewDat9 NewData8 ∼ NewDat1 00000000B 00000000B 00000000B 00000000B データ更新レジス タはリードオンリ です。 ベースアドレス + 94H ベースアドレス + 98H 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) − ベースアドレス + 9CH CAN 割込みペンディングレジスタ 2 CAN 割込みペンディングレジスタ 1 割込みペンディン ベースアドレス + A0H bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 IntPnd32 ∼ IntPnd25 IntPnd24 ∼ IntPnd17 IntPnd16 ∼ IntPnd9 IntPnd8 ∼ IntPnd1 初期値 00000000B 00000000B 00000000B 00000000B グレジスタはリー ドオンリです。 ベースアドレス + A4H ベースアドレス + A8H 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) − ベースアドレス + ACH 340 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.3 CAN のレジスタ MB91461 表 14.3-3 メッセージハンドラレジスタ一覧 (2 / 2) レジスタ アドレス コメント +0 ベースアドレス + B0H +1 +2 +3 CAN メッセージ有効レジスタ 2 CAN メッセージ有効レジスタ 1 メッセージ有効レ ジスタはリードオ bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 ンリです。 MsgVal32 ∼ MsgVal25 MsgVal24 ∼ MsgVal17 MsgVal16 ∼ MsgVal9 MsgVal8 ∼ MsgVal1 00000000B 00000000B 00000000B 00000000B ベースアドレス + B4H ベースアドレス + B8H 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) − ベースアドレス + BCH CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 341 第 14 章 CAN コントローラ 14.3 CAN のレジスタ MB91461 ■ クロックプリスケーラレジスタ 表 14.3-4 クロックプリスケーラレジスタ レジスタ アドレス 0004C0H 初期値 342 +0 +1 +2 +3 CAN プリス ケーラレジスタ − − − bit3 ∼ bit0 − − − CANPRE[3:0] − − − 00000000B − − − FUJITSU MICROELECTRONICS LIMITED コメント CAN プリスケーラ CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 14.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-10159-2 FUJITSU MICROELECTRONICS LIMITED 343 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.1 MB91461 全体制御レジスタ 全体制御レジスタは , CAN プロトコル制御および動作モードを制御し , ステータス 情報を提供します。 ■ 全体制御レジスタ • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPER) 344 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 14.4.1.1 CAN 制御レジスタ (CTRLR) CAN 制御レジスタ (CTRLR) は , CAN コントローラの動作モードを制御します。 ■ レジスタ構成 図 14.4-1 CAN 制御レジスタ (CTRLR) のレジスタ構成 CAN 制御レジスタ ( 上位バイト ) bit アドレス : Base + 00H リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 4 3 2 1 0 予約 R 0 EIE R/W 0 SIE R/W 0 IE R/W 0 Init R/W 0 CAN 制御レジスタ ( 下位バイト ) bit アドレス : Base + 01H リード / ライト→ 初期値→ 7 6 5 Test R/W 0 CCE R/W 0 DAR R/W 0 ■ レジスタ機能 [bit15 ∼ bit8] 予約 : 予約ビット これらのビットからは , 00000000B が読み出されます。 書込みの場合には , 00000000B を設定してください。 [bit7] Test : テストモード許可ビット Test 機能 0 通常動作 [ 初期値 ] 1 テストモード [bit6] CCE : ビットタイミングレジスタ書込み許可ビット CCE CM71-10159-2 機能 0 CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジ スタへの書込みを禁止します。[ 初期値 ] 1 CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジ スタへの書込みを許可します。Init ビットが "1" のときに有効です。 FUJITSU MICROELECTRONICS LIMITED 345 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit5] DAR : 自動再送禁止ビット DAR 機能 0 調停負けまたはエラー検出時のメッセージの自動再送を許可しま す。[ 初期値 ] 1 自動再送を禁止します。 CAN 仕様 (「ISO11898, 6.3.3 リカバリ処理」を参照 ) より , CAN コントローラは調 停負けあるいは転送中のエラー検出によりフレームの自動再送を行います。自動再 送する場合は , DAR ビットを "0" にリセットします。CAN を Time Triggered CAN (「TTCAN, ISO11898-1」を参照 ) 環境で動作させるためには , DAR ビットに "1" を 設定する必要があります。 DAR ビットに "1" を設定したモードでは , メッセージオブジェクト ( メッセージオ ブジェクトについては「14.4.3 メッセージオブジェクト」を参照 ) の TxRqst ビット と NewDat ビットの動作が異なります。 • フレーム送信を開始したとき , メッセージオブジェクトの TxRqst が "0" にリセッ トされますが , NewDat ビットは設定されたままです。 • フレーム送信が正常終了すると NewDat は "0" にリセットされます。 • 送信が調停負けもしくはエラーを検出すると , NewDat は設定されたままです。 送信を再開するためには , CPU により TxRqst に "1" を設定する必要があります。 [bit4] 予約 : 予約ビット このビットからは , "0" が読み出されます。 書込みの場合には , "0" を設定してください。 [bit3] EIE : エラー割込みコード許可ビット 346 EIE 機能 0 CAN ステータスレジスタの BOff または EWarn ビットの変化により , CAN 割込みレジスタへの割込みコードの設定を禁止します。 [ 初期値 ] 1 CAN ステータスレジスタの BOff または EWarn ビットの変化により , CAN 割込みレジスタへのステータス割込みコードの設定を許可しま す。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit2] SIE : ステータス割込みコード許可ビット SIE 機能 0 CAN ステータスレジスタの TxOk, RxOk または LEC ビットの変化に より , CAN 割込みレジスタへの割込みコードの設定を禁止します。 [ 初期値 ] 1 CAN ステータスレジスタの TxOk, RxOk または LEC ビットの変化に より , CAN 割込みレジスタへのステータス割込みコードの設定を許 可します。 CPU からの書込みによって発生した TxOk, RxOk, LEC ビットの変化 は CAN 割込みレジスタには設定されません。 [bit1] IE : 割込み許可ビット IE 機能 0 割込みの発生を禁止します。[ 初期値 ] 1 割込みの発生を許可します。 [bit0] Init : 初期化ビット Init 機能 0 CAN コントローラ動作可能 1 初期化 [ 初期値 ] • バスオフリカバリシーケンス (「CAN 仕様 Rev. 2.0」を参照 ) を , Init ビットの設 定/解除によって短縮することはできません。デバイスがバスオフになると, CAN コントローラ自身が Init ビットを "1" に設定し , すべてのバス動作を停止させま す。バスオフ状態から Init ビットを "0" にクリアすると , バスアイドルが連続的 に 129 回 (11 ビットのレセッシブを 1 回とする ) 発生するまでバス動作を停止状 態にします。バスオフリカバリシーケンス実行後 , エラーカウンタはリセットさ れます。 • CAN ビットタイミングレジスタへの書込みは , Init および CCE ビットに "1" を設 定してから行ってください。 • 低消費電力モード ( 停止モード , クロックモード ) を使用する場合は , 低消費電 力モードへ遷移する前に INIT ビットに "1" を書き込んで CAN コントローラの初 期化を行ってください。 • CAN プリスケーラレジスタにより , CAN インタフェースに供給するクロック (CAN クロック ) の分周比を変更する場合は , INIT ビットに "1" を設定した後に CAN プリスケーラレジスタの変更を行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 347 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.1.2 MB91461 CAN ステータスレジスタ (STATR) CAN ステータスレジスタ (STATR) は , CAN ステータスおよび CAN バス状態を表示 します。 ■ レジスタ構成 図 14.4-2 CAN ステータスレジスタ (STATR) のレジスタ構成 CAN ステータスレジスタ ( 上位バイト ) bit アドレス : Base + 02H リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 2 1 0 R/W 0 LEC R/W 0 R/W 0 CAN ステータスレジスタ ( 下位バイト ) bit アドレス : Base + 03H リード / ライト→ 初期値→ 7 6 5 4 3 BOff R 0 EWarn EPass R 0 RxOk R/W 0 TxOk R/W 0 R 0 ■ レジスタ機能 [bit15 ∼ bit8] 予約 : 予約ビット これらのビットからは , "0" が読み出されます。 書込みの場合には , "0" を設定してください。 [bit7] BOff : バスオフビット BOff 機能 0 CAN コントローラはバスオフ状態ではない ( バスアクティブ ) [ 初期値 ] 1 CAN コントローラはバスオフ状態 [bit6] EWarn : ウォーニングビット EWarn 348 機能 0 送信 , 受信カウンタはいずれも 96 未満 [ 初期値 ] 1 送信または受信カウンタが 96 以上 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit5] EPass: エラーパッシブビット EPass 機能 0 送信 , 受信カウンタはいずれも 128 未満 ( エラーアクティブ状態 ) [ 初期値 ] 1 受信カウンタは RP ビット= 1, 送信カウンタが 128 以上 ( エラーパッシブ状態 ) [bit4] RxOk : メッセージ正常受信ビット RxOk 機能 0 メッセージ受信は異常 , またはバスアイドル状態 [ 初期値 ] 1 メッセージ受信は正常 [bit3] TxOk : メッセージ正常送信ビット TxOk 機能 0 メッセージ送信は異常 , またはバスアイドル状態 [ 初期値 ] 1 メッセージ送信は正常 <注意事項> RxOk および TxOk ビットは , CPU によってのみリセットされます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 349 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit2 ∼ bit0] LEC : ラストエラーコードビット LEC 状態 機能 000B 正常 正常に送信または受信されたことを示します。 [ 初期値 ] 001B Stuff エラー メッセージ内において 6 ビット以上連続してドミナン トまたはレセッシブを検出したことを示します。 010B Form エラー 受信フレームの固定フォーマット部が誤って受信され たことを示します。 011B Ack エラー 送信メッセージに対し , 他のノードからアクノリッジ されなかったことを示します。 100B bit1 エラー 調停フィールドを除くメッセージの送信データにおい て , レセッシブを送信したにもかかわらずドミナント を検出したことを示します。 101B bit0 エラー メッセージの送信データにおいて , ドミナントを送信 したにもかかわらずレセッシブを検出したことを示し ます。バスリカバリ中には , 11 ビットのレセッシブを 検出するごとにセットされます。このビットを読み出 すことによりバスリカバリシーケンスを監視できます。 110B CRC エラー 受信したメッセージの CRC データと計算した CRC の 結果が一致しなかったことを示します。 CPU によって LEC ビットに 111B の書込みを行ってか 111B 未検出 ら , LEC ビットの読出し値が 111B の場合は , その期間 には送受信が行われなかったことを示します ( バスア イドル状態 ) 。 LEC ビットは CAN バス上で発生した最後のエラーを示すコードを保持します。メッ セージがエラーなしで転送 ( 受信 / 送信 ) 完了すると 000B に設定されます。未検出 コード 111B は , コード更新をチェックするために CPU で設定してください。 • ステータス割込みコード (8000H) は , EIE ビットが "1" のときに BOff または EWarn ビットが変化した場合 , あるいはSIEビットが"1"のときにRxOk, TxOk, LECビッ トのいずれかが変化した場合 , CAN 割込みレジスタに設定されます。 • RxOk, TxOk ビットは CPU の書込みによって更新されますので , CAN コントロー ラによってセットされた RxOk, TxOk ビットは保持されません。RxOk, TxOk ビット を使用する場合には , RxOk または TxOk ビットが "1" に設定されてから (45 × BT) 時間以内にクリアしてください。BT は 1 ビットタイムを示します。 • SIE ビットが "1" のとき , LEC ビットの変化による割込みが発生した場合には , CAN ステータスレジスタには書き込まないでください。 • EPass ビットの変化 , あるいは RxOk, TxOk, LEC ビットへの CPU 書込み動作では 発生しません。 • BOff ビットまたは EPass ビットが "1" になっても EWarn ビットは "1" に設定さ れています。 • このレジスタを読み出すことにより , CAN 割込みレジスタのステータス割込み (8000H) はクリアされます。 350 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 14.4.1.3 CAN エラーカウンタ (ERRCNT) CAN エラーカウンタ (ERRCNT) は , 受信エラーパッシブ表示および受信エラーカウ ンタ , 送信エラーカウンタを示します。 ■ レジスタ構成 図 14.4-3 CAN エラーカウンタ (ERRCNT) のレジスタ構成 CAN エラーカウンタレジスタ ( 上位バイト ) bit アドレス : Base + 04H リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 RP R 0 R 0 R 0 REC6 ∼ REC0 R R R 0 0 0 R 0 R 0 4 2 1 0 R 0 R 0 R 0 CAN エラーカウンタレジスタ ( 下位バイト ) bit 7 6 5 R 0 R 0 R 0 アドレス : Base + 05H リード / ライト→ 初期値→ 3 TEC7 ∼ TEC0 R R 0 0 ■ レジスタ機能 [bit15] RP : 受信エラーパッシブ表示 RP 機能 0 受信エラーカウンタは CAN 仕様でのエラーパッシブ状態ではない [ 初期値 ] 1 受信エラーカウンタは CAN 仕様でのエラーパッシブ状態 [bit14 ∼ bit8] REC6 ∼ REC0 : 受信エラーカウンタ 受信エラーカウンタ値。受信エラーカウンタ値の範囲は 0 ∼ 127 です。 [bit7 ∼ bit0] TEC7 ∼ TEC0 : 送信エラーカウンタ 送信エラーカウンタ値。送信エラーカウンタ値の範囲は 0 ∼ 255 です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 351 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.1.4 MB91461 CAN ビットタイミングレジスタ (BTR) CAN ビットタイミングレジスタ (BTR) は , プリスケーラおよびビットタイミングを 設定します。 ■ レジスタ構成 図 14.4-4 CAN ビットタイミングレジスタ (BTR) のレジスタ構成 CAN ビットタイミングレジスタ ( 上位バイト ) bit アドレス : Base + 06H リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 予約 R 0 R/W 0 TSeg2 R/W 1 R/W 0 R 0 R 0 R 1 R 1 4 3 2 1 0 R/W 0 R/W 1 TSeg1 CAN ビットタイミングレジスタ ( 下位バイト ) bit アドレス : Base + 07H リード / ライト→ 初期値→ 7 6 SJW R/W R/W 0 0 5 R/W 0 R/W 0 BRP R/W R/W 0 0 CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジスタの設定は , CAN 制御レジスタのCCEビットとInitビットが"1"に設定されているときに行ってください。 352 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ■ レジスタ機能 [bit15] 予約 : 予約ビット このビットからは , "0" が読み出されます。 書込みの場合には , "0" を設定してください。 [bit14 ∼ bit12] TSeg2 : タイムセグメント 2 設定ビット 有効設定値は 0 ∼ 7 です。TSeg2 + 1 の値がタイムセグメント 2 になります。 タイムセグメント 2 は , CAN 仕様のフェーズバッファセグメント (PHASE_SEG2) に 相当します。 [bit11 ∼ bit8] TSeg1 : タイムセグメント 1 設定ビット 有効設定値は 1 ∼ 15 です。"0" の設定は禁止です。TSeg1 + 1 の値がタイムセグメ ント 1 になります。 タイムセグメント 1 は , CAN 仕様のプロパゲーションセグメント (PROP_SEG) + フェーズバッファセグメント 1 (PHASE_SEG1) に相当します。 [bit7, bit6] SJW : 再同期化ジャンプ幅設定ビット 有効設定値は 0 ∼ 3 です。SJW + 1 の値が再同期ジャンプ幅となります。 [bit5 ∼ bit0] BRP : ボーレートプリスケーラ設定ビット 有効設定値は 0 ∼ 63 です。BRP + 1 の値がボーレートプリスケーラになります。 CAN クロック (fsys) を分周して , CAN コントローラの基本単位時間 (tq) を決定しま す。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 353 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.1.5 MB91461 CAN 割込みレジスタ (INTR) CAN 割込みレジスタ (INTR) は , メッセージ割込みコードおよびステータス割込み コードを表示します。 ■ レジスタ構成 図 14.4-5 CAN 割込みレジスタ (INTR) のレジスタ構成 CAN 割込みレジスタ ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 6 5 アドレス : Base + 08H リード / ライト→ 初期値→ 12 11 IntId15 ∼ Intld8 R R 0 0 10 9 8 R 0 R 0 R 0 2 1 0 R 0 R 0 R 0 CAN 割込みレジスタ ( 下位バイト ) bit 7 アドレス : Base + 09H リード / ライト→ 初期値→ 354 R 0 R 0 R 0 4 3 IntId7 ∼ Intld0 R R 0 0 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ■ レジスタ機能 表 14.4-1 CAN 割込みレジスタ (INTR) のレジスタ機能 IntId 機能 0000H 割込みなし 0001H ∼ 0020H メッセージ割込みコード ( 割込み要因はメッセージオブジェクトの番号 ) 0021H ∼ 7FFFH 未使用 8000H ステータス割込みコード (CAN ステータスレジスタの変化による割込み ) 8001H ∼ FFFFH 未使用 複数の割込みコードが保留中である場合 , CAN 割込みレジスタは優先度の高い割込み コードを示します。割込みコードが CAN 割込みレジスタに設定されている場合におい ても , 優先度の高い割込みコードが発生すると , CAN 割込みレジスタは優先度の高い 割込みコードに更新されます。 優先度の高い割込みコードは , ステータス割込みコード (8000H), メッセージ割込み (0001H, 0002H, 0003H, ……, 0040H) の順になります。 IntId ビットが 0000H 以外のときに , CAN 制御レジスタの IE ビットが "1" に設定される と , CPU への割込み信号が有効になります。IntId の値が 0000H になる ( 割込み要因が リセットされる ) もしくは CAN 制御レジスタの IE ビットが "0" にリセットされると , 割込み信号は無効になります。 対象となるメッセージオブジェクト ( メッセージオブジェクトについては 「14.4.3 メッ セージオブジェクト」を参照 ) の IntPnd ビットを "0" にクリアすると , メッセージ割込 みコードはクリアされます。 ステータス割込みコードは CAN ステータスレジスタを読み出すとクリアされます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 355 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.1.6 MB91461 CAN テストレジスタ (TESTR) CAN テストレジスタ (TESR) レジスタは , テストモードの設定および RX 端子のモ ニタを行います。動作については , 「14.5.7 テストモード」を参照してください。 ■ レジスタ構成 図 14.4-6 CAN テストレジスタ (TESTR) のレジスタ構成 CAN テストレジスタ ( 上位バイト ) bit アドレス : Base + 0AH リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 7 6 5 4 3 2 1 0 Rx R (r) Tx1 R/W 0 Tx0 R/W 0 LBack R/W 0 Silent R/W 0 Basic R/W 0 予約 R 0 予約 R 0 CAN テストレジスタ ( 下位バイト ) bit アドレス : Base + 0BH リード / ライト→ 初期値→ bit7 の Rx の初期値 (r) は , CAN バス上のレベルが表示されます。 CAN テストレジスタ (TESTR) への書込みは , CAN 制御レジスタ (CTRLR) の Test ビッ トを "1" に設定した後に行ってください。テストモードが有効となるのは , CAN 制御 レジスタの Test ビットが "1" のときです。テストモードの途中で CAN 制御レジスタの Test ビットを "0" にするとテストモードから通常モードになります。 ■ レジスタ機能 [bit15 ∼ bit8] 予約 : 予約ビット これらのビットからは , 00000000B が読み出されます。 書込みの場合には , 00000000B を設定してください。 [bit7] Rx : Rx 端子モニタビット Rx 356 機能 0 CAN バスはドミナントであることを示します。 1 CAN バスはレセッシブであることを示します。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit6, bit5] Tx1, Tx0 : TX 端子制御ビット Tx1, Tx0 機能 00B 通常動作 [ 初期値 ] 01B サンプリングポイントが Tx 端子に出力されます。 10B TX 端子にドミナントを出力します。 11B TX 端子にレセッシブを出力します。 Tx ビットを 00B 以外に設定した場合は , メッセージを送信することはできません。 [bit4] LBack : ループバックモード LBack 機能 0 ループバックモードを禁止します。[ 初期値 ] 1 ループバックモードを許可します。 [bit3] Silent : サイレントモード Silent 機能 0 サイレントモードを禁止します。[ 初期値 ] 1 サイレントモードを許可します。 [bit2] Basic : ベーシックモード Basic 機能 0 ベーシックモードを禁止します。[ 初期値 ] 1 ベーシックモードを許可します。 IF1 レジスタは送信メッセージとして , IF2 レジスタは受信メッセージ として使用されます。 [bit1, bit0] 予約 : 予約ビット これらのビットからは , 00B が読み出されます。 書込みの場合には , 00B を設定してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 357 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.1.7 MB91461 CAN プリスケーラ拡張レジスタ (BRPER) CAN プリスケーラ拡張レジスタ (BRPER) は , CAN ビットタイミングで設定したプ リスケーラと組み合せることにより , CAN コントローラで使用するプリスケーラを 拡張します。 ■ レジスタ構成 図 14.4-7 CAN プリスケーラ拡張レジスタ (BRPER) のレジスタ構成 CAN プリスケーラ拡張レジスタ ( 上位バイト ) bit アドレス : Base + 0CH リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 2 1 0 CAN プリスケーラ拡張レジスタ ( 下位バイト ) bit アドレス : Base + 0DH リード / ライト→ 初期値→ 7 6 5 4 3 予約 R 0 予約 R 0 予約 R 0 予約 R 0 R/W 0 BRPE R/W R/W 0 0 R/W 0 ■ レジスタ機能 [bit15 ∼ bit4] 予約 : 予約ビット これらのビットからは , 000000000000B が読み出されます。 書込みの場合には , 000000000000B を設定してください。 [bit3 ∼ bit0] BRPE : ボーレートプリスケーラ拡張ビット CAN ビットタイミングレジスタの BRP と BRPE を組み合せることにより , 1023 ま でボーレートプリスケーラを拡張できます。 {BRPE(MSB:4 ビット ), BRP(LSB:6 ビット )} + 1 の値が CAN コントローラのプリ スケール値となります。 358 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 14.4.2 メッセージインタフェースレジスタ CPU からメッセージ RAM へのアクセスを制御するための 2 組のメッセージインタ フェースレジスタがあります。 メッセージ RAM への CPU アクセスを制御するために使用される 2 組のメッセージイ ンタフェースレジスタがあります。この 2 組のレジスタは , 転送された ( する ) データ ( メッセージオブジェクト ) をバッファすることで , メッセージ RAM への CPU アクセ スと CAN コントローラからのアクセスの競合を回避します。メッセージオブジェクト ( メッセージオブジェクトについては , 「14.4.3 メッセージオブジェクト」を参照 ) は , メッセージインタフェースレジスタとメッセージ RAM 間を一度に転送します。 テストベーシックモードを除き , 2 組のメッセージインタフェースレジスタの機能は同 一で , 独立して動作可能です。例えば , IF1 のメッセージインタフェースレジスタをメッ セージRAMへの書込み動作中に, IF2のメッセージインタフェースレジスタをメッセー ジ RAM からの読出しに使用することも可能です。表 14.4-2 に 2 組のメッセージイン タフェースレジスタを示します。 メッセージインタフェースレジスタは , コマンドレジスタ ( コマンド要求 , コマンドマ スクレジスタ ) と, このコマンドレジスタによって制御されるメッセージバッファレジ スタ ( マスク , アービトレーション , メッセージ制御 , データレジスタ ) から構成され ます。コマンドマスクレジスタは , データ転送の方向とメッセージオブジェクトのどの 部分が転送されるのかを示します。コマンド要求レジスタは, メッセージ番号の選択と, コマンドマスクレジスタに設定された動作を行います。 表 14.4-2 IF1, IF2 メッセージインタフェースレジスタ アドレス CM71-10159-2 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 FUJITSU MICROELECTRONICS LIMITED 359 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.2.1 MB91461 IFx コマンド要求レジスタ (IFxCREQ) IFx コマンド要求レジスタ (IFxCREQ) は , メッセージ RAM のメッセージ番号の選択 とメッセージ RAM とメッセージバッファレジスタ間の転送を行います。また , テス トのベーシックモードでは , IF1 を送信制御用に , IF2 を受信制御用として使用します。 ■ レジスタ構成 図 14.4-8 IFx コマンド要求レジスタ (IFxCREQ) のレジスタ構成 IFx コマンド要求レジスタ ( 上位バイト ) bit 15 14 13 12 11 10 9 8 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 7 6 5 4 3 2 1 0 予約 R/W 0 予約 R/W 0 R/W 0 R/W 0 アドレス : Base + 10H Base + 40H BUSY リード / ライト→ R/W 0 初期値→ IFx コマンド要求レジスタ ( 下位バイト ) bit アドレス : Base + 11H Base + 41H リード / ライト→ 初期値→ Message Number R/W R/W R/W 0 0 0 R/W 0 ■ レジスタ機能 IFx コマンド要求レジスタへメッセージ番号を書き込むとすぐにメッセージ 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 メッセージインタフェースレジスタに 格納します。 360 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit15] BUSY : ビジーフラグビット • テストベーシックモード以外 BUSY 機能 0 メッセージインタフェースレジスタとメッセージ RAM 間でデー タ転送処理を行っていないことを示します。[ 初期値 ] 1 メッセージインタフェースレジスタとメッセージ RAM 間でデー タ転送処理中であることを示します。 • テストベーシックモード - IF1 コマンド要求レジスタ BUSY 機能 0 メッセージ送信を禁止します。 1 メッセージ送信を許可します。 - IF2 コマンド要求レジスタ BUSY 機能 0 メッセージ受信を禁止します。 1 メッセージ受信を許可します。 BUSY ビットは , 読出し / 書込みが可能です。テストのベーシックモード時以外は , このビットに何を書いても動作に影響しません ( ベーシックモードについては , 「14.5.7 テストモード」を参照 ) 。 [bit14 ∼ bit7] 予約 : 予約ビット これらのビットからは , 00000000B が読み出されます。 書込みの場合には 00000000B を設定してください。 [bit5 ∼ bit0] Message Number : メッセージ番号 Message Number 機能 設定禁止です。 設定した場合 , 20H として解釈され , 20H が読み出されます。 00H 01H ∼ 20H 処理を行うメッセージ番号を設定します。 21H ∼ 3FH 設定禁止です。 設定した場合 , 01H ∼ 1FH として解釈され , 解釈された値が読 み出されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 361 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.2.2 MB91461 IFx コマンドマスクレジスタ (IFxCMSK) IFx コマンドマスクレジスタ (IFxCMSK) は , メッセージインタフェースレジスタと メッセージ RAM 間の転送方向を制御し , どのデータを更新するかを設定します。ま た , テストのベーシックモードでは本レジスタは無効となります。 ■ レジスタ構成 図 14.4-9 IFx コマンドマスクレジスタ (IFxCMSK) のレジスタ構成 IFx コマンドマスクレジスタ ( 上位バイト ) bit アドレス : Base + 12H Base + 42H リード / ライト→ 初期値→ 15 14 13 12 11 10 9 8 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 予約 R 0 6 5 4 3 2 1 0 IFx コマンドマスクレジスタ ( 下位バイト ) bit アドレス : Base + 13H Base + 43H リード / ライト→ 初期値→ 7 WR/RD Mask R/W 0 R/W 0 Arb Control CIP TxRqst/ NewDat R/W 0 R/W 0 R/W 0 R/W 0 Data A Data B R/W 0 R/W 0 テストのベーシックモードではこのレジスタの設定は無効となります。 ■ レジスタ機能 [bit15 ∼ bit8] 予約 : 予約ビット これらのビットからは , 00000000B が読み出されます。 書込みの場合には 00000000B を設定してください。 362 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit7] WR/RD : ライト / リード制御ビット WR/RD 機能 0 メッセージ RAM からデータを読み出すことを示します。メッセー ジ RAM からの読出しは IFx コマンド要求レジスタへの書込みに よって実行されます。メッセージ RAM から読み出すデータは , Mask, Arb, Control, CIP, TxRqst/NewDat, Data A, Data B ビットの設定に 依存します。[ 初期値 ] 1 メッセージ RAM へデータを書き込むことを示します。メッセージ RAM への書込みは IFx コマンド要求レジスタへの書込みによって実 行されます。メッセージ RAM への書込みデータは , Mask, Arb, Control, CIP, TxRqst/NewDat, Data A, Data B ビットの設定に依存しま す。 リセット後 , メッセージ RAM のデータは不定です。メッセージ RAM のデータが不 定状態でメッセージ RAM のデータを読み出すことは禁止です。 IFx コマンドマスクレジスタの bit6 ∼ bit0 は , 転送方向 (WR/RD ビット ) の設定に より異なる意味があります。 ● 転送方向がライトの場合 (WR/RD = 1) [bit6] Mask : マスクデータ更新ビット Mask 機能 0 メッセージオブジェクト * のマスクデータ (ID マスク+ MDir + MXtd) を更新しない [ 初期値 ] 1 メッセージオブジェクト * のマスクデータ (ID マスク+ MDir + MXtd) を更新する * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit5] Arb : アービトレーションデータ更新ビット Arb 機能 0 メッセージオブジェクト * のアービトレーションデータ (ID + Dir + Xtd + MsgVal) を更新しない [ 初期値 ] 1 メッセージオブジェクト * のアービトレーションデータ (ID + Dir + Xtd + MsgVal) を更新する * : 「14.4.3 メッセージオブジェクト」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 363 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit4] Control : 制御データ更新ビット Control 機能 0 メッセージオブジェクト * の制御データ (IFx メッセージ制御レジスタ ) を更新しない [ 初期値 ] 1 メッセージオブジェクト * の制御データ (IFx メッセージ制御レジスタ ) を更新する * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit3] CIP : 割込みクリアビット 本ビットに "0" または "1" を設定しても CAN コントローラへの動作に影響を与えま せん。 [bit2] TxRqst/NewDat : メッセージ送信要求ビット TxRqst/NewDat 機能 0 メッセージオブジェクト * および CAN 送信要求レジスタの TxRqst ビットに "0" を設定 [ 初期値 ] 1 メッセージオブジェクト * および CAN 送信要求レジスタの TxRqst ビットに "1" を設定 ( 送信要求 ) * : 「14.4.3 メッセージオブジェクト」を参照してください。 IFx コマンドマスクレジスタの TxRqst/NewDat ビットが "1" に設定されると , IFx メッセージ制御レジスタの TxRqst ビットの設定は無効となります。 [bit1] Data A : データ 0 ∼ 3 更新ビット Data A 機能 0 メッセージオブジェクト * のデータ 0 ∼ 3 を更新しない [ 初期値 ] 1 メッセージオブジェクト * のデータ 0 ∼ 3 を更新する * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit0] Data B : データ 4 ∼ 7 更新ビット Data B 機能 0 メッセージオブジェクト * のデータ 4 ∼ 7 を更新しない [ 初期値 ] 1 メッセージオブジェクト * のデータ 4 ∼ 7 を更新する * : 「14.4.3 メッセージオブジェクト」を参照してください。 364 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ● 転送方向がリードの場合 (WR/RD = 0) メッセージオブジェクトへの読出しアクセスにより , IntPnd および NewDat ビットは "0" にリセットすることが可能です。ただし , IFx メッセージ制御レジスタの IntPnd お よび NewDat ビットには , 読出しアクセスによりリセットされる前の IntPnd, NewDat ビットが格納されます。 テストのベーシックモードでは無効となります。 [bit6] Mask : マスクデータ更新ビット Mask 機能 0 メッセージオブジェクト * から IFx マスクレジスタ 1, 2 へデータ (ID マスク+ MDir + MXtd ) を転送しない [ 初期値 ] 1 メッセージオブジェクト * から IFx マスクレジスタ 1, 2 へデータ (ID マスク+ MDir + MXtd ) を転送する * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit5] Arb : アービトレーションデータ更新ビット Arb 機能 0 メッセージオブジェクト * から IFx アービトレーション 1, 2 へデータ (ID + Dir + Xtd + MsgVal) を転送しない [ 初期値 ] 1 メッセージオブジェクト * から IFx アービトレーション 1, 2 へデータ (ID + Dir + Xtd + MsgVal) を転送する * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit4] Control : 制御データ更新ビット Control 機能 0 メッセージオブジェクト * から IFx メッセージ制御レジスタへデー タを転送しない [ 初期値 ] 1 メッセージオブジェクト * から IFx メッセージ制御レジスタへデー タを転送する * : 「14.4.3 メッセージオブジェクト」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 365 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit3] CIP : 割込みクリアビット CIP 機能 0 メッセージオブジェクト * および CAN 割込みペンディングレジスタ の IntPnd ビットを保持 [ 初期値 ] 1 メッセージオブジェクト * および CAN 割込みペンディングレジスタ の IntPnd ビットを "0" にクリア * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit2] TxRqst/NewDat : データ更新ビット TxRqst/NewDat 機能 0 メッセージオブジェクト * および CAN データ更新レジスタ の NewDat ビットを保持 [ 初期値 ] 1 メッセージオブジェクト * および CAN データ更新レジスタ の NewDat ビットを "0" にクリア * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit1] Data A : データ 0 ∼ 3 更新ビット Data A 機能 0 メッセージオブジェクト * および CAN データレジスタ A1, A2 の データを保持 [ 初期値 ] 1 メッセージオブジェクト * および CAN データレジスタ A1, A2 の データを更新 * : 「14.4.3 メッセージオブジェクト」を参照してください。 [bit0] Data B : データ 4 ∼ 7 更新ビット Data B 機能 0 メッセージオブジェクト * および CAN データレジスタ B1, B2 の データを保持 [ 初期値 ] 1 メッセージオブジェクト * および CAN データレジスタ B1, B2 の データを更新 * : 「14.4.3 メッセージオブジェクト」を参照してください。 366 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2) 14.4.2.3 IFx マスクレジスタ (IFxMSK1, IFxMSK2) は , メッセージ RAM のメッセージオブジェ クトマスクデータを書込み / 読出しするために用いられます。また , テストのベーシッ クモードでは , 設定されているマスクデータは無効となります。 各ビットの機能については , 「14.4.3 メッセージオブジェクト」を参照してください。 ■ レジスタ構成 図 14.4-10 IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2) のレジスタ構成 IFx マスクレジスタ 2 ( 上位バイト ) bit アドレス : Base + 14H Base + 44H リード / ライト→ 初期値→ 15 14 13 12 MXtd R/W 1 MDir R/W 1 予約 R 1 R/W 1 7 6 5 4 R/W 1 R/W 1 R/W 1 15 14 13 R/W 1 R/W 1 R/W 1 7 6 5 11 10 9 Msk28 ∼ Msk24 R/W R/W R/W 1 1 1 8 R/W 1 IFx マスクレジスタ 2 ( 下位バイト ) bit アドレス : Base + 15H Base + 45H リード / ライト→ 初期値→ 3 2 1 0 R/W 1 R/W 1 10 9 8 R/W 1 R/W 1 R/W 1 2 1 0 R/W 1 R/W 1 R/W 1 Msk23 ∼ Msk16 R/W R/W R/W 1 1 1 IFx マスクレジスタ 1 ( 上位バイト ) bit アドレス : Base + 16H Base + 46H リード / ライト→ 初期値→ 12 11 Msk15 ∼ Msk8 R/W R/W 1 1 IFx マスクレジスタ 1 ( 下位バイト ) bit アドレス : Base + 17H Base + 47H リード / ライト→ 初期値→ R/W 1 R/W 1 R/W 1 4 3 Msk7 ∼ Msk0 R/W R/W 1 1 IFx マスクレジスタのビット説明については , 「14.4.3 メッセージオブジェクト」を参 照してください。 レジスタの予約ビット (IFx マスクレジスタ 2 の bit13) からは "1" が読み出されます。書 込み時は , "1" を書き込んでください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 367 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.2.4 MB91461 IFx アービトレーションレジスタ 1, 2 (IFxARB1, IFxARB2) IFx アービトレーションレジスタ (IFxARB1, IFxARB2) は , メッセージ RAM のメッ セージオブジェクトアービトレーションデータを書込み / 読出しするために用いられ ます。また , テストのベーシックモードでは無効となります。 各ビットの機能については , 「14.4.3 メッセージオブジェクト」を参照してください。 ■ レジスタ構成 図 14.4-11 IFx アービトレーションレジスタ (IFxARB1, IFxARB2) のレジスタ構成 IFx アービトレーションレジスタ 2 ( 上位バイト ) bit アドレス : Base + 18H Base + 48H リード / ライト→ 初期値→ 15 14 13 12 MsgVal Xtd R/W 0 Dir R/W 0 R/W 0 4 R/W 0 11 10 9 8 ID28 ∼ ID24 R/W R/W R/W 0 0 0 R/W 0 IFx アービトレーションレジスタ 2 ( 下位バイト ) bit 7 6 5 R/W 0 R/W 0 R/W 0 アドレス : Base + 19H Base + 49H リード / ライト→ 初期値→ 3 ID23 ∼ ID16 R/W R/W 0 0 2 1 0 R/W 0 R/W 0 R/W 0 10 9 8 R/W 0 R/W 0 R/W 0 2 1 0 R/W 0 R/W 0 R/W 0 IFx アービトレーションレジスタ 1 ( 上位バイト ) bit 15 14 13 R/W 0 R/W 0 R/W 0 アドレス : Base + 1AH Base + 4AH リード / ライト→ 初期値→ 12 11 ID15 ∼ ID8 R/W R/W 0 0 IFx アービトレーションレジスタ 1 ( 下位バイト ) bit 7 6 5 R/W 0 R/W 0 R/W 0 アドレス : Base + 1BH Base + 4BH リード / ライト→ 初期値→ 4 3 ID7 ∼ ID0 R/W R/W 0 0 IFx アービトレーションレジスタのビット説明については , 「14.4.3 メッセージオブ ジェクト」を参照してください。 送信途中でメッセージオブジェクトの MsgVal ビットを "0" にクリアした場合 , 送信が 完了した時点で CAN ステータスレジスタの TxOk ビットは "1" になりますが , メッセー ジオブジェクトおよび CAN 送信要求レジスタの TxRqst ビットは "0" にクリアされま せん。メッセージインタフェースレジスタによって TxRqst ビットを "0" にクリアして ください。 368 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 14.4.2.5 IFx メッセージ制御レジスタ (IFxMCTR) IFx メッセージ制御レジスタ (IFxMCTR) は , メッセージ RAM のメッセージオブジェ クト制御データを書込み / 読出しするために用いられます。また , テストのベーシック モードでは , IF1 メッセージ制御レジスタは無効となります。IF2 メッセージ制御レジ スタの NewDat と MsgLst は通常の動作を行い , DLC ビットは受信したメッセージの DLC を表示します。その他の制御ビットは無効 ("0") として動作します。 各ビットの機能については , 「14.4.3 メッセージオブジェクト」を参照してください。 ■ レジスタ構成 図 14.4-12 IFx メッセージ制御レジスタ (IFxMCTR) のレジスタ構成 IFx メッセージ制御レジスタ ( 上位バイト ) bit アドレス : Base + 1CH Base + 4CH リード / ライト→ 初期値→ 15 14 13 12 NewDat MsgLst IntPnd UMask 11 10 R/W 0 R/W 0 R/W 0 TxIE R/W 0 RxIE R/W 0 7 6 5 4 3 2 EoB R/W 0 予約 R 0 予約 R 0 予約 R 0 R/W 0 R/W 0 9 8 RmtEn TxRqst R/W R/W 0 0 IFx メッセージ制御レジスタ ( 下位バイト ) bit アドレス : Base + 1DH Base + 4DH リード / ライト→ 初期値→ 1 DLC3 ∼ DLC0 R/W R/W 0 0 0 R/W 0 IFx メッセージ制御レジスタのビット説明については , 「14.4.3 メッセージオブジェク ト」を参照してください。 TxRqst, NewDat および IntPnd ビットは , IFx コマンドマスクレジスタの WR/RD ビット の設定によって以下のような動作になります。 ● 転送方向が書込みの場合 (IFx コマンドマスクレジスタ : WR/RD = 1) IFx コマンドマスクレジスタの TxRqst/NewDat が "0" に設定されている場合のみ , 本レ ジスタの TxRqst ビットが有効となります。 ● 転送方向が読出しの場合 (IFx コマンドマスクレジスタ : WR/RD = 0) IFx コマンドマスクレジスタの CIP ビットを "1" に設定し , IFx コマンド要求レジスタ への書込みによりメッセージオブジェクトおよびCAN割込みペンディングレジスタの IntPnd ビットをリセットした場合 , 本レジスタにはリセットされる前の IntPnd ビット が格納されます。 IFx コマンドマスクレジスタの TxRqst/NewDat ビットを "1" に設定し , IFx コマンド要 求レジスタへの書込みによりメッセージオブジェクトおよびCANデータ更新レジスタ の NewDat ビットをリセットした場合 , 本レジスタにはリセットする前の NewDat ビッ トが格納されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 369 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.2.6 MB91461 IFx データレジスタ A1, A2, B1, B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2) は , メッセージ RAM のメッセージオブジェクト送受信データを書込み / 読出しするために用いられます。 データフレームの送受信のみ使用され , リモートフレームの送受信には使用されま せん。 ■ レジスタ構成 表 14.4-3 IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2) のレジスタ構成 addr + 0 addr + 1 addr + 2 addr + 3 IFx メッセージデータ A1 ( アドレス 20H および 50H) Data(0) Data(1) − − IFx メッセージデータ A2 ( アドレス 22H および 52H) − − Data(2) Data(3) IFx メッセージデータ B1 ( アドレス 24H および 54H) Data(4) Data(5) − − IFx メッセージデータ B2 ( アドレス 26H および 56H) − − Data(6) Data(7) IFx メッセージデータ A2 ( アドレス 30H および 60H) Data(3) Data(2) − − IFx メッセージデータ A1 ( アドレス 32H および 62H) − − Data(1) Data(0) IFx メッセージデータ B2 ( アドレス 34H および 64H) Data(7) Data(6) − − IFx メッセージデータ B1 ( アドレス 36H および 66H) − − Data(5) Data(4) 図 14.4-13 IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2) IFx データレジスタ bit リード / ライト→ 初期値→ 15 7 14 6 13 5 R/W 0 R/W 0 R/W 0 12 4 11 3 Data R/W R/W 0 0 10 2 9 1 8 0 R/W 0 R/W 0 R/W 0 ■ レジスタ機能 ● 送信メッセージデータの設定 設定したデータは , 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 バイトのうち , ある一部のデータだけを更新することはできません。 370 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 メッセージオブジェクト 14.4.3 メッセージ RAM には , 32 ( 品種によって 128 まで ) のメッセージオブジェクトがあ ります。メッセージ RAM への CPU アクセスと CAN コントローラからのアクセス の競合を回避するために , CPU はメッセージオブジェクトへの直接アクセスができ ません。これらのアクセスは , IFx メッセージインタフェースレジスタ経由で行いま す。 以下では , メッセージオブジェクトの構成と機能を説明します。 ■ メッセージオブジェクトの構成 表 14.4-4 メッセージオブジェクトの構成 メッセージオブジェクト UMask Msk28 ∼ Msk0 MXtd MDir MsgVal ID28 ∼ ID0 Xtd EoB NewDat MsgLst RxIE TxIE IntPnd RmtEn TxRqst Dir DLC3 ∼ DLC0 Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 <注意事項> メッセージオブジェクトは , CAN 制御レジスタの Init ビットやハードウェアリセットでは 初期化されません。ハードウェアリセットの場合 , リセット解除後 , CPU によってメッ セージ RAM を初期化するかメッセージ RAM の MsgVal を "0" にしてください。 ■ メッセージオブジェクトの機能 ID28 ∼ ID0, Xtd, Dir ビットは , メッセージを送信する場合 , ID とメッセージの種類に 使用されます。メッセージを受信する場合 , Msk28 ∼ Msk0, MXtd, MDir ビットととも にアクセプタンスフィルタで使用されます。 アクセプタンスフィルタを通過したデータフレームもしくはリモートフレームは , メッセージオブジェクトに格納されます。Xtdは拡張フレームか標準フレームかを示し, Xtd が "1" の場合は 29 ビット ID ( 拡張フレーム ) を , Xtd が "0" の場合は 11 ビット ID ( 標準フレーム ) を受信します。 受信したデータフレームもしくはリモートフレームが 1 つ以上のメッセージオブジェ クトと一致した場合は , 一致した最小のメッセージ番号に格納されます。詳細は , 「14.5.3 メッセージ受信動作」の受信メッセージのアクセプタンスフィルタを参照して ください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 371 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 MsgVal : 有効メッセージビット MsgVal 機能 0 メッセージオブジェクトは無効です。 メッセージの送受信は行いません。 1 メッセージオブジェクトは有効です。 メッセージの送受信が可能となります。 • CAN 制御レジスタの Init ビットを "0" にリセットする前の初期化中に , すべての 未使用メッセージオブジェクトの MsgVal ビットを CPU でリセットしてくださ い。 • ID28 ∼ ID0, Xtd, Dir, DLC3 ∼ DLC0 を変更する前 , もしくはメッセージオブジェ クトが必要ない場合は , MsgVal ビットを必ず "0" にリセットしてください。 • 送信中に MsgVal ビットを "0" にすると送信が完了した時点で CAN ステータス レジスタの TxOk ビットは "1" になりますが , メッセージオブジェクトおよび CAN 送信要求レジスタの TxRqst ビットは "0" にクリアされません。メッセージ インタフェースレジスタによって TxRqst ビットを "0" にクリアしてください。 UMask : アクセプタンスマスク許可ビット UMask 機能 0 Msk28 ∼ Msk0, MXtd, MDir を使用しません。 1 Msk28 ∼ Msk0, MXtd, MDir を使用します。 • CAN 制御レジスタの Init ビットが "1" のとき , あるいは MsgVal ビットが "0" の ときに UMask ビットを変更してください。 • Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask の設定により動作が異 なります。 - UMask が "1" の場合は , アクセプタンスフィルタを通過してリモートフレーム を受信すると , TxRqst ビットを "0" にリセットします。そのとき , 受信した ID, IDE, RTR, DLC はメッセージオブジェクトに格納され , NewDat ビットは "1" に 設定されてデータは変更されません ( データフレームのように取り扱います )。 - UMask が "0" の場合は , リモートフレーム受信に対し , TxRqst ビットはそのま ま保持され , リモートフレームを無視します。 ID28 ∼ ID0 : メッセージ ID ID28 ∼ ID0 372 機能 ID28 ∼ ID0 29 ビット ID ( 拡張フレーム ) を指示 ID28 ∼ ID18 11 ビット ID ( 標準フレーム ) を指示 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 Msk28 ∼ Msk0 : ID マスク Msk 機能 0 メッセージオブジェクトの ID と対応するビットのマスクあり 1 メッセージオブジェクトの ID と対応するビットのマスクなし 11 ビット ID ( 標準フレーム ) がメッセージオブジェクトに設定されると , 受信した データフレームの ID は , ID28 ∼ ID18 へ書き込まれます。ID マスクには , Msk28 ∼ Msk18 が使用されます。 Xtd : 拡張 ID 許可ビット Xtd 機能 0 メッセージオブジェクトは 11 ビット ID ( 標準フレーム ) 1 メッセージオブジェクトは 29 ビット ID ( 拡張フレーム ) MXtd : 拡張 ID マスクビット MXtd 機能 0 アクセプタンスフィルタでの拡張 ID ビット (IDE) のマスクあり 1 アクセプタンスフィルタでの拡張 ID ビット (IDE) のマスクなし Dir : メッセージ方向ビット Dir CM71-10159-2 機能 0 受信方向を示します。 TxRqst が "1" に設定されると , リモートフレームの送信を行い , TxRqst が "0" のときは , 受容フィルタを通過したデータフレームを 受信します。 1 送信方向を示します。 TxRqst が "1" に設定されると , データフレームを送信し , TxRqst が "0" で RmtEn が "1" に設定されている場合 , 受容フィルタを通過した リモートフレームの受信によって , CAN コントローラ自身が TxRqst を "1" に設定します。 FUJITSU MICROELECTRONICS LIMITED 373 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 MDir : メッセージ方向マスクビット MDir 機能 0 アクセプタンスフィルタでのメッセージ方向ビット (Dir) のマスクあり 1 アクセプタンスフィルタでもメッセージ方向ビット (Dir) のマスクなし <注意事項> MDir ビットには常に "1" を設定してください。 EoB : エンドオブバッファビット ( 詳細は , 「14.5.4 FIFO バッファ機能」を参照 ) EoB 機能 0 メッセージオブジェクトは FIFO バッファとして使用され , 最終メッ セージでない 1 単一メッセージオブジェクト , または FIFO バッファの最終メッセー ジオブジェクト EoB ビットは , 2 ∼ 32 メッセージの FIFO バッファを構成するために使用します。 単一メッセージオブジェクト (FIFO を使用しない場合 ) は , 必ず EoB ビットに "1" を設定してください。 NewDat: データ更新ビット NewDat 機能 0 有効データなし 1 有効データあり MsgLst: メッセージロスト MsgLst 機能 0 メッセージロストの発生なし 1 メッセージロスト発生 MsgLst ビットは Dir ビットが "0" のとき ( 受信方向 ) のみ有効です。 374 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 RxIE : 受信割込みフラグイネーブルビット RxIE 機能 0 フレーム受信成功後 , IntPnd の変更なし 1 フレーム受信成功後 , IntPnd は "1" に設定 TxIE : 送信割込みフラグイネーブルビット TxIE 機能 0 フレーム送信成功後 , IntPnd の変更なし 1 フレーム送信成功後 , IntPnd は "1" に設定 IntPnd : 割込みペンディングビット IntPnd 機能 0 割込み要因なし 1 割込み要因あり ほかに優先度の高い割込みがない場合は , CAN 割込みレジスタの 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 ビットはそのまま 保持され , リモートフレームを無視します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 375 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 TxRqst : 送信要求ビット TxRqst 機能 0 送信アイドル状態 ( 送信中でもなく , 送信待ち状態でもない ) 1 送信中 , または送信待ち状態 DLC3 ∼ DLC0 : データ長コード DLC3 ∼ DLC0 機能 0∼8 データフレーム長は 0 ∼ 8 バイト 9 ∼ 15 設定禁止 設定した場合は , 8 バイト長となります。 データフレームを受信すると DLC ビットには , 受信した DLC が格納されます。 Data0 ∼ Data7 : データ 0 ∼ 7 Data0 ∼ Data7 機能 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 バイトのうち , ある一部のデータだけを更新することはでき ません。 376 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 14.4.4 メッセージハンドラレジスタ メッセージハンドラレジスタは , すべて読出し専用です。メッセージオブジェクト の 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) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 377 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.4.1 MB91461 CAN 送信要求レジスタ (TREQR1, TREQR2) CAN 送信要求レジスタ (TREQR1, TREQR2) は , 全メッセージオブジェクトの TxRqst ビットを表示します。TxRqst ビットを読み出すことにより , どのメッセー ジオブジェクトの送信要求がペンディング中であるかチェックすることができます。 ■ レジスタ構成 図 14.4-14 CAN 送信要求レジスタ (TREQR1, TREQR2) のレジスタ構成 CAN 送信要求レジスタ 2 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + 80H リード / ライト→ 初期値→ 12 11 10 9 8 TxRqst32 ∼ TxRqst25 R R R 0 0 0 R 0 R 0 2 1 0 TxRqst24 ∼ TxRqst17 R R R 0 0 0 R 0 R 0 10 9 8 TxRqst16 ∼ TxRqst9 R R R 0 0 0 R 0 R 0 2 1 0 TxRqst8 ∼ TxRqst1 R R R 0 0 0 R 0 R 0 CAN 送信要求レジスタ 2 ( 下位バイト ) bit 7 6 5 R 0 R 0 R 0 アドレス : Base + 81H リード / ライト→ 初期値→ 4 3 CAN 送信要求レジスタ 1 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + 82H リード / ライト→ 初期値→ 12 11 CAN 送信要求レジスタ 1 ( 下位バイト ) bit 7 6 5 R 0 R 0 R 0 アドレス : Base + 83H リード / ライト→ 初期値→ 378 4 3 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ■ レジスタ機能 TxRqst32 ∼ TxRqst1 : 送信要求ビット TxRqst 機能 0 送信アイドル状態 ( 送信中でもなく , 送信待ち状態でもない ) 1 送信中 , または送信待ち状態 TxRqst ビットのセット / リセット条件を以下に示します。 • セット条件 - IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "1" を設定し , IFx コマ ンド要求レジスタへの書込みにより特定オブジェクトの TxRqst に設定できま す。 - IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "0", IFx メッセージ制 御レジスタの TxRqst に "1" を設定した場合 , IFx コマンド要求レジスタへの書 込みにより特定オブジェクトの TxRqst に設定できます。 - Dir ビットに "1", RmtEn ビットに "1" を設定し , アクセプタンスフィルタを通 過したリモートフレームの受信により設定されます。 • リセット条件 - IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "0", IFx メッセージ制 御レジスタの TxRqst に "0" を設定した場合 , IFx コマンド要求レジスタへの書 込みにより特定オブジェクトの TxRqst をリセットできます。 - フレームの送信が正常終了すると , リセットされます。 - Dir が "1", RmtEn が "0", UMask が "1" の場合 , アクセプタンスフィルタを通過 したリモートフレームの受信によりリセットされます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 379 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.4.2 MB91461 CAN データ更新レジスタ (NEWDT1, NEWDT2) CAN データ更新レジスタ (NEWDT1, NEWDT2) は , 全メッセージオブジェクトの NewDat ビットを表示します。NewDat ビットを読み出すことにより , どのメッセー ジオブジェクトのデータが更新されたかをチェックすることができます。 ■ レジスタ構成 図 14.4-15 CAN データ更新レジスタ (NEWDT1, NEWDT2) のレジスタ構成 CAN データ更新レジスタ 2 ( 上位バイト ) bit 15 14 13 10 9 8 R 0 R 0 NewDat32 ∼ NewDat25 R R R R 0 0 0 0 R 0 R 0 アドレス : Base + 90H リード / ライト→ 初期値→ 12 11 CAN データ更新レジスタ 2 ( 下位バイト ) bit 7 6 5 2 1 0 R 0 R 0 NewDat24 ∼ NewDat17 R R R R 0 0 0 0 R 0 R 0 10 9 8 NewDat16 ∼ NewDat9 R R R 0 0 0 R 0 R 0 2 1 0 NewDat8 ∼ NewDat1 R R R 0 0 0 R 0 R 0 アドレス : Base + 91H リード / ライト→ 初期値→ 4 3 CAN データ更新レジスタ 1 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + 92H リード / ライト→ 初期値→ 12 11 CAN データ更新レジスタ 1 ( 下位バイト ) bit 7 6 5 R 0 R 0 R 0 アドレス : Base + 93H リード / ライト→ 初期値→ 380 4 3 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ■ レジスタ機能 NewDat32 ∼ NewDat1 : データ更新ビット NewDat32 ∼ NewDat1 機能 0 有効データなし 1 有効データあり NewDat ビットのセット / リセット条件を以下に示します。 • セット条件 - IFx コマンドマスクレジスタの WR/RD に "1", IFx メッセージ制御レジスタの NewDat に "1" を設定して , IFx コマンド要求レジスタの書込みにより特定オブ ジェクトに設定できます。 - 受容フィルタを通過したデータフレームの受信により設定されます。 - Dir が "1", RmtEn が "0", UMask が "1" の場合 , アクセプタンスフィルタを通過 したリモートフレームの受信により設定されます。 • リセット条件 - IFx コマンドマスクレジスタの WR/RD に "0", NewDat に "1" を設定した場合 , IFx コマンド要求レジスタの書込みにより特定オブジェクトの NewDat をリ セットできます。 - IFx コマンドマスクレジスタの WR/RD に "1", IFx メッセージ制御レジスタの NewDat を "0" に設定した場合 , IFx コマンド要求レジスタの書込みにより特定 オブジェクトの NewDat をリセットできます。 - 送信用シフトレジスタ ( 内部レジスタ ) へデータを転送終了後 , リセットされ ます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 381 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.4.3 MB91461 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) CAN 割込みペンディングレジスタ (INTPND1, INTPND2) は , 全メッセージオブジェ クトの IntPnd ビットを表示します。IntPnd ビットを読み出すことにより , どのメッ セージオブジェクトが割込みペンディング中であるかをチェックすることができます。 ■ レジスタ構成 図 14.4-16 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) のレジスタ構成 CAN 割込みペンディングレジスタ 2 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + A0H リード / ライト→ 初期値→ 12 11 10 9 8 IntPnd32 ∼ IntPnd25 R R R 0 0 0 R 0 R 0 CAN 割込みペンディングレジスタ 2 ( 下位バイト ) bit 7 6 5 2 1 0 R 0 IntPnd24 ∼ IntPnd17 R R R R 0 0 0 0 R 0 R 0 10 9 8 IntPnd16 ∼ IntPnd9 R R R 0 0 0 R 0 R 0 2 1 0 R 0 R 0 R 0 アドレス : Base + A1H リード / ライト→ 初期値→ R 0 4 3 CAN 割込みペンディングレジスタ 1 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + A2H リード / ライト→ 初期値→ 12 11 CAN 割込みペンディングレジスタ 1 ( 下位バイト ) bit 7 6 5 R 0 R 0 R 0 アドレス : Base + A3H リード / ライト→ 初期値→ 382 4 3 IntPnd8 ∼ IntPnd1 R R 0 0 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ■ レジスタ機能 IntPnd32 ∼ IntPnd1 : 割込みペンディングビット IntPnd32 ∼ IntPnd1 機能 0 割込み要因なし 1 割込み要因あり IntPnd ビットのセット / リセット条件を以下に示します。 • セット条件 - TxIE が "1" に設定されている場合 , フレームの正常送信完了により設定されま す。 - RxIE が "1" に設定されている場合 , アクセプタンスフィルタを通過したフレー ムの正常受信完了により設定されます。 • リセット条件 IFx コマンドマスクレジスタが WR/RD に "1", IntPnd に "1" を設定した場合 , IFx コマンド要求レジスタの書込みにより特定オブジェクトの IntPnd をリセット できます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 383 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.4.4 MB91461 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) は , 全メッセージオブジェク トの MsgVal ビットを表示します。MsgVal ビットを読み出すことにより , どのメッ セージオブジェクトが有効であるかをチェックすることができます。 ■ レジスタ構成 図 14.4-17 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) のレジスタ構成 CAN メッセージ有効レジスタ 2 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + B0H リード / ライト→ 初期値→ 12 11 10 9 8 MsgVal32 ∼ MsgVal25 R R R 0 0 0 R 0 R 0 CAN メッセージ有効レジスタ 2 ( 下位バイト ) bit 7 6 5 2 1 0 R 0 MsgVal24 ∼ MsgVal17 R R R R 0 0 0 0 R 0 R 0 10 9 8 MsgVal16 ∼ MsgVal9 R R R 0 0 0 R 0 R 0 2 1 0 MsgVal8 ∼ MsgVal1 R R R 0 0 0 R 0 R 0 アドレス : Base + B1H リード / ライト→ 初期値→ R 0 4 3 CAN メッセージ有効レジスタ 1 ( 上位バイト ) bit 15 14 13 R 0 R 0 R 0 アドレス : Base + B2H リード / ライト→ 初期値→ 12 11 CAN メッセージ有効レジスタ 1 ( 下位バイト ) bit 7 6 5 R 0 R 0 R 0 アドレス : Base + B3H リード / ライト→ 初期値→ 384 4 3 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 ■ レジスタ機能 MsgVal32 ∼ MsgVal1 : メッセージ有効ビット MsgVal32 ∼ MsgVal1 機能 0 メッセージオブジェクトは無効 メッセージの送受信は行いません。 1 メッセージオブジェクトは有効 メッセージの送受信が可能となります。 MsgVal ビットのセット / リセット条件を以下に示します。 • セット条件 IFx アービトレーションレジスタ 2 の MsgVal に "1" を設定し , IFx コマンド要求 レジスタへの書込みにより特定オブジェクトの MsgVal を設定できます。 • リセット条件 IFx アービトレーションレジスタ 2 の MsgVal に "0" を設定し , IFx コマンド要求 レジスタの書込みにより特定オブジェクトの MsgVal をリセットできます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 385 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 14.4.5 MB91461 CAN プリスケーラレジスタ (CANPRE) CAN プリスケーラレジスタ (CANPRE) は , CAN プリスケーラのクロックソースの 選択と , CAN インタフェースに供給する CAN クロックの分周比を定義するもので す。本レジスタの値を変更する場合は , CAN 制御レジスタ (CTRLR) の初期化ビット (Init) を "1" にセットし , すべてのバス動作を停止してください。 ■ レジスタ構成 図 14.4-18 CAN 制御レジスタ (CTRLR) のレジスタ構成 CAN プリスケーラレジスタ bit アドレス : ch.0 00C000H ch.1 00C100H リード / ライト→ 初期値→ 15 14 予約 予約 R 0 R 0 13 12 CPCKS1 CPCKS0 R/W 0 R/W 0 11 10 9 8 DVC3 DVC2 DVC1 DVC0 R/W 0 R/W 0 R/W 0 R/W 0 ■ レジスタ機能 [bit15, bit14] 予約 : 予約ビット これらのビットからは 00B が読み出されます。 書込みはレジスタに反映されません。 [bit13, bit12] CPCKS1, CPCKS0 : CAN プリスケーラクロックソース選択ビット 表 14.4-5 CAN プリスケーラクロックソース選択ビット CPCKS1, CPCKS0 386 CAN プリスケーラクロックソース 00B CPU クロック ( 最大 80MHz) [ 初期値 ] 01B PLL 出力 ( 最大 200MHz) 10B 設定禁止 11B 原発振クロック ( 最大 20MHz) FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.4 CAN レジスタ機能 MB91461 [bit11 ∼ bit8] DVC3 ∼ DVC0 : CAN クロック設定ビット 表 14.4-6 CAN クロック設定ビット DVC3 ∼ DVC0 CAN クロック 0000B プリスケーラクロックソースの 1/1 周期を選択 [ 初期値 ] 0001B プリスケーラクロックソースの 1/2 周期を選択 0010B プリスケーラクロックソースの 1/3 周期を選択 : : 1110B プリスケーラクロックソースの 1/15 周期を選択 1111B プリスケーラクロックソースの 1/16 周期を選択 • CAN プリスケーラ設定ビットの変更は , CAN 制御レジスタの初期化ビットを "1" に設定し , すべてのバス動作を停止させた後に行ってください。 • 本レジスタの設定によりCANインタフェースに供給するCANクロックは20MHz 以下としてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 387 第 14 章 CAN コントローラ 14.5 CAN 機能 14.5 MB91461 CAN 機能 CAN コントローラの動作と機能について説明します。 以下の機能について説明します。 • メッセージオブジェクト • メッセージ送信動作 • メッセージ受信動作 • FIFO バッファ機能 • 割込み機能 • ビットタイミング • テストモード • ソフトウェア初期化 • CAN クロックプリスケーラ 388 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.1 メッセージオブジェクト メッセージ RAM のメッセージオブジェクトとインタフェースについて説明します。 ■ メッセージオブジェクト メッセージ RAM のメッセージオブジェクト設定 (MsgVal, NewDat, IntPnd, TxRqst ビッ トを除く ) は , ハードウェアリセットによって初期化されません。そのため , メッセー ジオブジェクトの CPU での初期化 , または MsgVal ビットを無効 (MsgVal = 0) に設定 してください。また , CAN ビットタイミングレジスタの設定は CAN 制御レジスタの Init ビットが "0" のときに行ってください。 メッセージオブジェクトの設定は , メッセージインタフェースレジスタ (IFx マスクレ ジスタ , IFx アービトレーションレジスタ , IFx メッセージ制御レジスタ , IFx データレ ジスタ ) に設定した後 , IFx コマンド要求レジスタへのメッセージ番号の書込みにより , そのインタフェースレジスタのデータが指定されたメッセージオブジェクトへ転送さ れます。 CAN 制御レジスタの Init ビットが "0" にクリアされると CAN コントローラは動作を開 始します。アクセプタンスフィルタを通過した受信メッセージは , メッセージ RAM へ 格納されます。送信要求が保留されているメッセージは , メッセージ RAM から CAN コントローラのシフトレジスタへ転送され , CAN バスへの送信が行われます。 CPU は , メッセージインタフェースレジスタ経由で受信メッセージの読出し , および送 信メッセージの更新を行います。また , CAN 制御レジスタおよび IFx メッセージ制御 レジスタ ( メッセージオブジェクト ) の設定に応じて , CPU への割込みが行われます。 ■ メッセージ RAM とのデータ送受信 メッセージインタフェースレジスタとメッセージ RAM とのデータ転送を開始すると , IFx コマンド要求レジスタの BUSY ビットは "1" に設定されます。転送完了後 , BUSY ビットは "0" にクリアされます。( 図 14.5-1 を参照 ) IFx コマンドマスクレジスタは , 1 つのメッセージオブジェクトの全データ転送 , ある いはデータの部分転送のいずれかを設定します。メッセージ RAM の構造上 , メッセー ジオブジェクトの単一ビット / バイトの書込みは不可能となっており , 常に 1 つのメッ セージオブジェクトの全データをメッセージ RAM へ書き込みます。したがって , メッ セージインタフェースレジスタからメッセージ RAM へのデータ転送は , リードモディ ファイライト (RMW) 系命令の実行サイクルを要しています。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 389 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 図 14.5-1 メッセージインタフェースレジスタとメッセージ RAM のデータ転送 スタート NO IFxコマンド要求レジスタ への書き込み YES BUSY = 1 Interrupt = 0 NO YES WR/RD = 1 メッセージRAMからメッセージインタフェース レジスタへの読出し メッセージRAMからメッセージインタフェース レジスタへの読出し メッセージインタフェースレジスタから メッセージRAMへの書込み BUSY = 0 Interrupt = 1 390 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.2 メッセージ送信動作 送信メッセージオブジェクトの設定方法および送信動作について説明します。 ■ メッセージ送信 メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送がない場合 , CAN メッセージ有効レジスタの MsgVal ビットと CAN 送信要求レジスタの TxRqst ビッ トを評価します。送信要求を保留している中で , 最高優先度の有効メッセージオブジェ クトが送信用のシフトレジスタへ転送されます。そのとき , メッセージオブジェクトの NewDat ビットは "0" にリセットされます。 正常に送信が完了したとき , メッセージオブジェクトに新たなデータがない (NewDat = 0) 場合は , TxRqst ビットは "0" にリセットされます。TxIE が "1" に設定されている場合 は , 送信成功後に IntPnd ビットが "1" に設定されます。CAN コントローラが CAN バス 上で調停に負けた場合 , あるいは転送中にエラーが発生した場合は , CAN バスがアイ ドルになると , 直ちにメッセージの再送信が行われます。 ■ 送信優先度 メッセージオブジェクトの送信優先度は , メッセージ番号によって決定します。メッ セージオブジェクト 1 が最高の優先度で , メッセージオブジェクト 32 ( または搭載し ている最大メッセージオブジェクト番号 ) が最低優先度となります。したがって , 2 つ 以上の送信要求が保留されていると , 対応するメッセージオブジェクトの小さい番号 順に転送が行われます。 ■ 送信メッセージオブジェクトの設定 図 14.5-2 に , 送信オブジェクトの初期化を示します。 図 14.5-2 送信メッセージオブジェクトの初期化 MsgVal Arb Data Mask EoB Dir 1 appl. appl. appl. 1 1 NewDat MsgLst RxIE 0 0 0 TxIE appl. IntPnd RmtEn TxRqst 0 appl. 0 IFx アービトレーションレジスタ (ID28 ∼ ID0 と Xtd ビット ) は , アプリケーションで 与えられ , 送信メッセージの ID およびメッセージの種類を定義します。 標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は 無効となります。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用 します。 TxIE ビットに "1" を設定すると , メッセージオブジェクトの送信成功後に IntPnd ビッ トが "1" に設定されます。 RmtEn ビットに "1" を設定すると , 一致するリモートフレームを受信後 , TxRqst ビット に "1" を設定し , データフレームを自動的に送信します。 データレジスタ (DLC3 ∼ DLC0, Data0 ∼ Data7) の設定は , アプリケーションで与えら れます。 UMask = 1 のとき , IFx マスクレジスタ (Msk28 ∼ Msk0, UMask, MXtd, MDir ビット ) は , マスク設定によりグループ化された ID を持つリモートフレームを受信し , その後 , 送 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 391 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 信を許可 (TxRqst ビットに "1" を設定 ) するために使用されます。詳細は「14.5.3 メッ セージ受信動作」のリモートフレームを参照してください。 <注意事項> IFx マスクレジスタの Dir ビットをマスク許可に設定することは禁止です。 ■ 送信メッセージオブジェクトの更新 CPU は , 送信メッセージオブジェクトのデータをメッセージインタフェースレジスタ 経由で更新することができます。 送信メッセージオブジェクトのデータは , 対応する IFx データレジスタの 4 バイト単位 (IFx データレジスタ A, IFx データレジスタ B 単位 ) でデータ書込みが行われます。そ のため , 1 バイトだけ送信メッセージオブジェクトを変更することはできません。 8 バイトのデータのみを更新するときは , まず IFx コマンドマスクレジスタへ 0087H の 書込みを行います。そして , IFx コマンド要求レジスタへメッセージ番号を書き込むこ とにより , 送信メッセージオブジェクトのデータ更新 (8 バイトデータ ) と TxRqst ビッ トへの "1" 書込みが同時に行われます。 送信中のメッセージ番号に連続して送信させたい場合 , TxRqst ビットと NewDat に "1" を設定してください。TxRqst ビットは "0" にリセットされずに連続送信が可能となり ます。 NewDat ビットが "1", TxRqst ビットがともに "1" の場合 , 送信を開始すると NewDat ビッ トは "0" にリセットされます。 • データを更新する場合は , IFx データレジスタ A もしくは IFx データレジスタ B の 4 バイト単位で行ってください。 • データのみを更新する場合は , NewDat ビットと TxRqst ビットに "1" を設定してく ださい。 392 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.3 メッセージ受信動作 受信メッセージオブジェクトの設定方法および受信動作について説明します。 ■ 受信メッセージの受容フィルタ メッセージのアービトレーション / コントロールフィールド (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 ビットに "1" を設定します。そのとき , そのメッセー ジオブジェクトの TxRqst ビットは "0" にリセットされます。これは , リモートフレー ム送信処理中に , 要求データフレームを受信した場合 , 送信処理を防ぐために行われま す。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 393 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ リモートフレーム リモートフレーム受信時の動作は , 下記の 3 つの処理があります。一致するメッセージ オブジェクトの設定によりリモートフレーム受信時の処理が選択されます。 • Dir = 1 ( 送信方向 ) , RmtEn = 1, UMask = 1 または 0 一致したリモートフレームの受信を行い , このメッセージオブジェクトの TxRqst ビットのみ "1" に設定され , リモートフレームに対するデータフレームの自動返信 (送信) を行います (TxRqstビット以外のメッセージオブジェクトは変更されません) 。 • Dir = 1 ( 送信方向 ) , RmtEn = 0, UMask = 0 受信したリモートフレームがメッセージオブジェクトと一致しても受信しないで リモートフレームを無効にします ( このメッセージオブジェクトの TxRqst ビットは 変更されません ) 。 • Dir = 1 ( 送信方向 ) , RmtEn = 0, UMask = 1 受信したリモートフレームがメッセージオブジェクトと一致した場合 , このメッ セージオブジェクトの TxRqst ビットは "0" にリセットされ , リモートフレームは受 信データフレームのように処理されます。受信したアービトレーションフィールド とコントロールフィールド (ID + IDE + RTR + DLC) は , メッセージ RAM のメッ セージオブジェクトへ格納され , このメッセージオブジェクトの NewDat ビットが "1" に設定されます。メッセージオブジェクトのデータフィールドは変更されませ ん。 394 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ 受信メッセージオブジェクトの設定 図 14.5-3 に受信メッセージオブジェクトの初期化を示します。 図 14.5-3 受信メッセージオブジェクトの初期化 MsgVal Arb Data Mask EoB Dir 1 appl. appl. appl. 1 0 NewDat MsgLst RxIE 0 0 TxIE appl. 0 IntPnd RmtEn TxRqst 0 0 0 IFx アービトレーションレジスタ (ID28 ∼ ID0, Xtd ビット ) は , アプリケーションによっ て与えられ , アクセプタンスフィルタに用いられる受信メッセージ ID とメッセージの 種類を定義します。 標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は 無効となります。また , 標準フレームが受信されると , ID17 ∼ ID0 は "0" にリセットさ れます。拡張フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用します。 RxIE ビットが "1" に設定された場合 , 受信データフレームがメッセージオブジェクト へ格納されると IntPnd ビットが "1" に設定されます。 データ長コード (DLC3 ∼ DLC0) は , アプリケーションによって与えられます。CAN コ ントローラが受信データフレームをメッセージオブジェクトへ格納するとき , 受信 データ長コードと 8 バイトのデータを格納します。データ長コードが 8 未満の場合は , メッセージオブジェクトの残りのデータには不定データが書き込まれます。 UMask = 1 のとき , IFx マスクレジスタ (Msk28 ∼ Msk0, UMask, MXtd, MDir ビット ) は , マスク設定によりグループ化された ID があるデータフレームの受信を許可するために 使用します。詳細は , 「14.5.3 メッセージ受信動作」のデータフレーム受信を参照して ください。 <注意事項> IFx マスクレジスタの Dir ビットのマスク設定は禁止です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 395 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ 受信メッセージの処理 CPU は , メッセージインタフェースレジスタを介して , 受信メッセージをいつでも読み 出すことが可能です。 通常 , IFx コマンドマスクレジスタに 007FH を書き込みます。次にメッセージオブジェ クトのメッセージ番号を IFx コマンド要求レジスタに書き込みます。この手順によっ て , 指定されたメッセージ番号の受信メッセージをメッセージ RAM からメッセージイ ンタフェースレジスタに転送します。このとき , IFx コマンドマスクレジスタの設定に より , メッセージオブジェクトの NewDat ビットと IntPnd ビットを "0" にクリアするこ とが可能です。 受信メッセージの処理は , 受容フィルタにより一致した場合 , メッセージを受信しま す。メッセージオブジェクトで受容フィルタのマスクを使用している場合は , マスク設 定されたデータが受容フィルタから除外され , メッセージを受信するか判断します。 NewDat ビットは , メッセージオブジェクトが最後に読み出されてから , 新しいメッ セージが受信されたかを示します。 MsgLst ビットは , 受信したデータがメッセージオブジェクトから読み出されない状態 で次の受信データを受信したために前のデータを失ってしまったことを示します。 MsgLst ビットは自動的にはリセットされません。 リモートフレーム送信処理中に , 受容フィルタにより一致するデータフレームが受信 された場合には , TxRqst ビットは自動的に "0" にリセットされます。 396 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.4 FIFO バッファ機能 受信メッセージ処理におけるメッセージオブジェクトの FIFO バッファの構成および 動作について説明します。 ■ FIFO バッファの構成 FIFOバッファの受信メッセージオブジェクトの構成は, EoBビットを除いて, 受信メッ セージオブジェクトの構成と同じです (「14.5.3 メッセージ受信動作」の受信メッセー ジオブジェクトの設定を参照 ) 。 FIFO バッファは , 2 つ以上の受信メッセージオブジェクトを連結して使用します。こ の FIFO バッファへ受信メッセージを格納するためには , 受信メッセージオブジェクト の ID とマスクを使用する場合はそれらの設定を一致させる必要があります。 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-10159-2 FUJITSU MICROELECTRONICS LIMITED 397 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ FIFO バッファからの読出し CPU が受信メッセージオブジェクトの内容を読み出すには , IFx コマンド要求レジスタ へ受信メッセージ番号を書き込むことによって , メッセージインタフェースレジスタ に転送されて読み出すことができます。このとき , IFx コマンドマスクレジスタの WR/ RD を "0" ( 読出し ), および TxRqst/NewDat = 1, IntPnd = 1 に設定し , NewDat ビットと IntPnd ビットを "0" にリセットしてください。 FIFO バッファの機能を保証するために , FIFO バッファの受信メッセージオブジェクト は , 必ず最小のメッセージ番号から読み出してください。 図 14.5-4 に , FIFO バッファの CPU の処理を示します。 図 14.5-4 FIFO バッファの CPU 処理 スタート メッセージ割込み CAN割込みレジスタ 読出し 8000H 0000H CAN割込みレジスタ値 8000H, 0000H以外 状態割込み処理実行 終了 (通常処理) メッセージ番号 = CAN割込みレジスタ値 IFxコマンド要求レジスタ (メッセージ番号)書込み メッセージインタフェースレジスタ 読出し (リセット:NewDat=0, IntPnd=0) IFxメッセージ制御レジスタ 読出し NO NewDat = 1 YES IFxメッセージデータレジスタA,B 読出し YES EoB = 1 NO メッセージ番号 = メッセージ番号 +1 398 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.5 割込み機能 ステータス割込み (IntId = 8000H) およびメッセージ割込み (IntId メッセージ番号 ) による割込み処理について説明します。 複数の割込みがペンディング中である場合 , CAN 割込みレジスタはペンディング中の 最高優先度の割込みコードを示します。割込みコードの設定された時間順は無視され , 常に優先順位の高い割込みコードが表示されます。CPU がクリアするまで割込みコー ドは保持されます。 ステータス割込み (IntId ビット= 8000H) は , 最高優先度となります。 メッセージ割込みの優先度は , メッセージ番号の小さいメッセージが高く , 大きいメッ セージが低くなります。 メッセージ割込みは , メッセージオブジェクトの IntPnd ビットのクリアによってクリ アされます。ステータス割込みは , CAN ステータスレジスタの読出しでクリアされま す。 CAN 割込みペンディングレジスタの IntPnd ビットは , 割込みの有無を示します。ペン ディング中の割込みがないときは , IntPnd ビットは "0" を示します。 CAN 制御レジスタの IE ビット , および IFx メッセージ制御レジスタの TxIE ビット , RxIE ビットに "1" を設定している状態で , IntPnd ビットが "1" になると CPU への割込 み信号がアクティブになります。割込み信号は , CAN 割込みペンディングレジスタが "0" にクリアされる ( 割込み要因リセット ) か , CAN 制御レジスタの IE ビットが "0" に リセットされるまでアクティブ状態を保持します。 CAN 割込みレジスタが 8000H であることは , CAN コントローラによって CAN ステー タスレジスタが更新を示し , この割込みが最高優先度となります。CAN ステータスレ ジスタの更新による割込みは , CAN 制御レジスタの EIE ビットと SIE ビットにより CAN 割込みレジスタへの設定許可 , または禁止の制御ができます。また , CPU への割 込み信号の制御は , CAN 制御レジスタの IE ビットで行うことができます。 CAN ステータスレジスタの RxOk ビット , TxOk ビット , LEC ビットは , CPU からの書 込みにより更新 ( リセット ) することができますが , その書込みにより割込みの設定ま たはリセットを行うことはできません。 CAN 割込みレジスタが 8000H, 0000H 以外の場合は , メッセージ割込みがペンディング 中であることを示し , 優先度の高い保留中のメッセージ割込みを示します。 CAN 割込みレジスタは , IE がリセットされた場合でも更新されます。 CPU へのメッセージ割込みの要因は , CAN 割込みレジスタ , または CAN 割込みペン ディングレジスタで確認することができます (「 14.4.4 メッセージハンドラレジスタ」 を参照 ) 。メッセージ割込みをクリアする場合 , 同時にメッセージデータを読み出すこ とは可能であり , CAN 割込みレジスタで示されているメッセージ割込みをクリアする と次に優先度の高い割込みが CAN 割込みレジスタに設定され , 次の割込み処理を待つ ことになります。割込みがない場合には , CAN 割込みレジスタは 0000H を示します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 399 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 • ステータス割込み (IntId = 8000H) は , CAN ステータスレジスタの読出しアクセスに より割込みクリアされます。 • CAN ステータスレジスタへの書込みアクセスによるステータス割込み (IntId = 8000H) は発生しません。 400 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.6 ビットタイミング ビットタイミングについての概要と CAN コントローラにおけるビットタイミングに ついて説明します。 CAN ネットワークの各 CAN ノードには , それぞれクロック発振器 ( 通常は水晶発振器 ) があります。ビットタイムのタイムパラメータは , CAN ノードごとに個別に構成でき ます。CAN ノードの発振周期 (fosc) が異なっていても , 共通のビットレートを作り出 せます。 これらの発振器の周波数は , 温度や電圧の変化 , コンポーネントの悪化により少し異な ります。その変動が発振器の許容範囲 (df) 内である限りは , CAN ノードはビットスト リームへ再同期化することで異なるビットレートを補償できます。 CAN 仕様に応じて , ビットタイムは 4 つの区分に分けられ ( 図 14.5-5 を参照 ) , 同期化 部 (Sync_Seg), 伝送時間部 (Prop_Seg), フェイズバッファ部 1 (Phase_Seg1), フェイズバッ ファ部 2 (Phase_Seg2) で構成されます。それぞれの区分は , プログラマブルな時間量 ( 表 14.5-1 を参照 ) から成ります。ビットタイムの基本単位時間 (tq) は , CAN クロック (fsys) とボーレートプリスケーラ (BRP) で定義されます : tq = BRP / fsys CAN クロック (fsys) は , CAN プリスケーラにより生成されたクロックになります。同 期化部の Sync_Seg は , CAN バスのエッジを期待するビットタイム内のタイミングとな ります。伝送時間部の Prop_Seg は , CAN ネットワーク内の物理的遅延時間を補償しま す。フェイズバッファ部の Phase_Seg1, Phase_Seg2 は , サンプリングポイントを指定し ます。再同期化ジャンプ幅 (SJW) は , エッジフェーズエラーを補償するために再同期 化時のサンプリングポイントの移動幅を定義します。 図 14.5-5 ビットタイミング 1ビットタイム(BT) Sync _Seg Prop_Seg 1単位時間 (tq) CM71-10159-2 Phase_Seg1 Phase_Seg2 サンプリングポイント FUJITSU MICROELECTRONICS LIMITED 401 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 表 14.5-1 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 の定義 固定長 システムクロックへの同期化 図 14.5-6 に , CAN コントローラにおけるビットタイミングを示します。 図 14.5-6 CAN コントローラにおけるビットタイミング 1ビットタイム(BT) Sync _Seg TEG1 1単位時間 (tq) 402 TEG2 サンプリングポイント FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 表 14.5-2 CAN コントローラのパラメータ パラメータ BRPE, BRP Sync_Seg レンジ 機能 時間量の長さ tq の定義 [0 ∼ 1023] ビットタイミングレジスタおよびプリスケーラ拡張レジ スタにより最大 1024 までプリスケーラを拡張できます。 1 tq CAN クロックへの同期化 固定長 TSEG1 サンプリングポイント前のタイムセグメントです。 [1 ∼ 15] tq Prop_Seg と Phase_Seg1 に相当します。 ビットタイミングレジスタにより制御可能です。 TSEG2 [0 ∼ 7] tq サンプリングポイント後のタイムセグメントです。 Phase_Seg2 に相当します。 ビットタイミングレジスタにより制御可能です。 SJW [0 ∼ 3] tq 再同期化ジャンプ幅です。 ビットタイミングレジスタにより制御可能です。 各パラメータの関係を以下に示します。 tq = ([BRPE, BRP] + 1) / fsys BT = SYNC_SEG + TEG1 + TEG2 = (1 + (TSEG1 + 1) + (TSEG2 + 1)) × tq = (3 + TSEG1 + TSEG2) × tq CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 403 第 14 章 CAN コントローラ 14.5 CAN 機能 14.5.7 MB91461 テストモード テストモードの設定方法および動作について説明します。 ■ テストモード設定 CAN 制御レジスタの Test ビットに "1" をセットすることでテストモードになります。 テストモードに設定すると, CANテストレジスタのビットTx1, Tx0, LBack, Silent, Basic ビットが有効となります。 CAN 制御レジスタの Test ビットを "0" にリセットすることにより , すべてのテストレ ジスタ機能を無効にします。 ■ サイレントモード CAN テストレジスタの Silent ビットを "1" に設定することにより , CAN コントローラ をサイレントモードに設定できます。 サイレントモードでは, データフレームとリモートフレームを受信可能であるが, CAN バス上にはレセッシブのみ出力し , メッセージおよび ACK の送信を行いません。 CAN コントローラがドミナントビット (ACK ビット , オーバロードフラグ , アクティ ブエラーフラグ ) の送信を要求された場合 , CAN コントローラ内部の折返し回路で RX 側に送信されます。この動作では , CAN バス上においてレセッシブ状態であっても , 受信側ではCANコントローラ内部で折り返し送信されたドミナントビットを受信しま す。 サイレントモードでは , ドミナントビット (ACK ビット , エラーフラグ ) 送信による影 響がない状態で , CAN バス上のトラフィック解析ができます。 図 14.5-7 にサイレントモードでのコントローラを示します。 図 14.5-7 サイレントモードでの CAN コントローラ CAN_TX CAN_RX CANコントローラ Silent ビット= 1 Tx Rx CANコア 404 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ ループバックモード CAN テストレジスタの LBack ビットを "1" に設定することにより , CAN コントローラ をループバックモードに設定できます。 ループバックモードは , 自己診断機能に使用できます。 ループバックモードでは , CAN コントローラ内部で TX 側と RX 側が接続され , CAN コントローラが送信したメッセージを RX 側で受信したメッセージとして扱い , 受容 フィルタを通過したメッセージは , 受信バッファに格納します。 図 14.5-8 に , ループバックモードの CAN コントローラを示します。 図 14.5-8 ループバックモードの CAN コントローラ CAN_TX CAN_RX Tx Rx CANコントローラ CANコア 外部信号から独立するため , データ / リモートフレームのアクノリッジスロットでのド ミナントビットはサンプリングされません。そのため , 通常 , CAN コントローラはア クノリッジエラーを発生しますが , 本テストモードではアクノリッジエラーを発生し ないようにしています。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 405 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ サイレントモードとループバックモードの結合 CAN テストレジスタの LBack ビットと Silent ビットを同時に "1" に設定することによ り , ループバックモードとサイレントモードを結合させて動作することが可能です。 このモードは , ホットセルフテスト用に使用できます。ホットセルフテストとは , CAN コントローラがループバックモードでテストしたときに , CAN_TX 端子にはレセッシ ブの固定出力 , CAN_RX 端子からの入力は無効となりますので , CAN システムの動作 に影響がないことを意味しています。 図 14.5-9 に , サイレントモードとループバックモードが結合された CAN コントローラ を示します。 図 14.5-9 サイレントモードとループバックモードが結合された CAN コントローラ CAN_TX CAN_RX CANコントローラ LBack ビット,Silent ビット= 1 Tx Rx CANコア 406 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ ベーシックモード CAN テストレジスタの 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" にリセッ トすると , 調停負けやエラーなどの場合に行われる再送信を停止します。 IF2 メッセージインタフェースレジスタは , 受信制御用として使用されます。 メッセージの受信は , 受容フィルタを使用せずにすべて受信します。IF2 コマンド要求 レジスタの BUSY ビットを "1" に設定することにより , 受信したメッセージの内容を読 み出すことが可能となります。 BUSY ビットに "1" が設定されると , CAN コントローラは受信したメッセージ ( 受信用 のシフトレジスタの内容 ) を受容フィルタなしで IF2 メッセージインタフェースレジス タへ格納します。 新しいメッセージが IF2 メッセージインタフェースレジスタに格納された場合 , CAN コントローラが NewDat ビットを "1" に設定します。また , NewDat ビットが "1" のと きに , さらに新しいメッセージを受信した場合は , CAN コントローラが MsgLst を "1" に設定します。 • ベーシックモードでは , 制御 / 状態ビットに関係するすべてのメッセージオブジェ クトと IFx コマンドマスクレジスタの制御モード設定は無効となります。 • コマンド要求レジスタのメッセージ番号は無効です。 • IF2 メッセージ制御レジスタの NewDat ビットと MsgLst ビットは通常時と同様に動 作し , DLC3 ∼ DLC0 は受信された DLC を示し , ほかの制御ビットは "0" として読 み出されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 407 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ 端子 CAN_TX のソフトウェア制御 CAN 送信端子である CAN_TX には , 4 つの出力機能があります。 • シリアルデータ出力 ( 通常出力 ) • CAN コントローラのビットタイミングをモニタするための CAN サンプリングポイ ント信号出力 • ドミナント固定出力 • レセッシブ固定出力 ドミナントおよびレセッシブの固定出力は , CAN 受信端子の CAN_RX モニタ機能とと もに , CAN バスの物理層のチェックに使用することができます。 CAN_TX 端子の出力モードは , CAN テストレジスタの Tx1 と Tx0 ビットにより制御可 能です。 CANメッセージ送信もしくはループバックモード, サイレントモード, ベーシックモー ドを使用する際は , CAN_TX をシリアルデータ出力に設定する必要があります。 408 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 14.5.8 ソフトウェア初期化 ソフトウェアによる初期化について説明します。 ソフトウェアでの初期化要因を以下に示します。 • ハードウェアリセット • CAN 制御レジスタの Init ビットの設定 • バスオフ状態への遷移 ハードウェアによるリセットは, メッセージRAM (MsgVal, NewDat, IntPnd, TxRqstビッ トを除く ) 以外すべて初期化されます。メッセージ RAM はハードウェアによるリセッ ト後 , CPU によって初期化するか , メッセージ RAM の MsgVal を "0" にしてください。 また , ビットタイミングレジスタを設定する場合には , CAN 制御レジスタの Init ビット を "0" にクリアする前に設定してください。 CAN 制御レジスタの Init ビットは , 以下の条件で "1" に設定されます。 • CPU からの "1" 書込み • ハードウェアリセット • バスオフ Init ビットが "1" に設定されると , CAN バスの全メッセージ送受信は停止され , CAN バ ス出力の CAN_TX 端子はレセッシブ出力となります (CAN_TX テストモードは除く ) 。 Init ビットに "1" を設定すると , エラーカウンタは変化しませんし , レジスタも変更さ れません。 CAN 制御レジスタの Init ビットと CCE ビットが "1" に設定されると , ボーレート制御 用のビットタイミングレジスタとプリスケーラ拡張レジスタへの設定が可能となりま す。 Init ビットを "0" にリセットすることにより , ソフトウェア初期化を終了します。また , Init ビットを "0" にすることは , CPU からのアクセスでしか実行できません。 Init ビットが "0" にリセットされてから , 連続した 11 ビットのレセッシブの発生 ( =バ スアイドル ) を待つことにより , CAN バス上のデータ転送と同期化した後 , メッセージ の転送が行われます。 通常動作中にメッセージオブジェクトのマスク , ID, XTD, EoB, RmtEn を変更する場合 , MsgVal を無効に設定してから変更してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 409 第 14 章 CAN コントローラ 14.5 CAN 機能 14.5.9 MB91461 CAN クロックプリスケーラ PLL 動作中の CAN クロック切換えについて説明します。 ■ ブロック図 図 14.5-10 に , CAN クロックプリスケーラブロックダイヤグラムを示します。 CAN クロックプリスケーラレジスタ (CANPRE) の設定に従い , CAN に供給されるク ロックが決定されます。 図 14.5-10 CAN クロックプリスケーラブロックダイヤグラム CPUクロック CAN インタフェース クロック ユニット クロック デバイダ CAN コントローラ X0 PLL CPCK[1:0] DVC[3:0] CANPRE 410 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ クロック切換え手順 CAN クロックプリスケーラを使用したクロックの切換え方法については , 以下に示す 手順を推奨します。 図 14.5-11 クロック切換え手順 CANクロックの発振器出力 からPLLへの切換え CANクロックのPLLから 発振器出力への切換え CANコントロール レジスタのInitビットを 設定 CANコントロール レジスタのInitビットを 設定 PLL許可 プリスケーラ設定 PLL安定時間待ち PLL停止 プリスケーラ設定 CANコントロール レジスタのInitビットを リセット CANコントロール レジスタのInitビットを リセット CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 411 第 14 章 CAN コントローラ 14.5 CAN 機能 MB91461 ■ CAN クロック周波数 CANPRE の CPCKS1, CPCKS0 と DVC3 ∼ DVC0 の設定により生成される CAN クロッ ク周波数を以下に示します (18MHz の水晶振動子を接続した場合の値です )。 CPCKS1, CPCKS0 = 00B CPCKS1, CPCKS0 = 01B DVC3 ∼ DVC0 (CPU クロック 72MHz 選択時 ) (PLL 出力 144MHz 選択時 ) CPCKS1, CPCKS0 = 11B ( 原発振クロック 18MHz 選択時 ) 0000B 72.00MHz ( 設定禁止 ) 144.00MHz ( 設定禁止 ) 18.00MHz 0001B 36.00MHz ( 設定禁止 ) 72.00MHz ( 設定禁止 ) 9.00MHz 0010B 24.00MHz ( 設定禁止 ) 48.00MHz ( 設定禁止 ) 6.00MHz 0011B 18.00MHz 36.00MHz ( 設定禁止 ) 4.50MHz 0100B 14.40MHz 28.80MHz ( 設定禁止 ) 3.60MHz 0101B 12.00MHz 24.00MHz ( 設定禁止 ) 3.00MHz 0110B 10.29MHz 20.57MHz ( 設定禁止 ) 2.57MHz 0111B 9.00MHz 18.00MHz 2.25MHz 1000B 8.00MHz 16.00MHz 2.00MHz 1001B 7.20MHz 14.40MHz 1.80MHz 1010B 6.55MHz 13.09MHz 1.64MHz 1011B 6.00MHz 12.00MHz 1.50MHz 1100B 5.54MHz 11.08MHz 1.38MHz 1101B 5.14MHz 10.29MHz 1.29MHz 1110B 4.80MHz 9.60MHz 1.33MHz 1111B 4.50MHz 9.00MHz 1.25MHz • CAN プリスケーラ設定ビットの変更は , CAN 制御レジスタの初期化ビットを "1" に 設定し , すべてのバス動作を停止させた後に行ってください。 • CAN クロックは 20MHz 以下としてください。 412 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART LIN 対応 UART の機能と動作について説明します。 15.1 LIN-UART の概要 15.2 LIN-UART の構成 15.3 LIN-UART のレジスタ 15.4 LIN-UART の割込み 15.5 LIN-UART のボーレート 15.6 LIN-UART の動作 15.7 LIN-UART 使用上の注意事項 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 413 第 15 章 LIN-UART 15.1 LIN-UART の概要 15.1 MB91461 LIN-UART の概要 LIN(Local Interconnect Network) 対応 UART(Universal Asynchronous Receiver and Transmitter) は , 外部デバイスとの非同期 / 同期通信を実現する汎用のシリアル データ通信インタフェースです。LIN-UART は双方向通信機能 ( ノーマルモード ) , マスタ / スレーブ通信機能 ( マスタシステムにおけるマルチプロセッサモード ) , LIN バスシステム ( マスタ / スレーブ , 両方での動作 ) をサポートしています。 ■ 概要 LIN-UART は , 別の CPU あるいは周辺回路 , 特に LIN デバイスとのデータ送受信に使 用される汎用のシリアルデータ通信インタフェースです。表 15.1-1 に LIN-UART の機 能を示します。 表 15.1-1 LIN-UART の機能 (1 / 2) 項目 機能 データバッファ 全二重バッファ シリアル入力 非同期モードでは , 5 回のオーバサンプリングを実行し , 受信値を決定 転送モード • クロック同期 ( スタート / ストップ同期 , スタート / ストップビット選択 ) • クロック非同期 ( スタート / ストップビット使用 ) • 専用の 15 ビットボーレートジェネレータ搭載 転送レート • 外部クロック入力を使用でき , リロードカウンタで調整 • 7 ビット ( 同期モード・LIN モードでは使用不可 ) データ長 • 8 ビット シグナルモード NRZ (Non Return to Zero) 形式 スタートビットタイミング 非同期モードでは , スタートビットの立下りエッジとクロック同期化 • フレーミングエラー 受信エラー検出 • オーバランエラー • パリティエラー • 受信割込み ( 受信完了・受信エラー検出 ) • 送信割込み ( 送信完了 ) 割込み要求 • バスアイドル割込み ( 受信割込みに属する ) • LIN-Synch-Break 割込み ( 受信割込みに属する ) マスタ / スレーブ通信機能 1 対複数 (1 マスタ , 複数スレーブ ) の通信が可能 ( マルチプロセッサモード ) ( マスタ , スレーブのいずれのシステムでもサポート ) 同期化モード 414 マスタあるいはスレーブ UART としての機能 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.1 LIN-UART の概要 MB91461 表 15.1-1 LIN-UART の機能 (2 / 2) 項目 送受信線 機能 直接アクセスが可能 • マスタデバイスとしての動作 • スレーブデバイスとしての動作 LIN バスオプション • LIN-Synch-Break の生成 • LIN-Synch-Break の検出 • LIN-Synch-Field のスタート / ストップエッジを ICU で検出 同期シリアルクロック 同期シリアルクロックは , スタート / ストップビットを用いた同期通信 用に , SCK 端子より継続的に出力可能 クロック遅延オプション クロック遅延用の特殊同期クロックモード (SPI 用 ) ■ LIN-UART の動作モード LIN-UART には 4 つのモードがあり , シリアルモードレジスタ (SMR) の MD0, MD1 ビッ トにより設定されます。 モード0とモード2は双方向シリアル通信に, モード1はマスタ/ スレーブ通信に使用されます。モード 3 は LIN マスタ / スレーブ通信用です。 表 15.1-2 LIN-UART の動作モード データ長 動作モード 0 パリティ 禁止 パリティ 許可 同期モード ストップ ビット長 データビット 検出 *1 ノーマルモード 7 ビットまたは 8 ビット 非同期 1 or 2 L/M 1 マルチプロセッサモード 7 ビットま たは 8 ビット+ 1 ビット *2 非同期 1 or 2 L/M 2 ノーマルモード 同期 0, 1 or 2 L/M 3 LIN モード 非同期 1 L − 8 ビット 8 ビット − *1: LSB ファーストまたは MSB ファーストからの転送モードを意味します。 *2 : " + 1" は , マルチプロセッサモードでパリティビットの代わりにアドレス / データの切り換わり を示すためです。 <注意事項> モード 1 ( マルチプロセッサモード ) は , マスタ / スレーブシステムにおける LIN-UART の マスタ , スレーブどちらの動作でもサポートします。モード 3 では , LIN-UART の機能は 8N1 フォーマット , LSB ファーストに固定されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 415 第 15 章 LIN-UART 15.1 LIN-UART の概要 MB91461 モードを変更した場合は , LIN-UART は送受信を停止して待機し , 新たな動作へ移行し ます。 表 15.1-3 に , モードビットの設定を示します。 表 15.1-3 モードビットの設定 416 MD1 MD0 モード 0 0 0 非同期 ( ノーマルモード ) 0 1 1 非同期 ( マルチプロセッサモード ) 1 0 2 同期 ( ノーマルモード ) 1 1 3 非同期 (LIN モード ) 機能 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.2 LIN-UART の構成 MB91461 15.2 LIN-UART の構成 LIN-UART の構成について説明します。 ■ LIN-UART のブロックダイヤグラム LIN-UART は下記のブロックにより構成されています。 • リロードカウンタ • 受信制御回路 • 受信シフトレジスタ • 受信データレジスタ (RDR) • 送信制御回路 • 送信シフトレジスタ • 送信データレジスタ (TDR) • エラー検出回路 • オーバサンプリングユニット • 割込み生成回路 • LIN-Synch-Break および Sync-Field 検出回路 • バスアイドル検出回路 • シリアルモードレジスタ (SMR) • シリアル制御レジスタ (SCR) • シリアルステータスレジスタ (SSR) • 拡張通信制御レジスタ (ECCR) • 拡張通信ステータス / 制御レジスタ (ESCR) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 417 第 15 章 LIN-UART 15.2 LIN-UART の構成 MB91461 ■ LIN-UART のブロックダイヤグラム 図 15.2-1 LIN-UART のブロックダイヤグラム PE 送信クロック CLK FRE TIE 受信クロック リロード カウンタ SCK 受信制御回路 RIE 送信制御回路 LBIE 割込み発生回路 Pin 受信再開リロード カウンタ LBD 送信スタート 回路 スタート ビット検出 SIN Pin ORE 送信ビット カウンタ 受信ビット カウンタ BIE RBI TBI 受信IRQ TDRE 送信IRQ オーバサン プリング ユニット SOT 送信パリティ カウンタ 受信パリティ カウンタ Pin RDRF 受信完了 SOT SIN ICUへの シグナル 受信シフト レジスタ LIN-SynchBreak, SIN 送信シフト レジスタ Synch-Field 検出回路 LIN-Break 発生 送信スタート エラー検出 RDR バスアイドル 検出 TDR LBR LBL1 LBL0 STR PE ORE FRE RBI TBI LBD 内部データバス PE ORE FRE RDRF TDRE BDS RIE TIE 418 MD1 MD0 (OTO) (EXT) SSR レジスタ (REST) UPCL SCKE SOE SMR レジスタ PEN P SBL CL AD CRE RXE TXE SCR レジスタ LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES ESCR レジスタ FUJITSU MICROELECTRONICS LIMITED LBR MS SPI SSM BIE RBI TBI ECCR レジスタ CM71-10159-2 第 15 章 LIN-UART 15.2 LIN-UART の構成 MB91461 ■ 各ブロックの説明 ● リロードカウンタ リロードカウンタは専用のボーレートジェネレータとして機能します。送受信クロッ クは , 外部クロックまたは内部クロックから生成されます。リロードカウンタにはリ ロード値として 15 ビットのレジスタがあります。送信リロードカウンタの実際のカウ ント値は , BGR0/BGR1 の値から読み出すことができます。 ● 受信制御回路 受信制御回路は , 受信ビットカウンタ , スタートビット検出回路 , 受信パリティカウン タによって構成されます。 受信ビットカウンタは受信データをカウントします。指定されたデータ長の 1 データ の受信が完了すると , 受信ビットカウンタは受信データレジスタフルフラグを設定し ます。 スタートビット検出回路はシリアル入力信号からスタートビットを検出し , スタート ビットの立下りエッジと同期してリロードカウンタへ信号を送出します。 受信パリティカウンタは受信データのパリティを計算します。 ● 受信シフトレジスタ 受信シフトレジスタは, SIN端子から入力された受信データをビット単位でシフトして 取り込みます。受信が完了すると , 受信シフトレジスタは受信データを受信データレジ スタ (RDR) へ転送します。 ● 受信データレジスタ (RDR) 受信データレジスタでは受信データが保持されます。シリアル入力データは変換され , このレジスタへと格納されます。 ● 送信制御回路 送信制御回路は , 送信ビットカウンタ , 送信開始回路 , 送信パリティカウンタによって 構成されます。 送信ビットカウンタは送信データビットをカウントします。指定されたデータ長の 1 データの送信が完了すると , 送信ビットカウンタは送信データレジスタエンプティフ ラグを設定します。 送信開始回路は , データが TDR に書き込まれると送信を開始します。 送信パリティカウンタは , パリティありの場合には送信データのパリティビットを生 成します。 ● 送信シフトレジスタ 送信シフトレジスタは , 送信データレジスタ (TDR) へ書き込まれた送信データをシフ トし , SOT 端子へデータをビット単位で出力します。 ● 送信データレジスタ (TDR) 送信データレジスタに送信データを設定します。このレジスタに書き込まれたデータ はシリアルデータへ変換されて出力されます。 ● エラー検出回路 エラー検出回路は , 最新の受信でのエラーの有無を確認します。エラーが発生すると , 対応するエラーフラグを設定します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 419 第 15 章 LIN-UART 15.2 LIN-UART の構成 MB91461 ● オーバサンプリングユニット オーバサンプリングユニットは , SIN 端子からの入力データを 5 回オーバサンプリング します。同期動作モードでは , このユニットは動作しません。 ● 割込み生成回路 割込み生成回路は , すべての割込みを管理します。割込みが許可され , それに対応する 割込み要因が発生すると , 直ちに割込みを生成します。 ● LIN-Break および Sync-Field 検出回路 LIN-Break および LIN-Sync-Break 検出回路は , LIN マスタノードがメッセージハンドラ を送出していると , LIN-Break を検出します。LIN-Break が検出されると , LBD フラグ ビットが生成されます。Sync-Field の 1 回目と 5 回目の立下りエッジは , この回路に よって検出され , 送信マスタノードの正確なシリアルクロックサイクルを測定するた めにインプットキャプチャへ内部信号を送出します。 ● LIN-Break 生成回路 LIN-Break 生成回路は , 定められた長さの LIN-Synch-Break を生成します。 ● バスアイドル検出回路 バスアイドル検出回路は , 受信 / 送信のどちらも実行されていない ( バスアイドル ) こ とを検出します。この場合 , この回路はフラグビット TBI および RBI を生成します。 ● シリアルモードレジスタ (SMR) シリアルモードレジスタにより , 下記の動作が行われます。 • LIN-UART 動作モードの選択 • クロック入力の選択 • 外部クロックが 1 対 1 接続 , またはリロードカウンタ接続であるかの選択 • 専用リロードタイマの再起動 • LIN-UART のリセット ( レジスタの設定は保存 ) • シリアル出力端子 (SOT) の出力許可 • シリアルクロック端子 (SCK) の入出力切換え ● シリアル制御レジスタ (SCR) シリアル制御レジスタにより , 下記の動作が行われます。 • パリティビットの有無 • パリティビットの選択 • ストップビット長の指定 • データ長の指定 • モード 1 におけるフレームデータフォーマットの指定 • エラーフラグのクリア • 送信許可 • 受信許可 420 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.2 LIN-UART の構成 MB91461 ● シリアルステータスレジスタ (SSR) シリアルステータスレジスタで送信 / 受信状態およびエラー状態を確認します。また , 送信 / 受信割込みの許可 , 転送方向 (LSB ファースト /MSB ファースト ) の設定も行い ます。 ● 拡張ステータス・制御レジスタ (ESCR) 拡張ステータス・制御レジスタでは LIN 機能を設定できます。SIN, SOT 端子への直接 アクセスと LIN-UART 同期クロックモードの設定ができます。 ● 拡張通信制御レジスタ (ECCR) 拡張通信制御レジスタでは , バスアイドル検出割込みの設定 , 同期クロック設定 , LINBreak 生成ができます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 421 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 LIN-UART のレジスタ 15.3 図 15.3-1 に , LIN-UART のレジスタを示します。 ■ LIN-UART のレジスタ 図 15.3-1 LIN-UART のレジスタ SCR アドレス : 000040H, 000048H, bit 15 000050H, 000058H, 000060H, 000068H, PEN 000070H リード / ライト 初期値 14 13 12 11 10 9 8 P SBL CL AD CRE RXE TXE R/W R/W R/W R/W R/W W R/W R/W 0 0 0 0 0 0 0 0 SMR アドレス : 000041H, 000049H, bit 7 000051H, 000059H, 000061H, 000069H, MD1 000071H 6 5 4 3 2 1 0 MD0 OTO EXT REST UPCL SCKE SOE R/W R/W R/W R/W W W R/W R/W 0 0 0 0 0 0 0 0 14 13 12 11 10 9 8 ORE FRE RDRF TDRE BDS RIE TIE リード / ライト 初期値 SSR アドレス : 000042H, 00004AH, bit 15 000052H, 00005AH, 000062H, 00006AH, PE 000072H リード / ライト R R R R R R/W R/W R/W 初期値 0 0 0 0 1 0 0 0 6 5 4 3 2 1 0 D6 D5 D4 D3 D2 D1 D0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 RDR/TDR アドレス : 000043H, 00004BH, bit 7 000053H, 00005BH, 000063H, 00006BH, D7 000073H リード / ライト 初期値 ESCR アドレス : 000044H, 00004CH, bit 15 000054H, 00005CH, 000064H, 00006CH, LBIE 000074H 14 13 12 11 10 9 8 LBD LBL1 LBL0 SOPE SIOP CCO SCES R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 x 0 0 リード / ライト 初期値 ( 続く ) 422 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 ( 続き ) ECCR アドレス : 000045H, 00004DH, bit 7 000055H, 00005DH, 000065H, 00006DH, 予約 000075H 6 5 4 3 2 1 0 LBR MS SCDE SSM BIE RBI TBI リード / ライト − W R/W R/W R/W R/W R R 初期値 0 0 0 0 0 0 X X 14 13 12 11 10 9 8 B14 B13 B12 B11 B10 B09 B08 BGR1 アドレス : 000080H, 000082H, bit 15 000084H, 000086H, 000088H, 00008AH, 予約 00008CH リード / ライト − R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 BGR0 アドレス : 000081H, 000083H, bit 7 000085H, 000087H, 000089H, 00008BH, B07 00008DH 6 5 4 3 2 1 0 B06 B05 B04 B03 B02 B01 B00 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 リード / ライト 初期値 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 423 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ 15.3.1 MB91461 シリアル制御レジスタ (SCR) シリアル制御レジスタ (SCR) では , パリティビットの指定 , ストップビット長と データ長の選択 , モード 1 におけるフレームデータフォーマットの選択 , 受信エラー フラグのクリア , 送信 / 受信の許可を設定します。 ■ シリアル制御レジスタ (SCR) 図 15.3-2 シリアル制御レジスタ (SCR) のビット構成 SCR アドレス : 000040H, 000048H, bit 15 000050H, 000058H, 000060H, 000068H, PEN 000070H リード / ライト 初期値 14 13 12 11 10 9 8 P SBL CL AD CRE RXE TXE R/W R/W R/W R/W R/W W R/W R/W 0 0 0 0 0 0 0 0 [bit15] PEN : パリティ許可ビット PEN パリティ許可 0 パリティなし [ 初期値 ] 1 パリティあり このビットは , シリアル非同期モードでの送信データにパリティの付与を選択しま す。受信中には , パリティの検出を行います。 パリティはモード 0, および ECCR の SSM ビットが設定されている場合はモード 2 でも追加されます。このビットはモード 3 (LIN モード ) では "0" 固定 ( パリティな し ) です。 [bit14] P : パリティ選択ビット P パリティ選択 0 偶数パリティ [ 初期値 ] 1 奇数パリティ パリティが有効である場合は , このビットにより偶数パリティ (0), 奇数パリティ (1) が選択されます。 424 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit13] SBL : ストップビット長選択ビット SBL ストップビット長 0 1 ビット [ 初期値 ] 1 2 ビット このビットは , 非同期データフレームのストップビット長を選択します。ECCR の SSM ビットが設定されている場合は , 同期データフレームでも選択されます。この ビットはモード 3 (LIN モード ) では "0" 固定 (1 ビット ) です。 [bit12] CL : データ長選択ビット CL データ 長 0 7 ビット [ 初期値 ] 1 8 ビット このビットは , 送信 / 受信データ長を指定します。モード 2 およびモード 3 では , こ のビットは "1" (8 ビット ) に固定されます。 [bit11] AD : アドレス / データ選択ビット AD アドレス / データビット 0 データビット [ 初期値 ] 1 アドレスビット このビットはマルチプロセッサモード 1 でのデータ形式を指定します。このビット への書込みはマスタ CPU 用であり , 読出しはスレーブ CPU 用です。"1" はアドレス フレームを , "0" はデータフレームを示します。 <注意事項> AD ビットの使用については ,「15.7 LIN-UART 使用上の注意事項」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 425 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit10] CRE : 受信エラーフラグクリアビット 受信エラークリア CRE 書込み 0 無効 [ 初期値 ] 1 すべての受信エラー (PE, FRE, ORE) をクリア 読出し 読出し値は常に "0" このビットにより , シリアルステータスレジスタ (SSR) の PE, FRE, ORE フラグがク リアされます。このビットは受信エラー割込み要因もクリアします。 "1" 書込みによりエラーフラグはクリアされます。"0" 書込みは無効です。 読出しは常に "0" を返します。 <注意事項> 受信動作を禁止せずに受信エラーフラグをクリアにすると , そのタイミングで受信をいっ たん中断し , その後再開します。このため , 受信再開時に正常なデータを受信しない場合 があります。 [bit9] RXE : 受信許可ビット RXE 受信許可 0 受信禁止 [ 初期値 ] 1 受信許可 このビットにより LIN-UART の受信が許可されます。このビットが "0" に設定され ている場合は , LIN-UART はデータフレームの受信を停止します。モード 0 および モード 3 での LIN-Break 検出では無効のままです。 [bit8] TXE : 送信許可ビット TXE 送信許可 0 送信禁止 [ 初期値 ] 1 送信許可 このビットにより LIN-UART の送信が許可されます。このビットが "0" に設定され ている場合は , LIN-UART はデータフレームの送信を停止します。 426 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 15.3.2 シリアルモードレジスタ (SMR) シリアルモードレジスタ (SMR) は , 動作モードとボーレートクロックを選択します。 また , シリアルクロック (SCK) の入出力方向の指定 , シリアル出力許可の設定を行 います。 ■ シリアルモードレジスタ (SMR) 図 15.3-3 シリアルモードレジスタ (SMR) のビット構成 SMR アドレス : 000041H, 000049H, bit 7 000051H, 000059H, 000061H, 000069H, MD1 000071H 6 5 4 3 2 1 0 MD0 OTO EXT REST UPCL SCKE SOE リード / ライト R/W R/W R/W R/W W W R/W R/W 初期値 0 0 0 0 0 0 0 0 [bit7, bit6] MD1, MD0 : 動作モード選択ビット MD0 MD1 0 0 モード 0 : 非同期ノーマルモード [ 初期値 ] 1 0 モード 1 : 非同期マルチプロセッサモード 0 1 モード 2 : 同期モード 1 1 モード 3 : 非同期 LIN モード 動作モード設定 これらのビットにより , LIN-UART の動作モードが設定されます。 [bit5] OTO : 1 to 1 外部クロック選択ビット OTO 外部クロック選択 0 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使 用 [ 初期値 ] 1 外部クロックをシリアルクロックとして使用 このビットが設定されると , LIN-UART のシリアルクロックとして外部クロックが 直接使用されます。この機能は同期スレーブモード動作時に使用されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 427 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit4] EXT : 外部クロック選択ビット EXT 外部シリアルクロック許可 0 内蔵ボーレートジェネレータ ( リロードカウンタ ) を使用 [ 初期値 ] 1 外部クロックをシリアルクロックとして使用 このビットにより , リロードカウンタ用のクロックを選択できます。 [bit3] REST : 送信リロードカウンタ再起動ビット 送信リロードカウンタ再起動 REST 書込み 0 無効 [ 初期値 ] 1 カウンタ再起動 読出し 読出し値は常に "0" このビットに "1" が書き込まれると , リロードカウンタは再起動されます。"0" 書込 みは無効です。 読出しは常に "0" を返します。 [bit2] UPCL : UART クリアビット ( ソフトウェアリセット ) UART クリア ( ソフトウェアリセット ) UPCL 書込み 0 無効 [ 初期値 ] 1 UART リセット 読出し 読出し値は常に "0" このビットに "1" が書き込まれると , LIN-UART は直ちにリセットされますが , レジ スタの設定値は保存されます。 受信 / 送信は中断されます。 エラーフラグはすべてクリアされ , 受信データレジスタ (RDR) は 00H となります。 "0" 書込みは無効です。 読出しは常に "0" を返します。 428 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit1] SCKE : シリアルクロック出力許可 SCKE シリアルクロック出力許可 0 外部クロック入力 [ 初期値 ] 1 シリアルクロック出力 このビットはシリアルクロック端子 (SCK) の入出力を制御します。 このビットが "0" の場合は , SCK 端子は汎用ポート / シリアルクロック入力端子と して動作します。"1" の場合は , シリアルクロック出力端子となります。 <注意事項> SCK 端子をシリアルクロック入力として使用する場合 (SCKE = 0), ポートは入力ポート として設定してください。シリアルクロック出力として使用する場合は , SCKE ビットの 設定と SCK 端子に対応するポートファンクションレジスタ (PFR) の設定が必要です。ポー トファンクションレジスタの設定についての詳細は , 「第 9 章 I/O ポート」を参照してく ださい。また , 外部クロック選択ビットを使用 (EXT = 1) して外部クロックを選択してく ださい。 [bit0] SOE : シリアルデータ出力許可ビット SOE シリアルデータ出力許可 0 SOT 出力禁止 [ 初期値 ] 1 SOT 出力許可 このビットにより , シリアル出力が許可されます。 このビットが "1" の場合は , シリアルデータ出力が許可されます。 <注意事項> SOT 端子をシリアル出力として使用する場合は , SOE ビットの設定と , 対応するポート ファンクションレジスタ (PFR) の設定が必要です。ポートファンクションレジスタの設定 についての詳細は , 「第 9 章 I/O ポート」を参照してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 429 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ 15.3.3 MB91461 シリアルステータスレジスタ (SSR) シリアルステータスレジスタ (SSR) により , 送信 / 受信状態 , エラーの有無を確認で きます。また , 送信 / 受信割込みの制御も行います。 ■ シリアルステータスレジスタ (SSR) 図 15.3-4 シリアルステータスレジスタ (SSR) のビット構成 SSR アドレス : 000042H, 00004AH, bit 15 000052H, 00005AH, PE 000062H, 00006AH, 000072H 14 13 12 11 10 9 8 ORE FRE RDRF TDRE BDS RIE TIE リード / ライト R R R R R R/W R/W R/W 初期値 0 0 0 0 1 0 0 0 [bit15] PE : パリティエラーフラグビット PE パリティエラー 0 パリティエラーなし [ 初期値 ] 1 受信中にパリティエラー発生 受信中にパリティエラーが発生すると , このビットは "1" に設定されます。シリア ル制御レジスタ (SCR) の CRE ビットに "1" が書き込まれると , このビットはクリア されます。 このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。 このフラグが設定された場合は , 受信データレジスタ (RDR) のデータは無効です。 [bit14] ORE : オーバランエラーフラグビット ORE オーバランエラー 0 オーバランエラーなし [ 初期値 ] 1 受信中にオーバランエラー発生 受信中にオーバランエラーが発生すると , このビットは "1" に設定されます。シリ アル制御レジスタ (SCR) の CRE ビットに "1" が書き込まれると , このビットはクリ アされます。 このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。 このフラグが設定された場合は , 受信データレジスタ (RDR) のデータは無効です。 430 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit13] FRE : フレーミングエラーフラグビット FRE フレーミングエラー 0 フレーミングエラーなし [ 初期値 ] 1 受信中にフレーミングエラー発生 受信中にフレーミングエラーが発生すると , このビットは "1" に設定されます。シ リアル制御レジスタ (SCR) の CRE ビットに "1" が書き込まれると , このビットはク リアされます。 このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。 このフラグが設定された場合は , 受信データレジスタ (RDR) のデータは無効です。 [bit12] RDRF : 受信データフルフラグビット RDRF 受信データレジスタフル 0 受信データレジスタにデータなし [ 初期値 ] 1 受信データレジスタにデータあり このフラグは , 受信データレジスタ (RDR) の状態を示します。 受信データが RDR へ格納されるとこのビットは "1" に設定されます。RDR が読み 出されることによってのみ , "0" にクリアされます。 このビットと RIE ビットが "1" の場合は , 受信割込み要求が出力されます。 [bit11] TDRE : 送信データエンプティフラグビット TDRE 送信データレジスタエンプティ 0 送信データレジスタにデータあり 1 送信データレジスタにデータなし [ 初期値 ] このフラグは , 送信データレジスタ (TDR) の状態を示します。 送信データが TDR へ書き込まれると , このビットは "0" にクリアされます。データ が送信シフトレジスタへ格納されて送信が開始されると , "1" に設定されます。 このビットと TIE ビットが "1" の場合は , 送信割込み要求が出力されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 431 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit10] BDS : 転送方向選択ビット BDS 転送方向設定 0 送信 / 受信は LSB ファースト [ 初期値 ] 1 送信 / 受信は MSB ファースト このビットにより , シリアル転送データの転送を LSB ファースト (BDS = 0) または MSB ファースト (BDS = 1) のいずれかに選択できます。 このビットは , モード 3 (LIN モード ) では "0" に固定されます。 <注意事項> シリアルデータレジスタの読出し / 書込み中に , シリアルデータの上位側と下位側は入れ 替えられます。データが RDR に書き込まれた後 , このビットの値が変更されると , デー タは無効となります。 [bit9] RIE : 受信割込み要求許可ビット RIE 受信割込み要求許可 0 受信割込み禁止 [ 初期値 ] 1 受信割込み許可 このビットにより , CPU への受信割込み要求が制御されます。 このビットが設定され , 受信データフラグビット (RDRF) が "1", もしくはエラーフ ラグ (PE, ORE, FRE) が設定されると , 受信割込み要求を送出します。 [bit8] TIE : 送信割込み要求許可ビット TIE 送信割込み要求許可 0 送信割込み禁止 [ 初期値 ] 1 送信割込み許可 このビットにより , CPU への送信割込み要求が制御されます。 このビットが設定されて TDRE ビットが "1" になると , 送信割込み要求が送出され ます。 432 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 15.3.4 受信 / 送信データレジスタ (RDR/TDR) 受信データレジスタ (RDR) は受信データを , 送信データレジスタは送信データを保 持します。RDR, TDR は同一のアドレスに配置されています。 ■ 受信 / 送信データレジスタ (RDR/TDR) 図 15.3-5 受信 / 送信データレジスタ RDR/TDR アドレス : 000043H, 00004BH, bit 7 000053H, 00005BH, D7 000063H, 00006BH, 000073H 6 5 4 3 2 1 0 D6 D5 D4 D3 D2 D1 D0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 [bit7 ∼ bit0] D7 ∼ D0 : データレジスタ アクセス データレジスタ 読出し 受信データレジスタからの読出し 書込み 送信データレジスタへの書込み ● 受信 RDR は受信データを格納するレジスタです。SIN 端子より転送されたシリアルデータ 信号はシフトレジスタで変換され , このレジスタへ格納されます。データ長が 7 ビット の場合は , 最上位ビット (D7) は "0" となります。受信が完了すると , データはこのレジ スタへ格納され , 受信データフルフラグビット (SSR の RDRF ビット ) が "1" に設定さ れます。このとき , 受信割込み要求が許可されていると , 受信割込みが発生します。 SSR の RDRF ビットが "1" のときに RDR を読み出してください。RDR が読み出され ると , RDRF ビットは自動的に "0" にクリアされます。受信割込みが許可されて受信エ ラーが発生していない場合は , 受信割込みもクリアされます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 433 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 ● 送信 送信データが送信許可状態で送信データレジスタへ書き込まれると , データは送信シ フトレジスタへ転送後 , シリアルデータへと変換されてシリアルデータ出力端子 (SOT) から送信されます。データ長が7ビットの場合は, 最上位ビット(D7)は送信されません。 このレジスタへ送信データが書き込まれると , 送信データエンプティフラグビット (SSR の TDRE ビット ) が "0" にクリアされます。送信シフトレジスタへの転送が完了 すると , TDRE ビットは "1" に設定されます。TDRE ビットが "1" であれば , 次の送信 データをこのレジスタへ書き込むことができます。送信割込み要求が許可されている 場合は , 送信割込みが発生します。送信割込みの発生 , もしくは TDRE ビットが "1" で あれば , 次のデータを書き込んでください。 <注意事項> TDR は書込み専用 , RDR は読出し専用のレジスタです。このレジスタは同一のアドレス に配置されているため , 読出し値と書込み値は異なります。そのため , リードモディファ イライト (RMW) 系命令ではアクセスしないでください。 434 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 15.3.5 拡張ステータス・制御レジスタ (ESCR) 拡張ステータス・制御レジスタでは LIN 機能を設定できます。また , SIN, SOT 端子 への直接アクセスと LIN-UART 同期クロックモードの設定ができます。 ■ 拡張ステータス・制御レジスタ (ESCR) 図 15.3-6 拡張ステータス・制御レジスタ (ESCR) のビット構成 ESCR アドレス : 000044H, 00004CH, bit 15 000054H, 00005CH, LBIE 000064H, 00006CH, 000074H 14 13 12 11 10 9 8 LBD LBL1 LBL0 SOPE SIOP CCO SCES リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 x 0 0 [bit15] LBIE : LIN-Break 検出割込み許可ビット LBIE LIN-Break 検出割込み許可 0 LIN-Break 割込み禁止 [ 初期値 ] 1 LIN-Break 割込み許可 このビットは , LIN-Break が検出されると生成される割込みを許可します。 [bit14] LBD: LIN-Break 検出フラグビット LIN-Break 検出 LBD 書込み 読出し 0 LIN-Break 検出フラグのクリア LIN-Break の検出なし [ 初期値 ] 1 無効 LIN-Break が検出された LIN-Break が検出されると , このビットは "1" に設定されます。"0" 書込みによりこ のフラグビットはクリアされ , LIN-Break 検出割込みが許可されている場合は , 割込 みもクリアします。 リードモディファイライト (RMW) 系命令では常に "1" が返されますが , この場合は LIN-Break 検出を意味しません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 435 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit13, bit12] LBL1, LBL0 : LIN-Break 長選択ビット LBL0 LBL1 0 0 LIN-Break 長は 13 ビット [ 初期値 ] 1 0 LIN-Break 長は 14 ビット 0 1 LIN-Break 長は 15 ビット 1 1 LIN-Break 長は 16 ビット LIN-Break 長 これらのビットにより , LIN-UART で生成される LIN-Break のシリアルビット長が 定義されます。LIN-Break の受信では , 常に 11 ビット固定です。 [bit11] SOPE : シリアル出力端子直接アクセス許可ビット SOPE シリアル出力端子直接アクセス 0 シリアル出力端子直接アクセス禁止 [ 初期値 ] 1 シリアル出力端子直接アクセス許可 このビットが "1" に設定されると , SOT 端子へ直接書込みを行うことが可能になり ます。 詳細は , 表 15.3-2 を参照してください。 [bit10] SIOP : シリアル入出力端子直接アクセス許可ビット シリアル入出力端子直接アクセス許可 SIOP 書込み (SOPE が "1" の場合 ) 0 SOT は "0" 出力 1 SOT は "1" 出力 [ 初期値 ] 読出し SIN の値を読み出します 通常読出し命令では , SIN 端子の値を返します。書込みは SOT 端子の値を設定しま す。リードモディファイライト (RMW) 系命令では , SOT の値を返します。 詳細は , 表 15.3-2 を参照してください。 436 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 表 15.3-1 SOPE と SIOP の機能 SOPE SIOP SIOP への書込み SIOP からの読出し 0 R/W SOT 端子への影響なし 書込み値は保持 SIN の値を読み出します 1 R/W SOT 端子へ書込み値出力 SIN の値を読み出します 1 RMW SOT 端子の値を読み出し , 書込み <注意事項> 本ビットの設定値は , シリアル制御レジスタ (SCR) の TXE ビットが "0" の場合のみ有効 です。 [bit9] CCO : 連続クロック出力許可ビット CCO 連続クロック出力 ( モード 2) 0 連続クロック出力禁止 [ 初期値 ] 1 連続クロック出力許可 LIN-UART がマスタモード 2 ( 同期モード ) で動作し , SCK 端子が出力として設定さ れている場合に , このビットにより SCK での連続シリアルクロック出力が許可され ます。 [bit8] SCES : シリアルクロックエッジ選択ビット SCES シリアルクロックエッジ選択 0 クロックの立上りエッジでサンプリング ( 通常 ) [ 初期値 ] 1 クロックの立下りエッジでサンプリング ( 反転クロック ) このビットにより , モード 2 ( 同期モード ) での内部シリアルクロックが反転されま す。LIN-UART がモード 2 マスタ ( 同期モード ) で動作し , SCK 端子が出力として 設定されている場合は , 出力クロックも反転します。 モード 2 スレーブでは , サンプリングエッジが立上りエッジから立下りエッジへと 切り換わります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 437 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ 15.3.6 MB91461 拡張通信制御レジスタ (ECCR) 拡張通信制御レジスタ (ECCR) では , バスアイドル検出割込みの設定 , 同期クロック 設定 , LIN-Break 生成ができます。 ■ 拡張通信制御レジスタ (ECCR) 図 15.3-7 拡張通信制御レジスタのビット構成 ECCR アドレス : 000045H, 00004DH, bit 7 000055H, 00005DH, 000065H, 00006DH, 予約 000075H 6 5 4 3 2 1 0 LBR MS SCDE SSM BIE RBI TBI リード / ライト - W R/W R/W R/W R/W R R 初期値 0 0 0 0 0 0 x x [bit7] 予約 : 予約ビット 予約ビットです。必ず "0" を書き込んでください。 [bit6] LBR : LIN-Break 設定ビット LIN-Break 設定 LBR 書込み 0 無効 [ 初期値 ] 1 LIN-Break 生成 読出し 読出し値は常に "0" 動作モードがモード 0 もしくはモード 3 の場合に , このビットに "1" が書き込まれ ると , ESCR の LBL1, LBL0 で設定した長さの LIN-Break が生成されます。 [bit5] MS : マスタ / スレーブモード選択ビット MS モード 2 でのマスタ / スレーブ機能 0 マスタモード ( シリアルクロック生成 ) [ 初期値 ] 1 スレーブモード ( 外部シリアルクロック受信 ) このビットは , 同期モード 2 における LIN-UART をマスタあるいはスレーブとして 設定します。マスタとして設定されると , LIN-UART は同期クロックを生成します。 スレーブモードとして設定された場合は , 外部シリアルクロックを受信します。 438 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 <注意事項> スレーブモードとして設定される場合は , クロックソースを外部クロックとして , 1 対 1 外部クロック入力に設定してください (SMR の SCKE = 0, EXT = 1, OTO = 1) 。 [bit4] SCDE : シリアルクロック遅延許可ビット SCDE モード 2 でのシリアルクロック遅延許可 0 クロック遅延禁止 [ 初期値 ] 1 クロック遅延許可 LIN-UART がモード 2 で動作する場合 , このビットが設定されると , シリアル出力 クロックは 1 マシンサイクル遅延します。 [bit3] SSM : スタート / ストップビットモード許可 SSM モード 2 での調歩同期 0 モード 2 でのスタート / ストップビットモード禁止 [ 初期値 ] 1 モード 2 でのスタート / ストップビットモード許可 LIN-UART がモード 2 で動作する場合 , このビットにより同期化用にスタートビッ トとストップビットが追加されます。ほかのモード ( モード 0, モード 1, モード 3) ではこのビットは "0" に固定されます。 [bit2] BIE : バスアイドル割込み許可 BIE バスアイドル割込み許可 0 バスアイドル割込み禁止 [ 初期値 ] 1 バスアイドル割込み許可 受信 / 送信のどちらも実行されていない場合 (RBI = 1, TBI = 1) に , このビットは 受信割込みを許可します。 モード 2 で SSM ビットが "0" のときは , このビットを使用しないでください。 [bit1] RBI: 受信バスアイドルフラグビット RBI 受信バスアイドル 0 受信動作中 1 受信休止中 SIN 端子での受信がない場合に , このビットは "1" に設定されます。 モード 2 で SSM ビットが "0" のときは , このビットを使用しないでください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 439 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 [bit0] TBI : 送信バスアイドルフラグビット TBI 送信バスアイドル 0 送信動作中 1 送信休止中 SOT 端子での送信がない場合に , このビットは "1" に設定されます。 モード 2 で SSM ビットが "0" のときは , このビットを使用しないでください。 <注意事項> LIN-UART の動作モードをモード 2 に設定した場合に , SSM ビットが "0" のときは , BIE, RBI, TBI ビットを使用しないでください。 440 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 15.3.7 ボーレート / リロードカウンタレジスタ (BGR) ボーレート / リロードカウンタレジスタ (BGR) は , シリアルクロックの分周比を設 定します。また , 送信リロードカウンタの正確な値を読み出すことも可能です。 ■ ボーレート / リロードカウンタレジスタ (BGR) 図 15.3-8 ボーレート / リロードカウンタレジスタ BGR1 アドレス : 000080H, 000082H, bit 15 000084H, 000086H, 予約 000088H, 00008AH, 00008CH 14 13 12 11 10 9 8 B14 B13 B12 B11 B10 B09 B08 リード / ライト - R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 BGR0 アドレス : 000081H, 000083H, bit 7 000085H, 000087H, B07 000089H, 00008BH, 00008DH 6 5 4 3 2 1 0 B06 B05 B04 B03 B02 B01 B00 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 リード / ライト 初期値 [bit15] 予約 : 予約ビット 予約ビットです。読出し値は常に "0" です。 [bit14 ∼ bit8] B14 ∼ B08 : BGR1 : ボーレートジェネレータレジスタ 1 B14 ∼ B08 ボーレートジェネレータレジスタ 1 書込み リロード値の bit14 ∼ bit8 をカウンタへ書込み 読出し カウント bit14 ∼ bit8 の読出し [bit7 ∼ bit0] B07 ∼ B00 : BGR0 : ボーレートジェネレータレジスタ 0 表 15.3-2 ボーレートジェネレータレジスタ 0 B07 ∼ B00 CM71-10159-2 ボーレートジェネレータレジスタ 0 書込み リロード値の bit7 ∼ bit0 をカウンタへ書込み 読出し カウント bit7 ∼ bit0 の読出し FUJITSU MICROELECTRONICS LIMITED 441 第 15 章 LIN-UART 15.3 LIN-UART のレジスタ MB91461 ■ ボーレート / リロードカウンタレジスタ ボーレートリロードカウンタレジスタ (BGR) では , シリアルクロックの分周比を設定 します。 レジスタはバイトアクセスもしくはハーフワードアクセスでの読出し / 書込みが可能 です。 442 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 LIN-UART の割込み 15.4 LIN-UART には受信割込みと送信割込みがあります。下記のいずれかの場合におい て , 割込み要求が生成されます。 • 受信データの受信データレジスタ (RDR) への格納 , もしくは受信エラーの発生 • 送信データの送信データレジスタ (TDR) から送信シフトレジスタへの転送 • LIN-Break 検出 • バスアイドル ( 送信 / 受信動作なし ) ■ LIN-UART の割込み 表 15.4-1 に , LIN-UART の割込みコントロールビットと割込み要因を示します。 表 15.4-1 LIN-UART の割込みコントロールビットと割込み要因 受信 / 送信 / ICU 受信 送信 動作モード 割込み要求 フラグ フラグビット レジスタ 割込み要因 割込み要因 割込み要求の 許可ビット クリア方法 0 1 2 3 RDRF SSR ○ ○ ○ ○ RDR への受信 データ書込み 受信データの 読出し ORE SSR ○ ○ ○ ○ オーバラン エラー SSR: RIE 受信エラー クリアビット (SSR: CRE) へ の "1" 書込み FRE SSR ○ ○ △ フレーミング ○ エラー PE SSR ○ × △ × パリティ エラー LBD ESCR ○ × × ○ LIN-Sync-Break 検出 TBI & RBI ECCR ○ ○ △ ○ バスアイドル TDRE SSR ○ ○ ○ ○ ICP ICS ○ × × LIN-Sync-Field ○ の最初の立下り ICS: ICP エッジ ICP の 一時禁止 ICP ICS ○ × × LIN-Sync-Field ○ の 5 回目の立下 ICS: ICP りエッジ ICP の禁止 送信レジスタ エンプティ ESCR: LBIE ESCR の LBD ビットへの "1" 書込み ECCR: BIE 受信データ / 送信データ SSR: TIE 送信データの 書込み ICU ○ : 使用可能 △ : ECCR の SSM ビットが "1" のときに使用可能 × : 使用不可 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 443 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 ■ 受信割込み 受信モード時に下記の 1 つが発生すると , シリアルステータスレジスタ (SSR) の対応す るフラグビットが "1" に設定されます。 • データ受信完了 : RDRF 受信データがシリアル入力シフトレジスタから受信データレジスタ (RDR) へ転送さ れて読出しが可能となった。 • オーバランエラー : ORE RDRF = 1 かつ RDR が CPU より読み出されなかった。 • フレーミングエラー : FRE ストップビット受信時に , "0" が受信された。 • パリティエラー : PE 誤ったパリティビットが検出された。 受信割込みが許可 (SSR の RIE = 1) されているときに , 上記のフラグが 1 つでも "1" と なると , 受信割込みが生成されます。 受信データレジスタ (RDR) が読み出されると , RDRF フラグは自動的に "0" にクリアさ れます。RDRF フラグのクリアはこの方法のみです。 シリアル制御レジスタ (SCR) の受信エラーフラグクリアビット (CRE) に "1" が書き込 まれると , エラーフラグはすべて "0" にクリアされます。 <注意事項> CRE ビットは書込み専用で , "1" を書き込むと 1 マシンサイクルの期間 "1" を保持します。 ■ 送信割込み 送信データが送信データレジスタ (TDR) から送信シフトレジスタへ転送されると ( シ フトレジスタが空で , 送信データが存在している場合に発生します ) , シリアルステー タスレジスタ (SSR) の送信データレジスタエンプティフラグビット (TDRE) が "1" に設 定されます。この場合 , SSR の送信割込み許可ビット (TIE) が設定されていると , 割込 み要求が生成されます。 <注意事項> TDRE の初期値は "1" です。したがって , TIE フラグが "1" に設定されると直ちに送信割込 みが生成されます。送信データレジスタ (TDR) への書込みによってのみ TDRE フラグは リセットされます。 444 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 ■ LIN-Synch-Break 割込み LIN-UART がモード 0 もしくはモード 3 で LIN スレーブとして動作する場合に機能し ます。 シリアル入力バスが 11 ビットタイム以上 "0" ( ドミナント ) になると , 拡張ステータス・ 制御レジスタ (ESCR) の LIN-Break 検出フラグビット (LBD) が "1" に設定されます。この 場合 , 受信エラーフラグは 9 ビットタイム後に "1" に設定されます。そのため , LIN-SyncBreak 検出のみが目的である場合は , RIE フラグあるいは RXE フラグを "0" に設定してく ださい。その他の場合では , まず受信エラー割込みが生成され , 割込み処理ルーチンによ り LBD = 1 を待ってください。 LBD フラグに "1" が書き込まれると , 割込みと LBD フラグはクリアされます。これに より , 以下の LIN マスタへのシリアルクロックの調整手順のため , CPU は確実に LINSync-Break を検出します。 ■ LIN-Synch-Field エッジ検出割込み LIN-UART がモード 0 もしくはモード 3 で LIN スレーブとして動作する場合に機能し ます。 LIN-Break 検出後の受信バスの立下りエッジは LIN-UART により示されます。同時に , ICU へと接続されている割込み信号は "1" に設定されます。この信号は LIN-Synch-Field の 5 回目の立下りエッジでリセットされます。どちらの場合においても両エッジ検出 と ICU 割込みが許可されていれば , ICU は割込みを生成します。ICU で検出されたカ ウンタ値の差は , シリアルクロックの 8 倍です。この結果を用いると , 専用リロードカ ウンタ用のボーレートを計算することができます。 スタートビットの立下りが検出されるとリロードカウンタは自動的にリセットされる ので , 再起動を行う必要はありません。 ■ バスアイドル割込み SIN 端子に受信動作がない場合は , ECCR の RBI フラグビットが "1" に設定されます。 同様に , SOT 端子に送信動作がない場合は , TBI フラグビットが "1" に設定されます。 ECCR のバスアイドル許可ビット (BIE) が設定され , バスアイドルフラグ (TBI, RBI) が どちらも "1" であれば , 割込みが生成されます。 <注意事項> SOPE ビットが "1" のときに SIOP ビットに "0" が書き込まれると , バス動作がない場合 でも TBI フラグは "0" になります。TBI ビットと RBI ビットは , 同期モード 2 において ECCR レジスタの SSM ビットが "0" の場合は使用できません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 445 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 図 15.4-1 に , バスアイドル割込みの生成を示します。 図 15.4-1 バスアイドル割込み生成 送信データ 受信データ TBI RBI 受信IRQ : スタートビット 446 : ストップビット : データビット FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 受信割込み生成とフラグセットタイミング 15.4.1 受信割込み要因 , 受信完了 (SSR の RDRF ビット ) と , 受信エラーの発生 (SSR の PE, ORE, FRE ビット ) について説明します。 ■ 受信割込み生成とフラグセットタイミング シリアルステータスレジスタ (SSR) の受信割込み許可フラグビット (RIE) が "1" に設定 され , データ受信が完了 (RDRF = 1) すると割込みが生成されます。この割込みは , モー ド 0, モード 1, モード 2 (SSM が "1" の場合 ) , モード 3 でのストップビットの検出 , ま たはモード 2 (SSM が "0" の場合 ) で最終データビットが読まれると生成されます。 <注意事項> 受信エラーが発生した場合は , いずれのモードにおいても受信データレジスタの内容は無 効です。 図 15.4-2 受信動作とフラグセットタイミング 受信データ モード0/モード3 ST D0 D1 D2 D5 D6 D7/ P SP ST 受信データ モード1 ST D0 D1 D2 D6 D7 AD SP ST D0 D1 D2 D4 D5 D6 D7 D0 受信データ モード2 PE*1, FRE RDRF ORE*2 (RDRF=1の場合) 受信割込み発生 *1: モード1, モード3ではPEフラグは常に"0"です。 *2: OREは受信データがCPUによって読まれず, かつ別のデータを受信した場合に発生します。 ST: スタートビット SP: ストップビット AD: モード1 (マルチプロセッサ)アドレス/データ選択ビット <注意事項> 図 15.4-2 にはモード 0 とモード 3 でのすべての受信オプションは示されていません。 ここでは , "7p1" と "8N1" です (p = "E"[even] または "0"[odd]) 。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 447 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 図 15.4-3 ORE 設定タイミング 受信データ RDRF ORE 448 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 送信割込み生成とフラグセットタイミング 15.4.2 送信割込みは , 次の送信データが送信データレジスタ (TDR) に書き込まれる用意が できると生成されます。 ■ 送信割込み生成とフラグセットタイミング 送信割込みは , 送信データが送信データレジスタ (TDR) に書き込まれる用意ができる と生成されます。シリアルステータスレジスタ (SSR) の送信割込み許可ビット (TIE) が "1" に設定され , 送信割込みが許可されている場合に , TDR が空になると送信割込みが 生成されます。 SSR の送信レジスタエンプティ(TDRE) フラグビットは , TDR の空きを示します。TDRE ビットは読出し専用です。フラグのクリアは TDR へのデータ書込みによってのみ行わ れます。 図 15.4-4 に , 送信動作とフラグ設定タイミングを示します。 図 15.4-4 送信動作とフラグ設定タイミング 送信割込み発生 送信割込み発生 モード0, 1または3: TDRへの書込み TDRE シリアル出力 ST D0 D1 D2 D3 D4 D5 D6 D7 P AD SP ST D0 D1 D2 D3 D4 D5 D6 D7 送信割込み発生 P AD SP 送信割込み発生 モード2 (SSM = 0): 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: ストップビット <注意事項> 図 15.4-4 の例には , モード 0 の送信オプションのすべては示されていません。 ここでは , "8p1"(p = "E"[even] または "O"[odd]) です。モード 3 とモード 2 で SSM ビッ トが "0" の場合 , パリティは付加されません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 449 第 15 章 LIN-UART 15.4 LIN-UART の割込み MB91461 ■ 送信割込み要求生成タイミング 送信割込みが許可 (SSR の TIE ビットが "1") されている場合に TDRE フラグが "1" にな ると , 送信割込み要求が生成されます。 <注意事項> TDRE の初期値は "1" です。したがって , 送信割込みが許可 (TIE = 1) されると , 送信完了 割込みが直ちに設定されます。TDRE は読出し専用です。送信データレジスタ (TDR) へ の書込みによってのみ TDRE フラグはクリアされます。送信割込みを有効にするタイミ ングには注意してください。 450 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.5 LIN-UART のボーレート MB91461 15.5 LIN-UART のボーレート LIN-UART のシリアルクロックとして下記のいずれかを選択できます。 • 専用ボーレートジェネレータ ( リロードカウンタ ) • 外部クロック (SCK 端子からのクロック入力 ) • 外部クロックをボーレートジェネレータ ( リロードカウンタ ) に使用 ■ LIN-UART のボーレート選択 図 15.5-1 に , ボーレート選択回路 ( リロードカウンタ ) を示します。下記の 3 つから ボーレートを選択可能です。 ● 専用ボーレートジェネレータ ( リロードカウンタ ) の使用 LIN-UARTには送信/受信シリアルクロックそれぞれに独立したリロードカウンタがあ ります。ボーレートは , ボーレートジェネレータレジスタ (BGR) の 15 ビットリロード 値により設定されます。 リロードカウンタは , ボーレートジェネレータレジスタの設定値でマシンクロックを 分周します。 ● 外部クロックの使用 (1 対 1 モード ) LIN-UART クロック入力端子 (SCK) からのクロック入力が直接ボーレートとして使用 されます。 ● 専用ボーレートジェネレータに外部クロックを使用 外部クロックをデバイス内部でリロードカウンタと接続させることも可能です。この モードでは , 外部クロックは内部のマシンクロックの代わりに使用されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 451 第 15 章 LIN-UART 15.5 LIN-UART のボーレート MB91461 図 15.5-1 ボーレート選択回路 ( リロードカウンタ ) REST スタートビット 立下りエッジ検出 リロード値 : v Rxc = 0? セット 受信 リロード 15 ビットリロードカウンタ Rxc = v/2? F/F リセット 0 1 リロード値 : v EXT Txc = 0? CLK SCK ( 外部 クロック 入力 ) 0 受信クロック セット 送信 15 ビットリロードカウンタ リロード 1 カウンタ値 : TXC Txc = v/2? F/F リセット 0 1 OTO 送信クロック 内部データバス EXT REST OTO 452 SMR レジスタ B14 B13 B12 B11 B10 B09 B08 BGR1 レジスタ B07 B06 B05 B04 B03 B02 B01 B00 FUJITSU MICROELECTRONICS LIMITED BGR0 レジスタ CM71-10159-2 第 15 章 LIN-UART 15.5 LIN-UART のボーレート MB91461 ボーレートの設定 15.5.1 ボーレートの設定方法とシリアルクロック周波数の算出結果を示します。 ■ ボーレートの算出 ボーレートジェネレータレジスタ (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-10159-2 FUJITSU MICROELECTRONICS LIMITED 453 第 15 章 LIN-UART 15.5 LIN-UART のボーレート MB91461 ■ マシンクロック周波数ごとのボーレート設定例 表 15.5-1 に , マシンクロックごとのボーレート設定例を示します。 表 15.5-1 マシンクロックごとのボーレート設定例 9MHz 10MHz 18MHz 20MHz ボー レート (bps) value dev. value dev. value dev. value dev. 4M − − − − − − 4 0 2M 4 10.00 4 0.00 8 0.00 9 0 1M 8 0.00 9 0.00 17 0.00 19 0 500000 17 0.00 19 0.00 35 0.00 39 0 460800 − − − − 38 −0.16 − − 250000 35 0.00 39 0.00 71 0.00 79 0 230400 38 −0.16 − − 77 −0.16 − − 153600 58 0.69 64 −0.16 116 −0.16 129 −0.16 125000 71 0.00 79 0.00 143 0.00 159 0 115200 77 −0.16 86 0.22 155 −0.16 173 0.22 76800 116 −0.16 129 −0.16 233 −0.16 259 −0.16 57600 155 −0.16 173 0.22 312 0.16 346 −0.06 38400 233 −0.16 259 −0.16 468 0.05 520 0.03 28800 312 0.16 346 −0.06 624 0.00 693 −0.06 19200 468 0.05 520 0.03 937 0.05 1041 0.03 10417 863 0.00 959 0.00 1727 0.00 1919 0 9600 937 0.05 1041 0.03 1874 0.00 2083 0.03 7200 1249 0.00 1388 0.01 2499 0.00 2777 0.01 4800 1874 0.00 2082 −0.02 3749 0.00 4166 0.01 2400 3749 0.00 4166 0.01 7499 0.00 8332 0 1200 7499 0.00 8332 0.00 14999 0.00 16666 0 600 14999 0.00 16666 0.00 29999 0.00 − − 300 29999 0.00 − − − − − − <注意事項> 偏差 (dev.) の単位は % です。 最大同期ボーレートは , マシンクロックの 5 分周です。 454 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.5 LIN-UART のボーレート MB91461 ■ 外部クロックの使用 SMR の EXT ビットが設定されると , 外部端子 SCK がクロックとして選択されます。外 部クロック信号は内部 MCU クロックと同様に扱われます。SCK 端子に , 例えば 1.8432MHz の水晶発振子を接続し , PC-16550-UART のすべてのボーレートを選択する ためにリロードカウンタを使用するように設計されています。 "1 対 1" 外部クロック入力モード (SMR の OTO ビット ) が選択されていると , SCK 信 号が LIN-UART シリアルクロック入力へ直接接続されます。これは , LIN-UART 同期 モード 2 でスレーブデバイスとして動作させるために必要です。 <注意事項> いずれの場合においても , クロック信号は LIN-UART 内部で MCU クロックと同期化され ます。これは分周できないクロック比は不安定な信号となることを意味します。 ■ カウント例 図 15.5-2 に , リロードカウンタのカウント例を示します。ここではリロード値を 832 と しています。 図 15.5-2 リロードカウンタのカウント例 送受信クロック リロード カウント 001 000 832 831 830 829 828 827 412 411 410 リロードカウント値 送受信クロック リロード カウント 417 416 415 414 413 <注意事項> シリアルクロック信号の立下りエッジは常に , |(v + 1) / 2| 後です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 455 第 15 章 LIN-UART 15.5 LIN-UART のボーレート 15.5.2 MB91461 リロードカウンタの再起動 リロードカウンタは下記の要因で再起動を行うことができます。 ( 送信 / 受信リロードカウンタ双方 ) • MCU リセット • LIN-UART ソフトウェアクリア (SMR の UPCL ビット ) • LIN-UART ソフトウェア再起動 (SMR の REST ビット ) ( 受信リロードカウンタのみ ) • 非同期モードでのスタートビットの立下りエッジ ■ ソフトウェア再起動 シリアルモードレジスタ (SMR) の REST ビットが設定されると , 次のクロックサイク ルで送信 / 受信リロードカウンタはともに再起動されます。この機能は , 送信リロード カウンタをタイマとして使用するためです。 図 15.5-3 に , リロードカウンタ再起動例を示します。ここではリロード値を 100 とし ています。 図 15.5-3 リロードカウンタ再起動例 動作クロック リロードカウンタ クロック出力 リセット リロード値 37 36 35 100 99 98 97 96 95 94 93 92 91 90 89 88 87 BGR0/BGR1読出し データバス 90 : 無効データ この例では , REST 後の MCU クロックサイクル数 (cyc) は以下のようになります。 cyc = v − c + 1 = 100 − 90 + 1 = 11 ここで , "v" はリロード値を , "c" は読出しカウンタ値を意味します。 456 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.5 LIN-UART のボーレート MB91461 <注意事項> SMR の UPCL ビットにより LIN-UART がリセットされると , リロードカウンタも再起動 されます。 ■ 自動再起動 非同期 LIN-UART モードでは , スタートビットの立下りエッジが検出されると , 受信リ ロードカウンタは再起動されます。これはシリアル入力シフトレジスタを入力シリア ルデータと同期化させるためです。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 457 第 15 章 LIN-UART 15.6 LIN-UART の動作 15.6 MB91461 LIN-UART の動作 LIN-UART は動作モード 0 では , 通常双方向シリアル通信として動作します。モード 2 およびモード 3 ではマスタあるいはスレーブとして双方向通信を行います。モー ド 1 ではマスタあるいはスレーブとしてマルチプロセッサ通信を行います。 ■ LIN-UART の動作 ● 動作モード LIN-UART にはモード 0 ∼モード 3 の 4 つの動作モードがあります。表 15.6-1 に , CPU 間接続方法とデータ転送に応じて選択可能な動作モードを示します。 表 15.6-1 LIN-UART の動作モード データ長 動作モード 0 ノーマルモード 1 マルチプロセッサ モード 2 ノーマルモード 3 LIN モード パリティ なし パリティ あり 7 ビット or 8 ビット 7 ビット or 8 ビット+ 1 ビット *2 − 8 ビット 8 ビット − 同期化 ストップ ビット長 データ方向 *1 非同期 1 または 2 L/M 非同期 1 または 2 L/M 同期 0, 1 また は2 L/M 非同期 1 L *1 : 転送データの形式を意味します (LSB ファースト , MSB ファースト ) 。 *2 : " + 1" はマルチプロセッサモードで , パリティビットの代わりに付加されるアド レス / データ部の表示ビットを意味します。 <注意事項> モード 1 は , マスタ / スレーブ接続システムにおいて , LIN-UART のマスタ / スレーブいず れの動作もサポートします。モード 3 での LIN-UART の機能は , 8N1 フォーマット , LSB ファーストに固定されます。 モードが変更されると , LIN-UART はすべての送受信を停止し , 次の動作を開始します。 458 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ CPU 間の接続方法 外部クロック "1 対 1" 接続 ( ノーマルモード ) とマスタ / スレーブ接続 ( マルチプロセッ サモード ) を選択できます。いずれの接続においても , データ長 , パリティ有無 , 同期 化方法はすべての CPU で共通である必要があります。 下記に示すように動作モードを選択してください。 • "1 対 1" 接続では , 2 つの CPU を非同期転送モードの動作モード 0, または同期転送 モードの動作モード 2 に設定してください。同期モード 2 では , 必ず一方をマスタ , 他方をスレーブとして設定してください。 • マスタ / スレーブ接続では動作モード 1 を選択し , マスタあるいはスレーブのいず れかとして使用してください。 ■ 同期化方法 非同期動作モードでは, LIN-UART受信クロックは自動的に受信スタートビットの立下 りエッジと同期化されます。 同期動作モードでは , マスタデバイスのクロック信号 , マスタとして動作している場合 は LIN-UART 自身により同期化されます。 ■ シングルモード LIN-UART はデータを NRZ (Non Return to Zero) 形式として扱います。 ■ 動作許可ビット LIN-UART は送信許可ビット (SCR の TXE ビット ) と受信許可ビット (SCR の RXE ビッ ト ) を用いて送受信を制御します。動作が禁止された場合は , それぞれ以下のように停 止します。 • 受信 ( 受信シフトレジスタへのデータ入力 ) 中に受信動作が禁止されると , フレーム 受信が終了し , 受信データレジスタ (RDR) の受信データが読み出された後 , 受信動 作が停止します。 • 送信 ( 送信シフトレジスタからのデータ出力 ) 中に送信動作が禁止されると , 送信 データレジスタ (TDR) にデータが無くなるまで待ってから送信動作を停止します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 459 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 非同期モードでの動作 ( 動作モード 0, 1) 15.6.1 動作モード 0 ( ノーマルモード ) あるいは動作モード 1 ( マルチプロセッサモード ) で LIN-UART が使用される場合は , 非同期転送モードが選択されます。 ■ 転送データ形式 非同期動作モードでのデータ転送はスタートビット ("L" レベル ) で開始され , ストッ プビット ( 最小 1 ビット , "H" レベル ) で終了します。ビットストリームの方向 (LSB ファースト , MSB ファースト ) はシリアルステータスレジスタ (SSR) の BDS ビットに より設定されます。パリティビットがありと設定されている場合は , 最終データビット とストップビットとの間に配置されます。 動作モード 0 でのデータフレーム長は , パリティビットの代わりとなるアドレス / デー タ区切りビットを含め , 7 ビットもしくは 8 ビットです。ストップビットは 1 ビットも しくは 2 ビットを選択可能です。 転送フレームのビット長の計算式は以下のようになります。 ビット長= 1 + d + p + s (d =データビット [7 ビットまたは 8 ビット ], p =パリティ [0 ビットまたは 1 ビット ], s =ストップビット [1 ビットまたは 2 ビット ]) 図 15.6-1 転送データ形式 ( 動作モード 0, 1) *1 動作モード0 ST D0 D1 D2 D3 D4 D5 D6 D7/P 動作モード1 ST D0 D1 D2 D3 D4 D5 D6 D7 *2 SP AD SP SP *1: D7 (bit 7) :パリティなしでデータ長が8ビットの場合 P (bit 7) :パリティありでデータ長が8ビットの場合 *2: SCRのSBLビットが"1"の場合 ST: スタートビット SP: ストップビット AD: アドレス/データ選択ビット(モード1) <注意事項> シリアルステータスレジスタ (SSR) の BDS ビットが "1" に設定 (MSB ファースト ) され ると , ビットストリームは , D7, D6, … , D1, D0, (P) として処理されます。 ストップビットは2ビットが選択されている場合は, 受信中にどちらも検出されますが, 1 番目のストップビットで受信データフルフラグ (RDRF) は "1" になります。2 番目の ストップビットの後 , 次のスタートビットが検出されないと , バスアイドルフラグ (ECCR の RBI ビット ) が "1" となります。 460 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ 送信動作 シリアルステータスレジスタ (SSR) の送信データレジスタエンプティフラグ (TDRE) ビットが "1" に設定されると , 送信データレジスタ (TDR) へのデータ書込みが許可され ます。データが TDR へ書き込まれると , TDRE フラグは "0" になります。シリアル制 御レジスタ (SCR) の TXE ビットにより送信動作が許可されると , 送信シフトレジスタ へデータが書き込まれ , 次のシリアルクロックサイクルでスタートビットを始めとし て送信が開始されます。それにより , TDRE フラグは "1" となり , TDR へ次のデータを 書くことができるようになります。 送信割込みが許可されている場合 (TIE = 1 は , TDRE フラグにより割込みが生成され ます。TDRE フラグの初期値は "1" ですので , TIE ビットが "1" に設定されると割込み が直ちに発生します。 ビット長が 7 ビットに設定されている場合 (CL = 0) は , BDS ビットによるビット方向 の設定 (LSB ファースト , MSB ファースト ) によらず , TDR の最上位ビット (MSB) が 未使用ビットとなります。 ■ 受信動作 SCR の RXE フラグビットにより受信動作が許可されると受信動作が実行されます。ス タートビットが検出されると , SCR で指定した形式に応じてデータフレームが受信さ れます。エラーが発生すると , 対応するエラーフラグ (PE, ORE, FRE) が設定されます。 データフレーム受信後は , データはシリアルシフトレジスタから受信データレジスタ (RDR) へ転送され , SSR の受信データレジスタフルフラグ (RDRF) ビットが設定されま す。RDRF フラグをクリアするために , 必ず CPU から RDR を読み出してください。受 信割込みが許可されている場合 (RIE = 1) は , RDRF により割込みが生成されます。 データ長が 7 ビットに設定されている場合 (CL = 0) は , BDS ビットによるビット方向 の設定 (LSB ファースト , MSB ファースト ) によらず , RDR の最上位ビット (MSB) が 未使用ビットとなります。 <注意事項> RDRF フラグがセットされてもエラーが発生していなければ , 受信データレジスタ (RDR) のデータは有効です。 受信バスレベルが "H" の期間は , 受信許可フラグ (RXE) を "1" に設定してください。 ■ ストップビット 送信時には , ストップビットを 1 ビットあるいは 2 ビット選択可能です。受信時に 2 ビットが設定されていると , 2 ビットとも検出されます。これは 2 番目のストップビッ トの後で , ECCR の受信バスアイドル (RBI) フラグを適切に設定するためです。 ■ エラー検出 モード 0 では , パリティエラー , オーバランエラー , フレーミングエラーを検出できま す。 モード 1 では , オーバランエラー , フレーミングエラーを検出できます。このモードで は , パリティはありません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 461 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ パリティ モード 0 ( およびモード 2 において , ECCR の SSM ビットが設定されている場合 ) では , シリアル制御レジスタ (SCR) のパリティ許可 (PEN) ビットにより , LIN-UART はパリ ティ計算 ( 送信時 ) , パリティ検出および確認 ( 受信時 ) を実行します。 SCR の P ビットにより , 奇数パリティ , 偶数パリティが設定されます。 462 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 同期モードでの動作 ( 動作モード 2) 15.6.2 LIN-UART 動作モード 2 ( ノーマルモード ) では , クロック同期転送が使用されます。 ■ 転送データ形式 同期モードでは , 拡張通信制御レジスタ (ECCR) の SSM ビットが "0" であれば , スター ト / ストップビットなしで 8 ビットデータが転送されます。モード 2 でのデータ形式 はクロック信号に依ります。 図 15.6-2 に , 転送データ形式 ( 動作モード 2) を示します。 図 15.6-2 転送データ形式 ( 動作モード 2) 送受信データ (ECCR:SSM=0, SCR:PEN=0) 送受信データ (ECCR:SSM=1, SCR:PEN=0) 送受信データ (ECCR:SSM=1, SCR:PEN=1) D0 ST ST D1 D0 D0 D2 D1 D1 D3 D2 D2 D4 D3 D3 D5 D4 D4 D6 D5 D5 D7 D6 D6 D7 D7 SP P * SP SP * SP *: 2ストップビットに設定した場合(SCR: SBLビット =1) ST: スタートビット SP: ストップビット P: パリティビット ■ モード 2 でのクロック反転とスタート / ストップビット 拡張ステータス・制御レジスタ (ESCR) の SCES ビットが設定されている場合は , シリ アルクロックは反転します。したがって , スレーブモードでは , 受信シリアルクロック の立下りエッジでデータを取り込みます。マスタモードで SCES ビットが設定される と , クロック信号のマークレベルが "0" となります。拡張通信制御レジスタ (ECCR) の SSM ビットが設定されると , 非同期モードのようにデータフォーマットにスタート ビットとストップビットが付加されます。 図 15.6-3 クロック反転時の転送データ形式 マーク レベル 送受信クロック (SCES = 0, CCO = 0): 送受信クロック (SCES = 1, CCO = 0): 送受信データ (SSM = 1) (パリティなし, 1 ストップビット) マーク レベル ST SP データフレーム CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 463 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ クロック供給 クロック同期モード ( ノーマルモード ) では , 送信ビット数および受信ビット数はク ロックサイクルと等しくなります。調歩同期通信が設定されていると , クロックサイク ル数はスタート / ストップビットを追加したものと一致します。 内部クロックが選択 ( 専用リロードタイマ ) されていると , クロック同期で受信してい るデータは , データが送信されると自動的に生成されます。 外部クロックが選択されていると , 送信データレジスタにデータを格納し , 送信される ビットごとのクロックサイクルは外部から供給 , 生成されます。SCES が "0" の場合 , マークレベル ("H") は , 送信開始以前および送信完了後に保持されます。 クロックのどの立下りエッジでも送信データが有効かつ安定するように , ECCR の SCDE ビットの設定により , 送信クロック信号は 1 マシンサイクル遅延されます ( 受信 デバイスがクロックの立上りあるいは立下りエッジでデータを取り込む場合に必要で す )。この機能は , CCO が設定されていると停止します。 図 15.6-4 遅延送信クロック信号 (SCDE = 1) 送信データ書込み 受信データサンプリングポイント(SCES = 0) マークレベル 送受信クロック(通常) マークレベル 送信クロック (SCDE = 1) マークレベル 送受信データ 0 1 1 0 LSB 1 0 0 データ 1 MSB ESCR のシリアルクロックエッジ選択 (SCES) ビットが設定されていると , LIN-UART ク ロックは反転し , クロックの立下りエッジで受信データを取り込みます。この場合は , クロックの立下りエッジで必ず有効なシリアルデータとしてください。 マスタモードでは , 拡張ステータス・制御レジスタ (ESCR) の CCO ビットが設定され ると , SCK 端子からシリアルクロックは継続的に出力されます。このモードでは , 受信 側にデータフレームの開始と終了を明示するために , スタートビットとストップビッ トを使用するようにしてください。図 15.6-5 に , モード 2 での継続クロック出力を示 します。 図 15.6-5 モード 2 での継続クロック出力 送受信クロック (SCES = 0, CCO = 1): 送受信クロック (SCES =1, CCO = 1): 送受信データ (SSM=1) (パリティなし, 1 ストップビット) ST SP データフレーム 464 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ エラー検出 スタート / ストップビットを使用しない場合 (ECCR の SSM = 0) は , オーバランエラー のみが検出されます。 ■ 通信 同期通信モードの初期化には , 以下の設定を行ってください。 • ボーレートジェネレータレジスタ (BGR) 専用ボーレートリロードカウンタへのリロード値の設定 • シリアルモードレジスタ (SMR) MD1, MD0 : 10B ( モード 2) :"1" ( 専用ボーレートリロードカウンタ使用 ) SCKE "0" ( 外部クロック入力 ) • シリアル制御レジスタ (SCR) RXE, TXE : フラグビットを "1" に設定 SBL, AD : ストップビットなし , アドレス / データ区切りなし , 値は無効 CL : 自動的に 8 ビット固定 , 値は無効 CRE : "1" (初期化のためエラーフラグはクリアされ, 送信/受信は停止) SSM = 0 の場合 : パリティなし , PEN, P の設定値は無効 SSM = 1 の場合 : PEN, P の設定値は有効 • シリアルステータスレジスタ (SSR) BDS : "0" (LSB ファースト ) , "1" (MSB ファースト ) RIE : "1" ( 割込み許可 ) , "0" ( 割込み禁止 ) TIE : "1" ( 割込み許可 ) , "0" ( 割込み禁止 ) • 拡張通信制御レジスタ (ECCR) SSM :"0" ( スタート / ストップビットなし , 通常 ) "1" ( スタート / ストップビットあり , 特殊 ) MS :"0" ( マスタモード , LIN-UART がシリアルクロックを生成 ) "1" ( スレーブモード , LIN-UART はシリアルクロックを外部から受信 ) 通信を開始するには , 送信データレジスタ (TDR) へデータを書き込んでください。受 信のみを行う場合には SMR のシリアル出力許可 (SOE) ビットで出力を停止し , TDR へ ダミーデータを書き込んでください。 <注意事項> 非同期モード時と同様に , 継続クロック , スタート / ストップビット , 双方向通信が可能 です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 465 第 15 章 LIN-UART 15.6 LIN-UART の動作 15.6.3 MB91461 LIN 機能での動作 ( 動作モード 3) LIN-UART は LIN マスタデバイス , LIN スレーブデバイスいずれとしても使用可能で す。LIN 機能にはモード 3 が割り当てられています。LIN-UART をモード 3 に設定 すると , データ形式は 8N1, LSB ファーストとなります。 ■ LIN マスタとしての UART LIN マスタモードでは , マスタがバス全体のボーレートを決めるため , スレーブデバイ スはマスタと同期されます。したがって , 初期化後のマスタ動作で設定されたボーレー トは保持されます。 拡張通信制御レジスタ (ECCR) の LBR ビットへ "1" を書き込むと , SOT 端子へ 13 ∼ 16 ビットタイムの "L" レベルを出力します。これは LIN-Sync-Break と LIN メッセージの 開始です。 これにより , シリアルステータスレジスタ (SSR) の TDRE フラグは "0" となり , ブレー ク後"1"に初期化され, SSRのTIEビットが"1"の場合はCPUへ送信割込みを出力します。 出力される Sync-Break 長は , ESCR の LBL1, LBL0 ビットで表 15.6-2 のように設定でき ます。 表 15.6-2 LIN-Break 長 LBL1 LBL0 0 0 13 ビットタイム 0 1 14 ビットタイム 1 0 15 ビットタイム 1 1 16 ビットタイム Break 長 Synch-Field は , LIN-Break 後に 1 バイト 55H として送信できます。送信割込みを避 けるために , TDRE フラグが "0" であっても LBR への "1" を書き込むと , TDR へ 55H を書き込むことができます。送信シフトレジスタは LIN-Break が終了するまで 待った後 , TDR 値のシフトを行います。この場合 , LIN-Break 後でスタートビット 以前では割込みは生成されません。 466 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ LIN スレーブとしての UART LIN スレーブモードでは , LIN-UART はマスタのボーレートに同期します。受信が禁止 (RXE = 0) されて LIN-Break 割込みが許可 (LBIE = 1) されている場合に , LIN マスタ の Synch-Break が検出されて ESCR の LBD フラグがそれを示すと , LIN-UART は受信 割込みを生成します。このビットに "0" を書き込むと割込みはクリアされます。 次に LIN マスタのボーレートの解析をします。Synch-Field の最初の立下りエッジが LIN-UART で検出されます。LIN-UART は内部信号を経由してインプットキャプチャ (ICU) へ伝え , 5 回目の立下りエッジで ICU への信号をリセットします。したがって , ICU を LIN インプットキャプチャとして設定し , ICU の割込みを許可状態にする必要 があります。ICU への信号が "1" である時間が , 8 分周された LIN マスタの正確なボー レートです。 ボーレート設定値は下記のようになります。 タイマオーバフローなし : BGR 値= (b − a) / 8 タイマオーバフローあり : BGR 値= (Max + b − a) / 8 ここで , "Max" はタイマの最大値 , "a" は最初の割込み後の ICU カウンタレジスタの値 , "b" は 2 回目の割込み後の ICU カウンタレジスタの値を意味します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 467 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ LIN-Synch-Break 検出割込みとフラグ スレーブモードで LIN-Synch-Break が検出されると , ESCR の LIN-Break 検出 (LBD) フ ラグが "1" に設定されます。LIN-Break 割込み許可 (LBIE) ビットが設定されていると , これは割込み要因となります。 図 15.6-6 に , LIN-Synch-Break 検出とフラグセットタイミングを示します。 図 15.6-6 LIN-Synch-Break 検出とフラグセットタイミング シリアル クロック番号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 シリアル クロック シリアル 入力 (LINバス) FRE (RXE=1) LBD (RXE=0) RXE=1の場合に受信割込みを発生 RXE=0の場合に受信割込みを発生 受信許可状態 (RXE = 1) で受信割込みが許可 (RIE = 1) されている場合は , LIN-Break 割込みより 2 ビットタイム ("8N1") 早く SSR の受信データフレーミングエラー (FRE) フラグビットが受信割込み要因となりますので , LIN-Break を使用する場合は , RXE を "0" にしてください。 LBD は動作モード 0 および動作モード 3 で使用可能です。 図 15.6-7 LIN スレーブモードでの UART の動作 シリアル クロック シリアル入力 (LINバス) CPUによる LBRクリア LBD ICU入力 Synch-Break (14ビット設定の場合) 468 Synch-Ffield FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ LIN バスタイミング 図 15.6-8 LIN バスタイミングと UART の信号 前回のシリアルクロック クロックなし ( 計算フレーム ) 新たに計算された シリアルクロック ICU カウント LIN バス (LSYN) RXE LBD (IRQ0) LBIE ICU 入力 IRQ (ICU) RDRF (IRQ0) RIE CPU による RDR 読出し 受信割込み許可 LIN break 開始 LIN break 検出 , 割込み発生 CPU による IRQ クリア (LBD->0) IRQ (ICU) IRQ クリア : ICU スタート IRQ (ICU) IRQ クリア : ボーレートを計算して設定 LBIE ディセーブル 受信イネーブル スタートビットの立下りエッジ 受信データ 1 バイト RDR に保存 CPU による RDR 読出し CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 469 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 シリアル端子への直接アクセス 15.6.4 LIN-UART は送信端子 (SOT), 受信端子 (SIN) の値を直接アクセスすることができま す。 ■ LIN-UART 端子直接アクセス LIN-UARTにはシリアル入力端子/シリアル出力端子の値をソフトウェアで直接アクセ スする機能があります。ESCR の SIOP ビットの読出しにより , シリアル入力データを モニタできます。ESCR のシリアル出力端子直接アクセス許可 (SOPE) ビットが設定さ れると , ソフトウェアにて SOT 端子の出力値を固定できます。これは送信シフトレジ スタが空 , 例えば送信動作なしのときにのみ可能です。 LIN モードでは , この機能は自身の送信データを読み戻すために用いられます。単ワイ ヤ LIN バス上に物理的な不具合がある場合は , エラー処理にも使用されます。 <注意事項> SIOP には最後に書き込まれた値が保持されます。不要なエッジ出力を防ぐために出力端 子へのアクセスを設定する前に SIOP へ値を書き込んでください。 SIOP ビットへのリードモディファイライト (RMW) 系命令では SOT 端子の値が返されま す。通常の読出し命令では , SIN の値が返されます。 470 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 双方向通信機能 ( ノーマルモード ) 15.6.5 動作モード 0, 2 では通常のシリアル双方向通信が可能です。非同期通信には動作 モード 0 を , 同期通信には動作モード 2 を選択してください。 ■ 双方向通信機能 図 15.6-9 に , 動作モード 0, 2 での LIN-UART の設定を示します。 図 15.6-9 動作モード 0, 2 での LIN-UART の設定 bit 15 SCR, SMR PEN モード 0 → ◎ 14 13 12 11 10 P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE ◎ ◎ ◎ × 0 モード 2 → □ □ □ + × 0 bit 15 14 13 12 11 10 SSR, TDR/RDR 9 8 7 6 ◎ 0 0 ◎ ◎ 1 0 9 8 7 6 ◎ PE ORE FRE RDRF TDRE BDS RIE ◎ ◎ ◎ ◎ ◎ ◎ ◎ モード 2 → □ ◎ □ ◎ ◎ ◎ ◎ ◎ bit 15 14 13 12 11 10 9 8 4 0 3 2 1 0 0 0 0 1 ◎ ◎ ◎ 0 0 ◎ ◎ 5 4 3 2 1 0 変換データを設定 ( 書込み時 ) 受信データを保持 ( 読出し時 ) TIE モード 0 → ◎ 5 7 6 5 4 3 2 ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS 予約 LBR MS SCDE SSM BIE 1 0 RBI TBI モード 0 → ◎ ◎ ◎ ◎ ◎ ◎ × × ◎ × × × ◎ ◎ ◎ モード 2 → × × × × ◎ ◎ ◎ ◎ × ◎ ◎ ◎ □ □ □ ◎ : 使用ビット × : 未使用ビット 1: "1" を設定 0: "0" を設定 □ : SSM = 1 の場合に使用 ( 同期スタート / ストップビット ) + : 自動的に正しく設定されるビット ■ CPU 間の接続 図 15.6-10 に , LIN-UART 動作モード 2 双方向通信の接続例を示します。 図 15.6-10 LIN-UART 動作モード 2 双方向通信の接続例 SOT SOT SIN SIN SCK CPU-1 (マスタ) CM71-10159-2 出力 入力 SCK CPU-2 (スレーブ) FUJITSU MICROELECTRONICS LIMITED 471 第 15 章 LIN-UART 15.6 LIN-UART の動作 15.6.6 MB91461 マスタ / スレーブ通信機能 ( マルチプロセッサモード ) マスタ / スレーブモードでは , マスタ / スレーブいずれのシステムにおいても複数の CPU との LIN-UART 通信が可能です。 ■ マスタ / スレーブ通信機能 図 15.6-11 に , 動作モード 1 での LIN-UART の設定を示します。 図 15.6-11 動作モード 1 での LIN-UART の設定 bit 15 14 13 12 11 P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE モード 1 → + × ◎ ◎ ◎ 0 ◎ ◎ 0 1 0 0 0 0 1 ◎ bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 SCR, SMR SSR, TDR/RDR PEN 10 9 PE ORE FRE RDRF TDRE BDS RIE 8 7 ◎ ◎ ◎ ◎ ◎ ◎ ◎ bit 15 14 13 12 11 10 9 8 5 4 3 2 7 6 5 4 3 2 ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS 予約 LBR MS SCDE SSM BIE モード 1 → × × × × ◎ ◎ × 1 0 変換データを設定 ( 書込み時 ) 受信データを保持 ( 読出し時 ) TIE モード 1 → × 6 × × × × × ◎ 1 0 RBI TBI ◎ ◎ ◎ : 使用ビット × : 未使用ビット 1: "1" を設定 0: "0" を設定 + : 自動的に正しく設定されるビット ■ CPU 間の接続 図 15.6-12 に , LIN-UART マスタ / スレーブ通信の接続例を示します。LIN-UART はマ スタとしてもスレーブとしても使用できます。 図 15.6-12 LIN-UART マスタ / スレーブ通信の接続例 SOT SIN マスタCPU SOT SIN スレーブCPU #0 472 SOT SIN スレーブCPU #1 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ 機能部 マスタ / スレーブ通信用に , 以下のように動作モードとデータ転送モードを設定してく ださい。 表 15.6-3 マスタ / スレーブ通信機能の設定 動作モード マスタ CPU アドレス 送受信 データ 送受信 スレーブ CPU データ AD = 1 + 7 ビットまたは 8 ビットアド モード 1 モード 1 レス (AD ビット (AD ビット 送受信 ) AD = 0 + 7 送受信 ) ビットまたは 8 ビットデー タ パリティ 同期方法 なし 非同期 ストップ ビット ビット方向 1 ビット LSB ファースト または または 2 ビット MSB ファースト ■ 通信手順 マスタ CPU がアドレスデータを送信すると , 通信が開始されます。アドレスデータの AD ビットは "1" に設定され , 通信対象の CPU が選択されます。それぞれのスレーブ CPU はそのアドレスデータを確認します。アドレスデータがスレーブ CPU に割り当て られたアドレスを示すと, そのスレーブCPUはマスタCPUと通信します (通常モード) 。 以下に , マスタ / スレーブ通信 ( マルチプロセッサモード ) のフローチャートを示しま す。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 473 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 図 15.6-13 マスタ / スレーブ通信のフローチャート ( マスタ CPU) ( スレーブ CPU) 開始 開始 動作モード 1 に設定 動作モード 1 に設定 SIN 端子をシリアルデータ 入力に設定 SOT 端子をシリアルデータ 出力に設定 SIN 端子をシリアルデータ 入力に設定 SOT 端子をシリアルデータ 出力に設定 7 または 8 データビット長に設定 1 または 2 ストップビット長に設定 7 または 8 データビット長に設定 1 または 2 ストップビット長に設定 AD ビットに "1" を設定 送受信動作許可 送受信動作許可 受信バイト スレーブへアドレスを送信 AD ビット= 1? 待機 NO YES バスアイドル 割込み スレーブアドレス は一致 ? AD ビットに "0" を設定 NO YES マスタ CPU と通信 スレーブ CPU と通信 通信終了 ? NO YES 通信終了 ? NO YES ほかのスレーブ CPU と通信 ? NO YES 送受信動作禁止 終了 474 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 LIN 通信機能 15.6.7 LIN マスタ , LIN スレーブ , いずれのシステムにおいても , LIN デバイスとの LINUART 通信が可能です。 ■ LIN マスタ / スレーブ通信機能 図 15.6-14 に , 動作モード 3 (LIN) での LIN-UART の設定を示します。 図 15.6-14 動作モード 3 (LIN) での LIN-UART の設定 bit 15 14 13 12 11 P SBL CL AD CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE モード 3 → + × + + × 0 ◎ ◎ 1 1 0 0 0 0 1 ◎ bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 SCR, SMR PEN SSR, TDR/RDR 10 9 PE ORE FRE RDRF TDRE BDS RIE 8 7 ◎ ◎ ◎ ◎ + ◎ ◎ bit 15 14 13 12 11 10 9 8 5 4 3 2 7 6 5 4 3 2 ESCR, ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS 予約 LBR MS SCDE SSM BIE モード 3 → ◎ ◎ ◎ ◎ ◎ ◎ × 0 1 0 変換データを設定 ( 書込み時 ) 受信データを保持 ( 読出し時 ) TIE モード 3 → × 6 ◎ × × × ◎ 1 0 RBI TBI ◎ ◎ ◎ : 使用ビット × : 未使用ビット 1: "1" を設定 0: "0" を設定 + : 自動的に正しく設定されるビット ■ LIN デバイスの接続 図 15.6-15 に , LIN バスシステムの接続例を示します。 LIN-UART は LIN マスタ , LIN スレーブ , いずれとしても設定可能です。 図 15.6-15 LIN バスシステムの接続例 SOT SOT LINバス SIN LINマスタ CM71-10159-2 SIN シングルワイヤ トランシーバ シングルワイヤ トランシーバ FUJITSU MICROELECTRONICS LIMITED LINスレーブ 475 第 15 章 LIN-UART 15.6 LIN-UART の動作 15.6.8 MB91461 LIN 通信モード ( 動作モード 3) UART サンプルフローチャート LIN 通信モードにおける LIN-UART のフローチャート例を示します。 ■ マスタデバイスとしての LIN-UART 図 15.6-16 LIN マスタモードでの LIN-UART フローチャート 開始 初期化:動作モードを3に設定 (データ長8ビット,パリティなし, 1ストップビット) TIE = 0, RIE = 0 メッセージ送信? NO YES スリープモード送信 TDR = 80H TIE = 0 Synch Break送信: ECCRに"1"書込み: LBR, TIE = 1; Synch Field送信: TDR = 55H CPUからの ウェイクアップ? スリープ モード送信? NO ウェイクアップコード送信 RIE = 0 YES TIE = 1 TDR = 80H RIE = 1 YES NO ID Field送信: TDR = Id スレーブへ の書込み? NO YES NO TIE = 0 RIE = 1 スレーブからデータ読出し RIE = 0 476 00H, 80H または C0H 受信 ? TIE = 1 スレーブへのデータ 書込み TIE = 0 RIE = 0 YES エラー発生? NO YES エラーハンドラ FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ■ スレーブデバイスとしての LIN-UART 図 15.6-17 LIN スレーブモードでの LIN-UART フローチャート 開始 A B 初期化: 動作モードを3に設定 (8N1データフォーマット) C エラー発生? RIE = 0; LBIE = 1; RXE = 0 NO スレーブ アドレス一致? NO C E YES YES マスタの 送信要求? スレーブ 動作待ち LBD = 1 LIN Break割込み NO YES LINマスタからの メッセージ待ち LIN Break割り込み要因 (ESCR.LBDに“0”書き込み) ICU割込み許可(両エッジ) データ+チェック サム受信 80H受信? (スリープモード) NO S RIE = 0 TIE = 1 チェックサム 計算 データ送信 (次ページへ) スレーブ 動作待ち TIE = 0 YES B ICU割込み ICUデータ読出し ICU割込みフラグクリア C マスタの 送信要求? NO YES スレーブ 動作待ち C ICU割込み ICUデータ読出し 新ボーレート計算 リロードカウンタに設定 割込みクリア E エラーハンドラ スレーブ 動作待ち バスアイドル 割込み C ID受信 RIE = 1; RXE = 1 A ( 続く ) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 477 第 15 章 LIN-UART 15.6 LIN-UART の動作 MB91461 ( 続き ) S CPUからの ウェイクアップ? NO ウェイクアップ コード送信 RIE = 0 TIE = 1 TDR = 80H YES RIE = 1 NO 478 00H, 80H またはC0H 受信? TIE = 0 YES RIE = 0 FUJITSU MICROELECTRONICS LIMITED C CM71-10159-2 第 15 章 LIN-UART 15.7 LIN-UART 使用上の注意事項 MB91461 15.7 LIN-UART 使用上の注意事項 LIN-UART 使用時における注意事項を示します。 ■ 動作設定 LIN-UART のシリアル制御レジスタ (SCR) には , TXE ( 送信 ) , RXE ( 受信 ) 動作許可 ビットがあります。これらのビットの初期値は停止状態となっているので , 送信 / 受信 いずれの動作においても転送開始前にこれらのビットを設定してください。ビットの 設定を禁止状態とすることで , 転送を中断することができます。 ISO9141 (LIN バスシステム ) のような単一バスシステムにおいては , 単方向通信である ため , これらの 2 ビットを同時には設定しないでください。受信は自動的に実行される ので , LIN-UART により送信されたデータは LIN-UART 自身も受信します。 ■ 通信モードの設定 通信モードの設定は , システムが非動作中に行ってください。送信 / 受信中に動作モー ドが変更されると , 送信 / 受信は停止し , 転送データは失われます。 ■ 送信割込み許可タイミング 送信データエンプティフラグビット (SSR の TDRE ビット ) の初期値は "1" ( 送信デー タがなく , 送信データ書込み許可状態 ) です。送信割込み要求は , 送信割込み要求が許 可 (SSR の TIE ビットが "1") されると直ちに生成されます。この割込みを発生させな いためには , TDR レジスタへの送信データ書込み後に TIE フラグを "1" に設定してく ださい。 ■ 動作モード 3 における LIN の使用 LIN の機能はモード 0 でも使用可能です ( 送信 , 受信ブレーク ) が , 動作モードをモー ド 3 に設定すると , LIN-UART のデータ形式が LIN の形式 (8N1, LSB ファースト ) に自 動的に設定されます。LIN-UART の LIN バスプロトコルへの適用は動作モードをモー ド 3 に設定してください。ブレークの送信時間は変更可能ですが , 最低 11 シリアルビッ トタイムが必要です。 ■ 動作設定の変更 LIN-UART の動作設定を変更した場合は , 必ず LIN-UART をリセットしてください。特 に同期モード 2 でのスタート / ストップビットの有無に注意してください。 シリアルモードレジスタ (SMR) の設定を行う場合は , LIN-UART の再設定と UPCL ビッ トの設定を同時にはできません。この場合 , LIN-UART が正常に動作しないことがあり ます。SMR のビットを設定してから , UPCL ビットをセットするようにしてください。 ■ LIN スレーブの設定 LIN スレーブとして LIN-UART を初期化する場合は , 必ずボーレートを最初の LIN 同 期ブレーク受信前に設定してください。これは最低 13 ビットタイムの LIN 同期ブレー ク検出を確実にするためです。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 479 第 15 章 LIN-UART 15.7 LIN-UART 使用上の注意事項 MB91461 ■ ソフトウェア互換 この LIN-UART は従来の MCU に搭載されているものに類似していますが , ソフトウェ アには互換性はありません。プログラミングモデルはほぼ同じですが , レジスタ構成は 異なります。さらにボーレートは既定値から選択するのではなく , リロード値で設定す るようになっています。 ■ バスアイドル機能 同期モード 2 では , バスアイドル機能は使用できません。 ■ シリアル制御レジスタ (SCR) の AD ビット シリアル制御レジスタ (SCR) の AD ビット ( マルチプロセッサモードでのアドレス / データビット ) を使用する際には下記のことに注意してください。 読み出すと最後に受信した AD ビットを返しますが , 書込みは送信時の AD ビットを設 定します。したがって , AD ビットは制御ビットでありフラグビットでもあります。内 部的には受信データと送信データはそれぞれ別のレジスタへ格納されますが , リード モディファイライト (RMW) 系命令では , 受信データが読み出され , データ操作後 , 送 信データとして書き込まれます。この種の命令で同じレジスタのビットがアクセスさ れると , AD ビットに誤った値が設定されることがあります。 そのため , このビットへの書込みアクセスは送信前に行ってください。あるいは , バイ トアクセスですべてのビットを一度に正しく設定してください。また , AD ビットは送 信データレジスタのようにはデータを保持しません。 送信動作中にこのビットを更新すると , 送信中のデータの AD ビットが変更されます。 480 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース I2C インタフェースの概要 , レジスタの構成 / 機能 , および動作について説明します。 16.1 I2C インタフェースの概要 16.2 I2C インタフェースのレジスタ 16.3 I2C インタフェースの動作説明 16.4 動作フローチャート CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 481 第 16 章 I2C インタフェース 16.1 I2C インタフェースの概要 16.1 MB91461 I2C インタフェースの概要 I2C インタフェースは , Inter IC BUS をサポートするシリアル I/O ポートで , I2C バ ス上のマスタ / スレーブデバイスとして動作します。 ■ I2C インタフェースの特長 I2C インタフェースの特長は , 以下のとおりです。 • マスタ / スレーブ送受信 • アービトレーション機能 • クロック同期化機能 • スレーブアドレス / ゼネラルコールアドレス検出機能 • 転送方向検出機能 • 再起動条件発生および検出機能 • バスエラー検出機能 • 10 ビット /7 ビット スレーブアドレス • マスタモード時スレーブアドレス受信アクノリッジ制御 • 複合スレーブアドレス対応 • 送信 , バスエラー時に割込み可能 • 標準モード ( 最大 100kbps)/ 高速モード ( 最大 400kbps) に対応 482 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.1 I2C インタフェースの概要 MB91461 ■ I2C インタフェースのレジスタ一覧 I2C インタフェースのレジスタ一覧は , 以下のとおりです。 • バスステータスレジスタ (IBSR) 図 16.1-1 バスステータスレジスタ (IBSR) のビット構成 IBSR アドレス : 0000D1H, 0000DDH bit 7 6 5 4 3 2 1 0 BB RSC AL LRB TRX AAS GCA ADT リード / ライト R R R R R R R R 初期値 0 0 0 0 0 0 0 0 000369H • バス制御レジスタ (IBCR) 図 16.1-2 バス制御レジスタ (IBCR) のビット構成 IBCR アドレス : 0000D0H, 0000DCH bit 15 14 13 12 11 10 9 8 000368H BER BEIE SCC MSS ACK GCAA INTE INT リード / ライト R/W R/W W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 • クロック制御レジスタ (ICCR) 図 16.1-3 クロック制御レジスタ (ICCR) のビット構成 ICCR アドレス : 0000DAH, 0000E6H bit 15 14 13 12 11 10 9 8 予約 NSF EN CS4 CS3 CS2 CS1 CS0 リード / ライト − R/W R/W R/W R/W R/W R/W R/W 初期値 − 0 0 1 1 1 1 1 000372H • 10 ビットスレーブアドレスレジスタ (ITBA) 図 16.1-4 10 ビットスレーブアドレスレジスタ (ITBA) のビット構成 ITBAH アドレス : 0000D2H, 0000DEH bit 15 14 13 12 11 10 9 8 予約 予約 予約 予約 予約 予約 TA9 TA8 リード / ライト − − − − − − R/W R/W 初期値 − − − − − − 0 0 アドレス : 0000D3H, 0000DFH bit 7 6 5 4 3 2 1 0 TA7 TA6 TA5 TA4 TA3 TA2 TA1 TA0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 00036AH ITBAL 00036BH CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 483 第 16 章 I2C インタフェース 16.1 I2C インタフェースの概要 MB91461 • 10 ビットスレーブアドレスマスクレジスタ (ITMK) 図 16.1-5 10 ビットスレーブアドレスマスクレジスタ (ITMK) のビット構成 ITMKH アドレス : 0000D4H, 0000E0H bit 15 00036CH ENTB 14 13 12 11 10 9 8 RAL 予約 予約 予約 予約 TM9 TM8 リード / ライト R/W R − − − − R/W R/W 初期値 0 0 − − − − 1 1 アドレス : 0000D5H, 0000E1H bit 7 6 5 4 3 2 1 0 TM7 TM6 TM5 TM4 TM3 TM2 TM1 TM0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 ITMKL 00036DH • 7 ビットスレーブアドレスレジスタ (ISBA) 図 16.1-6 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成 ISBA アドレス : 0000D7H, 0000E3H bit 7 6 5 4 3 2 1 0 予約 SA6 SA5 SA4 SA3 SA2 SA1 SA0 リード / ライト − R/W R/W R/W R/W R/W R/W R/W 初期値 − 0 0 0 0 0 0 0 00036FH • 7 ビットスレーブアドレスマスクレジスタ (ISMK) 図 16.1-7 7 ビットスレーブアドレスマスクレジスタ (ISMK) のビット構成 ISMK アドレス : 0000D6H, 0000E2H bit 15 00036EH ENSB 14 13 12 11 10 9 8 SM6 SM5 SM4 SM3 SM2 SM1 SM0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 1 1 1 1 1 1 1 • データレジスタ (IDAR) 図 16.1-8 データレジスタ (IDAR) のビット構成 IDAR アドレス : 0000D9H, 0000E5H bit 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 000371H 484 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.1 I2C インタフェースの概要 MB91461 ■ I2C インタフェースのブロックダイヤグラム 図 16.1-9 に , I2C インタフェースのブロックダイヤグラムを示します。 図 16.1-9 I2C インタフェースのブロックダイヤグラム ICCR EN I2C 動作許可 ICCR CS4 CS3 CS2 CS1 CS0 IBSR BB RSC クロック分周2 2345 32 R-bus シフトクロック発生 クロック選択2(1/12) シフトクロック エッジ変化タイミング バスビジー リピート スタート ラストビット LRB TRX Sync スタート・ストップ コンディション検出 エラー 送信/受信 ファーストバイト ADT アービトレーションロスト検出 AL IBCR SCLI SCLO BER BEIE 割込み要求 IRQ INTE SDA SDAO INT IBCR SCC MSS ACK 終了 スタート マスタ ACK許可 スタート・ストップ コンディション発生 GC-ACK許可 GCAA IDAR IBSR スレーブ AAS グローバル コール GCA スレーブ アドレス 比較 ISMK ENSB ITMK ENTB RAL ITBA CM71-10159-2 ITMK ISBA ISMK FUJITSU MICROELECTRONICS LIMITED 485 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ 16.2 MB91461 I2C インタフェースのレジスタ I2C インタフェースで使用するレジスタの構成および機能について説明します。 ■ I2C インタフェースのレジスタ概要 I2C インタフェースには , 次の 8 種類のレジスタがあります。 • バスステータスレジスタ (IBSR) • バス制御レジスタ (IBCR) • クロック制御レジスタ (ICCR) • 10 ビットスレーブアドレスレジスタ (ITBA) • 10 ビットスレーブアドレスマスクレジスタ (ITMK) • 7 ビットスレーブアドレスレジスタ (ISBA) • 7 ビットスレーブアドレスマスクレジスタ (ISMK) • データレジスタ (IDAR) 486 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 16.2.1 2 バスステータスレジスタ (IBSR) バスステータスレジスタ (IBSR) には , 以下の機能があります。 • バスビジー検出 • 再起動条件検出 • アービトレーションロスト検出 • アクノリッジ検出 • データ転送方向表示 • スレーブアドレッシング検出 • ゼネラルコールアドレス検出 • アドレスデータ転送検出 ■ バスステータスレジスタ (IBSR) 図 16.2-1 に , バスステータスレジスタ (IBSR) のレジスタ構成を示します。 図 16.2-1 バスステータスレジスタ (IBSR) のレジスタ構成 IBSR アドレス : 0000D1H, 0000DDH bit 7 6 5 4 3 2 1 0 BB RSC AL LRB TRX AAS GCA ADT リード / ライト R R R R R R R R 初期値 0 0 0 0 0 0 0 0 000369H このレジスタは読出し専用です。レジスタのビットはすべてハードウェアにより自動 的に制御されます。I2C インタフェースが有効でない場合 (ICCR レジスタの EN ビット が "0") は , このレジスタのビットはすべてクリア状態となります。 [bit7] BB : バスビジービット I2C バスの状態を示すビットです。 BB CM71-10159-2 内 容 0 停止条件を検出した [ 初期値 ] 1 起動条件を検出した ( バス使用中 ) FUJITSU MICROELECTRONICS LIMITED 487 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 [bit6] RSC : 再起動条件ビット 再起動条件検出ビットです。 RSC 内 容 0 再起動条件は検出されていない [ 初期値 ] 1 再起動条件を検出した このビットは , スレーブアドレス転送終了 (ADT = 0), または停止条件の検出でクリ アされます。 [bit5] AL : アービトレーションロスト検出ビット アービトレーションロスト検出ビットです。 AL 内 容 0 アービトレーションロストが検出されていない [ 初期値 ] 1 マスタ送信中にアービトレーションロストが発生した このビットは INT ビットへの "0" 書込み , または IBCR レジスタ中の MSS ビットに "1" を書き込むことによってクリアされます。 〔アービトレーションロストが発生する例〕 • データ送信が SCL の立上りエッジで SDA ライン上のデータと一致しない • データのファーストビットで , ほかのマスタによって , 再起動条件が発生した • I2C インタフェースが , ほかのスレーブデバイスによって SCL ラインが "L" にド ライブされているために , 起動条件または停止条件を生成できない [bit4] LRB : アクノリッジ格納ビット アクノリッジ格納ビットです。受信側からのアクノリッジを格納します。 LRB 内 容 0 スレーブアクノリッジを検出した [ 初期値 ] 1 スレーブアクノリッジを検出していない アクノリッジの検出 ( 受信 9 ビット ) により書き換わります。 起動条件または停止条件の検出でクリアされます。 488 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 [bit3] TRX : データ送信ビット データ転送中に送信状態を示すビットです。 TRX 内 容 0 データ送信中でない [ 初期値 ] 1 データ送信中 • "1" をセット : マスタモードで起動条件が生成された - スレーブモードでリードアクセス時 ( 送信 ) , 第 1 バイトの転送終了 - マスタモードで送信中 • "0" をセット : バスがアイドル状態 (BB = 0:IBCR) - アービトレーションロスト発生 - マスタ割込み中 (MSS = 1, INT = 1) に SCC に "1" が書き込まれた - マスタ割込み中 (MSS = 1, INT = 1) に MSS ビットがクリアされた - スレーブ時 , 転送の最後にアクノリッジが発生しなかった - スレーブモードでの受信中 - マスタモードでのスレーブからデータ受信中 [bit2] AAS : スレーブアドレッシング検出ビット スレーブアドレッシング検出ビットです。 AAS 内 容 0 スレーブに指定されていない [ 初期値 ] 1 スレーブに指定された ( 再 ) 起動または停止条件の検出でクリアされます。 7/10 ビットのスレーブアドレスを検出したときに設定されます。 [bit1] GCA : ゼネラルコールアドレス検出ビット ゼネラルコールアドレス (00H) 検出ビットです。 GCA 内 容 0 ゼネラルコールアドレスを検出していない [ 初期値 ] 1 ゼネラルコールアドレスを検出した ( 再 ) 起動または停止条件の検出でクリアされます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 489 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 [bit0] ADT : アドレスデータ転送 スレーブアドレス受信検出ビットです。 ADT 内 容 0 受信データがスレーブアドレスでない ( またはバス開放中 ) [ 初期値 ] 1 受信データがスレーブアドレスである 起動の検出で "1" に設定されます。10 ビットライトアクセスでのスレーブアドレス のヘッダが検出されると , 第 2 バイトの後にクリアされ , それ以外のときは第 1 バ イトの後でクリアされます。 〔第 1 バイト / 第 2 バイトの後とは〕 • マスタ割込み (MSS = 1, INT = 1:IBCR) 中に MSS ビットに "0" が書き込まれた • マスタ割込み (MSS = 1, INT = 1:IBCR) 中に SCC ビットに "1" が書き込まれた • INT ビットがクリアされた • マスタまたはスレーブとして転送対象でなければ , すべての転送バイトの最初 490 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 16.2.2 2 バス制御レジスタ (IBCR) バス制御レジスタ (IBCR) には以下の機能があります。 • 割込み許可フラグ • 割込み生成フラグ • バスエラー検出フラグ • 再起動条件生成 • マスタ / スレーブモード選択 • ゼネラルコールアクノリッジ生成許可 • データバイトアクノリッジ生成許可 ■ バス制御レジスタ (IBCR) 図 16.2-2 に , バス制御レジスタ (IBCR) のレジスタ構成を示します。 図 16.2-2 バス制御レジスタ (IBCR) のレジスタ構成 IBCR アドレス : 0000D0H, 0000DCH bit 15 14 13 12 11 10 9 8 000368H BER BEIE SCC MSS ACK GCAA INTE INT リード / ライト R/W R/W W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 バス制御レジスタ (IBCR) への書込みアクセスは , INT ビットが "1" あるいは転送が開 始される場合に行ってください。ACK ビットもしくは GCAA ビットを変更するとバス エラーが検出される場合があるので , 転送動作中にはレジスタへの書込みアクセスを 行わないでください。I2C インタフェースが有効でない場合 (ICCR の EN ビットが "0") は , BER ビットと BEIE ビットを除き , このレジスタのビットはクリア状態となります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 491 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 [bit15] BER : バスエラーフラグ バスエラー割込み要求フラグビットです。このビットは , リードモディファイライ ト (RMW) 系命令では , 常に "1" が読まれます。 ( 書込み時 ) BER 内 容 0 バスエラー割込み要求フラグをクリアする 1 意味を持ちません ( 読出し時 ) BER 内 容 0 バスエラーは検出されていない [ 初期値 ] 1 エラーコンディションを検出した このビットが設定された場合 , CCR レジスタの EN ビットはクリアされ , I2C インタ フェースは停止状態になり , データ転送は中断されます。また , BER, BEIE を除き IBSR と IBCR レジスタのすべてのビットはクリアされます。このビットは , I2C イ ンタフェースを再度許可 (EN = 1) にする前にクリアしてください。 〔"1" が設定される場合〕 1) 起動条件または停止条件が不正な場所で検出された ( スレーブアドレス転送中 , データ転送中 ) 。 2) 10 ビットリードアクセス時に , 第 1 バイトにて 10 ビットライトアクセスする前 に , リードアクセスのスレーブアドレスヘッダが受信された。 3) マスタモードで転送中に起動条件が検出された。 1), 2) の検出は , 転送実行中に I2C インタフェースが動作許可されていると , 不正 バスエラーレポートを抑止するために , 最初の停止条件の受信後にフラグセッ トされます。 [bit14] BEIE : バスエラー割込み許可ビット バスエラー割込み許可ビットです。 BEIE 内 容 0 バスエラー割込み禁止 [ 初期値 ] 1 バスエラー割込み許可 このビットが "1" のとき , BER ビットが "1" が設定されると割込みを発生します。 492 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 [bit13] SCC : 起動条件継続ビット 再起動条件継続ビットです。 ( 書込み時 ) SCC 内 容 0 意味を持ちません 1 マスタ転送時に再起動条件を発生させる このビットの読出し値は常に "0" です。 マスタモード (MSS = 1, INT = 1) 中にこのビットに "1" を書き込むと , 再起動条件 が発生し , 自動的に INT ビットをクリアします。 [bit12] MSS : マスタ / スレーブ選択ビット マスタ / スレーブの選択ビットです。 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 インタフェー スはライトアクセスを伴うスレーブとしてアドレス指定されると, 転送終了後に バスは開放されます。その間 , スレーブとして送信中の場合 (IBCR:AAS = 1, TRX = 1), バスが開放されてもデータ送信しません。I2C インタフェースがスレー ブ (IBSR: AAS = 1) として指定されたか , 次の割込み時にデータを送信が正常終 了にした (IBCR:MSS = 1) か , 不正終了した (IBSR:AL = 1) かどうかを確認する ことが重要となります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 493 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 <注意事項> 下記条件で使用する場合 , スレーブとして受信できませんのでゼネラルコールアドレスの 送信は禁止です。 MB91461 のほかにマスタモードとなるほかの LSI がバスに存在し , MB91461 がマスタと してゼネラルコールアドレスを送信し , 第 2 バイト目以降でアービトレーションロストが 発生する場合 [bit11] ACK : アクノリッジビット データを受信許可ビットに従ってアクノリッジを発生するビットです。 ACK 内 容 0 データ受信に対してアクノリッジを発生しない [ 初期値 ] 1 データ受信に対してアクノリッジを発生する • このビットは , スレーブ時のスレーブアドレス受信時には無効となります。I2C インタフェースが 7 ビット , または 10 ビットのスレーブアドレス指定を検出し たとき , 対応するイネーブルビット (ITMK:ENTB, ISMK:ENSB) が設定されてい ると , アクノリッジを返します。 • このビットへの書込みは , 割込みフラグセット中 (INT = 1), バスが開放中 (IBSR: BB = 0) または I2C インタフェースが停止中 (ICCR:EN = 0) に行ってください。 [bit10] GCAA : ゼネラルコールアドレスアクノリッジビット ゼネラルコールアドレスを検出した場合のアクノリッジ発生許可ビットです。 GCAA 内 容 0 ゼネラルコールアドレスを検出時にアクノリッジを発生しない [ 初期値 ] 1 ゼネラルコールアドレスを検出時にアクノリッジを発生する このビットへの書込みは , 割込みフラグセット中 (INT = 1), バスが開放中 (IBSR: BB = 0) または I2C インタフェースが停止中 (ICCR:EN = 0) に行ってください。 • ゼネラルコールアドレス受信時には , このビットと ACK ビットをともに "1" に することにより , アクノリッジ応答の発生が許可されます。 • ゼネラルコールアドレス送信時には , このビットを "1" にすることにより , アク ノリッジ応答の発生が許可されます。 • スレーブ受信 ( マスタでゼネラルコールアドレスを送信した後に , アービトレー ションロストが発生した場合を含む ) でデータ受信時のアクノリッジビット出 力は , ACK ビットとこのビットがともに "1" のときに出力許可となります。 • バスステータスレジスタ (IBSR) の GCA ビットが "1" のときには , このビットの 設定値を変更しないでください。 494 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 [bit9] INTE : 割込み許可ビット 割込み許可ビットです。 INTE 内 容 0 割込み禁止 [ 初期値 ] 1 割込み許可 このビットが "1" のときに , INT ビットが "1" になると割込みを発生します。 [bit8] INT : 割込み要求フラグ 転送終了割込み要求フラグビットです。このビットは , リードモディファイライト (RMW) 系命令では常に "1" が読み出されます。 ( 書込み時 ) INT 内 容 0 転送終了割込み要求フラグをクリアする [ 初期値 ] 1 動作に影響を与えません ( 読出し時 ) INT 内 容 0 転送が終了していない , 転送対象でないまたはバスが開放状態である [ 初期値 ] 1 アクノリッジビットを含めた 1 バイト転送が終了したときに次の条 件に該当する場合設定されます。 ・バスマスタである ・スレーブアドレスに指定された ・ゼネラルコールアドレスを受信した ・アービトレーションロストが起こった スレーブアドレスに指定されているとき , アクノリッジを含むスレー ブアドレス受信の最後に設定されます。 このビットが "1" のとき , SCL ラインは "L" レベルに保たれます。このビットへ "0" を書込みによりクリアされ , SCL ラインを開放し , 次バイトの転送を行って 再起動 条件または停止条件を生成します。 このビットは , SCC ビットまたは MSS ビットに "1" が書き込まれるとクリアされま す。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 495 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 <注意事項> SCC, MSS, INT ビットの競合について SCC, MSS, INT ビットの同時書込みにより , 次バイト転送 , 再起動条件 , または停止条件 発生の競合が起こります。このときの優先度は次のようになります。 • 次のバイト転送と停止条件発生 INT ビットに "0", MSS ビットに "0" を書き込むと , MSS ビットの書込みが優先されて 停止条件が発生します。 • 次のバイト転送と起動条件発生 INT ビットに "0", SCC ビットに "1" を書き込むと , SCC ビットの書込みが優先されて 再起動条件が発生し , IDAR の値が送信されます。 • 再起動条件発生と停止条件発生 SCC ビットに "1", MSS ビットに "0" を書き込むと , MSS ビットのクリアが優先されま す。停止条件が発生して I2C インタフェースはスレーブモードになります。 図 16.2-3 と図 16.2-4 に示したタイミングで , 起動条件を発生させる命令を実行 (IBCR の MSS = 1) すると , アービトレーションロスト検出 (IBSR の AL = 1) による割込み (IBCR の INT = 1) は発生しません。 • アービトレーションロスト検出による割込みが発生しない条件 (1) 起動条件未検出状態 (IBSR の BB = 0) で , SDA 端子または SCL 端子レベルが "L" のと きに , 起動条件を発生させる命令を実行 (IBCR の MSS = 1) した場合。 図 16.2-3 アービトレーションロスト検出による割込みが発生しないタイミング図 SCL端子またはSDA端子が"L"レベル SCL端子 "L" SDA端子 "L" I2C動作許可状態(ENビット=1) 1 マスタモード設定(MSSビット=1) アービトレーションロスト検出(ALビット=1) バスビジー(BBビット) 0 割込み(INTビット) 0 496 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 • アービトレーションロスト検出による割込みが発生しない条件 (2) ほかのマスタに I2C バスが占有されている状態で , I2C 動作許可 (ICCR の EN = 1) し て起動条件を発生させる命令を実行 (IBCR の MSS = 1) した場合。 図 16.2-4 に示したとおり , I2C が動作禁止 (ICCR の EN = 0) の状態で , I2C バスのほ かのマスタが通信を開始すると , 起動条件未検出 (IBSR の BB = 0) で I2C バスが占有 されている状態になるためです。 図 16.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) BSR の AL ビットと BB ビットを確認し , AL = 1 かつ BB = 0 の場合には , ICCR の EN ビットを "0" にして I2C を初期化 AL ビットと BB ビットがその他の値である場合は , 通常処理 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 497 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 以下にフロー例を示します。 マスタモード設定 バス制御レジスタ (IBCR) の MSS ビットに "1" を設定 クロック制御レジスタ (ICCR) に設定されている I2C 転送周波数での 3 ビットデータ送信時間待機 NO BB = 0 かつ AL = 1 YES EN ビット設定し , I2C の初期化 通常処理 • アービトレーションロスト検出による割込みが発生する例 バスビジー検出 (IBSR の BB = 1) されている状態で , 起動条件を発生させる命令を実 行 (IBCR の MSS ビットを "1" に設定 ) し , アービトレーションロストした場合には , AL = 1 検出時に INT = 1 となり割込みが発生します。 図 16.2-5 アービトレーションロスト検出による割込みが発生するタイミング例 9クロック目で割込み スタートコンディション SCL端子 SDA端子 スレーブアドレス データ ACK ENビット MSSビット ALビット ソフトでのALビットクリア BBビット ソフトでのINTビット クリアでSCL開放 INTビット 498 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 クロック制御レジスタ (ICCR) 16.2.3 クロック制御レジスタ (ICCR) には , 以下の機能があります。 • ノイズフィルタ有効 • I2C インタフェース動作許可 • シリアルクロック周波数設定 ■ クロック制御レジスタ (ICCR) 図 16.2-6 に , クロック制御レジスタ (ICCR) のレジスタ構成を示します。 図 16.2-6 クロック制御レジスタ (ICCR) のレジスタ構成 ICCR アドレス : 0000DAH, 0000E6H bit 15 14 13 12 11 10 9 8 予約 NSF EN CS4 CS3 CS2 CS1 CS0 リード / ライト − R/W R/W R/W R/W R/W R/W R/W 初期値 − 0 0 1 1 1 1 1 000372H [bit15] 予約 : 予約ビット 読出し値は常に "0" です。 [bit14] NSF : ノイズフィルタ有効ビット SDA および SCL 端子に配置されたノイズフィルタを有効にするビットです。この ノイズフィルタにより , これらの入力に発生するスパイク (CLKP1 ∼ CLKP1.5 サイ クル ) を抑制することができます。送信 / 受信レートが 100kbps 以上の場合には , こ のビットを "1" に設定してください。 [bit13] EN : 動作許可ビット I2C インタフェース動作許可ビットです。 値 内 容 0 動作禁止 [ 初期値 ] 1 動作許可 <注意事項> • I2C インタフェースの動作が禁止されると , 送受信は直ちに停止されます。 • MSS ビットに "0" を書き込んでストップコンディションを発生させたあとに I2C インタ フェースの動作を禁止する場合は , ストップコンディションの発生を確認 (IBSR:BB = 0) した後 , 動作を禁止 (ICCR:EN = 0) してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 499 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ MB91461 [bit12 ∼ bit8] CS4 ∼ CS0 : クロック周期選択ビット シリアルクロックの周波数を設定するビットです。 このビットは , I2C インタフェースを動作禁止 (EN = 0) にするか , EN ビットがクリ アされたときにのみ書込み可能です。 シフトクロックの周波数 (fsck) は次式のように設定されます。 《ノイズフィルタ無効の場合》 fsck = φ n × 12 + 18 N > 0, φ: 周辺クロック ( = CLKP) 《ノイズフィルタ有効の場合》 fsck = φ N > 0, φ: 周辺クロック ( = CLKP) ( + 1) はノイズフィルタによる不確定要素 n × 12 + 19 ( + 1) 表 16.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 は設定禁止です。 500 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 16.2.4 2 10 ビットスレーブアドレスレジスタ (ITBA) 10 ビットスレーブアドレスレジスタ (ITBA) のレジスタ構成 , および機能について説 明します。 ■ 10 ビットスレーブアドレスレジスタ (ITBA) 図 16.2-7 に , 10 ビットスレーブアドレスレジスタ (ITBA) のレジスタ構成を示します。 図 16.2-7 10 ビットスレーブアドレスレジスタ (ITBA) のレジスタ構成 ITBAH アドレス : 0000D2H, 0000DEH bit 15 14 13 12 11 10 9 8 予約 予約 予約 予約 予約 予約 TA9 TA8 リード / ライト − − − − − − R/W R/W 初期値 − − − − − − 0 0 アドレス : 0000D3H, 0000DFH bit 7 6 5 4 3 2 1 0 TA7 TA6 TA5 TA4 TA3 TA2 TA1 TA0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 00036AH ITBAL 00036BH 10 ビットスレーブアドレスレジスタ (ITBA) への書込みアクセスは , I2C インタフェー スが有効でない場合 (ICCR の EN ビットが "0") に行ってください。 [bit15 ∼ bit10] 予約 : 予約ビット 読出し時は常に "0" です。 [bit9 ∼ bit0] TA9 ∼ TA0 : 10 ビットスレーブアドレスビット (A9 ∼ A0) 10 ビットアドレスが有効 (ITMK:ENTB = 1) のとき , スレーブモードでスレーブア ドレスを受信すると , 受信アドレスとを ITBA と比較します。 アクノリッジは , 10 ビットライトアクセスのアドレスヘッダ受信後 , マスタに送信 されます。 第 1, 第 2 バイト受信データと ITBAL レジスタを比較します。一致が検出されると , アクノリッジ信号をマスタデバイスに送信し , AAS ビットが設定されます。 I2C インタフェースは , 再起動条件の後 , 10 ビットリードアクセスのアドレスヘッ ダの受信に応答します。 スレーブアドレスの全ビットは , ITMK の設定によりマスクされます。受信スレー ブアドレスは , ITBA レジスタに上書きされます。このレジスタが有効なのは , AAS (IBSR レジスタ ) が "1" のときのみです。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 501 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ 16.2.5 MB91461 10 ビットスレーブアドレスマスクレジスタ (ITMK) 10 ビットスレーブアドレスマスクレジスタ (ITMK) のレジスタ構成 , および機能につ いて説明します。 ■ 10 ビットスレーブアドレスマスクレジスタ (ITMK) 図 16.2-8 に , 10 ビットスレーブアドレスマスクレジスタ (ITMK) のレジスタ構成を示 します。 図 16.2-8 10 ビットスレーブアドレスマスクレジスタ (ITMK) のレジスタ構成 ITMKH アドレス : 0000D4H, 0000E0H bit 15 00036CH ENTB 14 13 12 11 10 9 8 RAL 予約 予約 予約 予約 TM9 TM8 リード / ライト R/W R − − − − R/W R/W 初期値 0 0 − − − − 1 1 アドレス : 0000D5H, 0000E1H bit 7 6 5 4 3 2 1 0 TM7 TM6 TM5 TM4 TM3 TM2 TM1 TM0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 1 1 1 1 1 1 1 1 ITMKL 00036DH [bit15] ENTB : 10 ビットスレーブアドレス許可ビット 10 ビットスレーブアドレス動作許可ビットです。 このビットへの書込みは , I2C インタフェースが停止状態 (ICCR:EN = 0) で行って ください。 [bit14] RAL : 受信スレーブアドレス長ビット このビットは , スレーブアドレス長を示します。 このビットは , 10 ビット /7 ビットスレーブアドレスの動作許可ビットが両方許可 (ENTB = 1 かつ ENSB = 1) になっている場合に , 10 ビット , 7 ビットスレーブアド レス動作のどちらの転送長が有効になるかの決定に使用できます。 このビットは AAS ビット (IBSR) が "1" のときに有効です。 このビットはインタフェースの動作を禁止 (ICCR:EN = 0) したときにクリアされま す。 このビットは読出しのみ可能です。 [bit13 ∼ bit10] 予約 : 予約ビット 読出し時は常に "1" が読まれます。 502 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 [bit9 ∼ bit0] TM9 ∼ TM0 : 10 ビットスレーブアドレスマスクビット このビットは10ビットスレーブアドレスレジスタ(ITBA)のビットをマスクします。 このレジスタへの書込みは , I2C インタフェースが動作禁止 (ICCR:EN = 0) のとき 行ってください。 このビットを設定することにより複合 10 ビットスレーブアドレスに対してアクノ リッジを送信することが可能になります。このレジスタを 10 ビットスレーブアド レス比較に使用するときに , このビットを "1" に設定してください。受信したスレー ブアドレスは , ITBA に上書きされます。ASS = 1(IBSR) のときに ITBA レジスタを 読み出すことによって実際の指定されたスレーブアドレスを特定できます。 ITMK の TM9 ∼ TM0 の各ビットが ITBA のアドレスの各ビットに対応しており , TM9 ∼ TM0 の値が "1" のときは ITBA のアドレスが有効になり , "0" のときは無効 になります。 例 : ITBA アドレス 0010010111B ITMK アドレス 1111111100B のとき スレーブアドレスは 0010010100B ∼ 0010010111B の領域になります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 503 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ 16.2.6 MB91461 7 ビットスレーブアドレスレジスタ (ISBA) 7 ビットスレーブアドレスレジスタ (ISBA) のレジスタ構成 , および機能について説 明します。 ■ 7 ビットスレーブアドレスレジスタ (ISBA) 図 16.2-9 に , 7 ビットスレーブアドレスレジスタ (ISBA) のレジスタ構成を示します。 図 16.2-9 7 ビットスレーブアドレスレジスタ (ISBA) のレジスタ構成 ISBA アドレス : 0000D7H, 0000E3H bit 7 6 5 4 3 2 1 0 予約 SA6 SA5 SA4 SA3 SA2 SA1 SA0 リード / ライト − R/W R/W R/W R/W R/W R/W R/W 初期値 − 0 0 0 0 0 0 0 00036FH 7 ビットスレーブアドレスレジスタ (ISBA) への書込みアクセスは , I2C インタフェース が有効でない場合 (ICCR の EN ビットが "0") に行ってください。 [bit7] 予約 : 予約ビット 読出し値は "0" です。 [bit6 ∼ bit0] SA6 ∼ SA0 : スレーブアドレスビット スレーブモードでスレーブアドレスを受信したとき , 7 ビットスレーブアドレスが 許可 (ENSB = 1:ISMK) されていると , 受信スレーブアドレスと ISBA の比較を行い ます。スレーブアドレス一致が検出されると , マスタに対してアクノリッジを送信 して AAS ビットを設定します。 I2C インタフェースは , 再起動条件の後に 7 ビットリードアクセスのアドレスヘッ ダの受信にアクノリッジを返します。 スレーブアドレスの全ビットは , ISMK の設定によりマスクされます。受信スレー ブアドレスは , ISBA レジスタに上書きされます。このレジスタが有効なのは , AAS (IBSR レジスタ ) が "1" のときのみです。 I2C インタフェースは , 10 ビットスレーブアドレス指定 , またはゼネラルコールが 受信されたとき , ISBA と受信スレーブアドレスとの比較を行いません。 504 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.2 I C インタフェースのレジスタ MB91461 2 7 ビットスレーブアドレスマスクレジスタ (ISMK) 16.2.7 7 ビットスレーブアドレスマスクレジスタ (ISMK) には , 7 ビットスレーブアドレス マスクと 7 ビットスレーブアドレス許可ビットがあります。 ■ 7 ビットスレーブアドレスマスクレジスタ (ISMK) 図 16.2-10 に , 7 ビットスレーブアドレスマスクレジスタ (ISMK) のレジスタ構成を示し ます。 図 16.2-10 7 ビットスレーブアドレスマスクレジスタ (ISMK) のレジスタ構成 ISMK アドレス : 0000D6H, 0000E2H bit 15 00036EH ENSB 14 13 12 11 10 9 8 SM6 SM5 SM4 SM3 SM2 SM1 SM0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 1 1 1 1 1 1 1 7 ビットスレーブアドレスマスクレジスタ (ISMK) への書込みアクセスは , I2C インタ フェースが有効でない場合 (ICCR の EN ビットが "0") に行ってください。 [bit15] ENSB : 7 ビットスレーブアドレス許可ビット 7 ビットスレーブアドレス動作許可ビットです。 [bit14 ∼ bit8] SM6 ∼ SM0 : 7 ビットスレーブアドレスマスクビット このビットは 7 ビットスレーブアドレスレジスタ (ISBA) のビットをマスクします。 このビットを設定することにより , 複合 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-10159-2 FUJITSU MICROELECTRONICS LIMITED 505 第 16 章 I2C インタフェース 16.2 I2C インタフェースのレジスタ 16.2.8 MB91461 データレジスタ (IDAR) データレジスタ (IDAR) について説明します。 ■ データレジスタ (IDAR) 図 16.2-11 に , データレジスタ (IDAR) のレジスタ構成を示します。 図 16.2-11 データレジスタ (IDAR) のレジスタ構成 IDAR アドレス : 0000D9H, 0000E5H bit 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 000371H [bit7 ∼ bit0] D7 ∼ D0 : データビット シリアル転送に使用されるデータレジスタであり , MSB から転送されます。 このレジスタの書込み側はダブルバッファになっており , バスが使用中 (BB = 1) で ある場合 , 書込みデータはシリアル転送用のレジスタにロードされます。INT ビッ ト (IBCR) がクリアされるか , バスがアイドル状態 (BSR:IBB = 0) のときに転送デー タは内部転送レジスタにロードされます。 読出し時はシリアル転送用のレジスタを直接読み出すため , 本レジスタの受信デー タは INT ビット (IBCR) が設定されている場合のみ有効です。 506 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.3 I C インタフェースの動作説明 MB91461 16.3 2 I2C インタフェースの動作説明 I2C バスは , 1 本のシリアルデータライン (SDA) と 1 本のシリアルクロックライン (SCL) の 2 本の双方向バスラインにより転送が行われます。 I2C インタフェースはそれに対して 2 本のオープンドレイン入出力端子 (SDA, SCL) を有し , ワイヤード論理を可能にします。 ■ 起動条件 バスが開放されている状態 (BB = 0, MSS = 0) で MSS ビットに "1" を書き込むと , I2C インタフェースはマスタモードとなり , 起動条件を発生します。そのとき , スレーブア ドレスとして IDAR レジスタの値を送信します。 バスマスタモードで割込みフラグが設定されているとき(IBCR:MSS=1, INT=1), SCC ビットに "1" を書き込むことで , 再起動条件が生成されます。 バス使用時 (BB = 1, IBSR:TRX = 0, MSS = 0 または IBCR:INT = 0) に , MSS ビット に "1" を書き込むとバスが開放され , 送信が開始されます。 スレーブモード時にライト ( 受信 ) アクセスされると , 転送が終了してバスが開放され た後 , 送信を開始します。そのとき , インタフェースがデータ送信中であれば , バスが 開放されても送信しません。 インタフェースは , 次のことをチェックする必要があります。 • スレーブとして指定された (IBCR:MSS = 0, IBSR:AAS = 1) かどうか • 次の割込みで , データバイトを正常に送れた (IBSR:AL = 1) かどうか ■ 停止条件 マスタモード (MSS = 1, IBCR:INT = 1) 時に , MSS ビットに "0" を書き込むと , 停止条 件を発生してスレーブモードになります。ほかの条件での , MSS への "0" 書込みは無 視されます。 MSS ビットがクリアされた後 , 停止条件を生成しようとします。停止条件を生成する 前に , SCL ラインが "L" にドライブされているときは生成されません。次のバイトが転 送された後に割込みが生成されます。 <注意事項> MSS ビットに "0" を書き込んでから停止条件を発生するまでに時間を要します。起動条件 を発生前に I2C インタフェースを動作禁止 (ICCR:EN = 0) にすると , 直ちに動作が停止し て SCL ラインに不正クロックが発生します。I2C インタフェースを動作禁止する際には , 起動条件の発生を確認 (IBSR:BB = 0) した後 , 動作を禁止 (ICCR:EN = 0) してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 507 第 16 章 I2C インタフェース 16.3 I2C インタフェースの動作説明 MB91461 ■ スレーブアドレス検出 スレーブモードでは , 起動条件発生後 , 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 ビットによって決定します。マスタモード時は , 両方の動作を禁止 (ISMK:ENSB = 0, ITMK:ENTB = 0) することにより , I2C インタフェースにスレーブアドレスを生 成しないことが可能です。 全スレーブアドレスは , ITMK, ISMK レジスタを設定することによりマスクできま す。 508 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.3 I C インタフェースの動作説明 MB91461 2 ■ スレーブアドレスマスク スレーブアドレスマスクレジスタ (ITMK, ISMK) は , スレーブアドレスレジスタの各 ビットに対してマスクすることができます。マスクレジスタに "1" を設定したビット はアドレス比較を行いますが , "0" に設定されているビットは無視されます。スレーブ モード (IBSR:AAS = 1) 時 , 受信スレーブアドレスは , ITBA (10 ビットアドレス時 ) , ISBA (7 ビットアドレス時 ) レジスタから読み出せます。 ビットマスクがクリアされていると , 常にスレーブとしてアクセスされるので , バスの モニタとして使用できます。 <注意事項> ほかのスレーブデバイスがない場合でも , スレーブアドレスを受信するとアクノリッジを 返すので , この機能はリアルバスモニタとはなりません。 ■ スレーブアドレッシング マスタモードでは , 起動条件発生後 , BB = 1, TRX = 1 を設定して IDAR レジスタの内 容を MSB ファーストから出力します。アドレスデータ送信後 , スレーブからアクノ リッジを受信すると , 送信データの bit0 ( 送信後の IDAR レジスタの bit0) を反転して TRX ビットへ格納します。この動作は , 再起動条件でも実行されます。 10 ビットスレーブアドレス書込みのために , 2 バイト送信します。第 1 バイトは , 10 ビットシーケンスを示すヘッダ "11110A9A80" であり , 続いて , 第 2 バイトでスレー ブアドレスの下位 8 ビット (A7 ∼ A0) を送信します。 10ビットスレーブアドレス読出しは上記のバイトを送信し, 再起動条件とともに, リー ドアクセスを示すヘッダ "11110A9A81" を生成します。 ■ アービトレーション マスタ送信時に , ほかのマスタも同時にデータを送信している場合 , アービトレーショ ンが起こります。自身の送信データが "1", SDA ライン上のデータが "L" レベルの場合 , 自身はアービトレーションを失ったと見なして AL = 1 に設定します。 インタフェースがデータの最初のビットで不要な起動条件を検出されるか , 起動条件 または停止条件の生成が失敗した場合に AL = 1 が設定されます。 アービトレーションロストが発生すると MSS = 0, TRX = 0 となり , スレーブ受信モー ドとなり , 自身のスレーブアドレスを受信するとアクノリッジを返します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 509 第 16 章 I2C インタフェース 16.3 I2C インタフェースの動作説明 MB91461 ■ アクノリッジ アクノリッジは , 受信側が送信側に対して送信します。データ受信時は , ACK ビット (IBCR) によって , 受信時にアクノリッジを送信するかどうかを選択することができま す。 スレーブモード時のデータ送信 ( ほかのマスタからのリードアクセス ) に , マスタから アクノリッジがなくても , TRX ビットを "0" に設定して受信モードになります。これ により , マスタはスレーブが SCL ラインを開放したときに , 停止条件を発生すること ができます。 マスタモード時 , LRB ビット (IBSR) を読み出すことにより , アクノリッジがあったか どうかをチェックできます。 ゼネラルコールアドレスを送信した後に , アービトレーションロストが発生した場合 , データ ( 発生したデータを含む ) 受信時にアクノリッジ応答する場合は , ACK ビット と GCAA ビットをともに "1" に設定してください。それ以外の設定では , アクノリッ ジ応答しません。 ■ バスエラー 以下の条件が成立した場合はバスエラーと判断され , I2C インタフェースは停止状態に なります。 • データ転送中 (ACK ビットを含む ) の I2C バスプロトコル違反の検出 • マスタ一時の停止条件検出 • バスアイドル時の I2C バスプロトコル違反の検出 ■ エラーを発生しない通信エラー マスタモード送信時 , SCL ラインにノイズなどで不正クロックが発生すると , I2C イン タフェースの送信ビットカウンタが早く進み , ACK サイクルでスレーブが SDA ライン に "L" を出したまま , ハングアップすることがあります。このようなクロックの不正に 対してエラー (AL = 1, BER = 1) は発生しません。 この場合次の方法でエラー処理をしてください。 • MSS = 1, TRX = 1, INT = 1 のときに LRB = 1 であれば , 通信エラーと判断します。 • ここで , EN = 0 とし , その後 EN = 1 とすることにより , 擬似的に SCL が 1 クロッ ク発生します。 これにより , スレーブにバスを開放させます。 EN = 0 から EN = 1 の期間は , スレーブ側がクロックと認識できる期間 ( 送信ク ロックの "H" 期間と同じ程度 ) としてください。 • 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 時 ) 510 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.3 I C インタフェースの動作説明 MB91461 2 <注意事項> BER が設定されている場合は , EN = 0 ではクリアされません。クリア後 , 再送信してく ださい。 ■ その他 • アービトレーションロストした後 , 自分がアドレッシングされている場合とアドレッ シングされていなかった場合をソフトで判断する必要があります。 アービトレーションロストするとハード的にスレーブになりますが , 1 バイト転送 終了後 , クロックライン , データライン双方を "L" に引っ張ります。このため , アドレッシングされていなければ , 直ちにクロックライン , データラインを開放し , アドレッシングされていた場合には , スレーブ送信またはスレーブ受信の準備をし てからクロックライン , データラインを開放する必要があります ( すべてソフト ウェアにて処理する必要があります ) 。 • I2C バスには 1 つの割込みしかなく , 1 バイト転送終了した時点で , あるいは割込み 条件に該当していた場合 , 割込み要因が発生する仕様になっています。 1 つの割込みで , 複数の割込み条件を判断しなければならないため , 割込みルーチン 内で , 各フラグをチェックする必要があります。1 バイト転送終了時点での割込み 条件を下記に示します。 - バスマスタであった場合 - アドレスされたスレーブであった場合 - ゼネラルコールアドレスを受信した場合 - アービトレーションロストが生じた場合 • アービトレーションロストを検出した場合 , 直ちに割込み要因が発生するのではな く , 1 バイト転送終了した時点で要因が発生します。 アービトレーションロストを検出するとハード的にスレーブになりますが , スレー ブになっても , 割込み要因を発生させるために , トータル 9 クロック出力をします。 そのため , 直ちに割込み要因が発生しないので , アービトレーションロスト後に処 理を行うことはできません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 511 第 16 章 I2C インタフェース 16.4 動作フローチャート 16.4 MB91461 動作フローチャート スレーブアドレスとデータ転送および受信データを例に , 動作フローチャートを示 します。 ■ スレーブアドレスとデータ転送の例 図 16.4-1 に , スレーブアドレスとデータ転送例を示します。 図 16.4-1 スレーブアドレスとデータ転送例 7ビットスレーブアドレッシング 転送データ スタート スタート ライトアクセスの BERビットクリア(セット) スレーブアドレス インタフェース動作許可EN=1 IDAR =S.アドレス ≪1+RW MSS=1 IDAR = バイトデータ INT=0 INT=0 NO NO INT=1? INT=1? YES YES YES YES BER=1? バスエラー BER=1? NO NO YES AL=1? YES AASの検査 により再起動 転送 AL=1? NO AASの検査 により再起動 転送 NO NO ACK? (LRB=0?) NO ACK? (LRB=0?) YES YES データ転送の準備 最終バイト の転送 YES NO 転送終了 転送終 ・スレーブがACKを発生しない, もしくはマスタがACKを受信 できない ・いったんEN=0にして再送信 転送終了 転送終 ・反復「START」条件,「STOP」 条件を発生する ・「STOP」条件発生(BB=0) を確認してEN=0 転送 終了 送信時: ・スレーブがACKを発生 しない,もしくはマスタが ACKを受信できない ・いったんEN=0にして再送信 受信時: ACKなし,反復 「START」条件,「STOP」 条件を発生する 512 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 16 章 I2C インタフェース 16.4 動作フローチャート MB91461 ■ 受信データの例 図 16.4-2 に , 受信データ例を示します。 図 16.4-2 受信データ例 スタート リードアクセスの スレーブアドレス スレーブからの最終リード データならACKビットを クリアする。 INT=0 NO INT=1? YES YES BER=1? バスエラー 再起動 NO NO 最終バイト の転送 YES 転送終了 反復「START」条件,「STOP」条件 を発生する CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 513 第 16 章 I2C インタフェース 16.4 動作フローチャート MB91461 ■ 割込み処理 図 16.4-3 に , 割込み処理を示します。 図 16.4-3 割込み処理 スタート NO INT=1? ほかのモジュール からの受信割込み YES YES バスエラー BER=1? 再起動 NO YES GCA=1? スレーブ時にゼネラル コール検出 NO NO 転送の失敗 AAS=1? YES 再トライを行う YES AL=1? AL=1? YES アービトレーション ロスト再転送 NO NO YES LRB=1? YES スレーブのACKなし 「STOP」条件,反復 「START」条件の生成 ADT=1 NO 次の割込みで 新データ転送開始。 必要であれば ACKビットを変更 NO TRX=1? TRX=1? YES YES NO NO IDARから受信データ を読む。必要であれば ACKビットを変更する IDARに 次の送信 データを 書込む IDARから受信データ を読む。必要であ ればACKビットを 変更する IDARに次の送信 データを書込む またはMSSビット のクリア クリア INT ビット ISR終了 514 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 16 ビットリロードタイマのレジスタの構成と機能 およびタイマの動作について説明します。 17.1 16 ビットリロードタイマの概要 17.2 16 ビットリロードタイマのレジスタ 17.3 16 ビットリロードタイマの動作 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 515 第 17 章 16 ビットリロードタイマ 17.1 16 ビットリロードタイマの概要 MB91461 16 ビットリロードタイマの概要 17.1 16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジス タ , 内部カウント , クロック生成用プリスケーラ , 制御レジスタで構成されています。 ■ 16 ビットリロードタイマ ( 以下 RLT) の概要 16 ビットリロードタイマは , 16 ビットのダウンカウンタ , 16 ビットのリロードレジス タ , 内部カウント , クロック作成用プリスケーラ , 制御レジスタで構成されています。 本製品では 16 ビットリロードタイマを 5 チャネル (RLT0 ∼ RLT3, RLT7) 内蔵し , その うち 1 チャネル (RLT7) は A/D 変換トリガ用として使用可能です。 クロックソースとして内部クロック 3 種類 ( リソースクロックの 2/8/32 分周 ), 外部イ ベントから選択できます (RLT7 のみ外部イベントは選択できません ) 。 ■ 16 ビットリロードタイマのブロックダイヤグラム 図 17.1-1 に 16 ビットリロードタイマのブロックダイヤグラムを示します。 図 17.1-1 16 ビットリロードタイマのブロックダイヤグラム 16ビットリロードレジスタ (TMRLR) リロード R-bus 16ビットダウンカウンタ UF (TMR) RELD OUTL OUT CTL カウント 許可 INTE IRQ UF CNTE TRG クロック セレクタ EXCK プリスケーラ 外部タイマ 出力 CSL1 CSL0 プリスケーラ クリア IN CTL CSL1 CSL0 TOE0~TOE3 外部トリガ 選択 PFRK内ビット 外部トリガ入力 φ 516 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ MB91461 16 ビットリロードタイマのレジスタ 17.2 16 ビットリロードタイマで使用されるレジスタの構成と機能について説明します。 ■ 16 ビットリロードタイマのレジスタ一覧 TMCSR ( 上位 ) アドレス : 0001B6H , 0001BEH bit 15 0001C6H , 0001CEH 予約 14 13 12 11 10 予約 予約 予約 CSL1 CSL0 9 8 MOD2 MOD1 0001EEH リード / ライト − − − − R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 6 5 4 3 2 1 0 予約 OUTL RELD INTE UF CNTE TRG TMCSR ( 下位 ) アドレス : 0001B7H , 0001BFH bit 7 0001C7H , 0001CFH MOD0 0001EFH リード / ライト R/W R R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 TMR アドレス : 0001B2H , 0001BAH bit 15 0001C2H , 0001CAH 0 0001EAH リード / ライト R 初期値 xxxxH TMRLR アドレス : 0001B0H , 0001B8H bit 15 0001C0H , 0001C8H 0 0001E8H CM71-10159-2 リード / ライト W 初期値 xxxxH FUJITSU MICROELECTRONICS LIMITED 517 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ 17.2.1 MB91461 制御ステータスレジスタ (TMCSR) 制御ステータスレジスタ (TMCSR) は 16 ビットリロードタイマの動作モードと割込 みを制御します。 ■ 制御ステータスレジスタ (TMCSR) のビット構成 TMCSR ( 上位 ) アドレス : 0001B6H , 0001BEH bit 15 0001C6H , 0001CEH 予約 14 13 12 11 10 予約 予約 予約 CSL1 CSL0 9 8 MOD2 MOD1 0001EEH リード / ライト − − − − R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 6 5 4 3 2 1 0 予約 OUTL RELD INTE UF CNTE TRG TMCSR ( 下位 ) アドレス : 0001B7H , 0001BFH bit 7 0001C7H , 0001CFH MOD0 0001EFH リード / ライト R/W R R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 [bit15 ∼ bit12] 予約 : 予約ビット 予約ビットです。 読出し値は常に 0000B となります。 [bit11, bit10] CSL1, CSL0 : カウントソース選択ビット カウントソースセレクトビットです。カウントソースは内部クロックと外部イベン トを選択できます。選択可能なカウントソースは以下のとおりです。 なお , RLT7 のみ外部イベントは選択できませんので , CSL1 = CSL0 = 1 以外の値 を設定してください。 518 カウントソース (φ: リソースクロック ) φ = 18MHz φ = 9MHz φ/21[ 初期値 ] 0.11μs 0.22μs 内部クロック φ/23 0.44μs 0.89μs 0 内部クロック φ/25 1.78μs 3.56μs 1 外部イベント − − CSL1 CSL0 0 0 内部クロック 0 1 1 1 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ MB91461 外部イベントをカウントソースに設定した場合のカウント有効エッジは MOD1, MOD0 ビットにより設定されます。 外部クロックに必要な最小パルス幅は 2 × T (T : リソースクロックサイクル ) です。 [bit9 ∼ bit7] MOD2, MOD1, MOD0 : モードビット 動作モードを選択するビットです。カウントソースが「内部クロック」の場合と 「外部クロック」の場合で機能が変わります。 • 内部クロックモードのとき・・・・・リロードトリガ設定 • 外部クロックモードのとき・・・・・カウント有効エッジの設定 また , MOD2 は必ず "0" を設定してください。 【内部クロック選択時のリロードトリガ設定】 カウントソースとして , 内部クロックが選択されている場合は MOD2 ∼ MOD0 ビッ トの設定により有効エッジが入力されると , リロードレジスタの内容をロードして カウント動作を継続します。 なお , RLT7 のみ外部トリガ入力端子が存在しませんので , 常に MOD2 ∼ MOD0 = 000B ( ソフトウェアトリガ ) を設定してください。 MOD2 MOD1 MOD0 0 0 0 ソフトウェアトリガ [ 初期値 ] 0 0 1 外部トリガ ( 立上りエッジ ) 0 1 0 外部トリガ ( 立下りエッジ ) 0 1 1 外部トリガ ( 両エッジ ) 1 X X 設定禁止 有効エッジ 【外部クロック選択時の有効エッジ設定】 カウントソースとして , 外部クロックイベントが設定されている場合は MOD2 ∼ MOD0 ビットの設定により有効エッジが入力されるとイベントをカウントします。 MOD2 MOD1 MOD0 X 0 0 - [ 初期値 ] X 0 1 外部トリガ ( 立上りエッジ ) X 1 0 外部トリガ ( 立下りエッジ ) X 1 1 外部トリガ ( 両エッジ ) 有効エッジ 外部イベント時のリロードは , アンダフローとソフトウェアトリガで発生します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 519 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ MB91461 [bit6] 予約 : 予約ビット 予約ビットです。 読出し値は常に "0" となります。 [bit5] OUTL : 出力レベル 外部タイマ出力レベルを設定するビットです。本ビットが "0" のときと "1" のとき では出力レベルが逆になります。 なお , RLT7 には外部出力端子は存在しませんが , RLT7 のタイマ出力は A/D コン バータに接続されています。RLT7 を A/D 変換トリガとして選択した場合 , A/D コ ンバータはタイマ出力の立上りエッジをトリガとして変換を開始しますので , 後述 する注意事項を参照してください。 [bit4] RELD : リロード許可ビット リロード許可ビットです。"1" のときにリロードモードになり , カウンタの値が 0000H → FFFFH へのアンダフローと同時にリロードレジスタの内容をカウンタへロードし てカウント動作を続けます。 "0" のときにワンショットモードになり , カウンタの値が 0000H → FFFFH へのアン ダフローによりカウント動作を停止します。 PFRxy OUTL RELD 0 X X 出力禁止 [ 初期状態 ] 0 カウント中 "H" の矩形波 • カウント停止時 : "L" 出力 • カウント中 : "H" 出力 • アンダフロー時 : "L" 出力 1 カウントスタート時 "L" のトグル出力 • カウント停止時 : "L" 出力 • カウント開始後 : "L" 出力 → アンダフローごとにトグル出力 0 カウント中 "L" の矩形波 • カウント停止時 : "H" 出力 • カウント中 : "L" 出力 • アンダフロー時 : "H" 出力 1 カウントスタート時 "H" のトグル出力 • カウント停止時 : "H" 出力 • カウント開始後 : "H" 出力 → アンダフローごとにトグル出力 1 1 1 1 0 0 1 1 出力波形 PFRxy は対応する端子の PFR レジスタ値を意味します。 520 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ MB91461 [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 の時には何も起こりません。 <注意事項> • UF, CNTE, TRG ビット以外の書換えは , CNTE = 0 のときに行うようにしてください。 • OUTL ビットの設定と , CNTE, TRG との設定は同時に行わないでください。 また , RLT7 を A/D 変換トリガとして選択した場合 , A/D コンバータはタイマ出力の立 上りエッジをトリガとして変換を開始しますので , OUTL ビットの設定と A/D コンバー タのレジスタ設定順序によっては , 意図しないタイミングで A/D 変換が開始する恐れ があります。 例えば , RLT7 のワンショットモードでカウンタアンダフロー時に A/D 変換起動を行う 場合は , 以下の順序にて設定を行ってください。 OUTL ビット設定 (TMCSR の OUTL 設定 ) → A/D 変換トリガ選択設定 (ADCS1 の STS1, STS0 設定 ) → RLT7 カウント開始 (TMCSR の CNTE, TRG 設定 ) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 521 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ 17.2.2 MB91461 16 ビットタイマレジスタ (TMR) 16 ビットタイマレジスタ (TMR) は 16 ビットタイマのカウント値を読み出すために 使用されます。 ■ 16 ビットタイマレジスタ (TMR) のビット構成 図 17.2-1 16 ビットタイマレジスタ (TMR) のビット構成 TMR アドレス : 0001B2H , 0001BAH bit 15 0001C2H , 0001CAH 0 0001EAH リード / ライト R 初期値 xxxxH 16 ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定で す。本レジスタの読出しは必ず 16 ビットデータ転送命令で行ってください。 522 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 17.2 16 ビットリロードタイマのレジスタ MB91461 17.2.3 16 ビットリロードレジスタ (TMRLR) 16 ビットリロードレジスタ (TMRLR) はカウンタの初期値を保持するためのレジス タです。 ■ 16 ビットリロードレジスタ (TMRLR) のビット構成 図 17.2-2 16 ビットリロードレジスタ (TMRLR) のビット構成 TMRLR アドレス : 0001B0H , 0001B8H bit 15 0001C0H , 0001C8H 0 0001E8H リード / ライト W 初期値 xxxxH 本レジスタは , カウントの初期値を保持しておくためのレジスタです。初期値は不定で す。本レジスタの読出しは必ず 16 ビットデータ転送命令で行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 523 第 17 章 16 ビットリロードタイマ 17.3 16 ビットリロードタイマの動作 17.3 MB91461 16 ビットリロードタイマの動作 16 ビットリロードタイマの下記の動作について説明します。 • 内部クロック動作 • アンダフロー動作 • 出力端子機能 ■ 内部クロック動作 内部クロックの分周クロックでタイマを動作させる場合 , カウントソースとしてリ ソースクロックの 2・8・32 分周のクロックから選択することができます。 カウント許可と同時にカウント動作を開始したい場合は , 制御ステータスレジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。 TRG ビットによるトリガ入力は , タイマが起動状態 (CNTE = 1) のときは動作モード にかかわらず常に有効です。 カウンタスタートにトリガが入力されてからリロードレジスタのデータがカウンタへ ロードされるまでに T ( リソースクロックマシンサイクル ) の時間がかかります。 図 17.3-1 カウンタの起動および動作 カウントクロック リロードデータ カウンタ -1 -1 -1 データロード CNTEレジスタ TRGレジスタ T 524 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 17.3 16 ビットリロードタイマの動作 MB91461 ■ アンダフロー動作 カウンタの値が 0000H から FFFFH になるときをアンダフローとしています。したがっ て , 〔リロードレジスタの設定値+ 1〕カウントでアンダフローが発生します。 アンダフロー発生時 , 制御レジスタの RELD ビットが "1" のときにリロードレジスタの 内容をカウンタへロードしてカウント動作を継続します。RELD ビットが "0" のときに カウンタは FFFFH で停止します。 図 17.3-2 アンダフロー動作 [RELD=1] カウントクロック カウンタ 0000H リロードデータ -1 -1 -1 データロード アンダフローセット [RELD=0] カウントクロック カウンタ 0000H FFFFH アンダフローセット CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 525 第 17 章 16 ビットリロードタイマ 17.3 16 ビットリロードタイマの動作 MB91461 ■ 出力端子機能 TOT 出力端子は , リロードモード時はアンダフローにより反転するトグル出力として , ワンショットモード時はカウント中を示すパルス出力として機能します。出力極性は レジスタの OUTL ビットにより設定できます。OUTL = 0 のときにトグル出力は , 初 期値が "0" で , ワンショットパルス出力はカウント中に "1" を出力します。OUTL = 1 にすると出力波形は反転します。 図 17.3-3 出力端子機能 [RELD = 1, OUTL = 0] カウント開始 アンダフロー OUTL=1のときは反転 TOT0~TOT3 汎用ポート CNTE 起動トリガ 図 17.3-4 出力端子機能 [RELD = 0, OUTL = 0] カウント開始 アンダフロー TOT0~TOT3 CNTE OUTL=1で反転 汎用ポート 起動トリガ 起動トリガ待ち状態 526 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 17 章 16 ビットリロードタイマ 17.3 16 ビットリロードタイマの動作 MB91461 ■ カウンタの動作状態 カウンタの状態は , 制御レジスタの CNTE ビットと内部信号の WAIT 信号によって決 まります。設定可能な状態として CNTE = 0, WAIT = 1 の停止状態 (STOP 状態 ) , CNTE = 1, WAIT = 1 の起動トリガ待ち状態 (WAIT 状態 ) , CNTE = 1, WAIT = 0 の動 作状態 (RUN 状態 ) があります。 図 17.3-5 カウンタ状態遷移 ハードウェアによる状態遷移 リセット リセッ レジスタアクセスによる状態遷移 STOP STO CNTE=0,WAIT=1 カウンタ: 停止時の値を保持 リセット直後は不定 CNTE=1 TRG=0 WAIT WAI CNTE=1 TRG=1 CNTE=1,WAIT=1 カウンタ: 停止時の値を保持 リセット直後リロードする までは不定 TRG=1 CNTE=1,WAIT=0 RUN RU RELD・UF カウンタ:動作 TRG=1 RELD・UF LOAD LOA CNTE=1,WAIT=0 リロードレジスタの内容を カウンタへロード ロード終了 ■ 注意事項 • 内部プリスケーラは , 制御ステータスレジスタの bit1 ( タイマ許可 : CNTE) が "1" に 設定されている状態でトリガ ( ソフトウェアトリガ , あるいは外部トリガ ) がかけら れることにより動作可能になります。 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合にはフラ グセットが優先し , クリア動作は無効になります。 • 16 ビットタイマリロードレジスタへの書込みと , リロードのタイミングが重なった 場合には , 旧データがカウンタにロードされ , 新データがカウンタにロードされる のは次のリロードのタイミングとなります。 • 16 ビットタイマレジスタはロードとカウントのタイミングが重複した場合には , ロード ( リロード ) 動作が優先されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 527 第 17 章 16 ビットリロードタイマ 17.3 16 ビットリロードタイマの動作 MB91461 528 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 第 18 章 16 ビットフリーランタイマ 16 ビットフリーランタイマの機能と動作について 説明します。 18.1 16 ビットフリーランタイマの概要 18.2 16 ビットフリーランタイマのレジスタ 18.3 16 ビットフリーランタイマの動作 18.4 16 ビットフリーランタイマ使用上の注意 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 529 第 18 章 16 ビットフリーランタイマ 18.1 16 ビットフリーランタイマの概要 18.1 MB91461 16 ビットフリーランタイマの概要 16 ビットフリーランタイマは , 16 ビットのタイマ ( アップカウンタ ) と制御回路で 構成されています。16 ビットフリーランタイマはインプットキャプチャ , アウト プットコンペアと組み合せて使用することができます。 ■ 16 ビットフリーランタイマの概要 16 ビットフリーランタイマは 16 ビットのアップカウンタ , 制御ステータスレジスタよ り構成されています。本タイマのカウント値はアウトプットコンペア , インプットキャ プチャの基本時間 ( ベースタイマ ) として使用されます。 • カウントクロックは 4 種類から選択可能 • カウンタオーバフローによる割込み発生 • モード設定により , アウトプットコンペアのコンペアレジスタの値との一致による カウンタの初期化が可能 • フリーランタイマとインプットキャプチャ , アウトプットコンペアユニットは以下 の組合せで協調動作を行います。 - フリーランタイマ 0 とインプットキャプチャ 0, 1 - フリーランタイマ 1 とインプットキャプチャ 2, 3 - フリーランタイマ 2 とアウトプットコンペア 0, 1 - フリーランタイマ 3 とアウトプットコンペア 2, 3 530 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 18 章 16 ビットフリーランタイマ 18.1 16 ビットフリーランタイマの概要 MB91461 ■ 16 ビットフリーランタイマのブロックダイヤグラム 図 18.1-1 16 ビットフリーランタイマのブロックダイヤグラム 割込み ECLK IVF IVFE STOP MODE CLR CLK1 CLK0 分周期 φ R-bus FRCK クロック選択 16ビットフリーランタイマ (TCDT) クロック 内部回路へ(T15~T00) コンパレータ CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 531 第 18 章 16 ビットフリーランタイマ 18.2 16 ビットフリーランタイマのレジスタ 18.2 MB91461 16 ビットフリーランタイマのレジスタ 16 ビットフリーランタイマのレジスタについて説明します。 ■ 16 ビットフリーランタイマのレジスタ一覧 図 18.2-1 16 ビットフリーランタイマのレジスタ一覧 TCDT ( 上位 ) bit 15 14 13 12 11 10 9 8 T15 T14 T13 T12 T11 T10 T09 T08 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 T07 T06 T05 T04 T03 T02 T01 T00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 IVF IVFE CLR CLK1 CLK0 アドレス : 0001F0H , 0001F4H 0001F8H , 0001FCH TCDT ( 下位 ) アドレス : 0001F1H , 0001F5H 0001F9H , 0001FDH TCCS アドレス : 0001F3H , 0001F7H ECLK 0001FBH , 0001FFH 532 STOP MODE リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 x 0 0 0 0 0 0 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 18 章 16 ビットフリーランタイマ 18.2 16 ビットフリーランタイマのレジスタ MB91461 タイマデータレジスタ (TCDT) 18.2.1 タイマデータレジスタは , 16 ビットフリーランタイマのカウント値を読み出すこと ができるレジスタです。 ■ タイマデータレジスタ (TCDT) 図 18.2-2 タイマデータレジスタ (TCDT) のビット構成 TCDT ( 上位 ) bit 15 14 13 12 11 10 9 8 T15 T14 T13 T12 T11 T10 T09 T08 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 00 T07 T06 T05 T04 T03 T02 T01 T00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 アドレス : 0001F0H , 0001F4H 0001F8H , 0001FCH TCDT ( 下位 ) アドレス : 0001F1H , 0001F5H 0001F9H , 0001FDH タイマデータレジスタのカウンタ値は , リセット時に 0000H に初期化されます。この レジスタへの書込みによりタイマ値を設定することができます。 このレジスタへの書込みは , 必ず 16 ビットフリーランタイマが停止 (TCCS レジスタの STOP = 1) 時に行ってください。 タイマの初期化は次の要因で行われます。 • リセットによる初期化 • タイマ制御ステータスレジスタの CLR ビットへの "1" 書込みによる初期化 • アウトプットコンペアのコンペアクリアレジスタ値とカウンタ値の一致による初 期化 ( モード設定が必要 ) <注意事項> このレジスタへのアクセスは , ハーフワード (16 ビット ) で行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 533 第 18 章 16 ビットフリーランタイマ 18.2 16 ビットフリーランタイマのレジスタ MB91461 タイマ制御ステータスレジスタ 18.2.2 タイマ制御ステータスレジスタは , 16 ビットフリーランタイマのカウント値を制御 するために使用されます。 ■ タイマ制御ステータスレジスタ (TCCS) 図 18.2-3 タイマ制御ステータスレジスタ (TCCS) のビット構成 TCCS bit 7 アドレス : 0001F3H , 0001F7H ECLK 0001FBH , 0001FFH 6 5 IVF IVFE 4 3 STOP MODE 2 1 0 CLR CLK1 CLK0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 x 0 0 0 0 0 0 [bit7] ECLK : クロック選択ビット 16 ビットフリーランタイマのカウントクロックソースとして , 内部クロックまたは 外部クロックを選択するビットです。クロックソースの選択は , アウトプットコン ペア , インプットキャプチャが停止状態で行ってください。 ECLK クロック選択 0 内部クロックソース (CLKP) を選択 [ 初期値 ] 1 外部端子 (FRCK) を選択 <注意事項> 内部クロックを選択した場合は , TCDT レジスタの bit1, bit0 (CLK1, CLK0) にカウントク ロックの設定を行ってください。このカウントクロックがベースクロックとなります。 外部クロックに必要な最低パルス幅は , 2 × T です (T: 周辺系クロックサイクル ) 。 外部クロックを指定してアウトプットコンペアを使用した場合 , コンペア一致および割込 みは次のクロックサイクルで発生します。そのため , コンペア一致出力 , 割込みを発生さ せるためには , コンペア一致後 , 最低 1 クロックサイクルを入力する必要があります。 534 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 18 章 16 ビットフリーランタイマ 18.2 16 ビットフリーランタイマのレジスタ MB91461 [bit6] IVF : 割込み要求フラグ 16 ビットフリーランタイマの割込み要求フラグです。 16 ビットフリーランタイマがオーバフローを起こした場合 , またはモード設定によ りコンペアレジスタとコンペア一致した場合に本ビットは "1" に設定されます。 割込み要求許可ビット (IVFE) が設定されていると割込みが発生します。 本ビットは "0" 書込みによりクリアされます。リードモディファイライト (RMW) 系命令では常に "1" が読み出されます。 IVF 割込み要求フラグ 0 割込み要求なし 1 割込み要求あり <注意事項> IVF ビットはリセット解除直後の初期値は "0" ですが , リセット解除後はタイマカウンタ が自動的にカウント動作を行うため , オーバフロー発生後であれば IVF ビットのリード初 期値は "1" になります。 [bit5] IVFE : 割込み許可ビット 16 ビットフリーランタイマの割込み許可ビットです。 本ビットが"1"のとき, 割込みフラグ(IVF)に"1"が設定されると割込みが発生します。 IVFE 割込み許可 0 割込み禁止 [ 初期値 ] 1 割込み許可 [bit4] STOP : 停止ビット 16 ビットフリーランタイマのカウントを停止するためのビットです。 STOP カウント動作 0 カウント許可 ( 動作 ) [ 初期値 ] 1 カウント禁止 ( 停止 ) <注意事項> 16 ビットフリーランタイマが停止すると , アウトプットコンペア動作も停止します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 535 第 18 章 16 ビットフリーランタイマ 18.2 16 ビットフリーランタイマのレジスタ MB91461 [bit3] MODE : モード設定ビット 16 ビットフリーランタイマの初期化条件を設定します。 本ビットが "0" のときは , リセットとクリアビット (bit2 : CLR) でカウンタ値を初期 化することができます。 "1" のときは , リセットとクリアビット (bit2 : CLR) のほかにアウトプットコンペア のコンペアレジスタ値との一致によりカウンタ値を初期化することができます。 MODE タイマ初期化条件 0 リセット , クリアビット [ 初期値 ] 1 リセット , クリアビット , コンペアレジスタ [bit2] CLR : タイマクリアビット 動作中の 16 ビットフリーランタイマ値を 0000H に初期化するためのビットです。 本ビットに "1" を書き込むことにより , タイマ値を 0000H に初期化します。 本ビットの読出しは常に "0" となります。 <注意事項> カウンタ値の初期化は , カウント値の変化点で行われます。CLR ビットへ "1" 書込み後 , カウンタがクリアされる前に "0" を書き込むとカウンタクリア要求は取り下げられます。 タイマ停止中に初期化する場合は , データレジスタに 0000H を書き込んでください。 [bit1, bit0] CLK1, CLK0 : カウントクロック選択ビット 16 ビットフリーランタイマのカウントクロックを選択するビットです。 本ビットに書き込んだ後 , 直ちにカウントクロックは変更されます。本ビットの変更 は , アウトプットコンペア , インプットキャプチャが停止状態にて行ってください。 CLK1 CLK0 カウントクロック (φ) φ = 18MHz φ = 9MHz 0 0 φ/22 0.22μs 0.44μs 0 1 φ/24 0.89μs 1.78μs 1 0 φ/25 1.78μs 3.56μs 1 1 φ/26 3.56μs 7.11μs φ: リソースクロック (CLKP) 536 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 18 章 16 ビットフリーランタイマ 18.3 16 ビットフリーランタイマの動作 MB91461 18.3 16 ビットフリーランタイマの動作 16 ビットフリーランタイマは , リセット解除後にカウンタ値 0000H よりカウントを 開始します。このカウンタ値が , 16 ビットアウトプットコンペアと 16 ビットイン プットキャプチャの基準時間となります。 ■ 16 ビットフリーランタイマの動作説明 カウンタ値は次の条件でクリアされます。 • オーバフローの発生 • コンペアクリアレジスタ ( アウトプットコンペアのコンペアレジスタ ) 値とのコン ペア一致 ( モード設定が必要 ) • 動作中での TCCS レジスタの CLR ビットに "1" 書込み • タイマ停止中での TCDT への 0000H 書込み • リセットの発生 割込みはオーバフローが発生したときにコンペアクリアレジスタの値とコンペア一致し てカウンタがクリアされたときに発生します ( コンペア一致割込みは , モード設定が必 要です )。 図 18.3-1 オーバフローによるカウンタクリア カウンタ 値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット 割込み CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 537 第 18 章 16 ビットフリーランタイマ 18.3 16 ビットフリーランタイマの動作 MB91461 図 18.3-2 コンペアクリアレジスタ値とコンペア一致したときのカウンタクリア カウンタ値 FFFFH 一致 BFFFH 一致 7FFFH 3FFFH 0000H 時間 リセット コンペアレジスタ BFFFH 割込み ■ 16 ビットフリーランタイマのクリアタイミング カウンタクリアは , リセット , ソフトウェア , コンペアクリアレジスタとの一致で行わ れます。 リセットとソフトウェアでのカウンタクリアは , クリア発生とともに行われますが , コ ンペアクリアレジスタとの一致によるカウンタクリアはカウントタイミングに同期し て行われます。 図 18.3-3 16 ビットフリーランタイマのクリアタイミング コンペアクリア レジスタ値 N カウンタクリア カウンタ値 N 0000H ■ 16 ビットフリーランタイマのカウントタイミング 16 ビットフリーランタイマは , 入力されたクロック ( 内部または外部クロック ) により カウントアップされます。外部クロック選択時は , 外部クロックの立下りエッジ↓をシ ステムクロックで同期化した後 , 内部カウントクロックの立下りでカウントされます。 図 18.3-4 16 ビットフリーランタイマのカウントタイミング 外部クロック入力 内部クロック カウンタ値 538 N FUJITSU MICROELECTRONICS LIMITED N+1 CM71-10159-2 第 18 章 16 ビットフリーランタイマ 18.4 16 ビットフリーランタイマ使用上の注意 MB91461 18.4 16 ビットフリーランタイマ使用上の注意 16 ビットフリーランタイマ使用上の注意を説明します。 ■ 16 ビットフリーランタイマ使用上の注意 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合には , フラ グセットが優先するためクリア動作は無効となります。 • 制御ステータスレジスタの bit2 ( カウンタ初期化ビット : CLR) は "1" が書き込まれ ると , 内部カウンタをクリアするタイミングまで値を保持し , そのタイミングで自 身もクリアします。クリアタイミングと "1" の書込みが重複した場合には , 書込み が優先してカウンタ初期化ビットは次のクリアタイミングまで "1" を保持し続けま す。 • カウンタクリア動作は , 内部カウンタが動作中 ( 内部プリスケーラも動作中 ) のみ有 効となります。停止中にカウンタをクリアする場合は , タイマカウントデータレジ スタに 0000H を書き込むようにしてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 539 第 18 章 16 ビットフリーランタイマ 18.4 16 ビットフリーランタイマ使用上の注意 MB91461 540 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 第 19 章 インプットキャプチャ インプットキャプチャの機能と動作について説明 します。 19.1 インプットキャプチャの概要 19.2 インプットキャプチャのレジスタ 19.3 インプットキャプチャの動作 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 541 第 19 章 インプットキャプチャ 19.1 インプットキャプチャの概要 MB91461 インプットキャプチャの概要 19.1 インプットキャプチャには外部から入力された信号の立上りエッジ , 立下りエッジ または両エッジを検出して , そのときの 16 ビットフリーランタイマ値をレジスタに 保持する機能があります。また , エッジ検出時に割込みを発生することができます。 インプットキャプチャは , インプットキャプチャデータレジスタ , 制御レジスタで構 成されています。 ■ インプットキャプチャの概要 各インプットキャプチャには , それぞれに対応した外部入力端子があります。 • 外部入力の有効エッジを 3 種類から選択可能です。 - 立上りエッジ - 立下りエッジ - 両エッジ • 外部入力有効エッジを検出したときに割込みを発生することができます。 • フリーランタイマとインプットキャプチャは以下の組合せで協調動作を行います。 - フリーランタイマ 0 とインプットキャプチャ 0, 1 - フリーランタイマ 1 とインプットキャプチャ 2, 3 ■ インプットキャプチャのブロックダイヤグラム 16ビットタイマカウント値(T15~T00) R-bus キャプチャデータレジスタch.0 IN0 入力端子 エッジ検出 EG11 EG10 EG01 EG00 16ビットタイマカウント値(T15~T00) キャプチャデータレジスタch.1 ICP1 IN1 入力端子 エッジ検出 ICP0 ICE1 ICE0 割込み 割込み 542 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 19 章 インプットキャプチャ 19.2 インプットキャプチャのレジスタ MB91461 19.2 インプットキャプチャのレジスタ インプットキャプチャには下記のレジスタがあります。 • インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) • インプットキャプチャ制御レジスタ (ICS01,ICS23) これらのレジスタの詳細を説明します。 ■ インプットキャプチャのレジスタ一覧 図 19.2-1 インプットキャプチャのレジスタ一覧 IPCP ( 上位 ) bit 15 アドレス IPCP0:000184H CP15 IPCP1:000186H IPCP2:000188H IPCP3:00018AH 14 13 12 11 10 9 8 CP14 CP13 CP12 CP11 CP10 CP09 CP08 リード / ライト R R R R R R R R 初期値 X X X X X X X X 6 5 4 3 2 1 0 CP06 CP05 CP04 CP03 CP02 CP01 CP00 IPCP ( 下位 ) bit 7 アドレス IPCP0:000185H CP07 IPCP1:000187H IPCP2:000189H IPCP3:00018BH リード / ライト R R R R R R R R 初期値 X X X X X X X X ICS CM71-10159-2 bit 7 アドレス ICS01:000181H ICP1 ICS23:000183H 6 5 4 3 2 1 0 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 FUJITSU MICROELECTRONICS LIMITED 543 第 19 章 インプットキャプチャ 19.2 インプットキャプチャのレジスタ MB91461 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) 19.2.1 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) は , 対応した外部端子から入力さ れる波形の有効エッジを検出したとき , 16 ビットフリーランタイマ値を保持するレジ スタです。 ■ インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成 図 19.2-2 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成 IPCP ( 上位 ) bit 15 アドレス IPCP0:000184H CP15 IPCP1:000186H IPCP2:000188H IPCP3:00018AH 14 13 12 11 10 9 8 CP14 CP13 CP12 CP11 CP10 CP09 CP08 リード / ライト R R R R R R R R 初期値 X X X X X X X X 6 5 4 3 2 1 0 CP06 CP05 CP04 CP03 CP02 CP01 CP00 IPCP ( 下位 ) bit 7 アドレス IPCP0:000185H CP07 IPCP1:000187H IPCP2:000189H IPCP3:00018BH リード / ライト R R R R R R R R 初期値 X X X X X X X X 本レジスタは , 対応した外部端子から入力される波形の有効エッジを検出したとき , 16 ビットフリーランタイマ値を保持するレジスタです。リセット時は不定です。 このレジスタは 16 ビットデータまたは 32 ビットデータでアクセスしてください。書 込みはできません。 544 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 19 章 インプットキャプチャ 19.2 インプットキャプチャのレジスタ MB91461 19.2.2 インプットキャプチャ制御レジスタ (ICS01,ICS23) インプットキャプチャ制御レジスタ (ICS01,ICS23) は , インプットキャプチャの割 込みやエッジ検出を制御するために使用します。 ■ インプットキャプチャレジスタ (ICS01,ICS23) のビット構成 図 19.2-3 インプットキャプチャレジスタ (ICS01,ICS23) のビット構成 ICS bit 7 アドレス ICS01:000181H ICP1 ICS23:000183H 6 5 4 3 2 1 0 ICP0 ICE1 ICE0 EG11 EG10 EG01 EG00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 [bit7, bit6] ICP1, ICP0 : 割込みフラグ インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出すると 本ビットを "1" に設定します。割込み許可ビット (ICE3 ∼ ICE0) が設定されている と , 有効エッジを検出することにより割込みを発生することができます。本ビット は "0" 書込みによりクリアされます。"1" 書込みは意味がありません。リードモディ ファイライト (RMW) 系命令では "1" が読めます。 ICP0/ICP1 割込みフラグ 0 有効エッジ検出なし [ 初期値 ] 1 有効エッジ検出あり [bit5, bit4] ICE1, ICE0 : 割込み許可ビット インプットキャプチャ割込み許可ビットです。本ビットが "1" のとき , 割込みフラ グ (ICP1, ICP0) が "1" に設定されるとインプットキャプチャ割込みが発生します。 ICE0/ICE1 CM71-10159-2 割込み許可 0 割込み禁止 [ 初期値 ] 1 割込み許可 FUJITSU MICROELECTRONICS LIMITED 545 第 19 章 インプットキャプチャ 19.2 インプットキャプチャのレジスタ MB91461 [bit3 ∼ bit0] EG11, EG10, EG01, EG00 (EG31, EG30, EG21, EG20) : エッジ選択ビット 外部入力の有効エッジ極性を選択するビットです。インプットキャプチャ動作も兼 用しています。 EGn1 EGn0 0 0 エッジ検出なし ( 停止状態 ) [ 初期値 ] 0 1 立上りエッジ検出 ↑ 1 0 立下りエッジ検出 ↓ 1 1 両エッジ検出 ↑ & ↓ エッジ極性検出 EGn1/EGn0: n の番号がインプットキャプチャのチャネル番号に対応します。 n=0∼3 546 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 19 章 インプットキャプチャ 19.3 インプットキャプチャの動作 MB91461 19.3 インプットキャプチャの動作 16 ビットインプットキャプチャは , 設定された有効エッジを検出すると , 16 ビット フリーランタイマの値をキャプチャレジスタに取り込んで割込みを発生させること ができます。 ■ 16 ビットインプットキャプチャの動作 図 19.3-1 インプットキャプチャの取込みタイミング例 カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット IN0 IN1 IN2 データレジスタ0 不定 3FFFH 不定 データレジスタ1 データレジスタ2 不定 BFFFH BFFFH 7FFFH キャプチャ0割込み キャプチャ1割込み キャプチャ2割込み キャプチャ0:立上りエッジ キャプチャ1:立下りエッジ キャプチャ2:両エッジ CM71-10159-2 再度有効エッジにより割込み発生 ソフトウェアにより割込みクリア FUJITSU MICROELECTRONICS LIMITED 547 第 19 章 インプットキャプチャ 19.3 インプットキャプチャの動作 MB91461 ■ 16 ビットインプットキャプチャの入力タイミング 図 19.3-2 16 ビットインプットキャプチャの入力タイミング例 φ カウンタ値 N N+ 1 インプットキャプチャ入力 有効エッジ キャプチャ信号 キャプチャレジスタ値 N+ 1 割込み 548 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 20 章 アウトプットコンペア ユニット アウトプットコンペアユニットの機能と動作につ いて説明します。 20.1 アウトプットコンペアユニットの概要 20.2 アウトプットコンペアユニットのレジスタ 20.3 アウトプットコンペアユニットの動作 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 549 第 20 章 アウトプットコンペアユニット 20.1 アウトプットコンペアユニットの概要 20.1 MB91461 アウトプットコンペアユニットの概要 アウトプットコンペアモジュールは , コンペアレジスタ , コンペア出力ラッ チ , および制御レジスタで構成されています。 ■ アウトプットコンペアユニットの特長 • コンペアレジスタは独立に使用できます。 出力ピンと割込みフラグはコンペアレジスタに対応しています。 • 出力ピンはコンペアレジスタを対で制御できます。 出力ピンはコンペアレジスタを使用して反転させることができます。 • 出力ピンの初期値を設定できます。 • コンペア ( 比較 ) が一致したときに割込みを発生させることができます。 • フリーランタイマとアウトプットコンペアユニットは以下の組合せで協調動作を 行います。 - フリーランタイマ 2 とアウトプットコンペア 0, 1 - フリーランタイマ 3 とアウトプットコンペア 2, 3 ■ アウトプットコンペアユニットのブロックダイヤグラム OTD1 OTD0 コンペアレジスタ コンペア回路 R-bus コンペアレジスタ OTE0 出力 コンペア 出力用ラッチ OTE1 出力 CMOD コンペア回路 CST1 コンペア 出力用ラッチ CST0 ICP1 ICP0 ICE1 ICE0 16ビットフリーランタイマ 割込み出力 割込み出力 550 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 20 章 アウトプットコンペアユニット 20.2 アウトプットコンペアユニットのレジスタ MB91461 20.2 アウトプットコンペアユニットのレジスタ アウトプットコンペアユニットには , コンペアレジスタと制御レジスタがあります。 ■ アウトプットコンペアユニットのレジスタ 図 20.2-1 アウトプットコンペアユニットのレジスタ OCCP ( 上位 ) 14 13 12 11 10 9 8 C15 C14 C13 C12 C11 C10 C09 C8 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X bit 7 6 5 4 3 2 1 0 C07 C06 C05 C04 C03 C02 C01 C00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X 14 13 12 11 10 9 8 予約 予約 予約 CMOD 予約 予約 OTD1 OTD0 リード / ライト − − − R/W − − R/W R/W 初期値 1 1 1 0 1 1 0 0 bit 7 6 5 4 3 2 1 0 アドレス OCCP0: 000190H OCCP1: 000192H OCCP2: 000194H OCCP3: 000196H bit 15 OCCP ( 下位 ) アドレス OCCP0: 000191H OCCP1: 000193H OCCP2: 000195H OCCP3: 000197H OCS ( 上位 ) アドレス OCS01: 00018CH OCS23: 00018EH bit 15 OCS ( 下位 ) アドレス OCS01: 00018DH OCS23: 00018FH ICP1 ICP0 ICE1 ICE0 予約 予約 CST1 CST0 リード / ライト R/W R/W R/W R/W − − R/W R/W 初期値 0 0 0 0 1 1 0 0 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 551 第 20 章 アウトプットコンペアユニット 20.2 アウトプットコンペアユニットのレジスタ 20.2.1 MB91461 コンペアレジスタ (OCCP0 ∼ OCCP3) コンペアレジスタ (OCCP0 ∼ OCCP3) の詳細を説明します。 ■ コンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成 図 20.2-2 コンペアレジスタ (OCCP0 ∼ OCCP3) のビット構成 OCCP ( 上位 ) 14 13 12 11 10 9 8 C15 C14 C13 C12 C11 C10 C09 C8 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X bit 7 6 5 4 3 2 1 0 C07 C06 C05 C04 C03 C02 C01 C00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X アドレス OCCP0: 000190H OCCP1: 000192H OCCP2: 000194H OCCP3: 000196H bit 15 OCCP ( 下位 ) アドレス OCCP0: 000191H OCCP1: 000193H OCCP2: 000195H OCCP3: 000197H ■ コンペアレジスタ (OCCP0 ∼ OCCP3) の機能 16 ビットフリーランタイマと比較する 16 ビット長のコンペアレジスタです。本レジス タは , 初期値が不定ですのでコンペア値を設定してから起動を許可してください。 本レジスタは 16 ビットまたは 32 ビットでアクセスしてください。本レジスタ値と 16 ビットフリーランタイマ値が一致した場合 , コンペア信号が発生してアウトプットコ ンペア割込みフラグを設定します。また , ポートファンクションレジスタ (PFR) の対応 するビットを設定して出力許可している場合は , コンペアレジスタに対応した出力レ ベルを反転します。 552 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 20 章 アウトプットコンペアユニット 20.2 アウトプットコンペアユニットのレジスタ MB91461 制御レジスタ (OCS01,OCS23) 20.2.2 制御レジスタ (OCS01,OCS23) の詳細を説明します。 ■ 制御レジスタのビット構成 図 20.2-3 制御レジスタ (OCS01,OCS23) のビット構成 OCS ( 上位 ) 14 13 12 11 10 9 8 予約 予約 予約 CMOD 予約 予約 OTD1 OTD0 リード / ライト − − − R/W − − R/W R/W 初期値 1 1 1 0 1 1 0 0 bit 7 6 5 4 3 2 1 0 アドレス OCS01: 00018CH OCS23: 00018EH bit 15 OCS ( 下位 ) アドレス OCS01: 00018DH OCS23: 00018FH ICP1 ICP0 ICE1 ICE0 予約 予約 CST1 CST0 リード / ライト R/W R/W R/W R/W − − R/W R/W 初期値 0 0 0 0 1 1 0 0 [bit15 ∼ bit13] 予約 : 予約ビット 予約ビットです。読出しでは必ず 111B が読み出されます。 [bit12] CMOD : モードビット 出力端子を許可した場合のコンペア一致における端子出力レベル反転動作を指定 します。 • CMOD = 0 ( 初期値 ) のとき , コンペアレジスタに対応した端子の出力レベルを 反転します。 - コンペアレジスタ 0 (2) の一致によりレベルを反転します。 - コンペアレジスタ 1 (3) の一致によりレベルを反転します。 • CMOD = 1 のとき - コンペアレジスタ 0 (2) の一致によりレベルを反転します。 - コンペアレジスタ 0 (2) と 1 (3) の一致によりレベルを反転します。 [bit11, bit10] 予約 : 予約ビット 予約ビットです。読出しでは必ず 11B が読み出されます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 553 第 20 章 アウトプットコンペアユニット 20.2 アウトプットコンペアユニットのレジスタ MB91461 [bit9, bit8] OTD1, OTD0 : コンペア端子出力レベル変更ビット アウトプットコンペアレジスタの出力端子を許可した場合の端子出力レベルを指 定します。指定はコンペア動作を停止してから行ってください。読出し動作では , アウトプットコンペア端子出力が読み出されます。 OTD1, OTD0 コンペア端子出力レベル 0 コンペア端子出力を "0" にします。[ 初期値 ] 1 コンペア端子出力を "1" にします。 [bit7, bit6] ICP1, ICP0 : 割込みフラグ アウトプットコンペアの割込みフラグです。コンペアレジスタと 16 ビットフリー ランタイマ値が一致した場合に "1" に設定されます。割込み要求ビット (ICE1, ICE0) が許可されているときに本ビットが "1" に設定されると , アウトプットコンペア割 込みが発生します。本ビットは "0" 書込みによりクリアされ , "1" 書込みは意味があ りません。リードモディファイライト (RMW) 系命令では "1" が読み出されます。 ICP1, ICP0 割込みフラグ 0 アウトプットコンペア一致なし [ 初期値 ] 1 アウトプットコンペア一致あり フリーランタイマに外部クロックを指定した場合 , コンペア一致および割込みは次 のクロックで発生します。そのため , コンペア一致出力および割込みを発生させる ためには , フリーランタイマの外部クロックに , コンペア一致後 , 最低 1 クロックを 入力する必要があります。 [bit5, bit4] ICE1, ICE0 : 割込み許可ビット アウトプットコンペアの割込みを許可するビットです。本ビットが "1" のとき , 割 込みフラグ (ICP1, ICP0) が "1" に設定されるとアウトプットコンペア割込みが発生 します。 ICE1, ICE0 割込み許可 0 アウトプットコンペア割込み禁止 [ 初期値 ] 1 アウトプットコンペア割込み許可 [bit3, bit2] 予約 : 予約ビット 予約ビットです。読出しでは必ず 11B が読み出されます。 554 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 20 章 アウトプットコンペアユニット 20.2 アウトプットコンペアユニットのレジスタ MB91461 [bit1, bit0] CST1, CST0 : 一致動作許可ビット 16 ビットフリーランタイマとの一致動作を許可するビットです。コンペア動作を許 可する前に必ずコンペアレジスタ値およびアウトプット制御レジスタ値を設定し てください。 CST1, CST0 一致動作許可 0 コンペア動作禁止 [ 初期値 ] 1 コンペア動作許可 アウトプットコンペアは , 16 ビットフリーランタイマと同期させているため , 16 ビットフリーランタイマを停止させるとコンペア動作も停止します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 555 第 20 章 アウトプットコンペアユニット 20.3 アウトプットコンペアユニットの動作 20.3 MB91461 アウトプットコンペアユニットの動作 16 ビットアウトプットコンペアは , 設定されたコンペアレジスタ値と 16 ビットフ リーランタイマ値との値を比較し , 一致すると割込みフラグを設定するとともに , 出 力レベルを反転することができます。 ■ 16 ビットアウトプットコンペアの動作 1 チャネル独立でコンペア動作を行うことができます (CMOD = 0 のとき )。 図 20.3-1 コンペアレジスタ 0, 1 を使用した場合の出力波形例 ( 出力の初期値は "0") カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット コンペアレジスタ0値 BFFFH コンペアレジスタ1値 7FFFH OP0出力 OP1出力 コンペア0割込み コンペア1割込み 556 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 20 章 アウトプットコンペアユニット 20.3 アウトプットコンペアユニットの動作 MB91461 2組のコンペアレジスタを使い, 出力レベルを変えることができます (CMOD=1のとき)。 図 20.3-2 コンペアレジスタ 0, 1 を使用したときの出力波形例 ( 出力の初期値は "0") カウンタ値 FFFFH BFFFH 7FFFH 3FFFH 時間 0000H リセット コンペアレジスタ0値 BFFFH コンペアレジスタ1値 7FFFH OP0出力 OP1出力 コンペア0割込み コンペア1割込み CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 557 第 20 章 アウトプットコンペアユニット 20.3 アウトプットコンペアユニットの動作 MB91461 ■ 16 ビットアウトプットコンペアの動作タイミング 2組のコンペアレジスタを使い, 出力レベルを変えることができます (CMOD=1のとき) 。 アウトプットコンペアは , フリーランタイマと , 設定したコンペアレジスタの値が一致 したときにコンペア一致信号が発生して出力を反転するとともに割込みを発生するこ とができます。コンペア一致時の出力反転タイミングは , カウンタのカウントタイミン グに同期して行われます。 ● コンペアレジスタライトタイミング コンペアレジスタ書換え時には , カウンタ値とはコンペアしません。 図 20.3-3 コンペアレジスタライトタイミング カウンタ値 N N+1 N+3 N+2 一致信号は発生しない コンペアクリアレジスタ0値 N+1 M コンペアレジスタ0ライト コンペアクリアレジスタ1値 N+3 L コンペアレジスタ1ライト コンペア0停止 コンペア1停止 ● コンペア一致 , 割込みタイミング 図 20.3-4 コンペアマッチ , 割込みタイミング カウントクロック カウンタ値 N コンペアレジスタ値 N+1 N+3 N+2 N コンペア一致 端子出力 割込み ● 端子出力タイミング 図 20.3-5 端子出力タイミング カウンタ値 コンペアレジスタ値 N N+1 N+1 N+1 N コンペア一致 端子出力 558 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブル パルスジェネレータ ) PPG のレジスタ , 機能と動作について説明します。 21.1 PPG の概要 21.2 PPG のレジスタ 21.3 PPG の動作 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 559 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.1 PPG の概要 21.1 MB91461 PPG の概要 PPG は精度の高い PWM 波形を任意の周期とデューティで効率良く出力することが できます。 各チャネルは 16 ビットダウンカウンタ , 周期設定用バッファ付き 16 ビットデータ レジスタ , デューティ設定用バッファ付き 16 ビットコンペアレジスタ , 端子制御部 からなります。また , 動作制御モードの指定のため , 各チャネルに制御ステータスレ ジスタがあり , 各チャネル共通に制御するためのゼネラル制御レジスタ 10, ゼネラル 制御レジスタ 20 があります。 ■ 特長 • 16 ビットダウンカウンタのカウントクロックは次の 4 つから選択可能 : クロック : FCLKP, FCLKP/4, FCLKP/16, FCLKP/64 (FCLKP: ペリフェラル動作クロック ) • カウンタはリセットあるいはアンダフローにより FFFFH に設定される。 16 ビットダウンカウンタは 0000H から FFFFH に変わるときにアンダフローを発生。 • PPG の各チャネルごとに出力端子がある。 • レジスタ 周期設定レジスタ : バッファ付きのリロードレジスタ デューティ設定レジスタ : バッファ付きの比較用レジスタ • 出力端子制御 デューティ一致時には "1" 出力 アンダフロー時には "0" 出力 固定値出力モードによりオール "L" あるいはオール "H" 出力可能 極性反転指定あり • 割込み要因として次の要因を選択可能 PPG の起動トリガ ( ソフトウェアトリガ ) カウンタボローの発生 ( 周期一致 ) デューティ一致 カウンタボローの発生 ( 周期一致 ) あるいはデューティ一致 • ソフトウェアあるいはリロードタイマを使用して複数の PPG を同時起動可能。 また , PPG 動作中に再起動可能。 560 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.1 PPG の概要 MB91461 ■ PPG のブロックダイヤグラム ● PPG0 ∼ PPG7 の全体構成とリロードタイマとの接続 図 21.1-1 PPG の全体構成 PPG0~PPG3 出力端子 外部トリガ 0 外部トリガ 1 TRG入力 PPG ch.0 PPG0 TRG入力 PPG ch.1 PPG1 TRG入力 PPG ch.2 PPG2 TRG入力 PPG ch.3 PPG3 外部トリガ 2 外部トリガ 3 セレクタ リロードタイマ0 リロードタイマ1 ゼネラル 制御 レジスタ 20 選択信号 ゼネラル制御レジスタ 10 (トリガ入力選択指定) PPG4~PPG7 出力端子 セレクタ リロードタイマ2 リロードタイマ3 ゼネラル 制御 レジスタ 21 選択信号 TRG入力 PPG ch.4 PPG4 TRG入力 PPG ch.5 PPG5 TRG入力 PPG ch.6 PPG6 TRG入力 PPG ch.7 PPG7 ゼネラル制御レジスタ 11 (トリガ入力選択指定) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 561 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.1 PPG の概要 MB91461 ● PPG の構成 (1 チャネル ) 図 21.1-2 PPG の構成 (1 チャネル ) 周期設定レジスタ デューティ設定レジスタ PCSR PDUT プリスケーラ FCLKP/1 クロック CMP ロード FCLKP/4 16ビットダウンカウンタ FCLKP/16 スタート アンダフロー FCLKP/64 PPGマスク 周辺機器クロック (FCLKP) PPG 出力 反転ビット 許可 内部トリガ (EN0~EN3) 割込み 選択 GCN20 リロードタイマ ch.0, ch.1入力 エッジ 検出 IRQ (割込み要求信号) ソフトウェアトリガ 562 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 21.2 PPG のレジスタ PPG のレジスタおよび機能について説明します。 ■ PPG のレジスタ 図 21.2-1 PPG のレジスタ GCN10 ( 上位 ) bit 15 アドレス : 000100H 14 13 12 11 TSEL33 to TSEL30 10 9 8 TSEL23 to TSEL20 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 1 0 0 1 0 bit 7 6 5 4 3 2 1 0 GCN10 ( 下位 ) アドレス : 000101H TSEL13 to TSEL0 TSEL03 to TSEL00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 0 0 14 13 12 11 10 9 8 GCN11 ( 上位 ) bit 15 アドレス : 000104H TSEL73 ∼ TSEL70 TSEL63 ∼ TSEL60 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 1 0 0 1 0 bit 7 6 5 4 3 2 1 0 GCN11 ( 下位 ) アドレス : 000105H TSEL53 ∼ TSEL50 TSEL43 ∼ TSEL40 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 0 0 GCN2 bit 7 アドレス GCN20: 000103H 予約 GCN21: 000107H 6 5 4 3 2 1 0 予約 予約 予約 EN3 EN2 EN1 EN0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 ( 続く ) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 563 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 ( 続き ) PTMR ( 上位 ) アドレス : 000110H, 000118H bit 15 000120H, 000128H D15 000130H, 000138H 000140H, 000148H 14 13 12 11 10 9 8 D14 D13 D12 D11 D10 D09 D08 リード / ライト R R R R R R R R 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 0 D06 D05 D04 D03 D02 D01 D00 PTMR ( 下位 ) アドレス : 000111H, 000119H bit 7 000121H, 000129H D07 000131H, 000139H 000141H, 000149H リード / ライト R R R R R R R R 初期値 1 1 1 1 1 1 1 1 14 13 12 11 10 9 8 D14 D13 D12 D11 D10 D09 D08 PCSR ( 上位 ) アドレス : 000112H, 00011AH bit 15 000122H, 00012AH D15 000132H, 00013AH 000142H, 00014AH リード / ライト W W W W W W W W 初期値 X X X X X X X X 6 5 4 3 2 1 0 D06 D05 D04 D03 D02 D01 D00 PCSR ( 下位 ) アドレス : 000113H, 00011BH bit 7 000123H, 00012BH D07 000133H, 00013BH 000143H, 00014BH リード / ライト W W W W W W W W 初期値 X X X X X X X X 14 13 12 11 10 9 8 D14 D13 D12 D11 D10 D09 D08 PDUT ( 上位 ) アドレス : 000114H, 00011CH bit 15 000124H, 00012CH D15 000134H, 00013CH 000144H, 00014CH リード / ライト W W W W W W W W 初期値 X X X X X X X X ( 続く ) 564 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 ( 続き ) PDUT ( 下位 ) アドレス : 000115H, 00011DH bit 7 000125H, 00012DH D07 000135H, 00013DH 000145H, 00014DH 6 5 4 3 2 1 0 D06 D05 D04 D03 D02 D01 D00 リード / ライト W W W W W W W W 初期値 X X X X X X X X 14 13 12 11 10 9 8 CKS1 CKS0 PGMS 予約 PCNH アドレス : 000116H, 00011EH bit 15 000126H, 00012EH CNTE 000136H, 00013EH 000146H, 00014EH STGR MDSE RTRG リード / ライト R/W R/W R/W R/W R/W R/W R/W − 初期値 0 0 0 0 0 0 0 − 6 5 4 3 2 1 0 EGS0 IREN IRQF IRS1 IRS0 予約 OSEL PCNL アドレス : 000117H, 00011FH bit 7 000127H, 00012FH EGS1 000137H, 00013FH 000147H, 00014FH CM71-10159-2 リード / ライト R/W R/W R/W R/W R/W R/W − R/W 初期値 0 0 0 0 0 0 − 0 FUJITSU MICROELECTRONICS LIMITED 565 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ 21.2.1 MB91461 制御ステータスレジスタ (PCNH, PCNL) 制御ステータスレジスタ (PCNH, PCNL) はチャネルごとに動作モード設定 , 起動許 可 , クロック選択 , 出力マスク , トリガ入力エッジ選択 , 割込み許可を制御します。 また , 割込みステータスフラグを表示します。 ■ 制御ステータスレジスタの構成 (PCNH, PCNL) 図 21.2-2 制御ステータスレジスタの構成 PCNH アドレス : 000116H, 00011EH bit 15 000126H, 00012EH CNTE 000136H, 00013EH 000146H, 00014EH 14 13 12 STGR MDSE RTRG 11 10 9 8 CKS1 CKS0 PGMS 予約 リード / ライト R/W R/W R/W R/W R/W R/W R/W − 初期値 0 0 0 0 0 0 0 − 6 5 4 3 2 1 0 EGS0 IREN IRQF IRS1 IRS0 予約 OSEL PCNL アドレス : 000117H, 00011FH bit 7 000127H, 00012FH EGS1 000137H, 00013FH 000147H, 00014FH リード / ライト R/W R/W R/W R/W R/W R/W − R/W 初期値 0 0 0 0 0 0 − 0 ■ 制御ステータスレジスタ PCNH/PCNL の各ビットの機能 [bit15] CNTE: カウンタ動作許可 16 ビットダウンカウンタの動作許可ビットです。 CNTE 機能 0 停止 [ 初期値 ] 1 動作 [bit14] STGR: ソフトウェアトリガ 本ビットを "1" に設定するとソフトウェアトリガが発生し , PPG が起動します。 読出し時には常に "0" が読み出されます。 566 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit13] MDSE: 動作モード 本ビットは PPG の動作として連続した PWM 動作にするかワンショット動作にする かを指定します。 MDSE 機能 0 PWM 動作 [ 初期値 ] 1 ワンショット動作 [bit12] RTRG: 再起動許可 本ビットを "1" に設定するとトリガによる再起動を許可します。 RTRG 機能 0 再起動禁止 [ 初期値 ] 1 再起動許可 [bit11, bit10] CKS1, CKS0: クロック選択 16 ビットダウンカウンタの動作クロックを指定します。 CKS1 CKS0 0 0 FCLKP/1 [ 初期値 ] 0 1 FCLKP/4 1 0 FCLKP/16 1 1 FCLKP/64 カウントクロック FCLKP: 周辺マクロの動作クロック [bit9] PGMS: PPG 出力マスク 本ビットを "1" に設定することによりモード設定 , 周期設定 , デューティ設定にかか わらず , PPG の出力を "L" あるいは "H" に固定します。 極性 PPG 出力 通常極性時 "L" 出力 [ 初期値 ] 反転極性時 "H" 出力 出力極性の指定は OSEL ビット ( 制御ステータスレジスタの bit0) で指定します。 [bit8] 予約 : 未使用ビット CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 567 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit7, bit6] EGS1, EGS0: トリガ入力選択 トリガ入力を GCN10 ( ゼネラル制御レジスタ 10) で指定した場合の有効エッジを指 定します。 EGS1 EGS0 0 0 トリガを受け付けない [ 初期値 ] 0 1 立上りエッジ 1 0 立下りエッジ 1 1 両エッジ トリガ入力エッジ [bit5] IREN: 割込み許可 割込み許可ビットです。 IREN 機能 0 割込み禁止 [ 初期値 ] 1 割込み許可 [bit4] IRQF: 割込み要求フラグ bit5:IREN が許可されていて bit3, bit2 (IRS1, IRS0) で選択した割込み要因が発生する と本ビットが設定されて CPU に割込み要求を発生します。 本ビットは "0" 書込みによりクリアされます。"1" 書込みでは値は変化しません。 リードモディファイライト (RMW) 系命令における読出し値はビット値にかかわら ず "1" となります。 DMAC の起動要因に指定されている場合には , DMA 転送要求を発生します。転送 の際 DMAC により本ビットはクリアされます。 [bit3, bit2] IRS1, IRS0: 割込み要因選択 割込み要求を発生する動作を選択します。 IRS1 IRS0 0 0 ソフトウェアトリガまたはトリガ入力 [ 初期値 ] 0 1 カウンタのボロー発生 ( 周期一致 ) 1 0 カウンタ値がデューティ値と一致 1 1 カウンタのボロー発生 ( 周期一致 ), あるいはカウンタ値が デューティ値と一致した場合に割込み発生 割込み要因 [bit1] 予約 : 未使用ビット 568 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit0] OSEL: PPG 出力極性指定 出力極性指定ビットです。 bit9:PGMS との組合せで以下のように端子が制御されます。 表 21.2-1 PPG 出力の極性とエッジ PGMS OSEL PPG 出力 0 0 通常極性 [ 初期値 ] 0 1 反転極性 1 0 "L" 固定 1 1 "H" 固定 CM71-10159-2 極性 リセット後 通常極性 "L" 出力 反転極性 "H" 出力 FUJITSU MICROELECTRONICS LIMITED ディーティ 一致 アンダ フロー 569 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ 21.2.2 MB91461 PPG 周期設定レジスタ (PCSR) PPG 周期設定レジスタ (PCSR) は周期を設定するための 16 ビットリロードレジスタで す。 ■ PPG 周期設定レジスタの構成 (PCSR) 図 21.2-3 PPG 周期設定レジスタの構成 PCSR ( 上位 ) アドレス : 000112H, 00011AH bit 15 000122H, 00012AH D15 000132H, 00013AH 000142H, 00014AH 14 13 12 11 10 9 8 D14 D13 D12 D11 D10 D09 D08 リード / ライト W W W W W W W W 初期値 X X X X X X X X 6 5 4 3 2 1 0 D06 D05 D04 D03 D02 D01 D00 PCSR ( 下位 ) アドレス : 000113H, 00011BH bit 7 000123H, 00012BH D07 000133H, 00013BH 000143H, 00014BH リード / ライト W W W W W W W W 初期値 X X X X X X X X ■ PCSR の機能 PCSRレジスタはバッファ付きで , PCSRの設定値は起動トリガが検出された場合および カウンタのボローが発生した場合にバッファからカウンタへのロードが行われます。 カウンタのボロー発生はカウント開始後 , PCSR 設定値+ 1 カウント後にボローが発生 します。PPG の動作周期はカウントクロック周期× (PCSR の設定値+ 1) となります。 PPG 周期設定レジスタの書き換え後は必ず PPG デューティ設定レジスタ PDUT の設定 を行ってください。 PPG 周期設定レジスタは必ずハーフワード (16 ビット ) あるいはワード (32 ビット ) で アクセスしてください。 570 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 PPG デューティ設定レジスタ (PDUT) 21.2.3 PPG デューティ設定レジスタ (PDUT) は出力波形のデューティを設定するための 16 ビットレジスタです。 ■ PPG デューティ設定レジスタ (PDUT) の構成 図 21.2-4 PPG デューティ設定レジスタの構成 PDUT ( 上位 ) アドレス : 000114H, 00011CH bit 15 000124H, 00012CH D15 000134H, 00013CH 000144H, 00014CH 14 13 12 11 10 9 8 D14 D13 D12 D11 D10 D09 D08 リード / ライト W W W W W W W W 初期値 X X X X X X X X 6 5 4 3 2 1 0 D06 D05 D04 D03 D02 D01 D00 PDUT ( 下位 ) アドレス : 000115H, 00011DH bit 7 000125H, 00012DH D07 000135H, 00013DH 000145H, 00014DH リード / ライト W W W W W W W W 初期値 X X X X X X X X ■ PDUT の機能 PPG デューティ設定レジスタは PPG 出力波形のデューティを設定するためのレジスタ です。PPG の 16 ビットカウンタと一致した場合に PPG の出力が反転します。 PPG 出力パルス幅は カウントクロック周期× (PDUT の設定値+ 1) となります。 PPG デューティ設定レジスタは PPG 周期設定レジスタ (PCSR) よりも小さい値を設定 してください。PCSR よりも大きい値を設定した場合の PPG 出力は不定となります。 PPG デューティ設定レジスタと PPG 周期設定レジスタの値を同じに設定した場合 , 下 記の動作になります。 - 通常極性時 (OSEL = 0) : 常に "H" を出力します。 - 反転極性時 (OSEL = 1) : 常に "L" を出力します。 PPG デューティ設定レジスタは必ずハーフワード (16 ビット ) あるいはワード (32 ビッ ト ) でアクセスしてください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 571 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ 21.2.4 MB91461 PPG タイマレジスタ (PTMR) PPG タイマレジスタ (PTMR) はカウント値を読み出すためのレジスタです。 ■ PPG タイマレジスタ (PTMR) の構成 図 21.2-5 PPG タイマレジスタの構成 PTMR ( 上位 ) アドレス : 000110H, 000118H bit 15 000120H, 000128H D15 000130H, 000138H 000140H, 000148H 14 13 12 11 10 9 8 D14 D13 D12 D11 D10 D09 D08 リード / ライト R R R R R R R R 初期値 1 1 1 1 1 1 1 1 6 5 4 3 2 1 0 D06 D05 D04 D03 D02 D01 D00 PTMR ( 下位 ) アドレス : 000111H, 000119H bit 7 000121H, 000129H D07 000131H, 000139H 000141H, 000149H リード / ライト R R R R R R R R 初期値 1 1 1 1 1 1 1 1 ■ PTMR の機能 PPG タイマレジスタ (PTMR) はカウント値を読み出すためのレジスタです。 本レジスタからの読出しはハーフワード (16 ビット ) で行ってください。バイトアクセ スした場合には正しく読み出せません。 572 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 21.2.5 ゼネラル制御レジスタ 10 (GCN10) ゼネラル制御レジスタ 10 (GCN10) は PPG0 ∼ PPG3 のトリガ入力を選択するため のレジスタです。 ■ ゼネラル制御レジスタ 10 (GCN10) の構成 図 21.2-6 ゼネラル制御レジスタ 10 (GCN10) の構成 GCN10 ( 上位 ) bit 15 アドレス : 000100H 14 13 12 11 TSEL33 ∼ TSEL30 10 9 8 TSEL23 ∼ TSEL20 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 1 0 0 1 0 bit 7 6 5 4 3 2 1 0 GCN10 ( 下位 ) アドレス : 000101H TSEL13 ∼ TSEL0 TSEL03 ∼ TSEL00 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 0 0 ■ GCN10 の機能 [bit15 ∼ bit12] TSEL33 ∼ TSEL30: PPG ch.3 入力選択 表 21.2-2 PPG ch.3 入力トリガ選択 TSEL33 ∼ TSEL30 PPG ch.3 トリガ入力 CM71-10159-2 bit15 bit14 bit13 bit12 0 0 0 0 GCN20 EN0 ビット 0 0 0 1 GCN20 EN1 ビット 0 0 1 0 GCN20 EN2 ビット 0 0 1 1 GCN20 EN3 ビット [ 初期値 ] 0 1 0 0 16 ビットリロードタイマ ch.0 0 1 0 1 16 ビットリロードタイマ ch.1 0 1 1 x 設定禁止 1 0 0 0 外部トリガ 0 1 0 0 1 外部トリガ 1 1 0 1 0 外部トリガ 2 1 0 1 1 外部トリガ 3 1 1 x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED 573 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit11 ∼ bit8] TSEL23 ∼ TSEL20: PPG ch.2 トリガ入力選択 表 21.2-3 PPG ch.2 トリガ入力選択 TSEL23 ∼ TSEL20 PPG ch.2 トリガ入力 bit11 bit10 bit9 bit8 0 0 0 0 GCN20 EN0 ビット 0 0 0 1 GCN20 EN1 ビット 0 0 1 0 GCN20 EN2 ビット [ 初期値 ] 0 0 1 1 GCN20 EN3 ビット 0 1 0 0 16 ビットリロードタイマ ch.0 0 1 0 1 16 ビットリロードタイマ ch.1 0 1 1 x 設定禁止 1 0 0 0 外部トリガ 0 1 0 0 1 外部トリガ 1 1 0 1 0 外部トリガ 2 1 0 1 1 外部トリガ 3 1 1 x x 設定禁止 [bit7 ∼ bit4] TSEL13 ∼ TSEL10: PPG ch.1 トリガ入力選択 表 21.2-4 PPG ch.1 トリガ入力選択 TSEL13 ∼ TSEL10 PPG ch.1 トリガ入力 574 bit7 bit6 bit5 bit4 0 0 0 0 GCN20 EN0 ビット 0 0 0 1 GCN20 EN1 ビット [ 初期値 ] 0 0 1 0 GCN20 EN2 ビット 0 0 1 1 GCN20 EN3 ビット 0 1 0 0 16 ビットリロードタイマ ch.0 0 1 0 1 16 ビットリロードタイマ ch.1 0 1 1 x 設定禁止 1 0 0 0 外部トリガ 0 1 0 0 1 外部トリガ 1 1 0 1 0 外部トリガ 2 1 0 1 1 外部トリガ 3 1 1 x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit3 ∼ bit0] TSEL03 ∼ TSEL00: PPG ch.0 トリガ入力選択 表 21.2-5 PPG ch.0 トリガ入力選択 TSEL03 ∼ TSEL00 PPG ch.0 トリガ入力 CM71-10159-2 bit3 bit2 bit1 bit0 0 0 0 0 GCN20 EN0 ビット [ 初期値 ] 0 0 0 1 GCN20 EN1 ビット 0 0 1 0 GCN20 EN2 ビット 0 0 1 1 GCN20 EN3 ビット 0 1 0 0 16 ビットリロードタイマ ch.0 0 1 0 1 16 ビットリロードタイマ ch.1 0 1 1 x 設定禁止 1 0 0 0 外部トリガ 0 1 0 0 1 外部トリガ 1 1 0 1 0 外部トリガ 2 1 0 1 1 外部トリガ 3 1 1 x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED 575 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ 21.2.6 MB91461 ゼネラル制御レジスタ 11 (GCN11) ゼネラル制御レジスタ 11 (GCN11) は PPG4 ∼ PPG7 のトリガ入力を選択するため のレジスタです。 ■ ゼネラル制御レジスタ 11 (GCN11) の構成 図 21.2-7 ゼネラル制御レジスタ 11 (GCN11) の構成 GCN11 ( 上位 ) bit 15 アドレス : 000104H 14 13 12 11 TSEL73 ∼ TSEL70 10 9 8 TSEL63 ∼ TSEL60 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 1 0 0 1 0 bit 7 6 5 4 3 2 1 0 GCN11 ( 下位 ) アドレス : 000105H TSEL53 ∼ TSEL50 TSEL43 ∼ TSEL40 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 0 0 ■ GCN11 の機能 [bit15 ∼ bit12] TSEL73 ∼ TSEL70: PPG ch.7 トリガ入力選択 TSEL73 ∼ TSEL70 PPG ch.7 トリガ入力 576 bit15 bit14 bit13 bit12 0 0 0 0 GCN21 EN0 ビット 0 0 0 1 GCN21 EN1 ビット 0 0 1 0 GCN21 EN2 ビット 0 0 1 1 GCN21 EN3 ビット [ 初期値 ] 0 1 0 0 16 ビットリロードタイマ ch.2 0 1 0 1 16 ビットリロードタイマ ch.3 0 1 1 x 設定禁止 1 x x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit11 ∼ bit8] TSEL63 ∼ TSEL60: PPG ch.6 トリガ入力選択 TSEL63 ∼ TSEL60 PPG ch.6 トリガ入力 bit11 bit10 bit9 bit8 0 0 0 0 GCN21 EN0 ビット 0 0 0 1 GCN21 EN1 ビット 0 0 1 0 GCN21 EN2 ビット [ 初期値 ] 0 0 1 1 GCN21 EN3 ビット 0 1 0 0 16 ビットリロードタイマ ch.2 0 1 0 1 16 ビットリロードタイマ ch.3 0 1 1 x 設定禁止 1 x x x 設定禁止 [bit7 ∼ bit4] TSEL53 ∼ TSEL50: PPG ch.5 トリガ入力選択 TSEL53 ∼ TSEL50 PPG ch.5 トリガ入力 CM71-10159-2 bit7 bit6 bit5 bit4 0 0 0 0 GCN21 EN0 ビット 0 0 0 1 GCN21 EN1 ビット [ 初期値 ] 0 0 1 0 GCN21 EN2 ビット 0 0 1 1 GCN21 EN3 ビット 0 1 0 0 16 ビットリロードタイマ ch.2 0 1 0 1 16 ビットリロードタイマ ch.3 0 1 1 x 設定禁止 1 x x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED 577 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 [bit3 ∼ bit0] TSEL43 ∼ TSEL40: PPG ch.4 トリガ入力選択 TSEL43 ∼ TSEL40 PPG ch.0 トリガ入力 578 bit3 bit2 bit1 bit0 0 0 0 0 GCN21 EN0 ビット [ 初期値 ] 0 0 0 1 GCN21 EN1 ビット 0 0 1 0 GCN21 EN2 ビット 0 0 1 1 GCN21 EN3 ビット 0 1 0 0 16 ビットリロードタイマ ch.2 0 1 0 1 16 ビットリロードタイマ ch.3 0 1 1 x 設定禁止 1 x x x 設定禁止 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.2 PPG のレジスタ MB91461 21.2.7 ゼネラル制御レジスタ 2 (GCN20,GCN21) ゼネラル制御レジスタ 2 (GCN20,GCN21) はソフトウェアにより起動トリガを発生 させるためのレジスタで 4 チャネル同時に起動可能です。 ■ ゼネラル制御レジスタ 2 (GCN20,GCN21) の構成 図 21.2-8 ゼネラル制御レジスタ 2 (GCN20,GCN21) の構成 GCN2 bit 7 アドレス GCN20: 000103H 予約 GCN21: 000107H 6 5 4 3 2 1 0 予約 予約 予約 EN3 EN2 EN1 EN0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 ■ GCN20,GCN21 の機能 ゼネラル制御レジスタ 1 (GCN1) によって EN0 ∼ EN3 が起動トリガ要因として選択さ れている場合に , 本 GCN20,GCN21 レジスタの EN3 ∼ EN0 への "1" 書込みがそのまま PPG のトリガ入力となります。その場合 , トリガ入力のエッジ選択には制御ステータ スレジスタ (PCNL) の bit7, bit6 (EGS1, EGS0) を使用します。 本レジスタを使用することにより複数の PPG を同時に起動することができます。本レ ジスタの bit7 ∼ bit4 には必ず "0" を書き込んでください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 579 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 21.3 MB91461 PPG の動作 PPG の動作について説明します。PPG には PWM 動作とワンショット動作がありま す。 ■ PPG の動作 PWM 動作モードでは連続したパルスを発生します。一方 , ワンショットモードでは単 発のパルスを発生します。 本節では以下を説明します。 • PWM 動作 • ワンショット動作 • 割込み • オール "L" およびオール "H" 出力方法 580 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 21.3.1 PWM 動作 PWM 動作では連続したパルスを発生します。 ■ PWM 動作 PWM 動作モードでは起動トリガがかかると連続したパルスを発生します。出力パルス の周期は PCSR レジスタの設定により制御され , デューティは PDUT レジスタにより 制御されます。周期とデューティの設定の際には必ず PCSR → PDUT の順に設定して ください。 ■ PPG 出力タイミング 起動トリガが受け付けられると周期設定値がカウンタにロードされ , ダウンカウント を開始します。 ダウンカウント中にデューティ設定値 (PDUT) と一致すると PPG 出力は極性反転され ます。 カウンタがアンダフローすると PCSR( 周期 ) がカウンタへリロードされ , PPG 出力は 極性反転されます。 再起動が禁止されている場合には動作途中でトリガ入力があっても PPG 出力は影響を 受けません ( 図 21.3-1 を参照 )。 再起動が有効な場合にトリガ入力がある場合にはカウント途中でも PCSR の値がカウ ンタへリロードされてカウントを継続します ( 図 21.3-2 を参照 )。 [PPG 出力パルスの周期とデューティは以下の式で計算されます ] Pm = T(m + 1) μs Pm: 出力パルス周期 Pn = T(n + 1) μs Pn: 出力パルスの "H" 幅 T: カントクロック周期 m: PCSR への設定値 (PCSR) n: PDUT への設定値 (PDUT) CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 581 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 ● PWM 動作の例 1) 再起動禁止 , 通常極性 図 21.3-1 PWM 動作の例 1) 再起動禁止 , 通常極性 立上りエッジ検出 トリガにより再起動されます 起動トリガ カウント値 m n 時間 0 PPG出力 Pn Pm Pn:出力パルス“H” 幅 n: PDUT値 Pm:出力周期 m: PCSR値 ● PWM 動作の例 2) 再起動許可 , 通常極性 図 21.3-2 PWM 動作の例 2) 再起動許可 , 通常極性 立上りエッジ検出 トリガにより再起動されます 起動トリガ カウント値 m n 時間 0 PPG出力 Pn Pm Pm: 出力パルス周期 m: PCSR値 582 Pn: 出力パルス“H”幅 n: PDUT値 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 21.3.2 ワンショット動作 ワンショット動作モードは 1 つのパルスを発生するモードです。 ■ ワンショット動作 ワンショット動作モードは起動トリガにより単一パルスが発生します。 パルスの周期とデューティは PCSR レジスタおよび PDUT レジスタで設定します。 周期とデューティを設定する際は必ず PCSR → PDUT の順に設定してください。 ワンショット動作モードにおいても動作は再起動の設定に依存し , 再起動が有効な場 合には再起動トリガが受け付けられた時点で PCSR の値をカウンタへリロードして再 スタートします。 ● ワンショット動作タイミングチャート例 ( 再起動禁止 , 通常極性 ) 図 21.3-3 再起動禁止の場合のワンショット動作タイミングチャート例 起動トリガ 立上りエッジ検出 トリガは無視されます カウンタ値 m n 時間 0 PPG出力 Pn Pm Pm = T(m+1) Pn = T(n+1) CM71-10159-2 Pm: Pn: T: m: n: FUJITSU MICROELECTRONICS LIMITED 出力パルス周期 出力パルス“H” 幅 カウントクロック周期 PCSR値 PDUT値 583 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 ● 再起動許可の場合のワンショット動作タイミング例 ( 通常極性 ) 図 21.3-4 再起動許可の場合のワンショット動作タイミング例 起動トリガ 立上りエッジ検出 トリガにより再起動します カウンタ値 m n 時間 0 PPG出力 Pn Pm Pm = T(m+1) Pn = T(n+1) 584 Pm: Pn: T: m: n: 出力パルス周期 出力パルス“H”幅 カウントクロック周期 PCSR値 PDUT値 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 割込み 21.3.3 PPG で発生する割込み要因には以下の 4 つがあります。 • PPG タイマの起動 ( ソフトウェアトリガあるいは外部トリガ ) • アンダフロー発生 • デューティ一致 • アンダフロー発生あるいはデューティ一致 ■ 割込み処理 CPU に対する割込み要求の発生を制御するには PCNL レジスタで以下のように設定し てください。 • bit5 (IREN) で割込みを許可します。 • bit3 と bit2 (IRS1, IRS0) で割込み要因選択指定します。 • ビット (IRQF) は割込み発生状況を示す要求フラグとなります。 図 21.3-5 に各割込みが発生するタイミングを示します。 図 21.3-5 割込み要因と発生タイミング 起動トリガ 最大 2.5T * ロード クロック カウント値 X 0003H 0002H 0001H 0000H 0003H PPG 出力 割込み 有効エッジ デューティ一致 カウンタボロー *: トリガ入力からカウント値がロードされるまでに最大 2.5T (T: カウントクロック周 期)かかります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 585 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 21.3.4 MB91461 PPG 出力オール "L" あるいはオール "H" の出力方法 PPG 出力としてオール "L" あるいはオール "H" の出力方法を示します。 ■ オール "L" あるいはオール "H" の出力方法 制御ステータスレジスタ (PCNH) の bit9 すなわち PPG 出力マスク選択ビット (PGMS) に "1" を書き込むことにより動作モード , 周期 , デューティの設定によらず PPG 出力は "L"( 通常極性時 ) あるいは "H"( 反転極性時 ) となります。 図 21.3-6 PPG にオール "L" 出力する場合の例 PPG出力 デューティ 値を小さく していく ボローによる割込みでPGMS(マスクビット) に"1"を書き込みます。また,ボローによる 割込みでPGMSに"0"を書き込むとハザード を出力することなくPWM波形を出力可能 です。 図 21.3-7 PPG にオール "H" 出力する場合の例 PPG 出力 デューティ 値を大きく していく 586 コンペア一致による割込み処理でデューテ ィ設定レジスタに周期設定レジスタ値と同 じ値を書き込みます。 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 21.3.5 複数チャネルの起動 ゼネラル制御レジスタ 10 (GCN10) で起動トリガを選択することにより複数チャネ ルを同時に起動することができます。ここでは , GCN20 を使用する場合の起動の例 を示します。 ■ ソフトウェアによる複数同時起動の例 [ 設定手順 ] (1) PCSR に周期を設定します。 (2) PDUT にデューティ比を設定します。 ( 注意事項 ) 必ず PCSR → PDUT の順に書込みを行ってください。 (3) GCN10 レジスタに起動するチャネルのトリガ入力要因を設定します。 ch.0: EN0 ch.1: EN1 ch.2: EN2 ch.3: EN3 (4) 起動するチャネルの制御ステータスレジスタ (PCNL, PCNH) を設定します。 表 21.3-1 起動チャネル設定例 ビット 機能 CM71-10159-2 番号 ビット名 値 15 CNTE 1 タイマ動作を許可 14 STGR 0 GCN20 で起動トリガを設定するため , STGR は "0" のままとする。 13 MDSE 0 PWM 動作 12 RTRG 0 再起動禁止 11 CKS1 0 10 CKS0 0 9 PGMS 0 出力マスクしない 8 − 0 未使用ビット 7 EGS1 0 6 EGS0 1 5 IREN 1 割込み許可 4 IRQF 0 割込み要因クリア 3 IRS1 0 2 IRS0 1 0 OSEL 0 カウントクロック : FCLKP/1 ( 分周なし ) 立上りエッジ カウンタボローで割込み要求発生 通常極性 FUJITSU MICROELECTRONICS LIMITED 587 第 21 章 PPG ( プログラマブルパルスジェネレータ ) 21.3 PPG の動作 MB91461 (5) GCN20 にデータを書き込むことにより起動トリガを発生します。 例えば , ch.0 と ch.1 を同時に起動する場合には GCN20 レジスタの EN0 と EN1 に "1" を書き込みます。 ■ リロードタイマによる PPG の複数同時起動 上記の (3) で起動要因として 16 ビットリロードタイマを選択します。 上記の (5) で GCN20 の代わりに 16 ビットリロードタイマを起動します。 588 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 22 章 リアルタイムクロック リアルタイムクロック ( 以降 RTC) のレジスタ構成 とその機能 , RTC モジュールの動作について説明 します。 RTC には , タイマ制御レジスタ , サブセカンドレジ スタ , 秒 / 分 / 時レジスタ , 2 分周器 , 21 ビットプリスケーラ , 秒 / 分 / 時カウンタがあり ます。RTC は実時間タイマとして動作し , 実時間 情報を与えます。 22.1 リアルタイムクロックのレジスタ構成 22.2 リアルタイムクロックのブロックダイヤグラム 22.3 リアルタイムクロックのレジスタの詳細 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 589 第 22 章 リアルタイムクロック 22.1 リアルタイムクロックのレジスタ構成 22.1 MB91461 リアルタイムクロックのレジスタ構成 リアルタイムクロックのレジスタ構成を示します。 ■ リアルタイムクロックのレジスタ一覧 図 22.1-1 リアルタイムクロックのレジスタ一覧 WTCRH bit 15 アドレス : 0004A2H INTE3 14 13 12 11 10 9 8 INT3 INTE2 INT2 INTE1 INT1 INTE0 INT0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 アドレス : 0004A3H TST2 TST1 TST0 予約 RUN 予約 予約 ST リード / ライト R/W R/W R/W − R − − R/W 初期値 0 0 0 − 0 − − 0 bit 23 22 21 20 19 18 17 16 − − − D20 D19 D18 D17 D16 リード / ライト − − − R/W R/W R/W R/W R/W 初期値 − − − X X X X X bit 15 14 13 12 11 10 9 8 D15 D14 D13 D12 D11 D10 D9 D8 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X bit 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X WTCRL WTBR ( 上位 ) アドレス : 0004A5H WTBR ( 中位 ) アドレス : 0004A6H WTBR ( 下位 ) アドレス : 0004A7H ( 続く ) 590 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 22 章 リアルタイムクロック 22.1 リアルタイムクロックのレジスタ構成 MB91461 ( 続き ) WTHR bit 31 30 29 28 27 26 25 24 − − − H4 H3 H2 H1 H0 リード / ライト − − − R/W R/W R/W R/W R/W 初期値 − − − X X X X X bit 23 22 21 20 19 18 17 16 − − M5 M4 M3 M2 M1 M0 リード / ライト − − R/W R/W R/W R/W R/W R/W 初期値 − − X X X X X X bit 15 14 13 12 11 10 9 8 − − S5 S4 S3 S2 S1 S0 リード / ライト − − R/W R/W R/W R/W R/W R/W 初期値 − − X X X X X X アドレス : 0004A8H WTMR アドレス : 0004A9H WTSR アドレス : 0004AAH CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 591 第 22 章 リアルタイムクロック 22.2 リアルタイムクロックのブロックダイヤグラム 22.2 MB91461 リアルタイムクロックのブロックダイヤグラム リアルタイムクロックのブロックダイヤグラムを示します。 ■ リアルタイムクロックのブロックダイヤグラム 図 22.2-1 リアルタイムクロックのブロックダイヤグラム RTC内部 RTC外部 原発振クロック 8分周 UPDT 2分周 21ビット プリスケーラ サブセカンド レジスタ ST 秒カウンタ 分カウンタ 時カウンタ 6ビット 5ビット 2分周 6ビット 秒/分/時レジスタ サブセカンド カウンタ オーバフロー INTE0 INT0 INTE1 INT1 INTE2 INT2 INTE3 INT3 IRQ 592 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 22 章 リアルタイムクロック 22.3 リアルタイムクロックのレジスタの詳細 MB91461 リアルタイムクロックのレジスタの詳細 22.3 リアルタイムクロックのレジスタ構成の詳細について説明します。 ■ タイマ制御レジスタ (WTCRH, WTCRL) 図 22.3-1 タイマ制御レジスタ (WTCRH, WTCRL) のビット構成 WTCRH bit 15 アドレス : 0004A2H INTE3 14 13 12 11 10 9 8 INT3 INTE2 INT2 INTE1 INT1 INTE0 INT0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 アドレス : 0004A3H TST2 TST1 TST0 − RUN 予約 − ST リード / ライト R/W R/W R/W − R − − R/W 初期値 0 0 0 − 0 − − 0 WTCRL [bit15 ∼ bit8] INT3 ∼ INT0, INTE3 ∼ INTE0 : 割込みフラグおよび割込み許可ビット INT0 から INT3 までは , 割込みフラグです。このフラグは , サブセカンドカウンタ , 秒カウンタ , 分カウンタ , および時カウンタがそれぞれオーバフローした場合に設 定されます。INT ビットの設定を , 対応する INTE ビットが "1" の場合に行うと割込 み信号を生成します。本フラグは , 秒 / 分 / 時 / 日の単位で割込み信号を生成するよ うに設計されています。INT ビットに "0" を書き込むとフラグはクリアされ , "1" の 書込みは無効です。INT ビットで動作するリードモディファイライト (RMW) 系命 令はすべて "1" を読み出します。 割込み 要因 割込み許可ビット 割込みフラグ 秒割込み サブセカンドカウンタオーバフロー INTE0 INT0 分割込み 秒カウンタオーバフロー INTE1 INT1 時割込み 分カウンタオーバフロー INTE2 INT2 日割込み 時カウンタオーバフロー INTE3 INT3 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 593 第 22 章 リアルタイムクロック 22.3 リアルタイムクロックのレジスタの詳細 MB91461 [bit7 ∼ bit5] TST2 ∼ TST0 : テストビット 本ビットは , デバイステスト用です。 必ず , 000B を設定してください。 [bit4] 未使用ビット [bit3] RUN : フラグ 本ビットは読出しのみ可能です。読出し値が "1" の場合 , RTC モジュールが動作中 であることを示しています。 [bit2] 予約 : 予約ビット このビットは予約ビットです。常に "0" を書いてください。 [bit1] 未使用ビット [bit0] ST : スタートビット ST ビットを "1" に設定すると , ウォッチタイマはレジスタから秒 / 分 / 時値をロー ドして動作を開始します。"0" にリセットした場合 , カウンタおよびプリスケーラは すべて "0" にリセットされて停止します。 本ビットは , カウンタ値の更新にも使用できます。ST ビットを "0" に設定し , RUN が "0" になるまで待ってからカウンタ値を更新し , ST ビットを "1" に設定します。 594 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 22 章 リアルタイムクロック 22.3 リアルタイムクロックのレジスタの詳細 MB91461 ■ サブセカンドレジスタ WTBR ( 上位 ) bit 23 22 21 20 19 18 17 16 − − − D20 D19 D18 D17 D16 リード / ライト − − − R/W R/W R/W R/W R/W 初期値 − − − X X X X X bit 15 14 13 12 11 10 9 8 D15 D14 D13 D12 D11 D10 D9 D8 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X bit 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 X X X X X X X X アドレス : 0004A5H WTBR ( 中位 ) アドレス : 0004A6H WTBR ( 下位 ) アドレス : 0004A7H [bit23 ∼ bit21] 未使用ビット [bit20 ∼ bit0] D20 ∼ D0 サブセカンドレジスタは , 21 ビットプリスケーラのリロード値を格納します。この 値は , リロードカウンタが "0" になるとリロードされます。21 ビットプリスケーラ は , 新旧のデータバイトを結合した値をロードしてしまう場合があるので , 3 バイト すべてを修正する場合は , 書込み命令中にリロード動作が行われていないことを確 認してください。サブセカンドレジスタの更新は ST ビットが "0" の期間に実行す ることが推奨されます。サブセカンドレジスタが "0" に設定されている期間は , 21 ビットプリスケーラの動作は停止します。 なお , RTC に供給されるクロックは原発振クロックの 8 分周クロックで , RTC 内部 でさらに 2 分周されたクロック ( = 16 分周 ) が 21 ビットプリスケーラのカウント クロックとなります。 1 秒を生成するための WTBR レジスタ設定値は以下のようになります。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 595 第 22 章 リアルタイムクロック 22.3 リアルタイムクロックのレジスタの詳細 MB91461 表 22.3-1 WTBR レジスタ設定値 596 原発振 クロック (MHz) 原発振 クロック周期 (ns) 21 ビット プリスケーラ クロック周期 (μs) WTBR 設定値 (dec) WTBR 設定値 (hex) 9.00 111.11 1.78 281249 044AA1 10.00 100.00 1.60 312499 04C4B3 12.00 83.33 1.33 374999 05B8D7 14.00 71.43 1.14 437499 06ACFB 16.00 62.50 1.00 499999 07A11F 18.00 55.56 0.89 562499 089543 20.00 50.00 0.80 624999 098967 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 22 章 リアルタイムクロック 22.3 リアルタイムクロックのレジスタの詳細 MB91461 ■ 時 / 分 / 秒レジスタ 図 22.3-2 時 / 分 / 秒レジスタ WTHR bit 31 30 29 28 27 26 25 24 − − − H4 H3 H2 H1 H0 リード / ライト − − − R/W R/W R/W R/W R/W 初期値 − − − X X X X X bit 23 22 21 20 19 18 17 16 − − M5 M4 M3 M2 M1 M0 リード / ライト − − R/W R/W R/W R/W R/W R/W 初期値 − − X X X X X X bit 15 14 13 12 11 10 9 8 − − S5 S4 S3 S2 S1 S0 リード / ライト − − R/W R/W R/W R/W R/W R/W 初期値 − − X X X X X X アドレス : 0004A8H WTMR アドレス : 0004A9H WTSR アドレス : 0004AAH − : 未使用ビット 時 / 分 / 秒レジスタは , 時間情報を格納します。時 / 分 / 秒の 2 進表記です。 本レジスタを読み出すと , カウンタ値のみを戻します。 レジスタは 3 バイト存在するため , 出力値に矛盾がないことを確認してください。つま り , 出力値「1 時間 , 59 分 , 59 秒」は「0 時間 , 59 分 , 59 秒」から「1 時間 , 0 分 , 0 秒」 への変化点 , あるいは「1 時間 , 59 分 , 59 秒」から「2 時間 , 0 分 , 0 秒」への変化点で ある可能性があります。 カウンタのオーバフローが発生したときに読出しを行うと , 誤った値を読み出すこと があります。このため , 読出しは RTC 割込みを使用するか , 以下の手順に従ってくだ さい。 1. RTC の割込みフラグ (INT) をクリア 2. レジスタ読出し 3. 読出し中にタイムオーバフローが発生し , 読出し後にフラグが設定された場合は再 度読出しを行ってください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 597 第 22 章 リアルタイムクロック 22.3 リアルタイムクロックのレジスタの詳細 MB91461 598 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 第 23 章 A/D コンバータ A/D コンバータの概要 , レジスタの構成 / 機能 , お よび動作について説明します。 23.1 A/D コンバータの概要 23.2 A/D コンバータのブロックダイヤグラム 23.3 A/D コンバータのレジスタ 23.4 A/D コンバータの動作 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 599 第 23 章 A/D コンバータ 23.1 A/D コンバータの概要 23.1 MB91461 A/D コンバータの概要 A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。 A/D コンバータの概要について説明します。 ● A/D コンバータの特長 A/D コンバータの特長は , 以下のとおりです。 • 変換時間 : 1 チャネルあたり最小 1.0 μS • サンプル & ホールド回路付き逐次比較変換方式を採用 • 10 ビットの分解能 (8/10 ビット切換え可能 ) • アナログ入力は 13 チャネルからソフトウェアで選択できます。 • 変換モード • シングル変換モード :1 チャネルを選択変換 • スキャン変換モード : 連続した複数のチャネルを変換。最大 13/16 チャネルプログ ラム可能 • 連続変換モード : 指定チャネルを繰り返し変換 • 停止変換モード : 指定チャネルを変換後 , 一時停止して次の起動がかかるまで待機 ( 変換開始の同期が可能 ) 。 • 割込み要求 A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることが できます。 • 起動要因を選択可能 起動要因は , ソフト , 外部トリガ ( 立下りエッジ ) , または 16 ビットリロードタイマ 7 ( 立上りエッジ ) があります。 ● 入力インピーダンス A/D コンバータのサンプリング回路は次の等価回路で表されます。 図 23.1-1 入力インピーダンス アナログ 信号 Rext ANx Rin:最大1.9kΩ アナログSW (AVCC≧2.7V) Rext = Tsamp / (7×Cin ) - Rin 600 Cin:最大14.7pF FUJITSU MICROELECTRONICS LIMITED A/Dコンバータ CM71-10159-2 第 23 章 A/D コンバータ 23.2 A/D コンバータのブロックダイヤグラム MB91461 A/D コンバータのブロックダイヤグラム 23.2 図 23.2-1 に , A/D コンバータのブロックダイヤグラムを示します。 ■ A/D コンバータのブロックダイヤグラム 図 23.2-1 A/D コンバータのブロックダイヤグラム AVRH/ AVCC AVRL AVSS D/Aコンバータ ・・・ AN12 逐次比較レジスタ 比較器 デコーダ サンプル& ホールド回路 データレジスタ 内部データバス AN0 入力回路 MPX A/D制御レジスタ0 A/D制御レジスタ1 ATGX端子 動作クロック 16ビットリロードタイマ7 CLKP CM71-10159-2 プリスケーラ FUJITSU MICROELECTRONICS LIMITED 601 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ 23.3 MB91461 A/D コンバータのレジスタ A/D コンバータで使用するレジスタの構成および機能について説明します。 ■ A/D コンバータのレジスタ概要 A/D コンバータのレジスタには , 以下の 6 種類があります。 • アナログ入力許可レジスタ (ADER) • 制御ステータスレジスタ (ADCS) • データレジスタ (ADCR) • 変換時間設定レジスタ (ADCT) • 開始チャネル設定レジスタ (ADSC) • 終了チャネル設定レジスタ (ADEC) ■ レジスタ一覧 図 23.3-1 レジスタ一覧 ADERH ( 下位 ) bit 7 6 5 4 3 2 1 0 − − − − − − − − リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 − − − リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 アドレス : 0001A1H ADERL ( 上位 ) アドレス : 0001A2H ADE12 ADE11 ADE10 ADE9 ADE8 ADERL ( 下位 ) アドレス : 0001A3H ADE7 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 14 13 12 11 10 9 8 INT INTE PAUS STS1 STS0 STRT 予約 ADCS1 bit 15 アドレス : 0001A4H BUSY リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 ( 続く ) 602 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 ( 続き ) ADCS0 bit 7 6 5 4 3 2 1 0 アドレス : 0001A5H MD1 MD0 S10 ACH4 ACH3 ACH2 ACH1 ACH0 リード / ライト R/W R/W R/W R R R R R 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 − − − − − − D9 D8 リード / ライト − − − − − − R R 初期値 − − − − − − X X bit 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 リード / ライト R R R R R R R R 初期値 X X X X X X X X 14 13 12 11 10 9 8 CT5 CT4 CT3 CT2 CT1 CT0 ST9 ST8 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 0 0 bit 7 6 5 4 3 2 1 0 ST7 ST6 ST5 ST4 ST3 ST2 ST1 ST0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 0 1 1 0 0 bit 15 14 13 12 11 10 9 8 − − − − ANS3 ANS2 ANS1 ANS0 リード / ライト − − − − R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 bit 7 6 5 4 3 2 1 0 − − − − ANE3 ANE2 ANE1 ANE0 リード / ライト − − − − R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 ADCR1 アドレス : 0001A6H ADCR0 アドレス : 0001A7H ADCT1 bit 15 アドレス : 0001A8H ADCT0 アドレス : 0001A9H ADSCH アドレス : 0001AAH ADECH アドレス : 0001ABH CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 603 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ 23.3.1 MB91461 アナログ入力許可レジスタ (ADER) アナログ入力に使用される端子に対応する ADER ビットに常に "1" を書き込んでく ださい。 ■ A/D 許可レジスタ (ADER) 図 23.3-2 A/D 許可レジスタ (ADER) のビット構成 ADERH ( 下位 ) bit 7 6 5 4 3 2 1 0 − − − − − − − − リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 15 14 13 12 11 10 9 8 − − − リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 bit 7 6 5 4 3 2 1 0 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0 アドレス : 0001A1H ADERL ( 上位 ) アドレス : 0001A2H ADE12 ADE11 ADE10 ADE9 ADE8 ADERL ( 下位 ) アドレス : 0001A3H ADE7 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 [bit7 ∼ bit0] 予約ビット 予約ビットです。必ず "0" を設定してください。 [bit12 ∼ bit0] ADE12 ∼ ADE0: A/D 入力許可 ADE 機能 0 汎用ポート [ 初期値 ] 1 アナログ入力 リセット時は 00000000H に初期化されます。 開始チャネル , 終了チャネルのアナログ入力許可レジスタには必ず "1" を書いてく ださい。 604 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 A/D 制御ステータスレジスタ (ADCS) 23.3.2 A/D 制御ステータスレジスタ (ADCS) は , A/D コンバータの制御およびステータス表 示を行います。A/D 変換中には ADCS レジスタの更新を行わないでください。 ■ A/D 制御ステータスレジスタ 1 (ADCS1) 図 23.3-3 A/D 制御ステータスレジスタ 1 (ADCS1) のビット構成 ADCS1 bit 7 アドレス : 0001A4H BUSY 6 5 4 3 2 1 0 INT INTE PAUS STS1 STS0 STRT 予約 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 0 0 0 0 0 [bit7] BUSY : ビジーフラグおよび停止 BUSY 機能 読出し A/D コンバータ動作表示用のビットです。 A/D 変換起動でセットされて最終チャネルの変換終了でクリアされ ます。 書込み A/D 動作中に本ビットに "0" を書き込むと強制的にクリアされます。 連続 , 停止モード時の強制終了に利用します。 動作表示用のビットに "1" を書き込むことはできません。 リードモディファイライト (RMW) 系命令では "1" が読まれます。 単発モードでは設定された最終チャネルの A/D 変換終了でクリアされます。 連続 , 停止モードでは "0" 書込みで停止するまでクリアされません。 リセット時にこのビットは "0" に初期化されます。 <注意事項> 強制終了とソフト起動を同時に行わないでください (BUSY = 0, STRT = 1)。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 605 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 [bit6] INT : 割込み 変換データが ADCR に書き込まれると設定されます。 bit5 (INTE) が "1" のときに本ビットが設定されると割込み要求が発生します。 クリアは "0" 書込みで行われます。 リセット時にこのビットは "0" に初期化されます。 DMA を使用した場合は DMA 転送終了時にこのビットはクリアされます。 <注意事項> INT ビットの "0" 書込みクリアは A/D 停止中に行ってください。 [bit5] INTE : 割込み許可 このビットは変換終了による割込みの許可・禁止を指定します。 INTE 機能 0 割込み禁止 [ 初期値 ] 1 割込み許可 リセット時にこのビットは "0" に初期化されます。 [bit4] PAUS : A/D 変換一時停止 A/D 変換動作が一時的に停止した場合に設定されます。 A/D 変換結果を格納するレジスタが 1 つのため , 連続で変換した場合 , 変換結果を DMA で転送しなければ前データが壊れてしまいます。 これを保護するためにデータレジスタの内容を DMA で転送しなければ次の変換 データが格納されないようになっています。この間 , A/D 変換動作は停止します。 DMA で転送を終了すると A/D は変換を再開します。 このビットは DMA を使用したときのみ有効です。 - このビットのクリアは "0" 書込みでのみ可能です (DMA 転送終了ではクリアされません ) 。 ただし , DMA 転送待ち状態のときはクリアできません。 - 変換データの保護機能に関しては「23.4 A/D コンバータの動作」を参照してくだ さい。 - リセット時にこのビットは "0" に初期化されます。 606 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 [bit3, bit2] STS1, STS0 : A/D 起動要因選択 リセット時にこれらのビットは 00B に初期化されます。 このビットの設定により A/D 起動要因を選択します。 STS1 STS0 0 0 ソフト起動 [ 初期値 ] 0 1 外部端子トリガでの起動とソフト起動 1 0 16 ビットリロードタイマでの起動とソフト起動 1 1 外部端子トリガ , 16 ビットリロードタイマでの起動とソフ ト起動 機能 2 つ以上の起動要因が許されているモードでは最初に生じた要因により A/D 変換が 起動されます。 起動要因の設定は書き換えられると直ちに変わりますので , A/D 変換中に書き換え るときには注意してください。 - 外部端子トリガは立下りエッジを検出します。外部トリガ入力レベルが "L" のと きに本ビットを書き換えて外部端子トリガ起動に設定するとA/Dが起動する場合 があります。 - 16 ビットリロードタイマ選択時は , 16 ビットリロードタイマ 7 出力が選択され , 16 ビットリロードタイマ出力の立上りエッジを検出します。 A/D の設定と 16 ビッ トリロードタイマ設定の順序については「第 17 章 16 ビットリロードタイマ」を 参照してください。 [bit1] STRT : 開始 このビットに "1" を書き込むことにより A/D を起動 ( ソフト起動 ) します。 再起動するときは , 再び "1" を書き込んでください。 リセット時にこのビットは "0" に初期化されます。 連続モード時および停止モード時は動作機能上 , 再起動しません。"1" を書き込む前 に BUSY ビットをチェックしてください (BUSY ビットをクリアしてから起動して ください ) 。 強制終了とソフト起動を同時に行わないでください (BUSY = 0, STRT = 1)。 [bit0] 予約ビット このビットには必ず "0" を設定してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 607 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 ■ A/D 制御ステータスレジスタ 0 (ADCS0) 図 23.3-4 A/D 制御ステータスレジスタ 0 (ADCS0) のビット構成 ADCS0 bit 7 6 5 4 3 2 1 0 アドレス : 0001A5H MD1 MD0 S10 ACH4 ACH3 ACH2 ACH1 ACH0 リード / ライト R/W R/W R/W R R R R R 初期値 0 0 0 0 0 0 0 0 [bit7, bit6] MD1, MD0 : A/D 変換モード設定 MD1, MD0 ビットは , 動作モードを設定します。 リセット時にはこれらのビットは 00B に初期化されます。 MD1 MD0 0 0 単発モード , 動作中の再起動は不可能 [ 初期値 ] 0 1 単発モード , 動作中の再起動は不可能 1 0 連続モード , 動作中の再起動は不可能 1 1 停止モード , 動作中の再起動は不可能 動作モード • 単発モード ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変 換を連続して行い , すべてのチャネルの変換が終了すると停止します。 • 連続モード ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで A/D 変 換を繰り返し行います。 • 停止モード ANS4 ∼ ANS0 の設定チャネルから ANE4 ∼ ANE0 の設定チャネルまで 1 チャネ ルごとに A/D 変換を行い , 一時停止します。変換再開は起動要因発生によって行 われます。 • 連続モード , 停止モードで A/D 変換を起動すると , BUSY ビットで強制終了する まで変換動作を続けます。 • 強制終了は BUSY ビットに "0" を書き込むことにより行われます。 • 強制終了後の起動時は ANS4 ∼ ANS0 の設定チャネルから変換されます。 • 単発 , 連続 , 停止の各モードでの再起動不可能はタイマ , 外部トリガ , ソフトすべ ての起動に適用されます。 608 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 [bit5] S10 このビットは変換の分解能を指定します。"0" に設定されると 10 ビットの A/D 変換 が行われます。その他の場合には 8 ビットの A/D 変換が行われてその結果は ADCR0 に記憶されます。 リセット時にこのビットは "0" に初期化されます。 [bit4 ∼ bit0] ACH4 ∼ ACH0 : アナログ変換選択チャネル これらのビットにより現在 A/D 変換中のチャネルを表します。 リセット時にこれらのビットは 00000B に初期化されます。 CM71-10159-2 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 ACH 機能 読出し A/D 変換 (BUSY ビット= 1) の間 , 現在の変換チャネルを本ビット 群で表します。 強制終了 (BUSY ビット= 0) により停止した場合は変換が停止さ れたチャネルを表します。 書込み これらのビットへの書込みは無効です。 FUJITSU MICROELECTRONICS LIMITED 609 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ 23.3.3 MB91461 データレジスタ (ADCR1, ADCR0) データレジスタ (ADCR0, ADCR1) は , 変換の結果として生成されたデジタル値を記 憶するために使用されるものです。ADCR0 は下位 8 ビットを記憶し , ADCR1 は変 換結果の最上位の 2 ビットを記憶します。これらのレジスタ値は変換が完了するた びに書き換えられます。通常は最後の変換値がこのレジスタに記憶されます。 ■ データレジスタ (ADCR1, ADCR0) 図 23.3-5 データレジスタ (ADCR1, ADCR0) のビット構成 ADCR1 bit 15 14 13 12 11 10 9 8 − − − − − − D9 D8 リード / ライト − − − − − − R R 初期値 − − − − − − X X bit 7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 リード / ライト R R R R R R R R 初期値 X X X X X X X X アドレス : 0001A6H ADCR0 アドレス : 0001A7H ADCR1 の bit15 ∼ bit10 からは常に 000000B が読み出されます。 変換データの保護機能を利用することができます。 「23.4 A/D コンバータの動作」を参 照してください。 610 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 変換時間設定レジスタ (ADCT) 23.3.4 A/D 変換時間設定レジスタ (ADCT) はアナログ入力のサンプリング時間および比較 時間を制御します。ADCT レジスタの設定で A/D の変換時間を設定します。 ADCT レジスタは A/D 変換動作中に書き換えないようにしてください。 ■ 変換時間設定レジスタ 図 23.3-6 変換時間設定レジスタのビット構成 ADCT1 bit 15 14 13 12 11 10 9 8 CT5 CT4 CT3 CT2 CT1 CT0 ST9 ST8 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 0 1 0 0 0 0 bit 7 6 5 4 3 2 1 0 ST7 ST6 ST5 ST4 ST3 ST2 ST1 ST0 リード / ライト R/W R/W R/W R/W R/W R/W R/W R/W 初期値 0 0 1 0 1 1 0 0 アドレス : 0001A8H ADCT0 アドレス : 0001A9H [bit15 ∼ bit10] CT5 ∼ CT0 : A/D 比較時間設定 これらのビットの設定により比較操作時間のクロック分周値を指定します。 CT5 ∼ CT0 の設定を 000001B にすると分周なし= CLKP になります。 CT5 ∼ CT0 の設定を 000000B には設定しないでください。 リセットによりこれらのビットは 000100B に初期化されます。 比較操作時間 (Compare Time) = CT 設定値 × CLKP 周期 × 10 + (4 × CLKP 周期 ) <注意事項> 比較操作時間は 660ns 以上になるよう , CT5 ∼ CT0 を設定してください。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 611 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 [bit9 ∼ bit0] ST9 ∼ ST0 : A/D 入力サンプリング時間設定 これらのビットの設定によりアナログ入力のサンプリング時間を指定します。 リセットによりこれらのビットは 0000101100B に初期化されます。 A/D 変換に必要なサンプリング時間 ( 以下 , 必要サンプリング時間 ) は Rext の値に より決定しますので , 必要サンプリング時間以上になるような ST9 ∼ ST0 の設定が 必要です。 • 必要サンプリング時間の算出式 必要サンプリング時間 (Tsamp) = (Rext + Rin) × Cin × 7 • ST9 ∼ ST0 設定値の算出式 ST9 ∼ ST0 設定値 ≧ 必要サンプリング時間 (Tsamp) ÷ CLKP 周期 例 . CLKP = 18MHz, AVCC ≧ 3.0V, Rext = 15kΩ の場合 Tsamp = (15 × 103 + 1.9 × 103) × 14.7 × 10 − 12 × 7 = 1.74μs → ST = 1.74 × 10 − 6 ÷ (1/(18.0 × 106) ) = 31.3 → 32 (0000100000B) 以上を設 定してください。 <注意事項> ST9 ∼ ST0 に 0000000000B, 0000000001B, 0000000010B は設定しないでください。 サンプリング時間は 400ns 以上になるように , Rext を決定してください。 ■ 推奨設定値 最適な変換時間を達成するために , 以下の設定値が推奨されます。 表 23.3-1 推奨設定値 CLKP (MHz) 比較操作時間 (CT5 ∼ CT0) サンプリング時間 (ST9 ∼ ST0) ADCT 設定値 変換時間 (μs) 9 000001B 0000001001B 0409H 1.56 + 1.00 = 2.56 18 000010B 0000010010B 0812H 1.33 + 1.00 = 2.33 (AVCC ≧ 3.0V, Rext ≦ 5.1kΩ) 612 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 開始チャネル設定レジスタ (ADSCH) 終了チャネル設定レジスタ (ADECH) 23.3.5 A/D 変換の開始チャネルと終了チャネルの設定レジスタです。 ADSCH, ADECH は A/D 変換中に書き換えないでください。 ■ 開始チャネル設定レジスタ (ADSCH)・終了チャネル設定レジスタ (ADECH) 図 23.3-7 開始チャネル設定レジスタ (ADSCH)・終了チャネル設定レジスタ (ADECH) のビット構成 ADSCH bit 15 14 13 12 11 10 9 8 − − − ANS4 ANS3 ANS2 ANS1 ANS0 リード / ライト − − − − R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 bit 7 6 5 4 3 2 1 0 − − − ANE4 ANE3 ANE2 ANE1 ANE0 リード / ライト − − − − R/W R/W R/W R/W 初期値 − − − − 0 0 0 0 アドレス : 0001AAH ADECH アドレス : 0001ABH これらのビットにより A/D 変換の開始チャネルと終了チャネルを設定します。 同一のチャネルが ANS4 ∼ ANS0 および ANE4 ∼ ANE0 に書き込まれると , 変換は 1 つ のチャネルに対してのみ行われます ( シングルチャネル変換 ) 。 連続モード , 停止モードを設定している場合はこれらのビットで設定されたチャネル の変換が終わると ANS4 ∼ ANS0 で設定された開始チャネルに戻ります。 <注意事項> 開始チャネルと終了チャネルの関係は , 常に ANS ≦ ANE となるように設定してくださ い。ANS > ANE とした場合 , 動作は保証されません。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 613 第 23 章 A/D コンバータ 23.3 A/D コンバータのレジスタ MB91461 [bit12 ∼ bit8] ANS4 ∼ ANS0 : A/D 開始チャネル設定 [bit4 ∼ bit0] ANE4 ∼ ANE0 : A/D 終了チャネル設定 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 0 1 1 1 0 0 1 1 1 1 1 x x x x 設定禁止 <注意事項> A/D 開始チャネル設定 (ANS4, ANS3, ANS2, ANS1, ANS0) に開始チャネルを設定した後 に , 本レジスタのビットをリードモディファイライト (RMW) 系命令で設定しないでくだ さい。 ANS4, ANS3, ANS2, ANS1, ANS0 ビットは A/D 変換動作が開始するまでは前回の変換 チャネルが読み出されるため , ANS4, ANS3, ANS2, ANS1, ANS0 ビットに開始チャネル を設定した後に , 本レジスタのビットをリードモディファイライト (RMW) 系命令で設定 した場合 , ANE4, ANE3, ANE2, ANE1, ANE0 ビットの値が書き換わる可能性があります。 614 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 23 章 A/D コンバータ 23.4 A/D コンバータの動作 MB91461 23.4 A/D コンバータの動作 A/D コンバータは逐次比較方式で作動し , 分解能は 10 ビットまたは 8 ビットを選択 することができます。A/D コンバータの動作モードを説明します。 ■ A/D 変換データ 本 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 ⇒ AN1 ( 繰返し ) • ANS = 00010B, ANE = 00010B 開始 ⇒ AN2 ⇒ AN2 ⇒ AN2 ( 繰返し ) 連続モードで変換させると BUSY ビットに "0" を書き込むまで変換を繰り返し続けま す (BUSY ビットに "0" を書き込む→強制終了 ) 。強制終了を行うと変換は途中で止まっ てしまうため , 注意してください ( 強制終了した場合 , 変換レジスタには変換完了した 前データが格納されています ) 。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 615 第 23 章 A/D コンバータ 23.4 A/D コンバータの動作 MB91461 ■ 停止モード 停止モードは , ANS ビットと ANE ビットで設定されたアナログ入力を順に変換してい きますが , 1 チャネル変換するたびに変換動作を一時停止します。一時停止を解除する にはもう一度起動をかけることにより行われます。 ANE ビットで設定された終了チャネルまで変換が終わると ANS のアナログ入力に戻 り変換動作を続けます。開始チャネルと終了チャネルが同じ (ANS = ANE) であれば変 換は一方のチャネルに対してのみ実行されます。 【例】 • ANS = 00000B, ANE = 00011B 開始 ⇒ AN0 ⇒ 停止⇒起動 ⇒ AN1 ⇒ 停止⇒起動 ⇒ AN2 ⇒ 停止⇒起動 ⇒ AN3 ⇒ 停止⇒起動 ⇒ AN0 ⇒ 停止⇒起動 ⇒ AN1 ( 繰返し ) • ANS = 00010B, ANE = 00010B 開始 ⇒ AN2 ⇒ 停止⇒起動 ⇒ AN2 ⇒ 停止⇒起動 ⇒ AN2 ( 繰返し ) このときの起動要因は STS1, STS0 で設定されたものとなります。 このモードを使用することにより変換開始の同期をかけることが可能です。 616 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 第 24 章 フラッシュメモリサポート フラッシュメモリのシリアルプログラミングのサ ポートについて説明します。 24.1 フラッシュメモリのシリアルプログラミング CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 617 第 24 章 フラッシュメモリサポート 24.1 フラッシュメモリのシリアルプログラミング 24.1 MB91461 フラッシュメモリのシリアルプログラミング MB91461 は , 外部バスに接続されたフラッシュメモリに対してのシリアルプログラ ミングをサポートしています。 ■ フラッシュメモリシリアルプログラミング オンボードでの FLASH シリアルプログラミングのサポート機能があります。これはシ リアルダウンロード機能とよばれるものです。この機能ではデータを内部の RAM に ダウンロードして , ダウンロードされたアドレスにジャンプし , プログラムを実行する ことができます。この機能を使用するためには, いくつかのポート設定とモード端末の 設定が必要です。 表 24.1-1 シリアルダウロードを使うための設定 P15_2 P15_3 0 0 非同期シリアルダウンロード 0 1 同期シリアルダウンロード シリアル通信機能 P15 と モード端子の設定 (MD3 ∼ MD0=0100B) をしてリセット (INITX) を解除すると , シ リアルダウンロード機能が使えるようになります。シリアルダウンロードでは LINUART ch.0(SIN0, SOT0, SCK0) が使用されます。通信条件は以下のようになります。 表 24.1-2 シリアルダウンロードでの通信条件 通信モード クロック パリティ ストップビット データ長 転送方向 Asynchronous 内部 なし 1 8 bit LSB から Synchronous 外部 なし なし 8 bit LSB から ボーレートジェネレータは以下のように設定されます。 表 24.1-3 ボーレート設定 水晶 618 BGR0 ボーレート 誤差 10MHz BGR0 = 103H 4808bps 0.16%(4800 に対して ) 20MHz BGR0 = 103H 9615bps 0.16%(9600 に対して ) FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 各 CPU ステートにおける端子状態 , リトル・エン ディアン領域を利用する際の注意事項 , FR ファミ リの命令一覧 , および MB91461 を使用する際の注 意事項について説明します。 付録 A 命令一覧 付録 B I/O マップ 付録 C 割込みベクタ 付録 D DMA 転送要求要因 付録 E シリアル書込み時の端子状態 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 619 付録 MB91461 付録 A 命令一覧 MB91460 スーパーシリーズ CPU の命令一覧を示します。 A.1 記号の意味 A.2 命令一覧表 A.3 命令マップ A.4 命令フォーマット TYPE-E の命令マップ 管理番号 : CM71-00504-1 620 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 A.1 記号の意味 命令一覧表に用いている記号の意味を説明します。 A.1.1 ニーモニック欄および動作欄 命令一覧表のニーモニック欄および動作欄に使用されている記号です。 i4 4 ビット即値です。ゼロ拡張の場合は 0(0H) ∼ 15(FH), マイナス拡張の場合は -16(0H) ∼ -1(FH) の指定ができます。 付表 A.1-1 4 ビット即値 (i4) のゼロ拡張とマイナス拡張の値 ビットパターン 指定される値 ゼロ拡張 マイナス拡張 0000B 0 -16 0001B 1 -15 0010B 2 -14 ・・・ 1101B 13 -3 1110B 14 -2 1111B 15 -1 i8 8 ビット即値です。0 (00H) ∼ 255 (FFH) の指定ができます。 i20 20 ビット即値です。0 (00000H) ∼ 1,048,575 (FFFFFH) の指定ができます。 i32 32 ビット即値です。0 (0000 0000H) ∼ 4,294,967,295 (FFFF FFFFH) の指定ができます。 s8 符号付き 8 ビット即値です。-128 (80H) ∼ 127 (7FH) の指定ができます。 s10 符号付き10ビット即値です。4の倍数で-512 (200H)∼508 (1FCH)の指定ができます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 621 付録 MB91461 u4 符号なし 4 ビット即値です。0 (0H) ∼ 15 (FH) の指定ができます。 u8 符号なし 8 ビット即値です。0 (00H) ∼ 255 (FFH) の指定ができます。 u10 符号なし 10 ビット即値です。4 の倍数で 0 (000H) ∼ 1020 (3FCH) の指定ができます。 udisp6 符号なし 6 ビットアドレス値です。 4 の倍数で 0 (00H) ∼ 60 (3CH) の指定ができます。 disp8 符号付き 8 ビットアドレス値です。-128(80H) ∼ 127(7FH) の指定ができます。 disp9 符号付き 9 ビットアドレス値です。2 の倍数で -256(100H) ∼ 254(0FEH) の指定がで きます。 disp10 符号付き 10 ビットアドレス値です。4 の倍数で -512(200H) ∼ 508(1FCH) の指定がで きます。 dir8 符号なし 8 ビットアドレス値です。0 (00H) ∼ 255 (FFH) の指定ができます。 dir9 符号なし 9 ビットアドレス値です。2 の倍数で 0 (000H) ∼ 510 (1FEH) の指定ができ ます。 dir10 符号なし 10 ビットアドレス値です。4 の倍数で 0 (000H) ∼ 1020 (3FCH) の指定がで きます。 label9 分岐アドレスです。 プログラムカウンタ (PC)+2 の値に対して , 2 の倍数で -256 (100H) ∼ 254 (0FEH) の範囲の指定ができます。 label12 分岐アドレスです。プログラムカウンタ (PC)+2 の値に対して , 2 の倍数で -2048 (800H) ∼ 2046 (7FEH) の範囲の指定ができます。 622 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 rel8 符号付き 8 ビット相対アドレス値です。プログラムカウンタ (PC)+2 の値に対して , rel8 を 2 倍した値を加算した結果が分岐先アドレスを示します。-128 (80H) ∼ 127 (7FH) の指定ができます。 rel11 符号付き 11 ビット相対アドレス値です。プログラムカウンタ (PC)+2 の値に対して , rel11 を 2 倍した値を加算した結果が分岐先アドレスを示します。-1024 (400H) ∼ 1023 (3FFH) の指定ができます。 Ri, Rj 汎用レジスタ (R0 ∼ R15) を示します。 付表 A.1-2 Rj/Ri による汎用レジスタの指定 Ri / Rj レジスタ Ri / Rj レジスタ 0000 R0 1000 R8 0001 R1 1001 R9 0010 R2 1010 R10 0011 R3 1011 R11 0100 R4 1100 R12 0101 R5 1101 R13 0110 R6 1110 R14 0111 R7 1111 R15 Rs 専用レジスタ (TBR, RP, USP, SSP, MDH, MDL) を示します。 付表 A.1-3 Rs による専用レジスタの指定 Rs Rs 0000 テーブルベースレジスタ (TBR) 1000 0001 リターンポインタ (RP) 1001 0010 システムスタックポインタ (SSP) 1010 0011 ユーザスタックポインタ (USP) 1011 0100 乗除算レジスタ (MDH) 1100 0101 乗除算レジスタ (MDL) 1101 0110 0111 CM71-10159-2 レジスタ Reserved ( 使用禁止 ) レジスタ Reserved ( 使用禁止 ) 1110 1111 FUJITSU MICROELECTRONICS LIMITED 623 付録 MB91461 (reglist) 8 ビットのレジスタリストを示します。各ビットに対応するレジスタが指定されま す。 付表 A.1-4 LDM0, LDM1 命令の reglist のビットと汎用レジスタの対応 LDM0 命令 LDM1 命令 reglist レジスタ reglist レジスタ bit0 R0 bit0 R8 bit1 R1 bit1 R9 bit2 R2 bit2 R10 bit3 R3 bit3 R11 bit4 R4 bit4 R12 bit5 R5 bit5 R13 bit6 R6 bit6 R14 bit7 R7 bit7 R15 付表 A.1-5 STM0, STM1 命令の reglist のビットと汎用レジスタの対応 STM0 命令 A.1.2 STM1 命令 reglist レジスタ reglist レジスタ bit0 R7 bit0 R15 bit1 R6 bit1 R14 bit2 R5 bit2 R13 bit3 R4 bit3 R12 bit4 R3 bit4 R11 bit5 R2 bit5 R10 bit6 R1 bit6 R9 bit7 R0 bit7 R8 動作欄 命令一覧表の動作欄と , 命令細則のオペレーションに使用されている記号です。 extu( ) ゼロ拡張操作を示します。上位ビットの欠けている部分に "0" ビットを補います。 extn( ) マイナス拡張操作を示します。上位ビットの欠けている部分に "1" ビットを補いま す。 exts( ) 符号拡張操作を示します。( ) 内のデータの MSB が "0" ならばゼロ拡張操作をし , MSB が "1" ならばマイナス拡張操作をします。 624 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 & ビット毎の論理積 (AND) を示します。 | ビット毎の論理和 (OR) を示します。 ^ ビット毎の排他的論理和 (EXOR) を示します。 () 間接アドレス指定を示します。( ) 内のレジスタまたは式の示すアドレスのメモリ読 出し・書込み値です。 {} 演算の優先順位を明示するための括弧です。( ) を間接アドレス指定に使用している ため , { } を使用します。 if ( 条件 ) then { 式 } または if ( 条件 ) then { 式 1} else { 式 2} 条件実行を示します。条件が成立したときに then の次の式を , 成立しなかったとき に else の次の式を実行します。式は { } で囲み複数記述できます。 [m:n] ビット m からビット n までを取り出して , 操作対象とします。 A.1.3 型欄 命令一覧表の型欄に使用されている記号です。 A∼H 命令フォーマットを示します。A ∼ H は TYPE-A ∼ TYPE-H に対応します。 A.1.4 OP 欄 命令一覧表の型欄に使用されている 16 進数です。オペコード (OP, SUB-OP) を示しま す。命令フォーマットにより , 次のように分かれます。 TYPE-A, TYPE-C, TYPE-D, TYPE-G OP の 8 ビットを 16 進数 2 桁で示します。 TYPE-B OP の 4 ビットの下位に , 4 ビットの 0000B を付加した 8 ビットを , 16 進数 2 桁で示 します。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 625 付録 MB91461 TYPE-E, TYPE-E’, TYPE-H OP の上位 8 ビットを上位 2 桁 , SUB-OP の 4 ビットを次の 1 桁 , 残りを "0" とした 16 進数 4 桁で示します。 TYPE-F OPの5ビットの下位に, 3ビットの000Bを付加した8ビットを, 16進数2桁で示します。 A.1.5 CYC 欄 命令一覧表の CYC 欄と , 命令細則の実行サイクル数に使用されている記号です。数値 は CPU クロックのサイクル数です。 a メモリアクセスサイクルです。アクセス対象によりサイクル数が変化します。最小 値は 1 サイクルです。 b メモリアクセスサイクルです。アクセス対象によりサイクル数が変化します。最小 値は 1 サイクルです。 ロード動作の対象となるレジスタを直後の命令が参照する場合にはインターロッ クがかかり、実行サイクル数が +1 増加します。 c 直後の命令が、R15、SSP または USP を読み書きするする命令のときにインター ロックがかかります。また、直後の命令が命令フォーマット A のときも、インター ロックがかかります。インターロックがかかると、実行サイクル数は +1 増加して 2 となります。最小値は 1 サイクルです。 d 直後の命令が MDH/MDL を参照する場合にインターロックがかかります。インター ロックがかかると、実行サイクル数は +1 増加して 2 サイクルとなります。最小値 は 1 サイクルです。 DIV1 命令の直後に、特殊レジスタ (TBR, RP, USP, SSP, MDH, MDL) を "ST Rs,@R15-" 命令でアクセスすると、常にインターロックが掛かって、実行サイクル 数は増加して 2 となります。 626 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 A.1.6 FLAG 欄 命令一覧表の FLAG 欄と , 命令細則のフラグ変化に使用されている記号です。コンディ ションコードレジスタ (CCR) のネガティブフラグ (N), ゼロフラグ (Z), オーバフローフ ラグ (V), キャリフラグ (C) の変化を示します。 C 操作の結果で変化します。 − 変化しません。 0 "0" になります。 1 "1" になります。 A.1.7 RMW 欄 命令一覧表の RMW 欄に使用されている記号です。リードモディファイライト系命令 かどうかを示しています。 − 命令はリードモディファイライト系命令ではありません。 ○ 命令はリードモディファイライト系命令です。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 627 付録 MB91461 A.2 命令一覧表 MB91460 スーパーシリーズ CPU の命令一覧を示します。 MB91460 スーパーシリーズ CPU の命令数は全部で 165 あります。以下の 16 種類に分 類しています。 • 加減算命令 (10 命令 ) • 比較演算命令 (3 命令 ) • 論理演算命令 (12 命令 ) • ビット操作演算命令 (8 命令 ) • 乗除算命令 (10 命令 ) • シフト演算命令 (9 命令 ) • 即値データ転送命令 (3 命令 ) • メモリロード命令 (13 命令 ) • メモリストア命令 (13 命令 ) • レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 ) • 遅延なし分岐命令 (23 命令 ) • 遅延分岐命令 (20 命令 ) • ダイレクトアドレス指定命令 (14 命令 ) • その他の命令 (16 命令 ) • リソース命令(2 命令) • コプロセッサ制御命令(4 命令) 付表 A.2-1 加減算命令 (10 命令 ) 型 OP CYC FLAG NZVC RMW ADD Rj, Ri A A6 1 CCCC − Ri+Rj → Ri ADD #i4, Ri C A4 1 CCCC − Ri+extu(i4) → Ri i4 はゼロ拡張 ADD2 #i4, Ri C A5 1 CCCC − Ri+extn(i4) → Ri i4 はマイナス拡張 ADDC Rj, Ri A A7 1 CCCC − Ri+Rj+C → Ri キャリー付き加算 ADDN Rj, Ri A A2 1 ---- − Ri+Rj → Ri ADDN #i4, Ri C A0 1 ---- − Ri+extu(i4) → Ri i4 はゼロ拡張 ADDN2 #i4, Ri C A1 1 ---- − Ri+extn(i4) → Ri i4 はマイナス拡張 SUB Rj, Ri A AC 1 CCCC − Ri-Rj → Ri SUBC Rj, Ri A AD 1 CCCC − Ri-Rj-C → Ri SUBN Rj, Ri A AE 1 ---- − Ri-Rj → Ri ニーモニック 628 動作 FUJITSU MICROELECTRONICS LIMITED 備考 キャリー付き加算 CM71-10159-2 付録 A 命令一覧 MB91461 付表 A.2-2 比較演算命令 (3 命令 ) 型 OP CYC FLAG NZVC RMW CMP Rj, Ri CMP #i4, Ri A C AA A8 1 1 CCCC CCCC − − Ri-Rj Ri-extu(i4) i4 はゼロ拡張 CMP2 #i4, Ri C A9 1 CCCC − Ri-extn(i4) i4 はマイナス拡張 ニーモニック 動作 備考 付表 A.2-3 論理演算命令 (12 命令 ) ニーモニック OP 型 CYC FLAG NZVC RMW 動作 備考 AND Rj, Ri A 82 1 CC-- − Ri & Rj → Ri ワード AND Rj, @Ri A 84 1+2a CC-- ○ (Ri) & Rj → (Ri) ワード ANDH Rj, @Ri A 85 1+2a CC-- ○ (Ri) & Rj → (Ri) ハーフワード ANDB Rj, @Ri A 86 1+2a CC-- ○ (Ri) & Rj → (Ri) バイト OR Rj, Ri A 92 1 CC-- − Ri | Rj → Ri ワード OR Rj, @Ri A 94 1+2a CC-- ○ (Ri) | Rj → (Ri) ワード ORH Rj, @Ri A 95 1+2a CC-- ○ (Ri) | Rj → (Ri) ハーフワード ORB Rj, @Ri A 96 1+2a CC-- ○ (Ri) | Rj → (Ri) バイト EOR Rj, Ri A 9A 1 CC-- − Ri ^ Rj → Ri ワード EOR Rj, @Ri A 9C 1+2a CC-- ○ (Ri) ^ Rj → (Ri) ワード EORH Rj, @Ri A 9D 1+2a CC-- ○ (Ri) ^ Rj → (Ri) ハーフワード EORB Rj, @Ri A 9E 1+2a CC-- ○ (Ri) ^ Rj → (Ri) バイト 付表 A.2-4 ビット操作演算命令 (8 命令 ) 型 OP CYC FLAG NZVC RMW BANDL #u4, @Ri C 80 1+2a ---- ○ (Ri) & {F0H+u4} → (Ri) 下位 4 ビット ○ (Ri) & {u4<<4+0FH} → (Ri) 上位 4 ビット ニーモニック 動作 備考 BANDH #u4, @Ri C 81 1+2a ---- BORL #u4, @Ri C 90 1+2a ---- ○ (Ri) | u4 → (Ri) 下位 4 ビット BORH #u4, @Ri C 91 1+2a ---- ○ (Ri) | {u4<<4} → (Ri) 上位 4 ビット BEORL #u4, @Ri C 98 1+2a ---- ○ (Ri) ^ u4 → (Ri) 下位 4 ビット BEORH #u4, @Ri C 99 1+2a ---- ○ 上位 4 ビット BTSTL #u4, @Ri C 88 2+a 0C-- − (Ri) ^ {u4<<4} → (Ri) (Ri) & u4 BTSTH #u4, @Ri C 89 2+a CC-- − (Ri) & {u4<<4} 上位 4 ビット 下位 4 ビット 付表 A.2-5 乗除算命令 (10 命令 ) 型 OP CYC FLAG NZVC RMW 動作 MUL Rj, Ri A AF 5 CCC- − Ri × Rj → MDH,MDL MULU Rj, Ri A AB 5 CCC- − Ri × Rj → MDH,MDL MULH Rj, Ri A BF 3 CC-- − Ri × Rj → MDL MULUH Rj, Ri DIV0S Ri DIV0U Ri DIV1 Ri DIV2 Ri DIV3 DIV4S A E E E E E’ E’ BB 97-4 97-5 97-6 97-7 9F-6 9F-7 3 1 1 d 1 1 1 CC--------C-C -C-C ------- − − − − − − − Ri × Rj → MDL 符号なし 所定の命令シーケンス にて MDL ÷ Ri → MDL MDL%Ri → MDH ステップ演算 32 ÷ 32 ビット = 32 ビット ニーモニック CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 備考 32 × 32 ビット = 64 ビット 符号なし 16 × 16 ビット = 32 ビット 629 付録 MB91461 付表 A.2-6 シフト演算命令 (9 命令 ) 型 OP CYC FLAG NZVC RMW LSL Rj, Ri A B6 1 CC-C − Ri << Rj → Ri LSL #u4, 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 #u4, 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 #u4, Ri C B8 1 CC-C − Ri >> u4 → Ri ASR2 #u4, Ri C B9 1 CC-C − Ri >> {u4+16} → Ri 備考 論理シフト 論理シフト 算術シフト 付表 A.2-7 即値データ転送命令 (3 命令 ) FLAG NZVC RMW 3 ---- − i32 → Ri 2 ---- − extu(i20) → Ri 上位 12 ビットはゼロ拡張 ---- − extu(i8) → Ri 上位 24 ビットはゼロ拡張 ニーモニック 型 OP CYC LDI:32 #i32, Ri H 9F-8 LDI:20 #i20, Ri G 9B LDI:8 #i8, Ri B C0 1 動作 備考 付表 A.2-8 メモリロード命令 (13 命令 ) ニーモニック 型 LD @Rj, Ri A OP 04 CYC b FLAG NZVC RMW ---- − (Rj) → Ri 動作 LD @(R13, Rj), Ri A 00 b ---- − (R13+Rj) → Ri LD @(R14, disp10), Ri B 20 b ---- − (R14+o8 × 4) → Ri LD @(R15, udisp6), Ri C 03 b ---- − (R15+u4 × 4) → Ri LD @R15+, Ri E 07-0 b ---- − (R15) → Ri, R15+4 → R15 LD @R15+, Rs E 07-8 b ---- − (R15) → Rs, R15+4 → R15 LD @R15+, PS E 07-9 1+a+c CCCC − (R15) → PS, R15+4 → R15 LDUH @Rj, Ri A 05 b ---- − extu((Rj)) → Ri LDUH @(R13, Rj), Ri A 01 b ---- − extu((R13+Rj)) → Ri LDUH @(R14, disp9), Ri B 40 b ---- − extu((R14+o8 × 2)) → Rj LDUB @Rj, Ri A 06 b ---- − extu((Rj)) → Ri LDUB @(R13, Rj), Ri A 02 b ---- − extu((R13+Rj)) → Ri LDUB @(R14, disp8), Ri B 60 b ---- − extu((R14+o8)) → Ri 備考 ワード ハーフ ワード ゼロ拡張 バイト ゼロ拡張 • 命令フォーマット TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記 述の disp8 ∼ disp10, udisp6 の関係は次のようになっています。 o8 = disp8 o8 = disp9 >> 1 o8 = disp10 >> 2 u4 = udisp6 >> 2 630 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 付表 A.2-9 メモリストア命令 (13 命令 ) 型 OP CYC FLAG NZVC RMW ST Ri, @Rj A 14 a ---- − Ri → (Rj) ST Ri, @(R13, Rj) A 10 a ---- − Ri → (R13+Rj) ST Ri, @(R14, disp10) B 30 a ---- − Ri → (R14+o8 × 4) ST Ri, @(R15, udisp6) C 13 a ---- − Ri → (R15+u4 × 4) ST Ri, @-R15 E 17-0 a ---- − R15-4 → R15, Ri → (R15) ST Rs, @-R15 E 17-8 a ---- − R15-4 → R15, Rs → (R15) ST PS, @-R15 E 17-9 a ---- − R15-4 → R15, 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+o8 × 2) 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+o8) ニーモニック 動作 備考 ワード ハーフワード バイト • 命令フォーマット TYPE-B の o8 および TYPE-C の u4 フィールドと , アセンブラ記 述 disp8 ∼ disp10, udisp6 の関係は次のようになっています。 o8 = disp8 o8 = disp9 >> 1 o8 = disp10 >> 2 u4 = udisp6 >> 2 付表 A.2-10 レジスタ間転送命令 / 専用レジスタ転送命令 (5 命令 ) ニーモニック 型 OP CYC FLAG NZVC RMW MOV Rj, Ri A 8B 1 ---- − Rj → Ri 汎用レジスタ間転送 MOV Rs, Ri A B7 1 ---- − Rs → Ri Rs: 専用レジスタ MOV Ri, Rs A B3 1 ---- − Ri → Rs Rs: 専用レジスタ MOV PS, Ri E 17-1 1 ---- − PS → Ri PS: プログラムステータス MOV Ri, PS E 07-1 c CCCC − Ri → PS PS: プログラムステータス CM71-10159-2 動作 備考 FUJITSU MICROELECTRONICS LIMITED 631 付録 MB91461 付表 A.2-11 遅延なし分岐命令 (23 命令 ) 型 OP CYC FLAG NZVC RMW JMP @Ri E 97-0 2 ---- − CALL label12 F D0 2 ---- − CALL @Ri RET E E’ 97-1 97-2 2 2 ------- − − INT #u8 D 1F 3+3a ---- − INTE E’ 9F-3 3+3a ---- − RETI E’ 97-3 2+2a ---- − BNO label9 BRA label9 D D E1 E0 1 2 ------- − − BEQ label9 D E2 2/1 ---- − BNE label9 D E3 2/1 ---- − BC label9 D E4 2/1 ---- − BNC label9 D E5 2/1 ---- − BN label9 D E6 2/1 ---- − BP label9 D E7 2/1 ---- − BV label9 D E8 2/1 ---- − BNV label9 D E9 2/1 ---- − BLT label9 D EA 2/1 ---- − BGE label9 D EB 2/1 ---- − BLE label9 D EC 2/1 ---- − BGT label9 D ED 2/1 ---- − BLS label9 D EE 2/1 ---- − BHI label9 D EF 2/1 ---- − ニーモニック 動作 備考 Ri → PC PC+2 → RP, PC+2+exts(rel11 × 2) → PC PC+2 → RP, Ri → PC RP → PC SSP-4 → SSP, PS → (SSP), SSP-4 → SSP, PC+2 → (SSP), 0 → CCR:I, 0 → CCR:S, (TBR+3FC-u8 × 4) → PC SSP-4 → SSP, PS → (SSP), SSP-4 → SSP, PC+2 → (SSP), 0 → CCR:S, 4 → ILM, (TBR+3D8) → PC (SSP) → PC, SSP+4 → SSP, (SSP) → PS, SSP+4 → SSP 非分岐 PC+2+exts(rel8 × 2) → PC if (Z==1) then PC+2+exts(rel8 × 2) → PC if (Z==0) then PC+2+exts(rel8 × 2) → PC if (C==1) then PC+2+exts(rel8 × 2) → PC if (C==0) then PC+2+exts(rel8 × 2) → PC if (N==1) then PC+2+exts(rel8 × 2) → PC if (N==0) then PC+2+exts(rel8 × 2) → PC if (V==1) then PC+2+exts(rel8 × 2) → PC if (V==0) then PC+2+exts(rel8 × 2) → PC if (V ^ N==1) then PC+2+exts(rel8 × 2) → PC if (V ^ N==0) then PC+2+exts(rel8 × 2) → PC if ({V ^ N} | Z==1) then PC+2+exts(rel8 × 2) → PC if ({V ^ N} | Z==0) then PC+2+exts(rel8 × 2) → PC if (C or Z==1) then PC+2+exts(rel8 × 2) → PC if (C or Z==0) then PC+2+exts(rel8 × 2) → PC • CYC 欄の "2/1" は , 分岐するときは 2, 分岐しないときは 1 を示します。 • RETI を実行するときはスタックフラグ (S) が "0" である必要があります。 • 命令フォーマット TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブラ 記述の label9, label12 の関係は次のようになっています。 rel8 = (label9-PC-2)/2 rel11 = (label12-PC-2)/2 632 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 付表 A.2-12 遅延分岐命令 (20 命令 ) 型 OP CYC FLAG NZVC RMW JMP:D @Ri E 9F-0 1 ---- − Ri → PC CALL:D label12 F D8 1 ---- − PC+4 → RP, PC+2+exts(rel11 × 2) → PC CALL:D @Ri E 9F-1 1 ---- − PC+4 → RP, Ri → PC RET:D E’ 9F-2 1 ---- − RP → PC BNO:D label9 D F1 1 ---- − 非分岐 BRA:D label9 D F0 1 ---- − PC+2+exts(rel8 × 2) → PC BEQ:D label9 D F2 1 ---- − if (Z==1) then PC+2+exts(rel8 × 2) → PC BNE:D label9 D F3 1 ---- − if (Z==0) then PC+2+exts(rel8 × 2) → PC BC:D label9 D F4 1 ---- − if (C==1) then PC+2+exts(rel8 × 2) → PC BNC:D label9 D F5 1 ---- − if (C==0) then PC+2+exts(rel8 × 2) → PC BN:D label9 D F6 1 ---- − if (N==1) then PC+2+exts(rel8 × 2) → PC BP:D label9 D F7 1 ---- − if (N==0) then PC+2+exts(rel8 × 2) → PC BV:D label9 D F8 1 ---- − if (V==1) then PC+2+exts(rel8 × 2) → PC BNV:D label9 D F9 1 ---- − if (V==0) then PC+2+exts(rel8 × 2) → PC BLT:D label9 D FA 1 ---- − if (V ^ N==1) then PC+2+exts(rel8 × 2) → PC BGE:D label9 D FB 1 ---- − if (V ^ N==0) then PC+2+exts(rel8 × 2) → PC BLE:D label9 D FC 1 ---- − if ({V ^ N} | Z==1) then PC+2+exts(rel8 × 2) → PC BGT:D label9 D FD 1 ---- − if ({V ^ N} | Z==0) then PC+2+exts(rel8 × 2) → PC BLS:D label9 D FE 1 ---- − if (C or Z==1) then PC+2+exts(rel8 × 2) → PC BHI:D label9 D FF 1 ---- − if (C or Z==0) then PC+2+exts(rel8 × 2) → PC ニーモニック 動作 備考 • 遅延分岐命令は必ず次の命令 ( 遅延スロット ) を実行してから分岐します。 • 命令フォーマット TYPE-D の rel8 および TYPE-F の rel11 フィールドと , アセンブラ 記述の label9, label12 の関係は次のようになっています。 rel8 = (label9-PC-2)/2 rel11 = (label12-PC-2)/2 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 633 付録 MB91461 付表 A.2-13 ダイレクトアドレス指定命令 (14 命令 ) ニーモニック 型 OP CYC FLAG NZVC RMW DMOV @dir10, R13 D 08 b ---- − (dir8 × 4) → R13 DMOV R13, @dir10 D 18 a ---- − R13 → (dir8 × 4) DMOV @dir10, @R13+ D 0C 2a ---- − (dir8 × 4) → (R13), R13+4 → (R13) DMOV @R13+, @dir10 D 1C 2a ---- − (R13) → (dir8 × 4), R13+4 → (R13) DMOV @dir10, @-R15 D 0B 2a ---- − R15-4 → (R15), (dir8 × 4) → (R15) DMOV @R15+, @dir10 D 1B 2a ---- − (R15) → (dir8 × 4), R15+4 → (R15) DMOVH @dir9, R13 D 09 b ---- − (dir8 × 2) → R13 DMOVH R13, @dir9 D 19 a ---- − R13 → (dir8 × 2) DMOVH @dir9, @R13+ D 0D 2a ---- − (dir8 × 2) → (R13), R13+2 → (R13) DMOVH @R13+, @dir9 D 1D 2a ---- − (R13) → (dir8 × 2), R13+2 → (R13) DMOVB @dir8, R13 D 0A b ---- − (dir8) → R13 DMOVB R13, @dir8 D 1A a ---- − R13 → (dir8) DMOVB @dir8, @R13+ D 0E 2a ---- − (dir8) → (R13), R13+2 → (R13) DMOVB @R13+, @dir8 D 1E 2a ---- − (R13) → (dir8), R13+2 → (R13) 動作 備考 ワード ハーフワード バイト • 命令フォーマット TYPE-D の dir8 フィールドとアセンブラ記述の dir8, dir9, dir10 の 関係は次のようになっています。 dir8 = dir8 dir8 = dir9 >> 1 dir8 = dir10 >> 2 634 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 A 命令一覧 MB91461 付表 A.2-14 その他の命令 (16 命令 ) FLAG NZVC RMW 1 ---- − 何も変化しない c CCCC − CCR & u8 → CCR 93 c CCCC − CCR | u8 → CCR D 87 1 ---- − u8 → ILM ADDSP #s10 D A3 1 ---- − R15+s8 × 4 → R15 EXTSB Ri E 97-8 1 ---- − exts(Ri[7:0]) → Ri 符号拡張 8 → 32 EXTUB Ri E 97-9 1 ---- − extu(Ri[7:0]) → Ri ゼロ拡張 8 → 32 EXTSH Ri E 97-A 1 ---- − exts(Ri[15:0]) → Ri 符号拡張 16 → 32 EXTUH Ri E 97-B 1 ---- − extu(Ri[15:0]) → Ri ゼロ拡張 16 → 32 LDM0 (reglist) D 8C *1 ---- − (R15) → reglist, R15+4 → R15 ロードマルチ R0 ∼ R7 LDM1 (reglist) D 8D *1 ---- − (R15) → reglist, R15+4 → R15 ロードマルチ R8 ∼ R15 STM0 (reglist) D 8E *2 ---- − R15-4 → R15, reglist → (R15) ストアマルチ R0 ∼ R7 STM1 (reglist) D 8F *2 ---- − R15-4 → R15, reglist → (R15) ストアマルチ R8 ∼ R15 ENTER #u10 D 0F 1+a ---- − R14 → (R15-4) , R15-4 → R14, R15-extu(u8 × 4) → R15 関数の入口処理 LEAVE E’ 9F-9 b ---- − R14+4 → R15, (R15-4) → R14 関数の出口処理 XCHB @Rj, Ri A 8A 2a ---- ○ Ri → TEMP, extu((Rj)) → Ri, TEMP → (Rj) セマフォ管理用 バイトデータ 型 OP CYC NOP E’ 9F-A ANDCCR #u8 D 83 ORCCR #u8 D STILM #u8 ニーモニック 動作 備考 ILM 即値セット *1 : LDM0(reglist), LDM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき a × (n - 1) + 1 サイクルとなります。 *2 : STM0(reglist), STM1(reglist) の実行サイクル数は , 指定されたレジスタ数が n のとき a × n + 1 サイクルとなります。 • ADDSP 命令において , 命令フォーマット TYPE-D の s8 フィールドとアセンブラ記 述の s10 の関係は次のようになっています。 s8 = s10 >> 2 • ENTER 命令において , 命令フォーマット中の TYPE-D の u8 フィールドとアセンブ ラ記述の u10 の関係は次のようになっています。 u8 = u10 >> 2 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 635 付録 MB91461 付表 A.2-15 リソース命令 ニーモニック 型 OP CYC FLAG NZVC 動作 備考 LDRES @Ri+, #u4 C BC a ---- (Ri) → u4 のリソース Ri+=4 u4: チャネル番号 STRES #u4, @Ri+ C BD a ---- u4 のリソース→ (Ri) Ri+=4 u4: チャネル番号 <注意事項> 本シリーズでは , リソース命令の対象となる , チャネル番号を持つリソースを搭載してい ないため使用できません。 付表 A.2-16 コプロセッサ制御命令 型 OP CYC FLAG 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 ニーモニック 動作 備考 エラートラップなし <注意事項> - 本シリーズでは , コプロセッサを搭載していないため使用できません。 636 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 CM71-10159-2 ANDH Rj, @Ri ANDB Rj, @Ri STH Ri, @Rj LDUH @ Rj, Ri LDUB @Rj, STB Ri, Ri @Rj 5 6 FUJITSU MICROELECTRONICS LIMITED MOV Rj, Ri LDM0 (reglist) LDM1 (reglist) STM0 (reglist) STM1 (reglist) DMOVB R13, @d8 DMOVH @d9, R13 DMOVB @d8, R13 DMOV @d10, DMOV @-R15 @R15+, @d10 DMOV @d10, DMOV @R13+ @R13+, @d10 DMOVH DMOVH @d9, @R13+ @R13+, @d9 DMOVB DMOVB @d8, @R13+ @R13+, @d8 ENTER #u10 9 A B LSL2 #u4, Ri MOV Ri, Rs LSR Rj, Ri ADD Rj, Ri LSL Rj, Ri ADD2 #i4, Ri C D E F E format EORB Rj, @Ri EORH Rj, @Ri EOR Rj, @Ri ASR2 #u4, Ri MUL Rj, Ri SUBN Rj, Ri SUBC Rj, Ri SUB Rj, Ri MULH Rj, Ri STRES #u4,@Ri+ LDRES @Ri+,#u4 MULUH Rj, Ri CMP Rj, Ri ASR Rj, Ri CMP2 #i4, Ri LD:20 #i20, MULU Rj, Ri Ri XCHB @Rj, EOR Rj, Ri Ri BTSTH #u4, BEORH @Ri #u4, @Ri DMOVH R13, @d9 DMOV @d10, R13 8 INT #u8 ORB Rj, @Ri ORH Rj, @Ri ADDSP #s10 ADDN Rj, Ri C ADDC Rj, STILM #u8 E format MOV Rs, Ri LDUB Ri STB @(R14,disp LDI:8 #i8, Ri, 8), Ri @(R14,disp8) BTSTL #u4, BEORL #u4, Ri CMP #i4, Ri ASR #u4, Ri @Ri @Ri LD @(R14,disp 10), DMOV R13, Ri @d10 E format 7 ST LDUH STH @(R14,disp9), Ri, Ri, @(R14,disp Ri @(R14,disp9) 10) OR Rj, @Ri ADD #i4, Ri LSL #u4, Ri AND Rj, @Ri LD @Rj, Ri ST Ri, @Rj 4 E format ORCCR #u8 ANDCCR #u8 LD @ (R15, ST Ri, udisp6), Ri @(R15, ud6) LSR #u4, Ri B 3 ADDN #i4, Ri A BORH #u4, ADDN2 #i4, LSR2 #u4, @Ri Ri Ri BORL #u4, @Ri 9 AND Rj, Ri OR Rj, Ri 8 LDUB @ STB Ri, R13, Rj), Ri @(R13, Rj) 7 2 6 BANDH #u4, @Ri 5 LDUH @(R13, STH Ri, Rj), Ri @(R13, Rj) 4 1 3 BANDL #u4, @Ri 2 LD @ (R13, ST Ri, Rj), Ri @(R13, Rj) 1 0 0 上位 4 ビット CALL:D label12 CALL label12 D BHI label9 BLS label9 BGT label9 BLE label9 BGE label9 BLT label9 BNV label9 BV label9 BP label9 BN label9 BNC label9 BC label9 BNE label9 BEQ label9 BNO label9 BRA label9 E BHI:D label9 BLS:D label9 BGT:D label9 BLE:D label9 BGE:D label9 BLT:D label9 BNV:D label9 BV:D label9 BP:D label9 BN:D label9 BNC:D label9 BC:D label9 BNE:D label9 BEQ:D label9 BNO:D label9 BRA:D label9 F MB91461 A.3 命令マップ 付録 A 命令一覧 命令マップを示します。 命令ごとに 8 ビットのオペコード (OP) を表にしたものを付表 A.3-1 に示します。オペ コード (OP) が 8 ビット未満の命令は MSB 側に詰めて 8 ビットに換算してあります。 付表 A.3-1 命令マップ 下位 4 ビット 637 付録 MB91461 命令フォーマット TYPE-E の命令マップ A.4 命令フォーマットが TYPE-E, TYPE-E’ の命令の命令マップを示します。 命令ごとに 8 ビットのオペコード (OP) と 4 ビットのサブオペコード (SUB-OP) を表に したものを付表 A.4-1 に示します。 付表 A.4-1 命令フォーマット TYPE-E の命令マップ 上位 8 ビット 下位 4 ビット 07 17 97 9F 0 LD @R15+,Ri ST Ri,@-R15 JMP @Ri JMP:D @Ri 1 MOV Ri,PS MOV PS,Ri CALL @Ri CALL:D @Ri 2 − − RET RET:D 3 − − RETI INTE 4 − − DIV0S Ri − 5 − − DIV0U Ri − 6 − − DIV1 Ri DIV3 7 − − DIV2 Ri DIV4S 8 LD @R15+,Rs ST Rs,@-R15 EXTSB Ri LDI:32 #i32,Ri 9 LD @R15+,PS ST PS,@-R15 EXTUB Ri LEAVE A − − EXTSH Ri NOP B − − EXTUH Ri COPOP #u4,#CC,CRj,CRi C − − − COPLD #u4,#CC,Rj,CRi D − − − COPST #u4,#CC,CRj,Ri E − − − COPSV #u4,#CC,CRj,Ri −:未定義 638 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 MB91461 付録 B I/O マップ 付録 B I/O マップ MB91461 に内蔵された周辺機能の各レジスタには , 付表 B-1 に示すアドレスが割り 当てられています。 ■ I/O マップの読み方 アドレス 000000H レジスタ ブロック +0 +1 +2 +3 PDR0 [R/W]B PDR1 [R/W]B PDR2 [R/W]B PDR3 [R/W]B T-unit XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ポートデータ レジスタ リード/ライト属性, アクセス単位 (B:バイト, H:ハーフワード, W:ワード) リセット後のレジスタ初期値 レジスタ名(1コラムのレジスタが4n番地,2コラムが4n+1番地・・・) 最左のレジスタ番地(ワードでアクセスした際は,1コラム目の レジスタがデータのMSB側となる) レジスタのビット値は , 以下のように初期値を表します。 • "1" : 初期値 "1" • "0" : 初期値 "0" • "X" : 初期値 "X" • "-" : その位置に物理的にレジスタがない CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 639 付録 MB91461 付表 B-1 I/O マップ (1 / 19) アドレス レジスタ 0 1 2 3 PDR14 [R/W]B,H ----XXXX PDR15 [R/W] B,H ----XXXX 000000H 予約 000004H 予約 000008H 予約 00000CH 予約 000010H PDR16 [R/W] B,H X------- PDR17 [R/W] B,H XXXXXXXX PDR18 [R/W] B,H -----XXX PDR19 [R/W] B,H -XXX-XXX 000014H PDR20 [R/W] B,H -XXX-XXX PDR21 [R/W] B,H -XXX-XXX PDR22 [R/W] B,H XXXXXX-X PDR23 [R/W] B,H -X-XXXXX 000018H PDR24 [R/W] B,H XXXXXXXX 00001CH PDR28 [R/W] B,H ---XXXXX ブロック R-bus ポートデータ レジスタ 予約 PDR29 [R/W] B,H XXXXXXXX 000020H 予約 予約 000024H ∼ 00002CH 予約 予約 000030H EIRR0 [R/W] B 00000000 ENIR0 [R/W] B 00000000 ELVR0 [R/W] B,H 00000000 00000000 外部割込み (INT0 ∼ INT7) NMI 000034H EIRR1 [R/W] B 00000000 ENIR1 [R/W] B 00000000 ELVR1 [R/W] B,H 00000000 00000000 外部割込み (INT 8 ∼ INT15 ) 000038H DICR [R/W] B -------0 HRCL [R/W] B 0--11111 予約 遅延割込み 00003CH 予約 000040H SCR00 [R/W,W] B,H,W 00000000 SMR00 [R/W,W] B,H,W 00000000 000044H ESCR00 [R/W] B,H 00000X00 ECCR00 [R/W,R,W] B,H -00000XX 000048H SCR01 [R/W,W] B,H,W 00000000 SMR01 [R/W,W] B,H,W 00000000 00004CH ESCR01 [R/W] B,H 00000X00 ECCR01 [R/W,R,W] B,H -00000XX 640 予約 SSR00 [R/W,R] B,H,W 00001000 RDR00/TDR00 [R/ W] B,H,W 00000000 UART (LIN) 0 予約 SSR01 [R/W,R] B,H,W 00001000 RDR01/TDR01 [R/ W] B,H,W 00000000 LIN-UART 1 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (2 / 19) レジスタ アドレス 0 1 2 3 000050H SCR02 [R/W,W] B,H,W 00000000 SMR02 [R/W,W] B,H,W 00000000 SSR02 [R/W,R] B,H,W 00001000 RDR02/TDR02 [R/ W] B,H,W 00000000 000054H ESCR02 [R/W] B,H 00000X00 ECCR02 [R/W,R,W] B,H -00000XX 000058H SCR03 [R/W,W] B,H,W 00000000 SMR03 [R/W,W] B,H,W 00000000 00005CH ESCR03 [R/W] B,H 00000X00 ECCR03 [R/W,R,W] B,H -00000XX 000060H SCR04 [R/W,W] B,H,W 00000000 SMR04 [R/W,W] B,H,W 00000000 SSR04 [R/W,R] B,H,W 00001000 RDR04/TDR04 [R/ W] B,H,W 00000000 000064H ESCR04 [R/W] B,H,W 00000X00 ECCR04 [R/W,R,W] B,H,W -00000XX FSR04 [R] B,H,W ---00000 FCR04 [R/W] B,H,W 0001-000 000068H SCR05 [R/W,W] B,H,W 00000000 SMR05 [R/W,W] B,H,W 00000000 SSR05 [R/W,R] B,H,W 00001000 RDR05/TDR05 [R/ W] B,H,W 00000000 00006CH ESCR05 [R/W] B,H,W 00000X00 ECCR05 [R/W,R,W] B,H,W -00000XX FSR05 [R] B,H,W ---00000 FCR05 [R/W] B,H,W 0001-000 000070H SCR06 [R/W,W] B,H,W 00000000 SMR06 [R/W,W] B,H,W 00000000 SSR06 [R/W,R] B,H,W 00001000 RDR06/TDR06 [R/ W] B,H,W 00000000 000074H ESCR06 [R/W] B,H,W 00000X00 ECCR06 [R/W,R,W] B,H,W -00000XX FSR06 [R] B,H,W ---00000 FCR06 [R/W] B,H,W 0001-000 ブロック LIN-UART 2 予約 SSR03 [R/W,R] B,H,W 00001000 RDR03/TDR03 [R/ W] B,H,W 00000000 LIN-UART 3 予約 LIN-UART 4 LIN-UART 5 LIN-UART 6 000078H 予約 ∼ 00007CH 予約 000080H BGR100 [R/W] B,H,W 00000000 BGR000 [R/W] B,H,W 00000000 BGR101 [R/W] B,H,W 00000000 BGR001 [R/W] B,H,W 00000000 000084H BGR102 [R/W] B,H,W 00000000 BGR002 [R/W] B,H,W 00000000 BGR103 [R/W] B,H,W 00000000 BGR003 [R/W] B,H,W 00000000 000088H BGR104 [R/W] B,H,W 00000000 BGR004 [R/W] B,H,W 00000000 BGR105 [R/W] B,H,W 00000000 BGR005 [R/W] B,H,W 00000000 00008CH BGR106 [R/W] B,H,W 00000000 BGR006 [R/W] B,H,W 00000000 CM71-10159-2 ボーレート ジェネレータ UART (LIN) 0∼6 予約 FUJITSU MICROELECTRONICS LIMITED 641 付録 MB91461 付表 B-1 I/O マップ (3 / 19) アドレス レジスタ 0 1 2 3 ブロック 000090H ∼ 0000CCH 0000D0H 0000D4H 予約 IBCR0 [R/W] B,H 00000000 IBSR0 [R] B,H 00000000 ITMKH0 [R/W] B,H ITMKL0 [R/W] B,H 00----11 11111111 予約 ITBAH0 [R/W] B,H ------00 ITBAL0 [R/W] B,H 00000000 ISMK0 [R/W] B,H 01111111 ISBA0 [R/W] B,H -0000000 0000D8H 予約 IDAR0 [R/W] B,H 00000000 ICCR0 [R/W] B -0011111 予約 0000DCH IBCR1 [R/W] B,H 00000000 IBSR1 [R] B,H 00000000 ITBAH1 [R/W] B,H ------00 ITBAL1 [R/W] B,H 00000000 ISMK1 [R/W] B,H 01111111 ISBA1 [R/W] B,H -0000000 ICCR1 [R/W] B -0011111 予約 0000E0H 0000E4H ITMKH1 [R/W] B,H ITMKL1 [R/W] B,H 00----11 11111111 予約 IDAR1 [R/W] B,H 00000000 I2C 0 I2C 1 0000E8H ∼ 0000FCH 予約 予約 000100H GCN10 [R/W] B,H 00110010 00010000 予約 GCN20 [R/W] B ----0000 PPG コントロー ル0∼3 000104H GCN11 [R/W] B,H 00110010 00010000 予約 GCN21 [R/W] B ----0000 PPG コントロー ル4∼7 000108H 予約 000110H PTMR00 [R] H 11111111 11111111 000114H PDUT00 [W] H XXXXXXXX XXXXXXXX 000118H PTMR01 [R] H 11111111 11111111 00011CH PDUT01 [W] H XXXXXXXX XXXXXXXX 000120H PTMR02 [R] H 11111111 11111111 000124H PDUT02 [W] H XXXXXXXX XXXXXXXX 000128H PTMR03 [R] H 11111111 11111111 00012CH PDUT03 [W] H XXXXXXXX XXXXXXXX 000130H PTMR04 [R] H 11111111 11111111 000134H PDUT04 [W] H XXXXXXXX XXXXXXXX 642 予約 PCSR00 [W] H XXXXXXXX XXXXXXXX PCNH00 [R/W] B,H 00000000 PCNL00 [R/W] B,H 000000-0 PCSR01 [W] H XXXXXXXX XXXXXXXX PCNH01 [R/W] B,H 00000000 PCNL01 [R/W] B,H 000000-0 PCSR02 [W] H XXXXXXXX XXXXXXXX PCNH02 [R/W] B,H 00000000 PCNL02 [R/W] B,H 000000-0 PCSR03 [W] H XXXXXXXX XXXXXXXX PCNH03 [R/W] B,H 00000000 PCNL03 [R/W] B,H 000000-0 PCSR04 [W] H XXXXXXXX XXXXXXXX PCNH04 [R/W] B,H 00000000 PCNL04 [R/W] B,H 000000-0 FUJITSU MICROELECTRONICS LIMITED PPG 0 PPG 1 PPG 2 PPG 3 PPG 4 CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (4 / 19) レジスタ アドレス 0 1 000138H PTMR05 [R] H 11111111 11111111 00013CH PDUT05 [W] H XXXXXXXX XXXXXXXX 000140H PTMR06 [R] H 11111111 11111111 000144H PDUT06 [W] H XXXXXXXX XXXXXXXX 000148H PTMR07 [R] H 11111111 11111111 00014CH PDUT07 [W] H XXXXXXXX XXXXXXXX 2 3 PCSR05 [W] H XXXXXXXX XXXXXXXX PCNH05 [R/W] B,H 00000000 PCNL05 [R/W] B,H 000000-0 PCSR06 [W] H XXXXXXXX XXXXXXXX PCNH06 [R/W] B,H 00000000 PCNL06 [R/W] B,H 000000-0 PCSR07 [W] H XXXXXXXX XXXXXXXX PCNH07 [R/W] B,H 00000000 PCNL07 [R/W] B,H 000000-0 ブロック PPG 5 PGG 6 PPG 7 000170H ∼ 00017CH 予約 ICS01 [R/W] B 00000000 予約 ICS23 [R/W] B 00000000 000180H 予約 000184H IPCP0 [R] H XXXXXXXX XXXXXXXX IPCP1 [R] H XXXXXXXX XXXXXXXX 000188H IPCP2 [R] H XXXXXXXX XXXXXXXX IPCP3 [R] H XXXXXXXX XXXXXXXX 00018CH OCS01 [R/W] 11101100 00001100 OCS23 [R/W] 11101100 00001100 000190H OCCP0 [R/W] H XXXXXXXX XXXXXXXX OCCP1 [R/W] H XXXXXXXX XXXXXXXX 000194H OCCP2 [R/W] H XXXXXXXX XXXXXXXX OCCP3 [R/W] H XXXXXXXX XXXXXXXX 予約 インプット キャプチャ 0∼3 アウトプット コンペア 0∼3 000198H ∼ 00019CH 予約 ADERH [R/W] B,H,W 00000000 00000000 0001A0H 予約 ADERL [R/W] B,H,W 00000000 00000000 0001A4H ADCS1 [R/W] B,H 00000000 ADCS0 [R/W] B,H 00000000 ADCR1 [R] B,H 000000XX ADCR0 [R] B,H XXXXXXXX 0001A8H ADCT1 [R/W] B,H 00010000 ADCT0 [R/W] B,H 00101100 ADSCH [R/W] B,H ---00000 ADECH [R/W] B,H ---00000 0001ACH 0001B0H 0001B4H CM71-10159-2 予約 TMRLR0 [W] H XXXXXXXX XXXXXXXX 予約 A/D コンバータ 予約 TMR0 [R] H XXXXXXXX XXXXXXXX TMCSRC0 [R/W] B,H ---00000 TMCSRC0 [R/W] B,H 0-000000 FUJITSU MICROELECTRONICS LIMITED リロードタイマ 0 (PPG 0, 1) 643 付録 MB91461 付表 B-1 I/O マップ (5 / 19) アドレス 0001B8H レジスタ 0 1 TMRLR1 [W] H XXXXXXXX XXXXXXXX 0001BCH 予約 0001C0H TMRLR2 [W] H XXXXXXXX XXXXXXXX 0001C4H 予約 0001C8H TMRLR3 [W] H XXXXXXXX XXXXXXXX 0001CCH 2 予約 3 ブロック TMR1 [R] H XXXXXXXX XXXXXXXX TMCSRC1 [R/W] B,H ---00000 TMCSRC1 [R/W] B,H 0-000000 リロードタイマ1 (PPG 2, 3) TMR2 [R] H XXXXXXXX XXXXXXXX TMCSRC2 [R/W] B,H ---00000 TMCSRC2 [R/W] B,H 0-000000 リロードタイマ2 (PPG 4, 5) TMR3 [R] H XXXXXXXX XXXXXXXX TMCSRC3 [R/W] B,H ---00000 TMCSRC3 [R/W] B,H 0-000000 リロードタイマ3 (PPG 6, 7) 0001D0H ∼ 0001E4H 0001E8H 予約 TMRLR7 [W] H XXXXXXXX XXXXXXXX 予約 TMR7 [R] H XXXXXXXX XXXXXXXX リロードタイマ7 (A/D コンバータ ) 0001ECH 予約 TMCSRC7 [R/W] B,H ---00000 0001F0H TCDT0 [R/W] H XXXXXXXX XXXXXXXX 予約 TCCS0 [R/W] -0000000 フリーラン タイマ 0 (ICU 0, 1) 0001F4H TCDT1 [R/W] H XXXXXXXX XXXXXXXX 予約 TCCS1 [R/W] -0000000 フリーラン タイマ 1 (ICU 2, 3) 0001F8H TCDT2 [R/W] H XXXXXXXX XXXXXXXX 予約 TCCS2 [R/W] -0000000 フリーラン タイマ 2 (OCU 0, 1) 0001FCH TCDT3 [R/W] H XXXXXXXX XXXXXXXX 予約 TCCS3 [R/W] -0000000 フリーラン タイマ 3 (OCU 2, 3) TMCSRC7 [R/W] B,H 0-000000 000200H DMACA0 [R/W] B,H,W*1 00000000 0000XXXX XXXXXXXX XXXXXXXX 000204H DMACB0 [R/W] B,H,W 00000000 00000000 XXXXXXXX XXXXXXXX 000208H DMACA1 [R/W] B,H,W*1 00000000 0000XXXX XXXXXXXX XXXXXXXX 00020CH DMACB1 [R/W] B,H,W 00000000 00000000 XXXXXXXX XXXXXXXX 000210H DMACA2 [R/W] B,H,W*1 00000000 0000XXXX XXXXXXXX XXXXXXXX 644 FUJITSU MICROELECTRONICS LIMITED DMAC CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (6 / 19) レジスタ アドレス 0 1 2 3 000214H DMACB2 [R/W] B,H,W 00000000 00000000 XXXXXXXX XXXXXXXX 000218H DMACA3 [R/W] B,H,W*1 00000000 0000XXXX XXXXXXXX XXXXXXXX 00021CH DMACB3 [R/W] B,H,W 00000000 00000000 XXXXXXXX XXXXXXXX 000220H DMACA4 [R/W] B,H,W*1 00000000 0000XXXX XXXXXXXX XXXXXXXX 000224H DMACB4 [R/W] B,H,W 00000000 00000000 XXXXXXXX XXXXXXXX ブロック DMAC 000228H ∼ 00023CH 000240H 予約 DMACR [R/W] B,H,W 00--0000 予約 000244H ∼ 000254H 予約 予約 000258H ∼ 000364H 000368H 00036CH 予約 IBCR2 [R/W] B,H 00000000 IBSR2 [R] B,H 00000000 ITMKH2 [R/W] B,H ITMKL2 [R/W] B,H 00----11 11111111 000370H 予約 ITBAH2 [R/W] B,H ------00 ITBAL2 [R/W] B,H 00000000 ISMK2 [R/W] B,H 01111111 ISBA2 [R/W] B,H -0000000 ICCR2 [R/W] B -0011111 予約 IDAR2 [R/W] B,H 00000000 I2C 2 000374H ∼ 0003BCH 予約 0003C0H 予約 0003C4H 予約 0003D0H 0003E4H ISIZE [R/W] B ------11 予約 予約 予約 ICHRC [R/W] B 0-000000 予約 命令キャッシュ 命令キャッシュ 0003E8H ∼ 0003ECH 0003F0H CM71-10159-2 予約 予約 BSD0 [W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ビットサーチ モジュール FUJITSU MICROELECTRONICS LIMITED 645 付録 MB91461 付表 B-1 I/O マップ (7 / 19) アドレス レジスタ 0 1 2 3 0003F4H BSD1 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0003F8H BSDC [W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0003FCH BSRR [R] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX ブロック ビットサーチ モジュール 000400H 予約 ∼ 00043CH 予約 000440H ICR00 [R/W] B,H,W ICR01 [R/W] B,H,W ICR02 [R/W] B,H,W ICR03 [R/W] B,H,W ---11111 ---11111 ---11111 ---11111 000444H ICR04 [R/W] B,H,W ICR05 [R/W] B,H,W ICR06 [R/W] B,H,W ICR07 [R/W] B,H,W ---11111 ---11111 ---11111 ---11111 000448H ICR08 [R/W] B,H,W ICR09 [R/W] B,H,W ---11111 ---11111 予約 ICR11 [R/W] B,H,W ---11111 00044CH ICR12 [R/W] B,H,W ICR13 [R/W] B,H,W ---11111 ---11111 予約 予約 000450H ICR16 [R/W] B,H,W ---11111 予約 ICR19 [R/W] B,H,W ---11111 000454H ICR20 [R/W] B,H,W ICR21 [R/W] B,H,W ICR22 [R/W] B,H,W ICR23 [R/W] B,H,W ---11111 ---11111 ---11111 ---11111 予約 000458H 予約 ICR25 [R/W] B,H,W ICR26 [R/W] B,H,W ICR27 [R/W] B,H,W ---11111 ---11111 ---11111 00045CH 予約 ICR29 [R/W] B,H,W ---11111 予約 予約 予約 000460H 予約 予約 000464H 予約 予約 ICR38 [R/W] B,H,W ICR39 [R/W] B,H,W ---11111 ---11111 000468H 予約 予約 ICR42 [R/W] B,H,W ICR43 [R/W] B,H,W ---11111 ---11111 00046CH 予約 予約 000470H 予約 予約 予約 ICR48 [R/W] B,H,W ICR49 [R/W] B,H,W ICR50 [R/W] B,H,W ICR51 [R/W] B,H,W ---11111 ---11111 ---11111 ---11111 000474H 予約 予約 000478H 予約 予約 ICR58 [R/W] B,H,W ICR59 [R/W] B,H,W ---11111 ---11111 00047CH 予約 予約 ICR62 [R/W] B,H,W ICR63 [R/W] B,H,W ---11111 ---11111 646 割込み コントローラ 予約 FUJITSU MICROELECTRONICS LIMITED 予約 CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (8 / 19) レジスタ アドレス 0 1 2 3 000480H RSRR [R/W] B,H,W STCR [R/W] B,H,W TBCR [R/W] B,H,W 10000000 00110011 X0000X00 000484H CLKR [R/W] B,H,W 00000000 000488H 00048CH CTBR [W] B,H,W XXXXXXXX DIVR0 [R/W] B,H,W 00000011 WPR [W] B,H,W XXXXXXXX DIVR1 [R/W] B,H,W 00000000 予約 PLLDIVM [R/W] B,H ---00000 PLLDIVN [R/W] B,H ---00000 000490H ブロック クロック制御 予約 予約 予約 PLL インタフェース 予約 000494H 予約 ∼ 00049CH 予約 0004A0H 予約 0004A4H 予約 0004A8H WTHR [R/W] B,H ---XXXXX WTCER [R/W] B,H ------00 WTCR [R/W] B,H 00000000 000-00-0 WTBR [R/W] B, B,H ---XXXXX XXXXXXXX XXXXXXXX WTMR [R/W] B,H --XXXXXX WTSR [R/W] B --XXXXXX リアルタイム クロック 予約 0004ACH ∼ 0004BCH 0004C0H 予約 0004C8H CAN CANPRE [R/W] B,H 00000000 0004C4H 予約 予約 ( クロック コントロール ) HWDCS [R/W,W] B 00011000 予約 OSCR [R/W] B,H 00---000 インターバル タイマ 予約 0004CCH 予約 0004D0H 予約 ハードウェア ウォッチドッグ 予約 0004D4H SHDE [R/W] B 0------- 0004D8H EXTE [R/W] B,H 00000000 予約 EXTLV [R/W] B,H 00000000 00000000 EXTF [R/W] B,H 00000000 予約 シャットダウン コントローラ 0004DCH ∼ 00063CH CM71-10159-2 予約 FUJITSU MICROELECTRONICS LIMITED 予約 647 付録 MB91461 付表 B-1 I/O マップ (9 / 19) アドレス レジスタ 0 1 2 3 000640H ASR0 [R/W] B,H,W 00000000 00000000 ACR0*2 [R/W] B,H,W 1111XX00 00000000 000644H ASR1 [R/W] B,H,W XXXXXXXX XXXXXXXX ACR1 [R/W] B,H,W XXXXXXXX XXXXXXXX 000648H ASR2 [R/W] B,H,W XXXXXXXX XXXXXXXX ACR2 [R/W] B,H,W XXXXXXXX XXXXXXXX 00064CH ASR3 [R/W] B,H,W XXXXXXXX XXXXXXXX ACR3 [R/W] B,H,W XXXXXXXX XXXXXXXX 000650H ASR4 [R/W] B,H,W XXXXXXXX XXXXXXXX ACR4 [R/W] B,H,W XXXXXXXX XXXXXXXX 000654H 予約 000658H 予約 00065CH 予約 000660H AWR0 [R/W] B,H,W 01111111 11111011 AWR1 [R/W] B,H,W XXXXXXXX XXXXXXXX 000664H AWR2 [R/W] B,H,W XXXXXXXX XXXXXXXX AWR3 [R/W] B,H,W XXXXXXXX XXXXXXXX 000668H AWR4 [R/W] B,H,W XXXXXXXX XXXXXXXX 予約 00066CH 予約 000670H 予約 000674H 000678H 外部バス 予約 IOWR0 [R/W] B,H,W XXXXXXXX IOWR1 [R/W] B,H,W XXXXXXXX 00067CH 000680H ブロック IOWR2 [R/W] B,H,W XXXXXXXX 予約 予約 TCR [R/W]*3 B,H,W 0000XXXX 予約 CSER [R/W] B,H,W CHER [R/W] B,H,W 00000001 11111111 000684H 予約 000688H ∼ 0007F8H 0007FCH 予約 予約 MODR [W] B XXXXXXXX 予約 モードレジスタ 000800H ∼ 000CFCH 648 予約 FUJITSU MICROELECTRONICS LIMITED 予約 CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (10 / 19) レジスタ アドレス 0 1 000D00H 予約 000D04H 予約 000D08H 予約 000D0CH 予約 2 3 PDRD14 [R] B,H ----XXXX PDRD15 [R] B,H ----XXXX 000D10H PDRD16 [R] B,H X------- PDRD17 [R] B,H XXXXXXXX PDRD18 [R] B,H -----XXX PDRD19 [R] B,H -XXX-XXX 000D14H PDRD20 [R] B,H -XXX-XXX PDRD21 [R] B,H -XXX-XXX PDRD22 [R] B,H XXXXXX-X PDRD23 [R] B,H -X-XXXXX 000D18H PDRD24 [R] B,H XXXXXXXX 000D1CH PDRD28 [R] B,H ---XXXXX ブロック R-bus ポート データダイレクト リードレジスタ 予約 PDRD29 [R] B,H XXXXXXXX 000D20H 予約 予約 000D24H ∼ 000D3CH 予約 000D40H 予約 000D44H 予約 000D48H 予約 000D4CH 予約 予約 DDR14 [R/W] B,H ----0000 DDR15 [R/W] B,H ----0000 000D50H DDR16 [R/W] B,H 0------- DDR17 [R/W] B,H 00000000 DDR18 [R/W] B,H -----000 DDR19 [R/W] B,H -000-000 000D54H DDR20 [R/W] B,H -000-000 DDR21 [R/W] B,H -000-000 DDR22 [R/W] B,H 000000-0 DDR23 [R/W] B,H -0-00000 000D58H DDR24 [R/W] B,H ---00000 000D5CH DDR28 [R/W] B,H ---00000 000D60H R-bus ポート 方向レジスタ 予約 DDR29 [R/W] B,H 00000000 予約 予約 000D64H ∼ 000D7CH CM71-10159-2 予約 FUJITSU MICROELECTRONICS LIMITED 予約 649 付録 MB91461 付表 B-1 I/O マップ (11 / 19) アドレス レジスタ 0 1 2 3 PFR14 [R/W] B,H ----0000 PFR15 [R/W] B,H ----0000 000D80H 予約 000D84H 予約 000D88H 予約 000D8CH 予約 000D90H PFR16 [R/W] B,H 0------- PFR17 [R/W] B,H 00000000 PFR18 [R/W] B,H -----000 PFR19 [R/W] B,H -000-000 000D94H PFR20 [R/W] B,H -000-000 PFR21 [R/W] B,H -000-000 PFR22 [R/W] B,H 000000-0 PFR23 [R/W] B,H -0-00000 000D98H PFR24 [R/W] B,H 00000000 000D9CH PFR28 [R/W] B,H ---00000 ブロック R-bus ポート ファンクション レジスタ 予約 PFR29 [R/W] B,H 00000000 000DA0H 予約 予約 000DA4H ∼ 000DBCH 予約 000DC0H 予約 000DC4H 予約 000DC8H 予約 000DCCH 予約 予約 EPFR14 [R/W] B,H ----0000 EPFR15 [R/W] B,H ----0000 000DD0H EPFR16 [R/W] B,H 0------- EPFR17 [R/W] B,H 00000000 EPFR18 [R/W] B,H -----000 EPFR19 [R/W] B,H -000-000 000DD4H EPFR20 [R/W] B,H -000-000 EPFR21 [R/W] B,H -000-000 EPFR22 [R/W] B,H 000000-0 EPFR23 [R/W] B,H -0-00000 000DD8H EPFR24 [R/W] B,H 00000000 000DDCH EPFR28 [R/W] B,H ---00000 000DE0H R-bus 拡張ポート ファンクション レジスタ 予約 EPFR29 [R/W] B,H 00000000 予約 予約 000DE4H ∼ 000DFCH 予約 予約 000E00H ∼ 000E3CH 650 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (12 / 19) レジスタ アドレス 0 1 2 3 PILR14 [R/W] B,H ----0000 PILR15 [R/W] B,H ----0000 000E40H 予約 000E44H 予約 000E48H 予約 000E4CH 予約 000E50H PILR16 [R/W] B,H 0------- PILR17 [R/W] B,H 00000000 PILR18 [R/W] B,H -----000 PILR19 [R/W] B,H -000-000 000E54H PILR20 [R/W] B,H -000-000 PILR21 [R/W] B,H -000-000 PILR22 [R/W] B,H 000000-0 PILR23 [R/W] B,H -0-00000 000E58H PILR24 [R/W] B,H 00000000 000E5CH PILR28 [R/W] B,H ---00000 ブロック R-bus 端子入力レベル 選択レジスタ 予約 PILR29 [R/W] B,H 00000000 予約 000E60H ∼ 000EBCH 予約 000EC0H 予約 000EC4H 予約 000EC8H 予約 000ECCH 予約 PPER14 [R/W] B,H ----0000 PPER15 [R/W] B,H ----0000 000ED0H PPER16 [R/W] B,H 0------- PPER17 [R/W] B,H 00000000 PPER18 [R/W] B,H -----000 PPER19 [R/W] B,H -000-000 000ED4H PPER20 [R/W] B,H -000-000 PPER21 [R/W] B,H -000-000 PPER22 [R/W] B,H 000000-0 PPER23 [R/W] B,H -0-00000 000ED8H PPER24 [R/W] B,H 00000000 000EDCH PPER28 [R/W] B,H ---00000 000EE0H R-bus ポート プルアップ / プルダウン 許可レジスタ 予約 PPER29 [R/W] B,H 00000000 予約 予約 000EE4H ∼ 000EFCH CM71-10159-2 予約 FUJITSU MICROELECTRONICS LIMITED 予約 651 付録 MB91461 付表 B-1 I/O マップ (13 / 19) アドレス レジスタ 0 1 2 3 PPCR14 [R/W] B,H ----1111 PPCR15 [R/W] B,H ----1111 000F00H 予約 000F04H 予約 000F08H 予約 000F0CH 予約 000F10H PPCR16 [R/W] B,H 1------- PPCR17 [R/W] B,H -111-111 PPCR18 [R/W] B,H 111111-1 PPCR19 [R/W] B,H -1-11111 000F14H PPCR20 [R/W] B,H -111-111 PPCR21 [R/W] B,H -111-111 PPCR22 [R/W] B,H 111111-1 PPCR23 [R/W] B,H -1-11111 000F18H PPCR24 [R/W] B,H ---11111 000F1CH PPCR28 [R/W] B,H ---11111 000F20H ブロック R-bus ポート プルアップ / プルダウン 制御レジスタ 予約 PPCR29 [R/W] B,H 11111111 予約 予約 000F24H ∼ 000F3CH 予約 001000H DMASA0 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001004H DMADA0 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001008H DMASA1 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00100CH DMADA1 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001010H DMASA2 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001014H DMADA2 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001018H DMASA3 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00101CH DMADA3 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001020H DMASA4 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001024H DMADA4 [R/W] W XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 652 FUJITSU MICROELECTRONICS LIMITED 予約 DMAC CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (14 / 19) アドレス レジスタ 0 1 2 3 ブロック 001028H ∼ 007FFCH 予約 予約 008000H 予約 ∼ 00BFFCH 00C000H CTRLR0 [R/W] B,H 00000000 00000001 STATR0 [R/W] B,H 00000000 00000000 00C004H ERRCNT0 [R] B,H,W 00000000 00000000 BTR0 [R/W] B,H,W 00100011 00000001 00C008H INTR0 [R]B,H,W 00000000 00000000 TESTR0 [R/W]B,H,W 00000000 X0000000 00C00CH BRPE0 [R/W]B,H,W 00000000 00000000 予約 00C010H IF1CREQ0 [R/W] B,H 00000000 00000001 IF1CMSK0 [R/W] B,H 00000000 00000000 00C014H IF1MSK20 [R/W] B,H,W 11111111 11111111 IF1MSK10 [R/W] B,H,W 11111111 11111111 00C018H IF1ARB20 [R/W] B,H,W 00000000 00000000 IF1ARB10 [R/W] B,H,W 00000000 00000000 00C01CH IF1MCTR0 [R/W] B,H,W 00000000 00000000 予約 00C020H IF1DTA10 [R/W] B,H,W 00000000 00000000 IF1DTA20 [R/W] B,H,W 00000000 00000000 00C024H IF1DTB10 [R/W] B,H,W 00000000 00000000 IF1DTB20 [R/W]B,H,W 00000000 00000000 CAN 0 制御 レジスタ CAN 0 IF 1 レジスタ 00C028H ∼ 00C02CH 予約 00C030H IF1DTA20 [R/W] B,H,W 00000000 00000000 IF1DTA10 [R/W] B,H,W 00000000 00000000 00C034H IF1DTB20 [R/W] B,H,W 00000000 00000000 IF1DTB10 [R/W] B,H,W 00000000 00000000 CAN 0 IF 1 レジスタ 00C038H ∼ 00C03CH CM71-10159-2 予約 FUJITSU MICROELECTRONICS LIMITED 653 付録 MB91461 付表 B-1 I/O マップ (15 / 19) アドレス レジスタ 0 1 2 3 00C040H IF2CREQ0 [R/W] B,H 00000000 00000001 IF2CMSK0 [R/W] B,H 00000000 00000000 00C044H IF2MSK20 [R/W] B,H,W 11111111 11111111 IF2MSK10 [R/W] B,H,W 11111111 11111111 00C048H IF2ARB20 [R/W] B,H,W 00000000 00000000 IF2ARB10 [R/W] B,H,W 00000000 00000000 00C04CH IF2MCTR0 [R/W] B,H,W 00000000 00000000 予約 00C050H IF2DTA10 [R/W] B,H,W 00000000 00000000 IF2DTA20 [R/W] B,H,W 00000000 00000000 00C054H IF2DTB10 [R/W] B,H,W 00000000 00000000 IF2DTB20 [R/W] B,H,W 00000000 00000000 ブロック CAN 0 IF 2 レジスタ 00C058H ∼ 00C05CH 予約 00C060H IF2DTA20 [R/W] B,H,W 00000000 00000000 IF2DTA10 [R/W] B,H,W 00000000 00000000 00C064H IF2DTB20 [R/W] B,H,W 00000000 00000000 IF2DTB10 [R/W] B,H,W 00000000 00000000 00C068H 予約 ∼ 00C07CH 00C080H TREQR20 [R] B,H,W 00000000 00000000 TREQR10 [R] B,H,W 00000000 00000000 00C084H 予約 00C088H 予約 00C08CH 予約 00C090H NEWDT20 [R] B,H,W 00000000 00000000 NEWDT10 [R] B,H,W 00000000 00000000 00C094H 予約 00C098H 予約 00C09CH 予約 00C0A0H 00C0A4H 654 INTPND20 [R] B,H,W 00000000 00000000 CAN 0 ステータス フラグ INTPND10 [R]B,H,W 00000000 00000000 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (16 / 19) アドレス レジスタ 0 1 2 00C0A8H 予約 00C0ACH 予約 00C0B0H MSGVAL20 [R] B,H,W 00000000 00000000 3 ブロック MSGVAL10 [R] B,H,W 00000000 00000000 00C0B4H 予約 00C0B8H 予約 00C0BCH 予約 CAN 0 ステータス フラグ 00C0C0H 予約 ∼ 00C0FCH 00C100H CTRLR1 [R/W] B,H 00000000 00000001 STATR1 [R/W] B,H 00000000 00000000 00C104H ERRCNT1 [R] B,H,W 00000000 00000000 BTR1 [R/W] B,H,W 00100011 00000001 00C108H INTR1 [R] B,H,W 00000000 00000000 TESTR1 [R/W] B,H,W 00000000 X0000000 00C10CH BRPE1 [R/W] B,H,W 00000000 00000000 予約 00C110H IF1CREQ1 [R/W] B,H 00000000 00000001 IF1CMSK1 [R/W] B,H 00000000 00000000 00C114H IF1MSK21 [R/W] B,H,W 11111111 11111111 IF1MSK11 [R/W] B,H,W 11111111 11111111 00C118H IF1ARB21 [R/W] B,H,W 00000000 00000000 IF1ARB11 [R/W] B,H,W 00000000 00000000 00C11CH IF1MCTR1 [R/W] B,H,W 00000000 00000000 予約 00C120H IF1DTA11 [R/W] B,H,W 00000000 00000000 IF1DTA21 [R/W] B,H,W 00000000 00000000 00C124H IF1DTB11 [R/W] B,H,W 00000000 00000000 IF1DTB21 [R/W] B,H,W 00000000 00000000 CAN 1 制御レジスタ CAN 1 IF 1 レジスタ 00C128H 予約 ∼ 00C12CH 00C130H IF1DTA21 [R/W] B,H,W 00000000 00000000 IF1DTA11 [R/W] B,H,W 00000000 00000000 00C134H IF1DTB21 [R/W] B,H,W 00000000 00000000 IF1DTB11 [R/W] B,H,W 00000000 00000000 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 655 付録 MB91461 付表 B-1 I/O マップ (17 / 19) アドレス レジスタ 0 1 2 3 00C138H CAN 1 IF 1 予約 ∼ 00C13CH ブロック レジスタ 00C140H IF2CREQ1 [R/W]B,H 00000000 00000001 IF2CMSK1 [R/W]B,H 00000000 00000000 00C144H IF2MSK21 [R/W]B,H,W 11111111 11111111 IF2MSK11 [R/W]B,H,W 11111111 11111111 00C148H IF2ARB21 [R/W]B,H,W 00000000 00000000 IF2ARB11 [R/W]B,H,W 00000000 00000000 00C14CH IF2MCTR1 [R/W]B,H,W 00000000 00000000 予約 00C150H IF2DTA11 [R/W]B,H,W 00000000 00000000 IF2DTA21 [R/W]B,H,W 00000000 00000000 00C154H IF2DTB11 [R/W]B,H,W 00000000 00000000 IF2DTB21 [R/W]B,H,W 00000000 00000000 CAN 1 IF 2 レジスタ 00C158H ∼ 00C15CH 予約 00C160H IF2DTA21 [R/W]B,H,W 00000000 00000000 IF2DTA11 [R/W]B,H,W 00000000 00000000 00C164H IF2DTB21 [R/W]B,H,W 00000000 00000000 IF2DTB11 [R/W]B,H,W 00000000 00000000 00C168H 予約 ∼ 00C17CH 00C180H TREQR21 [R]B,H,W 00000000 00000000 TREQR11 [R]B,H,W 00000000 00000000 00C184H 予約 00C188H 予約 00C18CH 予約 CAN 1 00C190H NEWDT21 [R]B,H,W 00000000 00000000 NEWDT11 [R]B,H,W 00000000 00000000 00C194H 予約 00C198H 予約 00C19CH 予約 00C1A0H 656 INTPND21 [R]B,H,W 00000000 00000000 ステータス フラグ INTPND11 [R]B,H,W 00000000 00000000 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 B I/O マップ MB91461 付表 B-1 I/O マップ (18 / 19) レジスタ アドレス 0 1 2 00C1A4H 予約 00C1A8H 予約 00C1ACH 予約 MSGVAL21 [R]B,H,W 00000000 00000000 00C1B0H 3 MSGVAL11 [R]B,H,W 00000000 00000000 00C1B4H 予約 00C1B8H 予約 00C1BCH 予約 ブロック CAN 1 ステータス フラグ 00C1C0H ∼ 00C1FCH 予約 00F000H ∼ 00FFFCH 予約 予約 010000H ∼ 013FFCH Cache TAG way 1 (010000H ∼ 0107FCH) 014000H ∼ 017FFCH Cache TAG way 2 (014000H ∼ 0147FCH) 命令キャッシュ 018000H ∼ 01BFFCH Cache RAM way 1 (018000H ∼ 0187FCH) 01C000H ∼ 01FFFCH Cache RAM way 2 (01C000H ∼ 01C7FCH) 020000H ∼ 02FFFCH 030000H ∼ 03FFFCH 予約 予約 I/D-RAM : 64 K バイト ( 命令アクセスは 0 ウェイトサイクル , データアクセスは 1 ウェイトサイクル ) I/D-RAM CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 64 K バイト 657 付録 MB91461 付表 B-1 I/O マップ (19 / 19) アドレス レジスタ 0 1 2 3 ブロック 040000H ∼ 07FFFCH 外部メモリ領域 (256 K バイト ) 080000H ∼ 0BFFFCH 外部メモリ領域 (256 K バイト ) 外部バス 0C0000H ∼ 0FFFF4H 外部メモリ領域 (256 K バイト ) 0FFFF8H FMV [R] 0FFFFCH FRV [R] リセットベクタ / モードベクタ 100000H ∼ 13FFFCH 外部メモリ領域 (256 K バイト ) 140000H ∼ 17FFFCH 外部メモリ領域 (256 K バイト ) 180000H ∼ 1BFFFCH 外部メモリ領域 (256 K バイト ) 外部バス 1C0000H ∼ 1FFFFCH 外部メモリ領域 (256 K バイト ) 200000H ∼ 2FFFFCH 外部メモリ領域 (1 M バイト ) 300000H ∼ 3FFFFCH 外部メモリ領域 (1 M バイト ) *1:DMACA0 ∼ DMACA4 の下位 16 ビット (DTC15 ∼ DTC0) は , バイトのアクセスはできません。 *2:ACR0[11:10] はバス幅に関するモードベクタフェッチ情報によります。 *3:TCR[3:0] INIT value = 0000, RST の後に , 値を保ちます。 658 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 C 割込みベクタ MB91461 付録 C 割込みベクタ 割込みベクタ表は MB91461 の割込み要因とそれに対応するジャンプアドレス ( ベク タアドレス ) を示しています。また , 割込み制御レジスタ (ICR00 ∼ ICR63) との対 応も示しています。 ■ 割込みベクタ 付表 C-1 割込みベクタ (1 / 5) 割込み番号 割込み要因 割込みレベル オフ レジスタ セット 設定 レジスタ アドレス TBR デフォルト のアドレス リソース 番号 *1 10 進 16 進 リセット 0 00H ⎯ ⎯ 3FCH 000FFFFCH 2 モードベクタ 1 01H ⎯ ⎯ 3F8H 000FFFF8H 3 システム予約 2 02H ⎯ ⎯ 3F4H 000FFFF4H ⎯ システム予約 3 03H ⎯ ⎯ 3F0H 000FFFF0H ⎯ システム予約 4 04H ⎯ ⎯ 3ECH 000FFFECH ⎯ システム予約 5 05H ⎯ ⎯ 3E8H 000FFFE8H ⎯ システム予約 6 06H ⎯ ⎯ 3E4H 000FFFE4H ⎯ コプロセッサ不在トラップ 7 07H ⎯ ⎯ 3E0H 000FFFE0H ⎯ コプロセッサエラートラップ 8 08H ⎯ ⎯ 3DCH 000FFFDCH ⎯ INTE 命令 9 09H ⎯ ⎯ 3D8H 000FFFD8H ⎯ 命令ブレーク例外 10 0AH ⎯ ⎯ 3D4H 000FFFD4H ⎯ オペランドブレークトラップ 11 0BH ⎯ ⎯ 3D0H 000FFFD0H ⎯ ステップトレーストラップ 12 0CH ⎯ ⎯ 3CCH 000FFFCCH ⎯ NMI 要求 (tool) 13 0DH ⎯ ⎯ 3C8H 000FFFC8H ⎯ 未定義命令例外 14 0EH ⎯ ⎯ 3C4H 000FFFC4H ⎯ NMI 要求 15 0FH 15 (0FH) 15 (0FH) 固定 固定 3C0H 000FFFC0H ⎯ 外部割込み 0 16 10H 000FFFBCH 外部割込み 1 17 11H 440H 3BCH 0 ICR00 3B8H 000FFFB8H 1 外部割込み 2 18 12H 3B4H 000FFFB4H 2 外部割込み 3 19 13H 3B0H 000FFFB0H 3 外部割込み 4 20 14H 3ACH 000FFFACH ⎯ 外部割込み 5 21 15H 3A8H 000FFFA8H ⎯ 外部割込み 6 22 16H 3A4H 000FFFA4H ⎯ 外部割込み 7 23 3A0H 000FFFA0H ⎯ CM71-10159-2 17H ICR01 ICR02 ICR03 441H 442H 443H FUJITSU MICROELECTRONICS LIMITED 659 付録 MB91461 付表 C-1 割込みベクタ (2 / 5) 割込み番号 割込み要因 10 進 16 進 外部割込み 8 24 18H 外部割込み 9 25 19H 外部割込み 10 26 1AH 外部割込み 11 27 1BH 外部割込み 12 28 1CH 外部割込み 13 29 1DH 外部割込み 14 30 1EH 外部割込み 15 31 1FH リロードタイマ 0 32 20H リロードタイマ 1 33 21H リロードタイマ 2 34 22H リロードタイマ 3 35 23H システム予約 36 24H システム予約 37 25H システム予約 38 26H リロードタイマ 7 39 27H フリーランタイマ 0 40 28H フリーランタイマ 1 41 29H フリーランタイマ 2 42 2AH フリーランタイマ 3 43 2BH システム予約 44 2CH システム予約 45 2DH システム予約 46 2EH システム予約 47 2FH CAN0 48 30H CAN1 49 31H システム予約 50 32H システム予約 51 33H システム予約 52 34H システム予約 53 35H LIN-USART 0 RX 54 36H LIN-USART 0 TX 55 37H LIN-USART 1 RX 56 38H LIN-USART 1 TX 660 57 39H 割込みレベル TBR デフォルト のアドレス リソース 番号 *1 39CH 000FFF9CH ⎯ 398H 000FFF98H ⎯ 394H 000FFF94H ⎯ 390H 000FFF90H ⎯ 38CH 000FFF8CH ⎯ 388H 000FFF88H ⎯ 384H 000FFF84H ⎯ 380H 000FFF80H ⎯ 37CH 000FFF7CH 4 378H 000FFF78H 5 374H 000FFF74H ⎯ 370H 000FFF70H ⎯ 36CH 000FFF6CH ⎯ 368H 000FFF68H ⎯ 364H 000FFF64H ⎯ 360H 000FFF60H ⎯ 35CH 000FFF5CH ⎯ 358H 000FFF58H ⎯ 354H 000FFF54H ⎯ 350H 000FFF50H ⎯ 34CH 000FFF4CH ⎯ 348H 000FFF48H ⎯ 344H 000FFF44H ⎯ 340H 000FFF40H ⎯ 33CH 000FFF3CH ⎯ 338H 000FFF38H ⎯ 334H 000FFF34H ⎯ 330H 000FFF30H ⎯ 32CH 000FFF2CH ⎯ 328H 000FFF28H ⎯ 324H 000FFF24H 6 320H 000FFF20H 7 31CH 000FFF1CH 8 318H 000FFF18H 9 オフ レジスタ セット 設定 レジスタ アドレス ICR04 ICR05 ICR06 ICR07 ICR08 ICR09 ICR10 ICR11 ICR12 ICR13 ICR14 ICR15 ICR16 ICR17 ICR18 ICR19 ICR20 444H 445H 446H 447H 448H 449H 44AH 44BH 44CH 44DH 44EH 44FH 450H 451H 452H 453H 454H FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 C 割込みベクタ MB91461 付表 C-1 割込みベクタ (3 / 5) 割込み番号 割込み要因 LIN-USART 2 RX 10 進 16 進 58 3AH LIN-USART 2 TX 59 3BH LIN-USART 3 RX 60 3CH LIN-USART 3 TX 61 3DH システム予約 62 3EH 遅延割込み 63 3FH システム予約 *2 64 40H システム予約 *2 65 41H LIN-USART 4 RX 66 42H LIN-USART 4 TX 67 43H LIN-USART 5 RX 68 44H LIN-USART 5 TX 69 45H LIN-USART 6 RX 70 46H LIN-USART 6 TX 71 47H システム予約 72 48H システム予約 73 49H I2C_0/I2C_2 74 4AH I2C_1/I2C_3 75 4BH システム予約 76 4CH システム予約 77 4DH システム予約 78 4EH システム予約 79 4FH システム予約 80 50H システム予約 81 51H システム予約 82 52H システム予約 83 53H システム予約 84 54H システム予約 85 55H システム予約 86 56H システム予約 87 57H システム予約 88 58H システム予約 89 59H システム予約 90 5AH システム予約 91 CM71-10159-2 5BH 割込みレベル TBR デフォルト のアドレス リソース 番号 *1 314H 000FFF14H ⎯ 310H 000FFF10H ⎯ 30CH 000FFF0CH ⎯ 308H 000FFF08H ⎯ 304H 000FFF04H ⎯ 300H 000FFF00H ⎯ 2FCH 000FFEFCH ⎯ 2F8H 000FFEF8H ⎯ 2F4H 000FFEF4H 10 2F0H 000FFEF0H 11 2ECH 000FFEECH 12 2E8H 000FFEE8H 13 2E4H 000FFEE4H ⎯ 2E0H 000FFEE0H ⎯ 2DCH 000FFEDCH ⎯ 2D8H 000FFED8H ⎯ 2D4H 000FFED4H ⎯ 2D0H 000FFED0H ⎯ 2CCH 000FFECCH ⎯ 2C8H 000FFEC8H ⎯ 2C4H 000FFEC4H ⎯ 2C0H 000FFEC0H ⎯ 2BCH 000FFEBCH ⎯ 2B8H 000FFEB8H ⎯ 2B4H 000FFEB4H ⎯ 2B0H 000FFEB0H ⎯ 2ACH 000FFEACH ⎯ 2A8H 000FFEA8H ⎯ 2A4H 000FFEA4H ⎯ 2A0H 000FFEA0H ⎯ 29CH 000FFE9CH ⎯ 298H 000FFE98H ⎯ 294H 000FFE94H ⎯ 290H 000FFE90H ⎯ オフ レジスタ セット 設定 レジスタ アドレス ICR21 ICR22 ICR23*3 (ICR24) ICR25 ICR26 ICR27 ICR28 ICR29 ICR30 ICR31 ICR32 ICR33 ICR34 ICR35 ICR36 ICR37 455H 456H 457H 458H 459H 45AH 45BH 45CH 45DH 45EH 45FH 460H 461H 462H 463H 464H 465H FUJITSU MICROELECTRONICS LIMITED 661 付録 MB91461 付表 C-1 割込みベクタ (4 / 5) 割込み番号 割込み要因 10 進 16 進 インプットキャプチャ 0 92 5CH インプットキャプチャ 1 93 5DH インプットキャプチャ 2 94 5EH インプットキャプチャ 3 95 5FH システム予約 96 60H システム予約 97 61H システム予約 98 62H システム予約 99 63H アウトプットコンペア 0 100 64H アウトプットコンペア 1 101 65H アウトプットコンペア 2 102 66H アウトプットコンペア 3 103 67H システム予約 104 68H システム予約 105 69H システム予約 106 6AH システム予約 107 6BH システム予約 108 6CH システム予約 109 6DH システム予約 110 6EH システム予約 111 6FH PPG0 112 70H PPG1 113 71H PPG2 114 72H PPG3 115 73H PPG4 116 74H PPG5 117 75H PPG6 118 76H PPG7 119 77H システム予約 120 78H システム予約 121 79H システム予約 122 7AH システム予約 123 7BH システム予約 124 7CH システム予約 125 662 7DH 割込みレベル TBR デフォルト のアドレス リソース 番号 *1 28CH 000FFE8CH ⎯ 288H 000FFE88H ⎯ 284H 000FFE84H ⎯ 280H 000FFE80H ⎯ 27CH 000FFE7CH ⎯ 278H 000FFE78H ⎯ 274H 000FFE74H ⎯ 270H 000FFE70H ⎯ 26CH 000FFE6CH ⎯ 268H 000FFE68H ⎯ 264H 000FFE64H ⎯ 260H 000FFE60H ⎯ 25CH 000FFE5CH ⎯ 258H 000FFE58H ⎯ 254H 000FFE54H ⎯ 250H 000FFE50H ⎯ 24CH 000FFE4CH ⎯ 248H 000FFE48H ⎯ 244H 000FFE44H ⎯ 240H 000FFE40H ⎯ 23CH 000FFE3CH 15 238H 000FFE38H ⎯ 234H 000FFE34H ⎯ 230H 000FFE30H ⎯ 22CH 000FFE2CH ⎯ 228H 000FFE28H ⎯ 224H 000FFE24H ⎯ 220H 000FFE20H ⎯ 21CH 000FFE1CH ⎯ 218H 000FFE18H ⎯ 214H 000FFE14H ⎯ 210H 000FFE10H ⎯ 20CH 000FFE0CH ⎯ 208H 000FFE08H ⎯ オフ レジスタ セット 設定 レジスタ アドレス ICR38 ICR39 ICR40 ICR41 ICR42 ICR43 ICR44 ICR45 ICR46 ICR47*3 ICR48 ICR49 ICR50 ICR51 ICR52 ICR53 ICR54 466H 467H 468H 469H 46AH 46BH 46CH 46DH 46EH 46FH 470H 471H 472H 473H 474H 475H 476H FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 C 割込みベクタ MB91461 付表 C-1 割込みベクタ (5 / 5) 割込み番号 割込み要因 10 進 16 進 システム予約 126 7EH システム予約 127 7FH システム予約 128 80H システム予約 129 81H システム予約 130 82H システム予約 131 83H リアルタイムクロック 132 84H システム予約 133 85H A/D コンバータ 0 134 86H システム予約 135 87H システム予約 136 88H システム予約 137 89H システム予約 138 8AH システム予約 139 8BH タイムベースオーバフロー 140 8CH PLL クロックギア 141 8DH DMA コントローラ 142 8EH メイン / サブ発振安定待ち 143 8FH システム予約 144 90H 145 91H ∼ 255 ∼ FFH INT 命令で使用 割込みレベル TBR デフォルト のアドレス リソース 番号 *1 204H 000FFE04H ⎯ 200H 000FFE00H ⎯ 1FCH 000FFDFCH ⎯ 1F8H 000FFDF8H ⎯ 1F4H 000FFDF4H ⎯ 1F0H 000FFDF0H ⎯ 1ECH 000FFDECH ⎯ 1E8H 000FFDE8H ⎯ 1E4H 000FFDE4H 14 1E0H 000FFDE0H ⎯ 1DCH 000FFDDCH ⎯ 1D8H 000FFDD8H ⎯ 1D4H 000FFDD4H ⎯ 1D0H 000FFDD0H ⎯ 1CCH 000FFDCCH ⎯ 1C8H 000FFDC8H ⎯ 1C4H 000FFDC4H ⎯ 1C0H 000FFDC0H ⎯ 1BCH 000FFDBCH ⎯ 1B8H 000FFDB8H ∼ 000H ∼ 000FFC00H オフ レジスタ セット 設定 レジスタ アドレス ICR55 ICR56 ICR57 ICR58 ICR59 ICR60 ICR61 ICR62 ICR63 ⎯ ⎯ 477H 478H 479H 47AH 47BH 47CH 47DH 47EH 47FH ⎯ ⎯ ⎯ *1:RN ( リソース番号 ) の割り当てられている周辺リソースは DMA 転送の起動要因になりえること を示しています。 また, リソース番号はDMACのチャネル制御レジスタA (DMACA0∼ DMACA4) のIS (Input Source) と 1 対 1 に対応しており , RN を 2 進数表記して先頭に “1” を付け加えると IS (Input Source) が得ら れます。 *2:REALOS で使用します。 *3:ICR23 と ICR47 は REALOS ビット (0C03H 番地 ISO[0]) をセットすることにより入れ替えられます。 CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 663 付録 MB91461 付録 D DMA 転送要求要因 MB91461 の DMA 転送要求要因には下記のものがあります。 ■ DMA 転送要求要因 付表 D-1 DMA 転送要求要因 IS (Input Source) 664 機能 転送停止要求 00000B ソフトウェア転送要求のみ 00001B ∼ 01101B 設定禁止 01110B 外部端子 (DREQ) "H" レベルまたは↑エッジ 01111B 外部端子 (DREQ) "L" レベルまたは↓エッジ 10000B 外部割込み 0 − 10001B 外部割込み 1 − 10010B 外部割込み 2 − 10011B 外部割込み 3 − 10100B リロードタイマ 0 − 10101B リロードタイマ 1 − 10110B LIN-UART0 RX ( 受信完了 ) あり 10111B LIN-UART0 TX ( 送信完了 ) − 11000B LIN-UART1 RX ( 受信完了 ) あり 11001B LIN-UART1 TX ( 送信完了 ) − 11010B LIN-UART4 RX ( 受信完了 ) あり 11011B LIN-UART4 TX ( 送信完了 ) − 11100B LIN-UART5 RX ( 受信完了 ) あり 11101B LIN-UART5 TX ( 送信完了 ) − 11110B A/D コンバータ − 11111B PPG0 − − FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 MB91461 付録 E シリアル書込み時の端子状態 付録 E シリアル書込み時の端子状態 フラッシュメモリシリアル書込み時の端子状態を示します。 ■ フラッシュメモリシリアル書込み時の端子状態一覧 付表 E-1 フラッシュメモリシリアル書込み時の端子状態一覧 (1 / 6) 端子番号 端子名 I/O 出力 入力 Pull-up/down 2 P24_2 I/O 出力 Hi-Z 入力可能 off 3 P24_3 I/O 出力 Hi-Z 入力可能 off 4 P22_6 I/O 出力 Hi-Z 入力可能 − 5 P22_7 I/O 出力 Hi-Z 入力可能 − 6 P24_4 I/O 出力 Hi-Z 入力可能 − 7 P24_5 I/O 出力 Hi-Z 入力可能 − 8 P13_0 I/O 出力 Hi-Z 入力可能 off 9 P13_1 I/O 出力 Hi-Z 入力可能 off 10 P13_2 I/O 出力 Hi-Z 入力可能 off 14 C_1 15 P09_4 I/O 出力 Hi-Z 入力可能 off 16 P09_3 I/O 出力 Hi-Z 入力可能 off 17 P09_2 I/O 出力 Hi-Z 入力可能 off 18 P09_1 I/O 出力 Hi-Z 入力可能 off 19 P09_0 I/O 出力 Hi-Z 入力可能 off 20 P11_0 I/O 出力 Hi-Z 入力可能 off 21 P11_1 I/O 出力 Hi-Z 入力可能 off 22 P08_7 I/O 出力 Hi-Z 入力可能 off 23 P08_6 I/O 出力 Hi-Z 入力可能 off 24 P08_5 I/O 出力 Hi-Z 入力可能 off 25 P08_4 I/O 出力 Hi-Z 入力可能 off 26 P08_1 I/O 出力 Hi-Z 入力可能 off 27 P08_0 I/O 出力 Hi-Z 入力可能 off 28 NMIX I − 入力可能 Pull-up 29 P10_6 I/O 出力 Hi-Z 入力可能 off CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 665 付録 MB91461 付表 E-1 フラッシュメモリシリアル書込み時の端子状態一覧 (2 / 6) 端子番号 端子名 I/O 出力 入力 Pull-up/down 30 P10_5 I/O 出力 Hi-Z 入力可能 off 31 P10_4 I/O 出力 Hi-Z 入力可能 off 32 P10_3 I/O 出力 Hi-Z 入力可能 off 33 P10_2 I/O 出力 Hi-Z 入力可能 off 34 P10_1 I/O 出力 Hi-Z 入力可能 off 35 P10_0 I/O 出力 Hi-Z 入力可能 off 39 X0 I − 入力可能 − 40 X1 I/O 出力 Hi-Z 入力可能 − 42 X0A I − 入力可能 − 43 X1A I/O 出力 Hi-Z 入力可能 − 46 P01_0 I/O 出力 Hi-Z 入力可能 off 47 P01_1 I/O 出力 Hi-Z 入力可能 off 48 P01_2 I/O 出力 Hi-Z 入力可能 off 49 P01_3 I/O 出力 Hi-Z 入力可能 off 50 P01_4 I/O 出力 Hi-Z 入力可能 off 51 P01_5 I/O 出力 Hi-Z 入力可能 off 52 P01_6 I/O 出力 Hi-Z 入力可能 off 53 P01_7 I/O 出力 Hi-Z 入力可能 off 54 P00_0 I/O 出力 Hi-Z 入力可能 off 55 P00_1 I/O 出力 Hi-Z 入力可能 off 56 P00_2 I/O 出力 Hi-Z 入力可能 off 59 P00_3 I/O 出力 Hi-Z 入力可能 off 60 P00_4 I/O 出力 Hi-Z 入力可能 off 61 P00_5 I/O 出力 Hi-Z 入力可能 off 62 P00_6 I/O 出力 Hi-Z 入力可能 off 63 P00_7 I/O 出力 Hi-Z 入力可能 off 64 P07_0 I/O 出力 Hi-Z 入力可能 off 65 P07_1 I/O 出力 Hi-Z 入力可能 off 66 P07_2 I/O 出力 Hi-Z 入力可能 off 67 P07_3 I/O 出力 Hi-Z 入力可能 off 666 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 E シリアル書込み時の端子状態 MB91461 付表 E-1 フラッシュメモリシリアル書込み時の端子状態一覧 (3 / 6) 端子番号 端子名 I/O 出力 入力 Pull-up/down 68 P07_4 I/O 出力 Hi-Z 入力可能 off 69 P07_5 I/O 出力 Hi-Z 入力可能 off 70 P07_6 I/O 出力 Hi-Z 入力可能 off 71 P07_7 I/O 出力 Hi-Z 入力可能 off 72 P06_0 I/O 出力 Hi-Z 入力可能 off 75 P06_1 I/O 出力 Hi-Z 入力可能 off 76 P06_2 I/O 出力 Hi-Z 入力可能 off 77 P06_3 I/O 出力 Hi-Z 入力可能 off 78 P06_4 I/O 出力 Hi-Z 入力可能 off 79 P06_5 I/O 出力 Hi-Z 入力可能 off 80 P06_6 I/O 出力 Hi-Z 入力可能 off 81 P06_7 I/O 出力 Hi-Z 入力可能 off 82 P05_0 I/O 出力 Hi-Z 入力可能 off 83 P05_1 I/O 出力 Hi-Z 入力可能 off 84 P05_2 I/O 出力 Hi-Z 入力可能 off 85 P05_3 I/O 出力 Hi-Z 入力可能 off 86 P05_4 I/O 出力 Hi-Z 入力可能 off 87 P05_5 I/O 出力 Hi-Z 入力可能 off 90 P05_6 I/O 出力 Hi-Z 入力可能 off 91 P05_7 I/O 出力 Hi-Z 入力可能 off 82 P05_0 I/O 出力 Hi-Z 入力可能 off 92 P16_7 I/O 出力 Hi-Z 入力可能 off 93 P17_4 I/O 出力 Hi-Z 入力可能 off 94 P17_5 I/O 出力 Hi-Z 入力可能 off 95 P17_6 I/O 出力 Hi-Z 入力可能 off 96 P17_7 I/O 出力 Hi-Z 入力可能 off 97 WDRESETX O 出力 − − 98 P29_0 I/O 出力 Hi-Z 入力可能 off 99 P29_1 I/O 出力 Hi-Z 入力可能 off 100 P29_2 I/O 出力 Hi-Z 入力可能 off CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 667 付録 MB91461 付表 E-1 フラッシュメモリシリアル書込み時の端子状態一覧 (4 / 6) 端子番号 端子名 I/O 出力 入力 Pull-up/down 101 P29_3 I/O 出力 Hi-Z 入力可能 off 102 P29_4 I/O 出力 Hi-Z 入力可能 off 103 P29_5 I/O 出力 Hi-Z 入力可能 off 104 P29_6 I/O 出力 Hi-Z 入力可能 off 105 P29_7 I/O 出力 Hi-Z 入力可能 off 106 P28_0 I/O 出力 Hi-Z 入力可能 off 107 P28_1 I/O 出力 Hi-Z 入力可能 off 108 P28_2 I/O 出力 Hi-Z 入力可能 off 109 P28_3 I/O 出力 Hi-Z 入力可能 off 110 P28_4 I/O 出力 Hi-Z 入力可能 off 111 P28_5 I/O 出力 Hi-Z 入力可能 off 112 P28_6 I/O 出力 Hi-Z 入力可能 off 113 P28_7 I/O 出力 Hi-Z 入力可能 off 117 P22_4 I/O 出力 Hi-Z 入力可能 − 118 P22_5 I/O 出力 Hi-Z 入力可能 − 119 P24_0 I/O 出力 Hi-Z 入力可能 off 120 P24_1 I/O 出力 Hi-Z 入力可能 off 121 P24_6 I/O 出力 Hi-Z 入力可能 off 122 P24_7 I/O 出力 Hi-Z 入力可能 off 123 P23_0 I/O 出力 Hi-Z 入力可能 off 124 P23_1 I/O 出力 Hi-Z 入力可能 off 125 P23_2 I/O 出力 Hi-Z 入力可能 off 126 P23_3 I/O 出力 Hi-Z 入力可能 off 127 MD3 I − MD3 = 0 Pull-down 128 MD2 I − MD2 = 1 − 129 MD1 I − MD1 = 0 − 130 MD0 I − MD0 = 0 − 131 INITX I − 入力可能 Pull-up 134 P21_0 I/O 出力 Hi-Z SIN0 off 135 P21_1 I/O SOT0 − off 136 P21_2 I/O SCK0 (*1) − off 668 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 付録 E シリアル書込み時の端子状態 MB91461 付表 E-1 フラッシュメモリシリアル書込み時の端子状態一覧 (5 / 6) 端子番号 端子名 I/O 出力 入力 Pull-up/down 137 P21_4 I/O 出力 Hi-Z 入力可能 off 138 P21_5 I/O 出力 Hi-Z 入力可能 off 139 P21_6 I/O 出力 Hi-Z 入力可能 off 140 P20_0 I/O 出力 Hi-Z 入力可能 off 141 P20_1 I/O 出力 Hi-Z 入力可能 off 142 P20_2 I/O 出力 Hi-Z 入力可能 off 143 P20_4 I/O 出力 Hi-Z 入力可能 off 144 P20_5 I/O 出力 Hi-Z 入力可能 off 145 P20_6 I/O 出力 Hi-Z 入力可能 off 148 P19_0 I/O 出力 Hi-Z 入力可能 off 149 P19_1 I/O 出力 Hi-Z 入力可能 off 150 P19_2 I/O 出力 Hi-Z 入力可能 off 151 P19_4 I/O 出力 Hi-Z 入力可能 off 152 P19_5 I/O 出力 Hi-Z 入力可能 off 153 P19_6 I/O 出力 Hi-Z 入力可能 off 154 P18_0 I/O 出力 Hi-Z 入力可能 off 155 P18_1 I/O 出力 Hi-Z 入力可能 off 156 P18_2 I/O 出力 Hi-Z 入力可能 off 157 P15_0 I/O 出力 Hi-Z 入力可能 off 158 P15_1 I/O 出力 Hi-Z 入力可能 off 159 P15_2 I/O 出力 Hi-Z 入力可能 off 160 P15_3 I/O 出力 Hi-Z 入力可能 off 163 P23_4 I/O 出力 Hi-Z 入力可能 off 164 P23_6 I/O 出力 Hi-Z 入力可能 off 165 P22_0 I/O 出力 Hi-Z 入力可能 off 166 P22_2 I/O 出力 Hi-Z 入力可能 off 167 P22_3 I/O 出力 Hi-Z 入力可能 off 168 P14_0 I/O 出力 Hi-Z 入力可能 off 169 P14_1 I/O 出力 Hi-Z 入力可能 off 170 P14_2 I/O 出力 Hi-Z 入力可能 off CM71-10159-2 FUJITSU MICROELECTRONICS LIMITED 669 付録 MB91461 付表 E-1 フラッシュメモリシリアル書込み時の端子状態一覧 (6 / 6) 端子番号 端子名 I/O 出力 入力 Pull-up/down 171 P14_3 I/O 出力 Hi-Z 入力可能 off 172 P17_0 I/O 出力 Hi-Z 入力可能 off 173 P17_1 I/O 出力 Hi-Z 入力可能 off 174 P17_2 I/O 出力 Hi-Z 入力可能 off 175 P17_3 I/O 出力 Hi-Z 入力可能 off FUJITSU FLASH Programmerを使用する場合, リセット後は"H"出力ですが, 制御プログラムダウンロー ド後は , Hi-Z 状態になります。 通常 , シリアル書込み中におけるモード端子レベルは , 固定で使用することを推奨します。MD2 端子 を以下のように変更する場合は , 出力状態になる端子がありますので注意してください。 動作モード:MD0 = MD1 = L, DM2 = H, MD3 = L, P15_2 = P15_3 = L 途中で DM2 を "H" から "L" に切り換える場合 P21_2: リセット後は "H" 出力 制御プログラムダウンロード後に Hi-Z P23_0:リセット後は "H" 出力 P23_1: リセット後は "L" 出力 制御プログラムダウンロード後 Hi-Z P23_2:メインクロック周波数のパルス出力 シリアル書込み時におけるほかの未使用 I/O は Hi-Z 状態 670 FUJITSU MICROELECTRONICS LIMITED CM71-10159-2 索引 Numerics 0 検出 0 検出 ......................................................................284 0 検出用データレジスタ 0 検出用データレジスタ (BSD0) ........................282 10 ビットスレーブアドレスマスクレジスタ 10 ビットスレーブアドレスマスクレジスタ (ITMK) .............................................................502 10 ビットスレーブアドレスレジスタ 10 ビットスレーブアドレスレジスタ (ITBA) ..........................................................................501 16 ビットアウトプットコンペア 16 ビットアウトプットコンペアの動作 ............556 16 ビットアウトプットコンペアの 動作タイミング ..............................................558 16 ビットインプットキャプチャ 16 ビットインプットキャプチャの動作 ............547 16 ビットインプットキャプチャの 入力タイミング ..............................................548 16 ビットタイマレジスタ 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................522 16 ビットフリーランタイマ 16 ビットフリーランタイマ使用上の注意 ........539 16 ビットフリーランタイマの概要 ....................530 16 ビットフリーランタイマの カウントタイミング ......................................538 16 ビットフリーランタイマの クリアタイミング ..........................................538 16 ビットフリーランタイマの動作説明 ............537 16 ビットフリーランタイマの ブロックダイヤグラム ..................................531 16 ビットフリーランタイマのレジスタ一覧 ..........................................................................532 16 ビットリロードタイマ 16 ビットリロードタイマ ( 以下 RLT) の概要 ..........................................................................516 16 ビットリロードタイマの ブロックダイヤグラム ..................................516 16 ビットリロードタイマのレジスタ一覧 ........517 16 ビットリロードレジスタ 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................523 1 検出 1 検出 ......................................................................284 1 検出用データレジスタ 1 検出用データレジスタ (BSD1) ........................282 2 サイクル転送 2 サイクル転送 (I/O →外部 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........218 2 サイクル転送 ( 外部→ I/O) (TYP3 ∼ TYP0=0000B, AWR=0008H) ...........................217 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM, 外部 I/O, RAM →内部 RAM もタイミングは 同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........................................................................216 2 サイクル転送時のデータの動作 .....................330 ステップ / ブロック転送 2 サイクル転送 ......... 311 バースト 2 サイクル転送 .................................... 310 3.3V 系 3.3V 系および 5V 系の電源投入順序について ............................................................................21 32 ビット←→ 16 ビットバスコンバータ 32 ビット←→ 16 ビットバスコンバータ ........... 32 5V 系 3.3V 系および 5V 系の電源投入順序について ............................................................................21 7 ビットスレーブアドレスマスクレジスタ 7 ビットスレーブアドレスマスクレジスタ (ISMK) .............................................................505 7 ビットスレーブアドレスレジスタ 7 ビットスレーブアドレスレジスタ (ISBA) ..........................................................................504 671 A B A/D 許可レジスタ A/D 許可レジスタ (ADER) ..................................604 A/D コンバータ A/D コンバータのブロックダイヤグラム .........601 A/D コンバータのレジスタ概要 .........................602 A/D 制御ステータスレジスタ A/D 制御ステータスレジスタ 0 (ADCS0) .........608 A/D 制御ステータスレジスタ 1 (ADCS1) .........605 A/D 変換 A/D 変換データ .....................................................615 ACR 領域構成レジスタ (ACR0 ∼ ACR3) の レジスタ構成 ..................................................169 ADCR データレジスタ (ADCR1, ADCR0) .....................610 ADCS A/D 制御ステータスレジスタ 0 (ADCS0) .........608 A/D 制御ステータスレジスタ 1 (ADCS1) .........605 ADECH 開始チャネル設定レジスタ (ADSCH)・ 終了チャネル設定レジスタ (ADECH) .........613 ADER A/D 許可レジスタ (ADER) ..................................604 ADSCH 開始チャネル設定レジスタ (ADSCH)・ 終了チャネル設定レジスタ (ADECH) .........613 AD ビット シリアル制御レジスタ (SCR) の AD ビット ..........................................................................480 ASR ASR および ASZ1, ASZ0 の設定例 .....................188 領域選択レジスタ (ASR0 ∼ ASR4) の レジスタ構成 ..................................................168 ASZ ASR および ASZ1, ASZ0 の設定例 .....................188 AWR 2 サイクル転送 (I/O →外部 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........218 2 サイクル転送 ( 外部→ I/O) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........217 CSX 遅延設定 (TYP3 ∼ TYP0=0000B, AWR=000CH) ..........210 CSX → RDX/WR1X, WR0X セットアップ設定 (TYP3 ∼ TYP0=0101B, AWR=100BH) ..........215 外部ウェイトあり (TYP3 ∼ TYP0=0101B, AWR=1008H) ..........214 外部ウェイトタイミング (TYP3 ∼ TYP0=0001B, AWR=2008H) .........209 外部ウェイトなし (TYP3 ∼ TYP0=0100B, AWR=0008H) ..........212 基本タイミング ( アクセスが連続する場合 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........204 自動ウェイトタイミング (TYP3 ∼ TYP0=0000B, AWR=2008H) ..........208 ライト→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0018H) ..........207 リード→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0048H) .........206 領域ウェイトレジスタ (AWR0 ∼ AWR4) の レジスタ構成 ..................................................175 BGR ボーレート / リロードカウンタレジスタ (BGR) ..........................................................................441 Break 検出 LIN-Synch-Break 検出割込みとフラグ ..............468 BSD0 0 検出用データレジスタ (BSD0) ........................ 282 BSD1 1 検出用データレジスタ (BSD1) ........................ 282 BSDC 変化点検出用データレジスタ (BSDC) ..............283 BSRR 検出結果レジスタ (BSRR) ..................................283 672 C CAN CAN クロック周波数 ...........................................412 CAN の特長 ...........................................................334 CAN_TX 端子 CAN_TX のソフトフェア制御 ...................408 CAN クロック周波数 CAN クロック周波数 ...........................................412 CAN コントローラ CAN コントローラ ............................................... 335 CCR コンディションコードレジスタ (CCR) ............... 38 CHER キャッシュイネーブルレジスタ (CHER) の レジスタ構成 ..................................................185 CLKB CPU クロック (CLKB) ...........................................82 CLKP 周辺クロック (CLKP) ............................................ 82 CLKR CLKR : クロックソース制御レジスタ ................. 96 CLKT 外部バスクロック (CLKT) ....................................83 CPU CPU ........................................................................... 31 CPU インタフェース ............................................ 335 CPU 間の接続 ........................................................ 472 CPU 間の接続方法 ................................................459 CPU クロック (CLKB) ...........................................82 CPU 間の接続 ........................................................ 471 CPU インタフェース CPU インタフェース ............................................ 335 CPU 間接続 CPU 間の接続 ................................................471, 472 CPU 間の接続方法 ................................................459 CPU クロック CPU クロック (CLKB) ...........................................82 CSER チップセレクト領域許可レジスタ (CSER) の レジスタ構成 ..................................................184 CSX 遅延設定 CSX 遅延設定 (TYP3 ∼ TYP0=0000B, AWR=000CH) ........210 CSX → RDX/WRX セットアップ CSX → RDX/WR1X, WR0X セットアップ・RDX/ WR1X, WR0X → CSX ホールド設定 (TYP3 ∼ TYP0=0000B, AWR=000BH) ..........211 CSX → RDX/WRX セットアップ設定 CSX → RDX/WR1X, WR0X セットアップ設定 (TYP3 ∼ TYP0=0101B, AWR=100BH) ..........215 CTBR CTBR : タイムベースカウンタクリアレジスタ ............................................................................95 D DDR データ方向レジスタ (DDR) ................................226 DICR DICR ( 遅延割込みモジュールレジスタ ) .........278 DICR の DLYI ビット ...........................................279 DIVR DIVR0 : 基本クロック分周設定レジスタ 0 .........99 DIVR1 : 基本クロック分周設定レジスタ 1 .......102 DLYI ビット DICR の DLYI ビット ...........................................279 DMA DMA 転送要求要因 ..............................................664 DMA による割込みクリアの発生タイミング ..........................................................................320 DMA 抑止 ..............................................................317 DMAC DMAC の概要 ........................................................306 DMAC の主要機能 ................................................288 DMAC の主要動作 ................................................307 DMAC のハードウェア構成 ................................288 DMAC のブロックダイヤグラム ........................290 DMAC のレジスタ概要 ........................................289 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) のレジスタ構成 ...........181 DMACA DMACA0 ∼ DMACA4 のビット機能 ................292 DMACB DMACB0 ∼ DMACB4 のビット機能 ................296 DMACR DMACR のビット機能 .........................................304 DMAC 割込み制御 DMAC 割込み制御が出力できる割込み ............324 DMADA DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 の ビット機能 ......................................................302 DMASA DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 の ビット機能 ......................................................302 DMA 転送 DMA 転送と割込み ..............................................317 スリープモード中の DMA 転送の注意 .............325 DSU4 DSU4 (ICE) 専用接続端子について .....................24 E ECCR 拡張通信制御レジスタ (ECCR) ..........................438 EIRR 外部割込み要因レジスタ (EIRR) のビット構成 ..........................................................................267 EIT EIT からの復帰 ....................................................... 51 EIT の動作 ...............................................................59 EIT の特長 ...............................................................51 EIT の割込みレベル ...............................................52 EIT ベクタテーブル ...............................................56 EIT 要因 ................................................................... 51 EIT 要因受理の優先度 ...........................................57 ELVR 外部割込み要求レベル設定レジスタ (ELVR) の ビット構成 ......................................................268 ENIR 割込み許可レジスタ (ENIR) のビット構成 ...... 266 ESCR 拡張ステータス・制御レジスタ (ESCR) ........... 435 F Field エッジ検出 LIN-Synch-Field エッジ検出割込み .................... 445 FIFO FIFO バッファの構成 ...........................................397 FIFO バッファ FIFO バッファからの読出し ............................... 398 FIFO バッファによるメッセージ受信 ............... 397 FIFO バッファの構成 ...........................................397 G GCN GCN10 の機能 ....................................................... 573 GCN11 の機能 ....................................................... 576 GCN20,GCN21 の機能 .......................................... 579 ジェネラル制御レジスタ 2 (GCN20,GCN21) の 構成 .................................................................. 579 ゼネラル制御レジスタ 10 (GCN10) の構成 ...... 573 ゼネラル制御レジスタ 11 (GCN11) の構成 ...... 576 H Hold Request Cancel Request ホールドリクエスト取下げ要求 (Hold Request Cancel Request) ........................ 259 HRCL ホールドリクエスト取下げ要求機能 (HRCL) の 使用例 .............................................................. 261 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 ..................................................252 I I/O ウェイトレジスタ DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) のレジスタ構成 ..........181 I/O マップ I/O マップの読み方 .............................................. 639 I2C インタフェース I2C インタフェースの特長 ..................................482 673 I2C インタフェースのブロックダイヤグラム ..........................................................................485 2 I C インタフェースのレジスタ一覧 ..................483 I2C インタフェースのレジスタ概要 ..................486 IBCR バス制御レジスタ (IBCR) ....................................491 IBSR バスステータスレジスタ (IBSR) ........................487 ICCR クロック制御レジスタ (ICCR) ............................499 ICE DSU4 (ICE) 専用接続端子について .....................24 ICHCR 命令キャッシュ制御レジスタ (ICHCR) .............135 ICR ICR マッピング .......................................................54 割込み制御レジスタ (ICR) のビット構成 .........251 割込み制御レジスタ (ICR) ビット構成 ...............54 ICS インプットキャプチャレジスタ (ICS01,ICS23) の ビット構成 ......................................................545 IDAR データレジスタ (IDAR) .......................................506 ILM ILM ...........................................................................53 割込みレベルマスクレジスタ (ILM) ....................41 INIT 設定初期化リセット (INIT) ...................................70 設定初期化リセット (INIT) 解除シーケンス ......73 INITX INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................71 INTE 命令 INTE 命令の動作 .....................................................60 INT 命令 INT 命令の動作 .......................................................60 IOWR DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) のレジスタ構成 ...........181 IPCP インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成 ..................................................544 ISBA 7 ビットスレーブアドレスレジスタ (ISBA) ..........................................................................504 ISIZE キャッシュサイズレジスタ (ISIZE) ...................135 ISMK 7 ビットスレーブアドレスマスクレジスタ (ISMK) ..............................................................505 ITBA 10 ビットスレーブアドレスレジスタ (ITBA) ..........................................................................501 ITMK 10 ビットスレーブアドレスマスクレジスタ (ITMK) .............................................................502 I フラグ I フラグ ....................................................................53 674 L LIN LIN-UART 端子直接アクセス ............................470 LIN-UART のボーレート選択 ............................451 LIN スレーブとしての UART ............................. 467 LIN スレーブの設定 .............................................479 LIN デバイスの接続 .............................................475 LIN バスタイミング .............................................469 LIN マスタ / スレーブ通信機能 .......................... 475 LIN マスタとしての UART ................................. 466 スレーブデバイスとしての LIN-UART ............477 マスタデバイスとしての LIN-UART ................ 476 LIN-Synch LIN-Synch-Break 検出割込みとフラグ ..............468 LIN-Synch-Break 割込み .......................................445 LIN-Synch-Field エッジ検出割込み .................... 445 LIN-Synch-Break 検出 LIN-Synch-Break 検出割込みとフラグ ..............468 LIN-Synch-Field エッジ検出 LIN-Synch-Field エッジ検出割込み .................... 445 LIN-UART LIN-UART 端子直接アクセス ............................470 LIN-UART の動作 ................................................. 458 LIN-UART の動作モード .................................... 415 LIN-UART のブロックダイヤグラム ........417, 418 LIN-UART のボーレート選択 ............................451 LIN-UART のレジスタ .........................................422 LIN-UART の割込み .............................................443 スレーブデバイスとしての LIN-UART ............477 マスタデバイスとしての LIN-UART ................ 476 LIN スレーブ LIN スレーブとしての UART ............................. 467 LIN スレーブの設定 .............................................479 LIN デバイス LIN デバイスの接続 .............................................475 LIN マスタ LIN マスタとしての UART ................................. 466 LIN マスタ / スレーブ通信 LIN マスタ / スレーブ通信機能 .......................... 475 M MD モード端子 (MD0 ∼ MD3) について ................... 21 MODR モードレジスタ (MODR) .......................................66 Multiply & Divide register 乗除算レジスタ (Multiply & Divide register) ........ 43 N NMI NMI (Non Maskable Interrupt) ............................... 259 ユーザ割込み・NMI の動作 ..................................59 割込み・NMI に対するレベルマスク .................. 53 NMI/ ホールド抑止レベル割込み NMI/ ホールド抑止レベル割込み処理中 ..........321 Non Maskable Interrupt NMI (Non Maskable Interrupt) ............................... 259 O OCCP コンペアレジスタ (OCCP0 ∼ OCCP3) の機能 ..........................................................................552 コンペアレジスタ (OCCP0 ∼ OCCP3) の ビット構成 ......................................................552 P PC プログラムカウンタ (PC) ......................................41 PCNH 制御ステータスレジスタ PCNH/PCNL の各ビット の機能 ..............................................................566 制御ステータスレジスタの構成 (PCNH, PCNL) ..........................................................................566 PCNL 制御ステータスレジスタ PCNH/PCNL の各ビット の機能 ..............................................................566 制御ステータスレジスタの構成 (PCNH, PCNL) ..........................................................................566 PCSR PCSR の機能 ..........................................................570 PPG 周期設定レジスタの構成 (PCSR) ...............570 PDR ポートデータレジスタ (PDR) .............................226 PDRD ポートデータダイレクトリードレジスタ (PDRD) ..........................................................................227 PDUT PDUT の機能 .........................................................571 PPG デューティ設定レジスタ (PDUT) の構成 ..........................................................................571 PLL PLLDIVM:PLL デバイダ M .................................109 PLLDIVN:PLL デバイダ N ..................................111 PLL クロックモード動作中の注意について ......21 PLL 逓倍率 ...............................................................79 PLL 逓倍率変更後の待ち時間 ..............................80 PLL 動作許可 ...........................................................79 PLL 動作許可後の待ち時間 ..................................80 PLLDIVM PLLDIVM:PLL デバイダ M .................................109 PLLDIVN PLLDIVN:PLL デバイダ N ..................................111 PLL クロックモード PLL クロックモード動作中の注意について ......21 PLL 逓倍率変更後 PLL 逓倍率変更後の待ち時間 ..............................80 PLL デバイダ PLLDIVM:PLL デバイダ M .................................109 PLLDIVN:PLL デバイダ N ..................................111 PLL デバイダ M PLLDIVM:PLL デバイダ M .................................109 PLL デバイダ N PLLDIVN:PLL デバイダ N ..................................111 PLL 動作許可後 PLL 動作許可後の待ち時間 ..................................80 PPG PPG 出力タイミング ............................................581 PPG の動作 ............................................................580 PPG のブロックダイヤグラム ............................561 PPG のレジスタ ....................................................563 リロードタイマによる PPG の複数同時起動 ..........................................................................588 PPG 周期設定レジスタ PPG 周期設定レジスタの構成 (PCSR) ............... 570 PPG タイマレジスタ PPG タイマレジスタ (PTMR) の構成 ................ 572 PPG デューティ設定レジスタ PPG デューティ設定レジスタ (PDUT) の構成 ..........................................................................571 PS プログラムステータス (PS) ..................................37 PS レジスタ PS レジスタに関する注意事項 ............................. 22 PTMR PPG タイマレジスタ (PTMR) の構成 ................ 572 PTMR の機能 .........................................................572 PWM PWM 動作 .............................................................. 581 R RAM 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM, 外部 I/O, RAM →内部 RAM もタイミングは 同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........................................................................216 メッセージ RAM ..................................................335 メッセージ RAM とのデータ送受信 ................. 389 RDR 受信 / 送信データレジスタ (RDR/TDR) ............433 RDX/WRX → CSX ホールド設定 CSX → RDX/WR1X, WR0X セットアップ・RDX/ WR1X, WR0X → CSX ホールド設定 (TYP3 ∼ TYP0=0000B, AWR=000BH) ......... 211 RETI 命令 RETI 命令の動作 ....................................................62 RLT 16 ビットリロードタイマ ( 以下 RLT) の概要 ..........................................................................516 ROM バスモード 1 ( 内 ROM 外バスモード ) ............... 65 バスモード 2 ( 外 ROM 外バスモード ) ............... 65 RP リターンポインタ (RP) .......................................... 42 RSRR RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................ 86 RST 動作初期化リセット (RST) ................................... 70 動作初期化リセット (RST) 解除シーケンス ...... 73 S SCR システムコンディションコードレジスタ (SCR) ............................................................................40 シリアル制御レジスタ (SCR) ............................. 424 シリアル制御レジスタ (SCR) の AD ビット ..........................................................................480 675 SMR シリアルモードレジスタ (SMR) ........................427 SRST STCR:SRST ビット書込み ( ソフトウェアリセット ) ...............................71 SSP システムスタックポインタ (SSP) ..................42, 55 SSR シリアルステータスレジスタ (SSR) ..................430 STCR STCR:SRST ビット書込み ( ソフトウェアリセット ) ................................71 STCR : スタンバイ制御レジスタ .........................89 STOP 状態 STOP 状態からの復帰動作 ..................................273 T TBCR TBCR : タイムベースカウンタ制御レジスタ ............................................................................92 TBR テーブルベースレジスタ (TBR) .....................42, 56 TCCS タイマ制御ステータスレジスタ (TCCS) ...........534 TCDT タイマデータレジスタ (TCDT) ..........................533 TCR 端子 / タイミングコントロールレジスタ (TCR) の レジスタ構成 ..................................................186 TDR 受信 / 送信データレジスタ (RDR/TDR) ............433 TMCSR 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................518 TMR 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................522 TMRLR 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................523 TYP 2 サイクル転送 (I/O →外部 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........218 2 サイクル転送 ( 外部→ I/O) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........217 CSX 遅延設定 (TYP3 ∼ TYP0=0000B, AWR=000CH) ..........210 CSX → RDX/WR1X, WR0X セットアップ設定 (TYP3 ∼ TYP0=0101B, AWR=100BH) ..........215 外部ウェイトあり (TYP3 ∼ TYP0=0101B, AWR=1008H) ..........214 外部ウェイトタイミング (TYP3 ∼ TYP0=0001B, AWR=2008H) .........209 外部ウェイトなし (TYP3 ∼ TYP0=0100B, AWR=0008H) ..........212 基本タイミング ( アクセスが連続する場合 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........204 自動ウェイトタイミング (TYP3 ∼ TYP0=0000B, AWR=2008H) ..........208 ライト→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0018H) .........207 676 リード→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0048H) ......... 206 U UART LIN-UART 端子直接アクセス ............................470 LIN-UART の動作 ................................................. 458 LIN-UART の動作モード .................................... 415 LIN-UART のブロックダイヤグラム ........417, 418 LIN-UART のボーレート選択 ............................451 LIN-UART のレジスタ .........................................422 LIN-UART の割込み .............................................443 LIN スレーブとしての UART ............................. 467 LIN マスタとしての UART ................................. 466 スレーブデバイスとしての LIN-UART ............477 マスタデバイスとしての LIN-UART ................ 476 USP ユーザスタックポインタ (USP) ...........................43 W WDRESETX WDRESETX の端子出力について ...................... 161 WPR WPR : ウォッチドッグリセット発生延期レジスタ ............................................................................98 WTCRH タイマ制御レジスタ (WTCRH, WTCRL) ..........593 WTCRL タイマ制御レジスタ (WTCRH, WTCRL) ..........593 あ アーキテクチャ 内部アーキテクチャの構造 ...................................30 内部アーキテクチャの特長 ...................................29 アービトレーション アービトレーション .............................................509 アウトプットコンペア 16 ビットアウトプットコンペアの動作 ............556 16 ビットアウトプットコンペアの 動作タイミング ..............................................558 アウトプットコンペアユニットの特長 .............550 アウトプットコンペアユニットの ブロックダイヤグラム ..................................550 アウトプットコンペアユニットのレジスタ ..........................................................................551 アウトプットコンペアユニット アウトプットコンペアユニットの特長 .............550 アウトプットコンペアユニットの ブロックダイヤグラム ..................................550 アウトプットコンペアユニットのレジスタ ..........................................................................551 アクセスアドレス アクセスアドレス .................................................315 アクセスモード アクセスモード .......................................................64 アクノリッジ アクノリッジ .........................................................510 アドレス / データマルチプレックスアクセス 通常アクセスおよびアドレス / データマルチ プレックスアクセス ......................................176 アドレスエラー アドレスエラーの発生 .........................................323 アドレスレジスタ アドレスレジスタ指定 .........................................314 アドレッシング スレーブアドレッシング .....................................509 ダイレクトアドレッシング ...................................34 ダイレクトアドレッシング領域 ...........................28 アンダフロー アンダフロー動作 .................................................525 い 一時停止 制御レジスタへの書込みによる一時停止の設定 ..........................................................................321 一時停止状態 一時停止状態からの起動 .....................................318 インターバル時間 インターバルタイマのインターバル時間 .........125 インターバルタイマ インターバルタイマ機能の動作 .........................129 インターバルタイマ使用時の注意事項 .............130 インターバルタイマのインターバル時間 .........125 インターバルタイマの動作 .................................130 インターバルタイマのブロックダイヤグラム ..........................................................................125 インターバルタイマのレジスタ説明 .................127 インターバル割込み インターバル割込み .............................................129 インプットキャプチャ 16 ビットインプットキャプチャの動作 ........... 547 16 ビットインプットキャプチャの 入力タイミング .............................................. 548 インプットキャプチャの概要 ............................542 インプットキャプチャのブロックダイヤグラム ..........................................................................542 インプットキャプチャのレジスタ一覧 ............543 インプットキャプチャレジスタ インプットキャプチャレジスタ (ICS01,ICS23) の ビット構成 ......................................................545 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成 ..................................................544 う ウォッチドッグタイマ ウォッチドッグタイマオーバフロー時の リセットタイミング ...................................... 160 ハードウェアウォッチドッグタイマ ................ 156 ハードウェアウォッチドッグタイマ使用上の注意 ..........................................................................162 ハードウェアウォッチドッグタイマの ブロックダイヤグラム ..................................157 ウォッチドッグタイマ制御レジスタ RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................ 86 ウォッチドッグリセット ウォッチドッグリセット ...................................... 72 ハードウェアウォッチドッグリセット ..............72 ウォッチドッグリセット発生延期レジスタ WPR : ウォッチドッグリセット発生延期レジスタ ............................................................................98 内 ROM バスモード 1 ( 内 ROM 外バスモード ) ............... 65 内 ROM 外バスモード バスモード 1 ( 内 ROM 外バスモード ) ............... 65 え エラー アドレスエラーの発生 ........................................ 323 エラーを発生しない通信エラー ........................ 510 バスエラー ............................................................ 510 エラー検出 ............................................................ 461 エラー検出 エラー検出 ............................................................ 465 エンディアン ビッグエンディアンのデータフォーマット ..........................................................................191 リトルエンディアンとビッグエンディアンの 相違点 .............................................................. 196 リトルエンディアン領域に対する制限事項 ..........................................................................196 エントリ更新 キャッシュのエントリ更新 ................................139 お オーダリング バイトオーダリング .............................................. 44 677 ビットオーダリング ...............................................44 オーバフロー ウォッチドッグタイマオーバフロー時の リセットタイミング ......................................160 オール "H" オール "L" あるいはオール "H" の出力方法 ..........................................................................586 オール "L" オール "L" あるいはオール "H" の出力方法 ..........................................................................586 か 外 ROM バスモード 2 ( 外 ROM 外バスモード ) ...............65 開始チャネル設定レジスタ 開始チャネル設定レジスタ (ADSCH)・ 終了チャネル設定レジスタ (ADECH) .........613 解除シーケンス 設定初期化リセット (INIT) 解除シーケンス ......73 動作初期化リセット (RST) 解除シーケンス .......73 外バス バスモード 1 ( 内 ROM 外バスモード ) ...............65 バスモード 2 ( 外 ROM 外バスモード ) ...............65 外部 I/O 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM, 外部 I/O, RAM →内部 RAM もタイミングは 同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........................................................................216 外部ウェイト 外部ウェイトあり (TYP3 ∼ TYP0=0101B, AWR=1008H) ..........214 外部ウェイトなし (TYP3 ∼ TYP0=0100B, AWR=0008H) ..........212 外部ウェイトタイミング 外部ウェイトタイミング (TYP3 ∼ TYP0=0001B, AWR=2008H) ..........209 外部クロック 外部クロック使用時の注意 ...................................21 外部クロックの使用 .............................................455 外部デバイス 外部デバイスとの接続例 .....................................199 外部バス 外部バスクロック (CLKT) ....................................83 外部バスの設定 .......................................................21 外部バスアクセス 外部バスアクセス .................................................192 外部バスインタフェース 外部バスインタフェースの設定手順 .................219 外部バスインタフェースの特長 .........................164 外部バスインタフェースのブロックダイヤグラム ..........................................................................165 外部バスインタフェースのレジスタ一覧 .........166 外部バスインタフェースのレジスタ概要 .........167 外部バスクロック 外部バスクロック (CLKT) ....................................83 外部割込み 外部割込みの動作 .................................................270 外部割込みの動作手順 .........................................270 外部割込みを使用した STOP 状態からの復帰時に おける注意事項 ..............................................272 678 外部割込み制御部 外部割込み制御部のブロックダイヤグラム ..........................................................................264 外部割込み制御部のレジスタ一覧 .................... 264 外部割込み制御部のレジスタ詳細 .................... 265 外部割込み要因レジスタ 外部割込み要因レジスタ (EIRR) のビット構成 ..........................................................................267 外部割込み要求レベル 外部割込み要求レベル ........................................ 271 外部割込み要求レベル設定レジスタ 外部割込み要求レベル設定レジスタ (ELVR) の ビット構成 ......................................................268 拡張ステータス・制御レジスタ 拡張ステータス・制御レジスタ (ESCR) ........... 435 拡張通信制御レジスタ 拡張通信制御レジスタ (ECCR) .......................... 438 き 起動条件 起動条件 ................................................................ 507 基本クロック分周設定レジスタ DIVR0 : 基本クロック分周設定レジスタ 0 ........ 99 DIVR1 : 基本クロック分周設定レジスタ 1 ...... 102 基本タイミング 基本タイミング ( アクセスが連続する場合 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........204 基本プログラミングモデル 基本プログラミングモデル ..................................35 キャッシュ キャッシュのエントリ更新 ................................139 動作モード時のキャッシュの状態 .................... 138 命令キャッシュのキャッシュ可能領域 ............139 キャッシュイネーブルレジスタ キャッシュイネーブルレジスタ (CHER) の レジスタ構成 ..................................................185 キャッシュサイズレジスタ キャッシュサイズレジスタ (ISIZE) ...................135 く クロック CAN クロック周波数 ...........................................412 CPU クロック (CLKB) ...........................................82 PLL クロックモード動作中の注意について ...... 21 外部クロック使用時の注意 ..................................21 外部クロックの使用 ............................................ 455 外部バスクロック (CLKT) ....................................83 クロック供給 ........................................................ 464 クロック切換え手順 ............................................ 411 クロックの選択 ......................................................78 周辺クロック (CLKP) ............................................ 82 内部クロック動作 ................................................524 内部動作クロックの生成 ...................................... 78 マシンクロック周波数ごとのボーレート設定例 ..........................................................................454 モード 2 でのクロック反転とスタート / ストップ ビット .............................................................. 463 クロック制御レジスタ クロック制御レジスタ (ICCR) ........................... 499 クロック生成制御部 クロック生成制御部のブロックダイヤグラム ............................................................................85 クロックソース制御レジスタ CLKR : クロックソース制御レジスタ .................96 クロック反転 モード 2 でのクロック反転とスタート / ストップ ビット ..............................................................463 クロックプリスケーラレジスタ クロックプリスケーラレジスタ .........................342 クロックモード PLL クロックモード動作中の注意について ......21 け 検出 0 検出 ......................................................................284 1 検出 ......................................................................284 エラー検出 .....................................................461, 465 スレーブアドレス検出 .........................................508 変化点検出 .............................................................285 検出結果レジスタ 検出結果レジスタ (BSRR) ...................................283 こ 互換 ソフトウェア互換 .................................................480 コプロセッサ コプロセッサエラートラップ ...............................62 コプロセッサ不在トラップ ...................................62 コプロセッサエラートラップ コプロセッサエラートラップ ...............................62 コプロセッサ不在トラップ コプロセッサ不在トラップ ...................................62 コンディションコードレジスタ コンディションコードレジスタ (CCR) ...............38 コンペアレジスタ コンペアレジスタ (OCCP0 ∼ OCCP3) の機能 ..........................................................................552 コンペアレジスタ (OCCP0 ∼ OCCP3) の ビット構成 ......................................................552 さ 再起動 自動再起動 .............................................................457 ソフトウェア再起動 .............................................456 サイレントモード サイレントモード .................................................404 サイレントモードとループバックモードの結合 ..........................................................................406 サブセカンドレジスタ サブセカンドレジスタ .........................................595 算術演算 算術演算 ...................................................................33 し 時 / 分 / 秒レジスタ 時 / 分 / 秒レジスタ ..............................................597 ジェネラル制御レジスタ ジェネラル制御レジスタ 2 (GCN20,GCN21) の 構成 .................................................................. 579 システムコンディションコードレジスタ システムコンディションコードレジスタ (SCR) ............................................................................40 システムスタックポインタ システムスタックポインタ (SSP) .................. 42, 55 自動ウェイトタイミング 自動ウェイトタイミング (TYP3 ∼ TYP0=0000B, AWR=2008H) ..........208 自動再起動 自動再起動 ............................................................ 457 周期 ハードウェアウォッチドッグタイマの周期 ..........................................................................160 周波数 CAN クロック周波数 ...........................................412 マシンクロック周波数ごとのボーレート設定例 ..........................................................................454 周辺回路 周辺回路からの転送停止要求の発生 ................ 323 周辺クロック 周辺クロック (CLKP) ............................................ 82 終了チャネル設定レジスタ 開始チャネル設定レジスタ (ADSCH)・ 終了チャネル設定レジスタ (ADECH) ......... 613 受信 FIFO バッファによるメッセージ受信 ............... 397 受信 / 送信データレジスタ (RDR/TDR) ............433 受信データの例 ....................................................513 受信動作 ................................................................ 461 受信メッセージの受容フィルタ ........................ 393 受信割込み ............................................................ 444 受信割込み生成とフラグセットタイミング ..........................................................................447 データフレーム受信 ............................................ 393 受信 / 送信データレジスタ 受信 / 送信データレジスタ (RDR/TDR) ............433 受信メッセージ 受信メッセージの受容フィルタ ........................ 393 受信メッセージの処理 ........................................ 396 受信メッセージオブジェクト 受信メッセージオブジェクトの設定 ................ 395 受信優先度 受信優先度 ............................................................ 393 受容フィルタ 受信メッセージの受容フィルタ ........................ 393 乗除算レジスタ 乗除算レジスタ (Multiply & Divide register) ........ 43 初期化 設定初期化リセット (INIT) ................................... 70 動作初期化リセット (RST) ................................... 70 分周比設定の初期化 .............................................. 84 リセット ( デバイス初期化 ) の概要 .................... 69 シリアルステータスレジスタ シリアルステータスレジスタ (SSR) .................. 430 シリアル制御レジスタ シリアル制御レジスタ (SCR) ............................. 424 シリアル制御レジスタ (SCR) の AD ビット ..........................................................................480 シリアルモードレジスタ シリアルモードレジスタ (SMR) ........................ 427 679 シングルチップモード バスモード 0 ( シングルチップモード ) ..............65 シングルモード シングルモード .....................................................459 す 推奨設定値 推奨設定値 .............................................................612 水晶発振回路 水晶発振回路について ...........................................20 スタート / ストップビット モード 2 でのクロック反転とスタート / ストップ ビット ..............................................................463 スタック 割込みスタック .......................................................55 スタンバイ制御レジスタ STCR : スタンバイ制御レジスタ .........................89 スタンバイモード スタンバイモード ( ストップ / スリープ ) からの 復帰 ..................................................................260 ステップ ステップ / ブロック転送 2 サイクル転送 .........311 ステップ転送 ステップ転送 .........................................................311 ステップトレーストラップ ステップトレーストラップの動作 .......................61 ストア ロードとストア .......................................................33 ストップ スタンバイモード ( ストップ / スリープ ) からの 復帰 ..................................................................260 ストップビット ストップビット .....................................................461 ストップモード ストップモード復帰後の待ち時間 .......................81 ストップモード復帰後 ストップモード復帰後の待ち時間 .......................81 スリープ スタンバイモード ( ストップ / スリープ ) からの 復帰 ..................................................................260 スリープモード スリープモード中の DMA 転送の注意 .............325 スレーブ LIN スレーブとしての UART .............................467 LIN スレーブの設定 .............................................479 LIN マスタ / スレーブ通信機能 ..........................475 マスタ / スレーブ通信機能 .................................472 スレーブアドレス スレーブアドレス検出 .........................................508 スレーブアドレスとデータ転送の例 .................512 スレーブアドレスマスク .....................................509 スレーブアドレス検出 スレーブアドレス検出 .........................................508 スレーブアドレスマスク スレーブアドレスマスク .....................................509 スレーブアドレッシング スレーブアドレッシング .....................................509 スレーブデバイス スレーブデバイスとしての LIN-UART .............477 680 せ 制御ステータスレジスタ 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................518 制御ステータスレジスタ PCNH/PCNL の各ビット の機能 .............................................................. 566 制御ステータスレジスタの構成 (PCNH, PCNL) ..........................................................................566 制御レジスタ 制御レジスタのビット構成 ................................553 接続例 外部デバイスとの接続例 .................................... 199 外部との接続例 ....................................................195 設定 CSX → RDX/WR1X, WR0X セットアップ・RDX/ WR1X, WR0X → CSX ホールド設定 (TYP3 ∼ TYP0=0000B, AWR=000BH) ......... 211 設定初期化後 設定初期化後の待ち時間 ...................................... 80 設定初期化リセット INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................71 設定初期化リセット (INIT) ................................... 70 設定初期化リセット (INIT) 解除シーケンス ...... 73 ゼネラル制御レジスタ ゼネラル制御レジスタ 10 (GCN10) の構成 ...... 573 ゼネラル制御レジスタ 11 (GCN11) の構成 ...... 576 全体制御レジスタ 全体制御レジスタ ........................................343, 344 全体制御レジスタ一覧 ........................................ 337 全チャネル動作許可 全チャネル動作許可 ............................................ 318 全チャネル動作禁止 全チャネル動作禁止 ............................................ 322 そ 送受信 メッセージ RAM とのデータ送受信 ................. 389 送信 受信 / 送信データレジスタ (RDR/TDR) ............433 送信動作 ................................................................ 461 送信メッセージオブジェクトの更新 ................ 392 送信メッセージオブジェクトの設定 ................ 391 送信割込み ............................................................ 444 送信割込み許可タイミング ................................479 送信割込み生成とフラグセットタイミング ..........................................................................449 送信割込み要求生成タイミング ........................ 450 メッセージ送信 ....................................................391 送信メッセージオブジェクト 送信メッセージオブジェクトの更新 ................ 392 送信メッセージオブジェクトの設定 ................ 391 送信優先度 送信優先度 ............................................................ 391 双方向通信 双方向通信機能 ....................................................471 ソフトウェア ソフトウェア互換 ................................................480 ソフトウェア再起動 ............................................ 456 ソフトウェアによる複数同時起動の例 ............587 ソフトウェア互換 ソフトウェア互換 .................................................480 ソフトウェア要求 ソフトウェア要求 .................................................309 ソフトウェアリセット STCR:SRST ビット書込み ( ソフトウェアリセット ) ................................71 ソフトフェア制御 端子 CAN_TX のソフトフェア制御 ...................408 た 退避 退避・復帰の処理 .................................................286 タイマ制御ステータスレジスタ タイマ制御ステータスレジスタ (TCCS) ...........534 タイマ制御レジスタ タイマ制御レジスタ (WTCRH, WTCRL) ..........593 タイマデータレジスタ タイマデータレジスタ (TCDT) ..........................533 タイマレジスタ 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................522 タイムベースカウンタ タイムベースカウンタ .........................................104 タイムベースカウンタクリアレジスタ CTBR : タイムベースカウンタクリアレジスタ ............................................................................95 タイムベースカウンタ制御レジスタ TBCR : タイムベースカウンタ制御レジスタ ............................................................................92 ダイレクトアドレッシング ダイレクトアドレッシング ...................................34 ダイレクトアドレッシング領域 ...........................28 端子 / タイミングコントロールレジスタ 端子 / タイミングコントロールレジスタ (TCR) の レジスタ構成 ..................................................186 端子機能 端子機能一覧表 .........................................................9 端子入力レベル 端子入力レベル .....................................................242 端子入力レベルの選択 .........................................242 端子配列図 端子配列図 .................................................................7 単発モード 単発モード .............................................................615 ち 遅延スロット 遅延スロット付き動作の制限事項 .......................49 遅延スロット付き動作の動作説明 .......................48 遅延スロット付き動作の命令 ...............................48 遅延スロットなし動作の動作説明 .......................50 遅延スロットなし動作の命令 ...............................50 遅延スロット付き動作 遅延スロット付き動作の制限事項 .......................49 遅延スロット付き動作の動作説明 .......................48 遅延スロット付き動作の命令 ...............................48 遅延スロットなし動作 遅延スロットなし動作の動作説明 .......................50 遅延スロットなし動作の命令 ...............................50 遅延割込みモジュール 遅延割込みモジュールの概要 ............................276 遅延割込みモジュールのブロックダイヤグラム ..........................................................................277 遅延割込みモジュールのレジスタ一覧 ............277 遅延割込みモジュールレジスタ DICR ( 遅延割込みモジュールレジスタ ) ......... 278 チップセレクト領域許可レジスタ チップセレクト領域許可レジスタ (CSER) の レジスタ構成 ..................................................184 チャネル間優先順位 チャネル間優先順位 ............................................ 326 チャネルグループ チャネルグループ ................................................327 直接アクセス LIN-UART 端子直接アクセス ............................470 つ 通常アクセス 通常アクセスおよびアドレス / データマルチ プレックスアクセス ...................................... 176 通常リセット 通常リセット動作 ..................................................76 通信 LIN マスタ / スレーブ通信機能 .......................... 475 双方向通信機能 ....................................................471 通信 ........................................................................465 通信手順 ................................................................ 473 通信モードの設定 ................................................479 マスタ / スレーブ通信機能 ................................. 472 通信エラー エラーを発生しない通信エラー ........................ 510 通信手順 通信手順 ................................................................ 473 通信モード 通信モードの設定 ................................................479 て 停止条件 停止条件 ................................................................ 507 停止モード 停止モード ............................................................ 616 逓倍率 PLL 逓倍率 .............................................................. 79 PLL 逓倍率変更後の待ち時間 ..............................80 データ形式 転送データ形式 ............................................460, 463 データバス幅 データバス幅 ................................................192, 198 データバス幅と制御信号との関係 .................... 190 データフレーム データフレーム受信 ............................................ 393 データ方向レジスタ データ方向レジスタ (DDR) ................................226 データレジスタ データレジスタ (ADCR1, ADCR0) .................... 610 データレジスタ (IDAR) .......................................506 テーブルベースレジスタ テーブルベースレジスタ (TBR) .....................42, 56 681 テストモード テストモード設定 .................................................404 デバイス LIN デバイスの接続 .............................................475 外部デバイスとの接続例 .....................................199 スレーブデバイスとしての LIN-UART .............477 デバイス状態 .........................................................121 デバイス状態制御の概要 .....................................120 デバイスの動作状態 .............................................122 マスタデバイスとしての LIN-UART .................476 リセット ( デバイス初期化 ) の概要 ....................69 デバイス初期化 リセット ( デバイス初期化 ) の概要 ....................69 デバイダ PLLDIVM:PLL デバイダ M .................................109 PLLDIVN:PLL デバイダ N ..................................111 デバッガ デバッガ関連の注意事項 .......................................23 電源端子 電源端子について ...................................................20 電源投入後 電源投入後の待ち時間 ...........................................80 転送 2 サイクル転送 (I/O →外部 ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........218 2 サイクル転送 ( 外部→ I/O) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........217 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM, 外部 I/O, RAM →内部 RAM もタイミングは 同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........................................................................216 2 サイクル転送時のデータの動作 ......................330 DMA 転送と割込み ..............................................317 DMA 転送要求要因 ..............................................664 周辺回路からの転送停止要求の発生 .................323 ステップ / ブロック転送 2 サイクル転送 .........311 ステップ転送 .........................................................311 スリープモード中の DMA 転送の注意 .............325 スレーブアドレスとデータ転送の例 .................512 転送アドレス .........................................................307 転送回数と転送終了 .............................................308 転送起動 .................................................................318 転送シーケンスの選択 .........................................310 転送終了 .................................................................322 転送タイプ .............................................................307 転送データ形式 .............................................460, 463 転送要求の受付けと転送 .....................................319 バースト 2 サイクル転送 .....................................310 バースト転送の動作フロー .................................329 ブロック転送 .........................................................311 ブロック転送の動作フロー .................................328 転送回数 転送回数と転送終了 .............................................308 転送回数レジスタ 転送回数レジスタとリロード動作 .....................316 転送シーケンス 転送シーケンスの選択 .........................................310 転送終了 転送回数と転送終了 .............................................308 転送終了 .................................................................322 転送停止 周辺回路からの転送停止要求の発生 .................323 682 転送モード 転送モード ............................................................ 307 転送要求 転送要求の受付けと転送 .................................... 319 と 同期化 同期化方法 ............................................................ 459 同期リセット 同期リセット動作 ..................................................76 動作許可ビット 動作許可ビット ....................................................459 動作初期化リセット 動作初期化リセット (RST) ................................... 70 動作初期化リセット (RST) 解除シーケンス ...... 73 動作設定 動作設定 ................................................................ 479 動作設定の変更 ....................................................479 動作モード 動作モード時のキャッシュの状態 .................... 138 動作モードの概要 ..................................................64 LIN-UART の動作モード .................................... 415 動作モード 3 における LIN の使用 .................... 479 トラップ コプロセッサエラートラップ ..............................62 コプロセッサ不在トラップ ..................................62 な 内蔵周辺要求 内蔵周辺要求 ........................................................ 309 内部 RAM 2 サイクル転送 ( 内部 RAM →外部 I/O, RAM, 外部 I/O, RAM →内部 RAM もタイミングは 同じ ) (TYP3 ∼ TYP0=0000B, AWR=0008H) ..........................................................................216 内部アーキテクチャ 内部アーキテクチャの構造 ..................................30 内部アーキテクチャの特長 ..................................29 内部クロック 内部クロック動作 ................................................524 内部動作クロック 内部動作クロックの生成 ...................................... 78 に 入出力回路形式 入出力回路形式 ......................................................15 は バースト バースト 2 サイクル転送 .................................... 310 バースト 2 サイクル転送 バースト 2 サイクル転送 .................................... 310 バースト転送 バースト転送の動作フロー ................................329 ハードウェア ハードウェアウォッチドッグタイマ ................ 156 ハードウェアウォッチドッグタイマの ブロックダイヤグラム ..................................157 ハードウェアウォッチドッグリセット ...............72 ハードウェアウォッチドッグタイマ ハードウェアウォッチドッグタイマ .................156 ハードウェアウォッチドッグタイマ使用上の注意 ..........................................................................162 ハードウェアウォッチドッグタイマの機能 ..........................................................................160 ハードウェアウォッチドッグタイマの周期 ..........................................................................160 ハードウェアウォッチドッグタイマのブロックダ イヤグラム ......................................................157 ハードウェアウォッチドッグタイマ制御レジスタ ハードウェアウォッチドッグタイマ制御レジスタ ..................................................................158, 159 ハードウェア構成 DMAC のハードウェア構成 ................................288 割込みコントローラのハードウェア構成 .........246 ハーバード ハーバード←→プリンストン バスコンバータ ............................................................................32 ハーバード←→プリンストン バスコンバータ ハーバード←→プリンストン バスコンバータ ............................................................................32 バイトオーダリング バイトオーダリング ...............................................44 バスアイドル バスアイドル機能 .................................................480 バスアイドル割込み .............................................445 バスエラー バスエラー .............................................................510 バスコンバータ 32 ビット←→ 16 ビットバスコンバータ ............32 ハーバード←→プリンストン バスコンバータ ............................................................................32 バスステータスレジスタ バスステータスレジスタ (IBSR) ........................487 バス制御レジスタ バス制御レジスタ (IBCR) ....................................491 バスタイミング LIN バスタイミング .............................................469 バスモード バスモード ...............................................................64 バスモード 0 ( シングルチップモード ) ..............65 バスモード 1 ( 内 ROM 外バスモード ) ...............65 バスモード 2 ( 外 ROM 外バスモード ) ...............65 発振安定待ち 発振安定待ち発生要因 ...........................................74 発振安定待ち時間 発振安定待ち時間の選択 .......................................75 パリティ パリティ .................................................................462 汎用レジスタ 汎用レジスタ ...........................................................36 ひ ビッグエンディアン ビッグエンディアンのデータフォーマット ..........................................................................191 リトルエンディアンとビッグエンディアンの 相違点 .............................................................. 196 ビットオーダリング ビットオーダリング .............................................. 44 ビット機能 DMACA0 ∼ DMACA4 のビット機能 ................ 292 DMACB0 ∼ DMACB4 のビット機能 ................ 296 DMACR のビット機能 .........................................304 DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 の ビット機能 ......................................................302 ビット構成 16 ビットタイマレジスタ (TMR) のビット構成 ..........................................................................522 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................523 インプットキャプチャレジスタ (ICS01,ICS23) の ビット構成 ......................................................545 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成 ..................................................544 外部割込み要因レジスタ (EIRR) のビット構成 ..........................................................................267 外部割込み要求レベル設定レジスタ (ELVR) の ビット構成 ......................................................268 コンペアレジスタ (OCCP0 ∼ OCCP3) の ビット構成 ......................................................552 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................518 制御レジスタのビット構成 ................................553 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 ..................................................252 割込み許可レジスタ (ENIR) のビット構成 ...... 266 割込み制御レジスタ (ICR) のビット構成 ......... 251 割込み制御レジスタ (ICR) ビット構成 ............... 54 ビットサーチモジュール ビットサーチモジュールの概要 ........................ 280 ビットサーチモジュールのブロックダイヤグラム ..........................................................................281 ビットサーチモジュールのレジスタ一覧 ........281 ビット操作 論理演算とビット操作 .......................................... 34 品種構成 品種構成 .................................................................... 4 ふ フィルタ 受信メッセージの受容フィルタ ........................ 393 複数同時起動 ソフトウェアによる複数同時起動の例 ............587 リロードタイマによる PPG の複数同時起動 ..........................................................................588 フラグセットタイミング 受信割込み生成とフラグセットタイミング ..........................................................................447 送信割込み生成とフラグセットタイミング ..........................................................................449 フリーランタイマ 16 ビットフリーランタイマ使用上の注意 ....... 539 16 ビットフリーランタイマの概要 ...................530 16 ビットフリーランタイマの カウントタイミング ...................................... 538 683 16 ビットフリーランタイマのクリアタイミング ..........................................................................538 16 ビットフリーランタイマの動作説明 ............537 16 ビットフリーランタイマの ブロックダイヤグラム ..................................531 16 ビットフリーランタイマのレジスタ一覧 ..........................................................................532 プリスケーラレジスタ プリスケーラレジスタ .........................................343 プリンストン ハーバード←→プリンストン バスコンバータ ............................................................................32 プルアップコントロール プルアップコントロール .......................................21 プルアップ・プルダウン制御 プルアップ・プルダウン制御 .............................243 プログラミングモデル 基本プログラミングモデル ...................................35 プログラムカウンタ プログラムカウンタ (PC) ......................................41 プログラムステータス プログラムステータス (PS) ..................................37 ブロックサイズ ブロックサイズ .....................................................312 ブロック図 ブロック図 .............................................................410 ブロックダイヤグラム 16 ビットフリーランタイマの ブロックダイヤグラム ..................................531 16 ビットリロードタイマの ブロックダイヤグラム ..................................516 A/D コンバータのブロックダイヤグラム .........601 DMAC のブロックダイヤグラム ........................290 I2C インタフェースのブロックダイヤグラム ..........................................................................485 LIN-UART のブロックダイヤグラム .........417, 418 PPG のブロックダイヤグラム ............................561 アウトプットコンペアユニットの ブロックダイヤグラム ..................................550 インターバルタイマのブロックダイヤグラム ..........................................................................125 インプットキャプチャのブロックダイヤグラム ..........................................................................542 外部バスインタフェースのブロックダイヤグラム ..........................................................................165 外部割込み制御部のブロックダイヤグラム ..........................................................................264 クロック生成制御部のブロックダイヤグラム ............................................................................85 遅延割込みモジュールのブロックダイヤグラム ..........................................................................277 ハードウェアウォッチドッグタイマの ブロックダイヤグラム ..................................157 ビットサーチモジュールのブロックダイヤグラム ..........................................................................281 ブロックダイヤグラム .............................................5 ポート基本ブロックダイヤグラム .....................222 リアルタイムクロックのブロックダイヤグラム ..........................................................................592 割込みコントローラのブロックダイヤグラム ..........................................................................249 ブロック転送 ステップ / ブロック転送 2 サイクル転送 .........311 684 ブロック転送 ........................................................ 311 ブロック転送の動作フロー ................................328 分岐 分岐 ..........................................................................33 分岐命令 分岐命令の概要 ......................................................47 分周比 分周比設定の初期化 .............................................. 84 分周比の設定 .......................................................... 84 へ ベーシックモード ベーシックモード ................................................407 ベクタテーブル EIT ベクタテーブル ...............................................56 変化点検出 変化点検出 ............................................................ 285 変化点検出用データレジスタ 変化点検出用データレジスタ (BSDC) ..............283 変換時間設定レジスタ 変換時間設定レジスタ ........................................ 611 ほ ポート ポート 14 ...............................................................228 ポート 15 ...............................................................230 ポート 16 ...............................................................231 ポート 17 ...............................................................231 ポート 18 ...............................................................232 ポート 19 ...............................................................233 ポート 20 ...............................................................234 ポート 21 ...............................................................235 ポート 22 ...............................................................236 ポート 23 ...............................................................237 ポート 24 ...............................................................238 ポート 28 ...............................................................240 ポート 29 ...............................................................241 ポートの一般的な仕様 ........................................ 224 ポート基本ブロックダイヤグラム ポート基本ブロックダイヤグラム .................... 222 ポートデータダイレクトリードレジスタ ポートデータダイレクトリードレジスタ (PDRD) ..........................................................................227 ポートデータレジスタ ポートデータレジスタ (PDR) ............................. 226 ポートプルアップ・プルダウン許可レジスタ ポートプルアップ・プルダウン許可レジスタ ..........................................................................243 ポートプルアップ・プルダウン制御レジスタ ポートプルアップ・プルダウン制御レジスタ ..........................................................................244 ホールドリクエスト取下げ要求 ホールドリクエスト取下げ要求 (Hold Request Cancel Request) ........................ 259 ホールドリクエスト取下げ要求機能 (HRCL) の 使用例 .............................................................. 261 ホールドリクエスト取下げ要求レジスタ ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 ..................................................252 ボーレート LIN-UART のボーレート選択 .............................451 ボーレートの算出 .................................................453 マシンクロック周波数ごとのボーレート設定例 ..........................................................................454 ボーレート / リロードカウンタレジスタ ボーレート / リロードカウンタレジスタ (BGR) ..........................................................................441 ま マシンクロック マシンクロック周波数ごとのボーレート設定例 ..........................................................................454 マスク スレーブアドレスマスク .....................................509 マスタ LIN マスタ / スレーブ通信機能 ..........................475 LIN マスタとしての UART .................................466 マスタ / スレーブ通信機能 .................................472 マスタデバイスとしての LIN-UART .................476 マスタ / スレーブ通信 LIN マスタ / スレーブ通信機能 ..........................475 マスタ / スレーブ通信機能 .................................472 マスタデバイス マスタデバイスとしての LIN-UART .................476 待ち時間 PLL 逓倍率変更後の待ち時間 ..............................80 PLL 動作許可後の待ち時間 ..................................80 ストップモード復帰後の待ち時間 .......................81 設定初期化後の待ち時間 .......................................80 電源投入後の待ち時間 ...........................................80 マッピング ICR マッピング .......................................................54 み 未定義命令 未定義命令例外の動作 ...........................................61 未使用入力端子 未使用入力端子の処理について ...........................20 め 命令 INTE 命令の動作 .....................................................60 INT 命令の動作 .......................................................60 RETI 命令の動作 .....................................................62 その他の命令概要 ...................................................34 遅延スロット付き動作の命令 ...............................48 遅延スロットなし動作の命令 ...............................50 分岐命令の概要 .......................................................47 命令キャッシュ .......................................................31 命令キャッシュのキャッシュ可能領域 .............139 命令キャッシュ 命令キャッシュ .......................................................31 命令キャッシュのキャッシュ可能領域 .............139 命令キャッシュ制御レジスタ 命令キャッシュ制御レジスタ (ICHCR) .............135 メッセージ RAM メッセージ RAM ...................................................335 メッセージ RAM とのデータ送受信 ................. 389 メッセージインタフェースレジスタ メッセージインタフェースレジスタ ................ 343 メッセージインタフェースレジスタ一覧 ........338 メッセージオブジェクト 受信メッセージオブジェクトの設定 ................ 395 送信メッセージオブジェクトの更新 ................ 392 送信メッセージオブジェクトの設定 ................ 391 メッセージオブジェクト .................................... 389 メッセージオブジェクトの機能 ........................ 371 メッセージオブジェクトの構成 ........................ 371 メッセージ受信 FIFO バッファによるメッセージ受信 ............... 397 メッセージ送信 メッセージ送信 ....................................................391 メッセージハンドラ メッセージハンドラ ............................................ 335 メッセージハンドラレジスタ メッセージハンドラレジスタ ....................343, 377 メッセージハンドラレジスタ一覧 .................... 340 メモリマップ メモリマップ .................................................... 28, 46 も モード PLL クロックモード動作中の注意について ...... 21 アクセスモード ......................................................64 サイレントモード ................................................404 サイレントモードとループバックモードの結合 ..........................................................................406 スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 260 ストップモード復帰後の待ち時間 ...................... 81 スリープモード中の DMA 転送の注意 ............. 325 単発モード ............................................................ 615 停止モード ............................................................ 616 テストモード設定 ................................................404 転送モード ............................................................ 307 動作モード時のキャッシュの状態 .................... 138 動作モードの概要 ..................................................64 バスモード .............................................................. 64 バスモード 0 ( シングルチップモード ) ..............65 バスモード 1 ( 内 ROM 外バスモード ) ............... 65 バスモード 2 ( 外 ROM 外バスモード ) ............... 65 ベーシックモード ................................................407 モード端子 .............................................................. 66 モード端子 (MD0 ∼ MD3) について ................... 21 ループバックモード ............................................ 405 連続モード ............................................................ 615 LIN-UART の動作モード .................................... 415 シングルモード ....................................................459 通信モードの設定 ................................................479 動作モード 3 における LIN の使用 .................... 479 モード 2 でのクロック反転とスタート / ストップ ビット .............................................................. 463 モード端子 モード端子 .............................................................. 66 モード端子 (MD0 ∼ MD3) について ................... 21 モードレジスタ モードレジスタ (MODR) .......................................66 シリアルモードレジスタ (SMR) ........................ 427 685 ゆ ユーザ ユーザ割込み・NMI の動作 ..................................59 ユーザスタックポインタ ユーザスタックポインタ (USP) ............................43 優先順位 チャネル間優先順位 .............................................326 優先順位判定 優先順位判定 .........................................................253 優先度 EIT 要因受理の優先度 ...........................................57 ら ライト→ライトタイミング ライト→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0018H) .........207 ラッチアップ ラッチアップ防止のために ...................................20 り リアルタイムクロック リアルタイムクロックのレジスタ一覧 .............590 リード→ライトタイミング リード→ライトタイミング (TYP3 ∼ TYP0=0000B, AWR=0048H) ..........206 リセット INITX 端子入力 ( 設定初期化リセット端子 ) ............................................................................71 STCR:SRST ビット書込み ( ソフトウェアリセット ) ................................71 ウォッチドッグタイマオーバフロー時の リセットタイミング ......................................160 ウォッチドッグリセット .......................................72 設定初期化リセット (INIT) ...................................70 設定初期化リセット (INIT) 解除シーケンス ......73 通常リセット動作 ...................................................76 同期リセット動作 ...................................................76 動作初期化リセット (RST) ....................................70 動作初期化リセット (RST) 解除シーケンス .......73 ハードウェアウォッチドッグリセット ...............72 リセット ( デバイス初期化 ) の概要 ....................69 リセット要因レジスタ RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................86 リターンポインタ リターンポインタ (RP) ..........................................42 リトルエンディアン リトルエンディアンとビッグエンディアンの 相違点 ..............................................................196 リトルエンディアン領域に対する制限事項 ..........................................................................196 リモートフレーム リモートフレーム .................................................394 領域ウェイトレジスタ 領域ウェイトレジスタ (AWR0 ∼ AWR4) の レジスタ構成 ..................................................175 領域構成レジスタ 領域構成レジスタ (ACR0 ∼ ACR3) の レジスタ構成 ..................................................169 686 領域選択レジスタ 領域選択レジスタ (ASR0 ∼ ASR4) の レジスタ構成 ..................................................168 リロードタイマ 16 ビットリロードタイマ ( 以下 RLT) の概要 ..........................................................................516 16 ビットリロードタイマの ブロックダイヤグラム ..................................516 16 ビットリロードタイマのレジスタ一覧 ....... 517 リロードタイマによる PPG の複数同時起動 ..........................................................................588 リロード動作 転送回数レジスタとリロード動作 .................... 316 リロード動作 ........................................................ 312 リロードレジスタ 16 ビットリロードレジスタ (TMRLR) の ビット構成 ......................................................523 る ループバックモード サイレントモードとループバックモードの結合 ..........................................................................406 ループバックモード ............................................ 405 れ 例外 未定義命令例外の動作 .......................................... 61 レジスタ 0 検出用データレジスタ (BSD0) ........................ 282 10 ビットスレーブアドレスマスクレジスタ (ITMK) .............................................................502 10 ビットスレーブアドレスレジスタ (ITBA) ..........................................................................501 1 検出用データレジスタ (BSD1) ........................ 282 7 ビットスレーブアドレスマスクレジスタ (ISMK) .............................................................505 7 ビットスレーブアドレスレジスタ (ISBA) ..........................................................................504 A/D 許可レジスタ (ADER) ..................................604 A/D 制御ステータスレジスタ 0 (ADCS0) ......... 608 A/D 制御ステータスレジスタ 1 (ADCS1) ......... 605 CLKR : クロックソース制御レジスタ ................. 96 CTBR : タイムベースカウンタクリアレジスタ ............................................................................95 DICR ( 遅延割込みモジュールレジスタ ) ......... 278 DIVR0 : 基本クロック分周設定レジスタ 0 ........ 99 DIVR1 : 基本クロック分周設定レジスタ 1 ...... 102 DMAC 用 I/O ウェイトレジスタ (IOWR0 ∼ IOWR2) のレジスタ構成 ........... 181 PPG 周期設定レジスタの構成 (PCSR) ............... 570 PPG タイマレジスタ (PTMR) の構成 ................ 572 PPG デューティ設定レジスタ (PDUT) の構成 ..........................................................................571 PS レジスタに関する注意事項 ............................. 22 RSRR : リセット要因レジスタ / ウォッチドッグ タイマ制御レジスタ ........................................ 86 STCR : スタンバイ制御レジスタ .........................89 TBCR : タイムベースカウンタ制御レジスタ ............................................................................92 WPR : ウォッチドッグリセット発生延期レジスタ ............................................................................98 インプットキャプチャレジスタ (ICS01,ICS23) の ビット構成 ......................................................545 インプットキャプチャレジスタ (IPCP0 ∼ IPCP3) のビット構成 ..................................................544 開始チャネル設定レジスタ (ADSCH)・ 終了チャネル設定レジスタ (ADECH) .........613 外部割込み要因レジスタ (EIRR) のビット構成 ..........................................................................267 外部割込み要求レベル設定レジスタ (ELVR) の ビット構成 ......................................................268 キャッシュイネーブルレジスタ (CHER) の レジスタ構成 ..................................................185 キャッシュサイズレジスタ (ISIZE) ...................135 クロック制御レジスタ (ICCR) ............................499 クロックプリスケーラレジスタ .........................342 検出結果レジスタ (BSRR) ...................................283 コンディションコードレジスタ (CCR) ...............38 コンペアレジスタ (OCCP0 ∼ OCCP3) の機能 ..........................................................................552 コンペアレジスタ (OCCP0 ∼ OCCP3) の ビット構成 ......................................................552 サブセカンドレジスタ .........................................595 時 / 分 / 秒レジスタ ..............................................597 ジェネラル制御レジスタ 2 (GCN20,GCN21) の 構成 ..................................................................579 システムコンディションコードレジスタ (SCR) ............................................................................40 乗除算レジスタ (Multiply & Divide register) ........43 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................518 制御ステータスレジスタの構成 (PCNH, PCNL) ...........................................................................566 ゼネラル制御レジスタ 10 (GCN10) の構成 ......573 ゼネラル制御レジスタ 11 (GCN11) の構成 ......576 全体制御レジスタ .................................................344 タイマ制御ステータスレジスタ (TCCS) ...........534 タイマ制御レジスタ (WTCRH, WTCRL) ..........593 タイマデータレジスタ (TCDT) ..........................533 端子 / タイミングコントロールレジスタ (TCR) の レジスタ構成 ..................................................186 チップセレクト領域許可レジスタ (CSER) の レジスタ構成 ..................................................184 データ方向レジスタ (DDR) ................................226 データレジスタ (IDAR) .......................................506 テーブルベースレジスタ (TBR) .....................42, 56 転送回数レジスタとリロード動作 .....................316 ハードウェアウォッチドッグタイマ制御レジスタ ..................................................................158, 159 バスステータスレジスタ (IBSR) ........................487 バス制御レジスタ (IBCR) ....................................491 プリスケーラレジスタ .........................................343 変化点検出用データレジスタ (BSDC) ..............283 変換時間設定レジスタ .........................................611 ポートデータダイレクトリードレジスタ (PDRD) ..........................................................................227 ポートデータレジスタ (PDR) .............................226 ポートプルアップ・プルダウン許可レジスタ ..........................................................................243 ポートプルアップ・プルダウン制御レジスタ ..........................................................................244 ホールドリクエスト取下げ要求レジスタ (HRCL) のビット構成 ..................................................252 メッセージインタフェースレジスタ ................ 343 メッセージハンドラレジスタ ....................343, 377 モードレジスタ (MODR) .......................................66 領域ウェイトレジスタ (AWR0 ∼ AWR4) の レジスタ構成 ..................................................175 領域構成レジスタ (ACR0 ∼ ACR3) の レジスタ構成 ..................................................169 領域選択レジスタ (ASR0 ∼ ASR4) の レジスタ構成 ..................................................168 割込みレベルマスクレジスタ (ILM) ................... 41 拡張ステータス・制御レジスタ (ESCR) ........... 435 拡張通信制御レジスタ (ECCR) .......................... 438 受信 / 送信データレジスタ (RDR/TDR) ............433 シリアルステータスレジスタ (SSR) .................. 430 シリアル制御レジスタ (SCR) ............................. 424 シリアル制御レジスタ (SCR) の AD ビット ..........................................................................480 ボーレート / リロードカウンタレジスタ (BGR) ..........................................................................441 レジスタ一覧 I2C インタフェースのレジスタ一覧 .................. 483 レジスタ概要 I2C インタフェースのレジスタ概要 .................. 486 レベルマスク 割込み・NMI に対するレベルマスク .................. 53 連続モード 連続モード ............................................................ 615 ろ ロード ロードとストア ......................................................33 論理演算 論理演算とビット操作 .......................................... 34 わ ワードアライメント ワードアライメント .............................................. 45 割込み DMAC 割込み制御が出力できる割込み ........... 324 DMA 転送と割込み .............................................. 317 DMA による割込みクリアの発生タイミング ..........................................................................320 EIT の割込みレベル ...............................................52 LIN-Synch-Break 検出割込みとフラグ ..............468 LIN-Synch-Break 割込み .......................................445 LIN-Synch-Field エッジ検出割込み .................... 445 LIN-UART の割込み .............................................443 NMI/ ホールド抑止レベル割込み処理中 ..........321 インターバル割込み ............................................ 129 外部割込みの動作 ................................................270 外部割込みの動作手順 ........................................ 270 外部割込み要求レベル ........................................ 271 受信割込み ............................................................ 444 受信割込み生成とフラグセットタイミング ..........................................................................447 送信割込み ............................................................ 444 送信割込み許可タイミング ................................479 687 送信割込み生成とフラグセットタイミング ..........................................................................449 送信割込み要求生成タイミング .........................450 バスアイドル割込み .............................................445 ユーザ割込み・NMI の動作 ..................................59 割込み処理 .....................................................514, 585 割込みスタック .......................................................55 割込み番号 .............................................................279 割込みベクタ .........................................................659 割込み・NMI に対するレベルマスク ..................53 割込み許可レジスタ 割込み許可レジスタ (ENIR) のビット構成 .......266 割込みコントローラ 割込みコントローラの主要機能 .........................246 割込みコントローラのハードウェア構成 .........246 688 割込みコントローラのブロックダイヤグラム ..........................................................................249 割込みコントローラのレジスタ一覧 ................ 247 割込みコントローラのレジスタ詳細 ................ 250 割込み制御レジスタ 割込み制御レジスタ (ICR) のビット構成 ......... 251 割込み制御レジスタ (ICR) ビット構成 ............... 54 割込み番号 割込み番号 ............................................................ 279 割込みベクタ 割込みベクタ ........................................................ 659 割込みレベルマスクレジスタ 割込みレベルマスクレジスタ (ILM) ................... 41 ワンショット動作 ワンショット動作 ................................................583 CM71-10159-2 富士通マイクロエレクトロニクス・CONTROLLER MANUAL FR ファミリ 32 ビット・マイクロコントローラ MB91461 ハードウェアマニュアル 2010 年 3 月 第 2 版発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 プロモーション推進部