本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 富士通マイクロエレクトロニクス CONTROLLER MANUAL CM71-10104-8 FR50 32 ビット・マイクロコントローラ MB91360 Series ハードウェアマニュアル FR50 32 ビット・マイクロコントローラ MB91360 Series ハードウェアマニュアル 富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 http://edevice.fujitsu.com/micom/jp-support/ 富士通マイクロエレクトロニクス株式会社 はじめに ■ 本書の目的と対象読者 MB91360 シリーズは , FR50 ファミリの 32 ビットシングルチップマイクロコントロー ラの一種として開発されました。MB91360 シリーズは RISC アーキテクチャ CPU コア を含み , 高い CPU 処理能力を要する埋込みアプリケーションに適しています。 本マニュアルでは , MB91360 シリーズの機能および動作を説明しており , MB91360 シ リーズ製品を使用して実際に製品を開発するエンジニアを対象としています。本書を ご一読ください。MB91360 シリーズの命令セットの詳細については , 「FR Family Instruction Manual」を参照してください。 ■ 商標 FR ファミリは FUJITSU RISC コントローラの略であり , 富士通マイクロエレクトロニ クス株式会社 の製品です。 本書に記載されている社名および製品名などの固有名詞は , 各所の商標または登録商 標です。 ■ 本マニュアルの構成 本マニュアルは以下に示す 33 の章および付録から構成されています。 第 1 章 MB91360 シリーズの概要 MB91360 シリーズの概要を示し , 特長 , ブロックダイヤグラム , 機能などの重要な 情報について説明します。 第 2 章 CPU FR50 ファミリ CPU コアのアーキテクチャ , 仕様と命令などの機能に関する重要な 情報について説明します。 第 3 章 命令キャッシュ MB91360 シリーズのメンバである命令キャッシュメモリと , その動作について説明 します。 第 4 章 ブート ROM/ 構成レジスタ シングルチップモードで使用される , 埋込み式ブート ROM の機能について説明し ます。 第 5 章 クロック生成とデバイス状態 MB91360 シリーズの制御に使用するクロックの生成 , および制御について , 詳細に 説明します。さらに , デバイス状態 , および低電力モードについて解説します。こ こでは , サブクロックなしの動作を想定しています。サブクロックの動作について の説明は , 対応する章を参照してください。 第 6 章 クロック変調器 クロックモジュレータとその機能の概要について解説します。レジスタ構成および クロックモジュレータの動作について , 解説します。 i 第 7 章 I/O ポート I/O ポートの概要とレジスタの一覧を示し , 外部端子を I/O ポートとして使用するた めの条件について説明します。 第 8 章 外部バスインタフェース 外部バスインタフェース , レジスタの構造と機能 , バス動作の基本 , バスの動作タイ ミングについて説明します。 第 9 章 割込みコントローラ 割込みコントローラの概要を示し , レジスタの構造と機能 , および割込みコント ローラの動作について説明します。 第 10 章 外部割込み / NMI コントローラ 外部割込み /NMI コントローラの概要を示し , レジスタの構成と機能 , および外部割 込み /NMI コントローラの動作について説明します。NMIX 端子が存在する型格は 2つです。 第 11 章 DMA コントローラ (DMAC) DMA コントローラ (DMAC) の概要を示し , レジスタの構成と機能 , および DMA コ ントローラの動作について説明します。 第 12 章 OS サポートモジュール 遅延割込みとビットサーチモジュールの概要を示し , レジスタの構成と機能 , 動作 , およびビットサーチモジュールの退避復帰処理について説明します。 第 13 章 PPG タイマ PPG タイマの概要 , レジスタ構成と機能 , PPG タイマの動作について説明します。 第 14 章 A/D コンバータ A/D コンバータの概要を示し , レジスタの構成と機能 , および A/D コンバータの動 作について説明します。 第 15 章 16 ビットリロードタイマ 16 ビットリロードタイマの概要を示し , レジスタの構成と機能 , および 16 ビットリ ロードタイマの動作について説明します。 第 16 章 CAN コントローラ CAN インタフェースの概要を示し , レジスタの構造と機能 , および CAN インタ フェースの動作について説明します。 第 17 章 D/A コンバータ D/A コンバータの概要を示し , レジスタの構造と機能 , および D/A コンバータの動 作について説明します。 第 18 章 I2C インタフェース (400 kHz) 高速 I2C インタフェースの機能と動作について説明します。 第 19 章 16 ビット I/O タイマ MB91360 シリーズには , 2 つの 16 ビットフリーランタイマモジュール , 2 つのアウ トプットコンペアモジュール , および 2 つのインプットキャプチャモジュールが含 まれ , 4 つの入力チャネルと 4 つの出力チャネルをサポートしています。ここでは , 16 ビットフリーランタイマ , アウトプット 0/1, およびインプットキャプチャ 0/1 に ついてのみ説明します。これら以外のモジュールは同一の機能を持ち , そのレジス タアドレスは I/O マップにあります。 第 20 章 アラーム比較器 アラーム比較器 ( 不足 / 過電圧検出器 ) の概要を示し , レジスタの構造と機能 , およ びアラーム比較器の動作について説明します。 ii 第 21 章 パワーダウンリセット パワーダウンリセットの概要を示し , レジスタの構成と機能 , およびパワーダウン リセットモジュールの動作について説明します。 第 22 章 シリアル I/O インタフェース (SIO) シリアル I/O インタフェース (SIO) の概要を示し , レジスタの構成と機能 , およ び SIO の動作について説明します。 第 23 章 サウンド生成器 サウンド生成器の概要を示し , レジスタの構成と機能について説明します。 第 24 章 ステッパモータ コントローラ ステッパモータコントローラの概要を示し , レジスタの構成と機能について説明し ます。 第 25 章 U- タイマ U- タイマ (U-TIMER) は , UART のボーレートを発生するために使用する 16 ビット タイマです。ここでは , U- タイマの概要を示し , レジスタの構造とその機能 , およ び U- タイマの動作について説明します。 第 26 章 UART UART は , 非同期 ( 開始ビット同期 ) 通信を行うためのシリアル I/O ポートです。こ こでは , UART の概要を示し , レジスタの構造と機能 , および UART の動作につい て説明します。 第 27 章 LIN 機能搭載 USART USART の機能および動作について解説します。LIN (Local Interconnect Network) 機 能を搭載した USART は , 外部デバイスとの同期または非同期通信に使用する汎用 シリアルデータ通信インタフェースです。 第 28 章 リアルタイムクロック リアルタイムクロック ( ウォッチタイマともよばれる ) のレジスタ構成とその機能 , RTC モジュールの動作について説明します。リアルタイムクロック ( ウォッチタイ マ ) には , タイマ制御レジスタ , サブセカンドレジスタ , 秒 / 分 / 時レジスタ , 1/2 分 周器 , 21 ビットプリスケーラ , 秒 / 分 / 時カウンタがあります。リアルタイムクロッ クは , 実時間タイマとして動作し , 実時間情報を与えます。 第 29 章 サブクロック サブクロックの機能と動作について説明します。 第 30 章 32 kHz クロック補正ユニット 32 kHz クロック補正モジュールを使用すると , 4 MHz 発振クロックを基準にして 32 kHz 発振クロックを補正できます。ここでは , 補正ユニットの概要 , レジスタの 説明 , アプリケーションノートを示します。 第 31 章 フラッシュメモリ MB91360 シリーズデバイスは , 256KB, 512KB または 768KB の内蔵フラッシュメモ リを特長とします。MB91360 シリーズデバイス上では F- バスに接続されます。 第 32 章 EDSU 内蔵デバッグ・サポート・ユニット (EDSU) は , シングル・チップ FLASH MCU デ バイスでの回路デバッグ・サポート機能の基本操作を可能にするモジュールです。 iii 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 シリアル書込みについて説明します。 付録 本付録には , 本文に含まれなかった詳細事項やプログラミングのための参考情報が 含まれています。「I/O マップ」, 「割込みベクタ」, 「各 CPU 状態における端子状 態」, および「命令」について説明します。 iv • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ い。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ ては , 当社はその責任を負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的 財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用 について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任 を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用 されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保 されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力 施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生 命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性 が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。 ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ い。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策 設計 , 誤動作防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関 連法規等の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright ©2001-2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved. v vi 目次 第1章 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 第2章 MB91360 シリーズの概要.......................................................................... 1 MB91360 シリーズの特長 ...................................................................................................... 2 MB91360 シリーズの製品ラインナップ................................................................................. 4 外形寸法図.............................................................................................................................. 8 MB91360 シリーズのブロック構成...................................................................................... 12 端子配列 ............................................................................................................................... 19 端子機能説明 ........................................................................................................................ 28 入出力回路の種類 ................................................................................................................. 63 メモリ空間............................................................................................................................ 69 デバイスの取扱いについて................................................................................................... 70 CPU.......................................................................................................... 73 2.1 CPU アーキテクチャ ............................................................................................................ 74 2.2 CPU ハードウェア構造 ........................................................................................................ 76 2.3 FR50 の内部アーキテクチャ ................................................................................................ 78 2.4 プログラミングモデル.......................................................................................................... 81 2.4.1 汎用レジスタ .............................................................................................................. 82 2.4.2 専用レジスタ .............................................................................................................. 83 2.4.3 プログラムステータスレジスタ (PS) ......................................................................... 85 2.5 データ構造............................................................................................................................ 89 2.5.1 ワードアラインメント ............................................................................................... 90 2.6 メモリマップ ........................................................................................................................ 91 2.7 命令 ...................................................................................................................................... 93 2.7.1 命令と基本命令の概要 ............................................................................................... 94 2.7.2 分岐命令 ................................................................................................................... 100 2.8 EIT( 例外 , 割込み , トラップ )............................................................................................ 103 2.8.1 多重 EIT 処理............................................................................................................ 110 2.8.2 EIT の動作 ................................................................................................................ 112 2.9 リセット ( デバイスの初期化 ) ........................................................................................... 115 2.9.1 リセットレベル ........................................................................................................ 116 2.9.2 リセットソース ........................................................................................................ 117 2.9.3 リセットシーケンス ................................................................................................. 120 2.9.4 発振安定待ち時間..................................................................................................... 121 2.9.5 リセットモード ........................................................................................................ 123 2.10 動作モード.......................................................................................................................... 125 2.10.1 バスモード ............................................................................................................... 126 2.10.2 モード設定 ............................................................................................................... 127 2.10.3 フィックスベクタ..................................................................................................... 129 第3章 3.1 3.2 3.3 3.4 3.5 命令キャッシュ ...................................................................................... 131 概要 .................................................................................................................................... 132 本体の構成.......................................................................................................................... 133 各動作モードの状態 ........................................................................................................... 139 命令キャッシュのキャッシュ可能領域............................................................................... 141 FR50 の I-Cache を使用する場合の設定方法..................................................................... 142 vii 第4章 4.1 4.2 第5章 ブート ROM/ 構成レジスタ.................................................................... 145 ブート ROM........................................................................................................................ 146 構成レジスタ (F362GB モードレジスタ F362MD)............................................................. 150 クロック生成とデバイス状態 ................................................................ 153 5.1 クロック生成の概要 ........................................................................................................... 154 5.2 ベースクロックの生成........................................................................................................ 155 5.3 PLL 制御 ............................................................................................................................. 156 5.4 待ち時間 ............................................................................................................................. 157 5.5 クロック分配 ...................................................................................................................... 159 5.6 クロックパルス分周 ........................................................................................................... 161 5.7 クロック生成制御 ............................................................................................................... 162 5.8 クロック生成制御ブロックのレジスタ............................................................................... 163 5.8.1 RSRR: リセット要因レジスタ , ウォッチドッグタイマ制御レジスタ..................... 164 5.8.2 STCR: スタンバイ制御レジスタ .............................................................................. 167 5.8.3 TBCR: タイムベースカウンタ制御レジスタ ............................................................ 170 5.8.4 CTBR: タイムベースカウンタクリアレジスタ......................................................... 173 5.8.5 CLKR: クロックソース制御レジスタ ....................................................................... 174 5.8.6 DIVR0: ベースクロック分周設定レジスタ 0 ............................................................ 177 5.8.7 DIVR1: ベースクロック分周設定レジスタ 1 ............................................................ 180 5.8.8 CMCR: CAN モジュールのクロック制御 ................................................................. 182 5.8.9 MONCLK 端子 .......................................................................................................... 183 5.9 クロックソース PLL との切換え ........................................................................................ 184 5.9.1 概要 .......................................................................................................................... 185 5.9.2 内部電圧変化の抑制 ................................................................................................. 186 5.9.3 クロック変調器 ........................................................................................................ 187 5.9.4 手続き....................................................................................................................... 188 5.10 クロック制御部が持つ周辺回路 ......................................................................................... 190 5.10.1 タイムベースカウンタ ............................................................................................. 191 5.11 デバイス状態の制御 ........................................................................................................... 194 5.11.1 デバイスの状態と遷移 ............................................................................................. 195 5.11.2 各状態遷移要求の優先順位 ...................................................................................... 198 5.12 低消費電力モード ............................................................................................................... 199 5.12.1 スリープモード ........................................................................................................ 200 5.12.2 停止モード /RTC モード........................................................................................... 202 5.12.3 ハードウェアスタンバイモード ............................................................................... 205 5.12.4 4 MHz RTC モードから実行モードへの移行 ........................................................... 208 第6章 クロック変調器 ...................................................................................... 209 6.1 クロック変調器の概要........................................................................................................ 210 6.2 レジスタ動作 ...................................................................................................................... 211 6.2.1 制御レジスタ (CMCR).............................................................................................. 212 6.2.2 変調パラメータレジスタ (CMPR) ............................................................................ 217 6.2.3 周波数解像度設定レジスタ (CMLS0 ∼ CMLS3)...................................................... 218 6.2.4 乱数ジェネレータおよび監視レジスタ (CMLT0 ∼ CMLT3) .................................... 219 6.2.5 自動キャリブレーション・リロード・タイマ値 (CMAC) ........................................ 221 6.2.6 ステータスレジスタ (CMTS).................................................................................... 222 6.3 その他の設定 ...................................................................................................................... 223 6.3.1 変調パラメータの選択 ............................................................................................. 224 viii 6.3.2 6.3.3 6.3.4 第7章 7.1 7.2 構成フローチャート ................................................................................................. 225 プログラム例 ............................................................................................................ 226 可能な設定 ............................................................................................................... 228 I/O ポート............................................................................................... 231 I/O ポートとレジスタ構成 .................................................................................................. 232 ポート機能レジスタ (PFR) の設定 ..................................................................................... 237 第8章 外部バスインタフェース........................................................................ 245 8.1 外部バスインタフェースの概要 ......................................................................................... 246 8.2 外部バスインタフェースのレジスタ .................................................................................. 249 8.3 外部バスの仕様 .................................................................................................................. 263 8.4 外部バスアクセス ............................................................................................................... 270 8.5 バス信号 ............................................................................................................................. 276 8.6 バスの動作タイミング........................................................................................................ 277 8.7 バスインタフェースを汎用入出力 ポートとして使用する方法.......................................... 289 8.7.1 注意事項 ................................................................................................................... 290 8.7.2 使用レジスタ ............................................................................................................ 291 8.7.3 CAN を使用しないソフトウェア操作....................................................................... 292 8.7.4 CAN を使用したソフトウェア操作 .......................................................................... 294 第9章 9.1 9.2 9.3 割込みコントローラ............................................................................... 297 割込みコントローラの概要................................................................................................. 298 割込みコントローラのレジスタ ......................................................................................... 299 割込みコントローラの動作................................................................................................. 303 第 10 章 外部割込み /NMI コントローラ .............................................................. 307 10.1 外部割込みコントローラの概要 ......................................................................................... 308 10.2 外部割込みコントローラのレジスタ .................................................................................. 309 10.3 外部割込みコントローラの動作 ......................................................................................... 311 第 11 章 11.1 11.2 11.3 11.4 11.5 11.6 11.7 DMA コントローラ (DMAC) .................................................................. 313 DMA コントローラ (DMAC) の概要.................................................................................... 314 DMA コントローラ (DMAC) のレジスタ ............................................................................ 316 DMA コントローラ (DMAC) の動作.................................................................................... 330 DMA コントローラ (DMAC) の動作フロー......................................................................... 351 データバスの転送例 ........................................................................................................... 354 外部 DMA 信号.................................................................................................................... 357 DMA 転送例 ........................................................................................................................ 358 第 12 章 OS サポートモジュール......................................................................... 365 12.1 遅延割込み.......................................................................................................................... 366 12.2 ビットサーチモジュール .................................................................................................... 367 12.2.1 ビットサーチモジュールのレジスタ ........................................................................ 368 12.2.2 ビットサーチモジュールの動作と退避復帰の処理 .................................................. 370 第 13 章 PPG タイマ ............................................................................................ 373 13.1 PPG タイマの概要.............................................................................................................. 374 ix 13.2 PPG タイマのレジスタ ...................................................................................................... 377 13.2.1 制御ステータスレジスタ (PCNH, PCNL)................................................................. 379 13.2.2 PPG 周期設定レジスタ (PCSR) ............................................................................... 383 13.2.3 PPG デューティ設定レジスタ (PDUT) .................................................................... 384 13.2.4 PPG タイマレジスタ (PTMR) .................................................................................. 385 13.2.5 汎用制御レジスタ 1(GCN10, GCN11) ..................................................................... 386 13.2.6 禁止 / 汎用制御レジスタ 2(GCN20, GCN21) ........................................................... 391 13.3 PPG タイマの動作.............................................................................................................. 392 13.3.1 PPG 動作.................................................................................................................. 393 13.3.2 ワンショット動作モード .......................................................................................... 395 13.3.3 割込み....................................................................................................................... 397 13.3.4 オール "L" とオール "H" の PPG 出力....................................................................... 398 13.3.5 複数の PPG タイマチャネルの起動 ......................................................................... 399 第 14 章 A/D コンバータ ...................................................................................... 401 14.1 A/D コンバータの概要 ........................................................................................................ 402 14.2 A/D コンバータのレジスタ................................................................................................. 404 14.2.1 A/D チャネル設定レジスタ (ADCH) ......................................................................... 405 14.2.2 A/D モードレジスタ (ADMD).................................................................................... 408 14.2.3 A/D 制御ステータスレジスタ (ADCS)...................................................................... 410 14.2.4 A/D データレジスタ (ADCD) .................................................................................... 412 14.2.5 A/D 禁止レジスタ (ADBL) ........................................................................................ 413 14.3 A/D コンバータの動作 ........................................................................................................ 414 第 15 章 16 ビットリロードタイマ ...................................................................... 417 15.1 16 ビットリロードタイマの概要 ........................................................................................ 418 15.2 16 ビットリロードタイマのレジスタ構成.......................................................................... 419 15.2.1 制御ステータスレジスタ (TMCSR).......................................................................... 420 15.2.2 16 ビットタイマレジスタ (TMR).............................................................................. 422 15.2.3 16 ビットリロードレジスタ (TMRLR) ..................................................................... 423 15.3 16 ビットリロードタイマの動作 ........................................................................................ 424 15.3.1 内部クロック動作..................................................................................................... 425 15.3.2 アンダフロー動作..................................................................................................... 426 15.3.3 カウンタの動作状態 ................................................................................................. 427 15.3.4 その他の動作 ............................................................................................................ 428 第 16 章 CAN コントローラ ................................................................................ 429 16.1 CAN コントローラの概要................................................................................................... 430 16.2 レジスタ ............................................................................................................................. 432 16.2.1 オーバオール制御レジスタ ...................................................................................... 439 16.2.2 送信 , および受信エラーカウンタ (RTEC) ............................................................... 444 16.2.3 ビットタイミングレジスタ (BTR)............................................................................ 445 16.2.4 メッセージバッファ制御レジスタ............................................................................ 447 16.2.5 メッセージバッファ ................................................................................................. 458 16.2.6 インタフェース制御レジスタ (CREG) ..................................................................... 463 16.3 CAN コントローラの動作................................................................................................... 465 16.4 使用手順 ............................................................................................................................. 470 x 第 17 章 D/A コンバータ ...................................................................................... 475 17.1 D/A コンバータの概要 ........................................................................................................ 476 17.2 D/A コンバータのレジスタ................................................................................................. 477 17.3 D/A コンバータの動作 ........................................................................................................ 480 第 18 章 I2C インタフェース (400 kHz) .............................................................. 483 18.1 I2C インタフェース (400 kHz) の概要 ................................................................................ 484 18.2 I2C インタフェース (400 kHz) のレジスタ ......................................................................... 486 18.2.1 バス制御レジスタ (IBCR2)....................................................................................... 488 18.2.2 バスステータスレジスタ (IBSR2) ............................................................................ 492 18.2.3 10 ビットスレーブアドレスレジスタ (ITBA) ........................................................... 495 18.2.4 10 ビットスレーブアドレスマスクレジスタ (ITMK) ................................................ 496 18.2.5 7 ビットスレーブアドレスレジスタ (ISBA) ............................................................. 498 18.2.6 7 ビットスレーブアドレスマスクレジスタ (ISMK).................................................. 499 18.2.7 データレジスタ (IDARH, IDAR2) ............................................................................. 501 18.2.8 クロック制御レジスタ (ICCR2) ............................................................................... 502 18.2.9 クロック禁止レジスタ (IDBL2) ................................................................................ 505 2 18.3 I C インタフェースの動作.................................................................................................. 506 18.4 プログラミングフローチャート ......................................................................................... 509 第 19 章 16 ビット I/O タイマ .............................................................................. 513 19.1 16 ビット I/O タイマの概要................................................................................................ 514 19.2 16 ビット I/O タイマのレジスタ......................................................................................... 516 19.2.1 16 ビットフリーランタイマ ..................................................................................... 518 19.2.2 アウトプットコンペアモジュール............................................................................ 522 19.2.3 インプットキャプチャモジュール............................................................................ 526 19.3 16 ビット I/O タイマの動作................................................................................................ 529 19.4 動作タイミング .................................................................................................................. 533 第 20 章 アラーム比較器 ...................................................................................... 537 20.1 アラーム比較器のブロックダイヤグラム ........................................................................... 538 20.2 アラーム比較器のレジスタ................................................................................................. 539 20.3 アラーム比較器の動作モード ............................................................................................. 541 第 21 章 パワーダウンリセット ........................................................................... 543 21.1 パワーダウンリセットの概要 ............................................................................................. 544 21.2 パワーダウンリセットのレジスタ...................................................................................... 545 21.3 パワーダウンリセットの動作モード .................................................................................. 546 第 22 章 シリアル I/O インタフェース (SIO)........................................................ 547 22.1 シリアル I/O インタフェース (SIO) の概要 ........................................................................ 548 22.2 シリアル I/O インタフェース (SIO) のレジスタ ................................................................. 550 22.2.1 シリアルモード制御ステータスレジスタ (SMCS) ................................................... 551 22.2.2 シリアルシフトデータレジスタ (SDR) .................................................................... 555 22.2.3 SIO エッジ選択 / クロック禁止レジスタ (SES) ....................................................... 556 22.2.4 シリアル I/O プリスケーラ (CDCR) ......................................................................... 557 22.3 シリアル I/O インタフェース (SIO) の動作 ........................................................................ 559 xi 第 23 章 サウンド生成器 ...................................................................................... 565 23.1 サウンド生成器の概要........................................................................................................ 566 23.2 サウンド生成器のレジスタ................................................................................................. 567 23.2.1 サウンドコントロールレジスタ ............................................................................... 568 23.2.2 周波数データレジスタ (SGFR) ................................................................................ 570 23.2.3 振幅データレジスタ (SGAR).................................................................................... 571 23.2.4 デクリメントグレードレジスタ (SGDR) ................................................................. 572 23.2.5 トーンカウントレジスタ (SGTR)............................................................................. 573 23.2.6 サウンド禁止レジスタ (SGDBL) .............................................................................. 574 第 24 章 ステッパモータコントローラ ................................................................ 575 24.1 ステッパモータコントローラの概要 .................................................................................. 576 24.2 ステッパモータコントローラのレジスタ ........................................................................... 578 24.2.1 ゼロ検知 0 レジスタ (ZPD0) .................................................................................... 579 24.2.2 PWM 制御 0 レジスタ (PWC0)................................................................................. 581 24.2.3 PWM1, PWM2 比較レジスタ (PWC10, PWC20) ..................................................... 582 24.2.4 PWM1, PWM2 選択レジスタ (PWS10, PWS20)...................................................... 583 24.2.5 PWM クロック禁止レジスタ (SMDBL) .................................................................... 585 第 25 章 U- タイマ................................................................................................ 587 25.1 U- タイマ (U-TIMER) の概要 .............................................................................................. 588 25.2 U- タイマ (U-TIMER) のレジスタ ....................................................................................... 589 25.3 U- タイマ (U-TIMER) の動作 .............................................................................................. 593 第 26 章 UART ..................................................................................................... 595 26.1 UART の概要 ...................................................................................................................... 596 26.2 UART のレジスタ ............................................................................................................... 598 26.2.1 シリアルモードレジスタ (SMR)............................................................................... 599 26.2.2 シリアル制御レジスタ (SCR)................................................................................... 601 26.2.3 シリアル入力レジスタ (SIDR), シリアル出力レジスタ (SODR) .............................. 603 26.2.4 シリアル状態レジスタ (SSR)................................................................................... 604 26.2.5 UART レベル選択レジスタ (ULS) ............................................................................ 606 26.3 UART の動作 ...................................................................................................................... 607 26.3.1 非同期 ( 開始ビット同期 ) モード............................................................................. 608 26.3.2 割込み発生 , およびフラグの設定タイミング .......................................................... 610 26.3.3 その他の項目 ............................................................................................................ 613 第 27 章 LIN 機能搭載 USART............................................................................. 617 27.1 USART の概要.................................................................................................................... 618 27.2 USART の構成.................................................................................................................... 621 27.3 USART の端子.................................................................................................................... 625 27.4 USART のレジスタ............................................................................................................. 627 27.4.1 シリアルコントロールレジスタ (SCR5) .................................................................. 628 27.4.2 シリアルモードレジスタ (SMR5)............................................................................. 631 27.4.3 シリアルステータスレジスタ (SSR5) ...................................................................... 633 27.4.4 受信および送信データレジスタ (RDR5/TDR5)........................................................ 636 27.4.5 拡張ステータス制御レジスタ (ESCR5) ................................................................... 638 27.4.6 拡張通信制御レジスタ (ECCR5) .............................................................................. 640 27.4.7 ボーレート / リロードカウンタレジスタ 0 および 1 (BGR0/BGR1)........................ 642 xii 27.5 USART の割込み ................................................................................................................ 643 27.5.1 受信割込みの発生とフラグの設定タイミング.......................................................... 646 27.5.2 送信割込みの発生とフラグの設定タイミング.......................................................... 647 27.6 USART ボーレート............................................................................................................. 648 27.6.1 ボーレートの設定..................................................................................................... 650 27.6.2 リロードカウンタの再スタート ............................................................................... 652 27.7 USART の動作.................................................................................................................... 653 27.7.1 非同期モードでの動作 ( モード 0, モード 1) ............................................................ 655 27.7.2 同期モードでの動作 ( 動作モード 2) ........................................................................ 657 27.7.3 LIN 機能を用いた操作 ( モード 3) ............................................................................ 661 27.7.4 シリアル端子への直接アクセス ............................................................................... 663 27.7.5 双方向通信機能 ( ノーマルモード ) .......................................................................... 664 27.7.6 マスタ - スレーブ通信機能 ( マルチプロセッサモード ) .......................................... 665 27.7.7 LIN 通信機能............................................................................................................. 668 27.7.8 LIN 通信における USART フローチャート例 ( 運用モード 3) ................................. 669 27.8 USART の使用上の注意 ..................................................................................................... 672 第 28 章 28.1 28.2 28.3 28.4 ブロックダイヤグラム........................................................................................................ 676 レジスタ構成 ...................................................................................................................... 677 レジスタの詳細 .................................................................................................................. 679 更新ビット (UPDT) の使用................................................................................................. 683 第 29 章 29.1 29.2 29.3 29.4 リアルタイムクロック ........................................................................... 675 サブクロック.......................................................................................... 685 サブクロックシステムの概要 ............................................................................................. 686 サブクロックの動作 (SELCLK = 0) .................................................................................... 687 4 MHz リアルタイムクロックの構成 (SELCLK = 1) .......................................................... 688 リアルタイムクロックモジュールの使用方法.................................................................... 689 第 30 章 32 kHz クロック補正ユニット ............................................................... 691 30.1 概要 .................................................................................................................................... 692 30.2 レジスタの説明 .................................................................................................................. 696 30.2.1 補正ユニット制御レジスタ (CUCR)......................................................................... 698 30.2.2 32 kHz タイマデータレジスタ (16 ビット )(CUTD) ................................................. 700 30.2.3 4 MHz タイマデータレジスタ (24 ビット )(CUTR) .................................................. 702 30.3 アプリケーションノート .................................................................................................... 703 第 31 章 フラッシュメモリ .................................................................................. 705 31.1 フラッシュメモリの概要 .................................................................................................... 706 31.2 フラッシュメモリのブロックダイヤグラム ....................................................................... 707 31.3 書込み / 消去モード ............................................................................................................ 713 31.4 フラッシュ制御ステータスレジスタ (FMCS)..................................................................... 720 31.5 読出し / 書込みアクセス ..................................................................................................... 722 31.6 自動書込み / 消去................................................................................................................ 728 31.6.1 フラッシュコマンド ................................................................................................. 729 31.6.2 自動アルゴリズムの実行状態................................................................................... 736 31.7 セクタ保護動作 .................................................................................................................. 741 31.8 外部コマンド ...................................................................................................................... 744 31.9 フラッシュメモリへの接続................................................................................................. 746 xiii 31.10 フラッシュメモリ使用上の注意 ......................................................................................... 747 31.11 フラッシュメモリモードのタイミング図 ........................................................................... 748 31.12 フラッシュメモリモードでの AC 特性 ............................................................................... 755 第 32 章 EDSU ..................................................................................................... 759 32.1 EDSU の概要 ...................................................................................................................... 760 32.1.1 EDSU アプリケーションシステム ........................................................................... 761 32.1.2 デバッグシステム..................................................................................................... 762 32.1.3 EDSU メイン機能..................................................................................................... 763 32.1.4 EDSU の詳細............................................................................................................ 764 第 33 章 33.1 33.2 33.3 33.4 33.5 付録 付録 A A.1 付録 B 付録 C 付録 D D.1 D.2 索引 MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続 ........... 765 MB91360( 代表マイコン : MB91F362GB) 書込み基本構成................................................ 766 富士通標準シリアルオンボード書込みに使用する端子 ..................................................... 767 シリアル書込み接続例........................................................................................................ 769 フラッシュマイコンプログラマシステム構成.................................................................... 777 その他の注意事項 ............................................................................................................... 778 ............................................................................................................... 779 I/O マップ ..................................................................................................................... 780 MB91F376G 特殊 I/O マップ ...................................................................................... 809 割込みベクタ ................................................................................................................. 816 CPU の各状態における端子の状態 ............................................................................... 820 命令 ............................................................................................................................... 825 命令一覧...................................................................................................................... 826 FR50 ファミリの命令 ................................................................................................. 830 ............................................................................................................... 845 xiv 本版での主な変更内容 ページ 変更内容(詳細は本文を参照してください。 ) - - 品種を変更 (MB91FV360 → MB91FV360GA) (MB91F362GA → MB91F362GB) - - 端子名を変更 (AVSS → AVSS/AVRL) - - レジスタ名を変更 (GNC20 → GCN20) (GNC21 → GCN21) - - レジスタ名を変更 ( 受け入れマスクレジスタ 0,1(AMR0,AMR1) → 受入れマスクレジスタ 00, 10(AMR00, AMR10)) - - 用語を統一 (・変調原理 → ブロックダイヤグラム ・クォーツ → 水晶 ・ボー → bps ・オシレータ → 発振 ・実装 → 搭載 ・デフォルト → 初期値 ・サブクロック校正 → サブクロック補正 ・ステッパモータ制御 → ステッピングモータ制御 ) - - 5.8.6 WPR: ウォッチドッグリセット生成延期レジスタ を削除 16 1.4 MB91360 シリーズ のブロック構成 表 1.4-2 を変更 (MB91FV360GA と MB91F362GA で利用可能です。→ MB91FV360GA と MB91F362GB で利用可能です。) 23 第 1 章 MB91360 シリーズの概要 1.5 端子配列 図 1.5-5 を変更 (PWM2M2 → PWM2M3) 28 ∼ 44 第 1 章 MB91360 シリーズの概要 1.6 端子機能説明 表 1.6-1 を変更 表 1.6-2 を変更 118 第 2 章 CPU 2.9.2 リセットソース ■ ウォッチドッグリセット を変更 ( ウォッチドッグリセットの発生遅延レジスタ (WPR) → タイムベースカウンタクリアレジスタ (CTBR)) 148 第 4 章 ブート ROM/ 構成レジスタ 4.1 ブート ROM 表 4.1-2 を変更 (Adr → Addr) 54 ∼ 57 表 1.6-5 を変更 xv ページ 変更内容(詳細は本文を参照してください。) 149 第 4 章 ブート ROM/ 構成レジスタ 4.1 ブート ROM 表 4.1-3 に注意事項を追加 ( 注 ) RSRR のリセット要因ビットは読み出し動作によってクリ アされます。読み出し値は R4 を確認してください。) 162 第 5 章 クロック生成 とデバイス状態 5.7 クロック生成制御 図 5.7-1 を変更 166 第 5 章 クロック生成 とデバイス状態 5.8.1 RSRR: リセット 要因レジスタ , ウォッ チドッグタイマ制御 レジスタ 表 5.8-1 を変更 (WPR → CTBR) 167, 168 第 5 章 クロック生成 とデバイス状態 5.8.2 STCR: スタンバ イ制御レジスタ ■ スタンバイ制御レジスタ に <注意事項> を追加 173 第 5 章 クロック生成 とデバイス状態 5.8.4 CTBR: タイム ベースカウンタクリ アレジスタ ■ タイムベースカウンタクリアレジスタ を変更 177 第 5 章 クロック生成 とデバイス状態 5.8.6 DIVR0: ベースク ロック分周設定 レジスタ 0 ■ ベースクロック分周設定レジスタ 0 のビットを変更 (bit 7 6 5 4 3 2 1 0 → bit 15 14 13 12 11 10 9 8 ) 189 第 5 章 クロック生成 とデバイス状態 5.9.4 手続き 図 5.9-1 を変更 (・TCB → TBC ・MFWT → FMWT) 191 第 5 章 クロック生成 とデバイス状態 5.10.1 タイムベース カウンタ ■ ウォッチドッグタイマ を変更 (WPR( ウォッチドッグリセット発生遅延レジスタ ) → CTBR( タイムベースカウンタクリアレジスタ )) 202 第 5 章 クロック生成 とデバイス状態 5.12.2 停止モード / RTC モード ■ 停止モード /RTC モード を変更 233 第 7 章 I/O ポート 7.1 I/O ポートと レジスタ構成 図 7.1-2 のビット名を変更 (PK7 PK6 PJK PK4 PK3 PK2 PJK PK0 → PK7 PK6 PK5 PK4 PK3 PK2 PK1 PK0) 243 第 7 章 I/O ポート 7.2 ポート機能レジス タ (PFR) の設定 表 7.2-1 の PFRT レジスタのビット欄を追加 xvi ページ 変更内容(詳細は本文を参照してください。) 276 第 8 章 外部バスイン タフェース 8.5 バス信号 表 8.5-1 を変更 (Z → Hi-Z) 286 第 8 章 外部バスイン タフェース 8.6 バスの動作タイミ ング ■ アイドルサイクルでの動作 を変更 (CKLT → CLKT) 315 第 11 章 DMA コント ローラ (DMAC) 11.1 DMA コントロー ラ (DMAC) の概要 図 11.1-1 を変更 (DSS[3:0] → DSS[2:0]) 320 第 11 章 DMA コント ローラ (DMAC) 11.2 DMA コントロー ラ (DMAC) のレジス タ ■ DMAC- チャネル 0, 1, 2, 3, 4 制御 / 状態レジスタ A(DMACA0 ∼ DMACA4) の [bit28 ∼ bit24] IS4 ∼ IS0(Input Select)*: 転送要因の 選択 を変更 ( ハードウェア → ソフトウェア転送要求のみ ) 322 ■ DMAC- チャネル 0, 1, 2, 3, 4 コントロール / ステータスレジス タ B(DMACB0 ∼ DMACB4) の図を変更 (MD[1:0] → MOD[1:0]) 323 [bit29, bit28] MOD(Mode)*: 転送モード設定 を変更 (MODE(Mode) → MOD(Mode)) 325 [bit21] DADR(Dest.-Addr.-Reg.Reload)*: 転送先アドレスレジスタ リロード指定 を変更 ( ビット 17 の DRLD → bit22 の SADR) 第 11 章 DMA コント ローラ (DMAC) 11.3 DMA コントロー ラ (DMAC) の動作 ■ エラーによる停止 を変更 391 第 13 章 PPG タイマ 13.2.6 禁止 / 汎用制御 レジスタ 2(GCN20, GCN21) 図 13.2-9 のビット構成 のビットを変更 (bit7 6 5 4 3 2 1 0 → bit15 14 13 12 11 10 9 8) 431 第 16 章 CAN コント ローラ 16.1 CAN コントロー ラの概要 図 16.1-1 を変更 495 第 18 章 I2C インタ フェース (400 kHz) 18.2.3 10 ビットスレー ブアドレスレジスタ (ITBA) [bit9 ∼ bit0] TBA(Ten Bit slave Address : 10 ビットスレーブアドレス (TA9 ∼ TA0) を変更 (TBAL レジスタ → ITBA レジスタ ) 529 第 19 章 16 ビット I/O タイマ 19.3 16 ビット I/O タイマの動作 (・停止中に , TCDC レジスタに "0000H" が書き込まれたとき 343 346 ∼ 348 ■ 外部端子 , および内部動作のタイミング を変更 → ・停止中に , TCDT レジスタに "0000H" が書き込まれたとき ) xvii ページ 変更内容(詳細は本文を参照してください。) 571 第 23 章 サウンド生成 器 23.2.3 振幅データ レジスタ (SGAR) 23.2.3 のタイトルを変更 (23.2.3 振幅データレジスタ (SAGR) → 23.2.3 振幅データレジスタ (SGAR)) 629 第 27 章 LIN 機能搭載 USART 27.4.1 シリアルコント ロールレジスタ (SCR5) 表 27.4-1 の各ビットの機能 を変更 634 第 27 章 LIN 機能搭載 USART 27.4.3 シリアルステー タスレジスタ (SSR5) 表 27.4-4 の各ビットの機能 を変更 ( シリアル・モード・レジスタ (SMR5) → シリアルコントロールレジスタ (SCR5)) 789 付録 A I/O マップ 付録 A I/O マップ アドレス 000484H 列を変更 (WPR[W] XXXXXXXX → - ) 変更箇所は , 本文中のページ左側の│によって示しています。 xviii 第1章 MB91360 シリーズの概要 MB91360 シリーズの概要を示し , 特長 , ブロック ダイヤグラム , 機能などの重要な情報について説明 します。 1.1 MB91360 シリーズの特長 1.2 MB91360 シリーズの製品ラインナップ 1.3 外形寸法図 1.4 MB91360 シリーズのブロック構成 1.5 端子配列 1.6 端子機能説明 1.7 入出力回路の種類 1.8 メモリ空間 1.9 デバイスの取扱いについて 1 第 1 章 MB91360 シリーズの概要 1.1 MB91360 シリーズの特長 MB91360 シリーズは , 一連の入出力周辺回路 , およびバス制御機能を搭載する標準 的なマイクロコントローラです。32 ビット RISC CPU(FR50 ファミリ ) コアの採用 により , 高性能 , および高速 CPU 処理を必要とする埋込み制御のアプリケーション に適しています。また , 内部メモリを搭載することにより , CPU の実行速度を向上 させています。 ■ MB91360 シリーズの特長 ● 実行時間 : 最短 15.6ns(64 MHz) - デバイスに依存します。 ● FR50 ファミリ CPU: RISC アーキテクチャ 本 CPU は , 数値実装を強化した汎用レジスタアーキテクチャを持ち , その広範囲な遅 延分岐命令によって , パイプラインブレークによる実行時間のロスを軽減します。 ビット操作命令 , およびメモリアクセス命令の強化により , 制御実装のコード効率 , お よび実行速度が向上しています。 • 5 段階のパイプライン構成による高速処理 (1 サイクルあたり 1 命令 ) • 32 ビット線形アドレス空間 : 4G バイト • l6 ビット固定長命令 ( 基本命令 ) • 高速の乗算 , およびステップ除算 • 高速割込み処理 (6 サイクル ) • 汎用レジスタ : l6×32 ビット ● 多彩な機能を持つ外部バスインタフェースユニット MB91360 シリーズは , 外部メモリ空間を最大 8 領域に分割します。領域ごとに , チッ プ選択信号の設定 , データバスの幅の選択 (8, l6, 32 ビット ), および領域サイズの指定 が可能です。 • 最大 32 ビット幅のアドレスバス • プログラマブル自動待機機能 ● DMAC MB91360 シリーズは , ダイレクトメモリアクセス (DMA) により , CPU を経由せずに , さまざまな形式のデータ転送を実行できます。これにより , システムパフォーマンスが 向上します。 • 8 チャネル ( 最大 3 個の外部チャネルを含む ) • 4 個の転送モードをサポート : シングル / ブロック , バースト , 連続転送 , および フライバイ 2 第 1 章 MB91360 シリーズの概要 ● 電力消費制御メカニズム 本 CPU は , 電力消費を抑えるために , 動作クロックを制御する機能を搭載しています。 • ソフトウェア制御 : スリープ機能 , および停止機能 / リアルタイムクロック機能 • ハードウェア制御 : ハードウェアスタンバイ機能 • ギア ( 分割 ) 機能 : CPU, および周辺回路のクロック周波数を個別に設定できます。 ● 周辺機能 • UART, U- タイマ • リアルタイムクロック ( オプションのサブクロック動作 , およびサブクロック補正 モジュール付 ) • ステップモータ制御 • サウンド生成器 • シリアル IO(SIO), SIO プリスケーラ • パワーダウンリセット • アラーム比較器 • IO タイマ • I2C インタフェース • 10 ビット D/A コンバータ • CAN インタフェース • 10 ビット A/D コンバータ • l6 ビットリロードタイマ • l6 ビット PPG タイマ • ウォッチドッグタイマ • ビットサーチモジュール • 割込みコントローラ • 外部割込み入力 • I/O ポート機能 ● 割込みレベル l6 のマスク可能割込みレベル ● 電源電圧 5V 電源を使用。内部レギュレータが内部電圧 3.3V を発生します。 ● パッケージ • MB91FV360GA: PGA401 パッケージ • MB91F362GB : QFP208 パッケージ • MB91F369GA : QFP160 パッケージ • MB91F364G, MB91F365GB, MB91F366GB, MB91F367GB, MB91F368GB, MB91F376G, MB91366GA : QFP120 パッケージ (「1.3 外形寸法図」も参照してください )。 3 第 1 章 MB91360 シリーズの概要 1.2 MB91360 シリーズの製品ラインナップ MB91360 シリーズの製品を紹介し , それらの機能 , およびメモリサイズを表 1.2-1 , 表 1.2-2 に示します。 ■ MB91360 シリーズの製品ラインナップ 表 1.2-1 MB91360 シリーズの製品ラインナップ (MB91FV360GA, MB91F362GB, MB91F364G, MB91F369GA) (1 / 2) 4 機能 MB91FV360GA MB91F362GB MB91F364G MB91F369GA キャッシュ / 命令 RAM 4 KB / 4 KB - / 4 KB -/- - / 4 KB D- バス RAM 16 KB 12 KB 12KB 16 KB F- バス RAM 16 KB 4 KB 4KB 16 KB フラッシュ /ROM (F- バス ) 512 KB 高速フラッシュ 512 KB 通常フラッシュ 256 KB 高速フラッシュ 512 KB 高速フラッシュ ブート ROM 2 KB 2 KB 2 KB 2 KB EDSU なし なし 1 なし CAN 4 ch 3 ch 1 ch 2 ch ステップモータ制御 4 ch 4 ch なし なし サウンド生成器 1 ch 1 ch なし 1 ch PPG 8 ch 8 ch 4 ch 4 ch インプットキャプチャ 4 ch 4 ch 4 ch なし アウトプットコンペア 4 ch 4 ch 4 ch なし フリーランタイマ 2 ch 2 ch 2 ch なし D/A コンバータ 2 ch 2 ch 2 ch なし A/D コンバータ 16 ch 16 ch 12 ch 10 ch I2C 400 kHz 1 ch 1 ch 1 ch 1 ch アラーム比較器 1 ch 1 ch なし 1 ch SIO/SIO プリスケーラ 2 ch 2 ch 1 ch 2 ch UART/U- タイマ 3 ch 3 ch 1 ch 1 ch LIN 機能付き USART なし なし 2 ch なし 16 ビットリロードタイマ 6 ch 6 ch 3 ch 6 ch 外部割込み 8 ch 8 ch 8 ch 8 ch NMI 1 なし 1 なし 第 1 章 MB91360 シリーズの概要 表 1.2-1 MB91360 シリーズの製品ラインナップ (MB91FV360GA, MB91F362GB, MB91F364G, MB91F369GA) (2 / 2) 機能 MB91FV360GA MB91F362GB MB91F364G MB91F369GA リアルタイムクロック 1 1 1 1 RTC 用 32 kHz サブクロックオプション あり なし あり なし サブクロック補正 あり なし あり なし LED ポート 8 ビット 8 ビット 8 ビット なし パワーダウンリセット 1 1 なし 1 ビットサーチモジュール 1 1 1 1 ウォッチドッグタイマ 1 1 1 1 外部アドレスバス 32 ビット 21 ビット なし 最大 24 ビット 外部データバス 32 ビット 32 ビット なし 32 ビット 外部 DMA 3 ch 1 ch なし 1 ch 最大動作周波数 ( デバイス固有の仕様につい てはデータシートを参照 ) 64 MHz 64 MHz 64 MHz 64 MHz 5 第 1 章 MB91360 シリーズの概要 表 1.2-2 MB91360 シリーズの製品ラインナップ (MB91F365GB, MB91F366GB, MB91366GA, MB91F367GB, MB91F368GB, MB91F376G) (1 / 2) 6 機能 MB91F365GB MB91F366GB MB91366GA MB91F367GB MB91F368GB MB91F376G キャッシュ / 命令 RAM -/4 KB -/4 KB -/4 KB -/4 KB -/4 KB D- バス RAM 16 KB 16 KB 16 KB 16 KB 16 KB F- バス RAM 16 KB 16 KB 16 KB 16 KB 16 KB フラッシュ /ROM (F- バス ) 512 KB 高速 フラッシュ 512 KB 通常 フラッシュ 512 KB 高速 フラッシュ 512 KB 高速 フラッシュ 768 KB 高速 フラッシュ ブート ROM 2 KB 2 KB 2 KB 2 KB 2 KB EDSU なし なし なし なし なし CAN 2 ch 2 ch 2 ch 2 ch 2 ch ステップモータ制御 4 ch 4 ch なし なし 4 ch サウンド生成器 1 ch 1 ch なし なし 1 ch PPG 8 ch 8 ch 4 ch 4 ch 8 ch インプットキャプチャ 4 ch 4 ch 4 ch 4 ch 4 ch アウトプットコンペア 2 ch 2 ch 2 ch 2 ch 2 ch フリーランタイマ 2 ch 2 ch 2 ch 2 ch 2 ch D/A コンバータ 2 ch なし なし なし なし A/D コンバータ 8 ch 8 ch 8 ch 8 ch 8 ch I2C 400 kHz 1 ch 1 ch 1 ch 1 ch 1 ch アラーム比較器 1 ch 1 ch 1 ch 1 ch 1 ch SIO/SIO プリスケーラ 2 ch 2 ch 2 ch 2 ch 2 ch UART/U- タイマ 2 ch 2 ch 1 ch 1 ch 2 ch LIN 機能付き USART なし なし なし なし なし 16 ビットリロードタイマ 6 ch 6 ch 3 ch 3 ch 6 ch 外部割込み 8 ch 8 ch 8 ch 8 ch 8 ch NMI なし なし なし なし なし リアルタイムクロック 1 1 1 1 1 RTC 用 32 kHz サブクロックオプション なし あり なし あり あり サブクロック補正 なし あり なし あり あり LED ポート なし なし なし なし なし 第 1 章 MB91360 シリーズの概要 表 1.2-2 MB91360 シリーズの製品ラインナップ (MB91F365GB, MB91F366GB, MB91366GA, MB91F367GB, MB91F368GB, MB91F376G) (2 / 2) 機能 MB91F365GB MB91F366GB MB91366GA MB91F367GB MB91F368GB MB91F376G パワーダウンリセット 1 1 1 1 1 ビットサーチモジュール 1 1 1 1 1 ウォッチドッグタイマ 1 1 1 1 1 外部アドレスバス なし なし なし なし なし 外部データバス なし なし なし なし なし 外部 DMA なし なし なし なし なし 最大動作周波数 ( デバイス固有の仕様につい てはデータシートを参照 ) 64 MHz 64 MHz 64 MHz 64 MHz 64 MHz 7 第 1 章 MB91360 シリーズの概要 1.3 外形寸法図 MB91360 シリーズで使用する各パッケージの外形寸法図を示します。 ■ パッケージ外形寸法図 図 1.3-1 MB91FV360GA (PGA-401C-A02) セラミック・PGA, 401 ピン リードピッチ 2.54 インタースティシャル ピンマトリックス 37 封止方法 メタルシール (PGA-401C-A02) セラミック・PGA, 401 ピン (PGA-401C-A02) 48.26 ± 0.55 SQ (1.900 ± .022) 2.54 (.100) TYP 0.40 ± 0.10 DIA (.016 ± .004) 1.00 (.039) DIA TYP (4 PLCS) 45.72 (1.800) REF INDEX AREA 1.02 (.040) C TYP (4 PLCS) 1.20 ± 0.25 (.047 ± .010) EXTRA INDEX PIN 3.40 ± 0.40 (.134 ± .016) 5.27 (.207) MAX C 1994-2008 FUJITSU MICROELECTRONICS LIMITED R401002SC-2-3 最新の外形寸法図については , 下記 URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 8 単位:mm (inches) 注意:括弧内の値は参考値です。 第 1 章 MB91360 シリーズの概要 図 1.3-2 MB91F362GB (FPT-208P-M04) プラスチック・QFP, 208 ピン (FPT-208P-M04) プラスチック・QFP, 208 ピン (FPT-208P-M04) リードピッチ 0.50mm パッケージ幅× パッケージ長さ 28.0 × 28.0mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 3.95mm MAX 質量 5.71g 特徴 低熱抵抗タイプ 注 1)* 印寸法はレジン残りを含まず。 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 30.60±0.20(1.205±.008)SQ * 28.00±0.10(1.102±.004)SQ +0.03 0.17 –0.08 156 +.001 .007 –.003 105 157 104 0.08(.003) Details of "A" part +0.20 3.75 –0.30 +.008 .148 –.012 (Mounting height) +0.10 0.40 –0.15 +.004 INDEX 0˚~8˚ 208 LEAD No. 53 1 "A" 52 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 ©2003-2008 FUJITSU MICROELECTRONICS LIMITED F208020S-c-3-5 C .016 –.006 (Stand off) 2003 FUJITSU LIMITED F208020S-c-3-4 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記の URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 9 第 1 章 MB91360 シリーズの概要 図 1.3-3 MB91F369GA (FPT-160P-M15) プラスチック・QFP, 160 ピン (FPT-160P-M15) プラスチック・QFP, 160 ピン (FPT-160P-M15) リードピッチ 0.65mm パッケージ幅× パッケージ長さ 28 × 28mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 4.10mm MAX 特徴 低熱抵抗タイプ コード(参考) P-QFP160-28×28-0.65 注 1)* 印寸法はレジン残りを含まず。 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 32.00±0.20(1.260±.008)SQ +0.05 * 28.00±0.10(1.102±.004)SQ 0.17 –0.03 +.002 .007 –.001 81 120 80 121 0.10(.004) Details of "A" part +0.35 3.75 –0.20 +.014 .148 –.008 (Mounting height) 0.25(.010) INDEX 0~8° 160 41 1 0.65(.026) +0.08 0.32 –0.07 +.0031 .013 –.0028 C "A" 40 0.13(.005) 最新の外形寸法図については , 下記の URL にてご確認ください。 10 +0.10 0.40 –0.15 +.004 .016 –.006 (Stand off) M 2003-2008 FUJITSU MICROELECTRONICS LIMITED F160037S-c-3-4 http://edevice.fujitsu.com/package/jp-search/ 0.80±0.20 (.031±.008) 0.88±0.15 (.035±.006) 単位:mm (inches) 注意:括弧内の値は参考値です。 第 1 章 MB91360 シリーズの概要 図 1.3-4 MB91F364G, MB91F365GB, MB91F366GB, MB91F367GB, MB91F368GB, MB91366GA および MB91F376G (FPT-120P-M21) プラスチック・LQFP, 120ピン (FPT-120P-M21) リードピッチ 0.50mm パッケージ幅× パッケージ長さ 16.0 × 16.0mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70mm MAX 質量 0.88g コード(参考) P-LFQFP120-16×16-0.50 プラスチック・LQFP, 120ピン (FPT-120P-M21) 注 1)* 印寸法はレジン残りを含む。 レンジ残りは、片側+0.25(.010)MAX。 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 18.00±0.20(.709±.008)SQ +0.40 * 16.00 –0.10 .630 +.016 –.004 SQ 90 61 60 91 0.08(.003) Details of "A" part +0.20 1.50 –0.10 +.008 (Mounting height) .059 –.004 INDEX 0~8˚ 120 LEAD No. "A" 31 1 30 0.50(.020) 0.22±0.05 (.009±.002) +0.05 0.08(.003) M 0.145 –0.03 +.002 .006 –.001 ©2002-2008 FUJITSU MICROELECTRONICS LIMITED F120033S-c-4-5 C 2002 FUJITSU LIMITED F120033S-c-4-4 0.60±0.15 (.024±.006) 0.10±0.05 (.004±.002) (Stand off) 0.25(.010) 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記の URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 11 第 1 章 MB91360 シリーズの概要 1.4 MB91360 シリーズのブロック構成 MB91360 シリーズのブロックダイヤグラム , およびブロック機能の特長について示 します。 ■ MB91360 シリーズデバイスの全体ブロックダイヤグラム 図 1.4-1 に , MB91360 シリーズデバイスの全体ブロックダイヤグラムを示します。 図 1.4-1 MB91360 シリーズデバイスの全体ブロックダイヤグラム クロック生成 FR50コア ユーザ RAM Dバス 32 ウォッチ ドッグ タイマ 命令キャッシュ/ RAM 32 ビットサーチ モジュール FバスRAM 32 DMAコントローラ ブート ROM 2KB 32 バス コンバータ 32 フラッシュ メモリ 外部バスインタ フェース R-bus アダプタ CAN 外部バス 16 SIOプリス ケーラ/ SIO ADC DAC 外部 割込み サブクロック 補正 U-TIMER/ UART 2 IIC パワーダウン リセット リロード タイマ ICU アラーム コンパレータ フリーラン タイマ リアルタイム クロック OCU 電圧 レギュレータ LED 12 サウンド 生成器 ステッピング モータ制御 プログラム パルス発生器 第 1 章 MB91360 シリーズの概要 ■ MB91360 シリーズのブロック機能 表 1.4-1 , および表 1.4-2 に , MB91360 シリーズのブロック機能の一覧を示します。 表 1.4-1 MB91360 シリーズのブロック機能〈1〉(1 / 2) 機能 特長 備考 FR50 コア 32 ビット富士通 RISC コア FR30 とソフトウェア互換 クロックモジュール ( クロック制御 , クロック分周 , PLL) CPU, および周辺回路の周波数を設定しま す。 低消費電力モード : RTC モード : リアルタイムクロック , および発振器だけがアク ティブになります。 STOP モード : すべての内部回路 , および 発振回路を停止します。 モード MD[2:0] = 000 での発 振安定時間初期値は , 4 MHz 発振クロックで 32ms です。 時間は , INITX 解放後の時間 です。 サブクロック / 補正 32 kHz リアルタイムクロックモジュールのクロッ クは 32 kHz ∼ 4 MHz の水晶が使用でき ます。動的スイッチは利用できません。 また , 32 kHz で動作するリアルタイムク ロックタイマを , より正確な 4 MHz ク ロックタイミングに基づき補正すること が可能です。 利用可能。 ウォッチドッグ ウォッチドッグタイマの間隔を調整でき ます (220 ∼ 226 システムクロックサイク ル )。 キャッシュまたは 命令 RAM 最大 4 KB キャッシュモード (RAM モード ), ロック 機能は特定のプログラムセクションの キャッシュを常駐させます。 *1, *2 ユーザ RAM 最大 16 KB ユーザデータ用 RAM *1, *2 F- バス RAM 最大 16 KB データ , およびコード用 RAM *1, *2 フラッシュメモリ 512 KB セクタアーキテクチャ セクタ 0: 64 KB セクタ 7: 64 KB セクタ 1: 64 KB セクタ 8: 64 KB セクタ 2: 64 KB セクタ 9: 64 KB セクタ 3: 32 KB セクタ 10: 32 KB セクタ 4: 8 KB セクタ 11: 8 KB セクタ 5: 8 KB セクタ 12: 8 KB セクタ 6: 16 KB セクタ 13: 16 KB ↓ ↓ 16 ビット 16 ビット 最低 10000 プログラム / イレースサイクル 最低 10 年間データ保持 位置は F- バス MB91F376G については , データシートを参照してく ださい。 書込みは 16 ビット幅,読出しは 16 ビットまたは 32 ビット幅 13 第 1 章 MB91360 シリーズの概要 表 1.4-1 MB91360 シリーズのブロック機能〈1〉(2 / 2) 機能 特長 備考 ブート ROM 2 KB チップ初期化 , ブート状態のチェック , ブートストラップローダなどの機能があ ります。 DMA 5 チャネル ( 最大 3 個の外部チャネルを含 みます ) 最大 16 の DMA ソースが使用可能です。 転送モード : シングル / ブロック , バースト , 連続 MB91F362GB の DMA0 端子 位置は , 次のモードレジスタ (F362MD) で制御される外部 バスの電力分離領域にマッ プできます。 DREQ0<==>BRQ DACK0<==>BGRNTX DEOP0<==>AS DSU トレース機能を持つデバッグサポート ユニット ( 内部 FIFO で 128 ステップ。オプション の外部トレースメモリで , 128 を超えるス テップ数も可能です。) MB91FV360GA のみ EDSU 埋込み型デバッグサポートユニット 4 命令アドレスブレークポイント 2 オペランドアドレスブレークポイント 2 オペランドデータブレークポイント ブレークポイントはマスク機能および範 囲機能付き MB91F364G のみ 32 ビットデマルチ プレックス外部バス インタフェース 27 ビットのアドレスまでの 32 ビットの データ , 7 つの CS, CLK ソフトウェアにより , Hi-Z に 設定できます (「モードレジ スタ」機能を参照 )。 MB91F362GB および MB91F369GA は 3.3V で動作 可能。 割込みコントローラ 8 つの外部割込みチャネル , 38 の内部割 込み , 16 のプログラマブル優先レベル ビットサーチ モジュール 1 ワードの MSB から見て最初の "l" と "0" へ変化したビットを探します。これは , 1 サイクルで実行されます。 固定リセットベクタ ハードワイヤードリセット , および モードベクタ 電圧レギュレータ コードは 0F:4000H から始ま ります。 内部電圧 3.3V を発生します。 *1: MB91360 シリーズのクロックモジュールは , 多数のクロック周波数の発生が可能です。それら すべての周波数において , そのリソースが , 指定されたすべての出力ボーレート , および出力周 波数を生成することは保証できません。 *2: リセット信号の同期化を有効にするには , TBCR の bit9(SYNCR) を "1" に設定します。すべて のバスアクセスが完了した後以外には , リセットは発生しません。これによって リセット中に , 間違ったデータが RAM に書き込まれるのを防止します。 14 第 1 章 MB91360 シリーズの概要 表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (1 / 4) 機能 調光用 PPG 特長 備考 16 ビット PWM タイマ 16 ビットダウンカウンタ , サイクル , および デューティの設定レジスタ トリガ時割込み , サイクル , およびデューティ の一致 ソフトウェアまたはリロードタイマによる トリガ可能 PWM 動作 , およびワンショット動作 クロック停止機能 内部プリスケーラにより , カウンタクロック として , fRES/1, fRES/4, fRES/16, fRES/64 が可能 ADC 逐次比較形 , 内部サンプリング & ホールド回 路 分解能 10 ビット , 5V 動作 ( 変換時間 : CLKP の 178 サイクル ) プログラムで選択できるアナログ入力チャネ ル : シングル変換モード 連続変換モード 変換中止モード 変換の終わりに割込みをかけることによって , DMA 転送をアクティブにできます。 ソフトウェア , 外部トリガまたはリロード タイマからの起動が選択できます。 プリスケーリングは内部で行われます。 クロック停止機能 基本 インターバル タイマ 16 ビットリロードタイマ クロックプリスケーラ (fRES/21, fRES/23, CAN CAN 仕様 version 2.0A, および B に準拠 エラー時の 0-TQ ビットタイミング自動再転 送仕様 自動転送によるリモートフレームへの応答 優先順の 16 のメッセージバッファ ( データ , および ID 用 ) 複数メッセージをサポート フィルタリング受渡しの柔軟な構成 : フルビット比較 / フルビットマスク /2 個の 部分ビットマスク 最大 1Mbps をサポート クロック停止機能 DAC R-2R D/A コンバータ 分解能 10 ビット , 5V 動作 クロック停止機能 必要な周波数は 90 ∼ 300Hz fRES/25) を内蔵 MB91FV360GA と MB91F362GB で利用可能です。 15 第 1 章 MB91360 シリーズの概要 表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (2 / 4) 機能 特長 外部割込み チャネルごとの「割込みマスク」ビット , お よび「ペンディング要求」ビットを , エッジ 検出にするかレベル検出にするかをプログラ ムできます。 モードレジスタ (F362MD) 特別モードレジスタは , 次の項目を制御しま す。 • I2C モジュール選択 • DMA 端子マッピング • 外部バス無効モード • 非対称 CLKT 生成 • アドレス /CSX のスワップ I2C-2 標準モード , および 高速モード用 マスタまたはスレーブ転送アービトレーショ ン機能 クロック同期化機能 スレーブアドレス , および一般呼出しアドレ ス検出機能 転送方向検出機能 起動条件の繰返し発生機能 , および検出機能 バスエラー検出機能 備考 アドレス : 0001FEH bit8: 新規 I2C 選択 bit9: DMA マッピング有効 bit10 ∼ bit13: 外部バスの HiZ 制御 bit14: 非対称 CLKT bit15: アドレススワップ 「4.2 構成レジスタ (F362GB モー ドレジスタ F362MD)」を参照し てください。 I2C-1 または I2C-2 のみ使用でき ます。並行使用はできません。 F362MD の bit0 は , どのモジュー ルを SCL パッド , および SDA パッドに接続するかを判断する ために使用します。デフォルト は I2C-1 です。 SCL 回線と SDA 回線には , オプ I2C 標準 , および高速モード仕様と互換 (400 kHz, 10 ビットアドレッシングまでの動作 ) ションのノイズフィルタが含ま れます。ノイズフィルタは , クロック分周機能を含みます。 CLKP の 1 ∼ 1.5 サイクルの範囲 クロック停止機能 のスパイクを抑制できます。 MB91360 シリーズデバイスのス イッチをオフにしている場合は , I2C バス上で他の接続デバイスと 通信することはできません。 16 ビット インプットキャプ チャモジュール (ICU) 立上りエッジ検出 , 立下りエッジ検出または 両エッジ検出 2 個の 16 ビット捕獲レジスタ 外部イベント時の割込みを通知します。 クロック停止機能 MB91FV360GA と MB91F362GB で利用可能です。 16 ビット アウトプットコン ペアモジュール (OCU) 対応するフリーランタイマのタイマ値と一致 した場合に割込みを通知します。 出力信号を生成できます。 クロック停止機能 MB91FV360GA と MB91F362GB で利用可能です。 フリーラン タイマ 16 ビットフリーランタイマ。オーバフローま MB91FV360GA と MB91F362GB たは比較レジスタ _0 と一致した場合に , 割込 で利用可能です。 みを通知します。プリスケーラ (fRES/22, fRES/24, fRES/26) は内蔵されています。タイマデータレ ジスタに R/W アクセスができます。 クロック停止機能 16 第 1 章 MB91360 シリーズの概要 表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (3 / 4) 機能 LED ポート 特長 備考 ソース電流 14mA(VDD-0.8V), およびシンク電 これら 8 チャネルすべての IOL 電 流 24mA(Vss+0.8V) が可能 流の合計は , 120mA を超えてはい けません。これらのチャネルす べての IOH 電流の合計は , 120mA を超えてはいけません。 MB91FV360GA, MB91F362GB で 利用可能です。 アラーム比較器 (OV/UV 検出 ) 外部電圧をモニタし , 電圧が , 定義されたしき 4:1 の外部電圧分割回路を使用し い値より低くなったり高くなったりした場合 ます。 に割込みを発生します。 ステータスの読取りが可能 , 割込みは個別マ スクが可能 クロック停止機能 パワーダウン リセット VDD をモニタリングし , VDD が定義されたし RTC モードまたは STOP モード きい値電圧より低くなった場合にリセットを 時に無効にできます。 発生します。 シリアル IO SIO 同期シリアルイ ンタフェース + SIO プリスケーラ シリアル入出力 MSB または LSB から転送を開始できます。 内部クロック同期転送 , および外部クロック 同期転送をサポートします。 クロックの立上りエッジ , および 立下りエッジによる同期化をサ ポートします。 シフトクロック用プリスケーラは次の周波数 が可能です。 fRES/3, fRES/4, fRES/5, fRES/6, fRES/7, fRES/8 クロック停止機能 サウンド生成器 ( ブザー ) 8 ビット PWM 信号は , 8 ビットリロードカウ ンタからのトーン周波数と混合されます。 内部プリスケーラによる PWM クロック : fRES/1, fRES/2, fRES/4, fRES/5, fRES/8 ターゲット周波数は , 300Hz ∼ 5 kHz の範囲でプログラム可能で す。fRES/1 とリロード値 5 では , fRES=16 MHz で 5.2 kHz になりま トーン周波数 : PWM 周波数 /2/( リロード値 +1) す。 クロック停止機能 fRES/4 とリロード値 25 では , fRES=16 MHz で 300.48 Hz になり ます。 ステッパモータ 制御 各チャネルでの 4 個の高電流出力 各チャネルに 2 個の同期化 8 ビット PWM PMW クロック用内部プリスケーリング : fRES, fRES/2, fRES/4, fRES/5, fRES/6, fRES/8 MB91FV360GA, MB91F362GB で 利用可能です。 ターゲット周波数 : 16 kHz ゼロ検出回路を内蔵しています。 クロック停止機能 MB91360 シリーズデバイスには , スルーレート代表値 40ns の出力 ドライバが含まれています。 17 第 1 章 MB91360 シリーズの概要 表 1.4-2 MB91360 シリーズのブロック機能 〈2〉 (4 / 4) 機能 UART 特長 非同期 ( 調歩式同期 ) 通信を実行するための シリアル I/O ポート 全二重 , ダブルバッファ マルチプロセッサモードをサポートします。 可変データ長 (7/8 ビット ) 1 個または 2 個のストップビット エラー検出機能 ( パリティ , フレーミング , オーバラン ) 割込み機能 NRZ 型転送形式 U- タイマでボーレートを発生 U- タイマ (UART ごとに 1 個) 必要な UART クロックを 16 ビットタイマで発 生 :fRES/25, ..., fRES/221 ( 非同期モード ) LIN 機能搭載 USART 非同期 ( 調歩式同期 ) 通信を実行するための シリアルポート 全二重 , ダブルバッファ マルチプロセッサモードをサポートします。 LIN-bus システムのための特別な機能 可変データ長 (7/8 ビット ) 1 個または 2 個のストップビット エラー検出機能 ( パリティ , フレーミング , オーバラン ) 割込み機能 NRZ 型転送形式 ボーレートジェネレータでボーレートを発生 必要とする UART クロック (fCLKP/21, ..., 備考 送受信用ポート信号の極性は プログラム可能 クロック停止機能 USART with LIN option は新しい マクロなので MB91FV360GA で エミュレートすることはできま せん。 送受信用ポート用信号の極性は プログラム可能 fCLKP/215) を発生させる 15 ビットタイマ クロック停止機能 リアルタイムク 発振周波数偏差修正機能 ロック (RTC) 読出し / 書込みのアクセスが可能な秒 / 分 / 時 ( ウォッチタイマ ) レジスタ 毎秒 / 分 / 時 / 日の割込み通知が可能 内部クロック分周とプリスケーラにより 4 MHz 入力を基準とし , 正確な 1 秒クロック が可能。 クロック停止機能 クロック変調器 18 16 タップ変調回路 最大入力周波数 48 MHz 最大出力周波数 64 MHz 4 MHz 用プリスケーラの値は 1E847FH です。 32 kHz 用プリスケーラの値は 04000FH です。 第 1 章 MB91360 シリーズの概要 1.5 端子配列 MB91FV360GA, MB91F362GB, および MB91F369GA の端子図を示します。 ■ MB91FV360GA の端子図 図 1.5-1 に , MB91FV360GA の端子図を示します。 図 1.5-1 MB91FV360GA 端子図 23 24 69 119 174 230 173 118 68 22 172 117 67 21 20 115 65 19 114 64 18 113 63 17 112 62 16 166 111 61 15 110 60 14 109 59 13 108 58 12 107 57 106 383 339 384 291 340 385 239 292 341 386 184 240 293 342 387 185 241 294 343 388 80 130 242 295 344 389 131 186 296 345 390 346 348 349 377 394 350 376 395 PGA-401C-A02 351 底面図 375 396 352 374 397 353 373 398 354 372 399 355 371 400 356 370 401 357 369 368 321 270 320 269 214 158 105 367 56 213 312 48 204 95 203 94 39 87 139 40 88 140 41 89 141 42 90 142 43 91 143 44 92 144 201 202 146 93 138 200 257 258 147 46 2 310 38 86 199 256 309 259 148 47 3 311 205 96 358 260 149 150 4 359 261 206 97 49 5 313 207 98 360 262 151 50 6 314 208 99 361 263 152 51 7 315 209 100 362 264 153 52 8 316 210 101 363 265 154 53 9 317 211 102 364 266 155 54 10 318 212 103 365 267 156 55 11 319 268 157 104 366 137 198 255 308 37 85 197 254 307 136 196 253 306 36 84 195 252 305 135 194 251 304 35 83 193 250 303 134 192 249 302 34 82 191 248 301 81 133 190 247 300 132 189 246 299 393 188 245 298 392 378 244 297 391 379 215 159 187 243 347 322 271 216 382 338 290 238 183 129 323 272 217 160 337 289 237 182 128 79 324 273 218 161 381 288 236 181 127 33 78 325 274 219 162 380 336 235 180 126 32 77 326 275 220 163 335 287 179 125 31 76 327 276 221 164 286 234 124 30 75 328 277 222 165 233 178 329 278 223 177 123 29 74 330 279 224 167 285 122 28 73 331 280 225 168 176 27 72 332 281 226 169 121 232 26 71 333 282 227 170 175 334 283 228 171 116 66 284 229 120 231 25 70 145 INDEX 45 1 19 第 1 章 MB91360 シリーズの概要 ■ MB91F362GB の端子図 図 1.5-2 に , MB91F362GB の端子図を示します。 図 1.5-2 MB91F362GB 端子図 156 CAN PPG SIO I 2C Sound XTAL+PLL Mode OCU SIN2 SOT1 SIN1 SOT0 SIN0 RX2 TX2 RX1 TX1 RX0 TX0 VSS VDD OCPA7 OCPA6 OCPA5 OCPA4 OCPA3 OCPA2 OCPA1 OCPA0 SCK3 SOT3 SIN3 SCK4 SIN4 SOT4 SCL SDA SGA SGO VCI CPO VSS X1A X0A X1 X0 VDD SELCLK MONCLK INITX HSTX MD2 MD1 MD0 VSS OUT3 OUT2 OUT1 OUT0 IN3 UART 105 104 157 PN[5:0] PM[3:0] PL[7:0] PR[7:0] PS[7:0] PJ[7:0] MB91F362GB PI[6:0] QFP PB[2:0] P1[7:0] PH[7:0] P0[7:0] FPT-208P-M04 P2[7:0] PG[7:0] INDEX P3[7:0] 1 20 PO[7:0] 208-pin plastic 208 ext. BusData PP[5:0] PK[7:0] PQ[5:0] P4[7:0] P5[7:0] P6[4:0] P7[4:6] P8[7:0] P9[7:0] D24 D25 D26 D27 D28 D29 D30 D31 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 VDD VSS A16 A17 A18 A19 A20 CS4X CS5X CS6X RDY BGRNTX BRQ RDX WR0X WR1X WR2X WR3X AS ALE CLK AH/BOOT CS0X CS1X CS2X CS3X VDD VSS SMC SOT2 VSS VCC3C VDD int. HVSS PWM1P0 PWM1M0 PWM2P0 PWM2M0 HVDD PWM1P1 PWM1M1 PWM2P1 PWM2M1 HVSS PWM1P2 PWM1M2 PWM2P2 PWM2M2 HVDD PWM1P3 PWM1M3 PWM2P3 PWM2M3 HVSS VDD D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 VDD VSS D15 D16 D17 D18 D19 D20 D21 D22 D23 ext. Bus Address Chip Select ext.Bus Control Chip Select IN2 ICU IN1 IN0 INT7 INT6 INT5 INT4 ext. INT3 Int. INT2 INT1 INT0 VSS VDD LED7 LED6 LED5 LED4 LED LED3 LED2 LED1 LED0 LTESTX CPUTESTX TESTX ATGX VDD VSS ALARM DA1 DAC DA0 AVSS AN7 AN6 AN5 AN4 AN3 ADC AN2 AN1 AN0 AVRH AVCC DEOP0 DACK0 DMA DREQ0 AN15 AN14 AN13 AN12 ADC AN11 AN10 AN9 AN8 53 52 第 1 章 MB91360 シリーズの概要 ■ MB91F364G の端子図 図 1.5-3 に , MB91F364G の端子図を示します。 図 1.5-3 MB91F364G 端子図 SIO CAN PPG MD1 Port R PR4 PR5 MD0 ATGX CPUTESTX TESTX PR6 PR7 VSS VDD VSS VDD OUT3 OUT2 Port L MB91F364G LED0 LED1 VSS LED4 120-pin package FPT-120P-M21 Port J LED2 LED3 IN1 IN0 VSS VDD LED7 VSS VDD PO6 PO7 Port K INT7 INT6 Port O PO4 PO5 OUT0 IN3 IN2 top view LED5 LED6 OUT1 INT5 INT4 INT3 INT2 INT1 INT0 DA0 DA1 VSS VSS VDD X0 PQ VDD X1A X0A VDD MONCLK VSS X1 SELCLK SDA SCL SOT0 SIN0 HSTX NMIX VSS VDD AN6 AN7 AVSS,AVRL AVRH AVCC AN2 AN3 AN4 AN5 PM 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 AN0 1 AN8 AN9 AN10 AN11 PG Port H 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 ICU MD2 PR1 PR2 PR3 外部割込み INITX 4 MHz P.P Port O PR0 OCU VCC3C VDD VSS VCC3C VDDI VDDI VSS VDD BREAKX VDDI TX0 RX0 OCPA0 OCPA3 OCPA2 OCPA1 SCK5 SIN5 VSS SOT6 SOT5 SIN6 SCK6 SIN3 VSS VDD Port T Port N VDD 2 AN1 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 11 0 111 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 120 SCK3 SOT3 LTESTX VSS 90 89 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 USART ADC I2C UART 32 kHz 21 第 1 章 MB91360 シリーズの概要 ■ MB91F369GA の端子図 図 1.5-4 に , MB91F369GA の端子図を示します。 図 1.5-4 MB91F369GA 端子図 PPG UART CAN 126 75 127 74 128 73 129 72 130 71 131 70 132 69 76 133 68 MB91F369GA 134 135 67 66 136 65 137 64 138 63 139 62 61 140 160-pin package FPT-160P-M15 141 142 143 144 145 60 59 58 57 56 146 55 147 54 148 53 149 52 150 51 40 39 38 37 36 35 33 34 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 A4 A5 A6 A7 A8 A9 A10 A11 VDD35 CLK VSS A12 A13 A14 A15 A16 A17 A18 A19 A20 VDD35 VSS CS4X CS5X CS6X RDX BGRNTX BRQ AS ALE AH CS0X CS1X CS2X CS3X DREQ0 DACX0 DEOP VSS VDD35 13 41 12 42 160 11 43 159 10 44 158 9 45 157 8 46 156 7 47 155 6 48 154 5 153 4 49 3 50 152 2 151 Ext. bus Address 22 SIO 77 Chip Select Ext.Bus Control Chip Select DMA SOT4 SCL SDA SGA SGO INT7 INT6 INT5 INT4 INT3 INT2 INT1 INT0 VSS VDD LTESTX CPUTESTX TESTX INITX HSTX MD2 MD1 MD0 ATGX VDD VSS ALARM AN9 AN8 AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 AVSS AVCC AVRH Ext.Interrupt 124 125 78 Mode 80 79 I 2C Sound Gen. 81 82 84 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 112 110 111 114 113 115 116 117 118 119 120 121 122 123 1 Ext.Bus Data D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 VDD35 VSS D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 VDD35 VSS A0 A1 A2 A3 ADC Osci. VSS VDD35 RDY WR0X WR1X WR2X WR3X VSS VDD35 VSS MONCLK VDD VSS X1 X0 VDD OCPA3 OCPA2 OCPA1 OCPA0 VSS VDD SOT0 SIN0 RX1 TX1 RX0 TX0 VSS VCC3C VDDI VDDI VDDI VDDI VSS SCK3 SOT3 SIN3 SCK4 SIN4 Ext. Bus Control 第 1 章 MB91360 シリーズの概要 ■ MB91F365GB の端子図 図 1.5-5 に , MB91F365GB の端子図を示します。 図 1.5-5 MB91F365GB 端子図 VSS VDD SIN3 66 61 SOT3 67 SOT4 VSS SCK3 63 OCPA0 69 68 62 OCPA1 70 SCK4 OCPA2 72 71 SIN4 OCPA4 OCPA3 74 64 OCPA5 75 73 OCPA7 OCPA6 77 76 RX0 TX0 79 78 RX1 VDD TX1 VSS 82 80 SIN0 83 81 SOT0 85 84 86 PG0 SOT1 SIN1 88 87 PG2 PG1 90 SIO PPG 65 CAN UART 89 Digital I/O-Ports INITX PG3 91 60 PG4 92 59 MD2 PG5 93 58 MD1 VDD 94 57 MD0 HVSS 95 56 VDD PWM1P0 96 55 OUT1 PWM1M0 97 54 OUT0 PWM2P0 PWM2M0 98 53 IN3 99 52 IN2 HVDD 100 51 PWM1P1 101 50 IN1 IN0 49 VSS 48 VCC3C PWM1M1 102 PWM2P1 103 PWM2M1 104 HVSS 105 PWM1P2 106 PWM1M2 107 MB91F365GB 120-Pin plastic QFP 47 VDD 46 INT7 45 INT5 43 INT4 109 42 INT3 110 41 INT2 INT1 108 PWM2M2 HVDD PWM1P3 111 40 PWM1M3 112 39 INT0 PWM2P3 113 38 MONCLK PWM2M3 114 37 VSS VSS 115 36 X1 VDD 116 35 X0 24 26 27 28 29 30 AN7 DA0 DA1 ALARM VSS 23 AN4 25 22 AN3 AN6 21 AN2 ADC AN5 19 20 AN1 18 AVSS/AVRL AN0 16 17 15 VSS AVRH 14 VDD 2 I C AVCC 12 13 SCL 11 Sound SDA 10 8 VDD VSS SGA 7 PI3 9 6 PJ7 SGO 5 PJ6 BOOT 4 31 3 120 PJ5 TESTX PJ3 PJ4 CPUTESTX PJ2 32 2 VDD 33 119 1 34 118 VSS 117 PJ1 VDD PJ0 Digital IO-Ports ICU INT6 44 PWM2P2 OCU ext. Int. 4MHz Osc. DAC 23 第 1 章 MB91360 シリーズの概要 ■ MB91F366GB/MB91F376G の端子図 図 1.5-6 に , MB91F366GB/MB91F376G の端子図を示します。 図 1.5-6 MB91F366GB/MB91F376G 端子図 VSS VDD 61 SIN3 66 SOT4 SOT3 67 63 VSS SCK3 62 OCPA0 69 68 SCK4 OCPA1 70 SIN4 OCPA2 72 71 64 OCPA4 OCPA3 74 65 OCPA5 75 73 OCPA7 OCPA6 77 76 RX0 TX0 79 78 RX1 VDD TX1 VSS 82 80 SIN0 83 81 SOT0 85 84 86 PG0 SOT1 SIN1 88 87 PG2 PG1 90 SIO PPG INITX PG3 91 60 PG4 92 59 MD2 PG5 93 58 MD1 VDD 94 57 MD0 HVSS 95 56 VDD PWM1P0 96 55 OUT1 PWM1M0 97 54 OUT0 PWM2P0 PWM2M0 98 53 IN3 99 52 IN2 HVDD 100 51 PWM1P1 101 50 IN1 IN0 49 VSS 48 VCC3C PWM1M1 102 PWM2P1 103 PWM2M1 104 HVSS 105 PWM1P2 106 PWM1M2 107 MB91F366GB/F376G 120-Pin plastic QFP 47 VDD 46 INT7 45 INT5 43 INT4 109 42 INT3 110 41 INT2 108 PWM2M2 HVDD PWM1P3 111 40 INT1 PWM1M3 112 39 INT0 PWM2P3 113 38 MONCLK PWM2M3 114 37 VSS VSS 115 36 X1 VDD 116 35 X0 27 28 29 30 X1A ALARM VSS 26 AN7 X0A 24 23 AN4 25 22 AN3 AN6 21 AN2 ADC AN5 19 20 AN1 18 AVSS/AVRL AN0 16 17 15 VSS AVRH 14 VDD 2 I C AVCC 12 13 SCL 11 SDA 10 8 VDD VSS SGA 7 PI3 SGO 6 PJ7 9 5 PJ6 BOOT 4 31 3 120 PJ5 TESTX PJ3 PJ4 CPUTESTX PJ2 32 2 VDD 33 119 1 34 118 VSS 117 PJ1 VDD PJ0 Sound 32KHz Osc. OCU ICU INT6 44 PWM2P2 Digital IO-Ports 24 CAN UART 89 Digital I/O-Ports ext. Int. 4MHz Osc. 第 1 章 MB91360 シリーズの概要 ■ MB91F367GB の端子図 図 1.5-7 に , MB91F367GB の端子図を示します。 図 1.5-7 MB91F367GB 端子図 VSS VDD 61 SOT4 63 SIN3 66 62 SOT3 67 SCK4 VSS SCK3 69 68 SIN4 OCPA0 70 64 OCPA1 72 71 65 OCPA2 74 73 PO5 PO4 OCPA3 75 PO7 PO6 77 76 RX0 TX0 79 78 RX1 VDD TX1 VSS 82 80 SIN0 83 81 SOT0 85 84 86 PG0 PQ3 PQ2 88 87 PG2 PG1 90 89 SIO INITX PG3 91 60 PG4 92 59 MD2 PG5 93 58 MD1 VDD 94 57 MD0 VSS 95 56 VDD PR0 96 55 OUT1 PR1 97 54 OUT0 PR2 98 53 IN3 PR3 99 52 IN2 HVDD 100 PR4 101 51 50 IN1 IN0 49 VSS 48 VCC3C PR5 102 PR6 103 PR7 104 VSS 105 PS0 106 PS1 107 PS2 PS3 MB91F367GB 120-Pin plastic QFP FPT-120P-M21 47 VDD 46 INT7 45 INT6 44 INT5 108 43 INT4 109 42 INT3 HVDD 110 41 INT2 PS4 111 40 INT1 PS5 112 39 INT0 PS6 113 38 MONCLK PS7 114 37 VSS VSS 115 36 X1 VDD 116 35 X0 PJ0 117 34 VDD CPUTESTX 26 27 28 29 30 NC NC ALARM VSS 23 AN7 22 AN3 AN4 24 21 AN2 25 20 AN1 AN6 18 19 AVSS AN0 AN5 16 17 AVCC 15 I2C AVRH 14 11 PM1 VSS 10 PM0 VDD 9 12 8 VDD VSS 13 7 PI3 SCL 6 Digital IO-Ports SDA 5 PJ6 PJ7 BOOT 4 31 3 120 PJ4 TESTX PJ3 PJ5 32 2 33 119 1 118 VSS PJ1 PJ2 Digital IO-Ports OCU ICU ext. Int. VDD Digital I/O-Ports PPG Digital I/O-Ports CAN UART Digital I/O-Ports 4MHz Osc. ADC 25 第 1 章 MB91360 シリーズの概要 ■ MB91F368GB の端子図 図 1.5-8 に , MB91F368GB の端子図を示します。 図 1.5-8 MB91F368GB 端子図 VSS VDD 61 SOT4 63 SIN3 66 62 SOT3 67 SCK4 VSS SCK3 69 68 SIN4 OCPA0 70 64 OCPA1 72 71 65 OCPA2 74 73 PO5 PO4 OCPA3 75 PO7 PO6 77 76 RX0 TX0 79 78 RX1 VDD TX1 VSS 82 80 SIN0 83 81 SOT0 85 84 86 PG0 PQ3 PQ2 88 87 PG2 PG1 90 89 SIO INITX PG3 91 60 PG4 92 59 MD2 PG5 93 58 MD1 VDD 94 57 MD0 VSS 95 56 VDD PR0 96 55 OUT1 PR1 97 54 OUT0 PR2 98 53 IN3 PR3 99 52 IN2 HVDD 100 PR4 101 51 50 IN1 IN0 49 VSS 48 VCC3C PR5 102 PR6 103 PR7 104 VSS 105 PS0 106 PS1 107 PS2 MB91F368GB 120-Pin plastic QFP 47 VDD 46 INT7 45 INT6 44 INT5 108 43 INT4 PS3 109 42 INT3 HVDD 110 41 INT2 PS4 111 40 INT1 PS5 112 39 INT0 PS6 113 38 MONCLK PS7 114 37 VSS OCU ICU ext. Int. VSS 115 36 X1 VDD 116 35 X0 PJ0 117 34 VDD CPUTESTX Digital I/O-Ports 28 29 30 X1A ALARM VSS 27 X0A 26 23 AN4 AN7 22 AN3 24 21 AN2 25 20 AN1 AN6 18 19 AVSS/AVRL AN0 ADC AN5 16 VSS 17 15 VDD AVCC 14 SCL I2C AVRH 12 13 SDA 11 8 VDD VSS 10 7 PI3 PM1 6 9 5 PJ6 PJ7 PM0 4 BOOT 3 31 PJ4 120 PJ5 TESTX PJ3 2 32 1 33 119 VSS 118 VDD PJ1 PJ2 Digital IO-Ports 26 PPG Digital I/O-Ports CAN UART Digital I/O-Ports 32KHz Osc. 4MHz Osc. 第 1 章 MB91360 シリーズの概要 ■ MB91366GA の端子図 図 1.5-9 に , MB91366GA の端子図を示します。 図 1.5-9 MB91366GA 端子図 SOT4 VSS VDD SIN3 66 63 SOT3 67 62 VSS SCK3 69 68 SCK4 OCPA0 70 SIN4 OCPA1 72 71 64 OCPA2 74 65 OCPA5 OCPA4 OCPA3 75 OCPA7 OCPA6 77 76 RX0 TX0 79 78 82 RX1 VDD 83 TX1 VSS 84 80 SIN0 85 81 SIN1 SOT0 86 PG0 SOT1 88 87 PG1 PG2 90 89 61 INITX PG3 91 60 PG4 92 59 MD2 PG5 93 58 MD1 VDD 94 57 MD0 HVSS 95 56 VDD PWM1P0 96 55 OUT1 PWM1M0 97 54 OUT0 PWM2P0 98 53 IN3 OCU 99 52 IN2 HVDD 100 PWM1P1 101 51 50 IN1 IN0 49 VSS 48 VCC3C PWM2M0 PWM1M1 102 PWM2P1 103 PWM2M1 104 HVSS 105 PWM1P2 106 PWM1M2 107 PWM2P2 108 PWM2M2 109 MB91366GA 120-Pin plastic QFP 47 VDD 46 INT7 45 INT6 44 INT5 43 INT4 42 INT3 HVDD 110 41 PWM1P3 111 40 INT2 INT1 PWM1M3 112 39 INT0 PWM2P3 113 38 MONCLK PWM2M3 114 37 HVSS 115 36 VSS X1 VDD 116 35 X0 Digital IO-Ports 26 27 28 29 30 X0A X1A ALARM VSS 23 AN4 AN7 22 AN3 24 21 AN2 25 20 AN1 AN6 18 19 AVSS/AVRL AN0 ADC AN5 16 17 15 VSS AVCC 14 VDD I 2C AVRH 12 13 SCL SGA Sound SDA 10 11 SGO 9 7 8 PI3 6 VDD VSS 5 PJ7 BOOT PJ6 TESTX 31 4 32 120 3 119 PJ3 PJ5 PJ2 PJ4 VDD CPUTESTX 2 34 33 1 117 118 VSS PJ0 PJ1 VDD SMC SIO PPG CAN 73 UART Digital IO-Ports ICU ext. Int. 4MHz Osc. 32KHz Osc. 27 第 1 章 MB91360 シリーズの概要 1.6 端子機能説明 MB91FV360GA, MB91F362GB, および MB91F369GA の端子配列の一覧および各回 路の種類の説明を示します。 ■ MB91FV360GA の入出力端子とその機能 表 1.6-1 に , MB91FV360GA の入出力端子とその機能を示します。 表 1.6-1 MB91FV360GA の入出力端子とその機能 (1 / 11) 汎用 I/O ポート 端子番号 端子名 I/O 1 D18 I/O Q 外部バスデータビット 18 2 D11 I/O Q 外部バスデータビット 11 3 D2 I/O Q 外部バスデータビット 2 4 28 回路の種類 機能 接続しない 5 HVSS 6 HVDD5B 7 PWM2M1 I/O PR7 M SMC 1 8 PWM1M1 I/O PR5 K SMC 1 9 PWM1P0 I/O PR0 K SMC 0 10 VDD5R 11 VDD5P 12 SCK4 I/O PN2 A SIO クロック 13 VDD5J 14 EXRAM I P トレース制御 15 TWRX O X トレース制御 16 TAD9 O X トレースアドレス 17 TAD5 O X トレースアドレス 18 TAD3 O X トレースアドレス 19 TDT68 I/O W トレースデータ 20 TDT63 I/O W トレースデータ 21 TDT57 I/O W トレースデータ 22 TDT49 I/O W トレースデータ 23 TDT23 I/O W トレースデータ 24 TDT16 I/O W トレースデータ 25 TDT7 I/O W トレースデータ 26 TDT2 I/O W トレースデータ 27 ICD0 I/O N ICE データ 28 ICLK IO L ICE クロック 29 X0 H 4 MHz 発振用端子 30 INITX U 初期化端子 I 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (2 / 11) 端子番号 端子名 I/O 31 MD1 I 32 IN3 I/O 33 INT3 34 汎用 I/O ポート 回路の種類 機能 T モード端子 1 PL3 A ICU 入力 3 I/O PK3 A 外部割込み 3 AN3 I/O PH3 B ADC 入力 3 35 DACK2 I/O PB6 A DMA 要求受付出力 2 36 AN13 I/O PG5 B ADC 入力 13 37 AN8 I/O PG0 B ADC 入力 8 38 ALE I/O P91 A 外部バス制御 39 WR1X I/O P85 S 外部バス制御 40 RDX I/O P83 S 外部バス制御 41 CS7X I/O A チップセレクト 7(CAN) 42 A26 I/O Q 外部バスアドレスビット 26 43 A20 I/O Q 外部バスアドレスビット 20 44 A12 I/O Q 外部バスアドレスビット 12 45 D21 I/O Q 外部バスデータビット 21 46 D16 I/O Q 外部バスデータビット 16 47 D13 I/O Q 外部バスデータビット 13 48 D7 I/O Q 外部バスデータビット 7 49 D3 I/O Q 外部バスデータビット 3 50 VSS 51 PWM2P2 I/O PS2 K SMC 2 52 PWM2P1 I/O PR6 K SMC 1 53 PWM1P1 I/O PR4 K SMC 1 54 接続しない 55 SIN1 I/O PQ2 A UART 1 入力 56 TX3 I/O PP6 Q CAN 3 TX 57 SOT3 I/O PN4 A SIO 出力 58 SOT4 I/O PN0 A SIO 出力 59 接続しない 60 接続しない 61 SGO I/O 62 TOEX 63 PM0 A サウンド生成器 SGO O X トレース制御 TAD8 O X トレースアドレス 64 TAD2 O X トレースアドレス 65 TDT67 I/O W トレースデータ 66 TDT60 I/O W トレースデータ 67 TDT54 I/O W トレースデータ 68 TDT48 I/O W トレースデータ 69 TDT26 I/O W トレースデータ 29 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (3 / 11) 30 汎用 I/O ポート 端子番号 端子名 I/O 70 TDT21 I/O W トレースデータ 71 TDT18 I/O W トレースデータ 72 TDT12 I/O W トレースデータ 73 TDT8 I/O W トレースデータ 74 TDT3 I/O W トレースデータ 75 ICS2 O G ICE ステータス 76 VDD5F 77 RSTX I E リセット端子 78 OUT2 I/O PL6 A OCU 出力 2 79 IN0 I/O PL0 A ICU 入力 0 80 INT2 I/O PK2 A 外部割込み 2 81 AN6 I/O PH6 B ADC 入力 6 82 AN1 I/O PH1 B ADC 入力 1 83 AVCC 84 DEOP0 I/O PB2 A DMA 出力終了 0 85 AN14 I/O PG6 B ADC 入力 14 86 AN9 I/O PG1 B ADC 入力 9 87 AS I/O P90 A 外部バス制御 88 BRQ I/O P82 A 外部バス制御 89 CS6X I/O P76 A チップセレクト 6 90 A23 I/O Q 外部バスアドレスビット 23 91 A17 I/O Q 外部バスアドレスビット 17 92 A11 I/O Q 外部バスアドレスビット 11 93 D27 I/O Q 外部バスデータビット 27 94 D22 I/O Q 外部バスデータビット 22 95 D17 I/O Q 外部バスデータビット 17 96 D6 I/O Q 外部バスデータビット 6 97 VDD5S 98 PWM1M3 I/O PS5 K SMC 3 99 PWM2M3 I/O PS7 M SMC 3 100 HVDD5A 101 PWM2P0 I/O PR2 K SMC 0 102 VCC3C C バイパスコンデンサ端子 103 SOT1 I/O PQ3 A UART 1 出力 104 SIN0 I/O PQ0 A UART 0 入力 105 TX1 I/O PP2 Q CAN 1 TX 106 OCPA2 I/O PO2 A PPG 出力 107 SCK3 I/O PN5 A SIO クロック 回路の種類 機能 アナログ VCC 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (4 / 11) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 108 SIN4 I/O PN1 A SIO 入力 109 SCL I/O PM3 Y I2C SCL 110 TCLK I/O W トレース制御 111 TAD12 O X トレースアドレス 112 TAD15 O X トレースアドレス 113 TAD1 O X トレースアドレス 114 TDT65 I/O W トレースデータ 115 TDT59 I/O W トレースデータ 116 TDT55 I/O W トレースデータ 117 TDT51 I/O W トレースデータ 118 TDT42 I/O W トレースデータ 119 TDT32 I/O W トレースデータ 120 TDT27 I/O W トレースデータ 121 TDT22 I/O W トレースデータ 122 TDT11 I/O W トレースデータ 123 TDT4 I/O W トレースデータ 124 ICD3 I/O N ICE データ 125 TDT1 I/O W トレースデータ 126 SELCLK I F クロック選択 127 NMIX I E マスク不可割込み 128 OUT1 I/O PL5 A OCU 出力 1 129 IN1 I/O PL1 A ICU 入力 1 130 INT5 I/O PK5 A 外部割込み 5 131 LED4 I/O PJ4 J LED ポート 4 132 ALARM I D アラーム比較器入力 133 AN7 I/O PH7 B ADC 入力 7 134 AN2 I/O PH2 B ADC 入力 2 135 DACK0 I/O PB1 A DMA 要求受付出力 0 136 AN10 I/O PG2 B ADC 入力 10 137 CS0X I/O P94 A チップセレクト 0 138 CS3X I/O P97 A チップセレクト 2 139 BGRNTX I/O P81 A 外部バス制御 140 CS4X I/O P74 A チップセレクト 4 141 A22 I/O Q 外部バスアドレスビット 22 142 A18 I/O Q 外部バスアドレスビット 18 143 A14 I/O Q 外部バスアドレスビット 14 144 A5 I/O Q 外部バスアドレスビット 5 145 INDEX - - インデックス端子 - 機能 31 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (5 / 11) 32 汎用 I/O ポート 端子番号 端子名 I/O 146 D30 I/O Q 外部バスデータビット 30 147 D26 I/O Q 外部バスデータビット 26 148 D19 I/O Q 外部バスデータビット 19 149 D10 I/O Q 外部バスデータビット 10 150 D9 I/O Q 外部バスデータビット 9 151 D5 I/O Q 外部バスデータビット 5 152 PWM2M2 I/O PS3 M SMC 2 153 PWM1P3 I/O PS4 K SMC 3 154 PWM2M0 I/O PR3 M SMC 0 155 VSS 156 SOT2 I/O PQ5 A UART 2 出力 157 SOT0 I/O PQ1 A UART 0 出力 158 VDD5O 159 OCPA7 I/O PO7 A PPG 出力 160 OCPA5 I/O PO5 A PPG 出力 161 OCPA1 I/O PO1 A PPG 出力 162 VDD5K 163 X1A O I 32 kHz 発振用端子 164 X0A I I 32 kHz 発振用端子 165 SDA I/O Y I2C SDA 166 TAD10 O X トレースアドレス 167 TAD11 O X トレースアドレス 168 TDT66 I/O W トレースデータ 169 TDT61 I/O W トレースデータ 170 TDT58 I/O W トレースデータ 171 TDT52 I/O W トレースデータ 172 TDT45 I/O W トレースデータ 173 TDT39 I/O W トレースデータ 174 TDT35 I/O W トレースデータ 175 TDT31 I/O W トレースデータ 176 TDT24 I/O W トレースデータ 177 TDT15 I/O W トレースデータ 178 TDT14 I/O W トレースデータ 179 TDT10 I/O W トレースデータ 180 ICD1 I/O N ICE データ 181 ICD2 I/O N ICE データ 182 HSTX I E ハードウェアスタンバイ 183 OUT3 I/O PL7 A OCU 出力 3 184 OUT0 I/O PL4 A OCU 出力 0 PM2 回路の種類 機能 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (6 / 11) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 185 INT6 I/O PK6 A 外部割込み 6 186 LED7 I/O PJ7 J LED ポート 7 187 LED1 I/O PJ1 J LED ポート 1 188 CPUTESTX I E テスト入力 189 DA1 O C DAC 出力 190 AN4 I/O PH4 B ADC 入力 4 191 DEOP1 I/O PB5 A DMA 出力終了 1 192 DACK1 I/O PB4 A DMA 確認応答 1 193 DREQ0 I/O PB0 A DMA リクエスト 0 194 CLK I/O P92 A 外部バスクロック 195 AH/BOOT I/O P93 A 外部バス制御 / ブートシングル 196 CS5X I/O P75 A チップセレクト 5 197 A24 I/O Q 外部バスアドレスビット 24 198 A21 I/O Q 外部バスアドレスビット 21 199 A15 I/O Q 外部バスアドレスビット 15 200 A8 I/O Q 外部バスアドレスビット 8 201 A2 I/O Q 外部バスアドレスビット 2 202 A0 I/O Q 外部バスアドレスビット 0 203 D29 I/O Q 外部バスデータビット 29 204 D25 I/O Q 外部バスデータビット 25 205 D20 I/O Q 外部バスデータビット 20 206 D15 I/O Q 外部バスデータビット 15 207 D4 I/O Q 外部バスデータビット 4 208 HVDD5C 209 PWM1M2 I/O PS1 K SMC 2 210 PWM1P2 I/O PS0 K SMC 2 211 PWM1M0 I/O PR1 K SMC 0 212 SIN2 I/O PQ4 A UART 2 入力 213 RX3 I/O PP7 Q CAN 3 RX 214 VSS 215 RX0 I/O PP1 Q CAN 0 RX 216 VDD5N 217 OCPA4 I/O PO4 A PPG 出力 218 OCPA0 I/O PO0 A PPG 出力 219 SIN3 I/O PN3 A SIO 入力 220 VSS 221 SGA I/O PM1 A サウンド生成器 SGA 222 TAD13 O X トレースアドレス 機能 33 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (7 / 11) 汎用 I/O ポート 端子番号 端子名 I/O 223 TAD7 O X トレースアドレス 224 TAD6 O X トレースアドレス 225 TDT64 I/O W トレースデータ 226 TDT56 I/O W トレースデータ 227 TDT50 I/O W トレースデータ 228 TDT44 I/O W トレースデータ 229 TDT41 I/O W トレースデータ 230 TDT37 I/O W トレースデータ 231 TDT34 I/O W トレースデータ 232 TDT30 I/O W トレースデータ 233 TDT25 I/O W トレースデータ 234 TDT20 I/O W トレースデータ 235 TDT9 I/O W トレースデータ 236 BREAK I O ICE ブレーク 237 ICS1 O G ICE ステータス 238 ICS0 O G ICE ステータス 239 MD2 I T モード端子 2 240 IN2 I/O PL2 A ICU 入力 2 241 INT4 I/O PK4 A 外部割込み 4 242 LED6 I/O PJ6 J LED ポート 6 243 LED3 I/O PJ3 J LED ポート 3 244 34 回路の種類 機能 接続しない 245 TESTX I E テスト入力 246 DA0 O C DAC 出力 0 247 AN5 I/O PH5 B ADC 入力 5 248 AN0 I/O PH0 B ADC 入力 0 249 AN15 I/O PG7 B ADC 入力 15 250 CS1X I/O P95 A チップセレクト 1 251 WR3X I/O P87 S 外部バス制御 252 WR2X I/O P86 S 外部バス制御 253 DREQ2 I/O P73 A DMA リクエスト 2 254 A19 I/O Q 外部バスアドレスビット 19 255 A13 I/O Q 外部バスアドレスビット 13 256 A7 I/O Q 外部バスアドレスビット 7 257 A4 I/O Q 外部バスアドレスビット 4 258 D31 I/O Q 外部バスデータビット 31 259 D28 I/O Q 外部バスデータビット 28 260 D23 I/O Q 外部バスデータビット 23 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (8 / 11) 汎用 I/O ポート 端子番号 端子名 I/O 261 D14 I/O Q 外部バスデータビット 14 262 D8 I/O Q 外部バスデータビット 8 263 D1 I/O Q 外部バスデータビット 1 264 D0 I/O Q 外部バスデータビット 0 265 266 回路の種類 機能 接続しない HVSS 267 接続しない 268 VSS 269 RX2 I/O PP5 Q CAN 2 RX 270 RX1 I/O PP3 Q CAN 1 RX 271 VSS 272 OCPA3 I/O PO3 A PPG 出力 273 VSS 274 接続しない 275 VDD5I 276 TADSCX O X トレース制御 277 TCE1X O X トレース制御 278 TAD4 O X トレースアドレス 279 TAD0 O X トレースアドレス 280 TDT62 I/O W トレースデータ 281 TDT53 I/O W トレースデータ 282 TDT47 I/O W トレースデータ 283 TDT43 I/O W トレースデータ 284 TDT36 I/O W トレースデータ 285 TDT33 I/O W トレースデータ 286 TDT28 I/O W トレースデータ 287 TDT19 I/O W トレースデータ 288 TDT13 I/O W トレースデータ 289 TDT6 I/O W トレースデータ 290 TDT5 I/O W トレースデータ 291 X1 H 4 MHz 発振用端子 292 MONCLK O G テスト用クロック出力 293 MD0 I T モード端子 0 294 INT7 I/O PK7 A 外部割込み 7 295 INT1 I/O PK1 A 外部割込み 1 296 LED5 I/O PJ5 J LED ポート 5 297 LTESTX I E テスト入力 298 ATGX I/O A ADC トリガ 299 AVRLR R アナログ基準電圧 "L" PI3 35 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (9 / 11) I/O 端子番号 端子名 300 AVRH 301 DREQ1 I/O 302 AN12 303 汎用 I/O ポート 機能 R アナログ基準電圧 "H" PB3 A DMA リクエスト 1 I/O PG4 B ADC 入力 12 AN11 I/O PG3 B ADC 入力 11 304 WR0X I/O P84 S 外部バス制御 305 RDY I/O S 外部バス制御 306 A25 I/O Q 外部バスアドレスビット 25 307 A16 I/O Q 外部バスアドレスビット 16 308 A10 I/O Q 外部バスアドレスビット 10 309 A6 I/O Q 外部バスアドレスビット 6 310 A1 I/O Q 外部バスアドレスビット 1 312 D24 I/O Q 外部バスデータビット 24 313 D12 I/O Q 外部バスデータビット 12 311 接続しない 314 接続しない 315 PWM2P3 316 HVSS 317 HVSS I/O PS6 318 K SMC 3 接続しない 319 VDD5Q 320 TX2 I/O PP4 Q CAN 2 TX 321 TX0 I/O PP0 Q CAN 0 TX 322 OCPA6 I/O PO6 A PPG 出力 323 VDD5M 324 VDD5L 325 接続しない 326 VDD5H 327 TAD14 328 VSS3 329 VSS3 O 330 36 回路の種類 X トレースアドレス 接続しない 331 VDD3C 332 TDT46 I/O W トレースデータ 333 TDT40 I/O W トレースデータ 334 TDT38 I/O W トレースデータ 335 VDD3B 336 TDT29 I/O W トレースデータ 337 TDT17 I/O W トレースデータ 338 VDD3A 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (10 / 11) 端子番号 端子名 I/O 339 TDT0 I/O 340 VSS 341 VSS 汎用 I/O ポート 回路の種類 W 342 機能 トレースデータ 接続しない 343 VDD5E 344 INT0 I/O PK0 A 外部割込み 0 345 LED2 I/O PJ2 J LED ポート 2 346 LED0 I/O PJ0 J LED ポート 0 347 VDD5D 348 AVSS 349 DEOP2 350 VDD5C 351 CS2X 352 VSS 353 VSS 354 VDD5B アナログ VSS I/O PB7 A DMA 出力終了 2 I/O P96 A チップセレクト 2 355 接続しない 356 A9 I/O Q 外部バスアドレスビット 9 357 A3 I/O Q 外部バスアドレスビット 3 358 VSS 359 VSS 360 VDD5T 361 VSS 362 VSS 363 VSS 364 接続しない 365 HVSS 366 VSS 367 VSS 368 接続しない 369 VSS 370 VSS 371 接続しない 372 VSS 373 VSS 374 VSS 375 VDD3D 376 VSS3 377 VSS3 37 第 1 章 MB91360 シリーズの概要 表 1.6-1 MB91FV360GA の入出力端子とその機能 (11 / 11) 端子番号 端子名 378 VSS3 379 汎用 I/O ポート 回路の種類 接続しない 380 VSS3 381 VSS3 382 接続しない 383 VSS3 384 VSS3 385 VSS3 386 VDD5G 387 VSS 388 VSS 389 VSS 390 接続しない 391 VSS 392 VSS 393 接続しない 394 VSS 395 VSS 396 VSS 397 38 I/O 接続しない 398 VSS 399 VSS 400 VSS 401 VDD5A 機能 第 1 章 MB91360 シリーズの概要 ■ MB91F362GB の入出力端子とその機能 表 1.6-2 に , MB91F362GB の入出力端子とその機能を示します。 表 1.6-2 MB91F362GB の入出力端子とその機能 (1 / 6) 汎用 I/O ポート 端子番号 端子名 I/O 1 D24 I/O Q 外部バスデータビット 24 2 D25 I/O Q 外部バスデータビット 25 3 D26 I/O Q 外部バスデータビット 26 4 D27 I/O Q 外部バスデータビット 27 5 D28 I/O Q 外部バスデータビット 28 6 D29 I/O Q 外部バスデータビット 29 7 D30 I/O Q 外部バスデータビット 30 8 D31 I/O Q 外部バスデータビット 31 9 A0 I/O Q 外部バスアドレスビット 0 10 A1 I/O Q 外部バスアドレスビット 1 11 A2 I/O Q 外部バスアドレスビット 2 12 A3 I/O Q 外部バスアドレスビット 3 13 A4 I/O Q 外部バスアドレスビット 4 14 A5 I/O Q 外部バスアドレスビット 5 15 A6 I/O Q 外部バスアドレスビット 6 16 A7 I/O Q 外部バスアドレスビット 7 17 A8 I/O Q 外部バスアドレスビット 8 18 A9 I/O Q 外部バスアドレスビット 9 19 A10 I/O Q 外部バスアドレスビット 10 20 A11 I/O Q 外部バスアドレスビット 11 21 A12 I/O Q 外部バスアドレスビット 12 22 A13 I/O Q 外部バスアドレスビット 13 23 A14 I/O Q 外部バスアドレスビット 14 24 A15 I/O Q 外部バスアドレスビット 15 25 VDD35* 26 VSS 27 A16 I/O Q 外部バスアドレスビット 16 28 A17 I/O Q 外部バスアドレスビット 17 29 A18 I/O Q 外部バスアドレスビット 18 30 A19 I/O Q 外部バスアドレスビット 19 31 A20 I/O Q 外部バスアドレスビット 20 32 CS4X I/O P74 A チップセレクト 4 33 CS5X I/O P75 A チップセレクト 5 34 CS6X I/O P76 A チップセレクト 6 35 RDY I/O S 外部バス制御 回路の種類 機能 分離された外部バス用 VDD (3.3V または 5.0V) 39 第 1 章 MB91360 シリーズの概要 表 1.6-2 MB91F362GB の入出力端子とその機能 (2 / 6) 40 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 36 BGRNTX I/O P81 A 外部バス制御 37 BRQ I/O P82 A 外部バス制御 38 RDX I/O S 外部バス制御 39 WR0X I/O S 外部バス制御 40 WR1X I/O S 外部バス制御 41 WR2X I/O S 外部バス制御 42 WR3X I/O S 外部バス制御 43 AS I/O P90 A 外部バス制御 44 ALE I/O P91 A 外部バス制御 45 CLK I/O A 外部バスクロック 46 AH I/O P93 A 外部バス制御信号 47 CS0X I/O P94 A チップセレクト 0 48 CS1X I/O P95 A チップセレクト 1 49 CS2X I/O P96 A チップセレクト 2 50 CS3X I/O P97 A チップセレクト 3 51 VDD35* 52 VSS 53 AN8 I/O PG0 B ADC 入力 8 54 AN9 I/O PG1 B ADC 入力 9 55 AN10 I/O PG2 B ADC 入力 10 56 AN11 I/O PG3 B ADC 入力 11 57 AN12 I/O PG4 B ADC 入力 12 58 AN13 I/O PG5 B ADC 入力 13 59 AN14 I/O PG6 B ADC 入力 14 60 AN15 I/O PG7 B ADC 入力 15 61 DREQ0 I/O PB0 A DMA 要求 0 62 DACK0 I/O PB1 A DMA 要求受付出力 0 63 DEOP0 I/O PB2 A DMA EOP 0 64 AVCC 65 AVRH 66 AN0 I/O 67 AN1 68 機能 分離された外部バス用 VDD (3.3V または 5.0V) アナログ VCC R アナログ基準電圧 "H" PH0 B ADC 入力 0 I/O PH1 B ADC 入力 1 AN2 I/O PH2 B ADC 入力 2 69 AN3 I/O PH3 B ADC 入力 3 70 AN4 I/O PH4 B ADC 入力 4 71 AN5 I/O PH5 B ADC 入力 5 72 AN6 I/O PH6 B ADC 入力 6 73 AN7 I/O PH7 B ADC 入力 7 第 1 章 MB91360 シリーズの概要 表 1.6-2 MB91F362GB の入出力端子とその機能 (3 / 6) I/O 汎用 I/O ポート 端子番号 端子名 回路の種類 機能 74 AVSS, AVRL 75 DA0 O C DAC 出力 0 76 DA1 O C DAC 出力 1 77 ALARM I D アラームコンパレータ入力 78 VSS 79 VDD 80 ATGX I/O A ADC トリガ入力 81 TESTX I E テスト入力 (VDD に接続してください ) 82 CPUTESTX I E テスト入力 (VDD に接続してください ) 83 LTESTX I E テスト入力 (VDD に接続してください ) 84 LED0 I/O PJ0 J LED ポート 0 85 LED1 I/O PJ1 J LED ポート 1 86 LED2 I/O PJ2 J LED ポート 2 87 LED3 I/O PJ3 J LED ポート 3 88 LED4 I/O PJ4 J LED ポート 4 89 LED5 I/O PJ5 J LED ポート 5 90 LED6 I/O PJ6 J LED ポート 6 91 LED7 I/O PJ7 J LED ポート 7 92 VDD 93 VSS 94 INT0 I/O PK0 A 外部割込み 0 95 INT1 I/O PK1 A 外部割込み 1 96 INT2 I/O PK2 A 外部割込み 2 97 INT3 I/O PK3 A 外部割込み 3 98 INT4 I/O PK4 A 外部割込み 4 99 INT5 I/O PK5 A 外部割込み 5 100 INT6 I/O PK6 A 外部割込み 6 101 INT7 I/O PK7 A 外部割込み 7 102 IN0 I/O PL0 A ICU 入力 0 103 IN1 I/O PL1 A ICU 入力 1 104 IN2 I/O PL2 A ICU 入力 2 105 IN3 I/O PL3 A ICU 入力 3 106 OUT0 I/O PL4 A OCU 出力 0 107 OUT1 I/O PL5 A OCU 出力 1 108 OUT2 I/O PL6 A OCU 出力 2 109 OUT3 I/O PL7 A OCU 出力 3 110 VSS 111 MD0 T モード端子 0 アナログ VSS, アナログ基準電圧 "L" I PI3 41 第 1 章 MB91360 シリーズの概要 表 1.6-2 MB91F362GB の入出力端子とその機能 (4 / 6) 42 汎用 I/O ポート 端子番号 端子名 I/O 112 MD1 I T モード端子 1 113 MD2 I T モード端子 2 114 HSTX I E ハードウェアスタンバイ 115 INITX I U 初期化端子 116 MONCLK O G 評価用システムクロック出力 117 SELCLK I F クロック選択 , 必ず VDD に接続してください。 118 VDD 119 X0 H 4 MHz 発振用端子 120 X1 H 4 MHz 発振用端子 121 X0A I I 使用禁止 , 必ず VSS に接続してください。 122 X1A O I 使用禁止 , オープンにしてください 123 VSS 124 CPO C 使用禁止 , オープンにしてください 125 VCI D 使用禁止 , 必ず VSS に接続してください。 126 SGO I/O PM0 A サウンド生成器 SGO 127 SGA I/O PM1 A サウンド生成器 SGA 128 SDA I/O PM2 Y I2C SDA 129 SCL I/O PM3 Y I2C SCL 130 SOT4 I/O PN0 A SIO 出力 131 SIN4 I/O PN1 A SIO 入力 132 SCK4 I/O PN2 A SIO クロック 133 SIN3 I/O PN3 A SIO 入力 134 SOT3 I/O PN4 A SIO 出力 135 SCK3 I/O PN5 A SIO クロック 136 OCPA0 I/O PO0 A PPG 出力 0 137 OCPA1 I/O PO1 A PPG 出力 1 138 OCPA2 I/O PO2 A PPG 出力 2 139 OCPA3 I/O PO3 A PPG 出力 3 140 OCPA4 I/O PO4 A PPG 出力 4 141 OCPA5 I/O PO5 A PPG 出力 5 142 OCPA6 I/O PO6 A PPG 出力 6 143 OCPA7 I/O PO7 A PPG 出力 7 144 VDD 145 VSS 146 TX0 I/O PP0 Q CAN 0 TX 147 RX0 I/O PP1 Q CAN 0 RX 148 TX1 I/O PP2 Q CAN 1 TX 149 RX1 I/O PP3 Q CAN 1 RX 回路の種類 機能 第 1 章 MB91360 シリーズの概要 表 1.6-2 MB91F362GB の入出力端子とその機能 (5 / 6) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 150 TX2 I/O PP4 Q CAN 2 TX 151 RX2 I/O PP5 Q CAN 2 RX 152 SIN0 I/O PQ0 A UART 0 入力 153 SOT0 I/O PQ1 A UART 0 出力 154 SIN1 I/O PQ2 A UART 1 入力 155 SOT1 I/O PQ3 A UART 1 出力 156 SIN2 I/O PQ4 A UART 2 入力 157 SOT2 I/O PQ5 A UART 2 出力 158 VSS C バイパスキャパシタ端子 機能 159 VCC3C 160 VDD 161 HVSS 162 PWM1P0 I/O PR0 K SMC 0 163 PWM1M0 I/O PR1 K SMC 0 164 PWM2P0 I/O PR2 K SMC 0 165 PWM2M0 I/O PR3 M SMC 0 166 HVDD 167 PWM1P1 I/O PR4 K SMC 1 168 PWM1M1 I/O PR5 K SMC 1 169 PWM2P1 I/O PR6 K SMC 1 170 PWM2M1 I/O PR7 M SMC 1 171 HVSS 172 PWM1P2 I/O PS0 K SMC 2 173 PWM1M2 I/O PS1 K SMC 2 174 PWM2P2 I/O PS2 K SMC 2 175 PWM2M2 I/O PS3 M SMC 2 176 HVDD 177 PWM1P3 I/O PS4 K SMC 3 178 PWM1M3 I/O PS5 K SMC 3 179 PWM2P3 I/O PS6 K SMC 3 180 PWM2M3 I/O PS7 M SMC 3 181 HVSS 182 VDD35* 183 D0 I/O Q 外部バスデータビット 0 184 D1 I/O Q 外部バスデータビット 1 185 D2 I/O Q 外部バスデータビット 2 186 D3 I/O Q 外部バスデータビット 3 187 D4 I/O Q 外部バスデータビット 4 188 D5 I/O Q 外部バスデータビット 5 43 第 1 章 MB91360 シリーズの概要 表 1.6-2 MB91F362GB の入出力端子とその機能 (6 / 6) 汎用 I/O ポート 端子番号 端子名 I/O 189 D6 I/O Q 外部バスデータビット 6 190 D7 I/O Q 外部バスデータビット 7 191 D8 I/O Q 外部バスデータビット 8 192 D9 I/O Q 外部バスデータビット 9 193 D10 I/O Q 外部バスデータビット 10 194 D11 I/O Q 外部バスデータビット 11 195 D12 I/O Q 外部バスデータビット 12 196 D13 I/O Q 外部バスデータビット 13 197 D14 I/O Q 外部バスデータビット 14 198 VDD35* 199 VSS 200 D15 I/O Q 外部バスデータビット 15 201 D16 I/O Q 外部バスデータビット 16 202 D17 I/O Q 外部バスデータビット 17 203 D18 I/O Q 外部バスデータビット 18 204 D19 I/O Q 外部バスデータビット 19 205 D20 I/O Q 外部バスデータビット 20 206 D21 I/O Q 外部バスデータビット 21 207 D22 I/O Q 外部バスデータビット 22 208 D23 I/O Q 外部バスデータビット 23 回路の種類 機能 分離された外部バス用 VDD (3.3V または 5.0V) * : VDD35 端子 (25, 51, 182, 198) を 3.3V 電源に接続した場合 , 外部バスインタフェース ( 端子 1 ∼ 52, 182 ∼ 208) は 3.3V で動作します。 44 第 1 章 MB91360 シリーズの概要 ■ MB91F364G の入出力端子とその機能 表 1.6-3 に , MB91F364G の入出力端子とその機能を示します。 表 1.6-3 MB91F364G の入出力端子とその機能 (1 / 4) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 1 AN0 I/O PH0 B ADC 入力 0 2 AN1 I/O PH1 B ADC 入力 1 3 AN2 I/O PH2 B ADC 入力 2 4 AN3 I/O PH3 B ADC 入力 3 5 AN4 I/O PH4 B ADC 入力 4 6 AN5 I/O PH5 B ADC 入力 5 7 AVSS, AVRL 8 AVRH 9 AVCC 10 AN6 I/O PH6 B ADC 入力 6 11 AN7 I/O PH7 B ADC 入力 7 12 AN8 I/O PG0 B ADC 入力 8 13 AN9 I/O PG1 B ADC 入力 9 14 AN10 I/O PG2 B ADC 入力 10 15 AN11 I/O PG3 B ADC 入力 11 16 VSS 17 VDD 18 SDA I/O PM2 YA I2C SDA 19 SCL I/O PM3 YA I2C SCL 20 SOT0 I/O PQ1 A UART0 SOT 21 SIN0 I/O PQ0 A UART0 SIN 22 HSTX I F ハードウェアスタンバイ 23 NMIX I E NMI 24 SELCLK I F RTC クロック選択 25 VDD 26 MONCLK O Q1 変調クロック出力 27 VSS 28 X1A O I 32 kHz 発振用端子 29 X0A I I 32 kHz 発振用端子 30 VDD 31 X1 O H 4 MHz 発振用端子 32 X0 I H 4 MHz 発振用端子 33 VSS 34 INT0 I/O PK0 B 外部割込み 0 35 INT1 I/O PK1 B 外部割込み 1 36 INT2 I/O PK2 B 外部割込み 2 機能 AVSS, アナログ基準電圧 "L" R アナログ基準電圧 "H" AVCC 45 第 1 章 MB91360 シリーズの概要 表 1.6-3 MB91F364G の入出力端子とその機能 (2 / 4) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 37 INT3 I/O PK3 B 外部割込み 3 38 INT4 I/O PK4 B 外部割込み 4 39 INT5 I/O PK5 B 外部割込み 5 40 INT6 I/O PK6 B 外部割込み 6 41 INT7 I/O PK7 B 外部割込み 7 42 VDD 43 VSS 44 IN0 I/O PL0 B ICU 入力 0 *1 45 IN1 I/O PL1 B ICU 入力 1 *1 46 IN2 I/O PL2 B ICU 入力 2 *1 47 IN3 I/O PL3 B ICU 入力 3 *1 48 OUT0 I/O PL4 B OCU 出力 0 49 OUT1 I/O PL5 B OCU 出力 1 50 OUT2 I/O PL6 B OCU 出力 2 51 OUT3 I/O PL7 B OCU 出力 3 52 VDD 53 VSS 54 TESTX I E テスト入力 55 CPUTESTX I E テスト入力 56 ATGX I/O A ADC トリガ 57 MD0 I T モード端子 0 58 MD1 I T モード端子 1 59 MD2 I T モード端子 2 60 INITX I U 初期化端子 61 VDD 62 VCC3C 63 VCC3C 64 VSS 65 VDDI 66 VDDI 67 VDDI 68 BREAKX 69 VDD 70 VSS 71 46 PI3 機能 電源用コンデンサまたはコア電圧の外部電源用端 子 分離したコア電源 I BREAKX E EDSU ブレークポイント端子 RX0 I/O PP1 Q CAN RX 72 TX0 I/O PP0 Q CAN TX 73 OCPA0 I/O PO0 A PPG 出力 0 74 OCPA1 I/O PO1 A PPG 出力 1 75 OCPA2 I/O PO2 A PPG 出力 2 第 1 章 MB91360 シリーズの概要 表 1.6-3 MB91F364G の入出力端子とその機能 (3 / 4) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 76 OCPA3 I/O PO3 A PPG 出力 3 77 VSS 78 SIN5 I/O PT0 A USART5 SIN 79 SCK5 I/O PT1 A USART5 SCK 80 SOT5 I/O PT2 A USART5 SOT 81 SOT6 I/O PT3 A USART6 SOT 82 SCK6 I/O PT4 A USART6 SCK 83 SIN6 I/O PT5 A USART6 SIN 84 VDD 85 VSS 86 SIN3 I/O PN3 A SIO SIN 87 SOT3 I/O PN4 A SIO SOT 88 SCK3 I/O PN5 A SIO SCK 89 VSS 90 LTESTX I LTESTX E テスト端子 91 VDD 92 PR0 I/O PR0 A ポート R 0 93 PR1 I/O PR1 A ポート R 1 94 PR2 I/O PR2 A ポート R 2 95 PR3 I/O PR3 A ポート R 3 96 PR4 I/O PR4 A ポート R 4 97 PR5 I/O PR5 A ポート R 5 98 PR6 I/O PR6 A ポート R 6 99 PR7 I/O PR7 A ポート R 7 100 VSS 101 VDD 102 LED0 I/O PJ0 J LED ポート 0 103 LED1 I/O PJ1 J LED ポート 1 104 LED2 I/O PJ2 J LED ポート 2 105 LED3 I/O PJ3 J LED ポート 3 106 VSS 107 LED4 I/O PJ4 J LED ポート 4 108 LED5 I/O PJ5 J LED ポート 5 109 LED6 I/O PJ6 J LED ポート 6 110 LED7 I/O PJ7 J LED ポート 7 111 VSS 112 VDD 113 PO4 I/O PO4 A ポート O 4 114 PO5 I/O PO5 A ポート O 5 機能 47 第 1 章 MB91360 シリーズの概要 表 1.6-3 MB91F364G の入出力端子とその機能 (4 / 4) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 115 PO6 I/O PO6 A ポート O 6 116 PO7 I/O PO7 A ポート O 7 117 DA0 O C *2 118 DA1 O C *2 119 VSS 120 VDD 機能 *1: ポート L の機能レジスタ・ビットがクリアされると , ICU 入力回線が LIN-USART の LSYNC 出 力に接続されます。 *2: デジタル・テスト機能には , DA1 および DA0 端子も使用されます。正常なシステム機能を実現 するため , ポート P のデータ方向レジスタ DDRP[3:2] およびポート P の機能レジスタ PFRP[3:2] は , 常に "0" に設定してください。 48 第 1 章 MB91360 シリーズの概要 ■ MB91F369GA の入出力端子とその機能 表 1.6-4 に , MB91F369GA の入出力端子とその機能を示します。 表 1.6-4 MB91F369GA の入出力端子とその機能 (1 / 5) 端子番号 端子名 I/O 1 A4 I/O Q 外部バスアドレスビット 4 2 A5 I/O Q 外部バスアドレスビット 5 3 A6 I/O Q 外部バスアドレスビット 6 4 A7 I/O Q 外部バスアドレスビット 7 5 A8 I/O Q 外部バスアドレスビット 8 6 A9 I/O Q 外部バスアドレスビット 9 7 A10 I/O Q 外部バスアドレスビット 10 8 A11 I/O Q 外部バスアドレスビット 11 9 VDD35* 10 CLK 11 VSS 12 汎用 I/O ポート 回路の種類 機能 分離された外バス用 VDD (3.3V または 5.0V) I/O A 外部バスクロック A12 I/O Q 外部バスアドレスビット 12 13 A13 I/O Q 外部バスアドレスビット 13 14 A14 I/O Q 外部バスアドレスビット 14 15 A15 I/O Q 外部バスアドレスビット 15 16 A16 I/O Q 外部バスアドレスビット 16 17 A17 I/O Q 外部バスアドレスビット 17 18 A18 I/O Q 外部バスアドレスビット 18 19 A19 I/O Q 外部バスアドレスビット 19 20 A20 I/O Q 外部バスアドレスビット 20 21 VDD35* 22 VSS 23 CS4X I/O P74 A チップセレクト 4 24 CS5X I/O P75 A チップセレクト 5 25 CS6X I/O P76 A チップセレクト 6 26 RDX I/O S 外部バス制御 27 BGRNTX I/O P81 A 外部バス制御 28 BRQ I/O P82 A 外部バス制御 29 AS I/O P90 A 外部バス制御 30 ALE I/O P91 A 外部バス制御 31 AH I/O P93 A 外部バス制御信号 32 CS0X I/O P94 A チップセレクト 0 33 CS1X I/O P95 A チップセレクト 1 34 CS2X I/O P96 A チップセレクト 2 35 CS3X I/O P97 A チップセレクト 3 36 DREQ0 I/O PB0 A DMA 要求 0 分離された外部バス用 VDD (3.3V または 5.0V) 49 第 1 章 MB91360 シリーズの概要 表 1.6-4 MB91F369GA の入出力端子とその機能 (2 / 5) 50 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 37 DACK0 I/O PB1 A DMA 要求受付出力 0 38 DEOP0 I/O PB2 A DMA EOP 0 39 VSS 40 VDD35* 41 AVRH 42 AVCC 43 AVSS, AVRL 44 AN0 I/O PH0 B ADC 入力 0 45 AN1 I/O PH1 B ADC 入力 1 46 AN2 I/O PH2 B ADC 入力 2 47 AN3 I/O PH3 B ADC 入力 3 48 AN4 I/O PH4 B ADC 入力 4 49 AN5 I/O PH5 B ADC 入力 5 50 AN6 I/O PH6 B ADC 入力 6 51 AN7 I/O PH7 B ADC 入力 7 52 AN8 I/O PG0 B ADC 入力 8 53 AN9 I/O PG1 B ADC 入力 9 54 ALARM I D アラームコンパレータ入力 55 VSS 56 VDD 57 ATGX I/O A ADC トリガ入力 58 MD0 I T モード端子 0 59 MD1 I T モード端子 1 60 MD2 I T モード端子 2 61 HSTX I E ハードウェアスタンバイ 62 INITX I U 初期化端子 63 TESTX I E テスト入力 (VDD に接続してください ) 64 CPUTESTX I E テスト入力 (VDD に接続してください ) 65 LTESTX I E テスト入力 (VDD に接続してください ) 66 VDD 67 VSS 68 INT0 I/O PK0 A 外部割込み 0 69 INT1 I/O PK1 A 外部割込み 1 70 INT2 I/O PK2 A 外部割込み 2 71 INT3 I/O PK3 A 外部割込み 3 72 INT4 I/O PK4 A 外部割込み 4 73 INT5 I/O PK5 A 外部割込み 5 74 INT6 I/O PK6 A 外部割込み 6 75 INT7 I/O PK7 A 外部割込み 7 機能 分離された外部バス用 VDD (3.3V または 5.0V) R アナログ基準電圧 "H" アナログ VCC アナログ VSS アナログ基準電圧 "L" PI3 第 1 章 MB91360 シリーズの概要 表 1.6-4 MB91F369GA の入出力端子とその機能 (3 / 5) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 76 SGO I/O PM0 A サウンド生成器 SGO 77 SGA I/O PM1 A サウンド生成器 SGA 78 SDA I/O PM2 Y I2C SDA 79 SCL I/O PM3 Y I2C SCL 80 SOT4 I/O PN0 A SIO 出力 81 SIN4 I/O PN1 A SIO 入力 82 SCK4 I/O PN2 A SIO クロック 83 SIN3 I/O PN3 A SIO 入力 84 SOT3 I/O PN4 A SIO 出力 85 SCK3 I/O PN5 A SIO クロック 86 VSS 87 VDDI 内部レギュレータ用電源 88 VDDI 内部レギュレータ用電源 89 VDDI 内部レギュレータ用電源 90 VDDI 内部レギュレータ用電源 91 VDD3C 92 VSS 93 TX0 I/O PP0 Q CAN 0 TX 94 RX0 I/O PP1 Q CAN 0 RX 95 TX1 I/O PP2 Q CAN 1 TX 96 RX1 I/O PP3 Q CAN 1 RX 97 SIN0 I/O PQ0 A UART 0 入力 98 SOT0 I/O PQ1 A UART 0 出力 99 VDD 100 VSS 101 OCPA0 I/O PO0 A PPG 出力 102 OCPA1 I/O PO1 A PPG 出力 103 OCPA2 I/O PO2 A PPG 出力 104 OCPA3 I/O PO3 A PPG 出力 105 VDD 106 X0 I H 4 MHz 発振用端子 107 X1 O H 4 MHz 発振用端子 108 VSS 109 VDD 110 MONCLK O Q1 システムクロック出力 111 VSS 112 VDD35* 113 VSS 114 WR3X 機能 内部レギュレータ用キャパシタ端子 分離された外部バス用 VDD (3.3V または 5.0V) I/O S 外部バス制御 51 第 1 章 MB91360 シリーズの概要 表 1.6-4 MB91F369GA の入出力端子とその機能 (4 / 5) 52 端子番号 端子名 I/O 115 WR2X I/O S 外部バス制御 116 WR1X I/O S 外部バス制御 117 WR0X I/O S 外部バス制御 118 RDY I/O S 外部バス制御 119 VDD35* 120 VSS 121 D0 I/O Q 外部バスデータビット 0 122 D1 I/O Q 外部バスデータビット 1 123 D2 I/O Q 外部バスデータビット 2 124 D3 I/O Q 外部バスデータビット 3 125 D4 I/O Q 外部バスデータビット 4 126 D5 I/O Q 外部バスデータビット 5 127 D6 I/O Q 外部バスデータビット 6 128 D7 I/O Q 外部バスデータビット 7 129 D8 I/O Q 外部バスデータビット 8 130 D9 I/O Q 外部バスデータビット 9 131 D10 I/O Q 外部バスデータビット 10 132 D11 I/O Q 外部バスデータビット 11 133 D12 I/O Q 外部バスデータビット 12 134 D13 I/O Q 外部バスデータビット 13 135 D14 I/O Q 外部バスデータビット 14 136 D15 I/O Q 外部バスデータビット 15 137 VDD35* 138 VSS 139 D16 I/O Q 外部バスデータビット 16 140 D17 I/O Q 外部バスデータビット 17 141 D18 I/O Q 外部バスデータビット 18 142 D19 I/O Q 外部バスデータビット 19 143 D20 I/O Q 外部バスデータビット 20 144 D21 I/O Q 外部バスデータビット 21 145 D22 I/O Q 外部バスデータビット 22 146 D23 I/O Q 外部バスデータビット 23 147 D24 I/O Q 外部バスデータビット 24 148 D25 I/O Q 外部バスデータビット 25 149 D26 I/O Q 外部バスデータビット 26 150 D27 I/O Q 外部バスデータビット 27 151 D28 I/O Q 外部バスデータビット 28 152 D29 I/O Q 外部バスデータビット 29 汎用 I/O ポート 回路の種類 機能 分離された外部バス用 VDD (3.3V または 5.0V) 分離された外部バス用 VDD (3.3V または 5.0V) 第 1 章 MB91360 シリーズの概要 表 1.6-4 MB91F369GA の入出力端子とその機能 (5 / 5) 端子番号 端子名 I/O 153 D30 I/O Q 外部バスデータビット 30 154 D31 I/O Q 外部バスデータビット 31 155 VDD35 * 156 VSS 157 A0 I/O Q 外部バスアドレスビット 0 158 A1 I/O Q 外部バスアドレスビット 1 159 A2 I/O Q 外部バスアドレスビット 2 160 A3 I/O Q 外部バスアドレスビット 3 汎用 I/O ポート 回路の種類 機能 分離された外部バス用 VDD (3.3V または 5.0V) *: VDD35 (9, 21, 40, 112, 119, 137, 155) ピンを 3.3 V に接続した場合 , 外部バスインタフェース (1-40, 112-160) は 3.3 V で 動作できます。 53 第 1 章 MB91360 シリーズの概要 ■ MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 表 1.6-5 に , MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能を示し ます。 表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (1 / 4) I/O 汎用 I/O ポート 回路の種類 (FLASH 品 ) 回路の種類 (ROM 品 ) PJ4 I/O PJ4 A A ポート J4 4 PJ5 I/O PJ5 A A ポート J5 5 PJ6 I/O PJ6 A A ポート J6 6 PJ7 I/O PJ7 A A ポート J7 7 PI3 I/O PI3 A A ポート I3 8 VDD 9 VSS 10 SGO I/O PM0 A A サウンド生成器 SGO 11 SGA I/O PM1 A A サウンド生成器 SGA 12 SDA I/O PM2 Y Y I2C SDA ( 内部 pull-up なし ) 13 SCL I/O PM3 Y Y I2C SCL ( 内部 pull-up なし ) 14 VDD 15 VSS 16 AVRH R R アナログ基準電圧 "H" 17 AVCC 18 AVSS, AVRL 19 AN0 I/O PH0 B B ADC0 入力 20 AN1 I/O PH1 B B ADC1 入力 21 AN2 I/O PH2 B B ADC2 入力 22 AN3 I/O PH3 B B ADC3 入力 23 AN4 I/O PH4 B B ADC4 入力 24 AN5 I/O PH5 B B ADC5 入力 25 AN6 I/O PH6 B B ADC6 入力 26 AN7 I/O PH7 B B ADC7 入力 DA0 O C C DAC 出力 (MB91F365GB) I I I 32 kHz 発振用端子 (MB91F366GB/ 366GA/MB91F376G) O C C DAC 出力 (MB91F365GB) O I I 32 kHz 発振用端子 (MB91F366GB/ 366GA/MB91F376G) I D D アラームコンパレータ入力 A A ブート端子 ( 注意事項参照 ) 端子番号 端子名 1 VDD 2 VSS 3 27 X0A DA1 28 X1A 54 29 ALARM 30 VSS 31 BOOT 機能 アナログ VCC アナログ基準電圧 "L"/ アナログ VSS I/O P93 第 1 章 MB91360 シリーズの概要 表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (2 / 4) 回路の種類 (FLASH 品 ) 回路の種類 (ROM 品 ) I E E テストモード端子 I E E テストモード端子 X0 I H H 4 MHz 発振用端子 36 X1 O H H 4 MHz 発振用端子 37 VSS 38 MONCLK O G G クロック出力 39 INT0 I/O PK0 A A 外部割込み 0 40 INT1 I/O PK1 A A 外部割込み 1 41 INT2 I/O PK2 A A 外部割込み 2 42 INT3 I/O PK3 A A 外部割込み 3 43 INT4 I/O PK4 A A 外部割込み 4 44 INT5 I/O PK5 A A 外部割込み 5 45 INT6 I/O PK6 A A 外部割込み 6 46 INT7 I/O PK7 A A 外部割込み 7 47 VDD 48 VCC3C 49 VSS 50 IN0 I/O PL0 A A ICU 入力 0 51 IN1 I/O PL1 A A ICU 入力 1 52 IN2 I/O PL2 A A ICU 入力 2 53 IN3 I/O PL3 A A ICU 入力 3 54 OUT0 I/O PL4 A A OCU 出力 0 55 OUT1 I/O PL5 A A OCU 出力 1 56 VDD 57 MD0 I T F モード端子 0 58 MD1 I T F モード端子 1 59 MD2 I T F モード端子 2 60 INITX I U U 初期化端子 61 VDD 62 VSS 63 SOT4 I/O PN0 A A SIO4 出力 64 SIN4 I/O PN1 A A SIO4 入力 65 SCK4 I/O PN2 A A SIO4 クロック 66 SIN3 I/O PN3 A A SIO3 入力 67 SOT3 I/O PN4 A A SIO3 出力 68 SCK3 I/O PN5 A A SIO3 クロック 69 VSS 端子番号 端子名 I/O 32 TESTX 33 CPUTESTX 34 VDD 35 汎用 I/O ポート 機能 内部電源電圧端子 内部電源用コンデンサ端子 内部電源電圧端子 内部電源電圧端子 55 第 1 章 MB91360 シリーズの概要 表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (3 / 4) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 (FLASH 品 ) 回路の種類 (ROM 品 ) 70 OCPA0 I/O PO0 A A PPG0 出力 71 OCPA1 I/O PO1 A A PPG1 出力 72 OCPA2 I/O PO2 A A PPG2 出力 73 OCPA3 I/O PO3 A A PPG3 出力 74 OCPA4 I/O PO4 A A PPG4 出力 75 OCPA5 I/O PO5 A A PPG5 出力 76 OCPA6 I/O PO6 A A PPG6 出力 77 OCPA7 I/O PO7 A A PPG7 出力 78 TX0 I/O PP0 Q Q CAN0 TX 出力 79 RX0 I/O PP1 Q Q CAN0 RX 出力 80 TX1 I/O PP2 Q Q CAN1 TX 出力 81 RX1 I/O PP3 Q Q CAN1 RX 出力 82 VDD 83 VSS 84 SIN0 I/O PQ0 A A UART0 入力 85 SOT0 I/O PQ1 A A UART0 出力 86 SIN1 I/O PQ2 A A UART1 入力 87 SOT1 I/O PQ3 A A UART1 出力 88 PG0 I/O PG0 A A ポート G0 89 PG1 I/O PG1 A A ポート G1 90 PG2 I/O PG2 A A ポート G2 91 PG3 I/O PG3 A A ポート G3 92 PG4 I/O PG4 A A ポート G4 93 PG5 I/O PG5 A A ポート G5 94 VDD 95 HVSS 96 PWM1P0 I/O PR0 K K SMC0 97 PWM1M0 I/O PR1 K K SMC0 98 PWM2P0 I/O PR2 K K SMC0 99 PWM2M0 I/O PR3 M M SMC0 100 HVDD 101 PWM1P1 I/O PR4 K K SMC1 102 PWM1M1 I/O PR5 K K SMC1 103 PWM2P1 I/O PR6 K K SMC1 104 PWM2M1 I/O PR7 M M SMC1 105 HVSS 106 PWM1P2 I/O PS0 K K SMC2 107 PWM1M2 I/O PS1 K K SMC2 56 機能 SMC VSS SMC VDD SMC VSS 第 1 章 MB91360 シリーズの概要 表 1.6-5 MB91F365GB/F366GB/F376G, MB91366GA の入出力端子とその機能 (4 / 4) 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 (FLASH 品 ) 回路の種類 (ROM 品 ) 108 PWM2P2 I/O PS2 K K SMC2 109 PWM2M2 I/O PS3 M M SMC2 110 HVDD 111 PWM1P3 I/O PS4 K K SMC3 112 PWM1M3 I/O PS5 K K SMC3 113 PWM2P3 I/O PS6 K K SMC3 114 PWM2M3 I/O PS7 M M SMC3 115 HVSS 116 VDD 117 PJ0 I/O PJ0 A A ポート J0 118 PJ1 I/O PJ1 A A ポート J1 119 PJ2 I/O PJ2 A A ポート J2 120 PJ3 I/O PJ3 A A ポート J3 ( 注意事項 ) 機能 SMC VDD 端子 31 (BOOT) は , デフォルトで "L" になっていなければなりません ( プルダウン抵抗 ) 。リセット / ブート 時のディスターバンスを回避するため , いかなる用途においても , この端子は出力としてのみ使用することを 推奨します。 57 第 1 章 MB91360 シリーズの概要 ■ MB91F367GB/F368GB の入出力端子とその機能 表 1.6-6 に , MB91F367GB/F368GB の入出力端子とその機能を示します。 表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (1 / 4) I/O 汎用 I/O ポート 回路の種類 PJ4 I/O PJ4 A ポート J4 4 PJ5 I/O PJ5 A ポート J5 5 PJ6 I/O PJ6 A ポート J6 6 PJ7 I/O PJ7 A ポート J7 7 PI3 I/O PI3 A ポート I3 8 VDD 9 VSS 10 PM0 I/O PM0 A ポート M0 11 PM1 I/O PM1 A ポート M1 12 SDA I/O PM2 Y I2C SDA ( 内部 pull-up なし ) 13 SCL I/O PM3 Y I2C SCL ( 内部 pull-up なし ) 14 VDD 15 VSS 16 AVRH R アナログ基準電圧 "H" 17 AVCC 18 AVSS/AVRL 19 AN0 I/O PH0 B ADC0 入力 20 AN1 I/O PH1 B ADC1 入力 21 AN2 I/O PH2 B ADC2 入力 22 AN3 I/O PH3 B ADC3 入力 23 AN4 I/O PH4 B ADC4 入力 24 AN5 I/O PH5 B ADC5 入力 25 AN6 I/O PH6 B ADC6 入力 26 AN7 I/O PH7 B ADC7 入力 27 X0A I I 32 kHz 発振用端子 (MB91F368GB) 端子番号 端子名 1 VDD 2 VSS 3 アナログ VCC アナログ基準電圧 "L"/ アナログ VSS N.C. 28 X1A 未接続 (MB91F367GB) O I N.C. 58 機能 32 kHz 発振用端子 (MB91F368GB) 未接続 (MB91F367GB) 29 ALARM I D 30 VSS アラーム比較器入力 31 BOOT I/O A ブート端子 ( 注意事項参照 ) 32 TESTX I E テストモード端子 33 CPUTESTX I E テストモード端子 P93 第 1 章 MB91360 シリーズの概要 表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (2 / 4) I/O 汎用 I/O ポート 端子番号 端子名 回路の種類 機能 34 VDD 35 X0 I H 4 MHz 発振用端子 36 X1 O H 4 MHz 発振用端子 37 VSS 38 MONCLK O G クロック出力 39 INT0 I/O PK0 A 外部割込み 0 40 INT1 I/O PK1 A 外部割込み 1 41 INT2 I/O PK2 A 外部割込み 2 42 INT3 I/O PK3 A 外部割込み 3 43 INT4 I/O PK4 A 外部割込み 4 44 INT5 I/O PK5 A 外部割込み 5 45 INT6 I/O PK6 A 外部割込み 6 46 INT7 I/O PK7 A 外部割込み 7 47 VDD 48 VCC3C 49 VSS 50 IN0 I/O PL0 A ICU0 入力 51 IN1 I/O PL1 A ICU1 入力 52 IN2 I/O PL2 A ICU2 入力 53 IN3 I/O PL3 A ICU3 入力 54 OUT0 I/O PL4 A OCU 出力 0 55 OUT1 I/O PL5 A OCU 出力 1 56 VDD 57 MD0 I T モード端子 0 58 MD1 I T モード端子 1 59 MD2 I T モード端子 2 60 INITX I U 初期化端子 61 VDD 62 VSS 63 SOT4 I/O PN0 A SIO4 出力 64 SIN4 I/O PN1 A SIO4 入力 65 SCK4 I/O PN2 A SIO4 クロック 66 SIN3 I/O PN3 A SIO3 入力 67 SOT3 I/O PN4 A SIO3 出力 68 SCK3 I/O PN5 A SIO3 クロック 69 VSS 70 OCPA0 I/O PO0 A PPG 出力 0 71 OCPA1 I/O PO1 A PPG 出力 1 内部電源電圧端子 内部電源用コンデンサ端子 内部電源電圧端子 内部電源電圧端子 59 第 1 章 MB91360 シリーズの概要 表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (3 / 4) 60 端子番号 端子名 I/O 汎用 I/O ポート 回路の種類 72 OCPA2 I/O PO2 A PPG 出力 2 73 OCPA3 I/O PO3 A PPG 出力 3 74 PO4 I/O PO4 A ポート O4 75 PO5 I/O PO5 A ポート O5 76 PO6 I/O PO6 A ポート O6 77 PO7 I/O PO7 A ポート O5 78 TX0 I/O PP0 Q CAN0 TX 出力 79 RX0 I/O PP1 Q CAN0 RX 出力 80 TX1 I/O PP2 Q CAN1 TX 出力 81 RX1 I/O PP3 Q CAN1 RX 出力 82 VDD 83 VSS 84 SIN0 I/O PQ0 A UART0 入力 85 SOT0 I/O PQ1 A UART0 出力 86 PQ2 I/O PQ2 A ポート Q2 87 PQ3 I/O PQ3 A ポート Q3 88 PG0 I/O PG0 A ポート G0 89 PG1 I/O PG1 A ポート G1 90 PG2 I/O PG2 A ポート G2 91 PG3 I/O PG3 A ポート G3 92 PG4 I/O PG4 A ポート G4 93 PG5 I/O PG5 A ポート G5 94 VDD 95 VSS 96 PR0 I/O PR0 K ポート R0 97 PR1 I/O PR1 K ポート R1 98 PR2 I/O PR2 K ポート R2 99 PR3 I/O PR3 M ポート R3 100 HVDD 101 PR4 I/O PR4 K ポート R4 102 PR5 I/O PR5 K ポート R5 103 PR6 I/O PR6 K ポート R6 104 PR7 I/O PR7 M ポート R7 105 VSS 106 PS0 I/O PS0 K ポート S0 107 PS1 I/O PS1 K ポート S1 108 PS2 I/O PS2 K ポート S2 109 PS3 I/O PS3 M ポート S3 機能 ポート R, ポート S 用 VDD 第 1 章 MB91360 シリーズの概要 表 1.6-6 MB91F367GB/F368GB の入出力端子とその機能 (4 / 4) I/O 汎用 I/O ポート 端子番号 端子名 110 HVDD 111 PS4 I/O PS4 K ポート S4 112 PS5 I/O PS5 K ポート S5 113 PS6 I/O PS6 K ポート S6 114 PS7 I/O PS7 M ポート S7 115 VSS 116 VDD 117 PJ0 I/O PJ0 A ポート J0 118 PJ1 I/O PJ1 A ポート J1 119 PJ2 I/O PJ2 A ポート J2 120 PJ3 I/O PJ3 A ポート J3 ( 注意事項 ) 回路の種類 機能 ポート R, ポート S 用 VDD 端子 31 (BOOT) は , デフォルトで "L" になっていなければなりません ( プルダウン抵抗 ) 。 リセット / ブート時のディスターバンスを回避するため , いかなる用途においても , この 端子は出力としてのみ使用することを推奨します。 61 第 1 章 MB91360 シリーズの概要 ■ 回路の種類 表 1.6-7 に , 回路の種類とその説明を示します。 表 1.6-7 回路の種類 回路の種類 A 入出力 , IOH=-4mA/IOL=4mA, CMOS オートモーティブシュミットトリガ入力 , B 入出力 , IOH=-4mA/IOL=4mA, CMOS オートモーティブシュミットトリガ入力 , STOP 制御 アナログ入力 , STOP 制御 C アナログ出力 D アナログ入力 E CMOS シュミットトリガ入力 , 50kΩ プルアップ抵抗 F CMOS シュミットトリガ入力 G トライステート出力 , IOH=-4mA/IOL=4mA H 4 MHz Oscillator Pin I 32 kHz Oscillator Pin J 入出力 , IOH=-14mA/IOL=24mA, CMOS オートモーティブシュミットトリガ入力 , STOP 制御 (LED) K 入出力 , IOH=-30mA/IOL=30mA, CMOS オートモーティブシュミットトリガ入力 , L 入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 (5V または 3V 入力 ) M 入出力 , IOH=-30mA/IOL=30mA, CMOS オートモーティブシュミットトリガ入力 , N 入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , 50kΩ プルダウン抵抗 (5V または 3V 入力 ) O CMOS 入力 , 50kΩ プルダウン抵抗 (5V または 3V 入力 ) P CMOS 入力 ; 3V 入力 Q 入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , STOP 制御 Q1 入出力 , IOH=-8mA/IOL=8mA, CMOS 入力 , STOP 制御 R AVRL/AVRH 入力 S 入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , STOP 制御 , 10kΩ プルアップ抵抗 T CMOS 入力 , フラッシュプログラミングに対して高耐圧入力 U CMOS オートモーティブシュミットトリガ入力 , 50kΩ プルアップ抵抗 , コアへの 3.3V, および 5V 入力 W 入出力 , IOH=-4mA/IOL=4mA, CMOS 入力 , 3V 入力 X トライステート出力 , IOH=-4mA/IOL=4mA, 3V Y 入出力 , IOH=-3mA/IOL=3mA(I2C), CMOS 入力 , STOP 制御 YA 62 説明 STOP 制御 , EMC 用に改良されたスルーレート (SMC) アナログ入力 , STOP 制御 , EMC 用に改良されたスルーレート (SMC) 入出力 , IOH=-3mA/IOL=3mA(I2C), CMOS シュミットトリガ入力 , STOP 制御 第 1 章 MB91360 シリーズの概要 1.7 入出力回路の種類 表 1.7-1 に , 表 1.6-7 で示した入出力回路の詳細を示します。 ■ 入出力回路の種類 表 1.7-1 入出力回路の種類 (1 / 6) 形式 回路の種類 備考 A P デジタル出力 N デジタル出力 R • 入出力 , CMOS オートモーティブ シュミットトリガ入力 , STOP 制御 , IOH=-4mA, IOL=4mA V SS デジタル入力 ストップ制御 B アナログ入力 R P デジタル出力 N デジタル出力 R • 入出力 , CMOS オートモーティブ シュミットトリガ入力 , アナログ入力 , STOP 制御 , IOH=-4mA, IOL=4mA V SS デジタル入力 ストップ制御 C • アナログ出力 V CC P N V SS アナログ出力 63 第 1 章 MB91360 シリーズの概要 表 1.7-1 入出力回路の種類 (2 / 6) 形式 回路の種類 備考 D • アナログ入力 VCC P N R VSS アナログ入力 E V CC VCC P • CMOS シュミットトリガ入力 , 50kΩ プルアップ P N R VSS VSS デジタル入力 F • CMOS シュミットトリガ入力 V CC P N R VSS デジタル入力 G • トライステート出力 , IOH=-4mA, IOL=4mA VCC P デジタル出力 N デジタル出力 V SS H • 4 MHz 発振器端子 X1 クロック入力 X0 ストップ制御 64 第 1 章 MB91360 シリーズの概要 表 1.7-1 入出力回路の種類 (3 / 6) 形式 回路の種類 備考 I • 32 kHz 発振器端子 X1A クロック入力 X0A ストップ制御 J P R デジタル出力 N • 入出力 , CMOS シュミットトリガ入力 , STOP 制御 (LED), IOH=-12mA, IOL=24mA デジタル出力 V SS デジタル入力 ストップ制御 K R P デジタル出力 N デジタル出力 • 入出力 , CMOS シュミットトリガ入力 , STOP 制御 (SMC), IOH=-30mA, IOL=30mA • 代表的スルーレート 40ns V SS デジタル入力 ストップ制御 L V CC R P デジタル出力 N デジタル出力 • 入出力 , CMOS 入力 (5V または 3V 入 力 ), IOH=-4mA, IOL=4mA V SS デジタル入力 65 第 1 章 MB91360 シリーズの概要 表 1.7-1 入出力回路の種類 (4 / 6) 形式 回路の種類 備考 M アナログ入力 R P デジタル出力 • 入出力 , CMOS オートモーティブ シュミットトリガ入力 , アナログ入力 , STOP 制御 (SMC), IOH=-30mA, IOL=30mA • 代表的スルーレート 40ns N R デジタル出力 V SS デジタル入力 ストップ制御 N デジタル入力 V CC R N P デジタル出力 N デジタル出力 • 入出力 , CMOS 入力 , 50kΩ プルダウン 抵抗 (5V または 3V 入力 ), IOH=-4mA, IOL=4mA V SS O デジタル入力 V CC V CC R P N N V SS V SS P • CMOS 入力 (3V 入力 ) V CC P N R V SS デジタル入力 66 • CMOS 入力 , 50kΩ プルダウン抵抗 (5V または 3V 入力 ) 第 1 章 MB91360 シリーズの概要 表 1.7-1 入出力回路の種類 (5 / 6) 形式 回路の種類 備考 Q/Q1 P デジタル出力 N デジタル出力 R • Q : 入出力 , CMOS 入力 , STOP 制御 , IOH=-4mA, IOL=4mA • Q1: 入出力 , CMOS 入力 , STOP 制御 , IOH=-8mA, IOL=8mA VSS デジタル入力 ストップ制御 S Vcc P R P デジタル出力 N デジタル出力 • 入出力 , CMOS 入力 , STOP 制御 , 10kΩ プルアップ抵抗 , IOH=-4mA, IOL=4mA Vss デジタル入力 ストップ制御 T • CMOS 入力 • フラッシュプログラミングに対して 高耐圧入力 制御信号 MD入力 R U V CC V CC P P • CMOS シュミットトリガ入力 , 50kΩ プルアップ抵抗 , コアへの 3.3V, および 5V 入力 N R V SS VSS デジタル入力 67 第 1 章 MB91360 シリーズの概要 表 1.7-1 入出力回路の種類 (6 / 6) 形式 回路の種類 備考 W • 入出力 , CMOS 入力 (3V 入力 ) 3V P デジタル出力 N デジタル出力 R VSS デジタル入力 X • トライステート出力 (3V) 3V P デジタル出力 N デジタル出力 VSS Y P デジタル出力 N デジタル出力 R • I2C モードでは , オープンドレイン 出力として動作する入出力 , CMOS 入力 , STOP 制御 , IOH=-3mA, IOL=3mA V SS デジタル入力 ストップ制御 YA R P デジタル出力 N デジタル出力 • I2C モードでは , オープンドレイン 出力として動作する入出力 , CMOS シュミットトリガ入力 , STOP 制御 , IOH=-3mA, IOL=3mA V SS デジタル入力 ストップ制御 ( 注意事項 ) 68 回路の種類に使用するシンボル ( 全回路図に共通 ) P: P チャネルトランジスタ N: N チャネルトランジスタ R: 拡散抵抗 第 1 章 MB91360 シリーズの概要 1.8 メモリ空間 FR50 シリーズの論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアに アクセスできます。 ■ MB91360 シリーズのメモリマップ 図 1.8-1 に , MB91360 シリーズのメモリ空間を示します。 図 1.8-1 MB91360 シリーズのメモリマップ 0000 0000 H バイトデータ I/O 0000 0100 H ハーフワードデータ I/O ダイレクトアドレッシング領域 0000 0200 H ワードデータ I/O 0000 0400 H その他のI/O 0000 0800 H ~ ~ 000F FC00 H 初期ベクタテーブル領域 000F FFFF H ~ ~ FFFF FFFFH ● ダイレクトアドレッシング領域 アドレス空間の下記の領域は , I/O 用に使用されるダイレクトアドレッシング領域で す。これらの領域内のアドレスは , 命令中で直接オペランドのアドレスを指定できま す。 ダイレクト領域は , アクセスするデータのサイズによって , 次のように異なります。 • バイトデータのアクセス : 000H ∼ 0FFH • ハーフワードデータのアクセス : 000H ∼ 1FFH • ワードデータのアクセス : 000H ∼ 3FFH 69 第 1 章 MB91360 シリーズの概要 1.9 デバイスの取扱いについて 本デバイスの使用時に守るべきいくつかの注意点について説明します。 ■ デバイス取扱い上の注意事項 ● ラッチアップの防止 CMOS IC でラッチアップが発生するのは , 以下のいずれかの場合です。 • VDD より高い , あるいは VSS より低い電圧が , 入力端子または出力端子に印加され た場合 • VDD と VSS の間に定格を超える電圧を印加した場合 ラッチアップが発生すると , 電源電流が急激に増加して , 回路素子の熱破壊に至ること があります。したがって , 最大定格を超えて回路が動作することがないように注意して ください。 ● 未使用端子の接続 未使用の入力端子を未接続のままにしておくと , 誤作動またはラッチアップ , およびデ バイスの致命的な損傷が発生する場合があります。未使用の端子は抵抗を通して VDD またはVSSに接続する必要があります。この場合の抵抗は, 2kΩを超えるものとします。 未使用の双方向端子は , 出力状態に設定すれば未接続のままにしておくことができま す。入力状態に設定する場合は , 上述のように接続します。 2kΩ を超える抵抗は , 保護ダイオードを通って流れる電流を制限するために使用しま す。未使用端子の電圧が VSS -0.3V 以下または VDD +0.3V 以上を超える場合は , ラッ チアップの原因となる電流が保護ダイオードを通じて流れます。 ● 外部リセット入力 INITX 端子に "L" レベルを入力する場合は , 発振回路の発振が安定するまで , この "L" レベルを INITX 端子で保持してください。INITX は , 4 MHz の発振クロックで最低 8 サイクルの間 , "L" レベルで保持する必要があります。また Flash 品の場合は , 500ns 以 上の "L" パルス幅を入力してください。 ● 電源端子 すべての VDD 端子は同じ電位に接続するものとします ( 例外として , MB91F362GB お よび MB91F369GA における外部バスインタフェースがあります )。アナログ供給電圧 (AVCC) は , デジタル供給電圧より先にオンにしないでください。外部バスインタ フェースが 3.3V で供給される場合は , 5V デジタル電圧のスイッチをオンにする前にこ の電圧をオンにしないでください。外部バスインタフェースへの供給電圧のスイッチ をオフにする場合は ( トライステートではなくプルダウン ), 関連するすべての信号が , このプルダウン供給以下の電圧であることを確認してください。 VDD 端子または VSS 端子が複数ある場合は , すべての VDD 端子 , および VSS 端子を , 必ず電源またはグランドに , 外部接続してください。ラッチアップのような誤作動を防 止するため, 同電位の端子はデバイス内部で互いに接続する設計になっていますが, すべ ての VDD 端子 , および VSS 端子を外部接続することによって , 好ましくない放射を最小 70 第 1 章 MB91360 シリーズの概要 限に抑え, グランドレベルの上昇によるストローブ信号の誤作動を防止し, 総出力電流を 定格内に保つことができます。 また, VDD, およびVSSはできるだけ低インピーダンスで電流源に接続するようにして ください。 デバイスに近い VDD と VSS の間に約 0.1µF のセラミックバイパスコンデンサを接続 することをお勧めします。 MB91360 シリーズは , レギュレータを内蔵しています。本デバイスを 5V 電源で使用 する場合は , 5V 電源を VDD 端子に供給し , レギュレータ用に , 必ず , VCC3C 端子の 10nF と並行に 10µF のバイパスコンデンサを接続してください。 図 1.9-1 に , 電源接続の例を示します。 図 1.9-1 電源接続の例 [5V電源での使用] 5V V DD 5V AV CC VCC3C AVRH 10 nF 10µF AV SS V SS GND ● 水晶発振回路 X0 端子 , およびX1端子の近辺のノイズはデバイスの誤作動の原因になります。X0, X1, 水晶発振子 ( またはセラミック発振子 ), およびグランドへのバイパスコンデンサが , で きるだけデバイスに近くなるように , 回路基板を設計してください。 X0 端子と X1 端子をグランドで囲むようにプリント回路板を設計すると動作が安定し ます。この設計を強く推奨します。 ● 外部クロックの使用 外部クロックを使用するには , X0 端子のみを駆動し , X1 端子を開放します。 次のダイヤグラムは , 外部クロックの使用方法を示しています。 図 1.9-2 外部クロックの使用方法 MB91360 シリーズ X0 X1 71 第 1 章 MB91360 シリーズの概要 ● モード端子 モード端子 (MD0 ∼ MD2) は直接 VDD または VSS に接続してください。 ノイズの影響でデバイスが誤ってテストモードに入るのを防止するために , プリント 回路板のレイアウトは , モード端子と VDD または VSS との接続パターン長が最短にな るように , かつ , 低インピーダンス接続となるようにしてください。 ● 電源投入時 電源投入の直後には , 常に INITX 端子で INIT を実行してください (INITX 端子で "L" レベルで起動 )。INITX 端子の低レベルの解放後 , また組込み待ち時間の経過後 , 発振 回路の発振が安定するまで , この低レベルを INITX 端子で保持してください。 アナログ供給電圧 (AVCC) は , デジタル供給電圧より先にオンにしないでください。外 部バスインタフェースが 3.3V で供給される場合は , 5V デジタル電圧のスイッチをオン にする前にこの電圧をオンにしないでください。 ● 電源投入時の状態 電源投入時 , 最小動作電圧まで到達していない場合 , 出力端子のレベルは保証されませ ん。 ● PLL クロックモード動作中の注意について 本マイコンで PLL クロックを選択しているとき , 発振子が外れたり , あるいはクロッ ク入力が停止したりした場合 , 本マイコンは PLL 内部の自励発振回路の自走周波数で 動作を継続し続ける場合があります。この動作は保証外の動作です。 ● ウォッチドッグタイマ機能について 本品種が備えているウォッチドッグ機能は , プログラムが一定時間内にリセット延期動 作を行うことを監視し , プログラムの暴走によりリセット延期動作が行われなかった ときに , CPU をリセットするための機能です。そのため , いったんウォッチドッグタイ マ機能を有効にすると , リセットを行うまで動作を続けます。 例外として , CPU のプログラム実行が停止する条件では自動的にリセット延期を行い ます。この例外にあてはまる条件については , ウォッチドッグタイマの機能説明の項を 参照してください。 なお , システムの暴走により上記の状態となってしまった場合 , ウォッチドッグリセッ トが発生しない可能性があります。その場合 , 外部 INITX 端子よりリセット (INIT) を 行ってください。 72 第2章 CPU FR50 ファミリ CPU コアのアーキテクチャ , 仕様 と命令などの機能に関する重要な情報について説 明します。 2.1 CPU アーキテクチャ 2.2 CPU ハードウェア構造 2.3 FR50 の内部アーキテクチャ 2.4 プログラミングモデル 2.5 データ構造 2.6 メモリマップ 2.7 命令 2.8 EIT( 例外 , 割込み , トラップ ) 2.9 リセット ( デバイスの初期化 ) 2.10 動作モード 73 第 2 章 CPU CPU アーキテクチャ 2.1 FR50 CPU は , RISC アーキテクチャを有する高性能 CPU コアです。この CPU は埋 込みアプリケーションに対して適切な , より高レベルな命令を特長としています。 ■ 特長 ● RISC アーキテクチャ 基本命令は 1 命令 / サイクルで実行されます (5 段階パイプラインを使用した高速処理 )。 ● 32 ビットアーキテクチャ 汎用レジスタ : 16×32 ビット ● 4G バイトのリニアなメモリ空間 ● 乗算器の搭載 32 ビット ×32 ビット乗算 : 5 サイクル 16 ビット ×16 ビット乗算 : 3 サイクル ● 割込処理機能の強化 高速応答速度 (6 サイクル ) 多重割込みをサポート レベルマスク機能 (16 レベル ) ● I/O 操作用命令の強化 メモリ間転送命令 ビット操作命令 ● 高いコーディング効率 基本命令ワード長 : 16 ビット ● 低電力消費 スリープモードと停止モード 74 第 2 章 CPU ■ FR50 CPU 仕様 表 2.1-1 に , FR50 CPU の仕様を示します。 表 2.1-1 FR50 CPU 仕様 パラメータ クロック 仕様 64 MHz まで ( 装置に依存 ) 最短命令実行時間 1 クロック パイプライン段階 5 段階 インターロック制御 内部ハードウェアによる自動パイプラインインターロック制御 内部バス Harvard バス , 命令 / データ : 16 ビット /32 ビット データ長 4 ビット , 8 ビット , 16 ビット , 32 ビット メモリ空間 4G バイト (232) レジスタ数 汎用レジスタ R0 ∼ R15: 16×32 ビット 専用レジスタ PC : 32 ビット プログラムカウンタ PS : 32 ビット プログラムステータス TBR : 32 ビット 割込みベクタテーブル RP : 32 ビット 戻りアドレスを記憶 SSP : 32 ビット システムスタック (R15 と共有 ) USP : 32 ビット ユーザスタック (R15 と共有 ) MDH : 32 ビット 乗算 , および除算データ MDL : 32 ビット 乗算 , および除算データ 命令数 165 命令 命令長 16 ビット ( 固定 )( 即値命令を除く ) 特殊命令 例外 割込みレベル 割込み応答時間 プロセス 電源 乗算命令 : 32 ビット ×32 ビット= 64 ビット , 5 サイクル , 符号付きまたは符号なし 16 ビット ×16 ビット= 32 ビット , 3 サイクル , 符号付きまたは符号なし 除算命令 : 32 ビット /32 ビット= 32 ビット , 段階的演算 バレルシフト命令 : 指定されたビット数を 1 クロック内でシフト可能 ビット操作命令 : メモリ上で論理演算を実施して結果をメモリに転送します。 遅延分岐命令 : コンパイラにより自動的に選択されます。 マルチレジスタ保持 , および復帰命令 動的変数の保持 , および解除の命令 セマフォ制御に対するバイトデータスワップ命令 メモリ間転送命令 高レベル内部周辺回路アクセス命令 リセット , INT 命令 , 予備命令の例外 , マスク可能割込み , NMI 16 レベル ( マスク可能割込み ) 6 クロック 0.35µm 5V/ 内部電圧レギュレータが 3.3V の内部電源を発生します。 75 第 2 章 CPU 2.2 CPU ハードウェア構造 ここでは , FR50 CPU のブロックダイヤグラムと , CPU 機能の概略を示します。 ■ CPU ブロックダイヤグラム 図 2.2-1 に , FR50 CPU のブロックダイヤグラムを示します。 図 2.2-1 CPU ブロックダイヤグラム 32 ビット データバス PC *2 *1 乗算器 ALU バレル シフタ PS R0 R1 TBR MDH MDL RP SSP USP 専用レジスタ *1: 32 ビット×3 2 ビット:5 クロックサイクル 1 6 ビット×1 6 ビット:3 クロックサイクル *2: バレルシフトは 1 サイクルが必要です。 R15 汎用レジスタ PC :プログラムカウンタ PS :プログラムステータス TBR :テーブルベースレジスタ RP :リターンポインタ SSP :システムスタックポインタ USP :ユーザスタックポインタ MDH/MDL :乗除算結果レジスタ ■ CPU 機能説明 ● 内部バス構造 内部データバスの幅は 32 ビットです。32 ビット演算は 1 クロックサイクルで実行する ことができます。 命令アドレス (32 ビット ) と命令データ (16 ビット ), データアドレス (32 ビット ) とデー タ (32 ビット ) バスは , Harvard バスインタフェース構造になっています。 76 第 2 章 CPU ● レジスタ 汎用レジスタは , R0 ∼ R15(16×32 ビットレジスタ ) で構成されています。 専用レジスタは , プログラムカウンタ (PC), プログラムステータス (PS), テーブルベー スレジスタ (TBR), リターンポインタ (RP), システムスタックポインタ (SSP), および ユーザスタックポインタ (USP) で構成されています。専用レジスタはすべて 32 ビット です。 乗除算結果レジスタ MDH(32 ビット ) と MDL(32 ビット ) も提供されています。これ らのレジスタは , 64 ビット乗算結果 , 除算結果除数と , 結果の余りと商を記憶します。 汎用レジスタ R13 は仮想アキュムレータとして , R14 は特殊命令のフレームポインタ として使用されます。R15 はプログラム内で SSP または USP として機能するように選 択することができます。 ● バレルシフタ バレルシフタは , 32 ビットデータ上で指定された数のビットシフトを 1 クロックサイ クルで実行することが可能です。 バレルシフタは 2 の累乗の定数を含む乗算 , 除算 , 平均と , 同様の計算で使用されます。 ● ALU ALU は , 32 ビット演算 , 論理演算と乗算と除算などの演算に使用されます。 ● 乗算器 本 CPU の乗算器は , 32 ビット ×32 ビット整数乗算器回路です。64 ビット結果は MDH と MDL に記憶されます。 ● 書込みバッファ 本 CPU は , 2 段階データ記憶バッファを含んでいます。 ● 遅延分岐 本 CPU のコンパイラは , 自動的に遅延分岐命令を選択します。 ● 割込み制御 本 CPU のプログラムは , 6 クロックサイクルで割込みベクタアドレスに分岐できます。 77 第 2 章 CPU 2.3 FR50 の内部アーキテクチャ FR50 CPU は , データと命令バスが独立しているという Harvard アーキテクチャを 有しています。 オンチップ命令キャッシュは , 命令バス (I- バス ) に接続されています。データバス (D- バス ) はデータ RAM に接続しています。Harvard バス /Princeton バスコンバー タは I- バスと D- バスの両方に接続され , CPU, バスコントローラと 32 ビット− 16 ビットバスコンバータ間のインタフェースとして動作します。 ■ MB91360 シリーズの内部アーキテクチャ 図 2.3-1 に , MB91360 シリーズの内部アーキテクチャを示します。 図 2.3-1 FR50 の内部アーキテクチャ FR50 CPU Dバス Iアドレス 命令 キャッシュ Iデータ データRAM Iバス 32 32 Dアドレス 32 Dデータ 32 アドレス 32 データ 32 32-ビット 16-ビット バス コンバータ Harvard Princeton バス コンバータ 16 Rバス バスコントローラ 周辺回路 78 第 2 章 CPU ■ CPU パイプライン演算 本 CPU は , 32 ビット RISC の FR50 アーキテクチャをコンパクトに実現しています。 1 命令 / サイクルを実行するために , 5 段階のパイプライン方式を採用しています。パ イプラインは以下のステップから構成されています。 ● 命令フェッチ (IF): 命令アドレスを出力して命令をフェッチします。 ● 命令デコード (ID): フェッチした命令をデコードします。レジスタの読出しも行います。 ● 実行 (EX): 演算を実行します。 ● メモリアクセス (MA): メモリロードまたはストアのアクセスを実行します。 ● ライトバック (WB): 演算結果 ( またはロードされたメモリデータ ) をレジスタに書き込みます。 図 2.3-2 に , 命令パイプラインの構造を示します。 図 2.3-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 命令 / サイクルです。ただし , メモリウェイトを伴った ロードストア命令 , 遅延スロットのない分岐命令 , およびマルチサイクル命令は , 実行 するのに2サイクル以上必要です。命令実行速度も, 命令の供給が遅ければ低下します。 ■ 命令キャッシュ オンチップ命令キャッシュにより , 外部高速メモリとその関連制御ロジックを付加せ ずに , 高性能なシステムを実現できます。外部バス速度が遅い場合にも , CPU への命令 供給を高速に行うことができます。 命令キャッシュの詳細については , 「第 3 章 命令キャッシュ」を参照してください。 79 第 2 章 CPU ■ 32 ビット←→ 16 ビットバスコンバータ CPU コアと , 16 ビット幅でアクセスされる R-bus とのインタフェースを行い , CPU か ら内蔵周辺回路へのデータアクセスを実現します。 CPU から 32 ビット幅のアクセスが発生した場合 , このバスコンバータがそれを 2 回の 16 ビット幅アクセスに変換して R-bus へのアクセスを行います。内蔵周辺回路によっ てはアクセス幅に関して制限があるものがあります。 ■ Harvard ←→ Princeton バスコンバータ Harvard ←→ Princeton バスコンバータは , CPU 命令とデータバスのアクセスの整合を とり , 外部バスに対して円滑なインタフェースを提供します。 CPU は , 命令バスとデータバスが独立した Harvard アーキテクチャ構造です。 一方 , 外部バスを制御するバスコントローラは , 単一バスの Princeton アーキテクチャ 構造です。バスコンバータは , CPU の命令アクセスとデータアクセスして優先順位を 付け , バスコントローラへのアクセスの制御を行います。この機能により外部バスのア クセス順序が常に最適化されたものとなります。 CPU がバス上で待機する時間をなくすため , 命令フェッチに , 2 ワード書込みバッファ と 1 ワードプリフェッチバッファが提供されます。 80 第 2 章 CPU 2.4 プログラミングモデル プログラミングで使用される主要 CPU レジスタを説明します。 CPU には次の 2 つのタイプのレジスタがあります。 • 汎用レジスタ ( 図 2.4-1 ) • 専用レジスタ ( 図 2.4-2 ) ■ 汎用レジスタ 図 2.4-1 汎用レジスタ 32 ビット R0 ..... ......... R1 R12 R13 AC R14 FP R15 SP ■ 専用レジスタ 図 2.4-2 専用レジスタ 32 ビット プログラムカウンタ PC プログラムステータス PS テーブルベースレジスタ TBR リターンポインタ RP システムスタックポインタ SSP ユーザスタックポインタ USP 乗除算結果レジスタ MDH − ILM − SCR CCR MDL 81 第 2 章 CPU 2.4.1 汎用レジスタ 汎用レジスタは R0 ∼ R15 で構成される CPU レジスタです。レジスタは , 演算に対 するアキュムレータ , およびメモリアクセスに対するポインタ ( アドレスを示す フィールド ) として使用されます。ユーザは汎用レジスタの使用目的を指定するこ とができます。 ■ 汎用レジスタの構造 図 2.4-3 に , 汎用レジスタの構造を示します。 図 2.4-3 汎用レジスタの構造 32 ビット 初期値 ..... ......... R1 R12 ••••••••• XXXX XXXXH R0 R13 AC ( アキュムレータ ) R14 FP ( フレームポインタ ) XXXX XXXXH R15 SP ( スタックポインタ ) 0000 0000H 16 ある汎用レジスタの中でも次のレジスタは特殊な目的を想定しており , そのために 一部の命令が強化されています。 • R13: 仮想アキュムレータ (AC) • R14: フレームポインタ (FP) • R15: スタックポインタ (SP) リセット後の R0 ∼ R14 の初期値は不定です。R15 の初期値は 00000000H(SSP 値 ) です。 82 第 2 章 CPU 2.4.2 専用レジスタ 専用レジスタは , それぞれ特別の用途に使用されるレジスタです。専用レジスタに は , 以下の 7 種のレジスタがあります。 • プログラムカウンタ (PC) • プログラムステータス (PS) • テーブルベースレジスタ (TBR) • リターンポインタ (RP) • システムスタックポインタ (SSP) • ユーザスタックポインタ (USP) • 乗除算結果レジスタ (MDH/MDL) ■ 専用レジスタの構造 図 2.4-4 に , 専用レジスタの構造を示します。 図 2.4-4 専用レジスタの構造 32 ビット 初期値 プログラムカウンタ PC プログラムステータス PS XXXX XXXXH テーブルベースレジスタ TBR 000F FC00H リターンポインタ RP XXXX XXXXH システムスタックポインタ SSP 0000 0000H ユーザスタックポインタ USP XXXX XXXXH 乗除算結果レジスタ MDH XXXX XXXXH MDL XXXX XXXXH ■ 専用レジスタの種類 ● プログラムカウンタ (PC) プログラムカウンタ (PC) は , 現在実行されている命令のアドレスを示しています。 命令の実行を伴う PC の更新時に , bit0 は "0" に設定されます。分岐指定アドレスとし て奇数番号アドレスが指定された場合のみ bit0 の値は "1" になります。 ただし , その場合でも bit0 は無効であり , 命令は 2 の倍数であるアドレスに置く必要が あります。 リセット後の初期値は不定です。 83 第 2 章 CPU ● プログラムステータス (PS) プログラムステータスを保持するレジスタで , CCR, SCR, および ILM の 3 つのパート から構成されています。詳細は , 「2.4.3 プログラムステータスレジスタ (PS)」を参照 してください。 未定義のビットはすべて予約ビットであり , 常に "0" が読み出されます。書込みは無効 です。 ● テーブルベースレジスタ (TBR) テーブルベースレジスタ (TBR) は , EIT 処理に使用されるベクタテーブルのトップアド レスを保持します。 リセットにより 000FFC00H に初期化されます。 ● リターンポインタ (RP) リターンポインタ (RP) は , サブルーチンからの復帰するアドレスを保持します。 CALL 命令を実行すると PC の値が RP に転送されます。 RET 命令を実行すると RP の内容が PC に転送されます。 リセット後の初期値は不定です。 ● システムスタックポインタ (SSP) システムスタックポインタ (SSP) は , S フラグが "0" の場合に R15 として機能します。 SSP を明示的に指定することも可能です。 また , EIT が発生した場合に PS と PC を退避するスタックとして指定するスタックポ インタとして使用することもできます。 リセットにより 00000000H に初期化されます。 ● ユーザスタックポインタ (USP) ユーザスタックポインタ (USP) は , S フラグが "1" の場合にスタックポインタ (R15) と して機能します。 USP を明示的に指定することも可能です。 リセット後の初期値は不定です。 ● MDH/MDL: 乗除算結果レジスタ これらのレジスタは乗算と除算に使用されます。両レジスタとも 32 ビット長です。リ セット後の初期値は不定です。 乗算実行時 32 ビット ×32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除算 結果格納レジスタに格納されます。 MDH: 上位 32 ビット MDL: 下位 32 ビット 16 ビット ×16 ビットの乗算のときは , 以下のように結果が格納されます。 MDH: 不定 MDL: 結果 32 ビット 除算実行時 計算開始時 MDL に被除数を格納します。 DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果 が MDH と MDL に格納されます。 MDH: 剰余 MDL: 商 84 第 2 章 CPU プログラムステータスレジスタ (PS) 2.4.3 PS はプログラムステータスを保持するレジスタで , CCR, SCR, および ILM の 3 つ のパートから構成されています。定義されていないビットはすべて予約ビットであ り , 常に "0" が読み出されます。書込みは無効です。 ■ プログラムステータスレジスタ (PS) の構造 図 2.4-5 に , プログラムステータスレジスタ (PS) の構造を示します。 図 2.4-5 プログラムステータスレジスタ (PS) の構造 bit 31 20 16 10 ILM 8 7 0 SCR CCR CCR:コンディションコードレジスタ SCR:システムコンディションコードレジスタ ILM:割込みレベルマスク ■ コンディションコードレジスタ (CCR) ● CCR 構造 図 2.4-6 に , 状態コードレジスタの構造を示します。 図 2.4-6 状態コードレジスタの構造 bit 7 6 − − 5 S 4 I 3 N 2 Z 1 V 0 C 初期値 --00XXXXB ● CCR ビットの機能 [bit5] S: スタックフラグ R15 として使用されるスタックポイントを指定します。 値 内容 0 SSP が R15 として使用されます。 EIT 発生時自動的に "0" となります。 ただし , スタックに退避される値はクリアされる前の値です。 1 USP が R15 として使用されます。 リセットにより "0" にクリアされます。 85 第 2 章 CPU [bit4] I: 割込み許可フラグ ユーザ割込み要求の許可と禁止を制御します。 値 内容 0 ユーザ割込み禁止。 INT 命令実行時 "0" にクリアされます。 ただし , スタックに退避させる値はクリアされる前の値です。 1 ユーザ割込み許可。 ユーザ割込み要求のマスク処理は , ILM の保持する値により制御され ます。 リセットにより "0" にクリアされます。 [bit3] N: ネガティブフラグ 演算結果を 2 の補数で表現された整数とみなしたときの符号を示します。 値 内容 0 演算結果が正の値であったことを示します。 1 演算結果が負の値であったことを示します。 リセット後の初期値は不定です。 [bit2] Z: ゼロフラグ 演算結果が "0" であったかどうかを示します。 値 内容 0 演算結果が "0" 以外の値であったことを示します。 1 演算結果が "0" であったことを示します。 リセット後の初期値は不定です。 [bit1] V: オーバフローフラグ 演算結果にオーバフローが発生したかどうかを示します ( 演算で用いたオペランド を 2 の補数整数とで表現されるとみなした場合 )。 値 内容 0 演算結果でオーバフローが発生しなかったことを示します。 1 演算結果でオーバフローが発生したことを示します。 リセット後の初期値は不定です。 86 第 2 章 CPU [bit0] C: キャリーフラグ 演算により MSB からのキャリーまたはボローが発生したかどうかを示します。 値 内容 0 キャリーまたはボローのいずれも発生しなかったことを示します。 1 キャリーまたはボローが発生したことを示します。 リセット後の初期値は不定です。 ■ システムコンディションコードレジスタ (SCR) ● SCR 構造 図 2.4-7 に , システムコンディションコードレジスタの構造を示します。 図 2.4-7 システムコンディションコードレジスタの構造 bit 10 D1 9 D0 8 T 初期値 XX0B ● SCR ビットの機能 [bit10, bit9] D1, D0: ステップ除算用フラグ ステップ除算実行時の中間データを保持します。 除算処理の実行途中は , これらのビットを変更しないでください。 ステップ除算実行途中に他の処理を行う場合は , PS レジスタの値を退避・復帰する ことによりステップ除算の再開が保証されます。 リセット後の初期値は不定です。 DIV0S 命令の実行により , 被除数と除数を参照して設定されます。 DIV0U 命令の実行により , 強制的にクリアされます。 [bit8] T: ステップトレーストラップフラグ このフラグはステップトレーストラップを有効にするかどうかを指定します。 値 内容 0 ステップトレーストラップ無効。 1 ステップトレーストラップ有効。 これによりユーザ NMI とすべてのユーザ割込みが禁止となります。 リセットにより "0" に初期化されます。 ステップトレーストラップ機能はエミュレータが使用します。エミュレータ使用時 , ユーザプログラム中で使用することはできません。 87 第 2 章 CPU ■ 割込みレベルマスクレジスタ (ILM) ● ILM 構造 図 2.4-8 に , 割込みレベルマスクレジスタの構造を示します。 図 2.4-8 割込みレベルマスクレジスタの構造 bit 20 ILM4 19 ILM3 18 ILM2 17 ILM1 16 ILM0 初期値 01111B ● ILM ビットの機能 ILM レジスタは , 割込みレベルマスクの値を保持するレジスタで , ILM の保持する値が レベルマスクに使用されます。 CPU に入力される割込要求の中で対応する割込レベルが , この ILM で示されるレベル よりも強い場合にのみ割り込み要求が受け付けされます。 レベル 0(00000B) が最強で , レベル 31(11111B) が最弱です。 プログラムにより設定可能な値には制限があります。元の値が 16 ∼ 31 のとき , 新たな 値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行すると , (" 指定 値+ 16") という値が転送されます。 元の値が 0 ∼ 15 のときは , 0 ∼ 31 の任意の値が設定可能です。 リセットにより 15(01111B) に初期化されます。 88 第 2 章 CPU 2.5 データ構造 データは次のように FR50 で割り当てられます。 • ビットオーダリング : Little endian • バイトオーダリング : Big endian ■ ビットオーダリング FR50 では , ビットオーダリングとして , リトルエンディアンを採用しています。 ビットオーダリングにおいては , bit0 は最低位置に置かれ , bit1, bit2 などは順番に高い 位置に置かれます。 図 2.5-1 に , ビットオーダリングを示します。 図 2.5-1 ビットオーダリング bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 MSB ( 最上位ビット ) LSB ( 最下位ビット ) ■ バイトオーダリング FR50 では , バイトオーダリングとして , ビッグエンディアンを採用しています。 32 ビットデータに関し , バイトオーダリングはバイト 0 を最高位置に置き , バイト 3 を 最低位置に置きます。バイト 0 は最低アドレスに置かれ , バイト 1 はバイト 0 のアドレ ス+ 1 のようになります。 図 2.5-2 に , バイトオーダリングを示します。 図 2.5-2 バイトオーダリング メモリ アドレス アドレス アドレス アドレス n (n+1) (n+2) (n+3) bit 7 0 10101010 11001100 11111111 00010001 bit MSB 31 バイト 0 10101010 23 バイト 1 11001100 15 バイト 2 11111111 LSB 7 0 バイト 3 00010001 89 第 2 章 CPU 2.5.1 ワードアラインメント 命令とデータはバイトとしてアクセスされます。したがって , 命令またはデータが 配置されるアドレスは , 命令またはデータのサイズに依存します。ここでは , プログ ラムアクセスとデータアクセスに対するアドレス割当てについて述べます。 ■ プログラムアクセス FR50 は 16 ビット命令 ( 固定長 ) を使用しますので , プログラムは "2" の倍数であるア ドレスに配置しなければなりません。 命令実行の一部としてプログラムカウンタ (PC) を更新する場合 , PC の bit0 は "0" に設 定されます。分岐指定アドレスとして奇数アドレスが指定された場合のみ , bit0 は "1" の値を持つことができます。ただし , bit0 が "1" であっても , bit0 の値は無視されるの で , 命令は 2 の倍数であるアドレスに配置しなければなりません。奇数アドレスの例外 はありません。 ■ データアクセス FR50 におけるデータアクセスのアドレスはデータアクセスサイズに依存して , 次のよ うに強制的にアライメントされます。 • ワードアクセス : アドレスは 4 の倍数です ( 最下位の 2 ビットは強制的に "00")。 • ハーフワードアクセス : アドレスは 2 の倍数です ( 最下位ビットは強制的に "0")。 • バイトアクセス : ( 任意のアドレスが使用されます ) ワード , およびハーフワードのアクセス時に , 一部のビットが "0" に強制的に設定され るのは , 実効アドレスの計算結果に対してです。例えば , @(R13, Ri) アドレッシング モードでは , 加算前のレジスタ値は (LSB が "1" であったとしても ) そのまま計算に使 用され , 加算結果の LSB がマスクされます。計算で使用されたレジスタの値はマスク されません。 [ 例 ] LD @(R13, R2), R0 +) 加算の結果 R13 00002222H R2 00000003H 00002225H 最下位 2 ビットは, 強制的にマスク されます アドレス端子 90 00002224H 第 2 章 CPU メモリマップ 2.6 MB91360 シリーズメモリマップと FR50 ファミリの共通メモリマップを示します。 ■ MB91360 シリーズメモリマップ 図 2.6-1 に , MB91360 シリーズのメモリマップを示します。 図 2.6-1 MB91360 シリーズメモリマップ 00:0000 ダイレクト 00:03FF ダイレクト(ショート)アドレス: 0~0FF: バイトアクセス 0~1FF: ハーフワードアクセス(16 bit) 0~3FF: ワードアクセス(32 bit) I/O領域 内部メモリ領域 00:07FF 00:1000 00:1024 DMA 01:1000 01:1FFF I-RAM 03:C000 DバスRAM 03:FFFF 04:0000 04:3FFF 05:0000 05:07FF 08:0000 0F:4000 0F:FFFF 10:0000 10:07FF F364Gでは不可 128K 128K 128K 64K 16K 16K 32K 03:D000 ~ 03:FFFF(F362GB,F364G) FバスRAM 04:0000 ~ 04:0FFF(F362GB,F364G) ブート ROM 04:4000 ~ 04:47FF(F376G) フラッシュメモリ 04:4800 ~ 0F:FFFF(F376G) 0C:0000 ~ 0F:FFFF(F364G) ブートセクタ 固定リセットベクタ CAN 20:0000 ~ 20:03FF(F376G) 外部バスのCANのアドレスは,それぞれ CS7,およびCS1のチップ選択領域の設 定に依存します。 ここに示すアドレスは,ブートROMでの CS1とCS7の設定に対して有効です。 91 第 2 章 CPU ■ FR50 ファミリ共通メモリマップ 図 2.6-2 に , FR50 共通のメモリマップを示します。 アドレス空間は , 4G バイト (232 番地 ) の領域を持つ , 32 ビット線形ロジック空間です。 図 2.6-2 FR50 ファミリ共通メモリマップ 0000 0000H バイトデータ I/O 0000 0100H ハーフワードデータ I/O ダイレクトアドレス領域 0000 0200H ワードデータ I/O 0000 0400H その他の I/O 0000 0800H ~ ~ 000F FC00H ベクタテーブル初期領域 000F FFFFH ~ ~ FFFF FFFFH ● ダイレクトアドレッシング領域 アドレス空間の下記の領域は , ダイレクトアドレッシングでアクセスできる I/O 領域で す。オペランドアドレスは , 命令で直接指定することができます。 ダイレクトアドレス指定可能なアドレス領域のサイズは , アクセスされているデータ 長に依存します。 • バイトデータ (8 ビット ) : 0 ∼ 0FFH • ハーフワードデータ (16 ビット ) : 0 ∼ 1FFH • ワードデータ (32 ビット ) : 0 ∼ 3FFH ● ベクタテーブル初期領域 000FFC00H ∼ 000FFFFFH の領域は , EIT ベクタテーブル初期領域です。 EIT 処理で使用されるベクタテーブルは , テーブルベースレジスタ (TBR) を書き換える ことにより , ユーザ指定アドレスに設定することができます。ただし , リセットによる 初期化によってこのアドレスに配置されます。 内部ブート ROM 内のコード実行後 , TBR は 000FFC00H に設定されます。 92 第 2 章 CPU 命令 2.7 FR50 の命令セットは , これまでの RISC プロセッサ命令セットに対して容易に制御 できる CISC 型命令を追加します。この命令セットは , 埋込みアプリケーションに適 しており , 高級言語をサポートします。 ここでは , 命令セットの特長を記述し , 基本命令を列挙し , パイプライン演算のフ ローに大きな影響を持つ , 分岐命令 ( 遅延分岐命令 ) を説明します。 命令セットの詳しい説明については , 「付録 D 命令」と『FR ファミリ命令マニュ アル』を参照してください。 ■ 特長 ● 固定された 16 ビット命令長 ( 即値転送命令を除く ) 高いレベルの RISC プロセッサに比べて改良された命令コード効率 ● 命令数 : 165 ● 高速乗算命令とステップ除算命令 32 ビット ×32 ビット : 5 クロックサイクル 16 ビット ×16 ビット : 3 クロックサイクル 32 ビット /32 ビット : 33 クロックサイクル , 36 クロックサイクル ( 符号付き ) ● バレルシフト命令 ● 埋込み制御用に最適化された I/O 制御命令 ビット操作 : 即値とメモリ間の演算 論理演算 : 汎用レジスタとメモリ間の演算 メモリ間転送 : メモリ間のデータ転送 ● コンパイラとリアルタイムオペレーティングシステム用に最適化された命令 ファンクションコールとリターン処理命令 複数の連続した汎用レジスタ保存 , および復帰命令 遅延分岐命令 ● 周辺回路アクセラレータ命令 93 第 2 章 CPU 2.7.1 命令と基本命令の概要 FR50 では , 標準的な RISC 命令に加え , FR50 は埋込みアプリケーションに対して 最適化された論理演算 , ビット操作命令とダイレクトアドレッシング命令を提供し ます。各命令が 16 ビット ( 命令によっては 32 ビットと 48 ビット ) であるため , FR50 は卓越したメモリ活用を提供します。 ■ 命令の概要 命令セットは , 次の 6 つの機能グループに分割することができます。 • 算術演算 • ロードとストア • 分岐 • 論理演算とビット操作 • ダイレクトアドレッシング • その他 ● 算術演算 算術演算命令では , 標準的な算術演算命令 ( 加算 , 減算 , 比較 ) とシフト命令 ( 論理シフ ト , 算術演算シフト ) が提供されます。加算と減算は , マルチワード演算で使用される キャリーとの演算と , フラグ ( アドレス計算に対して適切なもの ) を変化させない演算 を含みます。 32 ビット ×32 ビット乗算 , 16 ビット ×16 ビット乗算 , および 32 ビット /32 ビットス テップ除算命令が提供されます。即値転送命令 ( 即値をレジスタに設定するもの ) とレ ジスタ間転送命令も提供されます。 算術演算命令は , すべて , CPU の汎用レジスタと乗算 , および除算レジスタを使用して 演算を行います。 ● ロードとストア ロードとストア命令は , 外部メモリとの間でデータを読み書きします。これらの命令は 内蔵周辺回路 (I/O) との間で , 読み書きを行うためにも使用されます。 ロードとストア命令は , バイト (8 ビット ), ハーフワード (16 ビット ), およびワード長 (32 ビット ) のアクセスに対して提供されています。標準的なレジスタの間接メモリア ドレッシングに加え , 命令によっては , ディスプレースメントによるレジスタ間接メモ リアドレッシングと , レジスタインクリメント , およびデクリメントによるレジスタ間 接メモリアドレッシングをサポートしています。 ● 分岐 分岐命令には , 分岐 , CALL, 割込み , およびリターン命令が含まれます。 分岐命令は , 遅延スロットを持つものと持たないものに分類されます。これにより , 用 途に合わせた最適化が行えます。分岐命令の詳しい情報に関しては ,「2.7.2 分岐命令」 を参照してください。 94 第 2 章 CPU ● 論理演算とビット操作 論理演算命令は , 汎用レジスタ間または汎用レジスタとメモリ ( または I/O) との間で , AND, OR または EOR 論理演算を実行できます。ビット操作命令は , メモリ ( または I/O) の内容を直接的に操作できます。これらの命令は , 一般的なレジスタ間接のメモリ アドレッシングを使用します。 ● ダイレクトアドレッシング ダイレクトアドレッシング命令は , I/O と汎用レジスタとの間 , および I/O とメモリと の間のアドレスに対して使用される命令です。レジスタ間接のアドレッシングによっ てではなく , 命令によって直接的に I/O アドレスを指定することにより , 高速かつ効率 的なアクセスが提供されます。レジスタのインクリメントまたはデクリメントによる レジスタ間接のメモリアドレッシングをサポートしている命令もあります。 ● その他 その他には , PS レジスタのフラグを設定する命令 , スタック演算を行う命令 , および , 符号拡張またはゼロ拡張の命令があります。また , 高級言語に対する関数エントリとエ グジット処理命令 , マルチレジスタでのロード , およびストアの命令があります。 ■ 基本命令 表 2.7-1 に , 基本命令の一覧を示します。 表 2.7-1 基本命令 (1 / 5) 加算と減算命令 比較演算命令 ADD Rj, Ri *ADD #s5, Ri ADDC Rj, Ri ADDN Rj, Ri *ADDN #s5, Ri SUB Rj, Ri SUBC Rj, Ri SUBN Rj, Ri ADD #u4, Ri ADD2 #u4, Ri ADDN #u4, Ri ADDN2 #u4 Ri CMP Rj, Ri *CMP #s5, Ri CMP #u4, Ri CMP2 #u4, Ri 95 第 2 章 CPU 表 2.7-1 基本命令 (2 / 5) シフト命令 レジスタ間転送命令 メモリロード命令 96 LSL Rj, Ri *LSL #u5, Ri LSR Rj, Ri *LSR #u5, Ri ASR Rj, Ri *ASR #u5, Ri LSL #u4, Ri LSL2 #u4, Ri LSR #u4, Ri LSR2 #u4, Ri ASR #u4, Ri ASR2 #u4, Ri MOV Rj, Ri MOV Rs, Ri MOV Ri, Rs MOV PS, Ri MOV Ri, PS LD @Rj, Ri LD @(R13,Rj), Ri LD @(R14,disp10), Ri LD @(R15,udisp6), Ri LD @R15+, Ri LD @R15+, Rs LD @R15+, PS LDUH @Rj, Ri LDUH @(R13,Rj), Ri LDUH @(R14,disp9), Ri LDUB @Rj, Ri LDUB @(R13,Rj), Ri LDUB @(R14,disp8), Ri 第 2 章 CPU 表 2.7-1 基本命令 (3 / 5) メモリストア命令 即値転送命令 標準的分岐命令 *1 ST Ri, @Rj ST Ri, @(R13,Rj) ST Ri, @(R14,disp10) ST Ri, @(R15,udisp6) ST Ri, @-R15 ST Rs, @-R15 ST PS, @-R15 STH Ri, @Rj STH Ri, @(R13,Rj) STH Ri, @(R14,disp9) STB Ri, @Rj STB Ri, @(R13,Rj) STB Ri, @(R14,disp8) *LDI # {i8 | i20 | i32}, Ri LDI:32 #i32, Ri LDI:20 #i20, Ri LDI:8 #i8. Ri JMP @Ri CALL label12 CALL @Ri RET INT #u8 INTE RETI 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 97 第 2 章 CPU 表 2.7-1 基本命令 (4 / 5) 遅延分岐命令 *2 JMP:D @Ri CALL:D label12 CALL:D @Ri RET:D 他の命令 BRA:D label9 BNO:D label9 BEQ:D label9 BNE:D label9 BC:D label9 BNC:D label9 BN:D label9 BP:D label9 BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 NOP ANDCCR #u8 ORCCR #u8 STILM #u8 ADDSP #u10 EXTSB Ri EXTUB Ri EXTSH Ri EXTUH Ri *LDM (reglist) LDM0 (reglist) LDM1 (reglist) *STM (reglist) STM0 (reglist) STM1 (reglist) ENTER #u10 LEAVE XCHB 98 @Rj, Ri 第 2 章 CPU 表 2.7-1 基本命令 (5 / 5) ダイレクトアドレッシン グ命令 周辺回路命令 DMOV @dir10, R13 DMOV R13, @dir10 DMOV @dir10, @R13+ DMOV @R13+, @dir10 DMOV @dir10, @-R15 DMOV @-R15, @dir10 DMOVH @dir9, R13 DMOVH R13, @dir9 DMOVH @dir9, @R13+ DMOVH @R13+, @dir9 DMOVB @dir8, R13 DMOVB R13, @dir8 DMOVB @dir8, @R13+ DMOVB @R13+, @dir8 LDRES @Ri+, #u4 STRES #u4, @Ri+ *1: 遅延スロットなし *2: 遅延スロットあり ( 注意事項 ) ニーモニックの左上のアスタリスク (*) は , アセンブラにより命令 を拡張 , または追加した拡張命令です。 99 第 2 章 CPU 分岐命令 2.7.2 FR50 では , 分岐命令が遅延スロットにより動作するかどうかを指定することができ ます。遅延スロットによる演算とは , 分岐命令の後に置かれた命令が実行されるこ とを意味します。 ■ 遅延スロットによる分岐命令 以下に並べられた表記を持つ命令は , 遅延スロットによる分岐動作を行います。 JMP:D @Ri CALL:D label12 CALL:D @Ri RET:D BRA:D label9 BNO:D label9 BEQ:D label9 BNE:D label9 BC:D label9 BNC:D label9 BN:D label9 BP:D label9 BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 ● 動作 遅延スロットによる分岐とは , 分岐命令のすぐ後ろに置かれた命令を実行した後に ( 遅 延スロットと称されるように ), 分岐が発生することを意味します。 遅延スロットの命令は分岐の前に実行されるので , 見かけの実行速度は 1 サイクルで す。ただし , 遅延スロットに有効な命令を置くことができない場合には , 代わりに NOP 命令を置く必要があります。 [例] ; 命令順序 ADD R1, R2 ; BRA:D LABEL ; 分岐命令 MOV : R2, R3 : 遅延スロット : 分岐の前に実行されます。 LABEL:ST R3, @R4 ; 分岐先 条件分岐命令の場合 , 分岐条件が成立する場合も成立しない場合も遅延スロットに置 かれた命令は実行されます。 遅延分岐命令は , 命令によっては実行順序を逆転するように見えますが , プログラムカ ウンタ (PC) の更新に対してのみ当てはまります。レジスタの更新または参照などの他 の演算は , プログラム中の順序に従って実行されます。 次に , いくつかの具体例を説明します。 (1) JMP:D @Ri または CALL:D @Ri 命令で参照する Ri の値は , 遅延スロット内の命令 が Ri を更新しても , 影響を受けません。 [例] 100 LDI:32 #Label, R0 JMP:D @R0 ; Label へ分岐。 第 2 章 CPU LDI:8 : #0, ; 分岐先アドレスには影響を与えない。 R0 (2) RET:D 命令が参照する RP の値は , 遅延スロットの中の命令が RP を更新しても影響 を受けません。 [例] ; RP に設定されているアドレスへ分岐。 RET:D MOV : R8, RP ; リターン動作には影響を与えません。 (3) Bcc:D rel 命令が参照するフラグも , 遅延スロットの中の命令の影響を受けません。 [例] R0 ; フラグ変化 ADD #1, BC:D Overflow ; 前の命令の結果により分岐。 ANDCCR : #0 ; このフラグ更新は上記分岐命令を参照しません。 (4) CALL:D 命令の遅延スロットの中の命令で RP を参照すると , CALL:D 命令により更 新された内容が読み出されます。 [例] CALL:D Label MOV : RP, ;RP を更新して分岐。 R0 ; 上記 CALL:D の実行から帰着する RP 値を転送します。 ● 制約事項 (1) 遅延スロット内に置くことのできる命令 以下の基準を満足する命令のみ , 遅延スロット内で実行できます。 • 1 サイクル命令であること • 分岐命令ではないこと • 順番が変化した場合でも影響を受けない命令であること "1 サイクル命令 " とは , 命令リストにおけるサイクル数の欄に , "1", "a", "b", "c" または "d" と記載された命令です。 (2) ステップトレーストラップ ステップトレーストラップは , 遅延スロットによる分岐命令の実行と遅延スロット との間には発生しません。 (3) 割込み /NMI 割込みと NMI は , 遅延スロットによる分岐命令の実行と遅延スロットの間では , 受 け付けられません。 (4) 未定義命令の例外 遅延スロットが未定義命令を含んでいても , 未定義命令の例外は発生しません。こ の場合 , 未定義命令は NOP 命令として実行されます。 101 第 2 章 CPU ● 遅延スロットのない分岐命令 以下に並べられた表記を有する命令は , 遅延スロットのない分岐動作を行います。 JMP @Ri CALL Label12 CALL @Ri RET BRA label9 BNO Label9 BEQ label9 BNE label9 BC label9 BNC Label9 BN label9 BP label9 BV label9 BNV Label9 BLT label9 BGE label9 BLE label9 BGT Label9 BLS label9 BHI label9 ● 動作の説明 遅延スロットのない分岐とは , 命令が , 常にプログラム中に現れる順序で実行されるこ とを意味します。分岐命令に続く命令が , 分岐の前に実行されることはありません。 [例] ; 命令順序 ADD R1, R2 ; BRA LABEL ; ( 遅延スロットのない ) 分岐命令 MOV : R2, R3 : 実行されません。 LABEL:ST R3, @R4 ; 分岐先 遅延スロットのない分岐命令を実行するのに必要なサイクル数は , 分岐が発生すれば 2 サイクルであり , 分岐が発生しなければ 1 サイクルです。 遅延スロットのない分岐命令では遅延スロットに命令を置けないので , NOP 命令を含 む遅延スロットによる分岐命令に比べて , 命令コード効率は高まります。 遅延スロットに便利な命令を置く場合に遅延スロットを使用し , それ以外では遅延ス ロットを使用しないでください。これにより , 実行速度とコード効率を両立させること が可能となります。 102 第 2 章 CPU 2.8 EIT( 例外 , 割込み , トラップ ) EIT(Exceptions, Interrupt, Trap) は , 例外 , 割込み , およびトラップの一般名です。 EIT は , イベントが発生した場合に , 現在のプログラムの実行を中断し , 制御を別の プログラムに移します。 • 例外は , 実行の内容に基づいて発生されます。実行は , 例外を引き起こした命令か ら再開します。 • 割込みは , 実行内容に関係なく発生され , ハードウェアイベントによりトリガされ ます。 • トラップは , 実行内容に基づいて発生されます。これには , システムコールなどプ ログラムの演算により発生するトラップが含まれます。実行は , トラップを引き 起こした命令に続く命令から再開します。 命令を実行する場合 , コンテキストは , CPU の状態を完全に定義するのに必要な情 報を参照します。 ■ 特長 • 多重割込みをサポート • 割込みに対するレベルマスク機能 ( ユーザに対して 15 レベルが利用可能 ) • トラップ命令 (INT) • エミュレータ ( ハードウェア / ソフトウェア ) を起動する EIT ■ EIT トリガ 次の項目は , EIT を発生できます。 • リセット • ユーザ割込み ( 内部周辺回路 , 外部割込み ) • NMI( マスク不可割込み ) • 遅延割込み • 定義されていない命令の例外 • トラップ命令 (INT) • トラップ命令 (INTE) • ステップトレーストラップ ■ EIT からのリターン EIT から戻ると , RETI 標準分岐命令を使用します。 103 第 2 章 CPU ■ 割込みレベル 割込みレベルは 0 ∼ 31 の範囲で , 5 ビット値として管理されます。 表 2.8-1 に , 各レベルの割込みレベルの割当て一覧を示します。 表 2.8-1 割込みレベル レベル EIT の種類 注意 0 : : : 3 ( システム予備 ) : : : ( システム予備 ) ILM の元の値が 16 ∼ 31 である場合 , この範囲の値をプログラムにより ILM に設定することはできません。 00100 4 INTE 命令 ステップトレーストラップ 00101 : : : 01110 5 : : : 14 ( システム予備 ) : : : ( システム予備 ) 01111 15 NMI( ユーザ ) 10000 16 割込み 10001 : : : 11110 17 : : : 30 割込み : : : 割込み 11111 31 - 2 進数 10 進数 00000 : : : 00011 ILM に設定されると , ユーザ割込みは 禁止されます。 ICR に設定されると , 割込みは禁止さ れます。 レベル 16 ∼ 31 はユーザが利用できます。 定義されていない命令の例外と INT 命令は , 割込みレベルによる影響を受けません。同 様に , ILM を変化もさせません。 ■ I フラグ このフラグは割込みを許可または禁止します。フラグは PS 内の状態コードレジスタ (CCR) の bit4 に置かれます。 値 104 内容 0 割込み禁止 INT 命令により "0" にクリアされます。 ただし , スタック退避させる値は , ビットがクリアされる 前の値です。 1 割込み許可 割込み要求のマスクは , ILM 内の値により制御されます。 第 2 章 CPU ■ ILM( 割込みレベルマスクレジスタ ) ILM レジスタは PS 内に配置され , 割込みレベルマスクの値を記憶します。 CPU に入力される割込要求の中で , 対応する割込レベルが , この ILM で示されるレベ ルよりも強い場合のみ割込要求が受け付けられます。 レベル 0(00000B) の優先順位が最も高く , レベル 31(11111B) の優先順位が最も低くなっ ています。 プログラムから設定可能な値には制限があります。元の値が 16 ∼ 31 の間の値であれ ば , 16 ∼ 31 の間で新たな値が設定できます。0 ∼ 15 の間の値を設定する命令を実行す ると , " 指定値+ 16" という値が転送されます。 元の値が 0 ∼ 15 の間の値であれば , 0 ∼ 31 の間にある任意の値を設定することができ ます。 SETILM 命令は , ILM レジスタ内の値を設定するのに使用されます。 ■ 割込み /NMI に対するレベルマスク NMI または割込み要求が発生した場合 , 割込みの優先順位レベル ( 表 2.8-1 ) が , ILM の レベルマスク値と比較されます。 次の条件が満足された場合 , 割込みはマスクされて要求は受け付けられません。 割込み要求の割込みレベル≧レベルマスク値 ■ ICR( 割込み制御レジスタ ) 割込みコントローラ内に配置されたレジスタで , 各割込み要求に対するレベルを設定 します。各割込み入力に対して , ICR レジスタが用意されます。ICR レジスタは , I/O メモリ空間内にマップされ , バスを介して CPU からアクセスされます。 ● ICR 構造 図 2.8-1 に , 割込み制御レジスタの構造を示します。 図 2.8-1 割込み制御レジスタの構造 bit 7 6 5 4 3 2 1 0 − − − ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W 初期値 ---11111B ←アクセス R: リードオンリ , R/W: リード / ライト可能 105 第 2 章 CPU ● ICR ビットの機能 表 2.8-2 に , 割込み制御レジスタビットの機能を示します。 表 2.8-2 割込み制御レジスタビットの機能 ビット 機能 番号 名称 4 ICR4 常に "1" 3 ICR3 2 ICR2 割込みに対する , 割込みレベルの下位 4 ビット 読出し / 書込み可能 bit4 を含め , ICR は 16 ∼ 31 の範囲の値を持つことができます。 1 ICR1 0 ICR0 ● ICR マッピング 表 2.8-3 に , 各割込みに対する割込み制御レジスタと割込みベクタを示します。 表 2.8-3 各割込みに対する割込み制御レジスタと割込みベクタ 割込み制御レジスタ 対応割込みベクタ 番号 割込み 番号 アドレス アドレス 16 進数 10 進数 IRQ00 ICR00 00000400H 10H 16 TBR+3BCH IRQ01 ICR01 00000401H 11H 17 TBR+3B8H IRQ02 ICR02 00000402H 12H 18 TBR+3B4H ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ IRQ47 ICR47 0000042FH 3FH 63 TBR+300H ( 注意事項 ) 詳細については , 「第 9 章 割込みコントローラ」を参照してください。 106 第 2 章 CPU ● SSP( システムスタックポインタ ) 図 2.8-2 に , システムスタックポインタレジスタの構造を示します。 図 2.8-2 システムスタックポインタレジスタの構造 bit 31・・ ・・0 SSP 初期値 00000000H SSP は , EIT 受理および復帰動作時のデータ退避 , 復活用スタックを示すポインタとし て使用されます。 SSP の値は , EIT 処理により "8" だけデクリメントされ , RETI 命令により EIT から戻っ た場合に , "8" だけインクリメントされます。 リセットにより 00000000H に初期化されます。 内部ブート ROM コードの実行中に有効なブート条件が検出された場合は , SSP は 0003D3F8H に設定されます。 ● 割込みスタック SSP により示される領域で , PC および PS の値が退避 • 復帰されます。割込みが発生し た後 , SSP の示すアドレスに PC, "SSP+4" のアドレスに PS が格納されます。 図 2.8-3 に , 割込みスタック操作の例を示します。 図 2.8-3 割込みスタック操作の例 SSP 割込み前 80000000H SSP メモリ 80000000H 7FFFFFFCH 7FFFFFF8H 割込み後 7FFFFFF8H メモリ 80000000H 7FFFFFFCH 7FFFFFF8H PS PC ● TBR( テーブルベースレジスタ ) このレジスタは , EIT ベクタテーブルのトップアドレスを示します。 各 EIT に対するベクタアドレスは , その EIT に対するオフセット値を TBR に加算する ことにより得られます。 リセットにより 000FFC00H に初期化されます。 107 第 2 章 CPU ● EIT ベクタテーブル TBR の示すアドレスから始まる 1K バイトの領域が , EIT ベクタ領域です。 各ベクタは , 4 バイトで構成されます。次の式は , ベクタ番号とベクタアドレスの間の 関係を示します。 vctadr = TBR + vctofs = TBR + (3FCH -4 × vct) vctadr : ベクタアドレス vctofs : ベクタオフセット vct : ベクタ番号 加算結果の下位 2 ビットは常に "00" として処理されます。 リセット後の初期ベクタテーブル領域は 000FFC00H と 000FFFFFH の間の領域です。 ベクタによっては , 特殊な機能が割り当てられます。表 2.8-4 に , ベクタテーブルの詳 細を示します。 表 2.8-4 ベクタテーブル (1 / 2) 108 ベクタ番号 ベクタオフセット (16 進数 ) 16 進数 10 進数 3FC 00 0 リセット (*) 3F8 01 1 システム予備 3F4 02 2 システム予備 3F0 03 3 システム予備 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 3E0 07 7 システム予約 3DC 08 8 システム予約 3D8 09 9 INTE 命令 3D4 0A 10 システム予約 3D0 0B 11 システム予約 3CC 0C 12 ステップトレーストラップ 3C8 0D 13 システム予約 3C4 0E 14 定義されていない命令の例外 3C0 0F 15 NMI( ユーザ ) 3BC 10 16 マスク可能割込み #0 3B8 11 17 マスク可能割込み #1( 注意事項 ) 説明 第 2 章 CPU 表 2.8-4 ベクタテーブル (2 / 2) ベクタ番号 ベクタオフセット (16 進数 ) 16 進数 10 進数 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 300 3F 63 マスク可能割込み /INT 命令 2FC 40 64 システム予約 (REALOS により使用されます ) 2F8 41 65 システム予約 (REALOS により使用されます ) 2F4 42 66 マスク可能割込み /INT 命令 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 000 FF 255 説明 *: TBR 値が変更されても , リセットベクタは常に固定アドレス 000FFFFCH に配置されます。 ( 注意事項 ) MB91360 シリーズベクタテーブルに関しては , 「付録 B 割込みベクタ」を参照して ください。 109 第 2 章 CPU 多重 EIT 処理 2.8.1 複数の EIT が同時に発生した場合 , CPU は次の操作を繰返し実行します。 1. 1 つの EIT を受け付けて , EIT シーケンスを実行 2. その後 , 次の EIT を検出 EIT 検出において , 受け付けられる EIT が存在しなくなると , CPU は , 最後に受け付 けた EIT に対してハンドラ命令を実行します。 したがって , 同時に発生した多重 EIT に対するハンドラを実行するシーケンスは , 次 の 2 つの要因により決定されます。 • EIT を受け付ける優先順位 • EIT を受け付ける場合に , 他の EIT はどのようにマスクされるか ■ 多重 EIT 処理 EIT 受付優先順位とは , PS と PC を退避して PC を更新し ( 必要に応じて ) 他の EIT の マスク処理を行うという , EIT ワークレスを実行する要因を選ぶときの順番です。 したがって , 先に受理された EIT のハンドラを , 必ずしも最初に実行されるわけではあ りません。 表 2.8-5 は , EIT を受け付ける優先順序の一覧です。 表 2.8-5 EIT を受け付けて , 他の EIT をマスクする優先順序 EIT を受け付 ける優先順位 EIT 他の EIT のマスキング 1 リセット 他の EIT はクリアされます。 2 定義されていない命令の例外 キャンセルされます。 3 INT 命令 I フラグ= 0 4 ユーザ割込み ILM =受け付けた割込みのレベル 5 NMI( ユーザ ) ILM = 15 6 (INTE 命令 ) ILM = 4 * 7 NMI( エミュレータ ) ILM = 4 8 ステップトレーストラップ ILM = 4 *: エミュレータ NMI が INTE 命令と同時に発生した場合にのみ , 優先順位は "6" となります。 (MB91360 シリーズはデータアクセスによる中断に対して , エミュレータ NMI を使用します。) 110 第 2 章 CPU 1 つの EIT を受け付けて他の EIT をマスキングした後 , 同時に発生する EIT のハンドラ を実行するための優先順位は , 表 2.8-6 のとおりです。 表 2.8-6 EIT ハンドラに対する実行優先順位 EIT ハンドラ実行優先順位 1 リセット *1 2 定義されていない命令の例外 3 ステップトレーストラップ *2 4 INTE 命令 *2 5 NMI( ユーザ ) 6 INT 命令 7 ユーザ割込み *1: 他の EIT はクリアされます。 *2: INTE 命令がステップ実行されるのであれば , ステップトレーストラップ EIT の みが発生されます。INTE による EIT は無視されます。 これらの優先順位による多重 EIT 処理の例を , 図 2.8-4 に示します。 図 2.8-4 多重 EIT 処理の例 メインルーチン INT 命令ハンドラ NMI ハンドラ 優先順位 (高い)NMI 発生 (低い)INT 命令実行 (1 )最初に実行 (2 )次に実行 111 第 2 章 CPU 2.8.2 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. 割込み要求の割込みレベルを, ILMにより設定されたレベルマスク値と比較します。 割込みレベル≧レベルマスク値の場合は , 割込み要求はマスクされ , 受け付けられ ません。割込みレベル<レベルマスク値の場合は , ステップ 4) に進みます。 4. 選択した割込み要求がマスク可能な割込みであり , I フラグが "0" である場合 , 割込 み要求はマスクされ受け付けられません。I フラグが "1" であれば , ステップ 5) に進 みます。 選択した割込み要求が NMI である場合には , I フラグの値に関係なくステッ プ 5) に進みます。 5. 上記条件が満足されると , 現時点における命令処理の最後で , 割込み要求が受け付 けられます。 EIT 要求が検出された場合にユーザ割込み , または NMI 要求が受け付けられると , CPU は受け付けた割込み要求に対応する割込み番号を使用して , 次のように動作します。 ( ) はレジスタの指すアドレスを表します。 [ 動作 ] 1. SSP-4 → SSP 2. PS → (SSP) 3. SSP-4 → SSP 4. 次の命令のアドレス → (SSP) 5. 受け付けられた要求の割込みレベル → ILM 6. "0" → S フラグ 7. (TBR +受け取った割込み要求のベクタオフセット ) → PC 割込みシーケンスの完了後 , システムは , ハンドラの最初の命令を実行する前に , 新た な EIT が存在するかどうかをチェックします。受付け可能な EIT が存在すれば , CPU は EIT 処理シーケンスに入ります。 112 第 2 章 CPU ■ INT 命令の動作 INT #u8 u8 で示されるベクタの割込みハンドラに分岐します。 [ 動作 ] 1. SSP-4 → SSP 2. PS → (SSP) 3. SSP-4 → SSP 4. PC+2 → (SSP) 5. "0" → I フラグ 6. "0" → S フラグ 7. (TBR + 3FCH-4 × u8) → PC ■ INTE 命令の動作 INTE ベクタ番号 #9 のベクタの割込みハンドラに分岐します。 [ 動作 ] 1. SSP-4 → SSP 2. PS → (SSP) 3. SSP-4 → SSP 4. PC+2 → (SSP) 5. "00100B" → ILM 6. "0" → S フラグ 7. (TBR + 3D8H) → PC INTE 命令またはステップトレーストラップの処理ルーチン中では , INTE 命令を使用 しないでください。 同様に , ステップの実行中は , INTE は EIT を発生しません。 ■ ステップトレーストラップの動作 PS の SCR 内の T フラグが設定される ( ステップトレース機能を可能とする ) と , 各命 令の実行の後にトラップが発生し , ブレークします。 [ ステップトレーストラップを検出する条件 ] 1. T フラグ= 1 2. 遅延分岐命令ではない 3. 現在実行しているプログラムが INTE 命令またはステップトレーストラップの処理 ルーチン以外であるとき。 4. 上記条件が満たされると , 現在の命令の終わりで中断します。 [ 動作 ] 1. SSP-4 → SSP 2. PS → (SSP) 3. SSP-4 → SSP 4. 次の命令のアドレス → (SSP) 5. "00100B" → ILM 6. "0" → S フラグ 7. (TBR + 3CCH) → PC 113 第 2 章 CPU T フラグによりステップトレーストラップが許可されると , ユーザ NMI とユーザ割込 みは禁止されます。 同様に , INTE 命令による EIT を発生しません。 ■ 未定義命令の例外の動作 命令のデコード時に未定義命令が検出されると , 未定義命令の例外が発生します。 [ 定未定義命令の例外を検出する条件 ] 1. 命令デコード時に未定義命令が検出される。 2. 命令が遅延スロット内ではない ( 遅延分岐命令のすぐ後ろに配置されていない )。 3. 上記条件が満足されると , 未定義命令の例外が発生し , 実行が中断されます。 [ 動作 ] 1. SSP-4 → SSP 2. PS → (SSP) 3. SSP-4 → SSP 4. PC → (SSP) 5. "0" → S フラグ 6. (TBR + 3C4H) → PC PC として退避されるのは , 命令の例外を検出した命令自身のアドレスです。 ■ RETI 命令の動作 RETI 命令は EIT 処理ルーチンから復帰する命令です。 [ 動作 ] 1. (R15) → PC 2. R15+4 → R15 3. (R15) → PS 4. R15+4 → R15 PS と PC を復帰するのに使用されたスタックポインタは , S フラグの内容に基づいて選 択されることに注意してください。割込みハンドラ内の R15( スタックポインタ ) で動 作する命令を実行するのであれば , S フラグを "1" に設定し , USP を R15 として設定す ることをお勧めします。この場合 , RETI 命令の前に S フラグを "0" に戻してください。 ■ 注意事項 ● 遅延スロット 分岐命令の遅延スロット内の EIT に対しては制約が適用されます。詳細は「2.7.2 分岐 命令」を参照してください。 114 第 2 章 CPU 2.9 リセット ( デバイスの初期化 ) ここでは , FR50 のデバイスを初期化するリセット動作を説明します。 ■ リセット リセット要因が発生すると , FR50 のデバイスは , すべてのプログラムとハードウェア 動作を停止して初期化します。 この状態はリセット状態とよばれます。 リセット要因が解除されると , デバイスは初期状態からプログラムとハードウェア動 作を開始します。 このリセット状態から動作開始までの一連の動作は , リセットシーケンスとよばれま す。 115 第 2 章 CPU 2.9.1 リセットレベル FR50 のデバイスにおけるリセットの動作は , 以下の 2 つのレベルに分類されます。 • 設定初期化リセット (INIT) • 動作初期化リセット (RST) 各リセットレベルの発生要因と初期化タイプは異なります。 ■ 設定初期化リセット (INIT) すべての設定を初期化する最も強力なリセットレベルは設定初期化リセット (INIT) と よばれます。INIT は次の設定値を初期化します。 [INIT により初期化される設定値 ] • デバイス動作モード ( バスモードと外部バス幅の設定値 ) • 内部クロック(クロックソース選択, PLL制御, 分周比設定)に関するすべての設定値 • 外部バス拡張インタフェースのすべての設定値 • 他の端子状態に関するすべて設定値 • 動作初期化リセット (RST) により初期化されるすべての設定値 詳細については , 各機能説明を参照してください。 電源投入後は必ず INITX 端子で INIT を実行してください。 ■ 動作初期化リセット (RST) プログラム動作を初期化する通常リセットレベルは, 動作初期化リセット(RST)とよば れます。 INIT が発生した場合には , RST も同時に発生します。 RST は , 次の設定値を初期化します。 [RST により初期化される設定 ] • プログラム動作 • CPU と内部バス • リソースのレジスタ設定値 • I/O ポート設定 • 外部バスの CS0 領域に関するすべての設定値 詳細については各機能説明を参照してください。 116 第 2 章 CPU 2.9.2 リセットソース ここでは , FR50 のデバイスにおける , 各リセットソースとリセットレベルについて 説明します。過去のリセット要因は , リセット要因レジスタ (RSRR) を読み出すこ とにより得られます。各説明に出てくるレジスタとフラグの詳細については , 「5.8 クロック生成制御ブロックのレジスタ」を参照してください。 ■ INITX 端子 ( 設定初期化リセット端子 ) への入力 INITX 端子 ( 外部端子 ) は , 設定初期化リセット端子として機能します。 設定初期化リセット (INIT) 要求は , INITX 端子に "L" レベルが入力された場合に発生 します。 この要求は , INITX 端子に High レベル信号を入力することにより解除されます。 INIT 要求に従って設定初期化リセット (INIT) が実行されると , リセット要因レジスタ (RSRR) 内の INIT ビット (bit15) がセットされます。 この要求により実行される INIT は , すべてのリセット要因の中で最も強力なリセット です。すべての入力 , 操作 , 状態に優先します。電源を入れたらすぐに , INITX 端子で INIT を実行してください。また , 電源投入直後は , 発振回路の発振安定待ち時間を確保 するため , INITX 端子への "L" レベル入力を発振回路の要求する安定待ち時間の間持続 してください。 発生要因 : 外部 INITX 端子への "L" レベル入力 解除要因 : 外部 INITX 端子への "H" レベル入力 発生レベル : 設定初期化リセット (INIT) 対応フラグ : INIT ビット (bit15) ■ RSTX 端子 ( 動作初期化リセット端子 ) への入力 (MB91FV360GA のみ ) RSTX 端子 ( 外部端子 ) は , 動作初期化リセット端子として機能します。 動作初期化リセット (RST) 要求は , RSTX 端子に "L" レベルが入力された場合に発生し ます。 この要求は RSTX 端子への "H" レベルの入力により解除されます。 RSTX 要求に従って動作初期化リセット (RST) が実行されると , リセット要因レジスタ (RSRR) 内の ERST ビット (bit12) がセットされます。 タイムベースカウンタ制御レジスタ (TBCR) 内の SYNCR ビット (bit9) が設定されると すべてのバスアクセスが停止した後にのみ , この要求に従って RST が実行されます。 このため , バスの使用状況によっては , RST の発生まで時間がかかることもあります。 発生要因 : 外部 RSTX 端子への "L" レベル入力 解除要因 : 外部 RSTX 端子への "H" レベル入力 発生レベル : 動作初期化リセット (RST) 対応フラグ : ERST ビット (bit12) ■ 内部パワーダウンリセット (「第 21 章 パワーダウンリセット」参照 ) RSTX 端子への "L" レベル同様 , 内部パワーダウンリセットにより動作初期化リセット (RST) が実行されます。 117 第 2 章 CPU ■ STCR: SRST ビットへの書込み ( ソフトウェアリセット ) ソフトウェアリセット要求は , スタンバイ制御レジスタ (STCR) 内の SRST ビット (bit4) に "0" が書き込まれた場合に発生します。 ソフトウェアリセット要求は , 動作初期化リセット (RST) 要求です。 RST が発生した場合 , 受け付けられたソフトウェアリセット要求は解除されます。 ソフトウェアリセット要求に従って動作初期化リセット(RST)が実行されると, リセッ ト要因レジスタ (RSRR) 内の SRST ビット (bit11) がセットされます。 タイムベースカウンタ制御レジスタ (TBCR) 内の SYNCR ビット (bit9) が設定されると すべてのバスアクセスが停止した後にのみ , この要求に従って RST が実行されます。 このため , バスの使用状況によっては , RST の発生まで時間がかかることもあります。 発生要因 : STCR 内の SRST ビット (bit4) への "0" 書込み 解除要因 : 動作初期化リセット (RST) の実行 発生レベル : 動作初期化リセット (RST) 対応フラグ : SRST ビット (bit11) ■ ウォッチドッグリセット ウォッチドッグタイマ制御レジスタ (RSRR) にデータを書き込むと , ウォッチドッグタ イマが起動します。RSRR 内の WT1 ビットと WT0 ビット (bit9, bit8) により設定された サイクル以内にタイムベースカウンタクリアレジスタ (CTBR) へ A5H/5AH 書込みが行 われないと , ウォッチドッグリセット要求が発生します。ウォッチドッグリセット要求 は , 設定初期化リセット (INIT) 要求です。要求が受け付けられ INIT または RST が発生 すると , ウォッチドッグリセット要求は解除されます。 ウォッチドッグリセット要求に従って INIT が実行されると , リセット要因レジスタ (RSRR) 内の WDOG ビット (bit13) がセットされます。ウォッチドッグリセット要求に 従って INIT が実行されても , 設定されている , 発振安定待ち時間は初期化されません。 発生要因 : 設定されたウォッチドッグタイマサイクルの経過 解除要因 : 設定初期化リセット (INIT) または動作初期化リセット (RST) の実行 発生レベル : 設定初期化リセット (INIT) 対応フラグ : WDOG ビット (bit13) ■ HSTX 端子 ( ハードウェアスタンバイ端子 ) への入力 HSTX 端子 ( 外部端子 ) は , ハードウェアスタンバイ端子として機能します。ハード ウェアスタンバイ要求は , HSTX 端子へ "L" レベルが入力された場合に発生します。 ハードウェアスタンバイ要求が受け付けられ , デバイスがハードウェアスタンバイ状 態に切り換わると , 同時に設定初期化リセット (INIT) が発生します。 HSTX 端子に "H" レベルが入力されると , ハードウェアスタンバイ要求は解除されま す。設定初期化リセット (INIT) もまた解除されます。 デバイスがハードウェアスタンバイ状態である場合 , 外部 INITX 端子に INIT 要求が生 じるとハードウェアスタンバイ要求は解除されますが , INIT は要求が発生したままの 状態になります。 デバイスでハードウェアスタンバイ状態による INIT が発生すると , リセット要因レジ スタ (RSRR) 内の HSTB ビット (bit14) がセットされます。 電源を入れた直後にハードウェアスタンバイ要求が発生した場合は, INITX端子におけ る設定初期化リセット (INIT) が他のリセットより優先されます。ただし , INITX 端子 における INIT が解除され , デバイスがハードウェアスタンバイ状態に切り換わると , 設定されている , 発振待ち時間は最小値に初期化され , ハードウェアスタンバイ要求が 解除された後 , 発振安定待ち時間は最小値に設定されます。 発生要因 : 118 外部 HSTX 端子への "L" レベル入力 第 2 章 CPU 解除要因 : 外部 HSTX 端子への "H" レベル入力または INITX 端子における設定初 期化リセット (INIT) 発生レベル : 設定初期化リセット (INIT) 対応フラグ : HSTB ビット (bit14) 119 第 2 章 CPU 2.9.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 により示されたアドレスでプログラムの動作を開始しますが , シングルチップ モードの場合は , 内部ブート ROM の最初のアドレスから開始します 「第 ( 4 章 ブー ト ROM/ 構成レジスタ」を参照してください )。 ■ 動作初期化リセット (RST) 解除シーケンス 動作初期化リセット (RST) 要求が解除されると , デバイスは次の動作を順に実行しま す。 1. RST を解除して , 通常の動作状態に切り換わります。 2. アドレス 000FFFFCH から , リセットベクタを読み出します。 3. プログラムカウンタ (PC) に , リセットベクタを書き込みます。 4. PC により示されたアドレスで , プログラム動作を開始します。 ■ ハードウェアスタンバイ解除シーケンス ハードウェアスタンバイ要求または低電圧検出スタンバイ要求が解除されると , デバ イスは次の動作を順に実行します。 1. 設定初期化リセット(INIT)を設定し, 内部クロック動作を開始し, 端子ハイインピー ダンス処理を解除します。 2. INIT を解除して , 発振安定待ち状態に切り換わります。 3. 発振安定待ち (STCR 内の bit3, bit2(OS1, OS0)) の間 , 動作初期化リセット (RST) 状態 を保持し , 内部クロックを停止します。 4. 動作初期化リセット (RST) が設定され , 内部クロックの動作を開始します。 5. RST を解除して , 通常の動作状態に切り換わります。 6. アドレス 000FFFF8H から , モードベクタを読み出します。 7. アドレス 000007FDH のモードレジスタ (MODR) に , モードベクタを書き込みます。 8. アドレス 000FFFFCH から , リセットベクタを読み出します。 9. プログラムカウンタ (PC) に , リセットベクタを書き込みます。 10.PC により示されたアドレスで , プログラムの動作を開始します。 120 第 2 章 CPU 2.9.4 発振安定待ち時間 デバイスは , 元の発振が停止した状態 , あるいは停止した可能性のある状態から戻っ た場合に , 発振安定待ちの状態に自動的に切り換わります。 この機能は , 発振が開始した後の不安定な発振器出力を使用できないようにするも のです。 発振安定待ち時間の間 , 内部クロックと外部クロックの供給は停止し , 内蔵タイム ベースカウンタのみが動作します。デバイスは , スタンバイ制御レジスタ (STCR) に より設定された , 安定までの待機時間が経過するのを待ちます。 発振安定待ちの動作を以下に示します。 ■ 発振安定待ちの発生要因 発振安定待ちの発生要因は以下のとおりです。 1) 設定初期化リセット (INIT) の解除 INIT が解除された直後 , デバイスは発振安定待ちの状態に切り換わります。 発振安定待ち時間が経過すると , デバイスは動作初期化リセット (RST) 状態に切り 換わります。 2) 停止モードからの復帰時 停止モードが解除された直後 , デバイスは , 発振安定待ちの状態に切り換わります。 ただし , 停止モードが設定初期化リセット (INIT) 要求により解除された場合には , デバイスは INIT 状態に切り換わります。INIT が解除されてから , 発振安定待ちの 状態に切り換わります。 発振安定待ち時間が経過すると , デバイスは停止モード解除要因に対応する状態に 切り換わります。 • (NMI を含む ) 有効な外部割込み要求の入力による復帰時 →デバイスは通常の動作状態に切り換わります。 • INIT 要求による復帰時 →デバイスは RST 状態に切り換わります。 • RST 要求による復帰時 →デバイスは RST 状態に切り換わります。 3) エラー状態発生による復帰時 (PLL が選択されている場合に有効 ) PLL がソースクロックとして動作している場合に PLL 制御に何らかの異常 * が発生 すると , PLL ロックタイム確保のために , 自動的に発振安定待ち時間に切り換わり ます。 発振安定待ち時間が経過すると , デバイスは通常の動作状態に切り換わります。 *: PLL 使用中の逓倍率の変更や , PLL 動作許可ビット化けの発生など 121 第 2 章 CPU ■ 発振が安定するまでの待機時間の選択 内蔵タイムベースカウンタは , 発振安定待ち時間をカウントするのに使用されます。 発振安定待ち要因の発生により , 発振安定待ちの状態にデバイスが切り換わった場合 , 内蔵タイムベースカウンタは , 一度初期化した後に , 発振安定待ち時間のカウントを開 始します。 スタンバイ制御レジスタ (STCR) 内の OS1 ビットと OS0 ビット (bit3, bit2) は , 発振安定 待ち時間を 4 種類から 1 つ選択 , 設定するのに使用できます。 発振安定待ち時間の設定は , INITX 端子 ( 外部端子 ) における設定初期化リセット (INIT) でのみ初期化できます。他のリセット ( ウォッチドッグリセット , ハードウェアスタン バイ , 低電圧検出スタンバイによる設定初期化リセット (INIT), 動作初期化リセット (RST) など ) を行うときには , リセットする前に設定されていた発振安定待ち時間が保 持されます。 発振安定待ち時間 4 種類では , 以下の用途を想定しています。 • OS1, OS0 = 11 発振が安定するまでの待機時間なし ( 停止モードにおいて PLL と発振器が停止しな かった場合 ) • OS1, OS0 = 01 発振安定待ち時間 ( ミドル )( セラミック発振器などの高速安定発振器を使用した場 合) • OS1, OS0 = 00, 10 発振安定待ち時間 ( ロング )( 通常の水晶発振器などを使用した場合 ) 電源を入れたらすぐに , INITX 端子で INIT を実行してください。また , INITX 端子へ の "L" レベル入力を保持し , 発振回路により要求された , 発振回路の発振安定待ち時間 を守ってください。 (INITX 端子で INIT を実行すると , 発振安定待ち時間の設定が最小値に初期化されま す。) 電源を入れた直後にハードウェアスタンバイ要求が発生した場合は, INITX端子におけ る設定初期化リセット (INIT) が他のリセットより優先されます。ただし , INITX 端子 における INIT が解除され , デバイスがハードウェアスタンバイ状態に切り換わると , 発振安定待ち時間の設定は最大値に初期化され , ハードウェアスタンバイ要求が解除 された後の発振安定待ち時間は最大値に設定されます。 122 第 2 章 CPU 2.9.5 リセットモード 動作初期化リセット (RST) は , 通常 , 以下の 2 つのモードをサポートします。 • 通常 ( 非同期 ) リセットモード • 同期リセットモード モードを選択するには , タイムベースカウンタ制御レジスタの SYNCR ビット (bit9) を使用します。 設定リセットモードは , 初期化リセット (INIT) を設定することによってのみ , 初期化 できます。 INIT は常に非同期で実行されます。 通常 ( 非同期 ) リセットと同期リセットについて , 以下に説明します。 ■ 通常 ( 非同期 ) リセット RST またはハードウェアスタンバイ要求が発生した場合 , 即座に RST 状態またはハー ドウェアスタンバイ状態への遷移を行う動作を , 通常 ( 非同期 ) リセットとよばれます。 通常 ( 非同期 ) リセットモードにおいて , RST またはハードウェアスタンバイ要求が受 け付けられると , デバイスは , 内部バスアクセス状態を参照することなく , すぐに RST またはハードウェアスタンバイ状態に切り換わります。 このモードでは,各状態へ遷移する時点で行われていたバスアクセスの結果は保証され ません。しかし , それら要求を確実に受け付けることが可能です。 TBCR の SYNCR ビット (bit9) が "0" である場合 , デバイスは通常 ( 非同期 ) リセット モードで動作します。 INIT が発生した後の初期値は通常リセットモードです。 ■ 同期リセット RST またはハードウェアスタンバイ要求が発生した場合に , すべてのバスアクセスが 停止した後で , RST またはハードウェアスタンバイ状態に切り換わることを , 同期リ セットとよびます。 同期リセットモードにおいて RST またはハードウェアスタンバイ要求が受け付けられ ても , 内部バスがアクセスされていれば , デバイスは , RST またはハードウェアスタン バイ状態には切り換わりません。 上記要求が受け付けられた場合 , 内部バスにはスリープ要求が発せられます。各バスが 動作を停止してスリープ状態に切り換わると , デバイスは RST またはハードウェアス タンバイ状態に切り換わります。本モードでは , 各状態へ遷移する時点ですべてのバス アクセスが停止しているため , すべてのバスアクセスの結果は保証されます。 ただし , バスアクセスが何らかの理由により停止しない場合には , 各要求は受け付けら れません ( この場合においても , INIT は直ちに有効になります )。次の場合 , バスアク セスは停止しません。 • 外部拡張バスインタフェースに対し BRQ( バス解放要求 ) が入力され続け , BGRNTX ( バス解放アクノリッジ ) が有効となっている場合で , 内部バスが新たなバスアクセ ス要求を発する場合。 • RDY(ready 要求 ) が外部拡張バスインタフェースに連続的に入力され , バスウェイ 123 第 2 章 CPU トが有効となっている場合。このバスアクセスが終了後 , デバイスは最終的に RST またはハードウェアスタンバイ状態に切り換わります。ただし , この切換えには時 間がかかります。 <注意事項> 124 DMA コントローラは , デバイスが各状態に切り換わるのを遅らせることはありま せん。コントローラは , 要求を受け取ると転送を停止するからです。 TBCR 内の SYNCR ビット (bit9) が "1" である場合 , それは同期リセットモードで あることを表しています。 INIT が発生すると , 初期値は通常 ( 非同期 ) リセットモードに戻ります。 第 2 章 CPU 2.10 動作モード 本 CPU には , 以下の 2 つの動作モードがあります。 • バスモード • アクセスモード 各モードの詳細について , 以下に示します。 ■ 動作モード バスモード アクセスモード シングルチップ 内部 ROM 外部バス 32 ビットバス幅 → 外部 ROM 外部バス 16 ビットバス幅 8 ビットバス幅 1) バスモード バスモードでは , 内部 ROM 動作と外部アクセスの機能が制御されます。これは , モード端子 (MD2, MD1, MD0) と , モードデータの ROMA ビット値により定義され ます。 2) アクセスモード アクセスモードでは , 外部データバス幅が制御されます。これは , モードレジスタ の WTH1 ビットと WTH0 ビット , AMD0 ∼ AMD7( 領域モードレジスタ ) の BW1 ビットと BW0 ビットにより定義されます。 125 第 2 章 CPU 2.10.1 バスモード FR50 には , 以下の 3 種類のバスモードがあります。 • バスモード 0( シングルチップモード ) • バスモード 1( 内部 ROM 外部バスモード ) • バスモード 2( 外部 ROM 外部バスモード ) モード設定の詳細については , 「2.10.2 モード設定」を参照してください。 ■ バスモード 0( シングルチップモード ) このモードは内部 I/O, I- バス RAM, D- バス RAM に加え , F- バス RAM に対して有効 です。他の領域に対するアクセスは無効です。 <注意事項> このモードは , 本品種ではサポートしていません。 ■ バスモード 1( 内部 ROM 外部バスモード ) このモードは , 内部 I/O, I- バス RAM, D- バス RAM に加え , F- バス RAM( 内部 ROM な ど ) に対して有効です。 他の領域に対するアクセスは外部空間に対するアクセスです。外部端子の一部はバス 端子として機能します。 ■ バスモード 2( 外部 ROM 外部バスモード ) このモードは内部 I/O, I- バス RAM, D- バス RAM に対して有効です。 これは F- バス RAM に対するアクセスを禁止します。すべてのアクセスは外部空間に 対するものです。外部端子の一部はバス端子として機能します。 126 第 2 章 CPU モード設定 2.10.2 FR50 のデバイスは , モード端子 (MD2 ∼ MD0) とモードレジスタ (MODR) を使用し て動作モードを設定します。 ■ モード端子 モードベクタフェッチに関する指定および試験モードを設定するのに , 表 2.10-1 に示 す 3 つのモード端子 (MD2 ∼ MD0) が使用されます。 表 2.10-1 モード端子 モード端子 リセットベクタ アクセス領域 モード名 MD2 MD1 MD0 0 0 0 内部 ROM モード ベクタ 0 0 1 外部 ROM モード ベクタ 備考 内部 MB91F362GB および MB91F364G はなし 外部 モードレジスタはバス幅 を設定するのに使用され ます。 残りの設定 予備 フラッシュメモリモード については「第 31 章 フラッシュメモリ」を参 照してください。 ■ モードレジスタ (MODR) モードベクタフェッチによって 0000_07FDH に書き込まれるデータは , モードデータと よばれます。 MODR は 0000_07FDH に配置されます。動作モードを MODR に設定すると , デバイス はこの動作モードで動作します。MODR は , リセット要因 (INIT レベル ) が発生した場 合のみ設定されます。ユーザプログラムは , MODR に対してデータを書き込むことは できません。 <モードレジスタ (MODR) > MODR 7 6 5 4 3 アドレス 0000 07FDH 0 0 0 0 0 2 1 0 ROMA WTH1 WTH0 初期値 XXXXXXXXB 動作モード設定ビット [bit7 ∼ bit3] ( 予備ビット ) bit7 ∼ bit3 は常に "00000" に設定します。ほかの値を設定した場合の動作は保証さ れません。 127 第 2 章 CPU [bit2] ROMA( 内部 ROM 許可ビット ) ROMA ビットは内部 ROM 領域 (F- バスメモリ領域 ) を有効にするかどうかの設定 に使用します。 ROMA 機能 0 外部 ROM モード 1 内部 ROM モード 備考 F- バス領域へのアクセスは外部です。 [bit1, bit0] WTH1, WTH0( バス幅 / シングルチップモード指定ビット ) WTH1 ビットと WTH0 ビットは , バス幅 ( 動作モードが外部バスモードの場合に有 効 ) とシングルチップモードを設定するのに使用されます。動作モードが外部バス モードである場合 , この値は AMD0(CS0 領域 ) の BW1 ビットと BW0 ビットに設定 されます。 WTH1 WTH0 機能 備考 0 0 8 ビットバス幅 外部バスモード 0 1 16 ビットバス幅 外部バスモード 1 0 32 ビットバス幅 外部バスモード 1 1 シングルチップモード 設定禁止 ( 注意事項 ) "11" には設定しないでください。 128 第 2 章 CPU 2.10.3 フィックスベクタ MB91360 シリーズデバイスの動作モードにおけるフィックスベクタについて説明し ます。 ■ フィックスベクタ MB91360 シリーズデバイスをモード MD[2:0]=000 で起動した場合は , 内部フィックス モードベクタ (FMV=0x06) , およびフィックスリセットベクタが使用されます。フィッ クスリセットベクタは内部ブート ROM の開始アドレスをポイントします。 これにより , F- バス領域 , 内部 CAN モジュール , および内部フラッシュメモリにアク セスできます。 詳細については , 「第 4 章 ブート ROM/ 構成レジスタ」を参照してください。 129 第 2 章 CPU 130 第3章 命令キャッシュ MB91360 シリーズのメンバである命令キャッシュ メモリと , その動作について説明します。 3.1 概要 3.2 本体の構成 3.3 各動作モードの状態 3.4 命令キャッシュのキャッシュ可能領域 3.5 FR50 の I-Cache を使用する場合の設定方法 131 第 3 章 命令キャッシュ 3.1 概要 命令キャッシュは , 一時記憶メモリです。 ■ 命令キャッシュの概要 命令キャッシュは , 命令コードを外部の低速メモリからアクセスする場合に , 一度アク セスしたコードを内部に保持する役目を果たし , 2 回目以降のアクセス速度を速めるた めに使用します。命令キャッシュデータ RAM, タグ RAM は , このメモリを RAM モー ドに設定することによりソフトウェアで直接読出し / 書込みアクセスできるようにな ります。 <注意事項> 132 命令キャッシュを 1 度オンしてからオフにする場合には , 必ず「3.5 FR50 の I-Cache を使用する場合の設定方法」に記載されているサブルーチンをご使用 ください。 第 3 章 命令キャッシュ 本体の構成 3.2 命令キャッシュメモリの本体の構成について説明します。 ■ 命令キャッシュメモリ本体の構成 • FR の基本命令長 : 2 バイト • ブロックの配置方式 : 2 ウェイセットアソシアティブ • ブロック : 1 ウェイは 128 ブロック構成 1 ブロックは 16 バイト (= 4 サブブロック ) 1 サブブロックは 4 バイト (= 1 バスアクセス単位 ) ■ キャッシュ構成 図 3.2-1 にキャッシュ 1 の命令キャッシュ構成 , 図 3.2-2 にキャッシュ 2 の命令キャッ シュタグ , 図 3.2-3 にキャッシュ 3 の RAM のアドレスマップ , 図 3.2-4 にキャッシュ 4 の各キャッシュサイズ時のメモリの割当て , 図 3.2-5 にキャッシュ 5 のキャッシュ領域 を示します。 図 3.2-1 キャッシュ 1 の命令キャッシュ構成 4 bytes 13 12 11 10 サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 0 サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 127 キャッシュタグ サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 0 … キャッシュタグ … … キャッシュタグ ウェイ 2 128 Blocks 4 bytes … 128 Blocks … キャッシュタグ 4 bytes … ウェイ 1 4 bytes … 4 bytes サブブロック 3 サブブロック 2 サブブロック 1 サブブロック 0 ブロック 127 133 第 3 章 命令キャッシュ 図 3.2-2 キャッシュ 2 の 命令キャッシュタグ ウェイ 1 9 31 8 アドレスタグ 予約 7 6 5 4 3 2 1 0 SBV3 SBV2 SBV1 SBV0 TAGV 予約 LRU ETLK 有効 TAG サブブロックバリッド LRU エントリロック ウェイ 2 9 31 8 アドレスタグ 予約 7 6 5 4 3 SBV3 SBV2 SBV1 SBV0 TAGV サブブロックバリッド 2 予約 1 0 ETLK 有効 TAG エントリロック [bit31 ∼ bit9] アドレスタグ 対応するブロックにキャッシュされている命令のメモリアドレスの上位 23 ビット が格納されています。ブロック i のサブブロック k に格納されている命令データの メモリアドレス IA は , 次のようになります。 IA= アドレスタグ × 211 + i × 24 + k × 22 CPU からアクセス要求された命令アドレスが , 一致するかどうかを確認します。タ グ検査の結果に従い , 以下のように動作します。 1) 要求された命令データがキャッシュ内に存在する場合 ( ヒット ), キャッシュから CPU へサイクル内にデータを転送します。 2) 要求された命令データがキャッシュ内に存在しない場合 ( ミス ), 外部アクセスで 取得された , データ (1 サブブロック ) を CPU とキャッシュが同時に取得します。 [bit7 ∼ bit4] SBV3 ∼ SBV0: サブブロックビットバリッド サブブロックビットバリッド (SBV3 ∼ SBV0) に "1" を設定した場合 , 関連したサブ ブロックには , タグで示されたアドレスの現行命令データがエントリされていま す。サブブロックには , 通常 2 つの命令が格納されます ( 即値転送命令を除く )。 [bit3] TAGV: TAG バリッドビット アドレスタグの値が有効かどうかを示します。このビットが "0" の場合は , サブバ リットビットと無関係に, このブロックはインバリッド状態になります(フラッシュ 状態 )。 134 第 3 章 命令キャッシュ [bit1] LRU ビット ( ウェイ 1 のみ ) ウェイ 1 の命令キャッシュタグにのみ存在します。選択されたセットについて , 最 後にキャッシュがアクセスしたエントリがウェイ 1 とウェイ 2 のどちらであるかを 示します。LRU=1 の場合は , ウェイ 1 の , LRU=0 の場合はウェイ 2 のセットのエン トリが最後にアクセスしたことを示します。 [bit0] ETLK: エントリロックビット タグに相当するブロック内の全エントリをキャッシュにロックします。 ETLK=1 の場合は , ロック状態であることを示します。キャッシュミスの場合 , エ ントリは更新されません。ただし , 無効なサブブロックは更新されます。ウェイ 1, 2 ともにエントリロックされている場合にキャッシュミスした場合は ,「キャッシュ ミス」判定の 1 サイクル後に , 外部メモリをアクセスします。 ■ 制御レジスタ構成 IRBS (32 ビット ) bit31 30 29 28 27 26 25 24 初期値 0000 0300H 0 0 0 0 0 0 0 0 0000 0000B R R R R R R R R bit23 22 21 20 19 18 17 16 0 0 0 0 0 0 0 1 R R R R R R R R (0000 0302H) 初期値 0000 0001B bit15 14 13 12 11 10 9 8 IRBS IRBS IRBS IRBS − − − − R/W R/W R/W R/W − − − − bit7 6 5 4 3 2 1 0 初期値 ---- ----B − − − − − − − − − − − − − − − − 初期値 0010 ----B [bit15 ∼ bit12] IRBS RAM モードでアクセスする場合に , キャッシュRAM のベースアドレスを設定しま す。キャッシュ RAM は 4K バイト単位でアラインしてください。これらのビット は INIT で初期化されます。初期値はアドレス 00012000H です。 ISIZE (8 ビット ) bit7 6 5 4 3 2 1 0 初期値 0000 0307H - - - - - - SIZE1 SIZE0 ---- --11B - - - - - - R/W R/W 135 第 3 章 命令キャッシュ [bit1, bit0] SIZE1, SIZE0 キャッシュサイズを設定するビットです。これらのビットの設定により , キャッ シュサイズ , IRAM 容量 , および RAM モード時のアドレスマップが , 図 3.2-3 のよ うに変化します。キャッシュサイズを変更した場合は , 必ずフラッシュ , およびエ ントリロックの解除を行ってから , キャッシュをオンにしてください。 表 3.2-1 に , SIZE1, および SIZE0 のキャッシュサイズのレジスタを示します。 表 3.2-1 キャッシュサイズレジスタ SIZE1 SIZE0 サイズ 0 0 1K バイト 0 1 2K バイト 1 0 設定禁止 1 1 4K バイト ( 初期値 ) 図 3.2-3 RAM のアドレスマップ アドレス (IRBS) 初期値 00010000 00010200 00010400 00010600 00010800 00010A00 00010C00 00010E00 00011000 00011200 00011400 00011600 00011800 00011A00 00011C00 00011E00 00012000 00012200 00012400 00012600 00012800 00012A00 00012C00 00012E00 00013000 Cache off Cache off Cache 4K Cache 4K RAM on RAM off RAM off RAM on TAG TAG (ウェイ0) (ウェイ0) TAG (ウェイ1) IRAM Cache 2K Cache 2K RAM off RAM on TAG TAG(ウェイ0) TAG TAG(ウェイ1) (ウェイ1) IRAM IRAM TAG (ウェイ0) (ウェイ1) (ウェイ0) (ウェイ0) Cache 1K Cache 1K RAM off RAM on IRAM IRAM (ウェイ0) (ウェイ0) (ウェイ0) (ウェイ0) IRAM IRAM IRAM IRAM IRAM (ウェイ1) (ウェイ1) (ウェイ1) (ウェイ1) IRAM IRAM (ウェイ1) (ウェイ1) SRAM (ウェイ0) SRAM (ウェイ0) SRAM(ウェイ0) SRAM(ウェイ1) SRAM (ウェイ1) SRAM (ウェイ1) IRBSの設定値が,ほかのメモリ領域と重なる場合は,IRBSメモリ(SRAM)が優先されます。 はミラーとなる領域。 136 第 3 章 命令キャッシュ 図 3.2-4 各キャッシュサイズ時のメモリの割当て TAG RAM SRAM 00010000 00010004 00010008 0001000C 00010010 00010014 00x番地のエントリ 00xのミラー 01x番地のエントリ 01xのミラー 00010020 000番地の命令(SBV0) 004番地の命令(SBV1) 008番地の命令(SBV2) 00C番地の命令(SBV3) 010番地の命令(SBV0) 014番地の命令(SBV1) 018番地の命令(SBV2) 01C番地の命令(SBV3) 00012000 00012004 00012008 0001200C 00012010 00012014 00012018 0001201C 図 3.2-5 キャッシュ領域 アドレス 000 200 400 600 800 A00 C00 E00 Cache 4K Cache 2K Cache 1K Cache off SRAM IRAM IRAM SRAM 未使用 SRAM IRAM IRAM IRAM (ウェイ0) SRAM IRAM (ウェイ1) SRAM ROMAB=0 ROMなし 未使用 SRAM ROMAB=1 ROMあり 00000000 Direct area Direct area 00010000 ダイレクト領域 ダイレクト領域 00020000 D-bus RAM領域の場合でも,CACHEとしてはIバスに 00030000 のればキャッシュされます。 00040000 キャッシュ 内部ROM 領域 キャッシュ チップセレクトの領域ごとに,非キャッシュ領域と 領域 して設定することができます。 00100000 FFFFFFFF ■ I-CacHe 制御レジスタ ICHCR(I-CacHe 制御レジスタ ) は , 命令キャッシュの動作を制御します。 ICHCR への書込みは , 続く 3 サイクル中に取り込んだ命令のキャッシュの動作には影 響を与えません。 ICHCR (8 ビット ) bit7 6 5 4 3 2 1 0 初期値 0000 03E7H RAM - GBLK ALFL EOLK ELKR FLSH ENAB 0-00 0000B R/W - R/W R/W R/W R/W R/W R/W 内部ブート ROM 内のコードを実行中に , 有効なブート条件が検出されると , このレジ スタは "0x81" に設定されます。 [bit7] RAM: RAM モード RAM ビットを 1 に設定すると , 命令キャッシュは RAM モードで動作します。RAM モードにすることによって , ENAB ビットが "1"( キャッシュオン ) となっている場 合 , キャッシュ RAM は IRBS によって指定された領域にマッピングされます。 137 第 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 からの命令アクセスは , キャッシュを介さず外部に対して直接行われます。禁止状 態では , キャッシュの内容は保存されます。 138 第 3 章 命令キャッシュ 各動作モードの状態 3.3 各動作モード時におけるキャッシュの状態 , およびキャッシュのエントリ更新につ いて説明します。 ■ 各動作モード時のキャッシュの状態 表 3.3-1 に , ディセーブル / フラッシュはビット操作命令などでそのビットだけ変化さ せた場合の状態を示しています。 表 3.3-1 各動作モード時のキャッシュの状態 (1 / 2) リセット直後 ディセーブル フラッシュ キャッシュメモリ 内容は不定 直前の状態を保持 , ディセーブル状態で の書換え不可 直前の状態を保持 タグ アドレスタグ 内容は不定 直前の状態を保持 , ディセーブル状態で の書換え不可 直前の状態を保持 サブブロック バリッドビット 内容は不定 直前の状態を保持 , ディセーブル状態で の書換え不可 直前の状態を保持 LRU 内容は不定 直前の状態を保持 , ディセーブル状態で の書換え不可 直前の状態を保持 エントリロック ビット 内容は不定 直前の状態を保持 , ディセーブル状態で の書換え不可 直前の状態を保持 ( エントリロックの 解除が必要 ) TAG バリッド ビット 内容は不定 直前の状態を保持 , ディセーブル状態で のフラッシュ可能 すべてのエントリが インバリッド 直前の状態を保持 , ディセーブル状態で のフラッシュ可能 直前の状態を保持 RAM 139 第 3 章 命令キャッシュ 表 3.3-1 各動作モード時のキャッシュの状態 (2 / 2) リセット直後 制御 レジスタ ディセーブル フラッシュ グローバル ロック アンロック 直前の状態を保持 , ディセーブル禁止状 態での書換え可能 直前の状態を保持 オートロック フェイル フェイルなし 直前の状態を保持 , ディセーブル状態で の書換え可能 直前の状態を保持 エントリオート ロック アンロック 直前の状態を保持 , ディセーブル状態で の書換え可能 直前の状態を保持 エントリロック 解除 解除なし 直前の状態を保持 , ディセーブル状態で の書換え可能 直前の状態を保持 イネーブル ディセーブル ディセーブル 直前の状態を保持 フラッシュ フラッシュし ない 直前の状態を保持 , ディセーブル状態で の書換え可能 メモリアクセス直後 のサイクルでフラッ シュ。以後 "0" に戻 る。 ■ キャッシュのエントリ更新 表 3.3-2 に , キャッシュのエントリ更新の状態を示します。 表 3.3-2 キャッシュのエントリ更新の状態 アンロック ヒット ミス 140 ロック 更新しない。 更新しない。 メモリデータをロードし , キャッシュ のエントリデータを更新する。 タグミスの場合は更新しない。サブブロック がインバリッドの場合は更新する。 第 3 章 命令キャッシュ 3.4 命令キャッシュのキャッシュ可能領域 命令キャッシュのキャッシュ可能領域について説明します。 ■ 命令キャッシュのキャッシュ可能領域 • 命令キャッシュは , 外部バス空間のみキャッシュ可能です。 • DMA転送で外部メモリデータが更新されても, キャッシュされた命令とのコヒーレ ンスはとりません。コヒーレンスを保持するには , キャッシュをフラッシュしてく ださい。 • 命令キャッシュは , チップ選択領域ごとに , 非キャッシュ領域として設定できます。 この場合でも , キャッシュオンの場合は 1 サイクルのペナルティを受けますが , キャッシュオフはペナルティ対象とはなりません。 141 第 3 章 命令キャッシュ 3.5 FR50 の I-Cache を使用する場合の設定方法 I-Cache を使用する場合の設定方法について説明します。命令キャッシュを一度オ ンしてからオフにする場合には必ず以下の方法に従ってください。 ■ I-Cache を使用する場合の設定方法 1) 初期化 I-Cache を使うには , まずキャッシュの内容をクリアします。レジスタの FLSH ビッ トと ELKR ビットを "1" にして , 過去のデータを消去します。 ldi #0x000003e7,r0 // I-Cache 制御レジスタのアドレス ldi #0B00000110,r1 // FLSH ビット (bit1) stb r1,@r0 // ELKR ビット (bit2) // レジスタに書込み これで , キャッシュが初期化されました。 2) キャッシュを有効 ( オン ) にする I-Cache を有効にするには , ENAB ビットを "1" に設定します。 I-Cache 制御レジスタのアドレス ldi #0x000003e7,r0 // ldi #0B00000001,r1 // ENAB ビット (bit0) stb r1,@r0 レジスタに書込み // これ以降の命令アクセスがキャッシュされます。 キャッシュは , 初期化と有効化を同時に行うこともできます。 ldi #0x000003e7,r0 // ldi #0B00000111,r1 // stb r1,@r0 I-Cache 制御レジスタのアドレス ENAB ビット (bit0) // FLSH ビット (bit1) // ELKR ビット (bit2) // レジスタに書込み 3) キャッシュを無効 ( オフ ) にする I-Cache を無効にするには , ENAB ビットを "0" に設定します。 ldi #0x000003e7,r0 // I-Cache 制御レジスタのアドレス ldi #0B00000000,r1 // ENAB ビット (bit0) stb r1,@r0 // レジスタに書込み この状態 ( リセット後の状態と同じ ) では , キャッシュがないのと同じです。 キャッシュのオーバヘッドが処理上の問題となる場合は , キャッシュをオフにして もかまいません。 4) キャッシュされた命令をすべてロックする。 現在 I-Cache に入っている命令をロックするには , レジスタの GBLK ビットを "1" に 設定します。ENAB ビットも "1" に設定します。そうしないと , キャッシュがオフ になってしまい , キャッシュ内のロックした命令が使えません。 142 第 3 章 命令キャッシュ ldi #0x000003e7,r0 // I-Cache 制御レジスタのアドレス ldi #0B00100001,r1 // ENAB ビット (bit0) stb r1,@r0 // GBLK ビット (bit5) // レジスタに書込み 5) キャッシュされた特定の命令をロックする。 特定の命令グループ ( サブルーチンなど ) をキャッシュにロックするには , それら の命令を実行する前に EOLK ビットを "1" に設定します。このようにしてロックし た命令は , 高速内部 ROM を使っているかのようにアクセスされます。 ldi #0x000003e7,r0 // I-Cache 制御レジスタのアドレス ldi #0B00001001,r1 // ENAB ビット (bit0) stb r1,@r0 // EOLK ビット (bit3) // レジスタに書込み メモリのウェイトカウントによりますが , stb 命令以降の命令が有効になります。 ロックしたい命令グループが終ったところで , EOLK ビットを "0" に設定します。 ldi #0x000003e7,r0 // ldi #0B00001001,r1 // stb r1,@r0 I-Cache 制御レジスタのアドレス ENAB ビット (bit0) // EOLK ビット (bit3) // レジスタに書込み 6) キャッシュされた命令のロックを解除する ロックを解除するには , 次のようにします。 ldi #0x000003e7,r0 // I-Cache 制御レジスタのアドレス ldi #0B00000000,r1 // キャッシュディセーブル stb r1,@r0 // レジスタに書込み ldi #0B00000100,r1 // ELKR ビット (bit2) stb r1,@r0 // レジスタに書込み ロック情報だけが解除されるので , ロックされていた命令は , LRU ビットの状態に 応じて順次新しい命令に置き換わります。 143 第 3 章 命令キャッシュ 144 第4章 ブート ROM/ 構成レジスタ シングルチップモードで使用される , 埋込み式ブー ト ROM の機能について説明します。 4.1 ブート ROM 4.2 構成レジスタ (F362GB モードレジスタ F362MD) 145 第 4 章 ブート ROM/ 構成レジスタ 4.1 ブート ROM ブート ROM は , FF000( リセットエントリ ) にある固定の起動ルーチンです。した がって , RST または INIT が実行されるたびに実行されます。この ROM の目的は , リセット後にデバイスを構成し , 埋込みフラッシュメモリをプログラミングするた めの簡単なシリアルブートローダを提供することです。 ブート ROM には , 以下の 3 つの論理部があります。 • チップ初期化 • ブート状態のチェック • ブートストラップローダ ■ チップ初期化 各リセットの直後に , 次の設定が実行されます。 CS0:200000...2FFFFF, 32 ビットバス , 1 ウェイトステート ( デフォルトの外部アクセス ) CS7:100000...10FFFF, 16 ビットバス , 1 ウェイトステート (CAN) さらに , テーブルベースレジスタが 1FFC00 に初期化され , 同期リセット「5.8.3 ( TBCR: タイムベースカウンタ制御レジスタ」参照 ) が許可されます。 ■ ブート状態のチェック チップの初期化後 , 「セキュリティベクタ」がチェックされます ( ベクタ #66)。 表 4.1-1 に , セキュリティベクタのチェック値を示します。 表 4.1-1 セキュリティベクタのチェック値 品種 MB91F362GB チェック値 セキュリティベクタは FFFF FFFFH MB91F376G セキュリティベクタは FFFF FFFFH または , 外部の 04: 4800H ∼ 13: FFFFH その他の MB91360 シリーズ セキュリティベクタは FFFF FFFFH または , 外部の 08: 0000H ∼ 0F: FFFFH この機能の目的は , セキュリティ上の理由によりブートストラップローダを無効にす ることで , 上記の表に当てはまるときのみにブートストラップローダは有効になりま す。 RSRR( リセット要因レジスタ ) が読み出され保存されます。電源投入時のリセット ( 外 部 INITX 入力 , RSRR=0x80) が示されない場合は , ユーザアプリケーションへの分岐が 起動されます。 INITX が検出され , 「セキュリティベクタ」チェックが OK である場合 , ブートスト ラップローダを起動するには , 次の条件が満たされなければなりません。 所定の時間内に , UART0(9600, 8N1) により起動文字 "V" が受信されること。 タイムアウトは 200ms に設定されます。MB91FV360GA では , 外部ブート端子 (Boot/ P93) がハイ状態のときにブートストラップローダが起動されます。 146 第 4 章 ブート ROM/ 構成レジスタ ■ ブートストラップローダ ブート条件が満たされると , UART0 により応答文字 "F" が送信され , ブートローダが コマンドを受け入れる状態になったことを示します。次の 4 種類のコマンドがありま す。 • 受信して , 指定されたメモリブロックに書き込む • 指定されたメモリブロックの内容をダンプする • 特定のロケーションへの「コール」を起動する • 検証のために計算したチェックサムを再ダンプする 図 4.1-1 に , ブートストラップローダのフローを示します。 図 4.1-1 ブートストラップローダのフロー RST INIT クロックを2MHz に設定,UART0 を初期化 チップ初期化 RSRR リセット要因を リセットし保存 "V"受信 NO セキュリティ ベクタ =FFFFFFFF YES NO NO YES タイムアウト ? YES リセット要因 Yes =INITX NO Jump @(SccVcc) <注意事項> Jump アプリケーション起動 ブートローダ 起動 RSRR レジスタは , 1 回のみ読み出せます。RSRR レジスタを読み出すと , その内 容は一時的に RAM(3D500) に保存され , アプリケーション起動またはセキュリ ティベクタによって指定されるアドレスに分岐した後 , R4( パラメータの C コン パイラ記法 ) に存在します。 ブート ROM はチップを初期化し , いくつかのレジスタの設定値を変更します ( 表 4.1-3 参照 )。 ユーザプログラムの標準の起動アドレスは ( セキュリティベクタがほかのアドレ スを指定しない限り ), F4000 です。 147 第 4 章 ブート ROM/ 構成レジスタ ■ ブートストラップローダの説明 有効なブート条件が検出されると , データはシリアルプロトコルを使用して , MPU と 読み書きされます。さらに , 専用アドレスへのコールやチェックサム (16 ビット長 , デー タの送受信中に計算される ) の再ダンプが可能です。通信チャネルは UART0(9600 ボー , 8 データビット , パリティなし , 1 ストップビット , ハンドシェイクなし , バイナリ伝送 ) です。 <注意事項> このプロトコルを使用してデータを伝送するソフトウェアは , 富士通マイクロエレ クトロニクスで提供しています。 表 4.1-2 にシリアル通信のプロトコル , 表 4.1-3 にブート ROM によって修正されるレジ スタの説明を示します。 表 4.1-2 シリアル通信プロトコル コマンド PC から MCU MCU から PC 備考 241 (0xF1) 1 130 (0x82) 2 Read (2) Lo, MidLo, MidHi, Hi Lo, Hi Addr (4 バイト ) Size (2 バイト ) バイナリダンプ CS (2 バイト ) 直接読出しとダンプ ブートローダは 16 ビットの チェックサムを送信 241 (0xF1) 1 131 (0x83) 3 Write (3) Addr (4 バイト ) Lo, Hi Size (2 バイト ) 受信と格納 バイナリダンプ 1 Call (4) Lo, MidLo, MidHi, Hi CS (2 バイト ) ブートローダは 16 ビットの チェックサムを送信 241 (0xF1) 指定されたアドレスをコール し , リターンを待つ。R4 に 返ったパラメータは PC にエ コーされる。 132 (0x84) 4 Addr (4 バイト ) ret. Parameter Get Checksum (5) 1 241 (0xF1) 5 133 (0x85) CS (2 バイト ) 148 MCU は , 最後の読み書き操 作時に計算された 16 ビット のチェックサム (Lo, Hi) を再 ダンプする。 第 4 章 ブート ROM/ 構成レジスタ 表 4.1-3 ブート ROM によって修正されるレジスタ レジスタ 値 アドレス 説明 ASR0 0x20 0x640 領域選択レジスタ 0 AMR0 0x0F 0x642 領域マスクレジスタ 0 AMD0 0x11 0x660 領域モードレジスタ 0 ASR7 0x10 0x65C 領域選択レジスタ 7 AMR7 0x00 0x65E 領域マスクレジスタ 7 AMD7 0x29 0x667 領域モードレジスタ 7 CSE 0x81 0x668 CS 選択許可レジスタ CMCR 0x0180 0x0164 CAN クロックイネーブル TBR 0x0FFC00 - テーブルベースレジスタ TBCR 0x03 0x482 タイムベースカウンタ制御 / 同期リセットレジスタ RSRR 0 ( 注参照 ) 0x480 リセットソースレジスタ (R4 で可視 ) SP* 0x3D3F8 - CLKR* 0x0(4 MHz) 0x36(32 kHz) 0x484 クロックソース制御レジスタ DIVR0* 0x0(4 MHz) 0x77(32 kHz) 0x486 クロック分周レジスタ 0(CPU, および R- バス ) DIVR1* 0x0(4 MHz) 0x70(32 kHz) 0x487 クロック分周レジスタ 1( 外部バス ) PFRQ* 0x03 0x41A ポートファンクションレジスタポート Q(UART0) SMR0* 0x31 0x63 UART0 モードレジスタ SCR0* 0x13 0x62 UART0 制御レジスタ UTIMR0* 0x05 0x68 U-Timer0 リロード UTIMC0* 0x82 0x6B U-Timer0 制御 FMWT 0×3 0x00007004 フラッシュ待機制御レジスタ FMCS 0x60 0x00007000 フラッシュ制御ステータスレジスタ スタックポインタ *: 有効なブート状態のチェックが実行された場合のみ , レジスタは修正されます。 注 ) RSRR のリセット要因ビットは読出し動作によってクリアされます。読出し値は R4 を確認し てください。 149 第 4 章 ブート ROM/ 構成レジスタ 構成レジスタ (F362GB モードレジスタ F362MD) 4.2 構成レジスタは , 外部バスインタフェースのどの端子がアクティブで , 外部 DMA チャネル用の端子がどこに配置され , どの I2C モジュールを使用するかを制御するた めに使用するレジスタです。 ■ 構成レジスタ アドレス 00001FEH bit15 14 ADRSWAP ASYMCLKT 13 HTZ_D_A 12 11 10 9 HIZ_ECLK HIZ_D_23_16 HIZ_D_15_0 DMASWP 8 IICSEL アクセス 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] ADRSWAP (MB91F369GA でのみ有効 ) 0: Pin23= CS4X, Pin24= CS5X, Pin25= CS6X 1: Pin23= A21, Pin24= A22, Pin25= A23 このビットは , 対応する PFR が CSX 出力またはアドレス信号にそれぞれ設定され ている場合に有効です。 [bit14] ASYMCLKT (MB91F364G では不可 ) 0: CLKT 用デューティサイクルは 1:1 です。 1: CLKB と CLKT の間の奇数比 (1:3, 1:5 など ) に対する CLKT のハイパルスは , CLKB の 1 ハイパルスの長さによって短縮されます。 CLKB:CLKT = 1:3 の例 CLKB CLKT (ASYMCLKT = 0) CLKT (ASYMCLKT = 1) [bit13] HIZ_D_A ( 外部インタフェースを持つデバイスでのみ使用可能 ) 0: D[31:24], A[20:0], RDX, WR3X, WR2X, WR1X, WR0X の出力は有効です。 1: D[31:24], A[20:0], RDX, WR3X, WR2X, WR1X, WR0X の出力は Hi-Z です。 [bit12] HIZ_ECLK ( 外部インタフェースを持つデバイスでのみ使用可能 ) 0: CLK の出力は有効です。 1: CLK の出力は Hi-Z です。 [bit11] HIZ_D_23_16 ( 外部インタフェースを持つデバイスでのみ使用可能 ) 0: D[23:16] の出力は有効です。 1: D[23:16] の出力は Hi-Z です。 150 第 4 章 ブート ROM/ 構成レジスタ [bit10] HIZ_D_15_0 ( 外部インタフェースを持つデバイスでのみ使用可能 ) 0: D[15:0] の出力は有効です。 1: D[15:0] の出力は Hi-Z です。 [bit9] DMASWP (MB91F362GB と MB91FV360GA のみ使用可能 ) 0: 外部 DMA チャネル 0 のスワップは無効です。 1: 外部 DMA チャネル 0 のスワップは有効です ( 端子の位置については , 表 4.2-1 を 参照してください )。 表 4.2-1 端子の位置 DMA ピンスワップ MB91F362GB MB91FV360GA DREQ0 ←→ BRQ 端子 61 ←→ 端子 37 端子 193 ←→ 端子 88 DACK0 ←→ BRGNTX 端子 62 ←→ 端子 36 端子 135 ←→ 端子 139 DEOP0 ←→ AS 端子 63 ←→ 端子 43 端子 84 ←→ 端子 87 [bit8] IICSEL (100 kHz および 400 kHz I2C インタフェースを持つデバイスでのみ使用可能 ) 0: 100 kHz I2C インタフェース (I2C-1) の選択 1: 400 kHz I2C インタフェース (I2C-2) の選択 <注意事項> IICSEL は必ず "1" を設定してください。 151 第 4 章 ブート ROM/ 構成レジスタ 152 第5章 クロック生成とデバイス状態 MB91360 シリーズの制御に使用するクロックの生 成 , および制御について , 詳細に説明します。さら に , デバイス状態 , および低電力モードについて解 説します。ここでは , サブクロックなしの動作を想 定しています。サブクロックの動作についての説 明は , 対応する章を参照してください。 5.1 クロック生成の概要 5.2 ベースクロックの生成 5.3 PLL 制御 5.4 待ち時間 5.5 クロック分配 5.6 クロックパルス分周 5.7 クロック生成制御 5.8 クロック生成制御ブロックのレジスタ 5.9 クロックソース PLL との切換え 5.10 クロック制御部が持つ周辺回路 5.11 デバイス状態の制御 5.12 低消費電力モード 153 第 5 章 クロック生成とデバイス状態 5.1 クロック生成の概要 内部動作クロックの生成の概要について説明します。 ■ クロック生成の概要 MB91360 シリーズは , 以下のように内部動作クロックを生成します。 • ベースクロックの生成 : デバイスは , ソースクロック (X クロック ) を 2 分周 , また は PLL 発振させて , 基本クロック (PLL クロック ) を生成 します。 • 各内部クロックの生成 : デバイスは , ベースクロックを分周し , 各ブロックに供給 するクロックを生成します。 以降に , 各クロックの生成 , および制御について説明します。 レジスタ , およびフラグの詳細については , 「5.7 クロック生成制御」と「5.8 クロッ ク生成制御ブロックのレジスタ」を参照してください。 32 kHz サブクロックを使用して RTC モジュールの動作が可能なデバイスもあります。 詳細については「第 29 章 サブクロック」を参照してください。 154 第 5 章 クロック生成とデバイス状態 5.2 ベースクロックの生成 内部動作クロック生成のうち , ベースクロックについて説明します。 ■ ベースクロックの生成 4 MHz 発振子 , およびキャパシタンスを , X0 端子 , および X1 端子に接続する必要があ ります。 外部バスクロックを含め , クロックはすべてデバイス自身で生成します。 内蔵 PLL(「5.7 クロック生成制御」を参照 ) は , メインクロックを使用して逓倍率を定 めます。 内部ベースクロックは , 以下のソースクロックから 1 つを選択して生成します。 • メインクロック入力の 2 分周を基準として生成したソースクロック (X クロック =2 MHz) • PLL でメインクロックを逓倍して生成したソースクロック (PLL クロック ) ソースクロックの選択は , クロックソース制御レジスタ (CLKR) を設定して制御しま す。 155 第 5 章 クロック生成とデバイス状態 5.3 PLL 制御 発振の許可 / 禁止 , および逓倍率は , クロックソース制御レジスタ (CLKR) の設定に より制御されます。 ■ PLL 発振の許可 / 禁止 PLL の発振許可 / 禁止は , CLKR の PLL1EN ビット (bit10) の設定に従って制御します。 設定初期化リセット (INIT) 後 , CLKR の PLL1EN ビット (bit10) は "0" に初期化され , PLL の発振動作は停止しています。PLL 発振停止中は , PLL クロックはソースクロッ クとして選択できません。 プログラムの動作開始時に , まず PLL の逓倍率を設定し , PLL 発振を許可します。次 に , PLL ロックの待ち時間が経過してから , ソースクロックを PLL クロックに切り換 えます。この際 , PLL ロック待ち時間の完了は , タイムベースタイマ割込みを使用する と良いでしょう。 PLL クロックをソースクロックとして選択している間は , PLL の動作は停止できませ ん ( 対応するレジスタビットに対する書込み動作は , 無効になります )。デバイスを停 止モードへ切り換える場合に PLL を停止させたい場合は , ソースクロックとして X ク ロックを選択し直してから PLL を停止させます。 停止モードで発振が停止するようにスタンバイ制御レジスタ (STCR) の OSCD1 ビット (bit0) を設定した場合 , デバイスが停止モードへ切り換わると , PLL も自動的に停止し ます。 その後デバイスが停止モードから復帰する際に , PLL は自動的に発振を開始します。 ■ PLL 逓倍率 クロックソース制御レジスタ (CLKR) の PLL1S2, PLL1S1, および PLL1S0 ビット (bit14 ∼ bit12) を使用して , PLL の逓倍率を設定します。 これらのビットは , 初期化リセット (INIT) の設定が実行されると , すべて "0" に初期化 されます。 ● PLL 逓倍率設定 PLL 逓倍率設定を初期値より変更する場合 , プログラムの動作開始後 , PLL の動作を許 可する前または許可時に , 逓倍率を設定します。PLL 逓倍率の変更後 , ロック待ち時間 が経過した後 , ソースクロックを PLL クロックに切り換えます。このとき , PLL ロッ ク待ち時間の完了は , タイムベースタイマ割込みを使用すると良いでしょう。 動作中に PLL 逓倍率の設定を変更する場合は , ソースクロックを X クロックに切り換 えてから設定を変更します。上記同様 , PLL 逓倍率の変更後は , ロック待ち時間が経過 したらソースクロックを PLL クロックに復帰させます。 PLL 逓倍率の設定は , PLL の使用中でも変更できます。ただしこの場合は , 逓倍率設定 の変更後 , デバイスは自動的に発振安定待ち状態に切り換わります。 プログラムの動作は , 発振安定待ち時間が経過するまで停止します。クロックソースを X クロックに切り換えた場合は , プログラムの動作は停止しません。 156 第 5 章 クロック生成とデバイス状態 5.4 待ち時間 発振器の許可後 , 発振器から安定クロック信号が発振されるまで , しばらく時間がか かります。この時間を , 発振安定待ち時間とよびます。(「5.10 クロック制御部が持 つ周辺回路」参照 ) ■ 待ち時間 PLL の動作開始後 , 設定した PLL 出力周波数が安定するまで , さらに一定の時間を必 要とします。この時間を , PLL ロック待ち時間とよびます。 待ち時間が必要な場合について , 以下に詳細を説明します。 ● 電源投入後の待ち時間 電源投入後 , メインクロック用発振器回路の発振安定待ち時間が経過するまで , 動作を 待たなければなりません。 発振安定待ち時間は , INITX 端子に "L" レベルを入力することにより , 初期値に初期化 されます。詳細については , 「5.8.2 STCR: スタンバイ制御レジスタ」を参照してくだ さい。 初期状態では , PLL の動作は許可されていないため , ロック待ち時間を考慮する必要は ありません。 ● 初期化リセット後の待ち時間 初期化リセット (INIT) が解除されると , デバイスは発振安定待ち状態に切り換わりま す。この状態では , 発振安定待ち時間を内部的に生成します。 電源投入時 , INITX 端子への "L" レベル入力により発振安定待ち状態になると , 時間は 初期値に初期化されます。 ただし , この状態において "L" レベルが HSTX 端子 ( ハードウェアスタンバイ端子 ) に 入力されると , デバイスはハードウェアスタンバイ状態に切り換わり , 発振器回路が停 止します。このため , 発振安定待ち時間は , 安全のため最大値に初期化されます。 プログラムの動作開始後 , INITX 端子への信号入力以外の要因により INIT された場合 , INIT を解除すると , プログラムが設定した発振安定待ち時間が使用されます。 これらの状態では , PLL の動作が許可されていないため , ロック待ち時間を考慮する必 要はありません。 ● PLL の動作許可後の待ち時間 プログラムの動作が始まり , 停止状態の PLL の動作を許可した場合 , ロック待ち時間 が経過するまでは PLL 出力を使用できません。 ソースクロックとして PLL を選択していない場合は , ロック待ち時間中であってもプ ログラムの動作は実行可能です。 この際 , PLL ロック待ち時間は , タイムベースタイマ割込みを使用すると良いでしょ う。 157 第 5 章 クロック生成とデバイス状態 ● PLL 逓倍率変更後の待ち時間 プログラムの動作が始まり , 動作中の PLL の逓倍率設定を変更した場合 , ロック待ち 時間が経過するまでは PLL 出力を使用できません。 ソースクロックとして PLL を選択していない場合は , ロック待ち時間中であってもプ ログラムの動作は実行可能です。 この際 , PLL ロック待ち時間は , タイムベースタイマ割込みを使用すると良いでしょ う。 ● 停止モード復帰後の待ち時間 プログラムの動作が始まり , デバイスが停止モードに切り換わった場合 , 停止モードか らの復帰時に , プログラムが設定した発振安定待ち時間が使用されます。 停止モードで発振器回路が停止するよう設定した場合は , 発振器回路の発振安定待ち 時間または使用している PLL のロック待ち時間のうち , どちらか長い方が必要となり ます。あらかじめ発振安定待ち時間を設定してから , デバイスを停止モードに切り換え てください。 発振器回路が停止モードで停止しないよう設定した場合は , デバイスが停止モードに 切り換える前に , 発振安定待ち時間を最小値に設定します。 <注意事項> 158 ただし , 発振回路が停止後停止モードでハードウェアスタンバイ要求を入力した場 合は , 復帰後に発振安定停止時間が必要となります。発振安定待ち時間を最小値に 設定した場合は , この待ち時間を確保できず , 復帰後の動作は保証されません。こ の場合は前もって発振器回路用の発振安定待ち時間を設定しておいてください。 第 5 章 クロック生成とデバイス状態 5.5 クロック分配 ソースクロックから生成されたベースクロックをもとに , 各機能の動作クロックを 作成します。デバイスには , 以下の 3 種類のメイン内部動作クロックがあります。 • CPU クロック (CLKB) • リソースクロック (CLKP) • 外部バスクロック (CLKT) また,上記 3 種類のクロックのほかに次の 2 つのクロックがあります。 • CAN モジュール用クロック (CANCLK) • RTC 用クロック ( リアルタイムクロックモジュール ) それぞれのクロックの分周比は , 個別に設定できます。 ここでは , 各内部動作クロックについて説明します。 ■ CPU クロック (CLKB) CPU クロックは , CPU, 内部メモリ , および内部バスで使用します。 CPU クロックは , 以下の回路で使用します。 • CPU • 命令キャッシュ • 内蔵 RAM, 内蔵フラッシュメモリ , 内蔵 ROM ( 関連するウェイトサイクルの設定は「第 31 章 フラッシュメモリ」を参照してく ださい。) • ビットサーチモジュール • I バス , D バス , X バス , F バス • DMA コントローラ • DSU 周波数の上限はデバイスにより異なります。 「第 1 章 MB91360 シリーズの概要」の表 1.4-1 を参照してください。この周波数の上限を超える逓倍率と分周比の組合せは設定 できません。 ■ リソースクロック (CLKP) リソースクロックは , リソース , および周辺回路バスで使用します。 リソースクロックは , 以下の回路で使用します。 • 周辺回路バス • クロック制御ブロック ( バスインタフェースブロックのみ ) • 割込みコントローラ , 外部割込み入力 • I/O ポートバス , リソース I/O ポート • ステッパモータコントローラ • UART モジュール , U- タイマ • SIO, SIO プリスケーラ 159 第 5 章 クロック生成とデバイス状態 • 16 ビットリロードタイマ • A/D コンバータ , D/A コンバータ • I/O タイマ • サウンド生成器 • PWM タイマ • I2C インタフェース • アラーム比較器 , パワーダウンリセット 動作可能な周波数の上限は 32 MHz です。この周波数の上限を超える逓倍率と分周比 の組合せは設定できません。 ■ 外部バスクロック (CLKT) 外部バスクロックは , 外部拡張バスインタフェースで使用します。 外部バスクロックは , 以下の回路で使用します。 • 外部拡張バスインタフェース • 外部 CLK 出力 • バスインタフェース I/O ポート 動作可能な周波数の上限は 32 MHz です。この周波数の上限を超える逓倍率と分周比 の組合せは設定できません。 ■ その他のクロック 上記 3 種類のクロックのほかに , 次の 2 つのクロックがあります。 ● CAN モジュール用クロック (CANCLK) 本クロックは , PLL の出力から直接生成します。本クロックの比率は , 8 ビット長プロ グラマブルプリスケーラ ( レジスタ CMCR) が制御しています。CANCLK の値は , PLL クロック /( プリスケーラ値 +1) です。 ● RTC 用クロック ( リアルタイムクロックモジュール ) 本クロックは , デバイス , および SELCLK 端子の設定に従って , 4 MHz または 32 kHz の発振器回路出力から直接生成します。 160 第 5 章 クロック生成とデバイス状態 5.6 クロックパルス分周 各内部動作クロックの分周比は , ベースクロックから個別に設定できます。この機 能により , 各回路の最適な動作周波数が設定できます。 ■ クロックパルス分周 分周比は , DIVR0( 基本クロック分周設定レジスタ 0) および DIVR1( 基本クロック分周 設定レジスタ 1) にて設定します。DIVR0, および DIVR1 には , それぞれ , 各クロックに 対応する 4 ビットの設定ビットがあります。レジスタ設定値 +1 がそのクロックのベー スクロックに対する分周比です。設定した分周比が奇数であっても , デューティは常に "50" です。 レジスタ設定値を変更すると , 次のクロックの立上りエッジから , 新しい分周比が有効 になります。 動作初期化リセット (RST) が生成した場合 , 分周比設定は初期化されず , RST 生成前の 分周比設定が保持されます。設定初期化リセット (INIT) が生成した場合のみ , 分周比 設定は初期化されます。初期状態では , リソースクロック (CLKP) 以外は , すべてのク ロックの分周比が "1" になります。 このため , 必ず分周比を設定してから , ソースクロックを高速なもの (PLL クロック ) に変更します。 <注意事項> 動作可能な周波数の上限は , クロックごとに指定されています。ソースクロックの 選択 , PLL 逓倍率の設定 , および分周比の設定の組合せによって , 動作可能な周波 数の上限を超えた場合 , その動作は保証されません。 ソースクロック選択の変更設定シーケンスを間違えないように注意してください。 161 第 5 章 クロック生成とデバイス状態 5.7 クロック生成制御 ここでは , クロック生成制御ブロックのブロックダイヤグラムを示します。 ■ クロック生成制御ブロックのブロックダイヤグラム 図 5.7-1 に , クロック生成制御ブロックのブロックダイヤグラムを示します。レジスタ の詳細については ,「5.8 クロック生成制御ブロックのレジスタ」を参照してください。 Rバス 図 5.7-1 クロック生成制御ブロックのブロックダイヤグラム [クロック発生ブロック] DIVR0および DIVR1レジスタ CPUクロック分周 分周器 1~16 リソースクロック分周 分周器 1~16 外部バスクロック分周 停 止 制 御 分周器 1~16 CLKRレジスタ SELCLK X0 X1 PLL 1 クロック 変調器 X1A 発振器 回路 32 kHz 外部バスクロック CLKT MONCLK 1/2 RTCのクロック RTCCLK 0 X0A リソースクロック CLKP CANのクロック CANCLK プリスケーラ 発振器 回路 4 MHz CPUクロック CLKB [停止/スリープ制御ブロック] STCRレジスタ 内部割込み 停止状態 状態遷移 制御回路 スリープ状態 内部リセット リセット発生 F/F HSTX リセット発生 F/F 内部リセット(RST) 内部リセット(INIT) [リセットソース回路] RSTX INITX RSRRレジスタ ウォッチドッグF/F タイムベースカウンタ CTBRレジスタ TBCRレジスタ オーバフロー検出F/F タイムベースタイマ 割込み要求 割込み許可 [ウォッチドッグ制御ブロック] 162 第 5 章 クロック生成とデバイス状態 5.8 クロック生成制御ブロックのレジスタ クロック生成制御ブロックのレジスタの詳細について説明します。 ■ クロック生成制御ブロックのレジスタ クロック生成制御ブロックのレジスタには , 以下のものがあります。 • リセット要因レジスタ , ウォッチドッグタイマ制御レジスタ (RSRR) 直前のリセット要因を保持し , ウォッチドッグタイマの起動を制御するレジスタで す。 • スタンバイ制御レジスタ (STCR) デバイスの動作モードを制御するレジスタです。 • タイムベースカウンタ制御レジスタ (TBCR) タイムベースタイマ割込みなどを制御するレジスタです。 • タイムベースカウンタクリアレジスタ (CTBR) タイムベースカウンタを初期化するレジスタです。 • クロックソース制御レジスタ (CLKR) システムのベースクロックとして使用するクロックソースを選択するとともに , PLL を制御するレジスタです。 • ベースクロック分周設定レジスタ 0 (DIVR0) 各内部クロックのベースクロックの分周比を制御するレジスタです。 • ベースクロック分周設定レジスタ 1 (DIVR1) 各内部クロックのベースクロックの分周比を制御するレジスタです。 • CAN モジュールのクロック制御 (CMCR) CAN モジュールの専用クロックである CANCLK を起動するために使用するレジス タです。 以降に , 各レジスタの詳細を説明します。 163 第 5 章 クロック生成とデバイス状態 5.8.1 RSRR: リセット要因レジスタ , ウォッチドッグタイ マ制御レジスタ リセット要因レジスタ , ウォッチドッグタイマ制御レジスタは , 直前のリセット要因 を保持し , ウォッチドッグタイマの起動を制御するレジスタです。 ■ リセット要因レジスタ , ウォッチドッグタイマ制御レジスタ (RSRR) リセット要因レジスタ , ウォッチドッグタイマ制御レジスタのレジスタ構成を , 以下に 示します。 bit 15 14 13 12 11 10 9 8 アドレス : 0000 0480H INIT HSTB WDOG ERST SRST - WT1 WT0 アクセス R R R R R - R/W R/W 初期値 (INITX) 1 0 0 0 0 - 0 0 初期値 (INIT) * * * x x - 0 0 初期値 (RST) x x x * * - 0 0 ROM のブート後 ** 0 0 0 0 0 - 0 0 * : リセット要因により変化します。 x : 初期化されません。 ** : 内部ブート ROM でプログラムを実行後 , リセット要因の値を R4 に転送します。 RSRR を使用して直前のリセット要因を保持し , ウォッチドッグタイマの開始を制御し ます。また , ウォッチドッグタイマの周期も設定します。本レジスタを読み出す場合 , 保持されていたリセット要因はクリアされます。本レジスタの読出し前に複数回リ セットが生成した場合 , リセット要因フラグは累積 ( 設定 ) されます。 本レジスタに書込みを行うと , ウォッチドッグタイマが起動します。RST が生成する まで , ウォッチドッグタイマは動作を続けます。 [bit15] INIT (INITialize reset occurred) 本ビットは , INITX 端子入力によるリセット (INIT) の発生の有無を示します。 0 INITX 端子入力による INIT は生成していません 1 INITX 端子入力による INIT が生成しました • 本ビットは , 読出し直後に "0" に設定されます。 • 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること はありません。 164 第 5 章 クロック生成とデバイス状態 [bit14] HSTB (Hardware STandBy reset occurred) 本ビットは , HSTX 端子入力によるリセット (INIT) の発生の有無を示します。 0 HSTX 端子入力による INIT は生成していません 1 HSTX 端子入力による INIT が生成しました • 本ビットは , INITX 端子入力によるリセット (INIT) が生成した場合 , または読出し を行った直後に , "0" に初期化されます。 • 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること はありません。 [bit13] WDOG (WatchDOG reset occurred) 本ビットは, ウォッチドッグタイマによるリセット(INIT)の発生の有無を示します。 0 ウォッチドッグタイマによる INIT は生成していません 1 ウォッチドッグタイマによる INIT が生成しました • 本ビットは , INITX 端子入力によるリセット (INIT) が生成した場合または読出しを 行った直後に , "0" に初期化されます。 • 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること はありません。 [bit12] ERST (External ReSeT occurred) 本ビットは , RSTX 端子入力によるリセット (RST) の発生の有無を示します。 0 RSTX 端子入力による RST は生成していません 1 RSTX 端子入力による RST が生成しました • 本ビットは , INITX 端子入力によるリセット (INIT) が生成した場合または読出しを 行った直後に , "0" に初期化されます。 • 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること はありません。 [bit11] SRST (Software ReSeT occurred) 本ビットは , STCR レジスタの SRST 端子へのデータ書込み ( ソフトウェアリセット ) による , リセット (RST) の発生の有無を示します。 0 ソフトウェアリセットによる RST は生成していません 1 ソフトウェアリセットによる RST が生成しました • 本ビットは , INITX 端子入力によるリセット (INIT) 生成時または読出し直後に , "0" に初期化されます。 • 本ビットは読出し専用です。書込みによって , ほかのビット値に影響を与えること はありません。 165 第 5 章 クロック生成とデバイス状態 [bit9, bit8] WT1, WT0 (Watchdog interval Time select) 本ビットを使用して , ウォッチドッグタイマの周期を設定します。 本ビットに値を書き込むことにより, 表 5.8-1 に示す4種類のウォッチドッグタイマ 周期から 1 つを選択します。 表 5.8-1 ウォッチドッグタイマ周期 WT0 ウォッチドッグリセットの生成を 抑止するのに最小限必要な CTBR への書込み間隔 CTBR への最終 5AH 書込みから WT1 0 0 φ × 220 ( 初期値 ) φ × 220 ∼ φ × 221 0 1 φ × 222 φ × 222 ∼ φ × 223 1 0 φ × 224 φ × 224 ∼ φ × 225 1 1 φ × 226 φ × 226 ∼ φ × 227 ウォッチドッグリセット生成ま での時間 ( 注意事項 ) φ はシステムベースクロックの周期です。 • 本ビットは , リセット (RST) により "00" に初期化されます。 • 本ビットは読出し専用です。リセット (RST) 後 , 最初の書込みだけが有効です。そ れ以降の書込みは無効となります。 166 第 5 章 クロック生成とデバイス状態 STCR: スタンバイ制御レジスタ 5.8.2 本レジスタは , デバイスの動作モードを制御するレジスタです。 ■ スタンバイ制御レジスタ スタンバイ制御レジスタのレジスタ構成を , 以下に示します。 bit 7 6 5 4 3 2 1 0 アドレス : 0000 0481H STOP SLEEP HIZ SRST OS1 OS0 アクセス 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 初期値 (HSTX)* 0 0 1 1 1 1 1 1 初期値 (INIT) 0 0 1 1 x x 1 1 初期値 (RST) 0 0 x 1 x x x x OSCD2 OSCD1 * : INITX による初期化と同時に , 本初期化が行われた場合のみ有効です。その他については , INIT と同様です。 本レジスタを使用して , デバイスの動作モードを制御します。 デバイスの停止モードとスリープモードの2つのスタンバイモードに切り換えたり, 停 止モード中の端子や発振停止の制御を行います。また , 発振安定待ち時間の設定 , ソフ トウェアリセット命令の発行を行います。 <注意事項> スタンバイモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウン タ制御レジスタの bit8:SYNCS ビットにて設定します ) を使用したうえで , 以下のシー ケンスを必ず使用してください。 /*STCR ライト */ ldi #_STCR,R0 ;STCR レジスタ (0481H) ldi #_Val_of_Stdy,ri ;Val_of_Stdy は ,STCR へのライトデータ std rl,@r0 ;STCR へのライト /*STBR ライト */ ldi #_CTBR,r2 ;CTBR レジスタ (0483H) ldi #0xA5,rl ; クリアコマンド (1) stb rl,@r2 ;CTBR への A5 ライト ldi #0xA5,rl ; クリアコマンド (2) stb rl,@r2 ;CTBR への A5 ライト /* ここでタイムベースカウンタクリア */ ldub @r0,rl ;STCR リード /* 同期スタンバイ遷移開始 */ ldub @r0,rl ;STCR ダミーリード 167 第 5 章 クロック生成とデバイス状態 ; タイミング調整用の NOP × 5 nop nop nop nop nop [bit7] STOP (STOP mode) 本ビットを使用して , デバイスに対し停止モードへの切換えを指示します。bit6: SLEEP ビットと本ビット両方に "1" を書き込んだ場合は , 本ビットの方が優先とな り , 停止モードに切り換わります。 0 デバイスは , 停止モードに切り換わりません ( 初期値 ) 1 デバイスは , 停止モードに切り換わります • 本ビットは , リセット (RST) 時または停止復帰要因により , "0" に初期化されます。 • 本ビットは読出し , および書込みが可能です。 同期スタンバイについては ,「5.11.2 各状態遷移要求の優先順位」を参照してください。 [bit6] SLEEP (SLEEP mode) 本ビットを使用して , デバイスにスリープモードに切り換わるよう指示します。bit7 (STOP ビット ) が , 本ビットより優先されます。つまり , 両ビットが "1" の場合 , デ バイスは停止モードに切り換わります。 0 デバイスは , スリープモードに切り換わりません ( 初期値 ) 1 デバイスは , スリープモードに切り換わります • 本ビットは , リセット (RST) 時またはスリープ復帰要因により , "0" に初期化されま す。 • 本ビットは読出し , および書込みが可能です。 同期スタンバイについては , 「5.11.1 デバイスの状態と遷移」を参照してください。 [bit5] HIZ (HIZ mode) 本ビットを使用して , デバイスの停止モード時に , 端子状態を制御します。 0 デバイスが停止モードに切り換わる前の端子状態が保持されます 1 デバイスが停止モードの時は , 端子出力はハイインピーダンス状態になります ( 初期値 ) • 本ビットは , リセット (INIT) 生成時に "1" に初期化されます。 • 本ビットは読出し , および書込みが可能です。 [bit4] SRST (Software ReSeT) 本ビットを使用して , ソフトウェアリセット (RST) 命令を発行します。 0 ソフトウェアリセット (RST) 命令が発行されました 1 ソフトウェアリセット (RST) 命令は発行されません ( 初期値 ) • 本ビットは , リセット (RST) 生成時に "1" に初期化されます。 • 本ビットは読出し , および書込みが可能です。常に "1" が読み出されます。 168 第 5 章 クロック生成とデバイス状態 [bit3, bit2] OS1, OS0 (Oscillation Stabilization time select) 本ビットは , リセット (INIT) 後または停止モード復帰後等における発振安定待ち時 間を設定します。 表 5.8-2 で示しているのは , 本ビットへの書込み値と , それぞれに対応する 4 種類の 発振安定待ち時間の組合せです。 表 5.8-2 発振安定待ち時間との組合せ OS1 OS0 発振安定待ち時間 4 MHz 発振時 0 0 φ × 216 ( 初期値 ) 32 [ms] 0 1 φ × 211 1 [ms] 1 0 φ × 216 32 [ms] 1 1 φ × 21 1 [µs] ( 注意事項 )φ は , システムベースクロックの周期です。この場合 , 原発振の 2 倍の 周期です。 • 本ビットは, INITX端子入力によるリセット(INIT)生成時に, "00"に初期化されます。 ただし , INITX 端子入力によるリセット (INIT) と , HSTX 端子入力によるリセット (INIT) が同時に有効であった場合は , 本ビットは "11" に初期化されます。 • 本ビットは読出し , および書込みが可能です。 [bit1] OSCD2 (OSCillation Disable mode for subclock oscillator) 設定については , サブクロックの動作についての章を参照してください。 [bit0] OSCD1 (OSCillation Disable mode for subclock oscillator) 本ビットは , メイン発振入力 (XIN1) における停止モードの発振停止を制御します。 0 発振は , 停止モード中も停止しません 1 発振は , 停止モードで停止します ( 初期値 ) • 本ビットは , リセット (INIT) 生成時に "1" に初期化されます。 • 本ビットは読出し , および書込みが可能です。 169 第 5 章 クロック生成とデバイス状態 5.8.3 TBCR: タイムベースカウンタ制御レジスタ 本レジスタは , タイムベースタイマ割込みなどを制御するレジスタです。 ■ タイムベースカウンタ制御レジスタ タイムベースカウンタ制御レジスタのレジスタ構成を , 以下に示します。 bit 15 14 13 12 11 10 9 8 アドレス : 0000 0482H TBIF TBIE TBC2 TBC1 TBC0 − 初期値 (INIT) 0 0 x x x x 0 0 初期値 (RST) 0 0 x x x x x x R/W R/W R/W R/W R/W R/W R/W R/W SYNCR SYNCS 内部ブート ROM のコードを実行後 , このレジスタの値は "0x03" となります。 本レジスタは , タイムベースタイマ割込みなどを制御します。 タイムベースタイマ割込みの許可 , 割込みインターバル時間の選択 , およびリセット動 作のオプション機能の設定を行います。 [bit15] TBIF (Time-Base timer Interrupt Flag) 本ビットは , タイムベースタイマ割込みフラグです。 タイムベースカウンタが設定されたインターバル時間が経過したことを示し ます (bit13 ∼ bit11(TBC2 ∼ TBC0 ビット ) で設定したインターバル時間 )。 bit14(TBIE ビット ) による割込み許可時 (TBIE=1), bit15 に "1" を設定すると , タイム ベースタイマ割込み要求が生成されます。 クリア要因 命令による "0" の書込み 設定要因 設定 ( 指定 ) したインターバル時間の経過 ( タイムベースカウンタ 出力の立下りエッジの検出 ) • 本ビットは , リセット (RST) 生成時に "0" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 ただし , 書込みは "0" のみ有効です。"1" を書き込んでもビット値は変更されません。 リードモディファイライト系命令による読出し値は , 常に "1" となります。 [bit14] TBIE (Time-Base timer Interrupt Enable) 本ビットは , タイムベースタイマ割込み要求の出力を許可します。 タイムベースカウンタが設定されたインターバル時間を経過したことによって生 成する , 割込み要求出力を制御します。 本ビットを "1" に設定した場合 , bit15(TBIF ビット ) を "1" に設定すると , タイムベー スタイマ割込み要求が生成されます。 170 第 5 章 クロック生成とデバイス状態 0 タイムベースタイマ割込み要求の出力を禁止します ( 初期値 ) 1 タイムベースタイマ割込み要求の出力を許可します • 本ビットは , リセット (RST) 生成時に "1" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 [bit13 ∼ bit11] TBC2, TBC1, TBC0 (Time-Base timer Counting time select) 本ビットは , タイムベースタイマで使用するタイムベースカウンタのインターバル 時間を設定します。 表 5.8-3 に示しているのは , 本ビットの書込み値と , それぞれに対応する 8 種類のイ ンターバル時間の組合せです。 表 5.8-3 インターバル時間との組合せ TBC2 TBC1 TBC0 タイマ インターバル時間 クロック周波数を 48 MHz に設定した場合 0 0 0 φ × 211 42.6 [µs] 0 0 1 φ × 212 85.3 [µs] 0 1 0 φ × 213 170.6 [µs] 0 1 1 φ × 222 87.3 [ms] 1 0 0 φ × 223 174.7 [ms] 1 0 1 φ × 224 349.5 [ms] 1 1 0 φ × 225 699 [ms] 1 1 1 φ × 226 1.4 [s] ( 注意事項 ) φ は , システムベースクロックの周期です。 • 本ビットの初期値は不定です。必ず値を設定してから割込みを許可してください。 • 本ビットは , 読出し , および書込みが可能です。 [bit10] ( 予約ビット ) 本ビットは , 予備のビットです。 読出し値は不定で , 書込みは無効です。 [bit9] SYNCR (SYNChronous Reset enable) 本ビットは , 同期リセット動作許可ビットです。 動作初期化リセット(RST)要求またはハードウェアスタンバイ要求が生成した場合, 即座にリセット (RST) またはハードウェアスタンバイ遷移を行う通常リセット動作 を行うか , すべてのバスアクセスが停止してから動作初期化リセット (RST) または ハードウェアスタンバイ遷移を行う同期リセット動作を行うかを選択します。 171 第 5 章 クロック生成とデバイス状態 0 通常リセットを行います 1 同期リセットを行います • 本ビットは , リセット (INIT) 時に "0" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 [bit8] SYNCS (SYNChronousb Standby enable) 本ビットは , 同期スタンバイ動作許可ビットです。 スタンバイ要求 ( スリープモード要求または停止モード要求 ) が発生する際 , STCR レジスタの制御ビットへの書込みによってのみスタンバイ状態に遷移を行う通常 スタンバイ動作を行うか STCR レジスタの制御ビットへの書込み後に STCR レジス タの読出しによってスタンバイ状態に遷移を行う同期スタンバイ動作を行うかを 選択します。 0 通常スタンバイ動作を行います 1 同期スタンバイ動作を行います • 本ビットは , リセット (INIT) 時に "0" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 172 第 5 章 クロック生成とデバイス状態 CTBR: タイムベースカウンタクリアレジスタ 5.8.4 本レジスタは , タイムベースカウンタを初期化するレジスタです。 ■ タイムベースカウンタクリアレジスタ タイムベースカウンタクリアレジスタのレジスタ構成を , 以下に示します。 bit 7 6 5 4 3 2 1 0 アドレス : 0000 0483H D7 D6 D5 D4 D3 D2 D1 D0 初期値 (INIT) x x x x x x x x 初期値 (RST) x x x x x x x x W W W W W W W W タイムベースカウンタを初期化するためのレジスタです。 本レジスタに連続して {A5H} と {5AH} を書き込むと , {5AH} の書込み直後にタイム ベースカウンタを全ビット "0" にクリアします。{A5H} 書込みと {5AH} 書込みの間に 時間制限はありませんが , {A5H} の書込み後に {5AH} 以外のデータを書き込むと , 再度 {A5H} を書き込まないと {5AH} を書き込んでもクリア動作は行いません。 ストップ , スリープ ,DMA 転送中など ,CPU が動作してない間は自動的にクリアを行い ますので , これらの条件が発生するとウォッチドッグリセットは自動的に延期されま す。ただし , 外部バスのホールド要求 (BRQ) が受け付けられている場合ではウォッチ ドッグリセットは延期されませんので,長時間外部バスをホールドする場合はスリープ モードにしてからホールド要求 (BRQ) を入力してください。 本レジスタの読出し値は不定です。 <注意事項> 本レジスタを使用してタイムベースカウンタをクリアした場合 , 発振安定待ち間隔 , ウォッチドッグタイマ周期 , およびタイムベースタイマ周期は , 一時的に変動しま す。 173 第 5 章 クロック生成とデバイス状態 5.8.5 CLKR: クロックソース制御レジスタ 本レジスタは , システムのベースクロックとして使用するクロックソースを選択す るとともに , PLL を制御するレジスタです。 ■ クロックソース制御レジスタ クロックソース制御レジスタのレジスタ構成を , 以下に示します。 bit 15 14 13 12 11 10 9 8 アドレス : 0000 0484H PLL2S0 PLL1S2 PLL1S1 PLL1S0 PLL2EN PLL1EN CLKS1 CLKS0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 1 1 0 0 0 0 初期値 (RST) x x x x x x x x 内部ブート ROM のコードを実行中 , ブート条件が有効になると , 本レジスタは , "0x00"(4 MHz モード ) または "0x36"(32 kHz モード ) のいずれかに設定されます。 本レジスタは , システムのベースクロックとして使用するクロックソースを選択する とともに , PLL を制御します。 本レジスタでは , 3 種類のクロックソース (2 種類が本製品で利用可能 ) のうち 1 つを選 択します。また , メインシステム , およびサブシステムそれぞれの PLL 動作ならびに 逓倍率を許可します。 [bit15] PLL2S0 (PLL2 ratio Select 0) 本ビットは , この製品では使用しません。 [bit14 ∼ bit12] PLL1S2, PLL1S1, PLL1S0 (PLL1 ratio Select 2-0) 本ビットは , PLL の逓倍率を選択します。 8 種類の逓倍率のうち , 1 つを PLL 用に選択します (6 種類の逓倍率が本製品で利用 可能 )。 PLL をクロックソースとして選択している間は , 本ビットの書換えは禁止されてい ます。 表 5.8-4 に示しているのは , 本ビットの書込み値と , それぞれに対応する PLL の逓 倍率の組合せです。 174 第 5 章 クロック生成とデバイス状態 表 5.8-4 PLL の逓倍率との組合せ システムベースクロックの周期 φ PLL1S2 PLL1S1 PLL1S0 PLL の逓倍率 0 0 0 予約 設定禁止 0 0 1 予約 設定禁止 0 1 0 (6 で逓倍 ) φ=41.7 [ns] (24 [MHz]) 0 1 1 (4 で逓倍 ) φ=62.5 [ns] (16 [MHz]) 1 0 0 (8 で逓倍 ) φ=31.3 [ns] (32 [MHz]) 1 0 1 (10 で逓倍 ) φ=25.0 [ns] (40 [MHz]) 1 1 0 (12 で逓倍 ) φ=20.8 [ns] (48 [MHz]) 1 1 1 (16 で逓倍 ) φ=15.6 [ns] (64 [MHz]) ( 注意事項 ) φ は , システムベースクロックの周期です。 • 本ビットは , リセット (INIT) 時に "000" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 [bit11] PLL2EN (PLL2 ENable) 設定については , サブクロックの動作についての章を参照してください。 [bit10] PLL1EN (PLL1 ENable) 本ビットは , PLL の動作を許可します。 PLL をクロックソースとして選択している間は , 本ビットの書換えは禁止されてい ます。 また , 本ビットが "0" のとき , PLL をクロックソースとして選択することは禁止され ています ( クロックソースは , bit9, bit8 (CLKS1, CLKS0) の設定によります )。 STCR の bit0 (OSCD1) が "1" の場合 , bit10 が "1" であっても , PLL は停止モードにおい て停止します。PLL の動作は , 停止モードから復帰した後許可されます。 0 PLL を停止します ( 初期値 ) 1 PLL の動作を許可します • 本ビットは , リセット (INIT) 時に "0" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 • PLL をクロックソースとして選択するためには , CLKS1, CLKS0 の変更前に , 本ビッ トを "1" に設定してください。 • 必ずほかのクロック設定がすべて済んでから , 本ビットを "1" に設定してください ( ただし , DIVR0 の説明の注意事項も参照してください )。 175 第 5 章 クロック生成とデバイス状態 [bit9, bit8] CLKS1, CLKS0 (ClocK source Select) 本ビットは , FR50 コアのクロックソースを設定します。 表 5.8-5 は , 本ビットに書き込む値と , それぞれに対応するクロックソースの組合せ です (2 種類のクロックソースが本製品で利用可能です )。 bit9 (CLKS1) が "1" の場合 , bit8 (CLKS0) の値は変更できません。 表 5.8-5 クロックソースとの組合せ [ 変更不可 ] [ 変更可能 ] "00" → "11" "00" → "01" または "10" "01" → "10" "01" → "11" または "00" "10" → "01" または "11" "10" → "00" "11" → "00" または "10" "11" → "01" CLKS1 CLKS0 クロックソース設定 0 0 発振入力 "X クロック " の 2 分周 ( 初期値 ) 0 1 発振入力 "X クロック " の 2 分周 1 0 PLL クロック 1 1 予約 • 本ビットは , リセット (INIT) 時に "00" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 • 前もって PLL が許可されている場合 (PLL1EN = 1) のみ , 本ビットを "10" に設定で きます。 176 第 5 章 クロック生成とデバイス状態 DIVR0: ベースクロック分周設定レジスタ 0 5.8.6 本レジスタは , 各内部クロックのベースクロックの分周比を制御するレジスタです。 ■ ベースクロック分周設定レジスタ 0 ベースクロック分周設定レジスタ 0 のレジスタ構成を , 以下に示します。 bit 15 14 13 12 11 10 9 8 アドレス : 0000 0486H B3 B2 B1 B0 P3 P2 P1 P0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 0 0 0 0 1 1 初期値 (RST) x x x x x x x x 内部ブート ROM のコードを実行中 , ブート条件が有効になると , 本レジスタは "0x00" に設定されます。 本レジスタは , 各内部クロックのベースクロックに対する分周比を制御します。 CPU, および内部バス (CLKB) のクロックと , リソース , および周辺回路バス (CLKP) の クロックの分周比を設定します。 動作周波数の上限は , クロックごとに定義されています。ソースクロックの選択 , PLL 逓倍率の設定 , および分周比の設定の組合せによって , 周波数の上限を超えた場合 , 動 作は保証されないことに注意してください ( ソースクロック選択の変更設定との順序 を間違えないよう注意してください )。 本レジスタ設定を変更すると , 次のクロックレートから新しい分周比が有効になりま す。 [bit15 ∼ bit12] B3, B2, B1, B0 (clkB divide select 3 to 0) 本ビットは , CPU クロック (CLKB), 内部メモリ , および内部バスの分周比を設定し ます。 本ビットに書き込む値により , CPU クロック , および内部バスのベースクロックに 対する分周比 ( クロック周波数 ) を , 表 5.8-6 に示す 16 種類の中から 1 つ選択します。 周波数の上限は 64 MHz です。この上限を超える周波数になる分周比は設定しない でください。 <注意事項> CLKB を分周する際 , CLKB と CLKT の比率に関していくつかの注意が必要です。 CLKB を分周する必要がある場合は , 以下の手引きに従ってください。 1. 両クロックの比率を "1" に設定して開始します。 2. PLL を許可します。 3. PLL がロックされるまで待ちます。 4. クロックソースを PLL に設定します。 5. 両クロックの分周比を同時に設定します。DIVR0 と DIVR1 に同時に書き込みま す ( ハーフワードアクセス )。必ず , CLKB の周波数が CLKT の周波数以上で , CLKB の周波数が CLKT の周波数の整数倍になるように , 比率を選択します。設 定値については , 表 5.8-6 を参照してください。 6. 停止モードにする前に CLKB の分周比を "1" に戻し , PLL をクロックソースから 解除した後 , 停止モードにします。 177 第 5 章 クロック生成とデバイス状態 表 5.8-6 CPU クロック , および内部バスのベースクロックに対する分周比 ( クロック周波数 ) B3 B2 B1 B0 クロック分周比 クロック周波数 : ベースクロックが 48 MHz の場合 0 0 0 0 φ 48 [MHz] ( 初期値 ) 0 0 0 1 φ × 2 ( 分周比 2) 24 [MHz] 0 0 1 0 φ × 3 ( 分周比 3) 16 [MHz] 0 0 1 1 φ × 4 ( 分周比 4) 12 [MHz] 0 1 0 0 φ × 5 ( 分周比 5) 9.6 [MHz] 0 1 0 1 φ × 6 ( 分周比 6) 8 [MHz] 0 1 1 0 φ × 7 ( 分周比 7) 6.8 [MHz] 0 1 1 1 φ × 8 ( 分周比 8) 6 [MHz] … … … … … … 1 1 1 1 φ × 16 ( 分周比 16) 3 [MHz] ( 注意事項 ) φ は , システムベースクロックの周期です。 • 本ビットは , リセット (INIT) 時に "0000" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 [bit11 ∼ bit8] P3, P2, P1, P0 (clkP divide select 3 to 0) 本ビットは, 周辺回路クロック, および周辺回路バス(CLKP)の分周比を設定します。 本ビットに書き込む値により , 周辺回路 , およびバスのベースクロックに対する分 周比 ( クロック周波数 ) を , 表 5.8-7 に示す 16 種類の中から 1 つ選択します。 周波数の上限は 32 MHz です。この上限を超える周波数になる分周比は設定しない でください。 表 5.8-7 周辺回路 , およびバスのベースクロックに対する分周比 ( クロック周波数 ) P3 P2 P1 P0 クロック分周比 クロック周波数 : ベースクロックが 48 MHz の場合 0 0 0 0 φ 設定禁止 0 0 0 1 φ × 2 ( 分周比 2) 24 [MHz] 0 0 1 0 φ × 3 ( 分周比 3) 16 [MHz] 0 0 1 1 φ × 4 ( 分周比 4) 12 [MHz] ( 初期値 ) 0 1 0 0 φ × 5 ( 分周比 5) 9.6 [MHz] 0 1 0 1 φ × 6 ( 分周比 6) 8 [MHz] 0 1 1 0 φ × 7 ( 分周比 7) 6.8 [MHz] 0 1 1 1 φ × 8 ( 分周比 8) 6 [MHz] … … … … … … 1 1 1 1 φ × 16 ( 分周比 16) 3 [MHz] ( 注意事項 ) φ は , システムベースクロックの周期です。 • 本ビットは , リセット (INIT) 時に "0011" に初期化されます。 178 第 5 章 クロック生成とデバイス状態 • 本ビットは , 読出し , および書込みが可能です。 表 5.8-8 に , DIVR0(B3 ∼ B0), DIVR1(T3 ∼ T0) のレジスタの組合せを示します。 表 5.8-8 DIVR0(B3 ∼ B0), DIVR1(T3 ∼ T0) のレジスタの組合せ DIVR0 (B3 ∼ B0) DIVR1 (T3 ∼ T0) 分周 CLKB:CLKT DIVR0 (B3 ∼ B0) DIVR1 (T3 ∼ T0) 分周 CLKB:CLKT 0000 XXXX * 1:(XXXXH)* 0001 0000 2:1 設定不可 0101 0000 6:1 設定不可 0001 0001 2:2 設定可 0101 0001 6:2 設定不可 設定不可 設定可 0001 0010 2:3 設定不可 0101 0010 6:3 0001 0011 2:4 設定可 0101 0011 6:4 設定不可 0001 0100 2:5 設定不可 0101 0100 6:5 設定不可 0001 0101 2:6 設定可 0101 0101 6:6 設定可 設定不可 0001 0110 2:7 設定不可 0101 0110 6:7 0001 0111 2:8 設定可 0101 0111 6:8 設定不可 0001 1111 2:16 設定可 0101 1111 6:16 設定不可 0010 0000 3:1 設定不可 0110 0000 7:1 設定不可 設定不可 0010 0001 3:2 設定不可 0110 0001 7:2 0010 0010 3:3 設定可 0110 0010 7:3 設定不可 0010 0011 3:4 設定不可 0110 0011 7:4 設定不可 0010 0100 3:5 設定不可 0110 0100 7:5 設定不可 設定不可 0010 0101 3:6 設定可 0110 0101 7:6 0010 0110 3:7 設定不可 0110 0110 7:7 設定可 0010 0111 3:8 設定不可 0110 0111 7:8 設定不可 0010 1111 3:16 設定不可 0110 1111 7:16 設定不可 設定不可 0011 0000 4:1 設定不可 0111 0000 8:1 0011 0001 4:2 設定不可 0111 0001 8:2 設定不可 0011 0010 4:3 設定不可 0111 0010 8:3 設定不可 0011 0011 4:4 設定可 0111 0011 8:4 設定不可 0011 0100 4:5 設定不可 0111 0100 8:5 設定不可 0011 0101 4:6 設定不可 0111 0101 8:6 設定不可 0011 0110 4:7 設定不可 0111 0110 8:7 設定不可 0011 0111 4:8 設定可 0111 0111 8:8 設定可 設定可 0011 1111 4:16 設定可 0111 1111 8:16 0100 0000 5:1 設定不可 1111 0000 16:1 設定不可 0100 0001 5:2 設定不可 1111 0001 16:2 設定不可 0100 0010 5:3 設定不可 1111 0010 16:3 設定不可 設定不可 0100 0011 5:4 設定不可 1111 0011 16:4 0100 0100 5:5 設定可 1111 0100 16:5 設定不可 0100 0101 5:6 設定不可 1111 0101 16:6 設定不可 0100 0110 5:7 設定不可 1111 0110 16:7 設定不可 設定不可 1111 0111 16:8 設定不可 設定不可 1111 1111 16:16 設定可 0100 0111 5:8 0100 1111 5:16 * : X: 1 または 0 179 第 5 章 クロック生成とデバイス状態 5.8.7 DIVR1: ベースクロック分周設定レジスタ 1 本レジスタは , 各内部クロックのベースクロックの分周比を制御するレジスタです。 ■ ベースクロック分周設定レジスタ 1 ベースクロック分周設定レジスタ 1 のレジスタ構成を , 以下に示します。 bit 7 6 5 4 3 2 1 0 アドレス : 0000 0487H T3 T2 T1 T0 S3 S2 S1 S0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 (INIT) 0 0 0 0 0 0 0 0 初期値 (RST) x x x x x x x x 内部ブート ROM のコードを実行中 , ブート条件が有効になると , 本レジスタは , "0x00"(4 MHz モード ) または "0x70"(32 kHz モード ) のいずれかに設定されます。 本レジスタは , 各内部クロックのベースクロックに対する分周比を制御します。 外部拡張バスインタフェース (CLKT) の分周比を設定します。 周波数の上限は , クロックごとに定義されています。ソースクロックの選択 , PLL 逓倍 率の設定 , および分周比の設定の組合せによって , 周波数の上限を超えた場合 , 動作は 保証されないことに注意してください ( ソースクロック選択の変更設定との順序を間 違えないよう注意してください )。 本レジスタ設定を変更すると , 次のクロックレートから新しい分周比が有効になりま す。 [bit7 ∼ bit4] T3, T2, T1, T0 (clkT divide select 3 to 0) 本ビットは , 外部バス (CLKT) のクロックの分周比を設定します。本ビットに書込 み値により, 外部拡張バスインタフェースのベースクロックに対する分周比(クロッ ク周波数 ) を , 表 5.8-9 に示す 16 種類の中から 1 つ選択します。 周波数の上限は 32 MHz です。この上限を超える周波数になる分周比は設定しない でください。 180 第 5 章 クロック生成とデバイス状態 表 5.8-9 外部拡張バスインタフェースのベースクロックに対する分周比 ( クロック周波数 ) T3 T2 T1 T0 クロック分周比 クロック周波数 : ベースクロックが 48 MHz の場合 0 0 0 0 φ 設定禁止 0 0 0 1 φ × 2 ( 分周比 2) 24 [MHz] 0 0 1 0 φ × 3 ( 分周比 3) 16 [MHz] 0 0 1 1 φ × 4 ( 分周比 4) 12 [MHz] 0 1 0 0 φ × 5 ( 分周比 5) 9.6 [MHz] 0 1 0 1 φ × 6 ( 分周比 6) 8 [MHz] 0 1 1 0 φ × 7 ( 分周比 7) 6.8 [MHz] 0 1 1 1 φ × 8 ( 分周比 8) 6 [MHz] … … … … … … 1 1 1 1 φ × 16 ( 分周比 16) 3 [MHz] ( 注意事項 ) φ は , システムベースクロックの周期です。 • 本ビットは , リセット (INIT) 時に "0000" に初期化されます。 • 本ビットは , 読出し , および書込みが可能です。 [bit3 ∼ bit0] S3, S2, S1, S0 (clkS divide select 3 to 0) 本ビットは , この製品では使用しません。 181 第 5 章 クロック生成とデバイス状態 5.8.8 CMCR: CAN モジュールのクロック制御 本レジスタは , CAN モジュールの専用クロックである CANCLK を起動するために 使用するレジスタです。 ■ CAN モジュールのクロック制御 CAN モジュールのクロック制御のレジスタ構成を , 以下に示します。 アドレス 0000 0164H アドレス 0000 0165H bit15 14 13 12 11 10 9 8 PRE7 PRE6 PRE5 PRE4 PRE3 PRE2 PRE1 PRE0 bit7 6 5 4 3 2 1 0 CAL MSEL MTST SCLK MSRT PRES CDSBLE IRNG 初期値 11111111B 初期値 00000000B 内部ブート ROM で当該コードを実行後 , 本レジスタは "0x0180" に設定されます。 MB91360 シリーズでは , 外部バスクロック (CLKT) の代わりに , CAN モジュール専用 クロックを使用できます。CLKT は他の要求事項に制約される可能性があり , 常に CAN ビットタイミングを正しく生成させるのに適しているとは限りません。CMCR レジス タは , CAN モジュールの専用クロックである CANCLK を起動するために使用します。 またこのようにクロックを分けることで , CPU クロックと外部バスクロックをスケー ルダウンしても , 例えば 16 MHz のままで CAN を動作させることができます。 詳細については , 「6.2.1 制御レジスタ (CMCR)」を参照してください。 182 第 5 章 クロック生成とデバイス状態 5.8.9 MONCLK 端子 MONCLK 端子は , 外部端子から内部クロック信号をモニタすることを可能にしてい ます。 デバイスにより , PLL クロック , 発振信号 , CAN クロックから選択することが可能です。 2 つのレジスタは , MONCLK 端子の機能を制御します。制御レジスタ CMCR は , MONCLK 端子を有効または無効にします。選択レジスタ CMLT1 は , MONCLK 端子 でどの信号をモニタするかを決定します。 詳細については , 「6.2.1 制御レジスタ (CMCR)」および「6.2.4 乱数ジェネレータおよ び監視レジスタ (CMLT0 ∼ CMLT3)」を参照してください。 183 第 5 章 クロック生成とデバイス状態 5.9 クロックソース PLL との切換え ここでは , クロックソース PLL との切換えについて説明します。 184 第 5 章 クロック生成とデバイス状態 5.9.1 概要 本デバイスは , 動作中に低いクロック周波数の動作から高いクロック周波数の動作に 切り換えることができます。電源を入れた後 , リセット後に , あるいは低電力モード (STOP モードと RTC モード ) から戻った後など , クロックソースが発振器入力から PLL に変更される場合が発生します。 また , PLL を基本とした動作から低周波数の動作に切り換わるという逆の状況におい て , STOP モードまたは RTC モードに切り換える前に , クロックソースを発振器入力に 設定する必要があります。 表 5.9-1 に示すように , CLKR レジスタの bit8 と bit9 に適切な値を書き込むと , クロッ クソースが選択されます。 表 5.9-1 クロックソース設定 CLKR( アドレス 0x484 のクロックソースレジスタ ) クロックソース設定 CLKS1(CLKR の bit9) CLKS0(CLKR の bit8) 0 任意 発振器入力の 2 分周 1 0 PLL クロック 1 1 予備設定 どちらの動作周波数変化についても , 内部電圧レギュレータにより生成される供給電 圧に一時的な変化が観測されます。高い周波数に切り換わると電圧が降下し , 低い周波 数に切り換わると内部電圧が上昇します。降下または上昇の幅は , 使用する動作周波数 に依存します。 デバイスの仕様外の動作または動作障害を回避するには , 以降の章で述べる事項を考 慮する必要があります。特に 48 MHz 以上での動作に対して , 失敗のない動作を保証す るために対応策が必要です。最高周囲温度と最低動作電圧に関係した 64 MHz 制限を 適用する必要があります。 スリープモードとの遷移については対応策は必要ありません。この遷移ではわずかな 電圧降下と電圧上昇しか観測されません。 185 第 5 章 クロック生成とデバイス状態 5.9.2 内部電圧変化の抑制 内部電圧降下または電圧サージを抑制するために , 追加を推奨するものについて説 明します。 ■ VCC3C 端子におけるより大きなキャパシタンス VCC3C 端子における 10µF のキャパシタンスと平行して , 10µF のキャパシタンスを接 続すると , 内部電圧変化が大幅に抑制されます。キャパシタンスを追加するだけで , 48 MHz の PLL 周波数までの動作が可能です。 電圧降下または電圧サージを減少させるために追加する外部キャパシタは , 以下の手 続きを使用することで省略できます。 ■ クロックの滑らかな起動と停止 すべてのクロック(CLKB, CLKT, CLKP)を, 低周波数から直接目標とする周波数に切り 換えるのではなく , いくつかの段階的に切り換えることができます。 低周波数動作から戻すときも , またいくつかの段階的に切り換えることができます。 低速クロック動作と高速クロック動作との遷移間に , スリープモードは , 電流消費を減 らすために利用されます。 ■ 不調を避ける推奨対策 表 5.9-2 に不調を避ける推奨対策を示します。 表 5.9-2 不調を避ける推奨対策 PLL 周波数設定 64 MHz ( さらにデータシートに記述された実行モード の消費電流 / 電力の制限を参照してください ) 186 推奨対策 最大周辺温度 : 70 ℃ 最小動作電圧 : 4.75V 10µF のキャパシタンスとスタートアップ / シャットダウンルーチンの追加 48 MHz 10µF のキャパシタンス , またはスタートアップ / シャットダウンルーチンの追加 32 MHz 10µF のキャパシタンス , またはシャットダウン ルーチンの追加 24 MHz 10µF のキャパシタンス , またはスタートアップ / シャットダウンルーチンの追加 16 MHz 10µF のキャパシタンス , またはスタートアップ / シャットダウンルーチンの追加 第 5 章 クロック生成とデバイス状態 5.9.3 クロック変調器 キャリブレーションエラーを避けるために , クロック変調器は , 上記の動作周波数の変 更記述による電圧降下の間は開始できません。目標値のクロック周波数を設定するオ ペレーションとクロック変調器の活性化の間に , 10µs の待ち時間を挿入することを推 奨します。 クロック変調については「第 6 章 クロック変調器」を参照してください。 187 第 5 章 クロック生成とデバイス状態 5.9.4 手続き 推奨するスムーズなスタートとストップの手続きを実行する方法は , 以下を参照して ください。 PLL を切り換える機能は , 以下のコマンドシーケンスで実行可能です。 ・外部バスとリソースバスの周波数を低くします。 ・タイムベースカウンタ (TBC) の起動と割込みを初期化して有効にします。 ・スリープモードに切り換え , 直ちにクロックソースとして発振器を選択し , PLL をオ フにします。 ・タイムベースカウンタ割込みによって , スリープモードから復帰させます。 ・タイムベースタイマ割込みを無効にします。 ・タイムベースカウンタ (TBC) の起動と割込みを初期化して有効にします。 ・PLL の要因を増加させます。 ・スリープモードへの切換えと , クロックソースとして PLL を選択します。 ・タイムベースカウンタ割込みによって , スリープモードから復帰させます。 ・タイムベースタイマ割込みを無効にします。 ・外部バスとリソースバスの周波数を高くします。 PLL が有効になり , PLL がクロックソースとして選択されたとき , コントローラはス リープモードに入ります。タイムベースタイマの完了後にランモードに復帰します。 図 5.9-1 も参照してください。 188 第 5 章 クロック生成とデバイス状態 図 5.9-1 PLL 切換え処理の流れ PLL設定の変更 * * * * 内容をセーブする 割込みレベルを下げる クロックモジュレータを電源オフにする バス周波数を下げる NO PLLクロックソースか? YES * * * * TBCを有効にする クロックソースを発振器に切り換える クロックソースとしてPLLを無効にする スリープモードに切り換える TBC割込み スリープ * PLL オフに切り換える * FMWTを 1(待ち状態)に設定する NO PLLをオンにするか? YES * * * * TBCを有効にする FMWTレジスタを設定する PLL周波数を設定する PLLをオンにする ロックタイム タイムアップしたか? NO YES * クロックソースとしてPLLを有効にする * スリープモードに切り換える TBC割込み スリープ * DIVR0レジスタを設定する * 割込みレベルをリストアする * 内容をリストアする アプリケーションへ復帰 189 第 5 章 クロック生成とデバイス状態 5.10 クロック制御部が持つ周辺回路 クロック制御部が持つ周辺回路機能について説明します。 ■ クロック制御部が持つ周辺回路 クロック制御部には, 26ビット長タイムベースカウンタがあり, システムベースクロッ クで動作しています。タイムベースカウンタは , 発振安定待ち時間をカウントするとと もに , 以下の用途にも使用します。 • ウォッチドッグタイマ ウォッチドッグタイマは , 一定の時間が経過すると , 初期化リセット (INIT) 設定の 要求を生成することにより , ソフトウェアまたはハードウェアの異常動作を検出し ます。 • タイムベースタイマ タイムベースカウンタ出力を用いて , インターバル割込みを生成させます。 以降に , これらの機能について説明します。 190 第 5 章 クロック生成とデバイス状態 5.10.1 タイムベースカウンタ タイムベースカウンタの以下の機能について説明します。 • ウォッチドッグタイマ • タイムベースタイマ ■ ウォッチドッグタイマ ウォッチドッグタイマは , タイムベースカウンタ出力を用いた暴走検出用タイマです。 プログラムまたはハードウェアの暴走などが原因となり , 設定 ( 指定 ) したインターバ ルの間にウォッチドッグリセット生成遅延が行われなくなると , ウォッチドッグタイ マは , 設定初期化リセット (INIT) 要求をウォッチドッグリセットとして生成させます。 [ ウォッチドッグタイマの起動と設定周期 ] ウォッチドッグタイマは , リセット (RST) 後 , 最初の RSRR( リセット要因レジスタ / ウォッチドッグタイマ制御レジスタ ) への書込みにより起動します。このとき , ウォッ チドッグタイマのインターバル時間を , bit9, bit8 (WT1, WT0 ビット ) を使用して設定し ます。最初の書込みで設定したインターバル時間だけが有効です。以降の書込みで設 定したインターバル時間はすべて無効になります。 [ ウォッチドッグリセットの生成遅延 ] ウォッチドッグタイマの起動後は , 当該プログラムにおいて , 定期的に {A5H} , {5AH} の順で CTBR( タイムベースカウンタクリアレジスタ ) へのデータ書込みを行う必要が あります。このデータ書込み時に , ウォッチドッグリセット生成フラグは初期化されま す。 [ ウォッチドッグリセットの生成 ] ウォッチドッグリセット生成フラグは , 設定したインターバル時間のタイムベースカ ウンタ出力の立下りエッジにより設定されます。 2 度目の立下りエッジ検出時に本フラグが設定されたままである場合 , ウォッチドッグ タイマは , 設定初期化リセット (INIT) 要求をウォッチドッグリセットとして生成させ ます。 [ ウォッチドッグタイマの停止 ] ウォッチドッグタイマの起動後は , 動作初期化リセット(RST)が生成するまでは停止で きません。 RST が生成する以下の条件においては , プログラムによって再起動されるまで , ウォッ チドッグタイマは停止しています。 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 • 発振安定待ちリセット (RST) 状態 • ハードウェアスタンバイ状態 [ ウォッチドッグタイマの一時停止 ( 自動生成の遅延 )] CPU プログラムの動作が停止すると , ウォッチドッグタイマは , ウォッチドッグリセッ ト生成フラグを初期化して , ウォッチドッグリセットの生成を遅延させます。プログラ ムの動作が停止しているときは , プログラムが以下の状態のいずれかになっています。 191 第 5 章 クロック生成とデバイス状態 • スリープ状態 • 停止状態 • 発振安定待ち実行状態 • I- バス ( 命令バス ) または D- バス ( データバス ) への DMA の転送 (MB91FV360GA, MB91F365GB/F366GB/F367GB/F368GB, MB91366GA, MB91F369G のみ ) • I- バス領域へのデータアクセス (IRAM モードでの I - RAM または I キャッシュ ) (MB91FV360GA, MB91F365GB/F366GB/F367GB/F368GB, MB91366GA, MB91F369G のみ ) • D- バス RAM からの命令の獲得 (MB91FV360GA, MB91F365GB/F366GB/F367GB/F368GB, MB91366GA, MB91F369G のみ ) • エミュレータデバッガを用いたプログラムのブレーク (MB91FV360GA のみ ) • モニタデバッガを用いたプログラムのブレーク (MB91FV360GA のみ ) • INTE 命令の実行から RETI 命令の実行までの時間 (MB91FV360GA のみ ) • ステップトレーストラップモード (PS レジスタの T フラグ = 1) で 1 命令ごとにブ レーク (MB91FV360GA のみ ) • EDSU を用いたプログラムのブレーク (MB91F364G, MB91F376G のみ ) • エミュレーションモード タイムベースカウンタをクリアすると , ウォッチドッグリセット生成フラグも初期化 され , ウォッチドッグリセットの生成が遅延されます。 システムの暴走により上記状態となってしまった場合 , ウォッチドッグリセットが発 生しない可能性があります。その場合 , 外部 INITX 端子よりリセット (INITX) をかけ てください。 ■ タイムベースタイマ タイムベースタイマは , タイムベースカウンタ出力を用いたインターバルの割込み生 成用タイマです。本タイマは , PLL ロック待ち時間 , およびサブクロック発振安定待ち 時間など , 最大で { ベースクロック × 227} サイクルの比較的長時間をカウントするの に適しています。 設定したインターバルのタイムベースカウンタ出力の立下りエッジを検出すると , タ イムベースタイマは , タイムベースタイマ割込み要求を生成させます。 [ タイムベースタイマの起動とインターバル設定 ] タイムベースタイマは , TBCR( タイムベースカウンタ制御レジスタ ) の bit13 ∼ bit11(TBC2, TBC1, TBC0 ビット ) を使用してインターバル時間を設定します。 設定したインターバルに対応するタイムベースカウンタ出力の立下りエッジは常に検出 されていますので , インターバル時間を設定したら , bit15(TBIF ビット ) をクリアし , bit14(TBIE ビット ) を "1" に設定して , 割込み要求出力を許可してください。 インターバル時間を変更する場合は , あらかじめ bit14(TBIE ビット ) を "0" に設定し , 割込み要求出力を禁止してください。 タイムベースカウンタは常にカウントを行っており , これらの設定値に影響されます。 正確なインターバル割込み時間を得るためには , タイムベースカウンタをクリアして 192 第 5 章 クロック生成とデバイス状態 から割込みを許可してください。そうしない場合 , 割込みを許可した直後に割込み要求 が生成されることがあります。 [ プログラムによるタイムベースカウンタのクリア ] CTBR にデータを {A5H}, {5AH} の順序で書き込むと , {5AH} の書込み直後に , タイム ベースカウンタのビットはすべて "0" にクリアされます。{A5H} の書込みと {5AH} の 書込みの間に時間の制限はありません。 ただし , {A5H} の書込み後 , {5AH} 以外のデータを書き込むと , {A5H} を再度書き込ま ない限り , {5AH} を書き込んでもタイムベースカウンタはクリアされません。 タイムベースカウンタをクリアすると , ウォッチドッグリセット生成フラグが初期化 され , ウォッチドッグリセットの生成が遅延されます。 [ デバイス状態遷移時のタイムベースカウンタのクリア ] 以下のデバイス状態の遷移時には , タイムベースカウンタのビットはすべて同時に "0" にクリアされます。 • 停止状態 • 設定初期化リセット (INIT) 状態 • ハードウェアスタンバイ状態 特に停止状態では , タイムベースカウンタが発振安定待ち時間のカウントに使用され るため , 意図しないタイムベースタイマのインターバル割込みが生成することがあり ます。そのため , 停止モードを設定する前には , タイムベースタイマ割込みを禁止し , タイムベースタイマを使用しないでください。 ほかの状態においては , 動作初期化リセット (RST) が生成されるため , タイムベースタ イマ割込みは自動的に禁止されます。 193 第 5 章 クロック生成とデバイス状態 5.11 デバイス状態の制御 FR50 のデバイスの状態 , およびその制御について説明します。 ■ デバイスの状態 FR50 のデバイスには , 以下の動作状態があります。 • 実行状態 ( 通常動作 ) • スリープ状態 • 停止状態 • ハードウェアスタンバイ状態 • 発振安定待ち実行状態 • 発振安定待ちリセット (RST) 状態 • 動作初期化リセット (RST) 状態 • 設定初期化リセット (INIT) 状態 各状態の詳細 , および遷移については , 以降に説明します。 194 第 5 章 クロック生成とデバイス状態 5.11.1 デバイスの状態と遷移 FR50 ファミリのデバイスには , 以下の動作状態があります。 ■ 実行状態 ( 通常動作 ) プログラム実行状態です。すべての内部クロックが供給され , すべての回路が動作可能 な状態です。 ただし, 16ビット周辺回路バスのバスクロックは, 周辺回路バスのアクセスがない場合 は停止しています。 各状態の遷移要求を受け付けますが , 同期リセットモードの場合 , 通常のリセットモー ドの場合とでは , 要求に対する状態遷移の応答が一部異なります。詳細については , 「2.9.5 リセットモード」を参照してください。 ■ スリープ状態 プログラム停止状態です。プログラムの動作により , 状態が遷移します。 スリープ状態では , CPU プログラムの実行のみが停止し , リソースは動作可能な状態で す。命令キャッシュは停止し , DMA コントローラからの要求がない限り , 各種内部メ モリと , 内部バス , および外部バスは停止状態です。 有効な割込み要求が生成されると , スリープ状態はクリアされ , 実行状態 ( 通常動作 ) に遷移します。 設定初期化リセット (INIT) 要求が生成されると , 設定初期化リセット (INIT) 状態に遷 移します。 動作初期化リセット (RST) 要求が生成されると , 動作初期化リセット (RST) 状態に遷移 します。 ハードウェアスタンバイ要求が生成されると , ハードウェアスタンバイ状態に遷移し ます。 ■ 停止状態 デバイスは停止状態です。プログラムの動作により , 状態が遷移します。 停止状態では , 内部回路も内部クロックもすべて停止し , 発振回路と PLL も適切な設 定により停止させることができます。 また設定により , 外部端子 ( 除外される外部端子もあります ) をハイインピーダンス状 態にすることもできます。 特定の有効な割込み要求 ( クロックを使用しない ) が生成されると , 発振安定待ち実行 状態に遷移します。 設定初期化リセット (INIT) 要求が生成されると , 設定初期化リセット (INIT) 状態に遷 移します。 動作初期化リセット (RST) 要求が生成されると , 発振安定待ちリセット (RST) 状態に遷 移します。 ハードウェアスタンバイ要求が生成されると , ハードウェアスタンバイ状態に遷移し ます。 195 第 5 章 クロック生成とデバイス状態 ■ ハードウェアスタンバイ状態 デバイスは停止状態です。外部 HSTX 端子への "L" レベル入力 ( ハードウェアスタン バイ要求 ) により , ハードウェアスタンバイ状態に遷移します。 ハードウェアスタンバイ状態では , 内部回路も内部クロックもすべて停止します。また , 発振回路 , および PLL も停止します。 内部回路には設定初期化リセット (INIT) が供給されます。 外部端子 ( 除外される外部端子もあります ) は , 一律にハイインピーダンス状態になり ます。 外部 HSTX 端子への "H" レベル入力または外部 INITX 端子への "L" レベル入力により , 設定初期化リセット (INIT) 状態に遷移します。 ■ 発振安定待ち実行状態 デバイスは停止状態です。停止状態からの復帰後 , 本状態に遷移します。 クロック生成制御部 ( タイムベースカウンタとデバイス状態の制御部 ) 以外の内部回路 はすべて停止します。内部クロックもすべて停止しますが , 発振回路 , および動作許可 されていた PLL は動作します。 停止状態などにおける外部端子のハイインピーダンス制御はクリアされます。 設定 ( 指定 ) した発振安定待ち時間の経過後 , 実行状態 ( 通常動作 ) に遷移します。 設定初期化リセット (INIT) 要求が生成すると , 設定初期化リセット (INIT) 状態に遷移 します。 動作初期化リセット (RST) 要求が生成すると , 発振安定待ちリセット (RST) 状態に遷移 します。 ハードウェアスタンバイ要求が生成すると , ハードウェアスタンバイ状態に遷移しま す。 ■ 発振安定待ちリセット (RST) 状態 デバイスは停止状態です。停止状態または設定初期化リセット (INIT) 状態からの復帰 後 , 本状態に遷移します。 クロック生成制御部 ( タイムベースカウンタとデバイス状態の制御部 ) 以外の内部回路 はすべて停止します。内部クロックもすべて停止しますが , 発振回路 , および動作許可 されていた PLL は動作します。 停止状態などにおける外部端子のハイインピーダンス制御はクリアされます。 内部回路に対し , 動作初期化リセット (RST) を出力します。 設定した発振安定待ち時間の経過後 , 発振安定待ちリセット (RST) 状態に遷移します。 設定初期化リセット (INIT) 要求が生成すると , 設定初期化リセット (INIT) 状態に遷移 します。 ハードウェアスタンバイ要求が生成すると , ハードウェアスタンバイ状態に遷移しま す。 196 第 5 章 クロック生成とデバイス状態 ■ 動作初期化リセット (RST) 状態 プログラムは初期化状態です。本状態に遷移するのは , 動作初期化リセット (RST) 要求 が受け付けられた場合 , もしくは発振安定待ちリセット (RST) 状態が完了した場合で す。 CPU プログラムの実行は停止し , プログラムカウンタは初期化されます。周辺回路は 一部を除き初期化されます。 すべての内部クロックと発振回路 , および動作許可されていた PLL は動作します。 内部回路に対し , 動作初期化リセット (RST) を出力します。 動作初期化リセット (RST) 要求が解除されると , 実行状態 ( 通常動作 ) に遷移し , 動作 初期化リセットシーケンスを実行します。設定初期化リセット (INIT) 状態からの復帰 後だった場合は , 設定初期化リセットシーケンスが実行されます。 設定初期化リセット (INIT) 要求が生成すると , 設定初期化リセット (INIT) 状態に遷移 します。 ハードウェアスタンバイ要求が生成すると , ハードウェアスタンバイ状態に遷移しま す。 ■ 設定初期化リセット (INIT) 状態 全設定初期化状態です。本状態に遷移するのは , 設定初期化リセット (INIT) 要求が受 け付けられた場合またはハードウェアスタンバイ状態が終了した場合です。 CPU プログラムの実行は停止し , プログラムカウンタは初期化されます。リソースは すべて初期化されます。発振回路は動作しますが , PLL は停止します。外部 INITX 端 子に "L" レベル入力が行われている間はすべての内部クロックが停止しますが , それ以 外では動作します。 内部回路に対し , 設定初期化リセット (INIT), および動作初期化リセット (RST) を出力 します。 設定初期化リセット (INIT) 要求が解除されると , 本状態はクリアされ , 発振安定待ちリ セット (RST) 状態に遷移します。その後 , 動作初期化リセット (RST) 状態に遷移し , 設 定初期化リセットシーケンスを実行します。 197 第 5 章 クロック生成とデバイス状態 5.11.2 各状態遷移要求の優先順位 いかなる状態においても , 各状態遷移要求は以下の優先順位に従います。ただし , 特 殊な状態でしか生成しない要求もあり , そういうものについては該当する状態でし か有効になりません。 ■ 各状態遷移要求の優先順位 以下に各状態遷移要求の優先順位を示します。 優先順位は , 1) の優先度が最も高く , 7) にいくほど優先度が低くなります。 1. 設定初期化リセット (INIT) 要求 2. ハードウェアスタンバイ要求 3. 発振安定待ち時間の終了 ( 発振安定待ちリセット状態 , および発振安定待ち実行状 態のみ生成 ) 4. 動作初期化リセット (RST) 要求 5. 有効な割込み要求 ( 実行 , スリープ , および停止状態のみ生成 ) 6. 停止モード要求 ( レジスタに書込み )( 実行状態のみ生成 ) 7. スリープモード要求 ( レジスタに書込み )( 実行状態のみ生成 ) 198 第 5 章 クロック生成とデバイス状態 5.12 低消費電力モード FR50 のデバイスの各低消費電力モード , およびその使用法について説明します。 ■ 低消費電力モード FR50 のデバイスの低消費電力モードには , 以下の 3 つがあります。 • スリープモード レジスタへの書込みにより , デバイスをスリープ状態にします。 • 停止モード レジスタへの書込みにより , デバイスを停止状態にします。 • ハードウェアスタンバイモード 外部 HSTX 端子への "L" レベル入力により , デバイスをハードウェアスタンバイ状 態にします。 以降に , 各モードの詳細を示します。 199 第 5 章 クロック生成とデバイス状態 5.12.1 スリープモード ここでは , 低消費電力モードのうち , スリープモードについて説明します。 ■ スリープモード STCR( スタンバイ制御レジスタ ) の bit6(SLEEP ビット ) に "1" を書き込むと , スリープ モードとなり , スリープ状態へ遷移します。スリープ状態から復帰する要因が生成する までは , スリープ状態を維持します。 STCR( スタンバイ制御レジスタ ) の bit7(STOP ビット ) と bit6(SLEEP ビット ) の両方に "1" を書き込むと , bit7(STOP ビット ) が bit6(SLEEP ビット ) より優先されて , 停止状態 に遷移します。 スリープ状態については , 「5.10.1 タイムベースカウンタ」を参照してください。 [ スリープ状態で停止する回路 ] • CPU プログラム実行 • 命令キャッシュ • データキャッシュ • ビットサーチモジュール (DMA 転送が生成すると動作します。) • 各種内部メモリ (DMA 転送が発生すると動作します。) • 内部 / 外部バス (DMA 転送が発生すると動作します。) [ スリープ状態で動作する回路 ] • 発振回路 • 動作許可された PLL • クロック生成制御部 • 割込みコントローラ • リソース • DMA コントローラ • DSU [ スリープ状態からの復帰要因 ] • 有効な割込み要求 CPU の ILM にて設定したレベルを超える割込み要求が生成された場合 , スリープ モードはクリアされ , 実行状態 ( 通常動作 ) に遷移します。 CPU の ILM にて設定したレベル以下の割込み要求が生成された場合 , スリープモー ドはクリアされません。 • 設定初期化リセット (INIT) 要求 設定初期化リセット (INIT) 要求が生成された場合 , 設定初期化リセット (INIT) 状態 に遷移します。 • ハードウェアスタンバイ要求 ハードウェアスタンバイ要求が生成された場合 , ハードウェアスタンバイ状態に遷 移します。 200 第 5 章 クロック生成とデバイス状態 • 動作初期化リセット (RST) 要求 動作初期化リセット (RST) 要求が生成した場合 , 動作初期化リセット (RST) 状態に 遷移します。 <注意事項> 各要因の優先順位については , 「5.11.2 各状態遷移要求の優先順位」を参照してく ださい。 [ 通常スタンバイ動作 , および同期スタンバイ動作 ] TBCR( タイムベースカウンタ制御レジスタ ) の bit8(SYNCS ビット ) を "1" に設定する と , 同期スタンバイ動作が許可されます。本状態において SLEEP ビットに書き込むだ けでは , スリープ状態には遷移しません。SLEEP ビットへの書込み後 , STCR レジスタ の読出しがあれば , スリープ状態に遷移します。 SYNCS ビットを "0" に設定すると , 通常スタンバイ動作となり , SLEEP ビットへの書 込みのみで , スリープ状態に遷移します。 通常スタンバイ動作の許可時 , 周辺回路クロック (CLKP) の分周比が CPU クロック (CLKB) に比べて大きい場合 , 実際に SLEEP ビットへの書込みが行われるまでに , 多く の命令が実行されます。 このため , SLEEP ビットへの書込み命令後 , {5 + (CPU クロック分周比 )/( 周辺回路ク ロック分周比 )} 命令以上の NOP 命令を配置しないと , 後続の命令がスリープ状態に遷 移する前に実行されてしまいます。 同期スタンバイ動作時 , 実際の SLEEP ビットへの書込み後 , STCR レジスタの読出しが 完了するまでは , スリープ状態に遷移しません。CPU に STCR レジスタの読出し値が 格納されるまでは , CPU がバスを使用しているからです。 このため , CPU クロック (CLKB), および周辺回路クロック (CLKP) の分周比の設定にか かわりなく , SLEEP ビットへの書込み命令と STCR レジスタへの読出し命令の後に , NOP 命令を 2 つ配置すれば , スリープ状態に遷移する前の後続命令の実行を防ぐこと ができます。 201 第 5 章 クロック生成とデバイス状態 5.12.2 停止モード /RTC モード ここでは , 低消費電力モードのうち , 停止モード /RTC モードについて説明します。 ■ 停止モード /RTC モード STCR( スタンバイ制御レジスタ ) の bit7(STOP ビット ) に "1" を書き込むと , 停止モー ドが許可されます。停止状態から復帰する要因が生成されるまで , 停止状態を維持しま す。 STCR( スタンバイ制御レジスタ ) の bit7(STOP ビット ) と bit6(SLEEP ビット ) の両方に "1" を書き込むと , bit7(STOP ビット ) が bit6(SLEEP ビット ) より優先されて , 停止状態 に遷移します。 停止状態については , 「5.10.1 タイムベースカウンタ」を参照してください。 [ ストップモードへの移行 ] ストップモードに入れる場合は , 同期スタンバイモード (TBCR: タイムベースカウンタ 制御レジスタの bit8:SYNCS ビットにて設定します ) を使用したうえで , 以下のシーケ ンスを必ず使用してください。 /*STCR ライト */ ldi #_STCR,R0 ;STCR レジスタ (0481H) ldi #_Val_of_Stdy,ri ;Val_of_Stdy は ,STCR へのライトデータ std rl,@r0 ;STCR へのライト /*STBR ライト */ ldi #_CTBR,r2 ;CTBR レジスタ (0483H) ldi #0xA5,rl ; クリアコマンド (1) stb rl,@r2 ;CTBR への A5 ライト ldi #0xA5,rl ; クリアコマンド (2) stb rl,@r2 ;CTBR への A5 ライト /* ここでタイムベースカウンタクリア */ ldub @r0,rl ;STCR リード /* 同期スタンバイ遷移開始 */ ldub nop nop nop nop nop 202 @r0,rl ;STCR ダミーリード ; タイミング調整用の NOP × 5 第 5 章 クロック生成とデバイス状態 [ 停止状態で停止する回路 ] • 停止するように設定した発振回路 STCR( スタンバイ制御レジスタ ) の bit0(OSCD1 ビット ) を "1" に設定してあるとき , 停止状態中のメインクロック用発振回路を停止状態にします。 • 動作許可されていない PLL または停止するように設定した発振回路に接続された PLL STCR( スタンバイ制御レジスタ ) の bit0(OSCD1 ビット ) を "1" に設定してあるとき , CLKR( クロックソース制御レジスタ ) の bit10(PLL1EN ビット ) に "1" が設定して あっても停止状態中のメインクロック用 PLL を停止状態にします。 • 下記以外のすべての内部回路 : [ 停止状態で停止しない回路 ] • 停止しないように設定した発振回路 STCR( スタンバイ制御レジスタ ) の bit1(OSCD1 ビット ) を "0" に設定してあるとき , 発振回路は停止状態において停止しません。本モードは , RTC モードともよびます。 • 動作許可した PLL または停止しないように設定した発振回路に接続された PLL STCR( スタンバイ制御レジスタ ) の bit0(OSCD1 ビット ) を "0" に設定してあるとき , CLKR( クロックソース制御レジスタ ) の bit10(PLL1EN ビット ) に "1" が設定してあ ると , 停止状態中のメインクロック用 PLL は停止しません。 [ 停止状態における端子のハイインピーダンス制御 ] STCR( スタンバイ制御レジスタ ) の bit5(HIZ ビット ) を "1" に設定すると , 停止状態に おける端子出力が , ハイインピーダンス状態になります。ハイインピーダンス制御の対 象となる端子については , 「付録 C CPU の各状態における端子の状態」を参照してく ださい。 STCR( スタンバイ制御レジスタ ) の bit5(HIZ ビット ) を "0" に設定すると , 停止状態に おける端子出力は , 停止状態になる前の値を保持します。詳細については , 「付録 C CPU の各状態における端子の状態」を参照してください。 203 第 5 章 クロック生成とデバイス状態 [ 停止モードからの復帰要因 ] • クロックを必要としない有効な割込み要求の生成 要求のタイプを "H" に設定した外部割込み入力端子 (INT0 ∼ INT7) のみが有効です。 CPU の ILM にて設定したレベルを超える割込み要求が生成した場合 , 停止モードは クリアされ , 実行状態 ( 通常動作 ) に遷移します。 CPU の ILM にて設定したレベル以下の割込み要求が生成した場合 , 停止モードはク リアされません。 • 設定初期化リセット (INIT) 要求 設定初期化リセット (INIT) 要求が生成した場合 , 設定初期化リセット (INIT) 状態に 遷移します。 • ハードウェアスタンバイ要求 ハードウェアスタンバイ要求が生成した場合 , ハードウェアスタンバイ状態に遷移 します。 • 動作初期化リセット (RST) 要求 動作初期化リセット (RST) 要求が生成した場合 , 動作初期化リセット (RST) 状態に 遷移します。 <注意事項> 各要因の優先順位については , 「5.11.2 各状態遷移要求の優先順位」を参照してく ださい。 [ 停止モードでのクロックソース選択 ] メインクロック (X クロック ) の 2 分周をソースクロックとして選択してから , 停止モー ドを設定してください。詳細については ,「5.3 PLL 制御」を参照してください。 分周比設定の制限事項については , 通常動作の場合と同様です。 [ 通常スタンバイ動作 , および同期スタンバイ動作 ] TBCR( タイムベースカウンタ制御レジスタ ) の bit8(SYNCS ビット ) を "1" に設定して ある場合 , 同期スタンバイ動作が許可されます。本状態において , STOP ビットへの書 込みのみでは , スリープ状態には遷移しません。STOP ビットに書込み後 , STCR レジ スタの読み出すことにより , 停止状態に遷移します。 SYNCS ビットを "0" に設定すると , 通常スタンバイ動作が許可されます。本状態にお いて , STOP ビットに書込みを行うと , 停止状態に遷移します。 通常スタンバイ動作時 , 周辺回路クロック (CLKP) の分周比が CPU クロック (CLKB) に 比べて大きい場合 , 実際に STOP ビットに書込みが行われるまでに , 多くの命令が実行 されます。 このため , STOP ビットへの書込み命令後 , {5 + (CPU クロック分周比 )/( 周辺回路ク ロック分周比 )} 命令以上の NOP 命令を配置しないと , 後続の命令が停止状態への遷移 前に実行されてしまいます。 同期スタンバイ動作時は , 実際の STOP ビットへの書込み後 , STCR レジスタの読出し が完了するまでは , 停止状態に遷移しません。STCR レジスタの読出し値が CPU に格 納されるまでは , CPU がバスを使用しているからです。 このため , CPU クロック (CLKB), および周辺回路クロック (CLKP) の分周比の設定にか かわりなく , STOP ビットへの書込み命令と STCR レジスタへの読出し命令の後に NOP 命令を2つ配置すれば, 停止状態に遷移する前の後続命令の実行を防ぐことができます。 204 第 5 章 クロック生成とデバイス状態 5.12.3 ハードウェアスタンバイモード ここでは , 低消費電力モードのうち , ハードウェアスタンバイモードについて説明し ます。 ■ ハードウェアスタンバイモード 外部 HSTX 端子への "L" レベル入力時 , ハードウェアスタンバイ要求が生成し , ハード ウェアスタンバイ状態に遷移します。その後 "L" レベルの入力が行われている間は , ハードウェアスタンバイ状態を保持します。 ハードウェアスタンバイ状態については ,「5.10.1 タイムベースカウンタ」を参照して ください。 [ ハードウェアスタンバイ状態で停止する回路 ] • すべての発振回路 • すべての PLL • すべての内部回路 [ ハードウェアスタンバイ状態で停止しない回路 ] • なし [ ハードウェアスタンバイ状態における端子のハイインピーダンス制御 ] ハードウェアスタンバイ状態では , 端子からの出力はハイインピーダンス状態になり ます。ハイインピーダンス制御の対象となる端子については , 「付録 C CPU の各状態 における端子の状態」を参照してください。 [ ハードウェアスタンバイモードからの復帰要因 ] • 外部 HSTX 端子への "H" レベル入力 ハードウェアスタンバイ要求が解除されると , 設定初期化リセット (INIT) 状態に遷 移します。 • 外部 INITX 端子への "L" レベル入力による設定初期化リセット (INIT) 設定初期化リセット (INIT) 要求が外部 INITX 端子により生成した場合 , 設定初期化 リセット (INIT) 状態に遷移します。ハードウェアスタンバイ状態においては , 他の 設定初期化リセット (INIT) 要求は生成しません。 <注意事項> 各要因の優先順位については , 「5.11.2 各状態遷移要求の優先順位」を参照してく ださい。 [ 通常リセット , および同期リセット ] TBCR( タイムベースカウンタ制御レジスタ ) の bit9(SYNCR ビット ) を "1" に設定して ある場合 , 同期リセットが許可されます。この場合 , ハードウェアスタンバイ要求が受 け付けられても , 内部バスがアクセスされている間は , ハードウェアスタンバイ状態に 遷移しません。 詳細については , 「2.9.5 リセットモード」を参照してください。 SYNCR ビットを "0" に設定してある場合 , 通常リセットが許可されます。この場合 , ハードウェアスタンバイ要求が受け付けられると , 内部バスアクセスの動作状態にか 205 第 5 章 クロック生成とデバイス状態 かわりなく , ハードウェアスタンバイ状態に遷移します。 詳細については , 「2.9.5 リセットモード」を参照してください。 ■ スタンバイモードでの動作 表 5.12-1 に , スタンバイモードでの動作を示します。 表 5.12-1 スタンバイモードでの動作 内部クロック モード 遷移状態 発振器 PLL 実行 - ○ スリープ STCR の SLEEP=1 RTC リソース 端子 解除方法 ○ ○ 動作中 - × ○ ○ 動作中 割込み要求 RST, INIT *2 × × × *1 割込み要求 RST, INIT × × × × × *1 割込み要求 RST, INIT HSTX=0 × × × × × Hi-Z HSTX=1 リセット (RST) RST ○ ○ レジスタにリセット (RST) を適用 Hi-Z リセット (INIT) INIT ○ × レジスタにリセット (INIT) を適用 Hi-Z CPU/ 内部バス DMA/ 周辺回路 ○ ○ ○ ○ STCR の STOP=1, OSCD1=0 ○ 停止 STCR の STOP=1, OSCD1=1 ハードウェア スタンバイ ○ : 動作中 , × : 停止中 , Hi-Z: ハイインピーダンス RST: 外部リセット端子 (RSTX)=0, ソフトウェアリセット (STCR レジスタの SRST ビット =0), パ ワーダウンリセット INIT:外部リセット端子 (INITX)=0, ハードウェアスタンバイからの復帰 , ウォッチドッグリセット *1: STCR の HIZ が "0" である場合は , 以前の状態を保持します。HIZ が "1" である場合は , Hi-Z となります。 *2: RTC 状態に入る前に PLL のスイッチをオフにする必要があります。 206 第 5 章 クロック生成とデバイス状態 ■ スタンバイモードの状態遷移図 図 5.12-1 に , スタンバイモードの状態遷移図を示します。 図 5.12-1 スタンバイモードの状態遷移図 電源オン (10) (8) (7) ハードウェア スタンバイモード (7) (7) 発振安定待ち リセット状態 (3) (9) 設定初期化 リセット (INIT)状態 (10) (1) (7) (7) (10) 動作初期化 リセット (RST)状態 発振安定待ち 実行状態 (1) (3) (10) (2) (5) (3) (3) (10) 停止モード RTCモード (6) (7) (4) (7) (10) 実行モード (5) スリープモード (3) (10) (2) リセット解除 (6) STCRレジスタのSTOP= 1 OSCD1= 0 の場合は,RTCモードへ遷移 OSCD1= 1 の場合は,STOPモードへ遷移 (3) リセット(RST) (7) ハードウェアスタンバイ入力 (4) STCRレジスタのSLEEP= 1 (8) ハードウェアスタンバイ解除 (5) 割込み入力 (9) INITXの解除 (1) 発振安定遅延時間完了 (10) リセット(INIT) 207 第 5 章 クロック生成とデバイス状態 5.12.4 4 MHz RTC モードから実行モードへの移行 低消費電力モードのうち , ハードウェアスタンバイモードについて説明します。 ■ ハードウェアスタンバイモード MB91360 シリーズは , 2 つの電源を持っています。1 つは , ストップモードと RTC モー ドで使用され , 他の 1 つは , 実行モードで使用されます。 ストップモード /RTC モードから実行モードへ移るとき , 実行モード用電源はスイッチ オンとなり , 通常 12µs 後 , 他方の電源はスイッチオフとなります。 ストップモードから実行モード , または 32 kHz RTC モードから実行モードへの移行が あった場合 , 4 MHz 発振器を起動する必要があり , また特定の発振安定時間を適用する 必要があります。これらの場合 , 実行モード用電源がスイッチオンされた後 , 内部ク ロックが開始することに注意してください。 このことは , 4 MHz RTC モードから実行モードへ移行した場合は異なります。この場 合は 4MHz 発振器が既に動作しています。 4 MHz RTC モードから実行モードへ以下の条件で移行した場合 , 誤動作をする恐れが あります。 • 電源電圧が 4.75V 未満 • VCC3C 端子に接続されたコンデンサが 4.7µF 未満 • 最小発振安定時間である 1µs に設定 この設定では , 実行モード用電源が完全にスイッチオンされる前に , 内部クロックが動 作し始めることになります。電圧降下が VCC3C 端子で確認できます。 この問題は,上記に示した条件のすべてを満たしていないことを確認することで回避で きます。すなわち • 4.75V 以上の電源電圧を使用すること。 • VCC3C 端子に 4.7µF 以上のコンデンサを接続すること。 また , 実行モードで PLL を有効にする際での問題を回避するために , より大きな容 量のコンデンサの使用を推奨します。 • STCR レジスタの OS1 ビットと OS0 ビットに 1ms の発振安定時間を意味する "01" を設定するなどして , より大きい発振安定時間を選択すること。 208 第6章 クロック変調器 クロックモジュレータとその機能の概要について 解説します。レジスタ構成およびクロックモジュ レータの動作について , 解説します。 6.1 クロック変調器の概要 6.2 レジスタ動作 6.3 その他の設定 209 第 6 章 クロック変調器 6.1 クロック変調器の概要 クロックモジュレータは , クロック信号のスペクトラムを広範囲の周波数に拡散す ることにより , 電磁波障害 (EMI) を低減します。 このモジュールには , PLL 回路から提供される , 周波数 F0 の標準クロック ( 非変調 ) が適 用されます。標準クロックの周波数は , ランダム信号によって変調します。すなわち , 変 調クロックの各クロック・パルス幅は , ランダムに決定されます。 図 6.1-1 変調クロックの周波数スペクトラム ( 基本波のみ ) 変調範囲 F min F0 F max 周波数 ■ 変調度および周波数解像度 変調クロックの最大および最小周波数 (Fmax および Fmin) は , 変調度パラメータに よって適格に定義されます。さらに , 変調範囲の解像度は , Low ∼ High の 3 段階から 選択できます。高い解像度では , 変調クロック・スペクトラムの拡散周波数の粒度が細 かくなりますが , 利用できる変調度が制限されます。 通常 , 設定可能な最大周波数解像度と最大変調度の組み合わせによって , 最大の EMI 低減効果が得られます。ただし , 解像度が低い場合 , 変調度の高低を調整することに よって , より良い EMI 低減効果が得られる場合があります。付録の利用可能な設定表 を参照してください。 変調クロックの平均周波数は , 標準クロックの周波数 F0 です。 ■ キャリブレーション・ユニット モジュレータは , 16 MHz ∼ 48 MHz の入力周波数に対応します。このため , モジュー ルには , キャリブレーション・ユニットが内蔵されています。キャリブレーション処理 は, ソフトウェアによって開始することも, ハードウェアによって自動的に開始 (推奨) することもできます。 モジュレータが有効になっている場合は , ソフトウェアからキャリブレーション処理 を開始しなければなりません。通常の運用時は , 自動キャリブレーション機能によっ て , キャリブレート済みのモジュレータが調整されます。自動キャリブレーション・イ ベントの頻度は , 自動キャリブレーション・リロード・タイマの値で設定できます。 ■ CAN プリスケーラ CAN モジュールには非変調の動作クロックが必要なため , モジュレータによって , 変 調クロックの他にも非変調クロックが供給されます。 この CAN クロックは , CAN クロック・プリスケーラを介して , 拡張可能です。 ■ オブザーバ 外部 MONCLK 端子で , 一部の内部クロック信号を監視できます。モジュレータ・モ ジュールは , 目的の信号を選択するためのマルチプレクサを提供します。 この CAN クロックは , CAN クロック・プリスケーラを介して , 拡張可能です。 詳細については , 富士通マイクロエレクトロニクスにお問い合わせください。 210 第 6 章 クロック変調器 6.2 レジスタ動作 クロック・モジュレータ・レジスタを一覧表示し , 各レジスタの機能について解説 します。 アドレス レジスタ +0 +1 +2 +3 000164H CMCR [R/W] 11111111 00000000 CMPR [R/W] ----1001 1---0001 000168H CMLS0 [R/W] 01110111 11111111 CMLS1 [R/W] 01110111 11111111 00016CH CMLS2 [R/W] 01110111 11111111 CMLS3 [R/W] 01110111 11111111 000170H CMLT0 [R/W] -----100 00000010 CMLT1 [R/W] 11110100 00000010 000174H CMLT2 [R/W] -----100 00000010 CMLT3 [R/W] -----100 00000010 000178H CMAC [R/W] 11111111 1111111 CMTS [R] --000001 01111111 ブロック クロック変調 211 第 6 章 クロック変調器 6.2.1 制御レジスタ (CMCR) コントロールレジスタ (CMCR) には , 以下の機能があります。 ・モジュレータ許可 / 禁止 ・MONCLK 端子許可 ・出力クロックの選択 ( テスト専用 ) ・キャリブレーションの開始 ・乱数ジェネレータの初期化 ・R-bus レジスタ許可 / 禁止 ・CAN プリスケーラの有効化 / 無効化 ・CAN プリスケーラ値 <注意事項> プリスケーラが無効になっている場合は , プリスケーラ値 PRE (CMCRH レジスタ ) のみを書き込みます。 bit アドレス : 000165H アクセス 初期値 7 6 5 4 3 2 1 0 PRES CDSBLE IRNG CAL MSEL MTST SCLK MSRT R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 [bit7] PRES : CAN プリスケーラの有効化 / 無効化 0 CAN プリスケーラ禁止 ( 初期値 ) 1 CAN プリスケーラ許可 CAN プリスケーラのスケーリング・ファクタは , CMCRH の PRE ビットによって設 定されます。 プリスケーラが無効になっている場合, CANCLK の出力極性は"1"に設定されます。 [bit6] CDSBLE : R- バス・レジスタの有効化 / 無効化 0 すべての R- バス・レジスタを有効にします ( 初期値 ) 。 1 CMCR レジスタの CDSBLE ビットを除くすべての R- バス・レジスタを無効 にします。 CDSBLE ビットは , レジスタへの予期せぬ書込みアクセスを回避するための安全機 能です。 レジスタが無効になっている場合は , 読出しアクセスのみが可能です。すなわち , レジスタは書込み保護されています。 212 第 6 章 クロック変調器 <注意事項> • R- バス・レジスタがロックされている場合 , ソフトウェア・キャリブレーション 要求は実行できません。 • モジュレータの起動時は , 常にソフトウェア・キャリブレーション要求を実行す る必要があります (CAL ビットの解説を参照 ) 。モジュレータの起動時に CDSBLE ビットが設定されている場合は , キャリブレーションが要求され , キャ リブレーションが完了しても , ハードウェアによって CAL ビットを "0 " にリセッ トすることはできません。CAL は " 1" のままになります。 この結果 , 自動 ( ハードウェア ) キャリブレーションが開始できなくなるため , モ ジュレータのキャリブレーションは実行されません。 この結果 , 自動 ( ハードウェア ) キャリブレーションが開始できなくなるため , モ ジュレータのキャリブレーションは実行されません。ソフトウェアによって開始 されたキャリブレーションが完了した後は , 自動キャリブレーションが有効に なっている場合でも , レジスタ・ロックを設定できます。 [bit5] IRNG : 乱数ジェネレータの初期化 IRNG は乱数ジェネレータを初期化します。 0 乱数ジェネレータは初期化されています。 1 乱数ジェネレータが初期化されます。 このビットは , ソフトウェアによってのみ設定できます。初期化が完了すると , ハー ドウェアによってビットがクリアされます。 乱数ジェネレータを初期化するには , モジュレータの起動時 (MSRT ビット ) , IRNG を設定する必要があります。 ソフトウェアによって設定された "0" は無視されます。リードモディファイライト (RMW)系命令の読出しサイクルでは " 0" が返されます。 [bit4] CAL : キャリブレーションの開始 このビットは , モジュレータのキャリブレーション ( ソフトウェアによるキャリブ レーション要求 ) を開始し , キャリブレーションの完了を表示します。 0 遅延チェーンがキャリブレートされます ( 初期値 ) 。 1 キャリブレーションの開始 CAL はソフトウェアによってのみ設定できます。キャリブレーションが完了する と , ハードウェアによって CAL がクリアされます。 調整開始時にキャリブレーション処理を開始するには , モジュレータの起動時 (MSRT ビット ) に CAL を設定する必要があります。 ソフトウェアによって設定された "0 " は無視されます。リードモディファイライト (RMW)系命令の読出しサイクルでは "0" が返されます。 CDSBLE ビットによって R- バス・レジスタがロックされている場合は , SW キャリ ブレーション要求を実行できません。 213 第 6 章 クロック変調器 <注意事項> ソフトウェアから開始した (CAL ビット ) キャリブレーション処理の実行中は , モ ジュレータを OFF にしないでください。 CAL ビットは , ソフトウェアによって開始されたキャリブレーション処理が実行中 であることを示します。ハードウェアによって自動開始されたキャリブレーション 処理の状態は , CAL ビットの設定では示されません。 キャリブレーション中 , 出力は非変調クロックに自動設定されます。 キャリブレーションに要する時間は , 44 × T0 です。 (T0 = 入力クロック期間 , F0 = 入力クロック周波数 ) F0 [MHz] T0 [ns] キャリブレーションに要する時間 16 62.5 2.75 µs 32 31.25 1.375 µs 48 20.83 0.916 µs [bit3] MSEL : テストクロック選択 <注意事項> 0 テスト端子への信号は変調クロックです ( 初期値 ) 。 1 テスト端子への信号は , CMLT1 レジスタの OBS ビットで選択します。 MSEL 信号は同期していません。したがって , 切換え中に TESTCLK 端子で障害が 発生する可能性があります。 [bit2] MTST : Testclk 端子 MONCLK 許可 0 MONCLK 端子は無効です ( 初期値 ) 。 1 MONCLK 端子は許可。 TESTCLK 端子へのテスト信号は , CMLT1 レジスタの MSEL ビットおよび OBS ビットで選択できます。 [bit1] SCLK : クロック選択 このビットは , 出力クロックを選択します。 0 出力 = 非変調クロック ( 初期値 ) 1 出力 = 変調クロック このビットはテスト用 ( すなわち , コアのクロックが非変調である場合に , モジュ レータを起動する際に使用 ) です。 モジュレータの動作中にこのビットを変更しても , ソフトウェアまたはハードウェ アによるキャリブレーションの次回実行時まで , 変更は反映されません。 214 第 6 章 クロック変調器 通常の運用時は , モジュレータ起動用の MSRT と同時に , SCLK を設定するか , モ ジュレータの起動時には SCLK が既に設定されていなければなりません。 このビットの設定にかかわらず , モジュレータを OFF にすると , 出力クロックは自 動的に非変調クロックに変更されます。 [bit0] MSRT : モジュレータの起動 このビットは , モジュレータを有効 / 無効にします。 0 モジュレータを有効にします ( 初期値 )。 1 モジュレータを無効にします。 モ ジ ュ レ ー タ の 起 動 に 先 立 ち , す べ て の 構 成 レ ジ ス タ (CMPR, CMLT, CMLS, CMAC) を設定する必要があります。 モジュレータの起動時 , キャリブレーション処理を開始し , 乱数ジェネレータを初 期化するには , CAL ビットおよび IRNG ビットを設定する必要があります。 出力クロックを変調クロックに設定するには , SCLK ビットを "1" に設定します。 SCLK が "0" の場合は , モジュレータの起動後も出力クロックは非変調クロックの ままです。 <注意事項> ソフトウェアから開始した (CAL ビット ) キャリブレーション処理の実行中は , モ ジュレータを OFF にしないでください。 ソフトウェアから開始したキャリブレーション処理が完了すると , CAL ビットがク リアされます。ソフトウェアから開始したキャリブレーション処理の完了後は , モ ジュレータを OFF にできます。 <注意事項> 以下の操作を実行する前は , 必ずクロックモジュレータを OFF にしてください。 ・PLL 周波数の変更 ・PLL の OFF ( 省電力モード時など ) PLL からのクロック信号が安定した後 (PLL ロック後 ) , モジュレータを ON にでき ます。 bit アドレス : 000164H アクセス 初期値 15 14 13 12 11 10 9 8 PRE7 PRE6 PRE5 PRE4 PRE3 PRE2 PRE1 PRE0 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 R/W 1 215 第 6 章 クロック変調器 [bit15 ∼ bit8] PRE7 ∼ PRE0 (CAN Prescaler Value) : CAN プリスケーラ値 CAN プリスケーラ用の値。CAN モジュールのクロックは , 次の方程式によって決 定されます。 CANCLK * = F0 PRE+1 F0= 非変調入力クロック (PLL の出力または X0 発振器 ) 初期値 : PRE=255, CANCLK=F0/256 *: CANCLK は CAN モジュール内で 2 で割られます。 <注意事項> プリスケーラが無効になっている場合は , プリスケーラ値 PRE (CMCRH レジスタ ) のみを書込みます。 CANCLK は , CMCRL の PRES ビットによって有効化されます。 プリスケーラが無効になっている場合 , CANCLK の出力極性は "1" に設定されます。 CLK CANCLK PRE=0 CANCLK PRE=1 CANCLK PRE=2 SCANPREEN (同期CLK) CANCLK の立下りエッジは , CLK の立下りエッジによってのみ設定されます。 CLK で立上りまたは立下りエッジが設定されると , CANCLK で立上りエッジが設 定されます。 CANCLK は常に立下りエッジで開始されます。 SCANPREEN: CMCR レジスタ の内部同期されている PRES ビット (bit7) CAN プリスケーラ許可 CLK: 非変調入力クロック (PLL の出力または X0 発振器 ) 216 第 6 章 クロック変調器 6.2.2 変調パラメータレジスタ (CMPR) 変調パラメータレジスタ (CMPR) は変調度を決定します。 <注意事項> モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ ジュレータを有効化します。 入力周波数および周波数解像度に応じて , 複数の変調度を選択できます。可能なレジス タ設定については , 付録を参照してください。通常 , 設定可能な最大周波数解像度と最 大変調度の組み合わせによって , 最大の EMI 低減効果が得られます。ただし , 解像度 を低くし , 変調度を高く設定することによって , より良い EMI 低減効果が得られる場 合があります。 レジスタ アドレス 初期値 プログラミング値 CMPR 000166H 0xF9F1 「6.3.4 可能な設定」参照 217 第 6 章 クロック変調器 6.2.3 周波数解像度設定レジスタ (CMLS0 ∼ CMLS3) CMLS レジスタは , 変調範囲の周波数解像度を決定します。 <注意事項> モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ ジュレータを有効化します。 変調範囲内の周波数解像度は , Low ∼ High の 3 段階に設定できます。高い解像度では , 変調クロック・スペクトラムの拡散周波数の粒度が細かくなりますが , 利用できる変調 度が制限されます。通常 , 設定可能な最大周波数解像度と最大変調度の組合せによって , 最大の EMI 低減効果が得られます。ただし , 解像度が低い場合 , 変調度の高低を調整 することによって , より良い EMI 低減効果が得られる場合があります。 常に , CMLS0 は 0xF800, CMLS1 は 0xFF04 に設定します。CMLS2 および CMLS3 の値 は , 目的の周波数解像度によって異なります。 「6.3.4 可能な設定」の利用可能な設定表 を参照してください。 218 レジスタ アドレス 初期値 プログラミング値 CMLS0 000168H 0x77FF 0xF800 CMLS1 00016AH 0x77FF 0xFF04 CMLS2 00016CH 0x77FF 「6.3.4 可能な設定」参 照 CMLS3 00016EH 0x77FF 「6.3.4 可能な設定」参 照 第 6 章 クロック変調器 6.2.4 乱数ジェネレータおよび監視レジスタ (CMLT0 ∼ CMLT3) 乱数ジェネレータは CMLT0 ∼ CMLT3 によって設定されます。CMLT1 には , 監視 コントロールレジスタも含まれます。 <注意事項> モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ ジュレータを有効化します。 次の表のレジスタ値を用いて , 乱数ジェネレータの構成を行う必要があります。 レジスタ アドレス 初期値 プログラミング値 CMLT0 000170H 0xFC02 0xF602 CMLT1 000172H 0xF402 0xS602 CMLT2 000174H 0xFC02 0xF602 CMLT3 000176H 0xFC02 0xF602 OBS[3:0] → 後述のコントロールレジスタ 監視コントロールレジスタは CMLT1 にあります。 bit アドレス : 0000 0172H アクセス 初期値 bit アドレス : 0000 0173H アクセス 初期値 15 OBS3 R/W 1 14 OBS2 R/W 1 13 OBS1 R/W 1 12 OBS0 R/W 1 11 LT11 R/W 0 10 LT10 R/W 1 9 LT9 R/W 0 8 LT8 R/W 0 7 LT7 R/W 0 6 LT6 R/W 0 5 LT5 R/W 0 4 LT4 R/W 0 3 LT3 R/W 0 2 LT2 R/W 0 1 LT1 R/W 1 0 LT0 R/W 0 CMLT1H CMLT1L [bit15 ∼ bit12] OBS : 監視 これらのビットは CMLT1 レジスタに設定されます。初期値は 1111B です。 OBS[3:0] によって , MONCLK 端子の出力が選択されます。MONCLK 端子で内部信 号を監視するには , CMCR レジスタの MTST ビットによって , これを有効にする必 要があります。 監視可能な信号を OBS ビットで決定するには , CMCR の MSEL を"1"に設定する必 要があります。それ以外の場合は , MONCLK で変調クロックが監視されます。 <注意事項> OBS 信号は同期していません。したがって , 切換え中に MONCLK 端子で障害が発 生する可能性があります。 MONCLK 端子は端子ドライバで駆動します。したがって , この端子で測定された周 波数スペクトラムは , 内部クロック信号のスペクトラムを反映していません。 219 第 6 章 クロック変調器 以下の内部信号を監視できます。 OBS[3:0] CMCR: MSEL 2 進数 0 dddd 1 0000 1 16 進数 MB91F362GB, MB91F369GA 監視可能な信号 MB91FV360GA, MB91F364G, MB91F366GB, MB91F368GB MB91F365GB, MB91F367GB 変調クロック 変調クロック 変調クロック 0 非変調クロック (PLL) 非変調クロック (PLL) 非変調クロック (PLL) 0001 1 リザーブ 4 MHz 発振器 4 MHz 発振器 1 0010 2 4 MHz 発振器 32 kHz 発振器 "L" レベル 1 0011 3 CAN クロック CAN クロック CAN クロック 1 else 4-14 リザーブ リザーブ リザーブ 1 1111 15 自動キャリブレー ション・タイマ・ パルス 自動キャリブレー ション・タイマ・ パルス 自動キャリブレー ション・タイマ・ パルス レジェンド : d = 任意の値 220 第 6 章 クロック変調器 6.2.5 自動キャリブレーション・リロード・タイマ値 (CMAC) このレジスタには , 自動キャリブレーション・リロード・タイマのリロード値が含 まれています。 <注意事項> モジュレータが OFF になっている場合は , このレジスタの書込みだけを実行しま す。すなわち , まずモジュレータの構成を行い , その後 , CMCR:MRST ビットでモ ジュレータを有効化します。 bit アドレス : 0000 0178H アクセス 初期値 bit アドレス : 0000 0179H アクセス 初期値 15 RELF R/W 1 14 RELE R/W 1 13 RELD R/W 1 12 RELC R/W 1 11 RELB R/W 1 10 RELA R/W 1 9 REL9 R/W 1 8 REL8 R/W 1 7 REL7 R/W 1 6 REL6 R/W 1 5 REL5 R/W 1 4 REL4 R/W 1 3 REL3 R/W 1 2 REL2 R/W 1 1 REL1 R/W 1 0 REL0 R/W 1 CMACH CMACL 自動キャリブレーション・リロード・タイマは , tCAL ( 時間 ) の間隔で , モジュレータ の新規キャリブレーションを開始します。tCAL の計算には , 次の方程式を使用します。 2047 ×リロード値 tCAL= F0 次の表は , 異なる入力周波数で可能な最大キャリブレーション間隔 ( リロード値 = 0xFFFF) を示したものです。キャリブレーション中はモジュレータが非変調クロック に変更されるため , キャリブレーション間隔 tCAL は 1 秒以上に設定しなければなりま せん。 F0( 入力クロック ) tCAL 最大値 キャリブレーションに要する時間 16 MHz 8.39 s 3µs 32 MHz 4.19 s 1.5µs 48 MHz 2.8 s 1µs 221 第 6 章 クロック変調器 6.2.6 ステータスレジスタ (CMTS) ステータスレジスタには , キャリブレーション・ユニットの エラーフラグ ELF およ び EHF が含まれています。 <注意事項> ほかのすべてのビットは予備であり , 読出し専用です。 bit アドレス : 0000 017AH アクセス 初期値 bit アドレス : 0000 017BH アクセス 初期値 15 14 − R 1 − R 1 13 ELF R 0 12 EHF R 0 11 10 9 8 − R 0 − R 0 − R 0 − R 1 7 6 5 4 3 2 1 0 − R 0 − R 1 − R 1 − R 1 − R 1 − R 1 − R 1 − R 1 CMTSH CMTSL [bit13] ELF : 低入力周波数エラーフラグ 入力周波数が低すぎるためにモジュレータのキャリブレーションが実行できない 場合 , ELF エラーフラグが設定されます。クロックモジュレータの誤動作を回避す るには , 入力周波数を上げます。 キャリブレーション処理の最後に , 状態が確認されます。フラグは , 新規キャリブ レーション処理が開始されるたびにクリアされます。エラーフラグは読出し専用で す。 0 キャリブレーション中にエラーなし 1 キャリブレーション中にエラー発生 - 入力周波数が低すぎる [bit12] EHF : 高入力周波数エラーフラグ 入力周波数が高すぎるためにモジュレータのキャリブレーションが実行できない 場合 , EHF エラーフラグが設定されます。クロックモジュレータの誤動作を回避す るには , 入力周波数を下げます。 キャリブレーション処理の最後に , 状態が確認されます。フラグは , 新規キャリブ レーション処理が開始されるたびにクリアされます。エラーフラグは読出し専用で す。 222 0 キャリブレーション中にエラーなし 1 キャリブレーション中にエラー発生 - 入力周波数が高すぎる 第 6 章 クロック変調器 6.3 その他の設定 適用例および可能なレジスタ設定については , 「6.3.4 可能な設定」を参照してくだ さい。 223 第 6 章 クロック変調器 6.3.1 変調パラメータの選択 特定の EMI 低減効果を得るための特定の変調パラメータ設定はありません。最適な設 定は , 実際の用途 , システム全体および要件によって異なります。 変調パラメータの設定を最適化するには , 以下の推奨事項を参照してください。 (1) 必要な性能に応じて , 必要な PLL 周波数を定義します。 例えば 32 MHz (2) 最大解像度および最大変調度を用いて設定します。 例えば 解像度 : 中 , 変調度 : 2 (3) EMI 測定を実行します。 (4) EMI 測定が要件を満たさなかった場合 , 同じ周波数解像度で変調度を下げるか , 周 波数解像度を下げて変調度を上げます。 例えば解像度 : 中 , 変調度 : 1 または解像度 : 低 , 変調度 :5 (5) 新しい設定を用いて (3) を繰り返し , 最良の設定が得られるまで続けます。 224 第 6 章 クロック変調器 6.3.2 構成フローチャート PLL クロックの安定 NO YES 乱数ジェネレータコントロールレジスタの設定 (CMLT レジスタ ) 周波数解像度の設定 (CMLS レジスタ ) 変調パラメータの設定 (CMPR レジスタ ) 自動キャリブレーション リロード値の設定 (CMAC レジスタ ) CAN プリスケーラの設定 (CMCR レジスタ ) 変調器 起動 変調器 稼動中 変調器 停止 (CMCR レジスタ ) PLL 不可 225 第 6 章 クロック変調器 6.3.3 プログラム例 次のアセンブラ・プログラム例に , クロックモジュレータの設定方法および起動方法 を示します。最初にモジュレータの設定を実行し , 最後にモジュレータを起動します。 ・ まず , CMLT コントロールレジスタを必要な値に設定します。監視セレクタは , 初 期値 0xF のままにしておきます。 ・ 周波数解像度を中 に設定します。 ・変調度の設定は , 選択した周波数解像度に応じて , 16 MHz 入力クロック用に 3 種 類 , 24 MHz 用に 2 種類 , 32 MHz 用に 2 種類 , 40 MHz 用に 1 種類あります ( 可 能な設定については「6.3.4 可能な設定」) 。入力クロックが 32MHz の場合は , 変調度 2 を選択します ( 周波数域 23.273 MHz ∼ 51.2 MHz) 。 ・ 自動キャリブレーション・タイマ・リロード値を 0xFFFF に設定します (32 MHz 入力クロックでのキャリブレーション間隔 4.192 s に対応 ) 。 ・ 最後に , クロックモジュレータを起動します。同時に , CAN プリスケーラを 3 (CANCLK=input_clock/4) に設定します。MONCLK 端子は無効のままにしておき ます。モジュレータが起動されると同時に , キャリブレーションが開始され (CAL ビット ) , 乱数ジェネレータが初期化されます (IRNG ビット ) 。 // control register CMLT ldi #0xF802,r0 ldi #CMLT0,r1 ldi #CMLT1,r2 ldi #CMLT2,r3 ldi #CMLT3,r4 sth r0,@r1 sth r0,@r2 sth r0,@r3 sth r0,@r4 // frequency resolution register CMLS ldi #0xF800,r0 ldi #0xFF04,r1 ldi #0xF813,r2 ldi #0x0000,r3 ldi #CMLS0,r4 ldi #CMLS1,r5 ldi #CMLS2,r6 ldi #CMLS3,r7 sth r0,@r4 sth r1,@r5 sth r2,@r6 sth r3,@r7 // modulation parameter register CMPR ldi #0x0A82,r0 ldi #CMPR,r1 sth r0,@r1 // calibration reload timer CMAC = 0xFFFF ldi #0xFFFF,r0 ldi #CMAC,r1 sth r0,@r1 226 第 6 章 クロック変調器 // control register CMCR // set CAN-prescaler = 3 (CANCLK=input_CLK/4), enable CAN clock // disable MONCLK pin // start clock modulator ldi #0x03B3,r0 ldi #CMCR,r1 sth r0,@r1 . . . // stop clock modulator // CAN clock remains enabled ldi #0x0380,r0 ldi #CMCR,r1 sth r0,@r1 227 第 6 章 クロック変調器 可能な設定 6.3.4 F0 = 入力周波数 Fmax = 変調範囲の上限 Fmin = 変調範囲の下限 <注意事項> 変調クロックの実際の最大周波数は , 表示されている周波数の Fmax より高い場合 があります。同様に , 実際の最小周波数は , Fmin より低い場合があります。変調ク ロックの絶対最大周波数は 64 MHz 未満です。 228 F0 [MHz] 周波数解像度 変調度 Fmin [MHz] Fmax [MHz] CMLS2 CMLS3 CMPR 16 低 1 15.059 17.067 0x0000 0x0000 0x0F81 16 低 2 14.222 18.286 0x0000 0x0000 0x0E82 16 低 3 13.474 19.692 0x0000 0x0000 0x0D83 16 低 4 12.800 21.333 0x0000 0x0000 0x0C84 16 低 5 12.190 23.273 0x0000 0x0000 0x0B85 16 低 6 11.636 25.600 0x0000 0x0000 0x0A86 16 低 7 11.130 28.444 0x0000 0x0000 0x0987 16 低 8 10.667 32.000 0x0000 0x0000 0x0888 16 低 9 10.240 36.571 0x0000 0x0000 0x0789 16 低 10 9.846 42.667 0x0000 0x0000 0x068A 16 中 1 13.474 19.692 0xF813 0x0000 0x0D81 16 中 2 11.636 25.600 0xF813 0x0000 0x0A82 16 中 3 10.240 36.571 0xF813 0x0000 0x0783 16 高 1 11.130 28.444 0xF813 0xFF84 0xF9F1 24 低 1 22.588 25.600 0x0000 0x0000 0x0F81 24 低 2 21.333 27.429 0x0000 0x0000 0x0E82 24 低 3 20.211 29.538 0x0000 0x0000 0x0D83 24 低 4 19.200 32.000 0x0000 0x0000 0x0C84 24 低 5 18.286 34.909 0x0000 0x0000 0x0B85 24 低 6 17.455 38.400 0x0000 0x0000 0x0A86 24 低 7 16.696 42.667 0x0000 0x0000 0x0987 24 低 8 16.000 48.000 0x0000 0x0000 0x0888 24 中 1 20.211 29.538 0xF813 0x0000 0x0D81 24 中 2 17.455 38.400 0xF813 0x0000 0x0A82 24 高 1 16.696 42.667 0xF813 0xFF84 0xF9F1 32 低 1 30.118 34.133 0x0000 0x0000 0x0F81 32 低 2 28.444 36.571 0x0000 0x0000 0x0E82 第 6 章 クロック変調器 F0 [MHz] 周波数解像度 変調度 Fmin [MHz] Fmax [MHz] CMLS2 CMLS3 CMPR 32 低 3 26.947 39.385 0x0000 0x0000 0x0D83 32 低 4 25.600 42.667 0x0000 0x0000 0x0C84 32 低 5 24.381 46.545 0x0000 0x0000 0x0B85 32 低 6 23.273 51.200 0x0000 0x0000 0x0A86 32 中 1 26.947 39.385 0xF813 0x0000 0x0D81 32 中 2 23.273 51.200 0xF813 0x0000 0x0A82 40 低 1 37.647 42.667 0x0000 0x0000 0x0F81 40 低 2 35.556 45.714 0x0000 0x0000 0x0E82 40 低 3 33.684 49.231 0x0000 0x0000 0x0D83 40 中 1 33.684 49.231 0xF813 0x0000 0x0D81 48 低 1 45.176 51.200 0x0000 0x0000 0x0F81 低 2 42.667 54.857 0x0000 0x0000 0x0E82 48 229 第 6 章 クロック変調器 230 第7章 I/O ポート I/O ポートの概要とレジスタの一覧を示し , 外部端 子を I/O ポートとして使用するための条件について 説明します。 7.1 I/O ポートとレジスタ構成 7.2 ポート機能レジスタ (PFR) の設定 231 第 7 章 I/O ポート 7.1 I/O ポートとレジスタ構成 MB91360 シリーズでは , 周辺回路が使用していない端子を I/O ポートとして使用す ることができます。本項では , I/O ポートの基本ブロックダイヤグラム ( 構造図 ) と レジスタ構成の一覧を示します。 ■ ポート基本ブロックダイヤグラム MB91360 シリーズには , 以下の 3 種類の I/O ポートレジスタがあります。 • ポートデータレジスタ (PDR) • ポート機能レジスタ (PFR) • データ方向レジスタ (DDR) 図 7.1-1 に I/O ポートの基本ブロックダイヤグラムを示します。 図 7.1-1 I/O ポートの基本ブロックダイヤグラム ポートバス 周辺回路入力 PDR 読出し 0 周辺回路出力 PDR 1 1 端子 0 PFR DDR PDR:ポートデータレジスタ DDR:データ方向レジスタ PFR:ポート機能レジスタ ■ レジスタの構成と機能 I/O ポートレジスタは , ポートデータレジスタ (PDR), データ方向レジスタ (DDR), およ びポート機能レジスタ (PFR) から構成されています。 PDR のビットは , DDR と PFR のビットに対応しています。同様に , レジスタビットは ポート端子に対応しています。 ポートデータレジスタにはポート I/O データが含まれており , データ方向レジスタは , 対応するビット ( 端子 ) が入力であるのか , 出力であるのかを指定します。"0" に設定 されたビットは入力であり , "1" に設定されたビットは出力です。ポート機能レジスタ は , ポートが周辺回路ポートとして使用されるのか , I/O ポートとして使用されるのか を指定します。通常 , "0" に設定されたビットは I/O ポートを意味し , "1" に設定された ビットは機能ポートを意味します。 ● 入力モード (DDR=0) • PDR リード : 対応する外部端子の信号レベルが読み出されます。 • PDR ライト : PDR に設定値が書き込まれます。 ● 出力モード (DDR=1) • PDR リード : PDR の値が読み出されます。 • PDR ライト : PDR の値が , 対応する外部端子に出力されます。 232 第 7 章 I/O ポート ● ポートデータレジスタ (PDR) ポートデータレジスタ (PDR) の構成を図 7.1-2 に示します。 図 7.1-2 ポートデータレジスタの構成 PDR7 アドレス : 7 6 5 4 3 2 1 0 P77 P76 P75 P74 P73 P72 P71 P70 7 6 5 4 3 2 1 0 P87 P86 P85 P84 P83 P82 P81 P80 7 6 5 4 3 2 1 0 P97 P96 P95 P94 P93 P92 P91 P90 7 6 5 4 3 2 1 0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 7 6 5 4 3 2 1 0 PG7 PG6 PG5 PG4 PG3 PG2 PG1 PG0 7 6 5 4 3 2 1 0 PH7 PH6 PH5 PH4 PH3 PH2 PH1 PH0 7 6 5 4 3 2 1 0 00000012H PI7 − − − PI3 − − − 7 6 5 4 3 2 1 0 00000013H PJ7 PJ6 PJ5 PJ4 PJ3 PJ2 PJ1 PJ0 7 6 5 4 3 2 1 0 00000014H PK7 PK6 PK5 PK4 PK3 PK2 PK1 PK0 7 6 5 4 3 2 1 0 00000015H PL7 PL6 PL5 PL4 PL3 PL2 PL1 PL0 7 6 5 4 3 2 1 0 00000016H − − − − PM3 PM2 PM1 PM0 7 6 5 4 3 2 1 0 00000017H − − PN5 PN4 PN3 PN2 PN1 PN0 7 6 5 4 3 2 1 0 00000018H PO7 PO6 PO5 PO4 PO3 PO2 PO1 PO0 7 6 5 4 3 2 1 0 00000019H PP7 PP6 PP5 PP4 PP3 PP2 PP1 PP0 7 6 5 4 3 2 1 0 − PQ5 PQ4 PQ3 PQ2 PQ1 PQ 00000007H PDR8 アドレス : 00000008H PDR9 アドレス : 00000009H PDRB アドレス : 0000000BH PDRG アドレス : 00000010H PDRH アドレス : 00000011H PDRI アドレス : PDRJ アドレス : PDRK アドレス : PDRL アドレス : PDRM アドレス : PDRN アドレス : PDRO アドレス : PDRP アドレス : PDRQ アドレス : 0000001AH − 7 6 5 4 3 2 1 0 0000001BH PR7 PR6 PR5 PR4 PR3 PR2 PR1 PR0 7 6 5 4 3 2 1 0 0000001CH PS7 PS6 PS5 PS4 PS3 PS2 PS1 PS0 7 6 5 4 3 2 1 0 − PT5 PT4 PT3 PT2 PT1 PT0 PDRR アドレス : PDRS アドレス : PDRT アドレス : 0000001DH − 初期値 1111XXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXX1B アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 X---X---B アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 ----XXXXB アクセス R/W 初期値 --XXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 --XXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 XXXXXXXXB アクセス R/W 初期値 --XXXXXXB アクセス R/W 233 第 7 章 I/O ポート ● データ方向レジスタ (DDR) データ方向レジスタ (DDR) の構成を図 7.1-3 に示します。 図 7.1-3 データ方向レジスタの構成 DDR7 アドレス : 00000607H 7 P77 6 P76 5 P75 4 P74 3 P73 2 P72 1 P71 0 P70 初期値 アクセス 00000000B R/W DDR8 アドレス : 00000608H 7 P87 6 P86 5 P85 4 P84 3 P83 2 P82 1 P81 0 P80 初期値 アクセス 00000000B R/W DDR9 アドレス : 00000609H 7 P97 6 P96 5 P95 4 P94 3 P93 2 P92 1 P91 0 P90 初期値 アクセス 00000000B R/W DDRB アドレス : 0000060BH 7 PB7 6 PB6 5 PB5 4 PB4 3 PB3 2 PB2 1 PB1 0 PB0 初期値 アクセス 00000000B R/W DDRG アドレス : 00000400H 7 PG7 6 PG6 5 PG5 4 PG4 3 PG3 2 PG2 1 PG1 0 初期値 アクセス PG0 00000000B R/W DDRH アドレス : 00000401H 7 PH7 6 PH6 5 PH5 4 PH4 3 PH3 2 PH2 1 PH1 0 PH0 DDRI アドレス : 00000402H 7 6 5 4 2 1 0 − − − − 3 PI3 − − − DDRJ アドレス : 00000403H 7 PJ7 6 PJ6 5 PJ5 4 PJ4 3 PJ3 2 PJ2 1 PJ1 0 PJ0 初期値 アクセス 00000000B R/W DDRK アドレス : 00000404H 7 PK7 6 PK6 5 PK5 4 PK4 3 PK3 2 PK2 1 PK1 0 PK0 初期値 アクセス 00000000B R/W DDRL アドレス : 00000405H 7 PL7 6 PL6 5 PL5 4 PL4 3 PL3 2 PL2 1 PL1 0 PL0 初期値 アクセス 00000000B R/W DDRM アドレス : 00000406H 7 6 5 4 − − − − 3 PM3 2 PM2 1 PM1 0 PM0 初期値 アクセス ----0000B R/W DDRN アドレス : 00000407H 7 6 − − 5 PN5 4 PN4 3 PN3 2 PN2 1 PN1 0 PN0 初期値 アクセス --000000B R/W DDRO アドレス : 00000408H 7 PO7 6 PO6 5 PO5 4 PO4 3 PO3 2 PO2 1 PO1 0 初期値 アクセス PO0 00000000B R/W DDRP アドレス : 00000409H 7 PP7 6 PP6 5 PP5 4 PP4 3 PP3 2 PP2 1 PP1 0 PP0 初期値 アクセス 00000000B R/W DDRQ アドレス : 0000040AH 7 6 − − 5 PQ5 4 PQ4 3 PQ3 2 PQ2 1 PQ1 0 PQ0 初期値 アクセス --000000B R/W DDRR アドレス : 0000040BH 7 PR7 6 PR6 5 PR5 4 PR4 3 PR3 2 PR2 1 PR1 0 PR0 初期値 アクセス 00000000B R/W DDRS アドレス : 0000040CH 7 PS7 6 PS6 5 PS5 4 PS4 3 PS3 2 PS2 1 PS1 0 PS0 初期値 アクセス 00000000B R/W DDRT アドレス : 0000040DH 7 6 − − 5 PT5 4 PT4 3 PT3 2 PT2 1 PT1 0 PT0 初期値 アクセス --000000B R/W 234 初期値 アクセス 00000000B R/W 初期値 ----0---B アクセス R/W 第 7 章 I/O ポート ● ポート機能レジスタ (PFR) ポート機能レジスタ (PFR) の構成を図 7.1-4 に示します。 図 7.1-4 ポート機能レジスタの構成 PFR7 アドレス : 00000617H PFR8 アドレス : 00000618H PFR9 アドレス : 00000619H PFRB アドレス : 0000061BH PFR27 アドレス : 00000627H PFRG アドレス : 00000410H PFRH 7 6 5 4 3 2 1 0 P77 P76 P75 P74 P73 P72 P71 P70 7 6 5 4 3 2 1 0 P87 P86 P85 P84 P83 P82 − − 7 6 5 4 3 2 1 0 P97 P96 P95 P94 P93 P92 P91 P90 7 6 5 4 3 2 1 0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 7 6 5 4 3 2 1 0 P77 P76 P75 P74 P73 P72 P71 P70 7 6 5 4 3 2 1 0 PG7 PG6 PG5 PG4 PG3 PG2 PG1 PG0 7 6 5 4 3 2 1 0 PH7 PH6 PH5 PH4 PH3 PH2 PH1 PH0 PFRI 7 6 5 4 3 2 1 0 アドレス : 00000412H − − − − PI3 − − − アドレス : 00000411H PFRJ アドレス : 00000413H PFRK アドレス : 00000414H PFRL 7 6 5 4 3 2 1 0 PJ7 PJ6 PJ5 PJ4 PJ3 PJ2 PJ1 PJ0 7 6 5 4 3 2 1 0 PK7 PK6 PK5 PK4 PK3 PK2 PK1 PK0 7 6 5 4 3 2 1 0 PL7 PL6 PL5 PL4 PL3 PL2 PL1 PL0 PFRM 7 6 5 4 3 2 1 0 アドレス : 00000416H − − − − PM3 PM2 PM1 PM0 PFRN 7 6 5 4 3 2 1 0 PN4 PN3 PN2 PN1 PN0 アドレス : 00000415H アドレス : 00000417H − − PN5 PFRO 7 6 5 4 3 2 1 0 PO7 PO6 PO5 PO4 PO3 PO2 PO1 PO0 7 6 5 4 3 2 1 0 PP7 PP6 PP5 PP4 PP3 PP2 PP1 PP0 PFRQ 7 6 5 4 3 2 1 0 アドレス : 0000041AH − − PQ5 PQ4 PQ3 PQ2 PQ1 PQ0 アドレス : 00000418H PFRP アドレス : 00000419H 初期値 00001111B アクセス 初期値 111110--B アクセス 初期値 11110101B アクセス 初期値 00000000B アクセス 初期値 1111-00-B アクセス 初期値 00000000B アクセス 初期値 00000000B アクセス 初期値 ----0---B アクセス 初期値 00000000B アクセス 初期値 00000000B アクセス 初期値 00000000B アクセス 初期値 ----0000B アクセス 初期値 --000000B アクセス 初期値 00000000B アクセス 初期値 00000000B アクセス 初期値 --000000B アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ( 続く ) 235 第 7 章 I/O ポート ( 続き ) PFRR 7 6 5 4 3 2 1 0 PR7 PR6 PR5 PR4 PR3 PR2 PR1 PR0 7 6 5 4 3 2 1 0 PS7 PS6 PS5 PS4 PS3 PS2 PS1 PS0 PFRT 7 6 5 4 3 2 1 0 アドレス : 0000041DH − − PT5 PT4 PT3 PT2 PT1 PT0 アドレス : 0000041BH PFRS アドレス : 0000041CH 236 初期値 00000000B アクセス 初期値 00000000B アクセス 初期値 --000000B アクセス R/W R/W R/W 第 7 章 I/O ポート 7.2 ポート機能レジスタ (PFR) の設定 各 PFR レジスタについて , その機能と初期値をまとめます。 ■ ポート機能レジスタ (PFR) の機能と初期値 表 7.2-1 にポート機能レジスタの機能と初期値を示します。 <注意事項> PFR7, PFR27, PFR8, PFR9, PFRB については「8.7 バスインタフェースを汎用入 出力 ポートとして使用する方法」を参照ください。 表 7.2-1 ポート機能レジスタの機能と初期値 (1 / 7) レジスタ名 PFR7 PFR7(P71), PFR27 (P271) PFR7 (P72), PFR27 (P272) PFR7 PFR7 (P74), PFR27 (P274) PFR7 (P75), PFR27 (P275) PFR7 (P76), PFR27 (P276) ビット名 P70 P71, P271 P72, P272 P73 P74, P274 P75, P275 P76, P276 ビット値 機能 0 汎用ポート 1 アドレス出力 A24( 初期状態 ) 0, 0 汎用ポート 0, 1 アドレス出力 A25( 初期状態 ) 1, 0 設定無効 1, 1 IORX 0, 0 汎用ポート 0, 1 アドレス出力 A26( 初期状態 ) 1, 0 設定無効 1, 1 IOWX 0 汎用ポート 1 アドレス出力 A27( 初期状態 ) 0, 0 汎用ポート 0, 1 1 出力 1, 0 アドレス出力 A28( 初期状態 ) 1, 1 CS4 出力 (「4.2 構成レジスタ (F362GB モードレジスタ F362MD)」参照 ) 0, 0 汎用ポート 0, 1 1 出力 1, 0 アドレス出力 A29( 初期状態 ) 1, 1 CS5 出力 (「4.2 構成レジスタ (F362GB モードレジスタ F362MD)」参照 ) 0, 0 汎用ポート 0, 1 1 出力 1, 0 アドレス出力 A30( 初期状態 ) 1, 1 CS6 出力 (「4.2 構成レジスタ (F362GB モードレジスタ F362MD)」参照 ) 237 第 7 章 I/O ポート 表 7.2-1 ポート機能レジスタの機能と初期値 (2 / 7) レジスタ名 PFR7 (P77), PFR27 (P277) ビット名 P77, P277 PFR8 (BGRNTX) PFR8 (BRQ) − P82 ビット値 機能 0, 0 汎用ポート 0, 1 1 出力 1, 0 アドレス出力 A31( 初期状態 ) 1, 1 CS7 出力 − なし (P82 ビットを BRQ 端子にした場合 に , BGRNTX 専用端子になります。) 0 汎用ポート ( 初期状態 ) 1 BRQ PFR8 (RDX) P83 1 "1" を設定してください。 PFR8 (WR0X) P84 1 "1" を設定してください。 PFR8 (WR1X) P85 1 "1" を設定してください。 PFR8 (WR2X) P86 0 汎用ポート 1 WR2X 出力 ( 初期状態 ) 0 汎用ポート 1 WR3X 出力 ( 初期状態 ) 0 汎用ポート 1 AS 出力 ( 初期値 : "1") 0 汎用ポート ( 初期値 ) 1 未使用 ( 初期値 : "0") 0 汎用ポート (「8.7 バスインタフェースを 汎用入出力 ポートとして使用する方法」 参照 ) 1 CLK 出力 ( 初期値 : "1") 0 未使用 ( 初期値 :"0") 1 汎用ポート 0 汎用ポート 1 外バス使用時 "1" を設定してください。 ( 初期値 :"1") 0 汎用ポート 1 CS1 出力 ( 初期状態 ) 0 汎用ポート 1 CS2 出力 ( 初期状態 ) 0 汎用ポート 1 CS3 出力 ( 初期状態 ) 0 通常使用時 "0" を設定してください。 ( 初期値 : "0") PFR8 (WR3X) PFR9 (AS) PFR9 (ALE) PFR9 (CLK) PFR9 (AH/BOOT) PFR9 (CS0X) PFR9 (CS1X) PFR9 (CS2X) PFR9 (CS3X) PFRB 238 P87 P90 P91 P92 P93 P94 P95 P96 P97 PB0, PB3 第 7 章 I/O ポート 表 7.2-1 ポート機能レジスタの機能と初期値 (3 / 7) レジスタ名 ビット名 PFRB (PB1), PFRB (PB4), PFRB (PB6) PB1, PB4, PB6 PFRB ( ビット 2), DDRB (PB2) ビット 2, PB2 PFRB ( ビット 5), DDRB (PB5) PFRB ( ビット 7), DDRB (PB7) PFRG PFRH PFRI ビット 5, PB5 ビット 7, PB7 PG7 ∼ PG0 PH7 ∼ PH0 PI3 ビット値 0 汎用ポート ( 初期値 : "0") 1 DACK0, 1, 2 0, 0 汎用ポート入力 ( 初期状態 ) 0, 1 汎用ポート出力 1, 0 DMAC: DSTP 入力 1, 1 DMAC: DEOP 出力 0, 0 汎用ポート入力 ( 初期状態 ) 0, 1 汎用ポート出力 1, 0 DMAC: DSTP 入力 1, 1 DMAC: DEOP 出力 0, 0 汎用ポート入力 ( 初期状態 ) 0, 1 汎用ポート出力 1, 0 DMAC: DSTP 入力 1, 1 DMAC: DEOP 出力 0 I/O ポート ( 初期値 ) 1 AN15 ∼ AN8(ADC 入力 ) 0 I/O ポート ( 初期値 ) 1 AN7 ∼ AN0(ADC 入力 ) 0 I/O ポート ( 初期値 ) 1 ATGX(ADC トリガ入力 ) PI7 PFRJ PFRK PFRL PJ7 ∼ PJ0 PK7 ∼ PK0 PL0 ∼ PL3 PL4 ∼ PL7 機能 SELCLK の値は PI7 で読み出すことがで きます。(PDR7:bit7) 0 I/O ポート ( 初期値 ) 1 LED7 ∼ LED0(LED ポート出力 ) 0 I/O ポート ( 初期値 ) 1 INT7 ∼ INT0( 外部割込み入力 ) 0 I/O ポート ( 初期値 ) 1 IN0 ∼ IN3(ICU 入力 ) 0 I/O ポート ( 初期値 ) 1 OUT0 ∼ OUT3(OCU 出力 ) 239 第 7 章 I/O ポート 表 7.2-1 ポート機能レジスタの機能と初期値 (4 / 7) レジスタ名 PFRM ビット名 PM0 PM1 PM2 PM3 PFRN PN0 PN1 PN2 PN3 PN4 PN5 PFRO 240 PO0 ∼ PO7 ビット値 機能 0 I/O ポート ( 初期値 ) 1 SGO( サウンドジェネレータ出力 ) 0 I/O ポート ( 初期値 ) 1 SGA( サウンドジェネレータ出力 ) 0 I/O ポート ( 初期値 ) 1 SDA(I2C データ ) 0 I/O ポート ( 初期値 ) 1 SCL(I2C クロック ) 0 I/O ポート ( 初期値 ) 1 SOT4(SIO 出力 ) 0 I/O ポート ( 初期値 ) 1 SIN4(SIO 入力 ) 0 I/O ポート ( 初期値 ) 1 SCK4(SIO クロック ) 0 I/O ポート ( 初期値 ) 1 SIN3(SIO 入力 ) 0 I/O ポート ( 初期値 ) 1 SOT3(SIO 出力 ) 0 I/O ポート ( 初期値 ) 1 SCK3(SIO クロック ) 0 I/O ポート ( 初期値 ) 1 OCPA0 ∼ OCPA7(PPG 出力 ) 第 7 章 I/O ポート 表 7.2-1 ポート機能レジスタの機能と初期値 (5 / 7) レジスタ名 PFRP ビット名 PP0 PP1 PP2 PP3 PP4 PP5 PP6 PP7 PFRQ PQ0 PQ1 PQ2 PQ3 PQ4 PQ5 ビット値 機能 0 I/O ポート ( 初期値 ) 1 TX0(CAN0) 0 I/O ポート ( 初期値 ) 1 RX0(CAN0) 0 I/O ポート ( 初期値 ) 1 TX1(CAN1) 0 I/O ポート ( 初期値 ) 1 RX1(CAN1) 0 I/O ポート ( 初期値 ) 1 TX2(CAN2) 0 I/O ポート ( 初期値 ) 1 RX2(CAN2) 0 I/O ポート ( 初期値 ) 1 TX3(CAN3) 0 I/O ポート ( 初期値 ) 1 RX3(CAN3) 0 I/O ポート ( 初期値 ) 1 SIN0(UART0)( ブート ROM* 後の値 ) 0 I/O ポート ( 初期値 ) 1 SOT0(UART0)( ブート ROM* 後の値 ) 0 I/O ポート ( 初期値 ) 1 SIN1(UART1) 0 I/O ポート ( 初期値 ) 1 SOT1(UART1) 0 I/O ポート ( 初期値 ) 1 SIN2(UART2) 0 I/O ポート ( 初期値 ) 1 SOT2(UART2) 241 第 7 章 I/O ポート 表 7.2-1 ポート機能レジスタの機能と初期値 (6 / 7) レジスタ名 PFRR ビット名 PR0 PR1 PR2 PR3 PR4 PR5 PR6 PR7 PFRS PS0 PS1 PS2 PS3 PS4 PS5 PS6 PS7 242 ビット値 機能 0 I/O ポート ( 初期値 ) 1 PWM1P0( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1M0( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2P0( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2M0( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1P1( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1M1( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2P1( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2M1( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1P2( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1M2( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2P2( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2M2( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1P3( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM1M3( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2P3( ステッパモータ制御 ) 0 I/O ポート ( 初期値 ) 1 PWM2M3( ステッパモータ制御 ) 第 7 章 I/O ポート 表 7.2-1 ポート機能レジスタの機能と初期値 (7 / 7) レジスタ名 ビット名 ビット値 機能 PFRT (MB91F364G のみ ) PFRT PT0 PT1 PT2 PT3 PT4 PT5 0 I/O ポート ( 初期値 ) 1 SIN5 (LIN-UART5) 0 I/O ポート ( 初期値 ) 1 SCK5 (LIN-UART5) 0 I/O ポート ( 初期値 ) 1 SOT5 (LIN-UART5) 0 I/O ポート ( 初期値 ) 1 SOT6 (LIN-UART6) 0 I/O ポート ( 初期値 ) 1 SCK6 (LIN-UART6) 0 I/O ポート ( 初期値 ) 1 SIN6 (LIN-UART6) *: ブートコードの実行時に , 有効なブート状態が検出された場合のみ , この値が設定されます。 243 第 7 章 I/O ポート 244 第8章 外部バスインタフェース 外部バスインタフェース , レジスタの構造と機能 , バス動作の基本 , バスの動作タイミングについて説 明します。 8.1 外部バスインタフェースの概要 8.2 外部バスインタフェースのレジスタ 8.3 外部バスの仕様 8.4 外部バスアクセス 8.5 バス信号 8.6 バスの動作タイミング 8.7 バスインタフェースを汎用入出力 ポートとして使用する 方法 245 第 8 章 外部バスインタフェース 8.1 外部バスインタフェースの概要 外部バスインタフェースは , 外部メモリ , および外部 I/O とのインタフェースを制御 します。 ■ 外部バスインタフェースの特長 • 32 ビット (4G バイト ) のアドレス出力が可能です。 • チップセレクト機能により , 8 個の独立したバンク構成が可能です。 バンクは, 最小64Kバイト単位で論理アドレス空間上の任意の位置に設定できます。 領域なしに設定可能です。 • チップセレクト領域ごとに 32/16/8 ビットのバス幅の設定が可能です。 • プログラム可能な自動メモリ待ち ( 最大で 7 サイクル分 ) の挿入ができます。 • 未使用のアドレス / データ端子は I/O ポートとして使用できます。 <注意事項> 246 • チップセレクト領域 CS7 は , 内部 CAN モジュールに使用されます。必要なレジ スタの設定は , 内部ブートルーチンによって行われます。この CS 領域に関連す るレジスタのビットに上書きしないよう注意してください。 • 外部バス ( ユーザロジックバスともよばれる ) に内部的に接続されている CAN マクロを使用している場合 , 外部バスインタフェースのいくつかのデータ , アド レス , および制御ポートを汎用 I/O ポートとして構成することはできません。 「第 7 章 I/O ポート」を参照してください。 第 8 章 外部バスインタフェース ■ 外部バスインタフェースのブロックダイヤグラム 図 8.1-1 に外部バスインタフェースのブロックダイヤグラムを示します。 図 8.1-1 ブロックダイヤグラム アドレスバス データバス 32 32 外部データバス 書込みバス スイッチ 読出しバッファ スイッチ データブロック アドレスブロック +1 or +2 アライメント 外部アドレスバス アドレスバッファ ASR CS0X~CS7X AMR コンバータ 外部端子制御部 RDX WR0X, WR1X WR2X, WR3X 全ブロック制御 レジスタ&制御 BRQ BGRNTX RDY CLK 247 第 8 章 外部バスインタフェース ■ 領域 外部バスインタフェースには , 8 種類のチップセレクト領域が用意されます。 各領域の位置は , ASR0 ∼ ASR7( 領域選択レジスタ ) と AMR0 ∼ AMR7( 領域マスクレ ジスタ ) によって指示される 4G バイトの空間に , 最小 64K バイト単位で任意に配置す ることができます。また , ASR0 ∼ ASR7 のレジスタによって指定された領域に対して 外部バスをアクセスしようとすると , 対応するチップ選択信号 CS0X ∼ CS7X がアク ティブ "L" になります。 図 8.1-2 にチップセレクト領域の配置例を示します。 例 1 は , 領域 0 を 00000000H ∼ 000FFFFFH に , 領域 1 から領域 5 を 00100000H ∼ 0014FFFFH に 64K バイト単位で配置した例を示します。また , 例 2 は , 領域 0 を 00080000H ∼ 000FFFFFH に , 領域 1 を 00000000H ∼ 0007FFFFH の 512K バイト , 領域 2 から領域 5 を 00100000H ∼ 004FFFFFH に 1M バイト単位で配置した例を示します。 図 8.1-2 チップセレクト領域の配置例 例1 例2 00000000H 0007FFFFH 00000000H 00080000H CS0X (1M byte) 000FFFFFH CS1X(64K byte) CS2X(64K byte) CS3X(64K byte) 0010FFFFH 0011FFFFH 0012FFFFH 0013FFFFH 0014FFFFH CS4X(64K byte) CS5X(64K byte) 000FFFFFH 001FFFFFH CS1X(512 Kbyte) CS0X(512 Kbyte) CS2X(1 Mbyte) CS3X(1 Mbyte) 002FFFFFH 003FFFFF CS4X(1 Mbyte) H 004FFFFF H CS5X(1 Mbyte) ■ 外部バスのサイズ指定 各領域はレジスタの設定により , バス幅の任意指定が可能です。 領域 0 は , 設定初期化リセット (INIT), および動作初期化リセット (RST) 解除後は , モー ドベクタフェッチによってモードベクタ (MODR) に書き込まれた設定値により , バス サイズが指定されます。 248 第 8 章 外部バスインタフェース 外部バスインタフェースのレジスタ 8.2 外部バスインタフェースで使用するレジスタについて説明します。 ■ 外部バスインタフェースのレジスタ一覧 表 8.2-1 に外部バスインタフェースのレジスタ一覧を示します。 表 8.2-1 外部バスインタフェースのレジスタ一覧 アドレス ビット 31 ∼ 24 ビット 23 ∼ 16 ビット 15 ∼ 8 ビット 7 ∼ 0 00000640H ASR0(Area Select Reg.0) AMR0(Area Mode Reg.0) 00000644H ASR1(Area Select Reg.1) AMR1(Area Mode Reg.1) 00000648H ASR2(Area Select Reg.2) AMR2(Area Mode Reg.2) 0000064CH ASR3(Area Select Reg.3) AMR3(Area Mode Reg.3) 00000650H ASR4(Area Select Reg.4) AMR4(Area Mode Reg.4) 00000654H ASR5(Area Select Reg.5) AMR5(Area Mode Reg.5) 00000658H ASR6(Area Select Reg.6) AMR6(Area Mode Reg.6) 0000065CH ASR7(Area Select Reg.7) AMR7(Area Mode Reg.7) 00000660H AMD0 AMD1 AMD2 AMD3 00000664H AMD4 AMD5 AMD6 AMD7 00000668H CSE - - - 00000670H CHE - - - 000007FCH - MODR - - ASR AMR AMD CSE CHE MODR (Area Select Register) (Area Mask Register) (Area Mode Register) (Chip Select Enable Register) (CacHe Enable Register) (MODe Register) 249 第 8 章 外部バスインタフェース ■ 領域選択レジスタ (ASR0 ∼ ASR7) 図 8.2-1 に領域選択レジスタ (ASR0 ∼ ASR7) の構成を示します。 図 8.2-1 領域選択レジスタ (ASR0 ∼ ASR7) の構成 初期値 ASR0 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H 0000H W 00 0640H A31 A30 A29 ... ASR1 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 00 0644H A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W ASR2 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 00 0648H A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W ASR3 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H xxxxH W 00 064CH A31 A30 A29 ... ASR4 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H xxxxH W 00 0650H A31 A30 A29 ... ASR5 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 00 0654H A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W ASR6 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H xxxxH W 00 0658H A31 A30 A29 ... ASR7 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 00 065CH A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W 内部ブート ROM のコード実行後 , ASR0 は "0x20", ASR7 は "0x10" に設定されます。 250 第 8 章 外部バスインタフェース ■ 領域マスクレジスタ (AMR0 ∼ AMR7) 図 8.2-2 に領域マスクレジスタ (AMR0 ∼ AMR7) の構成を示します。 図 8.2-2 領域マスクレジスタ (AMR0 ∼ AMR7) の構成 初期値 AMR0 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 FFFFH FFFFH W 0000 0642H A31 A30 A29 ... AMR1 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 0000 0646H A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W AMR2 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 0000 064AH A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W AMR3 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H xxxxH W 0000 064EH A31 A30 A29 ... AMR4 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H xxxxH W 0000 0652H A31 A30 A29 ... AMR5 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 0000 0656H A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W AMR6 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス ... A18 A17 A16 0000H xxxxH W 0000 065AH A31 A30 A29 ... AMR7 bit15 14 13 12 ... 2 1 0 INIT 時 RST 時 アクセス 0000 065EH A31 A30 A29 ... ... A18 A17 A16 0000H xxxxH W <注意事項> 内部ブート ROM のコード実行後 , AMR0 は "0x0F", AMR7 は "0x00" に設定されま す。 ASR0 ∼ ASR7( 領域選択レジスタ ) と AMR0 ∼ AMR7( 領域マスクレジスタ ) は , チッ プセレクト領域 0 ∼ 7 のアドレス空間の範囲を指定します。 ASR0 ∼ ASR7 はアドレスの上位 16 ビット A31 ∼ A16 を指定し , AMR0 ∼ AMR7 で対 応するアドレスビットをマスクします。AMR0 ∼ AMR7 の各ビットは "0" で care, "1" で don't care を示します。care とは ASR の設定値が "0" の場合は "0", "1" の場合は "1" としてアドレス空間を示し , don't care の場合には ASR の設定値にかかわらず , "0", "1" 両方の場合のアドレス空間を示します。 ASR0, AMR0 はリセット時に初期化され , アドレス空間の全領域が領域 0 の指定となり ます。 ASR1 ∼ ASR7, AMR1 ∼ AMR7 は INIT 時に初期化されます。リセット時は , 前の値が 保持されます。 251 第 8 章 外部バスインタフェース 以下に , ASR と AMR の組合せによる , 各チップ選択領域指定の例を示します。 ( 例 1) ASR1 = 00000000 00000011B AMR1 = 00000000 00000000B を設定した場合 , ASR1 に "1" を設定したビットに対応する AMR1 のビットは "0" であ るため , その領域 1 のアドレス空間は , 00000000 00000011 00000000 00000000 B ~ 00000000 00000011 11111111 11111111 B (00030000 H) (0003FFFF H ) の 64K バイトになります。 ( 例 2) ASR2 = 00001111 11111111B AMR2 = 00000000 00000011B を設定した場合 , AMR2 に "0" を設定したビットに対応する ASR2 の設定値は "1", "0" をそのまま care し , AMR2 に "1" を設定したビットに対応する ASR2 のビットは , "0", または "1" の don't care になることから , 領域 2 のアドレス空間は , 00001111 11111100 00000000 00000000 B ~ (0FFC0000H ) 00001111 11111111 11111111 11111111 B (0FFFFFFF H ) の 256K バイトになります。 領域 1 ∼ 5 の各領域のアドレス空間は , ASR1 ∼ ASR5 と AMR1 ∼ AMR5 で , 4G バイ トの空間に最小 64K バイト単位で任意に配置することができます。これらのレジスタ によって指定された領域に対してバスアクセスを行うと , 対応するチップセレクト端 子 (CS0X ∼ CS7X) が Low 出力となります。 なお , リセット時は , 領域 0 がすべての領域に割り当てられます。 連続領域が必要な場合 , 最大のチップセレクト領域も存在します。次の表に例を示しま す。 表 8.2-2 最大のチップ選択領域の設定例 ASR <注意事項> 252 AMR CS 領域 0020H 001FH 1 M バイト : 0020:0000H ∼ 002F:FFFFH 0200H 01FFH 16 M バイト : 0200:0000H ∼ 02FF:FFFFH 2000H 1FFFH 256 M バイト : 2000:0000H ∼ 2FFF:FFFFH チップセレクト領域は , お互いにオーバラップしないように設定してください。 各チップセレクト領域をオーバラップさせた場合は , 領域番号の小さい方が優先と なります。チップセレクト信号は両方ともアクティブになりますが , 領域番号の小 さいバス幅 , 自動ウェイトサイクル , RDY 許可の設定が使用されます。 第 8 章 外部バスインタフェース 図 8.2-3 にチップセレクト領域の初期値 , および例 1, 例 2 の配置を示します。 図 8.2-3 チップセレクト領域の初期値 , および例 1, 例 2 の配置 (例1, 例2の配置) (初期値) 00000000 H 00000000 H 00030000 H 00040000 H 0FFC0000 H 領域 0 10000000 H FFFFFFFF H FFFFFFFF H 領域 1 64 Kバイト(例1) 領域 2 256 Kバイト(例2) ■ 領域モードレジスタ (AMD0 ∼ AMD7) AMD0 ∼ AMD7 は , 各チップセレクト領域でのメモリアクセス動作モードを指定しま す。 ● AMD0 レジスタ AMD0 レジスタは , チップセレクト領域 0 の動作モードを指定します。リセット時は 領域 0 が全領域に選択されます。 下図に領域モードレジスタ (AMD0) のビット構成を示します。 AMD0 初期値 bit 0000 0660H 7 6 5 4 予約 RDYE BW1 − 3 2 1 0 INIT 時 アクセス RST 時 BW0 WTC2 WTC1 WTC0 -0000111B -00xx111B R/W 内部ブート ROM のコード実行後 , このレジスタは "0x11" に設定されます。 [bit6] (reserved) 予約ビットです。 通常使用時には , 必ず "0" を設定してください。 [bit5] RDYE(ReaDY input Enable bit): RDY 入力許可ビット RDYE ビットは , 領域 0 に対する RDY 入力を以下のように制御します。 RDYE 機能 0 RDY 入力を無効にする ( 初期値 ) 1 RDY 入力を有効にする [bit4, bit3] BW1, BW0(Bus Width bit): バス幅ビット BW1, および BW0 ビットは , 領域 0 のバス幅を指定します。 ただし , INIT 解除後 , モードを取り込んだ値 ( モードレジスタの WTH ビット ) が モードの取込み直後に BW ビットに反映されます。 253 第 8 章 外部バスインタフェース BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit): WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト の挿入回数を指定します。 AMD0 レジスタの WTC2 ∼ WTC0 ビットはリセット時に "111" に設定され , リセッ ト解除直後のバスアクセスでは自動的に 7 サイクルのウェイトが実行されます。 WTC2 WTC1 WTC0 挿入ウェイトサイクル数 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7( 初期値 ) ● AMD1 レジスタ AMD1 レジスタは , チップセレクト領域 1(ASR1 レジスタと AMR1 レジスタで指定さ れた領域 ) の動作モードを指定します。 下図に領域モードレジスタ (AMD1) のビット構成を示します。 AMD1 初期値 bit 0000 0661H 7 − 6 5 4 予約 RDYE BW1 3 2 1 0 RST 時 BW0 WTC2 WTC1 WTC0 -0000000B -xxxxxxxB [bit6] (reserved) 予約ビットです。 通常使用時には , 必ず "0" を設定してください。 254 INIT 時 アクセス R/W 第 8 章 外部バスインタフェース [bit5] RDYE(ReaDY input Enable bit) RDYE ビットは , 領域 1 に対する RDY 入力を下表のように制御します。 RDYE 機能 0 RDY 入力を無効にする 1 RDY 入力を有効にする [bit4, bit3] BW1, BW0(Bus Width bit) BW1, BW0 ビットは , 領域 1 のバス幅を指定します。 BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit) WTC2 ∼ WTC0 ビットは , 通常バスインタフェース , 自動ウェイトの挿入回数を指 定します。動作は AMD0 レジスタの WTC2 ∼ WTC0 ビットと同様ですが , 設定初 期化リセットで "000" に初期化され , 挿入されるウェイトサイクル数は "0" になり ます。 本品種は , 時分割入出力インタフェースをサポートしていません。 <注意事項> ● AMD2 レジスタ AMD2 レジスタは , チップセレクト領域 2 の動作モードを指定します。 下図に領域モードレジスタ (AMD2) のビット構成を示します。 AMD2 初期値 bit 0000 0662H 7 6 − − 5 4 RDYE BW1 3 2 1 0 INIT 時 アクセス RST 時 BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB R/W [bit5] RDYE(ReaDY input Enable bit) RDYE ビットは , 領域 2 に対する RDY 入力を以下のように制御します。 RDYE 機能 0 RDY 入力を無効にする 1 RDY 入力を有効にする 255 第 8 章 外部バスインタフェース [bit4, bit3] BW1, BW0(Bus Width bit) BW1, BW0 ビットは , 領域 2 のバス幅を指定します。 BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit) WTC2 ∼ WTC0 レジスタは , 通常のバスインタフェース動作時における自動ウェイ トの挿入回数を指定します。 他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。 WTC2 WTC1 WTC0 挿入ウェイトサイクル数 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 ● AMD3 レジスタ AMD3 レジスタは , チップセレクト領域 3 の動作モードを指定します。 下図に領域モードレジスタ (AMD3) のビット構成を示します。 AMD3 初期値 bit 0000 0663H 256 7 − 6 − 5 4 RDYE BW1 3 2 1 0 INIT 時 アクセス RST 時 BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB R/W 第 8 章 外部バスインタフェース [bit5] RDYE(ReaDY input Enable bit) RDYE ビットは , 領域 3 に対する RDY 入力を以下のように制御します。 RDYE 機能 0 RDY 入力を無効にする 1 RDY 入力を有効にする [bit4, bit3] BW1, BW0(Bus Width bit) BW1, BW0 ビットは , 領域 3 のバス幅を指定します。 BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit) WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト の挿入回数を指定します。 他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。 WTC2 WTC1 WTC0 挿入ウェイトサイクル数 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 257 第 8 章 外部バスインタフェース ● AMD4 レジスタ AMD4 レジスタは , チップセレクト領域 4 の動作モードを指定します。 下図に領域モードレジスタ (AMD4) のビット構成を示します。 AMD4 初期値 bit 0000 0664H 7 6 − − 5 4 RDYE BW1 アクセス 3 2 1 0 INIT 時 RST 時 BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB R/W [bit5] RDYE(ReaDY input Enable bit) RDYE ビットは , 領域 4 に対する RDY 入力を以下のように制御します。 RDYE 機能 0 RDY 入力を無効にする 1 RDY 入力を有効にする [bit4, bit3] BW1, BW0(Bus Width bit) BW1, BW0 ビットは , 領域 4 のバス幅を指定します。 BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit) WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト の挿入回数を指定します。 他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。 258 WTC2 WTC1 WTC0 挿入ウェイトサイクル数 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 第 8 章 外部バスインタフェース ● AMD5 レジスタ AMD5 レジスタは , チップセレクト領域 5 の動作モードを指定します。 下図に領域モードレジスタ (AMD5) のビット構成を示します。 AMD5 初期値 bit 0000 0665H 7 6 − − 5 4 RDYE BW1 3 2 1 0 INIT 時 アクセス RST 時 BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB R/W [bit5] RDYE(ReaDY input Enable bit) RDYE ビットは , 領域 5 に対する RDY 入力を以下のように制御します。 RDYE 機能 0 RDY 入力を無効にする 1 RDY 入力を有効にする [bit4, bit3] BW1, BW0(Bus Width bit) BW1, BW0 ビットは , 領域 5 のバス幅を指定します。 BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit) WTC2 ∼ WTC0 ビットは , 通常のバスインタフェース動作時における自動ウェイト の挿入の回数を指定します。 他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , 設定初期化リ セット (INIT) で "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。 WTC2 WTC1 WTC0 挿入ウェイトサイクル数 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 259 第 8 章 外部バスインタフェース ● AMD6 レジスタ AMD6 レジスタは , チップセレクト領域 6(ASR6 レジスタと AMR6 レジスタで指定し た領域 ) の動作モードを指定します。 下図に領域モードレジスタ (AMD6) のビット構成を示します。 AMD6 初期値 bit 0000 0666H 7 6 − − 5 4 RDYE BW1 3 2 1 0 INIT 時 アクセス RST 時 BW0 WTC2 WTC1 WTC0 --000000B --xxxxxxB R/W [bit6] (reserved) 予約ビットです。通常使用時には , 必ず "0" を書き込んでください。 [bit5] RDYE(ReaDY input Enable bit) RDYE ビットは , 領域 6 に対する RDY 入力を以下のように制御します。 RDYE 機能 0 RDY 入力を無効にする 1 RDY 入力を有効にする [bit4, bit3] BW1, BW0(Bus Width bit) BW1, BW0 ビットは , 領域 6 のバス幅を指定します。 BW1 BW0 バス幅 0 0 8 ビット 0 1 16 ビット 1 0 32 ビット 1 1 予約 [bit2 ∼ bit0] WTC2 ∼ WTC0(Wait Cycle bit) WTC2 ∼ WTC0 ビットは , 領域 6 のメモリアクセス時の自動挿入ウェイトサイクル数 を指定します。他の AMD レジスタの WTC2 ∼ WTC0 ビットと同様の機能を持ち , リ セットで "000" に初期化され , 挿入ウェイトサイクル数は "0" になります。 ● AMD7 レジスタ 内部ブート ROM のコード実行後 , このレジスタは "0x29" に設定されます。 AMD7 レジスタは , チップセレクト領域 7(ASR7 レジスタと AMR7 レジスタで指定さ れた領域 ) のバスモードを指定します。 各ビットは AMD6 レジスタと同様の意味を持ちます。 AMD7 初期値 bit 0000 0667H 260 7 6 − − 5 4 RDYE BW1 3 2 1 アクセス 0 INIT 時 RST 時 --000000 --xxxxxx BW0 WTC2 WTC1 WTC0 B B R/W 第 8 章 外部バスインタフェース ■ キャッシュ許可レジスタ (CHE): CacHe Enable register 下図にキャッシュ許可レジスタ (CHE) のビット構成を示します。 bit 0000 0670H 15 14 13 12 11 10 9 8 初期値 アクセス CHE7 CHE6 CHE5 CHE4 CHE3 CHE2 CHE1 CHE0 11111111B R/W [bit15 ∼ bit8] CS0 ∼ CS7 の各領域のキャッシュ / 非キャッシュ領域の指定をします。 0: 非キャッシュ領域 1: キャッシュ領域 CHE のビット 対応する CS CHE0 CS0 CHE1 CS1 CHE2 CS2 CHE3 CS3 CHE4 CS4 CHE5 CS5 CHE6 CS6 CHE7 CS7 CHE0 ビットが CS0 領域に対応 , CHE1 ビットが CS1 領域に対応となっています。 また , 非キャッシュ領域指定とキャッシュ領域指定がオーバラップした場合 , 非 キャッシュ領域指定が優先されます。 261 第 8 章 外部バスインタフェース ■ チップセレクト許可レジスタ (CSE): Chip Select Enable register 下図にチップセレクト許可レジスタ (CSE) のビット構成を示します。 bit 0000 0668H 15 14 13 12 11 10 9 8 初期値 アクセス CSE7 CSE6 CSE5 CSE4 CSE3 CSE2 CSE1 CSE0 00000001B R/W 内部ブート ROM のコード実行後 , このレジスタは "0x81" に設定されます。 [bit15 ∼ bit8] CS0 ∼ CS7 のチップセレクトの領域許可ビットです。 初期値は , 00000001B で CSE0 ビットのみ許可となっています。 "1"を書き込むことにより, ASR0∼ASR7, AMR0∼AMR7の設定が有効になります。 CSE0 ∼ CSE7 ASR0 ∼ ASR7, AMR0 ∼ AMR7 の設定 0 禁止 1 許可 CSE のビット 対応する CS CSE0 CS0 CSE1 CS1 CSE2 CS2 CSE3 CS3 CSE4 CS4 CSE5 CS5 CSE6 CS6 CSE7 CS7 CSE0 ビットが CS0 領域に対応 , CSE1 ビットが CS1 領域に対応しています。 ■ モードレジスタ (MODR): MODe Register 「2.10.3 フィックスベクタ」の項を参照してください。 262 第 8 章 外部バスインタフェース 外部バスの仕様 8.3 外部バスの仕様について説明します。 ■ データバス幅と制御信号との関係 WR0X ∼ WR3X の制御信号は , ビッグエンディアン / リトルエンディアンやデータバ ス幅に関係なくデータバスのバイト位置に常に 1 対 1 に対応します。 ● 通常バスインタフェース 図 8.3-1 にバスモード別に , 設定されたデータバス幅で使用される MB91360 シリーズ のデータバスのバイト位置とそれに対応する制御信号との関係をまとめます。 図 8.3-1 データバスのバイト位置と対応する制御信号の関係 a) 32ビットバス幅 データバス 制御信号 b) 16ビットバス幅 データバス 制御信号 D31 D31 b) 8ビットバス幅 データバス 制御信号 D31 : WR0X : WR0X : WR0X D24 : WR1X : WR1X - : - : - - : - D16 : WR2X : WR3X D0 - : (D15~D0は未使用) : (D23~D0は未使用) ■ ビッグエンディアン方式のバスアクセス FR50 は , 通常ビッグエンディアンで外部アクセスを行います。 263 第 8 章 外部バスインタフェース ■ データフォーマット データフォーマットには , アクセス方法によってワードアクセス , ハーフワードアクセ ス , およびバイトアクセスの 3 種類があります。 各アクセス方法における , 内部レジスタと外部データバスとの関係を以下に示します。 ● ワードアクセス (LD, ST 命令実行時 ) 内部レジスタ 外部バス D31 D31 AA AA BB BB D23 D23 D15 D15 CC CC D07 D07 DD DD ● ハーフワードアクセス (LDUH, STH 命令実行時 ) a) 出力アドレス下位 00 b) 出力アドレス下位 10 内部レジスタ 内部レジスタ 外部バス D31 外部バス D31 D31 D31 D23 D23 D23 D15 D15 AA D23 BB D15 AA D07 D15 AA D07 BB AA D07 D07 BB BB ● バイトアクセス (LDUB, STB 命令実行時 ) a) 出力アドレス下位 00 b) 出力アドレス下位 01 c) 出力アドレス下位 10 d) 出力アドレス下位 11 内部レジスタ 外部バス 内部レジスタ 外部バス 内部レジスタ 外部バス 内部レジスタ 外部バス D31 D31 D31 D31 D31 D31 D31 AA D23 D23 D23 D23 D23 D23 D23 AA D15 D15 D15 D15 D15 D15 D15 AA D07 D07 D07 D07 D07 D07 D07 AA AA AA AA AA 264 D31 D23 D15 D07 第 8 章 外部バスインタフェース ■ データバス幅 データバス幅は , 32 ビット , 16 ビット , および 8 ビットの 3 種類あります。 それぞれのバス幅における , 内部レジスタと外部バスとの関係を以下に示します。 ● 32 ビットバス幅 外部バス 内部レジスタ D31 AA AA D31 D23 BB BB D23 D15 CC CC D15 D07 DD DD D07 読出し/書込み ● 16 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 D31 AA D23 BB D15 CC D07 DD 読出し/書込み "00" "01" AA CC D31 BB DD D23 ● 8 ビットバス幅 内部レジスタ 外部バス 出力アドレス下位 読出し/書込み D31 AA D23 BB D15 CC D07 DD "00" "01" "10" "11" AA BB CC DD D31 265 第 8 章 外部バスインタフェース ■ 外部バスアクセス 外部バスアクセスのまとめとして , ここではバイトポジション , プログラムアドレスと 出力アドレス , 32 ビット /16 ビット /8 ビットバス幅のバスアクセス回数とワード / ハー フワード / バイトアクセスについて説明します。 PA1/PA0 プログラムで指定したアドレス下位2ビット 出力A1/A0 出力するアドレスの下位2ビット 出力するアドレスの先頭バイト位置 + アクセスするデータバイト位置 ①~④ バスアクセス回数 したがって , ワードアクセスの場合には , プログラムで指定したアドレス下位 2 ビット が "00", "01", "10", "11" であっても , 出力するアドレスの下位 2 ビットはすべて "00" と なり , ハーフワードアクセスの場合には "00", "01" のときには 00 に , "10", "11" のとき には "10" になります。 ● 32 ビットバス幅 • ワードアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 MSB (b) PA1/PA0=01 ①出力A1/A0=00 (c) PA1/PA0=10 ①出力A1/A0=00 LSB 1 1 1 00 (d) PA1/PA0=11 ①出力A1/A0=00 01 10 11 00 01 10 11 1 00 01 10 11 00 01 10 11 32bit • ハーフワードアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 (b) PA1/PA0=01 ①出力A1/A0=00 1 (c) PA1/PA0=10 ①出力A1/A0=10 1 00 01 10 11 (d) PA1/PA0=11 ①出力A1/A0=10 1 00 01 10 11 1 00 01 10 11 00 01 10 11 • バイトアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 (b) PA1/PA0=01 ①出力A1/A0=01 1 1 00 266 01 10 11 (c) PA1/PA0=10 ①出力A1/A0=10 (d) PA1/PA0=11 ①出力A1/A0=11 1 00 01 10 11 1 00 01 10 11 00 01 10 11 第 8 章 外部バスインタフェース ● 16 ビットバス幅 • ワードアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 ②出力A1/A0=10 MSB (b) PA1/PA0=01 ①出力A1/A0=00 ②出力A1/A0=10 (c) PA1/PA0=10 ①出力A1/A0=00 ②出力A1/A0=10 (d) PA1/PA0=11 ①出力A1/A0=00 ②出力A1/A0=10 LSB 1 00 01 1 00 01 1 00 01 1 00 01 2 10 11 2 10 11 2 10 11 2 10 11 16bit • ハーフワードアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 1 00 01 10 11 (b) PA1/PA0=01 ①出力A1/A0=00 1 00 01 10 11 (c) PA1/PA0=10 ①出力A1/A0=10 1 (d) PA1/PA0=11 ①出力A1/A0=10 00 01 10 11 1 00 01 10 11 • バイトアクセスの場合 (a)PA1/PA0=00 1 00 01 10 11 (c)PA1/PA0=10 (b)PA1/PA0=01 ①出力A1/A0=00 ①出力A1/A0=01 1 00 01 10 11 (d)PA1/PA0=11 ①出力A1/A0=10 1 ①出力A1/A0=11 00 01 10 11 1 00 01 10 11 267 第 8 章 外部バスインタフェース ● 8 ビットバス幅 • ワードアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 ②出力A1/A0=01 ③出力A1/A0=10 ④出力A1/A0=11 (b) PA1/PA0=01 ①出力A1/A0=00 ②出力A1/A0=01 ③出力A1/A0=10 ④出力A1/A0=11 (c) PA1/PA0=10 ①出力A1/A0=00 ②出力A1/A0=01 ③出力A1/A0=10 ④出力A1/A0=11 (d) PA1/PA0=11 ①出力A1/A0=00 ②出力A1/A0=01 ③出力A1/A0=10 ④出力A1/A0=11 LSB MSB 1 00 1 00 1 00 1 00 2 01 2 01 2 01 2 01 3 10 3 10 3 10 3 10 4 11 4 11 4 11 4 11 8bit • ハーフワードアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 ②出力A1/A0=01 (b) PA1/PA0=01 ①出力A1/A0=00 ②出力A1/A0=01 (c) PA1/PA0=10 ①出力A1/A0=10 ②出力A1/A0=11 (d) PA1/PA0=11 ①出力A1/A0=10 ②出力A1/A0=11 1 00 1 00 00 00 2 01 2 01 01 01 10 10 1 10 1 10 11 11 2 11 2 11 • バイトアクセスの場合 (a) PA1/PA0=00 ①出力A1/A0=00 1 00 01 268 (b) PA1/PA0=01 ①出力A1/A0=01 1 (c) PA1/PA0=10 ①出力A1/A0=10 (d) PA1/PA0=11 ①出力A1/A0=11 00 00 00 01 01 01 10 10 10 10 11 11 1 11 1 11 第 8 章 外部バスインタフェース ■ 外部デバイスとの接続例 8 ビット , 16 ビット , および 32 ビットの外部デバイスと接続する場合のデータバスの 接続例を , 図 8.3-2 に示します。 図 8.3-2 外部デバイスとの接続例 MB91360シリーズ W D31 R | 0 D24 X 00 D31 W D23 R | 1 D16 X 01 W D15 R | 2 D08 X W D07 R | 3 D00 X 10 D24D23 D16D15 D08D07 * 16ビット/8ビットデバイスの場合は, MB91360シリーズのMSB側のデータバス を使用します。 11 0 D00 32ビットデバイス ("00"~"11" アドレス下位2ビット) D15 1 D08D07 0 D00 D07 D00 * 16ビットデバイス * 8ビットデバイス ("0"/"1" アドレス下位1ビット) 269 第 8 章 外部バスインタフェース 8.4 外部バスアクセス データバス幅 , およびワード幅におけるバスアクセスについて , 詳細に説明します。 ■ ワードアクセス ワードアクセスにおける , データバス幅が 32 ビット , 16 ビット , および 8 ビットでの 内部レジスタと外部データバス ( 外部端子 ) との対応を , 表 8.4-1 に示します。 表 8.4-1 ワードアクセスにおける内部レジスタと外部端子の対応 ) ビッグエンディアンモード 内部レジスタ 外部端子 制御端子 アドレス下位2ビット:"0" D31 D31 AA AA WR0X BB BB WR1X CC CC WR2X DD WR3X 32 ビットバス幅 DD D00 D00 内部レジスタ D31 16 ビットバス幅 1 外部端子 アドレス: "0" D31 AA AA BB CC D16 DD 制御端子 "2" CC WR0X BB DD WR1X - - - - - - 1 2 D00 内部レジスタ D31 8 ビットバス幅 D00 270 外部端子 アドレス: "0" D31 AA AA 制御端子 "1" "2" "3" BB CC DD WR0X BB D24 - - - - - CC - - - - - DD - - - - - 1 2 3 4 第 8 章 外部バスインタフェース ■ ハーフワードアクセス ハーフワードアクセスにおける , データバス幅が 32 ビット , 16 ビット , および 8 ビッ トでの内部レジスタと外部データバス ( 外部端子 ) との対応を , 表 8.4-2 に示します。 表 8.4-2 ハーフワードアクセスにおける内部レジスタと外部端子の対応 (1 / 2) ビッグエンディアンモード 内部レジスタ 外部端子 アドレス: D31 D31 制御端子 "0" AA WR0X BB WR1X AA - BB - D00 D00 1 32 ビットバス幅 内部レジスタ 外部端子 アドレス: D31 制御端子 "0" D31 - D00 CC CC WR2X DD DD WR3X D00 1 271 第 8 章 外部バスインタフェース 表 8.4-2 ハーフワードアクセスにおける内部レジスタと外部端子の対応 (2 / 2) ビッグエンディアンモード 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D31 AA WR0X BB WR1X AA D16 - - BB - - D00 1 16 ビットバス幅 内部レジスタ 外部端子 アドレス: D31 "2" D31 CC WR0X DD WR1X CC D16 - - DD - - D00 1 内部レジスタ D31 制御端子 外部端子 アドレス: "0" "1" D31 AA BB D24 制御端子 WR0X - - - AA - - - BB - - - 1 2 D00 8 ビットバス幅 内部レジスタ D31 外部端子 アドレス: "2" "3" D31 CC DD - - - - - - - - 1 2 DD 272 WR0X D24 CC D00 制御端子 D00 第 8 章 外部バスインタフェース ■ バイトアクセス バイトアクセスにおける , データバス幅が 32 ビット , 16 ビット , および 8 ビットでの 内部レジスタと外部データバス ( 外部端子 ) との対応を , 表 8.4-3 に示します。 表 8.4-3 バイトアクセスにおける内部レジスタと外部端子の対応 (1 / 3) ビッグエンディアンモード 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D31 AA WR0X - AA D00 D00 1 内部レジスタ 外部端子 制御端子 アドレス: "1" D31 D31 BB WR1X - BB D00 D00 1 32 ビットバス幅 内部レジスタ 外部端子 制御端子 アドレス: "2" D31 D31 CC WR2X CC D00 D00 1 内部レジスタ 外部端子 制御端子 アドレス: "3" D31 D31 DD D00 DD WR3X D00 1 273 第 8 章 外部バスインタフェース 表 8.4-3 バイトアクセスにおける内部レジスタと外部端子の対応 (2 / 3) ビッグエンディアンモード 内部レジスタ 外部端子 制御端子 アドレス: "0" D31 D31 AA WR0X - D16 - AA - D00 1 内部レジスタ 外部端子 制御端子 アドレス: "1" D31 D31 BB WR1X D16 - BB - D00 1 16 ビットバス幅 内部レジスタ 外部端子 制御端子 アドレス: "2" D31 D31 CC WR0X - D16 - CC - D00 1 内部レジスタ 外部端子 制御端子 アドレス: "3" D31 D31 DD D16 - DD - D00 1 274 WR1X 第 8 章 外部バスインタフェース 表 8.4-3 バイトアクセスにおける内部レジスタと外部端子の対応 (3 / 3) ビッグエンディアンモード 内部レジスタ 外部端子 アドレス: "0" D31 D31 AA D24 制御端子 WR0X - AA - D00 1 内部レジスタ 外部端子 アドレス: "1" D31 D31 BB D24 制御端子 WR0X - BB - D00 1 8 ビットバス幅 内部レジスタ 外部端子 制御端子 アドレス: "2" D31 D31 CC WR0X D24 - CC D00 1 内部レジスタ 外部端子 アドレス: "3" D31 D31 DD D24 制御端子 WR0X - DD - D00 1 275 第 8 章 外部バスインタフェース 8.5 バス信号 バス信号について説明します。 表 8.5-1 に , バス信号一覧を示します。 表 8.5-1 バス信号一覧 信号 機能 CLKT の関連エッジ リード ライト 外部バス要求 A[31:0] アドレス 立上りエッジ 出力 出力 Hi-Z AH テスト信号 − 出力 /0 出力 /0 出力 /0 *1 ALE バス制御 − 出力 /0 出力 /0 出力 /0 *2 AS アドレスストロボ 立上りエッジ 出力 出力 出力 /0 BGRNTX バス要求認識 立上りエッジ 出力 /1 出力 /1 出力 BRQ バス要求 立上りエッジ 入力 入力 入力 CLK クロック 立上りエッジ 立下りエッジ 出力 出力 出力 CSnX チップ選択 立上りエッジ 出力 出力 出力 /1 入力 出力 Hi-Z ライト : 立上りエッジ リード : 立下りエッジ D[31:0] データ RDX リード 立下りエッジ 出力 出力 /1 Hi-Z RDY レディ 立下りエッジ 入力 入力 入力 WR0X ∼ WR3X ライト 立下りエッジ 出力 /1 出力 Hi-Z 備考 *1: 実行されないバス関連機能は I/O ポートで使用できます。 *2: マルチプレックス バス アクセス用バス制御ポート ( アドレスとデータは同じバスポートを使用しています。) MB91360 シリーズは使用不可。 初期機能 : 入力ポート (PFR9[1] 出力 /0 を設定後 ) 276 第 8 章 外部バスインタフェース バスの動作タイミング 8.6 各モードにおけるバスアクセスの動作を説明します。AC 特性の詳細な情報について は , 「データシート」を参照してください。 ■ 通常バスアクセス 通常バスインタフェースでは , 基本バスサイクルは , 読出しアクセスでも書込みアクセ スでも 2 クロックサイクルです。 ● 基本読出し / 書込みサイクル 図 8.6-1 に , バス幅が 32 ビットでワードアクセスによる場合の読出し , および書込みサ イクルのタイミングを示します。 図 8.6-1 基本読出し / 書込みサイクルのタイミング BA BA BA1 IDLE BA2 BA1 BA2 BA BA BA BA CLK AS A[31:0] Am An D[31:24] Dn0 Dm0 D[23:16] Dn1 Dm1 D[15:8] Dn2 Dm2 D[7:0] Dn3 Dm3 RDX WR3X WR2X WR1X WR0X CSnX CSmX リードサイクル アイドルサイクル ライトサイクル • CLK は内部クロックを出力します。 • AS はバスサイクル開始 (BA1) 期間のみ "L" を出力します。 • 外部 A31 ∼ A0 は , ワード / ハーフワード / バイトアクセスの先頭バイト位置のアド レスをバスサイクルの開始から出力します。 • CS0X ∼ CS7X( チップセレクト領域 ) 信号の出力は , A31 ∼ A0 と同タイミングです。 • 読出しサイクルの場合は , 外部 RDX 出力信号の立上りで外部 D31 ∼ D0 入力を取り 込みます。 なお , 読出しサイクルの場合は , バス幅 , またはワード / ハーフワード / バイトアク セスに関係なく , RDX 信号で外部 D31 ∼ D0 のすべてを取り込み , 取り込んだデー タが有効かどうかの判断は MB91360 シリーズ内部で行います。 277 第 8 章 外部バスインタフェース • 書込みサイクルの場合は , バスサイクル開始 (BA1) から書込みデータを出力し , 各 データバスのバイト位置に対応する制御信号はWR0X, WR1X, WR2X, WR3Xで制御 します。 <注意事項> 278 次のページからの例は , 16 MHz の CPU(CLKB) および 4 MHz の外部バスインタ フェース (CLKT) を動作条件としています。 また , CPU クロックとバスインタフェースクロックのクロック比 , および動作命令 に関連して挿入されるアイドルサイクルについては , 8.4.4 項を参照してください。 第 8 章 外部バスインタフェース ■ 32 ビットバス幅での動作 ● 8 ビットアクセス • 8 ビットリード− 8 ビットリード ( 連続アドレス ) の場合 図 8.6-2 に , 8 ビットリード− 8 ビットリード ( 連続アドレス ) の動作を示します。 図 8.6-2 8 ビットリード− 8 ビットリード ( 連続アドレス ) の動作 BA BA BA1 BA2 BA1 BA2 BA1 BA2 BA1 BA2 BA BA CLK AS A[31:0] Am An D[31:24] Dn0 Dn0 D[23:16] X Dn1 D[15:8] X X D[7:0] X X RDX CSnX CSmX バイトアクセスの場合 , 最上位 8 ビット , 中上位 8 ビット , 中下位 8 ビット , 最下位 8 ビットのいずれかが使用されます。 • 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の場合 図 8.6-3 に , 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作を示します。 図 8.6-3 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作 BA BA BA1 BA2 BA1 BA2 BA BA BA BA BA BA CLK AS A[31:0] Am An D[31:24] Dn0 Dm0 D[23:16] X X D[15:8] X X D[7:0] X X RDX CSnX CSmX 279 第 8 章 外部バスインタフェース • 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の場合 図 8.6-4 に , 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作を示します。 図 8.6-4 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA2 CLK AS A[31:0] An Am D[31:24] Dn0 Dm0 D[23:16] X D[15:8] X D[7:0] X RDX WRX[3] WRX[2] WRX[1] WRX[0] CSnX CSmX 280 BA BA BA BA 第 8 章 外部バスインタフェース ● 16 ビットアクセス • 16 ビットリード− 16 ビットリード ( 連続アドレス ) の場合 図 8.6-5 に , 16 ビットリード− 16 ビットリード ( 連続アドレス ) の動作を示します。 図 8.6-5 16 ビットリード− 16 ビットリード ( 連続アドレス ) の動作 BA BA BA1 IDLE BA2 BA1 BA BA2 BA BA BA BA CLK AS A[31:0] An D[31:24] Dn0 Dm0 D[23:16] Dn1 Dm1 D[15:8] X X D[7:0] X X Am RDX CSnX CSmX • 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の場合 図 8.6-6 に, 16ビットリード−16ビットリード (不連続アドレス)の動作を示します。 図 8.6-6 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA2 BA BA BA BA BA BA CLK AS A[31:0] Am An D[31:24] Dn0 Dm0 D[23:16] 0n1 Dm1 D[15:8] X X D[7:0] X X RDX CSnX CSmX 281 第 8 章 外部バスインタフェース • 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の場合 図 8.6-7 に, 16ビットリード−16ビットライト (不連続アドレス)の動作を示します。 図 8.6-7 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA2 CLK AS A[31:0] An Am D[31:24] Dn0 Dm0 D[23:16] Dn1 Dm1 D[15:8] X D[7:0] X RDX WRX[3] WRX[2] WRX[1] WRX[0] CSnX CSmX 282 BA BA BA BA 第 8 章 外部バスインタフェース ● 32 ビットアクセス 32 ビットバス幅の場合 , 外部 D0 ∼ D31 が使われます。 • 32 ビットリード− 32 ビットリード ( 不連続アドレス ) の場合 図 8.6-8 に, 32ビットリード−32ビットリード (不連続アドレス)の動作を示します。 図 8.6-8 32 ビットリード− 32 ビットリード ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA BA2 BA BA BA BA CLK AS A[31:0] An D[31:24] Dn0 Dm0 D[23:16] Dn1 Dm1 D[15:8] Dn2 Dm2 D[7:0] Dn3 Dm3 Am RDX CSnX CSmX • 32 ビットリード− 32 ビットライト ( 不連続アドレス ) の場合 図 8.6-9 に, 32ビットリード−32ビットライト (不連続アドレス)の動作を示します。 図 8.6-9 32 ビットリード− 32 ビットライト ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA2 BA BA BA BA CLK AS A[31:0] An Am D[31:24] Dn0 Dm0 D[23:16] Dn1 Dm1 D[15:8] Dn2 Dm2 D[7:0] Dn3 Dm3 RDX WRX[3] WRX[2] WRX[1] WRX[0] CSnX CSmX 283 第 8 章 外部バスインタフェース ■ 8 ビットバス幅での動作 ● 8 ビットアクセス • 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の場合 図 8.6-10 に , 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作を示します。 図 8.6-10 8 ビットリード− 8 ビットリード ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA2 BA BA BA BA BA CLK AS Am A[31:0] An D[31:24] Dn0 Dm0 D[23:16] X X D[15:8] X X D[7:0] X X RDX CSnX CSmX 8 ビットおよび 16 ビットバス幅の場合 , WR0X ∼ WR3X 信号 ( 未使用データバス ) が I/O ポート機能で使用できます。 端子バス幅 D31 ∼ D24 WR0X D23 ∼ D16 WR1X D15 ∼ D8 WR2X D7 ∼ D0 WR3X 32 ビット × × × × 16 ビット × × ○ ○ 8 ビット × ○ ○ ○ × : I/O ポート使用不可 ○ : I/O ポート使用可能 <注意事項> 284 データバスと WR1X ∼ WR3X のどの端子を I/O ポートとして使用できるかは , 領 域 0 ∼ 5 の最大バス幅に依存します。たとえば , 領域 0 ∼ 7 のバス幅がすべて 8 ビットなら , D23 ∼ D0, および WR1X ∼ WR3X は I/O ポートとして使用すること が可能です。しかし , たとえば領域 1 だけが 16 ビットで残りの領域がすべて 8 ビットの場合は , 16 ビットが最大バス幅なので 8 ビットの領域アクセス中でも D23 ∼ D16, WR1X は I/O ポートとして使用できません。 この場合は , D15 ∼ D0, および WR2X/WR3X が I/O ポートとして使用できます。 第 8 章 外部バスインタフェース • 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の場合 図 8.6-11 に , 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作を示します。 図 8.6-11 8 ビットリード− 8 ビットライト ( 不連続アドレス ) の動作 BA BA BA1 IDLE BA2 BA1 BA BA2 BA BA BA CLK AS A[31:0] An Am D[31:24] Dn0 Dm0 D[23:16] X D[15:8] X D[7:0] X RDX WRX[3] WRX[2] WRX[1] WRX[0] CSnX CSmX バス幅が 8 ビットの場合 , D23 ∼ D0 への入力値は無視されます。 ● 16 ビットアクセス • 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の場合 図 8.6-12 に, 16ビットリード−16ビットリード(不連続アドレス)の動作を示します。 図 8.6-12 16 ビットリード− 16 ビットリード ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA2 BA BA BA BA BA CLK AS A[31:0] An An+1 D[31:24] Dn0 Dn1 Am+1 Am Dm0 Dm1 D[23:16] X X X X D[15:8] X X X X D[7:0] X X X X RDX CSnX CSmX アクセス幅がデータバス幅を超えるとき , アドレスは MSB から順にアクセスされま す。 285 第 8 章 外部バスインタフェース • 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の場合 図 8.6-13 に, 16ビットリード−16ビットライト(不連続アドレス)の動作を示します。 図 8.6-13 16 ビットリード− 16 ビットライト ( 不連続アドレス ) の動作 BA BA BA1 BA2 IDLE BA1 BA BA2 BA BA CLK AS A[31:0] An An+1 Am Am+1 Dm0 Dm1 D[31:24] Dn0 Dn1 D[23:16] X X D[15:8] X X D[7:0] X X RDX WRX[3] WRX[2] WRX[1] WRX[0] CSnX CSmX バス幅が 16 ビットのとき , D15 ∼ D0 への入力値は無視されます。 ■ アイドルサイクルでの動作 アイドルサイクルは , CLKT と CLKB の内部同期化のために発生します。 アイドルサイクル数は , クロック比とアクセスタイプに依存します。 表 8.6-1 に , 最小アイドルサイクル数を示します。 表 8.6-1 最小アイドルサイクル数 286 CLKB:CLKT read/read read/write write/* 1:1 1 2 0 1:2 1 1 0 1:3 0 1 0 1:4 0 1 0 1:8+ 0 0 0 BA 第 8 章 外部バスインタフェース ■ ウェイトサイクルの動作 ウェイトサイクルには , AMD の WTC による自動ウェイトサイクルと , 外部 RDY 端子 を使用する外部ウェイトサイクルがあります。 ● 自動ウェイトサイクル 図 8.6-14 に , バス幅が 16 ビットでハーフワードアクセスによる読出し / 書込みにおけ る自動ウェイトサイクルのタイミングを示します。 図 8.6-14 自動ウェイトサイクルのタイミング BA1 BA1 BA2 BA1 BA1 BA2 CLK AS 外部A[31:0] #2 #0 外部D[31:0] #0:1 #2,3 外部RDX 外部WR0X,WR1X ウエイト ウエイト • 自動ウェイトサイクルは , 各 AMD の WTC ビットを設定することにより実現できま す。 • 上記は WTC が 001 すなわち 1 ウェイト挿入されたバスサイクルを示しており , 通常 2 クロック +1 ウェイトサイクルの計 3 クロックのバスサイクルになります。自動 ウェイトは最大 7 クロックサイクルまで ( バスサイクル 9 クロックサイクル ) 設定 できます。 ● 外部ウェイトサイクル 図 8.6-15 に , バス幅が 16 ビットでハーフワードアクセスによる読出しにおける外部 ウェイトサイクルのタイミングを示します。 図 8.6-15 外部ウェイトサイクルのタイミング BA1 BA1 BA1 BA1 BA1 BA2 CLK AS 外部A[31:0] #2 #0 外部D[31:16] ウエイト 判定 外部RDX #0:1 判定 外部RDY RDYによるウェイト 2サイクル自動待機 • 外部ウェイトサイクルは , 各 AMD の RDYE ビットを "1" に設定し , 外部 RDY 端子 の入力を有効にすることにより実現できます。 • 外部 RDY を使用する場合は , 必ず 2 クロック以上の自動ウェイトサイクルを設定し てください。 287 第 8 章 外部バスインタフェース ■ 外部バス要求 バス権開放のタイミングとバス権獲得のタイミングを示します。 ● バス権解放 図 8.6-16 に , バス権開放のタイミングを示します。 図 8.6-16 バス権開放のタイミング CLK 外部A #0:1 外部D Hi-Z #0:1 Hi-Z 外部RDX Hi-Z BRQ BGRNTX 1サイクル ● バス権獲得 図 8.6-17 に , バス権獲得のタイミングを示します。 図 8.6-17 バス権獲得のタイミング CLK 外部A 外部D 外部RDX Hi-Z Hi-Z Hi-Z BRQ BGRNTX 1サイクル • PFR8 の P82 ビット * を "1" に設定することにより , BRQ, BGRNTX によるバスアー ビトレーションを行うことができます。 *:「第 7 章 I/O ポート」を参照してください。 • バス権を解放するときは , 端子を Hi-Z にしてから 1 サイクル後に BGRNTX をアサー トします。 • バス権を獲得するときは , BGRNTX をネゲートしてから 1 クロック後に各端子をア クティブにします。 288 第 8 章 外部バスインタフェース 8.7 バスインタフェースを汎用入出力 ポートとして使用す る方法 本アプリケーション・ノートでは , 外部バスインタフェースの入出力端子を汎 用入出力ポート (「ポート・モード」) として使用する方法を解説します。MB91360 シリーズの 32 ビット・マイクロコントローラ・デバイス (MB91FV360GA, MB91F362GB およ び MB91F369GA) に適用できます。 ■ 概要 MB91360 シリーズの 32 ビット・マイクロコントローラ・デバイス (MB91FV360GA, MB91F362GB および MB91F369GA) に適用できます。デバイスがシングル・チップ・ モードに初期化されている場合 (MD2=0, MD1=0, MD0=0) , モード・レジスタ MODR は 固定ベクタ 0x06 ( 内部 ROM, 32 ビット外部インタフェース ) に設定されています。ソ フトウェアを用いて MODR の内容を変更することはできません。 「2.10.2 モード設定」 および 「2.10.3 フィックスベクタ」も参照してください。本節では , ソフトウェアを 用いて外部インタフェースの一部を汎用ポートとして使用するための 2 とおりの方法 について解説します。 • CAN を使用せずに 7 つのポート (MB91F362GB の 48 個の端子 ) を汎用入出力機能 に設定する方法 • CAN を使用して 4 つのポート (MB91F362GB の 32 個の端子 ) を汎用入出力機能に 設定する方法 289 第 8 章 外部バスインタフェース 8.7.1 注意事項 いずれの方法を使用する場合も , 電源投入中の外部インタフェースの状態を考慮に入 れる必要があります。外部インタフェースは , 以下のブート・シーケンス中にアクティ ブになります。 ■ 発振安定時間 初期化リセット後 , デバイスは発振安定時間 (32 ms) だけ待機します。 ■ ブート ROM 処理 発振安定時間の終了後 , 固定モード・ベクタおよびリセット・ベクタが獲得されます。 外部インタフェース・ポートには以下の値があります。 I/O 端子 入力 / 出力 値 A[21:0] 出力 0x0FFFF8 D[31:0] 入力 Hi-Z CS6X, CS5X, CS4X, CS3X, CS2X, CS1X, CS0X 出力 1 RDX, WR3X, WR2X, WR1X, WR0X 出力 1 CLK 出力 CLKT パルス ALE, AS, AH, BRQ, BGRNTX, RDY 入力 Hi-Z ブート ROM ソフトウェアがフラッシュ・セキュリティ・ベクタで有効な入力値を検 出すると , フラッシュ・エントリ・アドレスへのジャンプが実行されます。ブート ROM ソフトウェアがフラッシュ・セキュリティ・ベクタで有効な入力値を検出すると , フ ラッシュ・エントリ・アドレスへのジャンプが実行されます。ブート ROM ソフトウェ アがフラッシュ・セキュリティ・ベクタで有効な入力値を検出すると , フラッシュ・エ ントリ・アドレスへのジャンプが実行されます。 290 第 8 章 外部バスインタフェース 8.7.2 使用レジスタ 以下のレジスタを使用して , 外部インタフェース・ポートにアクセスします。 表 8.7-1 外部インタフェースポートレジスタ レジスタ アドレス ブロック +0 +1 +2 +3 000000H PDR0 [R/W] XXXX XXXX PDR1 [R/W] XXXX XXXX PDR2 [R/W] XXXX XXXX PDR3 [R/W] XXXX XXXX 000004H PDR4 [R/W] XXXX XXXX PDR5 [R/W] XXXX XXXX PDR6 [R/W] - - - X XXXX PDR7 [R/W] - 111 - - - - 000008H PDR8 [R/W] XXXX XXXX PDR9 [R/W] XXXX XXX1 000600H DDR0 [R/W] 0000 0000 DDR1 [R/W] 0000 0000 DDR2 [R/W] 0000 0000 DDR3 [R/W] 0000 0000 000604H DDR4 [R/W] 0000 0000 DDR5 [R/W] 0000 0000 DDR6 [R/W] 0000 0000 DDR7 [R/W] 0000 0000 000608H DDR8 [R/W] 0000 0000 DDR9 [R/W] 0000 0000 000610H PFR0 [R/W] 0000 0000 PFR1 [R/W] 0000 0000 PFR2 [R/W] 0000 0000 PFR3 [R/W] 0000 0000 000614H PFR4 [R/W] 0000 0000 PFR5 [R/W] 0000 0000 PFR6 [R/W] 1111 1111 PFR7 [R/W] 0000 1111 PFR8 [R/W] 1111 10-0 PFR9 [R/W] 1111 0101 000618H 000624H -- -- -- -- ポートデータ レジスタ PDRB [R/W] - - - - - XXX データ方向 レジスタ DDRB [R/W] 0000 0000 -- PFRB [R/W] 0000 0000 -- PFR27 [R/W] 1111 -00- ポート機能 レジスタ ポートデータレジスタ (PDR) , データ方向レジスタ (DDR) およびポート機能レジスタ (PFR) の動作については , 「7.1 I/O ポートとレジスタ構成」にある通常の入出力ポー トの解説を参照してください。 ポート 7, 8, 9 および B のレジスタについては , 「7.1 I/O ポートとレジスタ構成」およ び 「7.2 ポート機能レジスタ (PFR) の設定」を参照してください。 291 第 8 章 外部バスインタフェース 8.7.3 CAN を使用しないソフトウェア操作 ■ ポート設定可能 CAN を使用しない場合は , 48 個の端子 (MB91F362GB) を持つ 7 つのポートを汎用 ポート・モードに設定できます。 表 8.7-2 CAN を使用しない場合のポート・モードの外部インタフェース I/O 端子 ポート コメント A[20:16] P6[4:0] ポート・モードに設定可能 A[15:0] P5[7:0] P4[7:0] アドレス出力中 D[31:24] P3[7:0] 双方向データバスを保持 D[23:0] P2[7:0] P1[7:0] P0[7:0] ポート・モードに設定可能 CS6X, CS5X, CS4X P7[6:4] ポート・モードに設定可能 WR3X, WR2X, WR1X, WR0X, RDX, BRQ, BGRNTX, RDY P8[7:3] P8[2:0] ポート・モードに設定可能 CS3X, CS2X, CS1X, CS0X, AH, CLK, ALE, AS P9[7:4] P9[3:0] ポート・モードに設定可能 ■ セットアップシーケンス この設定は , フラッシュ・ソフトウェアの開始時に実行することを推奨します。 • CLKB, CLKP, CLKT および CLKS を 1/1 に設定します ( ここでは PLL を開始しない ) 。 • CAN クロック ( ブート ROM で有効化されたクロック ) を無効にします。 • CSE レジスタの CS7 (CAN) および CS0 を無効にします。 • CS0 および CS7 領域の外部インタフェースを 8 ビット /0 待機状態に再設定します。 • ポート 0 ∼ポート 9 のポート機能レジスタをクリアします ( ポート 3, 4, 5 には影響 なし ) 。 • アプリケーションの開始 ■ アセンブラ例 ;;; *************************************************************** .section main,code,locate=_PC_ADDRESS;; 0x00F4000 (in Flash) ;; --------------- manual startup... --------------// ** set CLKB & CLKP & CLKT & CLKS to 1/1 (no PLL here) ldi:20 #0x0000,r1 // CLK[BPTS]=1/1 ldi:32 #_DIVR0,r12 // set DIVR address sth r1,@r12 // _MAIN00: 292 第 8 章 外部バスインタフェース ; ############################################################### ; Setup ext. I/F to port mode: ; ############################################################### ; ------ Disable CAN clock (was enabled by boot ROM) ---------LDI #_CMCR,R12 LDI #0x000, R0 ; disable CAN clock (CPU/2) STH R0,@R12 ; ------ Disable CS7 (CAN) and CS0 ---------------------------LDI #_CSE,R12; Chip select enable register LDI #0x00,R1 ; disable CS7, CS0 STB R1,@R12 ;; -------- ext. I/F to 8 bit --------------------------------LDI #_AMD0,R12; Area Mode reg AMD0 ;; LDI #0x11,R1 ; 32-Bit Bus, 1 wait state, no ready-pin ;; ; (done by BootROM) LDI #0x00,R1 ; 8-Bit Bus, 0 wait state, no ready-pin STB R1,@R12 LDI ;; LDI ready-pin enabled ;; (done by BootROM) LDI no ready-pin STB #_AMD7,R12 #0x29,R1 ; Area Mode reg AMD7 (CAN) ; 16-Bit Bus, 1 wait state, ; #0x00,R1 ; 8-Bit Bus, 0 wait state, R1,@R12 ;; -------- Clear all PFR’s ----------------------------------LDI #0x0000,R0 ;; clear all PFR’s LDI #_PFR27,R1 ;; stb R0,@R1 ;; Port 7 PFR2, Addr=0x0627 LDI #_PFR0,R14 ;; stb r0,@(r14,0x0) ;; Port 0 PFR, Addr=0x0610 stb r0,@(r14,0x1) ;; Port 1 PFR, Addr=0x0611 stb r0,@(r14,0x2) ;; Port 2 PFR, Addr=0x0612 stb r0,@(r14,0x3) ;; Port 3 PFR, Addr=0x0613 stb r0,@(r14,0x4) ;; Port 4 PFR, Addr=0x0614 stb r0,@(r14,0x5) ;; Port 5 PFR, Addr=0x0615 stb r0,@(r14,0x6) ;; Port 6 PFR, Addr=0x0616 stb r0,@(r14,0x7) ;; Port 7 PFR, Addr=0x0617 stb r0,@(r14,0x8) ;; Port 8 PFR, Addr=0x0618 stb r0,@(r14,0x9) ;; Port 9 PFR, Addr=0x0619 Start_Application: ;; ========== Start Your application here... 293 第 8 章 外部バスインタフェース 8.7.4 CAN を使用したソフトウェア操作 ■ ポート設定可能 CAN を使用する場合は , 33 個の端子を持つ 5 つのポートを汎用ポート・モードに設定 できます。 CAN を使用した場合のポート・モードの外部インタフェースの設定について , 表 8.7-3 に示します。 表 8.7-3 CAN を使用した場合のポート・モードの外部インタフェース I/O 端子 ポート コメント A[20:16] P6[4:0] ポート・モードに設定可能 A[15:0] P5[7:0] P4[7:0] アドレス出力中 D[31:16] P3[7:0] P2[7:0] 双方向データバスを保持 (I/F の実行時 , CAN に 16 ビット必要 ) D[15:0] P1[7:0] P0[7:0] ポート・モードに設定可能 CS6X, CS5X, CS4X P7[6:4] ポート・モードに設定可能 WR3X, WR2X, WR1X, WR0X, RDX BRQ, BGRNTX RDY P8[7:3] P8[2:1] P8[0] WRX[3:0], RDX 出力を保持 ポート・モードに設定可能 RDY 入力中 CS3X, CS2X, CS1X, CS0X, AH CLK ALE, AS P9[7:4] P9[3] P9[2] P9[1:0] ポート・モードに設定可能 ポート・モードに設定可能 CLK は CLKT 出力のままです。 ポート・モードに設定可能 ■ セットアップシーケンス この設定は , フラッシュ・ソフトウェアの開始時に実行することを推奨します。 • CLKB, CLKP, CLKT および CLKS を 1/1 に設定します ( ここでは PLL を開始しない ) 。 • CSE レジスタの CS0 を無効にします。 • CS0 領域の外部インタフェースを 16 ビット /0 待機状態に再設定します。 • ポート 0 ∼ポート 7 のポート機能レジスタ ( ポート 2, 3, 4, 5 には影響なし ) および ポート 8/9 の PFR で使用可能なビットをクリアします。 • アプリケーションの開始 ■ アセンブラ例 ;;; *************************************************************** .section main,code,locate=_PC_ADDRESS;; 0x00F4000 (in Flash) ;; --------------- manual startup... --------------// ** set CLKB & CLKP & CLKT & CLKS to 1/1 (no PLL here) ldi:20 #0x0000,r1 // CLK[BPTS]=1/1 ldi:32 #_DIVR0,r12 // set DIVR address sth r1,@r12 // _MAIN00: 294 第 8 章 外部バスインタフェース ; ############################################################### ; Setup ext. I/F to port mode: ; ############################################################### ; ----- DON’T Disable CAN clock (was enabled by boot ROM) ---; ----- Disable CS0 ---------------------------------LDI #_CSE,R12 ; Chip select enable register LDI #0x80,R1 ; disable CS0, CS7 is for CAN STB R1,@R12 ;; ----- ext. I/F to 16bit (8 bit makes no sense) ----------LDI #_AMD0,R12 ; Area Mode reg AMD0 ;; LDI #0x11,R1 ; 32-Bit Bus, 1 wait state, no ready-pin ;; ; (done by BootROM) LDI #0x08,R1 ; 16-Bit Bus, 0 wait state, no ready-pin STB R1,@R12 ;; ----- DON’T change AMD7 mode (is prepared by BootROM) ----;; ----- Clear all PFR’s ------------------------------------LDI #0x0000,R0 ;; clear all PFR’s LDI #_PFR27,R1 ;; stb R0,@R1 ;; Port 7 PFR2, Addr=0x0627 LDI #_PFR0,R14 ;; stb r0,@(r14,0x0) ;; Port 0 PFR, Addr=0x0610 stb r0,@(r14,0x1) ;; Port 1 PFR, Addr=0x0611 stb r0,@(r14,0x2) ;; Port 2 PFR, Addr=0x0612 stb r0,@(r14,0x3) ;; Port 3 PFR, Addr=0x0613 stb r0,@(r14,0x4) ;; Port 4 PFR, Addr=0x0614 stb r0,@(r14,0x5) ;; Port 5 PFR, Addr=0x0615 stb r0,@(r14,0x6) ;; Port 6 PFR, Addr=0x0616 stb r0,@(r14,0x7) ;; Port 7 PFR, Addr=0x0617 ldi #0xF9,R0 ;; PFR8: WRX[3:0],RDX,RDY needed. stb r0,@(r14,0x8) ;; Port 8 PFR, Addr=0x0618 ldi #0x04,R0 ;; PFR9: CLK needed. stb r0,@(r14,0x9) ;; Port 9 PFR, Addr=0x0619 Start_Application: ;; ========== Start Your application here... 295 第 8 章 外部バスインタフェース 296 第9章 割込みコントローラ 割込みコントローラの概要を示し , レジスタの構造 と機能 , および割込みコントローラの動作について 説明します。 9.1 割込みコントローラの概要 9.2 割込みコントローラのレジスタ 9.3 割込みコントローラの動作 297 第 9 章 割込みコントローラ 9.1 割込みコントローラの概要 割込みコントローラは , 割込み受付 / 調停処理を制御します。 ■ ハードウェア構成 本モジュールは , 以下のものから構成されます。 • ICR レジスタ • 割込み優先度判定回路 • 割込みレベル , 割込み番号 ( ベクタ ) 発生部 • ホールド要求取下げ要求発生部 ■ 主要機能 本モジュールには , 主に以下のような機能があります。 • NMI 要求 / 割込み要求の検出 • 優先度判定 ( レベル , および番号による ) • 判定結果の要因の割込みレベル伝達 (CPU へ ) • 判定結果の要因の割込み番号伝達 (CPU へ ) • NMI/ 割込みレベルが "LEVEL ≠ 11111" 以外の割込み発生によるストップモードか らの復帰指示 (CPU へ ) • バスマスタへのホールド要求取下げ要求発生 ■ ブロックダイヤグラム 図 9.1-1 に割込みコントローラのブロックダイヤグラムを示します。 図 9.1-1 ブロックダイヤグラム UNMI WAKEUP (LEVEL≠11111の場合,1) 優先度判定 5 LEVEL4~LEVEL0 NMI処理 LEVEL 判定 R100 . . . R147 (DLYIRQ) ICR00 . . . ICR47 VECTOR判定 R バス 298 6 LEVEL および VECTOR 発生 HLDREQ 撤回要求 MHALTI VCT5~VCT0 第 9 章 割込みコントローラ 9.2 割込みコントローラのレジスタ 割込みコントローラで使用するレジスタについて説明します。 ■ 割込みコントローラのレジスタ一覧 図 9.2-1 に割込みコントローラのレジスタ一覧を示します。 図 9.2-1 割込みコントローラのレジスタ一覧 bit 7 6 5 4 3 2 1 0 アドレス : 00000440H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR00 アドレス : 00000441H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR01 アドレス : 00000442H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR02 アドレス : 00000443H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR03 アドレス : 00000444H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR04 アドレス : 00000445H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR05 アドレス : 00000446H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR06 アドレス : 00000447H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR07 アドレス : 00000448H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR08 アドレス : 00000449H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR09 アドレス : 0000044AH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR10 アドレス : 0000044BH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR11 アドレス : 0000044CH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR12 アドレス : 0000044DH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR13 アドレス : 0000044EH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR14 アドレス : 0000044FH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR15 アドレス : 00000450H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR16 アドレス : 00000451H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR17 アドレス : 00000452H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR18 アドレス : 00000453H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR19 アドレス : 00000454H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR10 アドレス : 00000455H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR21 アドレス : 00000456H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR22 アドレス : 00000457H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR23 アドレス : 00000458H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR24 アドレス : 00000459H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR25 アドレス : 0000045AH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR26 アドレス : 0000045BH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR27 アドレス : 0000045CH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR28 アドレス : 0000045DH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR29 アドレス : 0000045EH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR30 アドレス : 0000045FH アドレス : 00000460H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR31 - - - ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR32 (続く) 299 第 9 章 割込みコントローラ (続き ) bit 7 6 5 4 3 2 1 0 アドレス : 00000461H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR33 アドレス : 00000462H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR34 アドレス : 00000463H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR35 アドレス : 00000464H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR36 アドレス : 00000465H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR37 アドレス : 00000466H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR38 アドレス : 00000467H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR39 アドレス : 00000468H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR40 アドレス : 00000469H - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR41 アドレス : 0000046AH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR42 アドレス : 0000046BH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR43 アドレス : 0000046CH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR44 アドレス : 0000046DH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR45 アドレス : 0000046EH - - - ICR4 ICR3 ICR2 ICR1 ICR0 ICR46 アドレス : 0000046FH - - - ICR4 R ICR3 R/W ICR2 R/W ICR1 R/W ICR0 R/W ICR47 - - LVL4 R LVL3 R/W LVL2 R/W LVL1 R/W LVL0 R/W HRCL アドレス : 00000045H MHALTI R/W ■ ICR(Interrupt Control Register) ICR は , 割込み制御レジスタです。各割込み入力に対して 1 つずつ設けられており , 対 応する割込み要求の割込みレベルを設定します。 図 9.2-2 に割込み制御レジスタ (ICR) のビット構成を示します。 図 9.2-2 割込み制御レジスタ (ICR) のビット構成 bit7 - 6 - 5 - 4 3 2 1 0 初期値 ---11111B ICR4 ICR3 ICR2 ICR1 ICR0 R R/W R/W R/W R/W [bit4 ∼ bit0] ICR4 ∼ ICR0 割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。 このレジスタに設定した割込みレベルが CPU の ILM レジスタに設定されたレベル マスク値以上の場合は , CPU 側で割込み要求はマスクされます。 リセットにより , レジスタは "11111B" に初期化されます。 設定可能な割込みレベル設定ビットと割込みレベルの対応を表 9.2-1 に示します。 300 第 9 章 割込みコントローラ 表 9.2-1 割込みレベル設定ビットと割込みレベルの対応 ICR4 ICR3 ICR2 ICR1 ICR0 0 0 0 0 0 0 0 1 1 1 0 14 0 1 1 1 1 15 NMI 1 0 0 0 0 16 設定可能な最強レベル 1 0 0 0 1 17 (強) 1 0 0 1 0 18 1 0 0 1 1 19 1 0 1 0 0 20 1 0 1 0 1 21 1 0 1 1 0 22 1 0 1 1 1 23 1 1 0 0 0 24 1 1 0 0 1 25 1 1 0 1 0 26 1 1 0 1 1 27 1 1 1 0 0 28 1 1 1 0 1 29 1 1 1 1 0 30 1 1 1 1 1 31 割込みレベル システム予約 (弱) 割込み禁止 ( 注意事項 ) ICR4 ビットは "1" 固定で , "0" を書き込むことはできません。 ■ HRCL(Hold Request Cancel Level register) このレジスタは , ホールド要求取下げ要求を発生するためのレベルを設定します。 図 9.2-3 に HRCL レジスタのビット構成を示します。 図 9.2-3 HRCL レジスタのビット構成 bit 7 アドレス : 00000045H MHALTI R/W 6 5 4 3 2 1 0 − − LVL4 R LVL3 R/W LVL2 R/W LVL1 R/W LVL0 R/W 初期値 0--11111B [bit7] MHALTI MHALTI ビットは , マスク不可割込み (NMI) の要求を示します。このビットは NMI 要求によって "1" に設定されます。NMI 要求は , このビットに "0" を書き込むこと によってクリアされます。 301 第 9 章 割込みコントローラ [bit4 ∼ bit0] LVL4 ∼ LVL0 LVL4 ∼ LVL0 は , バスマスタへのホールド要求取下げ要求を出すための割込みレ ベルを設定します。 このレジスタに設定した割込みレベルより高いレベルを持つ割込み要求が発生し た場合は , バスマスタに対してホールド要求取下げ要求を出力します。 LVL4 ビットは "1" 固定で , "0" を書き込むことはできません。 302 第 9 章 割込みコントローラ 9.3 割込みコントローラの動作 割込みコントローラの動作について説明します。 ■ 優先順位判定 本モジュールでは , 同時に発生している割込み要因の中で最も優先度の高い要因を選 択し , その要因の割込みレベルと割込み番号を CPU へ出力します。 割込み要因の優先順位判定基準は , 次のとおりです。 • NMI • 以下の条件を満たす割込み要因 - 割込みレベルの数値が 31 以外 (31 は割込み禁止 ) - 割込みレベルの数値が最も小さい要因 - その中で , 最も小さい割込み番号を持つ要因 上記の判定基準により割込み要因が1つも選択されなかった場合は, 割込みレベルとし て 31("11111B") を出力します。そのときの割込み番号は不定です。 割込み要因と割込み番号 , 割込みレベルの関係を「付録 B 割込みベクタ」の表に示し ます。 ■ マスク不可割込み (NMI: Non-Maskable Interrupt) NMI は , 本モジュールが取り扱う割込み要因の中では最も優先順位が高くなっていま す。 そのため , 他の割込み要因と同時発生の場合は常に NMI が選択されます。 ● NMI 発生 NMI が発生すると , CPU に対して次の情報を伝えます。 • 割込みレベル : 15("01111B") • 割込み番号 : 15("0001111B") ● NMI 検出 NMI の設定 , および検出は , 外部割込み /NMI モジュールで行います。本モジュールで は NMI 要求により , 割込みレベル / 割込み番号 , MHALTI の生成だけを行います。 ■ ホールド要求取下げ要求 (HRCL) 優先度の高い割込み処理を CPU のホールド中に行いたい場合は , ホールド要求発生元 から要求を取り下げる必要があります。この取下げ要求発生の基準となる割込みレベ ルを , HRCL レジスタに設定します。 ● 発生基準 HRCL レジスタに設定した割込みレベルより高いレベルの割込み要因が発生した場合 は , ホールド要求取下げ要求を発生します。 • HRCL レジスタの割込みレベル>優先度判定後の割込みレベル →取下げ要求発生 303 第 9 章 割込みコントローラ • HRCL レジスタの割込みレベル≦優先度判定後の割込みレベル →取下げ要求なし 取下げ要求発生原因となった割込み要因をクリアしない限り , この取下げ要求は有効 であり , 結果的にいつまでも DMA 転送が起こらないことになります。必ず対応する割 込み要因をクリアしてください。 また , NMI を使用したときは , HRCL レジスタの MHALTI ビットが "1" となっている ため , 取下げ要求が有効です。CPU をホールド状態にするには , MHALTI ビットをク リアします。 ● 設定可能なレベル HRCL レジスタに設定可能な値は , ICR と同様に "10000B" から "11111B" までです。 "11111B" に設定した場合はすべての割込みレベルに対して取下げ要求を発生し , また , "10000B" に設定した場合は NMI でのみ取下げ要求を発生します。 ホールド要求取下げ要求発生となる割込みレベルの設定を表 9.3-1 に示します。 表 9.3-1 HRCL レジスタの割込みレベル設定 HRCL レジスタ 取下げ要求発生となる割込みレベル 16 NMI のみ 17 NMI, 割込みレベル 16 18 NMI, 割込みレベル 16, および 17 ∼ 31 <注意事項> ∼ NMI, 割込みレベル 16 ∼ 30 [ 初期値 ] リセット後は , すべての割込みレベルに対して DMA 転送を抑止します。すなわち , 割込みが発生していると DMA 転送が行われませんので , HRCL レジスタを必要な 値に設定してください。 ■ スタンバイモード ( ストップ / スリープ ) からの復帰 割込み要求の発生により , ストップモードから復帰する機能を本モジュールで実現し ます。NMI を含む , 周辺からの割込み要求 ( 割込みレベルが "11111B" 以外 ) が 1 つで も発生すると , クロック制御部に対してストップモードからの復帰要求を発生します。 優先度判定部はストップ復帰後クロックが供給されてから動作を再開しますので , 優 先度判定部の結果が出るまでの間 CPU は命令を実行することになります。 スリープ状態からの復帰においても , 同様に動作します。 また , スリープ中であっても , 本モジュール内のレジスタはアクセス可能です。 <注意事項> 304 • NMI 要求に対してもストップモードからの復帰を行います。ただし , ストップ時 にも有効な入力を検出するように NMI を設定してください。 • ストップおよびスリープからの復帰の要因としたくない割込み要因は , 対応する 周辺の制御レジスタで割込みレベルを "11111B" に設定してください。 第 9 章 割込みコントローラ ■ ホールド要求取下げ要求機能 (HRCL) の使用例 DMA 転送中に , CPU が優先度の高い処理を行いたいときは , DMA にホールド要求を 取り下げてもらって CPU のホールド状態を解除する必要があります。ここでは , 割込 みを利用して DMA にホールド要求を取り下げてもらうこと , すなわち CPU の優先動 作を実現します。 ● 制御レジスタ • HRCL( ホールド要求取下げレベル設定レジスタ ): 本モジュール このレジスタに設定した割込みレベルより高いレベルの割込みが発生した場合に , DMA に対してホールド要求取下げ要求を発生します。その基準となるレベルを設 定します。 • ICR: 本モジュール 使用する割込み要因に対応する ICR に , HRCL レジスタよりも高いレベルを設定し ます。 ● ハードウェア間の信号の流れ ハードウェア間における各信号の流れは , 図 9.3-1 のようになっています。 図 9.3-1 ハードウェア間における信号の流れ バスアクセス要求 本モジュール IRQ DHREQ MHALTI I-UNIT (ICR) (HRCL) DMA B-UNIT CPU DHACK DHREQ :D-バスホールド要求 DHACK :D-バスホールドアクノリッジ IRQ :割込み要求 MHALTI :ホールド要求取り下げ要求 305 第 9 章 割込みコントローラ ■ シーケンス 図 9.3-1 に示したハードウェア間の各信号のシーケンスを図 9.3-2 , 図 9.3-3 に示しま す。 図 9.3-2 割込みレベル (HRCL > a の場合 ) RUN バスホールド 割込み処理 バスホールド (DMA転送) CPU バスアクセス要求 DHREQ DHACK IRQ LEVEL MHALTI 注意事項:割込みルーチンの例 1:割込み要因クリア 2:RETI 割込み要求が発生すると割込みレベルが変化して , これが HRCL レジスタに設定した レベルより強いと DMA に対して MHALTI をアクティブにします。これによって DMA はアクセス要求を取り下げ , CPU はホールド状態から復帰して割込み処理を行います。 多重割込みの場合を , 図 9.3-3 に示します。 図 9.3-3 割込みレベル (HRCL > a > b の場合 ) RUN CPU バスホールド 割込みI 割込み処理II 3 4 割込み処理I 1 2 バスホールド (DMA転送) バスアクセス要求 DHREQ DHACK IRQ1 IRQ2 LEVEL MHALTI 注意事項:割込ルーチンの例 1, 3: 割込み要因例 2, 4: RETI 上記例では, 割込みルーチン1を実行中にそれよりも優先度の高い割込みが発生した場 合を示しています。HRCL レジスタに設定した割込みレベルより高い割込みレベルが 発生している間は , DHREQ は下がっています。 <注意事項> 306 HRCL レジスタと ICR に設定する割込みレベルの関係には , 十分注意してくださ い。 第 10 章 外部割込み / NMI コントローラ 外部割込み /NMI コントローラの概要を示し , レジ スタの構成と機能 , および外部割込み /NMI コント ローラの動作について説明します。 NMIX 端子が存在する型格は2つです。 10.1 外部割込みコントローラの概要 10.2 外部割込みコントローラのレジスタ 10.3 外部割込みコントローラの動作 307 第 10 章 外部割込み / NMI コントローラ 10.1 外部割込みコントローラの概要 外部割込み /NMI コントローラは , NMI 端子 , および INT0 ∼ INT7 から入力される外 部割込み要求を制御します。 "H" レベル , "L" レベル , 立上りエッジ , および立下りエッジの検出が選択できます (NMI を除きます )。 外部割込み /NMI コントローラは , DMA 要求についても使用できます。 ここでは , コントローラのレジスタ構成と , そのブロックダイヤグラムを示します。 ■ 外部割込み , および NMI コントローラのレジスタ構成 図 10.1-1 に外部割込み , および NMI コントローラのレジスタ構成を示します。 図 10.1-1 外部割込み , および NMI コントローラのレジスタ構成 bit 外部割込み許可 レジスタ (ENIR) ENIR bit 外部割込み要因 レジスタ (EIRR) EIRR bit 外部割込み要求 レベル設定 レジスタ (ELVR) ELVR bit 7 6 5 4 3 2 1 0 初期値 EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 00000000B R/W R/W R/W R/W R/W R/W R/W R/W 7 6 5 4 3 2 1 0 ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 R/W R/W R/W R/W R/W R/W R/W R/W 15 14 13 12 11 10 9 8 LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 R/W R/W R/W R/W R/W R/W R/W R/W 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 00000000B 00000000B 00000000B ■ 外部割込み , および NMI コントローラのブロックダイヤグラム 図 10.1-2 に外部割込み, およびNMIコントローラのブロックダイヤグラムを示します。 図 10.1-2 外部割込み , および NMI コントローラのブロックダイヤグラム Rバス 8 割込み要求 9 ゲート Gate 8 8 308 割込み許可レジスタ 要求F/F エッジ検出回路 外部割込み要因レジスタ 外部割込み要求レベル External level regist 設定レジスタ 9 INT0~INT7 NMIX 第 10 章 外部割込み / NMI コントローラ 10.2 外部割込みコントローラのレジスタ 割込み要求許可レジスタ (ENIR), 外部割込み要因レジスタ (EIRR), および外部割込み 要求レベル設定レジスタ (ELVR) について説明します。 ■ 割込み許可レジスタ (ENIR) 図 10.2-1 に割込み許可レジスタ (ENIR) のビット構成を示します。 図 10.2-1 割込み許可レジスタのビット構成 アドレス ENIR 000041H bit7 EN7 6 EN6 5 EN5 4 EN4 3 EN3 2 EN2 1 EN1 0 EN0 初期値 アクセス 00000000B R/W 割込み許可レジスタ (ENIR) は , 外部割込み要求出力のマスク制御を行います。 このレジスタで "1" に設定されているビットに対応する割込み要求の出力が許可され , ( たとえば , EN0 は INT0 を許可するかどうかを制御します。) 割込み要求が , 割込みコ ントローラに対して出力されます。 このレジスタで "0" に設定されているビットに対応する端子については , 割込み要因は 保持されますが , 割込みコントローラに対して要求は出力されません。 マスク不可割込み (NMI) に対するマスクビットは提供されません。 <注意事項> ■ 外部割込み要因レジスタ (EIRR) 図 10.2-2 に外部割込み要因レジスタ (EIRR) のビット構成を示します。 図 10.2-2 外部割込み要求レジスタのビット構成 アドレス EIRR 000040H bit7 ER7 6 ER6 5 ER5 4 ER4 3 ER3 2 ER2 1 ER1 0 ER0 初期値 アクセス 00000000B R/W 外部割込み要因レジスタ (EIRR) は , 読出し時には , 対応する外部割込み要求が存在す るかどうかを示します。書込み時には , その要求を格納していたフリップフロップ (NMI フラグ ) 内容をクリアするレジスタです。 読出し時に "1" を返すビットは , 対応する端子に外部割込み要求が存在することを示し ます。 同様に , あるビットに "0" を書き込むと , そのビットに対応する要求を格納していたフ リップフロップがクリアされます。"1" の書込みは無効です。 リードモディファイライト命令に対しては , レジスタビットは常に "1" として読み出さ れます。 <注意事項> ユーザによる NMI フラグの読出し , および書込みはできません。 309 第 10 章 外部割込み / NMI コントローラ ■ 外部割込み要求レベル設定レジスタ (ELVR) 図 10.2-3 に外部割込み要求レベル設定レジスタ (ELVR) のビット構成を示します。 図 10.2-3 外部割込み要求レベル設定レジスタのビット構成 アドレス ELVR 000042H bit15 LB7 14 LA7 13 LB6 12 LA6 11 LB5 10 LA5 9 LB4 8 LA4 初期値 アクセス 00000000B R/W 000043H bit7 LB3 6 LA3 5 LB2 4 LA2 3 LB1 2 LA1 1 LB0 0 LA0 初期値 アクセス 00000000B R/W 外部割込み要求レベル設定レジスタ (ELVR) は , 要求の検出方法を指定します。 INT0 ∼ INT7 に 2 ビットずつ割り当てられています。その設定を表 10.2-1 に示します。 要求入力がレベル検出に設定されている場合 , 対応する EIRR レジスタのビットの入力 がアクティブレベルであれば , クリアされても直ちに再設定されます。 表 10.2-1 外部割込み要求レベルの設定 LBx LAx 0 0 "L" レベルで要求を発生します。 0 1 "H" レベルで要求を発生します。 1 0 立上りエッジで要求を発生します。 1 1 立下りエッジで要求を発生します。 動作 NMI は , NMI 入力の立下りエッジだけを検出します ( ストップモード時以外 )。 ストップモード時は , NMI は "L" レベルを検出します。 310 第 10 章 外部割込み / NMI コントローラ 10.3 外部割込みコントローラの動作 外部割込みの動作 , ストップモードの解除 , 外部割込みの操作手順 , 外部割込み要求 レベル , および NMl について説明します。 ■ 外部割込みの動作 要求レベル , および許可レジスタが設定された後 , ELVR レジスタで指定されたタイプ の要求が割込み端子に入力されると , 外部割込みコントローラが割込みコントローラ に対して割込み要求信号を発生します。割込みコントローラは , 同時発生した割込みの 優先順位を評価し , 本リソースからの割込みが最も優先順位が高かったときに , 該当す る割込みが発生します。 図 10.3-1 に割込み要求信号のフローを示します。 図 10.3-1 割込み要求信号のフロー External interrupt contro周辺系要求 Interrupt contro 割込み 外部割込み コントローラ コントローラ ELVR EIRR ENIR CPU ICR yy IL CMP ICR XX CMP ILM 割込み入力 ■ ストップモードの解除 ストップモードでクロックが停止している状態を解除するために外部割込みを使用す る場合 , 要求入力タイプを "H" レベル要求に設定してください。"L" レベル要求を使用 すると誤動作となる場合があります。クロックが停止しているストップモードを , エッ ジ検出要求を使用して解除することはできません。 ■ 外部割込みの操作手順 外部割込みコントローラのレジスタを設定するには , 次の手順を使用します。 1. 許可レジスタの対象となるビットを無効に設定します。 2. 要求レベル設定レジスタの対象となるビットを設定します。 3. 要因レジスタの対象となるビットをクリアします。 4. 許可レジスタの対象となるビットを有効に設定します。 手順 3. および 4. は , 16 ビットデータの書込みとして同時に実行できます。 レジスタを設定する前に , 必ず , 許可レジスタで割込みを無効にしてください。また , 許可レジスタで割込みを有効にする前に , 必ず , 要因レジスタをクリアしてください。 これは , レジスタを設定するときや , 割込み許可状態時に , 割込み要求が誤って発生す るのを防止するためです。 ■ 外部割込み要求レベル 要求のタイプがエッジ検出に設定されている場合 , エッジを確実に検出するには , 少な くとも 3 マシンサイクル ( 周辺系クロックマシンサイクル ) のパルス幅が必要です。 要求タイプがレベル検出に設定されている場合 , ある外部要求入力があって後にそれ 311 第 10 章 外部割込み / NMI コントローラ が削除されても , その割込み要因は内部回路に格納されるため , 外部入力が削除された 後も , 割込みコントローラへの要求はアクティブのままです。割込みコントローラへの 要求をクリアするには , 要求レジスタをクリアする必要があります。 図 10.3-2 に割込み要因保持回路の状態を示します。図 10.3-3 にその状態のときのタイ ムチャートを示します。 図 10.3-2 割込みタイプがレベル検出に設定されているときの割込み要因保持回路のクリア 割込み入力 要因 F/F ( 要因保持回路) レベル検出 許可ゲート 割込み コントローラ クリアしない限り要因を保持し続ける。 図 10.3-3 割込みが有効なときの割込み要因と割込みコントローラへの割込み要求 "H" レベル 割込み入力 割込みコントローラ への割込み要求 要求F/Fがクリアされると非アクティブになる ■ NMl • NMI は最優先のユーザ割込みでありマスクはできません。しかし , リセット後に ILM が設定される前に NMI が検出された場合は , NMI は CPU では許可されません。こ の場合 , NMI 要求はラッチされ NMI 設定後 , 直ちに許可されます。そのため , リセッ ト後には , ILM を 15 以上の値に設定した後に NMI を使用するようにしてください。 • NMI は次のように検出されます。 - 通常動作 : 立下りエッジ - ストップモード :"L" レベル • NMI を使用して , ストップモードを解除できます。ストップモード時に "L" レベル を入力すると , デバイスはストップモードから復帰し , 発振安定待ち時間が取られ ます。 NMI 要求検出部には NMI フラグがあります。このフラグは NMl 要求によって設定さ れます。この設定は , NMI 自身の割込みの受付け , またはリセットが発生したときにク リアされます。このビットの読出しおよび書込みはできません。 図 10.3-4 に , NMI 要求検出部のブロックダイヤグラムを示します。 図 10.3-4 NMI 要求検出部のブロックダイヤグラム (NMIフラグ) N M I 要求 (ストップモードの解除) Q SX R 0 立下りエッジ検出 1 ストップ Clear (reset, interrupt accepted) け) クリア(リセット、割込み受付 312 NMIX 第 11 章 DMA コントローラ (DMAC) DMA コントローラ (DMAC) の概要を示し , レジス タの構成と機能 , および DMA コントローラの動作 について説明します。 11.1 DMA コントローラ (DMAC) の概要 11.2 DMA コントローラ (DMAC) のレジスタ 11.3 DMA コントローラ (DMAC) の動作 11.4 DMA コントローラ (DMAC) の動作フロー 11.5 データバスの転送例 11.6 外部 DMA 信号 11.7 DMA 転送例 313 第 11 章 DMA コントローラ (DMAC) 11.1 DMA コントローラ (DMAC) の概要 DMAC モジュールは , FR50 のデバイスで , ダイレクトメモリアクセス (DMA) 転送 を実現するためのモジュールです。本モジュールで制御される DMA 転送では , さま ざまな種類のデータを , CPU を介さずにメモリ相互間 , またはメモリと I/O 機器間 で高速転送することができ , これによりシステムパフォーマンスが向上します。 ■ ハードウェア構成 DMAC モジュールの主な構成要素は次のとおりです。 • 5 つの独立した DMA チャネル • 5 チャネル独立アクセス制御回路 • 32 ビットアドレスレジスタ ( リロード指定可能 : 各チャネル 2 レジスタ ) • 16 ビット転送カウントレジスタ ( リロード指定可能 : 各チャネル 1 レジスタ ) • 4 ビットブロックカウントレジスタ ( 各チャネル 1 レジスタ ) • 外部転送要求入力端子 DREQ0, DREQ1, DREQ2( チャネル 0, 1, 2 のみ ) • 外部転送要求受付出力端子 DACK0, DACKl, DACK2( チャネル 0, 1, 2 のみ ) • DMA 終了出力端子 DEOP0, DEOP1, DEOP2( チャネル 0, 1, 2 のみ ) • フライバイ転送 ( メモリから I/O, メモリからメモリ ) ( 必要であれば , ポートを使用して IOR, および IOW をサポートできます ) I/O 側のアクセス信号は, DACK, RDX, WRX, CAS の各信号をデコードして発生され ます。 • 2 サイクル転送 ■ 主な機能 本モジュールによる , データ転送のおもな機能は次のとおりです。 複数チャネルでの独立したデータ転送が可能です (5 チャネル )。 • 優先順位 ( チャネル 0 >チャネル 1 >チャネル 2 >チャネル 3 >チャネル 4) • チャネル 0 とチャネル 1 の間で順位回転が可能です。 • DMAC の起動要因 - 外部専用端子入力 ( エッジ検出 / レベル検出 , チャネル 0 ∼ 2 のみ ) - 内部周辺要求 ( 外部割込みを含む割込み要求を共用 ) - ソフトウェア要求 ( レジスタ書込み ) • 転送モード - デマンド転送 , バースト転送 , ステップ転送 , ブロック転送 - アドレッシングモード 32 ビットのフルアドレス指定 ( 増加 , 減少 , 固定 ) アドレ スの増分 / 減分のサイズは -255 ∼ +255 の範囲で指定可能です。 - データの種類は , バイト長 , ハーフワード長 , ワード長です。 - シングルショット / リロード選択が可能です。 314 第 11 章 DMA コントローラ (DMAC) ■ ブロックダイヤグラム 図 11.1-1 に DMA コントローラ (DMAC) のブロックダイヤグラムを示します。 図 11.1-1 DMA コントローラ (DMAC) のブロックダイヤグラム カウンタ バスコントローラへ ライト バック DMA DMA 起動の要因 バッファ 転送要求 セレクタ 受付制御 DTC 2 ステップレジスタ 周辺回路起動要求/停止入力 選択回路と要求 外部端子の起動要求/停止入力 DTCR カウンタ DSS[2:0] バッファ 読出し 読出し/書込み制御 書込み 優先度回路 転送コントローラへ 周辺回路の割込みクリア BLK レジスタ TYPE.MOD ,WS セレクタ DDNO レジスタ バス制御部 DMA 制御 セレクタ DSAD 2 ステップレジスタ SADM ,SASZ[7:0] SADR 2 ステップレジスタ DADM ,DASZ[7:0] DADR ライトバック セレクタ カウンタバッファ アドレス アドレスカウンタ アクセス カウンタバッファ バス制御部 バスコント ローラへ MCLREQ X バス 状態遷移回路 DDNO IRQ[4:0] ERIR ,EDIR セレクタ DDAD ライトバック DMAC 5 チャネルブロックダイヤグラム 315 第 11 章 DMA コントローラ (DMAC) 11.2 DMA コントローラ (DMAC) のレジスタ DMA コントローラ (DMAC) で使用するレジスタについて説明します。 ■ レジスタ一覧 図 11.2-1 に DMA コントローラ (DMAC) のレジスタ一覧を示します。 図 11.2-1 DMA コントローラ (DMAC) のレジスタ一覧 レジスタ 名前 bit コントロール / ステータス レジスタ A ビット 31 30 29 PAUS STRG IS[4:0] R/W R/W R/W R/W 23 22 21 DMACA DENB bit bit 15 28 初期値 27 20 26 19 25 00000000B 18 17 DDNO [3:0] BLK [3:0] R/W R/W 14 13 12 11 10 24 9 16 0000XXXXB 8 XXXXXXXXB DTC [15:8] R/W bit 7 6 5 4 3 2 1 0 XXXXXXXXB DTC [7:0] R/W bit コントロール / ステータス レジスタ B DMACB bit 31 30 TYPE[1:0] R/W R/W 23 22 29 28 26 MOD[1:0] WS[1:0] R/W R/W 21 DTCR SADR DADR bit 27 R/W R/W 17 16 19 ERIE EDIE DSS[2:0] R/W R/W R/W R/W R/W 15 14 13 12 11 10 24 SADM DADM 20 R/W 18 25 9 00000000B 00000000B 8 XXXXXXXXB SASZ [7:0] R/W bit 7 6 5 4 3 DASZ [7:0] 2 1 0 XXXXXXXXB R/W ( 続く ) 316 第 11 章 DMA コントローラ (DMAC) ( 続き ) レジスタ 名前 bit 全体制御レジスタ 31 bit bit bit 初期値 30 29 28 − − PM01 DMAH[3:0] R/W R R R/W R/W 23 22 21 20 19 18 17 16 − − − − − − − − R R R R R R R R 15 14 13 12 11 10 9 8 − − − − − − − − R R R R R R R R 7 6 5 4 3 2 1 0 − − − − − − − − R R R R R R R R 31 30 29 28 27 26 25 24 DMACR DMAE bit 転送元アドレス レジスタ ビット DMASA 27 26 25 24 0XX00000B XXXXXXXXB XXXXXXXXB XXXXXXXXB XXXXXXXXB DMASA [31:24] R/W bit 23 22 21 20 19 18 17 16 XXXXXXXXB DMASA [23:16] R/W bit 15 14 13 12 11 10 9 8 XXXXXXXXB DMASA [15:8] R/W bit 7 6 5 4 3 2 1 0 XXXXXXXXB DMASA [7:0] R/W bit 転送先アドレス レジスタ 31 30 29 DMADA 28 27 26 25 24 XXXXXXXXB DMADA [31:24] R/W bit 23 22 21 20 19 18 17 16 XXXXXXXXB DMADA [23:16] R/W bit 15 14 13 12 11 10 9 8 XXXXXXXXB DMADA [15:8] R/W bit 7 6 5 4 3 DMADA [7:0] 2 1 0 XXXXXXXXB R/W 317 第 11 章 DMA コントローラ (DMAC) ■ レジスタの設定に関する注意 DMAC を設定する場合 , 一部のビットの設定は DMA の停止中に行う必要があります。 これらのビットの設定を , DMA の動作中 ( 転送中 ) に行うと , 正常な動作が保証されま せん。 以降のビット説明の中でビット名称の右端に付いているアスタリスク (*) は , DMAC 転 送中にビットの設定をしたとき , そのビットが動作に影響を及ぼすことを示します。そ のビットを書き換える場合は , DMAC 転送を停止中に行ってください。( 起動の禁止状 態または一時停止状態 )。 これらのビットを , DMA 転送の起動禁止状態 (DMACR の DMAE=0, または DMACA の DENB=0 のとき ) で設定した場合 , この設定は起動が許可された後に有効になります。 これらのビットを , DMA 転送の一時停止状態 (DMACR の DMAH[3:0] ≠ 0000, または DMACA の PAUS=1 のとき ) で設定した場合 , この設定は一時停止状態の解除の後に有 効になります。 ■ DMAC- チャネル 0, 1, 2, 3, 4 制御 / 状態レジスタ A(DMACA0 ∼ DMACA4) これらのレジスタは , DMAC チャネルの動作を制御します。チャネルごとに 1 つのレ ジスタがあります。 以下に , 各ビットの機能を説明します。 アドレス bit31 30 29 00000200H DENB PAUS STRG 00000208H 00000210H bit15 14 13 00000218H 00000220H 28 27 26 25 24 23 IS[4:0] 12 11 10 22 21 20 19 DDNO[3:0] 9 8 7 6 5 18 17 16 BLK[3:0] 4 3 2 1 0 DTC[15:0] ( 初期値 : 00000000_0000XXXX_XXXXXXXX_XXXXXXXXB) [bit31] DENB(DMA Enable): DMA の動作許可ビット 各転送チャネルに対し , DMA 転送の起動の許可 / 禁止を制御します。 起動されたチャネルは , 転送要求が発生し , 受け付けられると DMA 転送を開始しま す。 起動を許可されないチャネルに出された転送要求はすべて無効となります。 起動されたチャネルで指定したカウントの転送が終了すると , このビットは "0" に なり転送は停止します。 このビットに "0" が書き込まれると , 転送は強制的に停止となります。ただし , "0" を 書き込んで転送を強制的に停止する前に , PAUS ビット (DMACA の bit30) で , 一時的 に DMA を停止状態にする必要があります。一時停止せずに強制停止すると , DMA は停止しますが , 転送データは保証されません。DSS[2:0] ビット (DMACB の bit18 ∼ bit16) で停止の種類を確認してください。 DENB 318 機能 0 対応チャネルの DMA の動作を禁止 ( 初期値 ) 1 対応チャネルの DMA の動作を許可 第 11 章 DMA コントローラ (DMAC) • リセット時 , または停止要求が受け付けられたとき , "0" に初期化されます。 • 読出し / 書込みが可能です。 • DMAC 全体制御レジスタ (DMACR) の bit15 の DMAE ビットによって全チャネルの 動作が禁止されている場合 , このビットへの "1" の書込みは無効となり , 停止状態が 維持されます。このビットによって動作が許可されている状態で , bit15 の DMAE ビットによって全チャネルの動作が禁止された場合 , DENB ビットは "0" になり , 転 送は中断します ( 強制停止 )。 [bit30] PAUS(Pause): 一時停止指示 対応するチャネルの DMA 転送の一時停止を制御します。このビットがいったん設 定されると , クリアされるまで DMA 転送は実行されません (DMA の停止中 , DSS ビットは "1xx" になります )。 起動前に PAUS ビットが設定されると , 起動しても一時停止状態が継続します。 このビットが設定されているとき , 新たに出された転送要求は受け付けられますが , このビットがクリアされるまで転送は開始されません。 PAUS 機能 0 対応チャネルの DMA 動作を許可 ( 初期値 ) 1 対応チャネルの DMA を一時停止 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit29] STRG(Software Trigger): 転送要求 対応するチャネルの DMA 転送要求を発生します。このビットに "1" が書き込まれ ると , レジスタへの書込みが終了した時点で転送要求が発生し , 対応するチャネル の転送が始まります。ただし , 対応するチャネルが起動許可されていない場合 , こ のビットの操作は無効です。 STRG 機能 0 無効 1 DMA 起動要求 • リセット時 , "0" に初期化されます。 • 読出し値は常に "0" です。 • 書込み値として有効なのは "1" だけです。"0" 設定は動作に影響しません。 <注意事項> DMAE ビットへの書込みによる起動と , STRG ビットによる転送要求の発生が同時 に起こった場合 , 転送要求は有効になり , 転送が始まります。STRG ビットによる 転送要求の発生と , PAUS ビットへの "1" の書込みが同時に発生した場合 , 転送要求 は有効ですが , PAUS ビットが "0" に戻るまで DMA 転送は開始されません。 319 第 11 章 DMA コントローラ (DMAC) [bit28 ∼ bit24] IS4 ∼ IS0(Input Select)*: 転送要因の選択 転送要求の要因を下表のように選択します。ただし , STRG ビットの機能によるソ フトウェア転送要求は , これらのビット設定に関係なく有効です。 IS 機能 00000 ソフトウェア転送要求のみ 00001 設定禁止 ↓ ↓ 01101 設定禁止 01110 外部 DMA 端子 "H" レベル , または↑ エッジ 01111 外部 DMA 端子 "L" レベル , または↓ エッジ 10000 UART0 RX 割込み 10001 UART0 TX 割込み 10010 UART1 RX 割込み 10011 UART1 TX 割込み 10100 外部割込み 0 10101 外部割込み 1 10110 リロードタイマ 0 割込み 10111 リロードタイマ 1 割込み 11000 外部割込み 2 11001 外部割込み 3 11010 UART2 RX 割込み 11011 UART2 TX 割込み 11100 SlO0 割込み * 11101 I2C 割込み 11110 A/D コンバータ割込み 11111 SIOl 割込み * 転送停止要求 なし あり なし *: MB91F369GA のみ実装 • リセット時 , "00" に初期化されます。 • 読出し / 書込みが可能です。 <注意事項> 320 • デマンド転送モードが選択されている場合は , IS[4:0]=01110, 01111 のみ設定可 能です。他の要因による起動は禁止されます。 • 外部要求入力は , チャネル 0, 1, 2 についてのみ有効です。チャネル 3, 4 につい ては , 外部要求入力は選択できません。検出方法をレベル検出とするかエッジ検 出とするかは , モード設定によって決まります。デマンド転送にはレベル検出が 使用され , その他のモードにはエッジ検出が使用されます。 第 11 章 DMA コントローラ (DMAC) [bit23 ∼ bit20] DDNO3 ∼ DDNO0(Direct Access Number)*: 内部周辺回路へのフライ バイ転送 これらのビットは , 対応するチャネルで使用される転送先 / 転送元の内部周辺回路 レジスタを指定します。 • リセット時 , "0000" に初期化されます。 • 読出し / 書込み可能です。 <注意事項> 本モデルは , この機能をサポートしません。書き込まれたデータは無視されます。 [bit19 ∼ bit16] BLK3 ∼ BLK0(Block Size): ブロックサイズ指定 対応するチャネルのブロック転送時のブロックサイズを指定します。これらのビッ トで設定された値は , 1 つの転送単位におけるワード数 ( より正確には , データサイ ズ設定の繰返しカウント ) になります。ブロック転送を実行しない場合は , 01H( サ イズ 1) を設定します。デマンド転送の場合 , このレジスタの値は無視され , サイズ 1 が使用されます。 BLK XXXXB 機能 対応チャネルのブロックサイズ指定 • リセット時に初期化されません。 • 読出し / 書込みが可能です。 • 全ビットを "0" に設定すると , ブロックサイズは 16 ワードになります。 • 読出し時には , ブロックサイズ ( リロード値 ) が常に読み出されます。 [bit15 ∼ bit0] DTC(DMA Terminal Count Register)*: 転送カウントレジスタ このレジスタには転送カウントが格納されます。各レジスタ (DMACA ごとに 1 つ ) は 16 ビット構成です。 各レジスタには , 専用リロードレジスタがあります。転送カウンタレジスタのリ ロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定値 をレジスタに戻します。 DTC XXXXH 機能 対応チャネルの転送カウント指定 DMA 転送が開始されると , このレジスタのデータは DMA 専用転送カウントカウン タのカウンタバッファに格納され , このカウンタは転送単位ごとに減分されます。 DMA 転送の最後に , カウンタバッファの内容がレジスタに書き戻されて , DMA が 終了します。したがって , DMA の動作中には , 転送カウント値を読み出すことはで きません。 • リセット時 , 初期化されません。 • 読出し / 書込みが可能です。DTC アクセスにはハーフワード長 , またはワード長を 使用する必要があります。 • 読出し値はカウント値です。リロード値を読み出すことはできません。 321 第 11 章 DMA コントローラ (DMAC) ■ DMAC- チャネル 0, 1, 2, 3, 4 コントロール / ステータスレジスタ B(DMACB0 ∼ DMACB4) これらのレジスタは , DMAC チャネルの動作を制御します。チャネルごとに 1 つのレ ジスタがあります。 各ビットの機能を以下に説明します。 アドレス bit31 30 00000204H TYPE[1:0] 0000020CH 00000214H bit15 14 0000021CH 00000224H 29 28 MOD[1:0] 13 11 27 26 WS[1:0] 11 25 24 23 22 21 20 19 18 SADM DADM DTCR SADR DADR ERIE EDIE 10 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] TYPE(Type)*: 転送種類設定 対応するチャネルの動作の種類を次のように設定します。 • 2 サイクル転送モード : このモードでは , 転送元アドレス (DMASA), および転送先 アドレス (DMADA) を設定し , 転送カウントの値だけ読出 しと書込み操作を繰り返し , 転送を実行します。全領域 (32 ビットアドレシング ) を転送元 , および転送先に指定 できます。 • フライバイ転送モード : このモードでは , 転送先アドレス (DMADA) にメモリアド レスを設定することにより, 外部領域⇔外部領域の転送を 1 サイクルで実行します。メモリアドレスは必ず外部領域 (SDRAM を除く ) を指定してください。 TYPE 機能 00 2 サイクル転送 ( 初期値 ) 01 フライバイ : メモリから I/O への転送 10 フライバイ :I/O からメモリへの転送 11 設定禁止 • リセット時 , "00" に初期化されます。 • 読出し / 書込みが可能です。 322 第 11 章 DMA コントローラ (DMAC) [bit29, bit28] MOD(Mode)*: 転送モード設定 対応するチャネルの動作モードを下表のように設定します。 MOD 機能 00 ブロック / ステップ転送モード ( 初期値 ) 01 バースト転送モード 10 デマンド転送モード 11 設定禁止 • リセット時 , "00" に初期化されます。 • 読出し / 書込みが可能です。 [bit27, bit26] WS(Word Size): 転送データサイズ選択 対応するチャネルの転送データサイズを選択します。 転送は , このレジスタで設定したデータサイズで指定回数分の転送を行います。 WS 機能 00 バイト単位の転送 ( 初期値 ) 01 ハーフワード単位の転送 10 ワード単位の転送 11 設定禁止 • リセット時 , "00" に初期化されます。 • 読出し / 書込みが可能です。 [bit25] SADM(Source-Addr.Count-Mode Select)*: 転送元アドレスカウントモード指定 対応するチャネルの転送元アドレスの , 1 転送ごとのアドレス処理を指定します。 アドレスの増分 / 減分は , 指定された転送元アドレスカウントサイズ (SASZ) に従い ます。アドレスは , 1 回の転送ごとに増分 , または減分されます。転送が終了すると , 次のアクセスアドレスが , 対応するアドレスレジスタ (DMASA) に書き込まれます。 したがって, DMA転送が終了するまで, 転送元アドレスレジスタは更新されません。 アドレスを固定するには , このレジスタの増分 , または減分を指定し , アドレスカウ ントサイズを "0" にします。 SADM 機能 0 転送元アドレスを増分します。( 初期値 ) 1 転送元アドレスを減分します。 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 323 第 11 章 DMA コントローラ (DMAC) [bit24] DADM(Destination-Addr.Count-Mode Select)*: 転送先アドレスカウント モード指定 対応するチャネルの転送先アドレスの , 1 転送ごとのアドレス処理を指定します。 アドレスの増分 / 減分は , 指定された転送先アドレスカウントサイズ (DASZ) に従い ます。アドレスは 1 回の転送ごとに増分 , または減分されます。転送が終了すると , 次のアクセスアドレスが , 対応するアドレスレジスタ (DMADA) に書き込まれます。 したがって , DMA 転送が終了するまで転送先アドレスレジスタは更新されません。 アドレスを固定するには , 本レジスタの増分 , または減分を指定し , アドレスカウン トサイズを "0" にします。 DADM 機能 0 転送先アドレスを増分します。( 初期値 ) 1 転送先アドレスを減分します。 • リセット時 , "0" に初期化されます。 • 読出し / 書込み可能です。 [bit23] DTCR(DTC-Reg.Reload)*: 転送カウントレジスタリロード指定 対応するチャネルの転送カウントレジスタのリロード機能を制御します。 このビットによってリロードが許可されている場合 , 転送終了時にカウントレジス タの値を初期設定値に戻して , 転送が再起動されます。 カウントカウンタのリロードが禁止されている場合 , アドレスレジスタでリロード が指定されていた場合でも , 転送はシングルショットの動作になり , 転送の終了時 に動作が停止します。 DTCR 機能 0 転送カウントレジスタのリロードを禁止します ( 初期値 )。 1 転送カウントレジスタのリロードを許可します。 • リセット時 , "0" に初期化されます。 • 読出し / 書込み可能です。 [bit22] SADR(Source-Addr.-Reg.Reload)*: 転送元アドレスレジスタリロード指定 対応するチャネルのアドレスレジスタのリロード機能を制御します。 このビットによってリロードが許可されている場合は , 転送の終了時に転送元アド レスレジスタの値を初期設定値に戻します。 カウントカウンタのリロードが禁止されている場合 , アドレスレジスタでリロード が指定されていた場合でも , 転送はシングルショットの動作になり , 転送終了時に 動作が停止します。この場合 , アドレスレジスタの値は , 初期設定値がリロードさ れた状態で停止します。 このビットによってリロードが禁止されている場合 , 転送終了時のアドレスレジス タの値は , 最終アドレスの次のアクセスアドレス ( アドレスの増分が指定されてい る場合は , 増分されたアドレス ) になります。 324 第 11 章 DMA コントローラ (DMAC) SADR 機能 0 転送元アドレスレジスタのリロードを禁止します ( 初期値 )。 1 転送元アドレスレジスタのリロードを許可します。 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit21] DADR(Dest.-Addr.-Reg.Reload)*: 転送先アドレスレジスタリロード指定 対応するチャネルのアドレスレジスタのリロード機能を制御します。 このビットによってリロードが許可されている場合 , 転送終了時に転送先アドレス レジスタの値を初期設定値に戻します。このほかの機能の詳細は , bit22 の SADR と 同等です。 DADR 機能 0 転送先アドレスレジスタのリロードを禁止します ( 初期値 )。 1 転送先アドレスレジスタのリロードを許可します。 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit20] ERIE(Error Interrupt Enable)*: エラー割込み出力許可 エラーによる終了のための割込みの発生を制御します。DSS2 ∼ DSS0 は , 発生した エラーの種類を示します。すべての終了要因により , この割込みが発生するわけで はないことに注意してください。割込みが発生するのは , 特定の終了要因の場合だ けです。(bit18 ∼ bit16 の DSS2 ∼ DSS0 ビットの説明を参照してください。) ERIE 機能 0 エラー割込み要求の出力を禁止します ( 初期値 )。 1 エラー転送要求の出力を許可します。 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 [bitl9] EDIE(End Interrupt Enable)*: 終了割込み出力許可 正常終了したときの割込みの発生を制御します。 EDIE 機能 0 終了割込み要求の出力を禁止します ( 初期値 )。 1 終了転送要求の出力を許可します。 • リセット時 : "0" に初期化されます。 • 読出し / 書込みが可能です。 325 第 11 章 DMA コントローラ (DMAC) [bit18 ∼ bit16] DSS2 ∼ DSS0(DMA Stop Status)*: 転送停止要因表示 対応するチャネルの DMA 転送が停止 , または終了した要因を示す 3 ビットコード ( 終了コード ) を表示します。終了コードの内容は下表のとおりです。 DSS 機能 発生する割込み 000 初期値 x01 アドレスエラー ( アンダフロー / オーバフロー ) エラー x10 転送停止要求 エラー x11 正常終了 終了 1xx DMA 一時停止中 (DMAH, PAUS ビット , 割込み , 他 ) なし なし 転送停止要求が設定されるのは , 周辺回路要求 , および外部端子の DSTP 機能が使 用される場合だけです。 「発生する割込み」欄は , 発生可能な割込み要求の種類を示します。 • リセット時 , "000" に初期化されます。 • "000" が書き込まれるとクリアされます。 • 読出し / 書込みが可能です。ただし , このビットへの書込みは , "000" のみ有効とな ります。 [bit15 ∼ bit8] SASZ(Source Addr Count Size)*: 転送元アドレスカウントサイズ指定 対応するチャネルの 1 転送ごとの転送元アドレス (DMASA) の増減を指定します。 このビットに設定される値が , 1 回の転送単位でのアドレスの増分 , または減分にな ります。アドレスの増分 , および減分は , 転送元アドレスカウントモード (SADM) の指定に従います。 SASZ XXH 機能 転送元アドレスの増分または減分のサイズを指定します。0 ∼ 255。 • リセット時 , 初期化されません。 • 読出し / 書込みが可能です。 [bit7 ∼ bit0] DASZ(Des Addr Count Size)*: 転送先アドレスカウントサイズ指定 対応するチャネルの 1 転送ごとの転送先アドレス (DMADA)\ の増減を指定します。 このビットに設定される値が , 1 回の転送単位でのアドレスの増分 , または減分にな ります。アドレスの増分 , および減分は , 転送先アドレスカウントモード (DADM) の指定に従います。 DASZ 機能 XXH 転送先アドレスの増分または減分のサイズを指定します。0 ∼ 255。 • リセット時 , 初期化されません。 • 読出し / 書込みが可能です。 326 第 11 章 DMA コントローラ (DMAC) ■ DMAC- チャネル 0, 1, 2, 3, 4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) これらのレジスタは , 各 DMAC チャネルの動作を制御します。チャネルごとに 1 つの レジスタがあります。 各ビットの機能を以下に説明します。 bit 31 30 29 28 27 26 25 24 23 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] ( 初期値 : XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 6 5 4 3 2 1 0 DMADA[31:16] bit 15 14 13 12 11 10 9 8 7 DMADA[15:0] ( 初期値 : XXXXXXXX_XXXXXXXX_XXXXXXXX_XXXXXXXXB) 転送元 / 転送先アドレスは , このレジスタ群に格納されます。各レジスタは 32 ビッ ト構成です。 [bit31 ∼ bit0] DMASA(DMA Source Addr)*: 転送元アドレス設定 転送元アドレスを指定します。 [bit31 ∼ bit0] DMADA(DMA Destination Addr)*: 転送先アドレス設定 転送先アドレスの設定を行います。 DMA 転送が開始されると , このレジスタデータは DMA 専用アドレスカウンタのカ ウンタバッファに格納され , 設定に従い , 転送ごとにアドレスがカウントされます。 DMA 転送の最後に , カウンタバッファの内容がレジスタに書き戻されて , DMA が 終了します。 したがって, DMAの動作中にアドレスカウンタの値を読み出せません。 各レジスタには専用リロードレジスタがあります。転送元 / 先アドレスレジスタの リロードを許可しているチャネルに使用した場合 , 転送終了時に自動的に初期設定 値をレジスタに戻します。他のアドレスレジスタには影響ありません。 • リセット時 , 初期化されません。 • 読出し / 書込みが可能です。本レジスタには必ず 32 ビットデータでアクセスしてく ださい。 • 読出し値は , 転送中は転送前のアドレス値になり , 転送終了時には次のアクセスア ドレス値になります。リロード値を読み出すことはできません。したがって , 転送 アドレスをリアルタイムで読み出すことはできません。 このレジスタで DMAC レジスタを設定しないでください。DMAC レジスタ自身へ の DMA 転送はできません。 327 第 11 章 DMA コントローラ (DMAC) ■ DMAC- チャネル 0, 1, 2, 3, 4 DMAC 全体制御レジスタ (DMACR) このレジスタは , 5 つの DMAC チャネルの全体動作を制御します。このレジスタには 必ずバイトデータでアクセスしてください。 各ビットの機能は下表のとおりです。 bit bit 31 30 29 28 DMAE − − PM01 27 26 25 15 14 13 11 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 動作が許可されている場合 , 各チャネルに対する起動 / 停 止操作は有効ですが , これだけでは各チャネルは起動されません。 DMAE ビットに "0" が書き込まれると , 転送は強制終了します。"0" を書き込んで強 制的に終了するには , その前に , DMAH[3:0] ビット [DMACR レジスタの bit27 ∼ bit24] によって DMA を一時停止状態にしてから行ってください。一時停止しない で強制終了すると , DMA は停止しますが , データ転送は保証されません。DSS[2:0] ビット [DMACB レジスタの bit18 ∼ bit16] で , 停止の種類を確認してください。 DMAE 機能 0 全チャネルで DMA 転送を禁止 ( 初期値 ) 1 全チャネルで DMA 転送を許可 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit28] PM01(Priority mode ch0, ch1 robin): チャネル優先度回転 転送ごとにチャネル 0 とチャネル 1 の優先度を回転するには , このビットを設定し ます。 PM01 機能 0 優先順位固定 ( チャネル 0 >チャネル 1)( 初期値 ) 1 優先順位回転 ( チャネル 1 >チャネル 0) • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 328 第 11 章 DMA コントローラ (DMAC) [bit27 ∼ bit24] DMAH(DMA Halt): DMA 一時停止 全 DMA チャネルの一時停止を制御します。このビットがいったん設定されると , このビットがクリアされるまで , どのチャネルでも DMA 転送は実行されません。 起動の前にこのビットが設定されると , 起動後も , 全チャネルが一時停止状態のま まになります。 このビットが設定されている間 , DMA 転送が許可されている (DENB=1) チャネルで 発生する転送要求は , すべて有効です。このビットがクリアされると転送が開始さ れます。 DMAH 0000 0000 以外 機能 全チャネルで DMA 動作を許可 ( 初期値 ) 全チャネルで DMA を一時停止 • リセット時 , "0" に初期化されます。 • 読出し / 書込みが可能です。 [bit30, bit29, bit23 ∼ bit0] (Reserved): 未使用ビット • 読出し値は不定です。 329 第 11 章 DMA コントローラ (DMAC) 11.3 DMA コントローラ (DMAC) の動作 ここでは , DMA コントローラ (DMAC) の動作について説明します。 ■ 動作概要 DMAC ブロックは , FR50 製品に組み込まれている多機能 DMA コントローラで , CPU を介入させずに高速なデータ転送を制御します。 ● 主要動作 • 各転送チャネルは独立に各種の機能を設定できます。 • 起動を許可されたチャネルは , 設定された転送要求を検出するまでは転送動作を開 始しません。 • チャネルは , 転送要求を検出すると , DMA 転送要求をバスコントローラに対して出 します。これによりチャネルはバス使用の権利をバスコントローラから取得し , 転 送を開始します。 • データは , チャネルごとに設定されたモードに従ったシーケンスで転送されます。 ● 転送モード 各DMAコントローラチャネルは, そのチャネルに対するDMACBレジスタのMOD[1:0] ビットで設定される転送モードに従ってデータを転送します。 • ブロック / ステップ転送 DMA コントローラは , 転送要求を受け付けると , データを 1 ブロックだけ転送しま す。DMA コントローラは , 次の転送要求を受け付けるまで , バスコントローラに対 して転送要求を出しません。 ブロック転送単位 : 設定されたブロックサイズ分 (DMACA:BLK[3:0]) • バースト転送 DMA コントローラは , 転送要求を受け付けると , 指定された転送カウントを終了す るまで連続してデータを転送します。 指定された転送カウント : ブロックサイズ分×転送カウント分 (DMACA:BLK[3:0] × DMACA:DTC[15:0]) • デマンド転送 DMAコントローラは, 指定された転送カウントを終了するまで連続してデータを転 送するか , 外部からの転送要求 (DREQ 端子のレベル検出 ) 入力終了まで連続して データを転送します。デマンド転送での指定転送回数は設定した転送カウント分 (DMACA:DTC[15:0]) となります。ブロックサイズは "1" に固定され , レジスタ値は 無視されます。 ● 転送の種類 • 2 サイクル転送 ( 通常転送 ) DMA コントローラ動作は , 読出し動作と書込み動作を 1 つの単位として動作を行い ます。 DMA コントローラは , 転送元レジスタにあるアドレスからデータを読み出し , 転送 先レジスタにあるアドレスにそのデータを書き込みます。 330 第 11 章 DMA コントローラ (DMAC) • フライバイ転送 ( メモリから I/O へ ) DMA コントローラの動作は , 読出し動作を 1 つの単位として動作を行います。 フライバイ転送を設定して DMA 転送を行うと , DMA コントローラは , フライバイ転 送 ( 読出し ) 要求をバスコントローラに対して出力します。バスコントローラは , 外 部インタフェースにフライバイ転送 ( 読出し ) によるデータ転送をさせます。 • フライバイ転送 (I/O からメモリへ ) DMA コントローラの動作は , 書込み動作を 1 つの単位として動作を行います。 他の動作は , メモリから I/O へのフライバイ転送と同じです。 フライバイ転送でデータを書き込むためには , アクセスする領域は外部領域でなけ ればなりません。 ● 転送アドレス アドレスは転送の種類によって , 以下のように設定されます。各チャネル転送元 , およ びチャネル転送先について個別のアドレスが設定されます。 2 サイクル転送でのアドレス設定レジスタ (DMASA, および DMADA) の指定方法は , フ ライバイ転送の場合と異なります。 • 2 サイクル転送のアドレス指定 あらかじめアドレスを設定してあるレジスタ (DMASA, または DMADA) からの読出 し値が , データアクセスのアドレスとして使用されます。 DMAコントローラは転送要求を受け付けると, レジスタからアドレスを読み出して 一時記憶バッファに格納し , データ転送を開始します。 1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次のアクセスに使用するアド レスを発生し ( 増分 , 減分 , または固定を選択 ), そのアドレスを一時記憶バッファ に戻します。一時記憶バッファのデータは , 1 ブロックの転送が終了するたびにレ ジスタ (DMASA, または DMADA) に戻されます。 したがって , 1 回のブロック転送ごとにしかアドレスレジスタ (DMASA, または DMADA) の値が更新されないので , 転送中のアドレスをリアルタイムに知ることは できません。 • フライバイ転送のアドレス指定 フライバイ転送では , 転送先アドレスレジスタ (DMADA) からの読出し値が , データ アクセスのアドレスとして使用されます。転送元アドレスレジスタ (DMASA) は , 無 視されます。このアドレスは , 外部領域に設定されなければなりません。 DMAコントローラは転送要求を受け付けると, レジスタからアドレスを読み出して 一時記憶バッファに格納し , データ転送を開始します。 1 回の転送 ( アクセス ) ごとにアドレスカウンタにて次のアクセスに使用するアド レスを発生し ( 増分 , 減分 , または固定を選択 ), そのアドレスを一時記憶バッファ に戻します。この , 一時記憶バッファのデータは , 1 ブロックの転送が終了するたび にレジスタ (DMADA) に戻されます。 したがって , 1 回のブロック転送ごとにしかアドレスレジスタ (DMADA) の値が更 新されないので , 転送中のアドレスをリアルタイムに知ることはできません。 331 第 11 章 DMA コントローラ (DMAC) ● 転送カウントと転送終了 • 転送カウント 転送カウントレジスタは , 1 ブロックの転送が終了するごとに 1 ずつ減分されます。 転送カウントレジスタが "0" になると , 指定転送カウントのデータ転送が終了しま す。コントローラは終了コードを表示して停止するか , データ転送を再起動 * しま す。 *: 転送カウントレジスタのリロードが禁止されている場合 , コントローラはデー タ転送を停止します。リロードが許可されている場合 , コントローラはレジス タの値を初期化して , データ転送要求 (DMACB の DTCR) を待ちます。 アドレスレジスタと同様に , 転送カウントレジスタの値も 1 ブロック転送ごとに更 新されます。 • 転送終了 転送終了の要因を以下に列挙します。転送終了時に , 要因を示す終了コードが表示 されます (DMACB の DSS[2:0])。 - 指 定 転 送 カ ウ ン ト の デ ー タ 転 送 の 終 了 (DMACA の BLK[3:0]×DMACA の DTC[15:0]) => 正常終了 - 周辺回路または外部端子 (DSTP) からの転送停止要求の発生 => エラー - アドレスエラーの発生 => エラー - リセットの発生 => リセット 各終了要因に対する転送停止要因が表示され (DSS), 転送停止割込み , またはエラー 割込みの発生が可能です。 ■ 転送要求の設定 DMA コントローラによる転送を開始する転送要求には , 以下に示すように 3 つの種類 があります。ソフトウェア要求は , 他の要求の設定にかかわらず常に使用できます。 ● 外部転送要求端子 各チャネルの入力端子に対する入力で転送要求が発生します。 チャネル 0 ∼ 3 のみ使用可能です (DREQ0, DREQ1, DREQ2)。 転送の種類 , および起動の要因の設定により , 以下の要因が選択されます。 • エッジ検出 転送種類がブロック , ステップ , またはバースト転送の場合 , エッジ検出が選択され ます。 - 立下りエッジ検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01110" の とき。 - 立上りエッジ検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01111" の とき。 転送の種類がデマンド転送の場合 , レベル検出が選択されます。 - "H" レベル検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01110" のとき。 - "L" レベル検出 : 転送要因選択レジスタで設定 DMACB の IS[4:0] が "01111" のとき。 332 第 11 章 DMA コントローラ (DMAC) ● 内部周辺回路要求 内部周辺回路によって発生した割込みで , 転送要求を発生します。 チャネルごとに , どの周辺回路の割込みにより転送要求を発生するかを設定します。 (DMACB の IS[4:0]=1xxxx) 外部転送要求とは同時に使用することができません。 <注意事項> 転送要求として使用される割込み要求は CPU に対する割込み要求にも解釈される ので , 割込みコントローラを割込み禁止に設定してください (ICR レジスタ )。 ● ソフトウェアの要求 レジスタのトリガビットへの書込みにより, 転送要求を発生します(DMACAのSTRG)。 この要求は , 上記の 2 つの転送要求と独立して , 常に使用可能です。 ソフトウェア要求と起動 ( 転送許可 ) を同時に行った場合 , DMA 転送要求がバスコン トローラに対して直ちに出力され , 転送が開始されます。 ■ 転送シーケンス DMA 転送起動後の動作シーケンスを指定する転送種類 , および転送モードは , チャネ ルごとに独立して設定することができます (DMACB の TYPE [1:0], MOD[1:0] の設定 )。 ● 転送シーケンスの選択 レジスタの設定によって以下のシーケンスが指定されます。 • バースト 2 サイクル転送 • デマンド 2 サイクル転送 • ブロック / ステップ 2 サイクル転送 • バーストフライバイ転送 • デマンドフライバイ転送 • ブロック / ステップフライバイ転送 [ バースト 2 サイクル転送 ] DMA コントローラは , 転送要求を受け付けると , データ転送を指定転送カウントだ け連続して行います。2 サイクル転送では , すべての領域に対して 32 ビットの転送 元アドレス , および転送先アドレスを指定できます。 転送要求として , 周辺回路転送要求 , ソフトウェア転送要求 , または外部端子 (DREQ) エッジ入力検出要求が選択できます。 転送元アドレスの指定 32 ビット全領域指定可能。 方向 → 転送先アドレスの指定 32 ビット全領域指定可能。 ( 指定可能な転送アドレス表 ) バースト転送の特長は以下のとおりです。 • DMA コントローラは , 転送要求を受け付けると , 転送カウントレジスタが "0" にな るまで連続してデータ転送を行います。 333 第 11 章 DMA コントローラ (DMAC) 転送カウントは次のように取得されます。 転送カウント = ブロックサイズ分×転送カウント分 (DMACA の BLK[3:0] × DMACA の DTC[15:0]) • データ転送中に別の転送要求が出されても無視されます。 • 転送カウントレジスタのリロードが許可されている場合 , データ転送終了後に次の 転送要求が受け付けられます。 • 転送中に優先度の高い転送要求が別のチャネルから受け付けられた場合は , 1 ブ ロックのデータ転送が終了したところでそのチャネルに切り替わります。優先度の 高い転送要求のデータ転送が終了するまで , 元のチャネルに制御が戻りません。 図 11.3-1 にバースト転送の例を示します。 バースト転送は外部端子信号の立上りエッジで起動されており , ブロック数は 1, 転 送カウントは 4 です。 図 11.3-1 バースト転送の例 転送要求(↑エッジ) バス動作 CPU SA DA 4 転送カウント SA DA 3 SA DA 2 SA DA 1 CPU 0 転送終了 [ デマンド 2 サイクル転送 ] デマンド転送シーケンスが選択されるのは , 外部端子の "H", または "L" レベルが転 送要求として選択される場合だけです。レベル選択は , DMACA の IS[3:0] で設定さ れます。 転送元アドレスの指定 方向 転送先アドレスの指定 外部領域 → 外部領域 外部領域 → 内部 I/O 外部領域 → 内部 RAM, または ROM 内部 I/O → 外部領域 内部 RAM, または ROM → 外部領域 ( 指定可能な転送アドレス表 ) 連続転送の特長は , 以下のとおりです。 • 転送要求を 1 回の転送ごとにチェックし , 外部入力レベルが設定した転送要求レベ ルと同じであれば , 転送要求をクリアせずにデータ転送を連続して行います。外部 入力レベルが変化すると , 転送要求はクリアされ , 1 ブロックのデータが転送された ところでデータ転送が停止します。この動作を指定転送カウント終了まで繰り返し ます。 334 第 11 章 DMA コントローラ (DMAC) • ほかの動作はバースト転送の場合と同じです。 図 11.3-2 にデマンド転送の例を示します。 外部端子信号の "H" レベルで起動されており , ブロック数は "1", 転送カウントは "3" です。 図 11.3-2 デマンド転送の例 転送要求(Hレベル) CPU バス動作 SA DA 3 転送カウント SA DA SA CPU 2 DA 1 0 転送終了 <注意事項> デマンド転送が選択されているときは , 外部領域のアドレスが , 転送元レジスタ , 転 送先レジスタ , またはその両方に設定されていることを確認してください。デマン ド転送モード時は DMA 転送が外部バスタイミングに合わせられているため , 必ず 外部領域にアクセスすることが必要です。 [ ブロック / ステップ 2 サイクル転送 ] ブロック / ステップ転送 (1 転送要求ごとに指定ブロック数分のデータが転送されま す)では, 32ビット全領域の転送元アドレス, または転送先アドレスを指定できます。 転送元アドレスの指定 方向 転送先アドレスの指定 32 ビット全領域指定可能 → 32 ビット全領域指定可能 ( 指定可能な転送アドレス表 ) • ステップ転送 : ブロックサイズとして "1" が設定されると , ステップ転送シーケン スが選択されます。ステップ転送の特長は , 以下のとおりです。 - DMA コントローラは , 転送要求を受け付けると , データを 1 回だけ転送します。 その後 , 転送要求を取り消し , データ転送を停止します。DMA コントローラはバ スコントローラに対して DMA 転送要求を取り消します。 - データ転送中に別の転送要求が出されても無視されます。 - 転送中に優先度の高い転送要求が別のチャネルから受け付けられた場合は , 現在 のデータ転送が終了したところでチャネルが切り替わり , 要求のあったデータ転 送が開始されます。転送要求が同時に発生した場合のみ , ステップ転送の優先順 位が有効です。 • ブロック転送 : ブロックサイズとして "1" 以外の値が設定されると , ブロック転送 シーケンスが選択されます。ブロック転送の特長は , 以下のとおり です。 - この転送は , 1 回のデータ転送が複数回の ( ブロック数の ) 転送サイクルで構成さ れる点を除けば , ステップ転送と同じ動作です。 図 11.3-3 にブロック転送の例を示します。 335 第 11 章 DMA コントローラ (DMAC) ブロック転送は外部端子信号の立上りエッジで起動されており , ブロック数は "2", 転送カウントは "2" です。 図 11.3-3 ブロック転送の例 転送要求(↑エッジ) バス動作 CPU SA DA SA ブロック数 DA CPU 1 2 0 SA DA SA DA 1 2 1 2 転送終了 [ バーストフライバイ転送 ] この転送は , 転送領域が外部領域のみであることと , 転送動作が 1 回の読出し動作 ( メモリから I/O へ ), または書込み動作 (I/O からメモリへ ) のみであることを除 けば , 2 サイクル転送と同じです。 転送元アドレスの指定 方向 転送先アドレスの指定 指定不要 ( 無効 ) なし 外部領域 ( 指定可能な転送アドレスの表 ) [ デマンドフライバイ転送 ] この転送は , 転送領域が外部領域のみであることと , 転送動作が 1 回の読出し動作 ( メモリから I/O へ ), または書込み動作 (I/O からメモリへ ) のみであることを除 けば , 2 サイクル転送と同じです。 転送元アドレスの指定 方向 転送先アドレスの指定 指定不要 ( 無効 ) なし 外部領域 ( 指定可能な転送アドレスの表 ) [ ブロック / ステップフライバイ転送 ] この転送は , 転送領域が外部領域のみであることと , 転送動作が 1 回の読出し動作 ( メモリから I/O へ ), または書込み動作 (I/O からメモリへ ) のみであることを除 けば , 2 サイクル転送と同じです。 転送元アドレスの指定 方向 転送先アドレスの指定 指定不要 ( 無効 ) なし 外部領域 ( 指定可能な転送アドレスの表 ) 336 第 11 章 DMA コントローラ (DMAC) ■ DMA 転送全般 ● ブロックサイズ • 1 回で転送されるデータ量は , ブロックサイズ指定レジスタで設定された数 (× デー タサイズ ) のデータの集合となります。 • 1 転送サイクルで転送されるデータ量は , データサイズとして指定される値に固定 されるので , 1 回に転送されるデータは , ブロックサイズ指定値の分の転送サイクル 数で構成されます。 • データ転送中に優先度の高い転送要求が受け付けられた場合 , またはデータ転送一 時停止要求が出された場合 , 現在のデータブロック単位が転送されたところでデー タ転送が停止します。これにより , 分割 , または一時停止がを希望しないデータブ ロックは保護されますが , ブロックサイズが大きいと , 応答が低下することがあり ます。 • データ転送を直ちに停止するのは , リセット信号が検出された場合だけです。ただ し , 転送中のデータは保証されません。 ● リロード動作 DMAC モジュールは , 以下に示すような 3 種類のリロード機能をチャネルごとに設定 できます。 • 転送カウントレジスタリロード機能 指定カウントのデータ転送が終了すると , この機能によって転送カウントレジスタ に初期設定値が再度設定され , 起動の受付けを待ちます。 この機能は , 全転送シーケンスを繰り返すときに設定します。 この機能を指定しない場合 , 指定カウントのデータ転送の終了後にカウントレジス タの値はゼロのままとなり , それ以降 , データ転送は行われません。 • 転送元アドレスレジスタリロード機能 指定カウントのデータ転送が終了すると , この機能によって転送元アドレスレジス タに初期設定値が再度設定されます。 この機能は , 転送元アドレス領域の固定領域からデータを連続して転送する場合に 設定します。 この機能を指定しない場合 , 転送元アドレスレジスタの値は , 指定カウントのデー タ転送が終了した時に使われたアドレスの次のアドレスになります。アドレス領域 を固定しない場合はこの機能を使用します。 • 転送先アドレスレジスタリロード機能 指定カウントのデータ転送が終了すると , この機能によって転送先アドレスレジス タに初期設定値が再度設定されます。 この機能は , 転送先アドレス領域の固定領域へデータを連続して転送する場合に設 定します。 ( 以下 , 上記の「転送元アドレスレジスタリロード機能」と同じ。) - 指定カウントのデータ転送の終了後 , 転送元レジスタまたは転送先レジスタのリ ロード機能を単に有効にしているだけではデータ転送は再起動されません。各アド レスレジスタの値が再設定されるだけです。 337 第 11 章 DMA コントローラ (DMAC) <注意事項> 動作モード , およびリロード動作の特殊な例を記載しますので , 注意してください。 • 外部端子入力レベル検出による連続転送モードでデータを入力が連続している間 に転送しているときに , 転送カウントレジスタリロード機能を使用した場合は , データ転送が終了したとしても , そのままリロードされ , 転送を継続します。こ の場合も終了コードは設定されます。 • 転送終了によってデータ転送を一時停止した後に入力検出から再起動する場合は , リロード機能を指定しないでください。 • バースト , ブロック , ステップ転送モードでデータが転送されている場合は , 転 送終了となるリロード後 , いったん転送を中断し , あらためて転送要求入力が再 度検出されるまでデータは転送されません。 ■ アドレッシングモード 各転送チャネルの転送先 , および転送元のアドレスは個別に指定します。 アドレスの指定方法を以下に示します。アドレスは転送シーケンスの中で指定します。 ● アドレスレジスタの指定 • アドレスレジスタの特長 最大 32 ビット長のレジスタです。32 ビット長を使用している場合は , メモリマッ プ内のすべての空間がアクセス可能です。 • 転送モードとアドレス設定 - 2サイクル転送モードでは, 転送元アドレスを転送元アドレス設定レジスタ(DMASA) で設定し , 転送先アドレスを転送先アドレス設定レジスタ (DMADA) で設定しま す。 - フライバイ転送モードでは, メモリアドレスを転送元アドレス設定レジスタ(DMASA) で設定します。転送先アドレス設定レジスタ (DMADA) の値はこの時点では無視 されます。 • アドレスレジスタの機能 - アドレスはアクセスごとに読み出され , アドレスバスに転送されます。 - 同時にアドレスカウンタが , 次のアクセスで使用するアドレスを計算し , アドレ スレジスタは新しいアドレスに更新されます。 - 転送先 , および転送元のアドレスは , チャネルごとに個別に , 増分 , または減分に よって計算されます。アドレスの計算に使用される増分 , または減分の幅は , ア ドレスカウントサイズ指定レジスタの値 (DMACB の SASZ, DASZ) によって指定 されます。 - 転送終了時のアドレスレジスタがリロード機能を有効にしていない場合 , 最終ア ドレスにアドレス計算をした結果のアドレスが残されます。 - リロード機能が有効の場合 , アドレスの初期値がリロードされます。 338 第 11 章 DMA コントローラ (DMAC) <注意事項> • 32 ビットアドレス計算の結果 , オーバフロー , またはアンダフローが発生した場 合は , アドレスエラーとしてエラーが検出され , そのチャネルのデータ転送が停 止します。( 終了コードに関連する項目を参照してください。) • アドレスレジスタに DMAC レジスタアドレスを設定しないでください。 • デマンド転送では , 外部領域のアドレスが転送元アドレス設定レジスタ , 転送先 アドレス設定レジスタ , またはその両方に設定されていることを確認してくださ い。 • DMAC による DMAC レジスタへのデータ転送は行わないでください。 ■ データの種類 1 回の転送のデータ長 ( データサイズ ) は , 以下の 3 つから選択します。 • バイト • ハーフワード • ワード DMA データ転送ではワードバウンダリ仕様が遵守されます。したがって , データ長の 異なるアドレスが転送先 , または転送元のアドレスに指定された場合は , そのデータ長 の異なる下位ビットが無視されます。 • バイト : アクセス開始アドレスと指定アドレスは一致します。 • ハーフワード : アクセス開始アドレスは , 下位 1 ビットが "0" である 2 バイトで構成 されます。 • ワード : アクセス開始アドレスは , 下位 2 ビットが "00" である 4 バイトで構 成されます。 転送元アドレスの下位ビットが転送先アドレスの下位ビットと異なる場合は , 設定さ れたままのアドレスが内部アドレスバスに出力されます。しかし , そのアドレスは上記 の仕様に従って修正されて , データがアクセスされます。 ■ 転送カウントの制御 転送カウントは 16 ビットの範囲で指定します (1 ∼ 65536)。転送カウント指定値は , 転 送カウントレジスタ (DMACA の DTC) で設定します。 データ転送が開始されると , レジスタ値は一時記憶バッファに格納され , 転送カウント カウンタによって "1" だけ減分されます。このカウンタ値が "0" になると , 指定カウン ト数の転送が終了したことが検出され , そのチャネルのデータ転送が停止するか , 再起 動の受付け待ち ( リロード指定時 ) が行われます。 ● 転送カウントレジスタ群の特長 • 各レジスタは 16 ビット構成です。 • 各レジスタには専用リロードレジスタがあります。 • データ転送が開始されるときのレジスタ値がゼロである場合 , データは 65,536 回転 送されます。 ● リロード動作 • この機能が効果的なのは , リロード機能があるレジスタで , リロードが許可されて いる場合だけです。 339 第 11 章 DMA コントローラ (DMAC) • データ転送が開始されると , カウントレジスタの初期値がリロードレジスタに退避 します。 • 転送カウントカウンタがゼロになると , 転送終了が通知され , リロードレジスタか ら初期値が読み出されて , カウントレジスタに書き込まれます。 ■ CPU の制御 DMA は転送要求を受け付けると , バスコントローラに転送要求を送ります。 バスコントローラは , DMA に対してバス動作の切れ目にて内部バスを使用する権利を 与えます。その後 , データ転送が開始されます。 ● DMA 転送と割込み • DMA データ転送中 , 通常は , データ転送が終了するまで割込みは受け付けられませ ん。 • 割込み中に DMA 転送要求が出力された場合 , 転送要求は受け付けられ , データ転送 が終了するまで割込みは停止されます。 • 例外として , NMI 要求 , または割込みコントローラで設定されたホールド抑止レベ ルより高いレベルの割込み要求が出された場合 , DMAC は , 1 転送ブロックの切れ 目で一時的にバスコントローラへの転送要求を取り下げます。その後 , 要求された 割込みが終了するまで , DMAC はデータ転送を一時停止します。割込みの間 , 転送 要求は内部で保持されています。割込みが終了すると , DMAC は再びバスコント ローラに転送要求を出力し , バス使用権を取得して , DMA 転送を再起動します。 ● DMA 抑止 • FR50 の DMAC では , DMA 転送中により優先度の高い割込み要因が発生すると , DMA 転送を停止し , 対応する割込みルーチンへの分岐を制御します。この機能は , 割込み要求がある限り有効ですが , 割込み要因がクリアされると抑止機構が働かな くなり , 割込み処理ルーチン内で DMA 転送を再開します。したがって , DMA 転送 を中断させるレベルの割込み要因の処理ルーチンで , 割込み要因がクリアされた後 の DMA 再転送の開始を抑止するには , DMA 抑止機能を使用します。 DMAC 全体制御レジスタの DMAH[3:0] ビットにゼロ以外の値を書き込むと , DMA 抑止機能が動作を開始します。このレジスタにゼロを書き込むと , DMA 抑止機能は 停止します。 • この機能はおもに割込みルーチン内で使用されます。この機能は , 割込みルーチン が割込み要因をクリアする前に DMA 抑止レジスタの値を "1" だけ増分します。こ の増分によって , 以降の DMA 転送は起こりません。割込みが処理されると , 制御が 戻る前に DMAH[3:0] ビットの値が "1" だけ減分されます。もし多重割込みが発生し た場合 , DMAH[3:0] ビットの値はゼロにならず , DMA 転送が連続して抑止されま す。多重割込みが発生しない場合 , DMAH[3:0] ビットの値はゼロになり , DMA 要求 は直ちに有効になります。 <注意事項> 340 • レジスタのビット数は "4" です。15 レベルを超える多重割込みでは , この機能は 使用できません。 • DMA タスクの優先順位は , 必ず他の割込みレベルより 16 レベル以上 , 上に置い てください。 第 11 章 DMA コントローラ (DMAC) ■ ホールド調停 デバイスが外部バス拡張モードで動作している場合 , 外部端子からのホールド機能が 使用可能です。外部ホールド要求と , DMAC モジュールによる DMA 転送要求との関 係について , 以下に説明します。 ● 外部ホールド中の DMA 転送要求 DMA 転送開始後に外部バス領域がアクセスされる場合 , DMA 転送はその時点で一時 停止します。DMA 転送は , 外部ホールドが解除された後に再起動されます。 ● DMA 転送中の外部ホールド要求 外部ホールド状態となります。ただし , 外部バス領域が DMA 転送でアクセスされた場 合 , DMA 転送はその時点で一時停止します。DMA 転送は , 外部ホールドが解除された 後に再起動されます。 ● DMA 転送要求と外部ホールド要求の同時発生 外部ホールド状態となり , また DMA 転送が内部で開始されます。ただし , 外部バス領 域が DMA 転送でアクセスされた場合 , DMA 転送はその時点で一時停止します。DMA 転送は , 外部ホールドが解除された後に再起動されます。 ■ 動作開始 各チャネルはDMA転送の開始を個別に制御しますが, 動作許可は全チャネルに必要です。 • 全チャネルの動作許可 DMAC 各チャネルを起動する前に , あらかじめ全チャネルの動作を DMA 動作許可 ビット (DMACR の DMAE) で許可する必要があります。チャネルが許可されない場 合 , 起動設定 , および転送要求はすべて無効になります。 • 転送起動 転送動作を開始するには , 各チャネルの制御レジスタにある動作許可ビットを使用 します。起動されたチャネルの転送要求が受け付けられると , 設定されているモー ドで DMA 転送動作が開始されます。 • 一時停止後のチャネルの起動 各チャネルごと , または全チャネル制御にて , 起動前に一時停止状態にしてあった 場合 , 転送動作を起動しても一時停止状態は続きます。チャネルの停止中に転送要 求が発生すると , 要求は受け付けられ , 保持されます。一時停止が解除されると , チャネルはデータ転送を開始します。 ■ 転送要求の受付と転送の実行 • チャネルが起動されると , 各チャネルに対して設定された転送要求のサンプリング が開始されます。 • 外部端子起動の要因としてエッジ検出を選択した場合 , 転送要求が検出されると , DMAC は , 転送要求をクリアする条件が満足されるまで要求を保持します ( 外部端 子起動の要因がブロック , ステップ , バースト転送で選択されている場合 )。 • 外部端子起動の要因でレベル検出 , または周辺回路割込み起動が選択されている場 合 , DMAC は , 転送要求がクリアされるまでデータ転送を続けます。転送要求がク リアされると , DMAC は , 1 転送単位でデータ転送を停止します ( デマンド転送 / 周 辺回路割込み起動 )。周辺回路割込みはレベル検出扱いとなりますので , 割込みは DMA による割込みクリアで行うようにしてください。 341 第 11 章 DMA コントローラ (DMAC) • 転送要求は , 他のチャネルの転送要求が受け付けられてデータ転送が行われている 間でも , 常に受け付けられており , 優先順位の判断を行って , 1 転送単位ごとに転送 するチャネルを決定しています。 ■ DMA による周辺回路割込みのクリア • FR50 ファミリの DMA には , 周辺回路割込みをクリアする機能があります。この機 能は , 周辺回路割込みが DMA 起動の要因として選択されている場合 (IS[4:0] が "1xxxx" の場合 ) に動作します。 • 周辺回路割込みのクリアは , 設定された起動の要因に対して行われます。つまり , IS[4:0] で設定される周辺回路機能だけがクリアされます。 ● 割込みクリアの発生タイミング 割込みクリアの発生タイミングは転送モードによって異なります。(「11.4 DMA コン トローラ (DMAC) の動作フロー」を参照してください。) ● ブロック / ステップ転送 ブロック転送が選択された場合 , クリア信号は , 1 ブロック ( ステップ ) のデータが転 送されるごとに発生します。 ● バースト転送 バースト転送が選択された場合 , クリア信号は , 指定転送カウントのデータ転送がすべ て終了したら発生します。 ● デマンド転送 デマンド転送では外部端子からの起動要求だけがサポートされるので , クリア信号は 発生しません。 ■ DMA 転送の一時停止 DMA 転送は , 以下に示す場合に一時停止します。 • 制御レジスタにデータを書き込むことによる一時停止設定 ( 全チャネル同時設定のみ可能 ) 一時停止ビットによって一時停止を設定すると , 対応するチャネルは一時停止解除 が設定されるまでデータ転送を停止します。一時停止の確認には DSS ビットを使用 してください。一時停止を解除すると , チャネルはデータ転送を再開します。 • NMI, またはホールド抑止レベル割込みの処理中 NMI 要求 , またはホールド抑止レベルより高いレベルの割込み要求が発生した場合 , データを転送している全チャネルが , 転送単位の切れ目で一時停止します。次に チャネルはバス使用権を開放し , NMI, またはホールド抑止レベル割込みの処理を 優先します。チャネルは , NMI, または割込みの処理中に受け付けた転送要求をその まま保持し , NMI 処理が終了するのを待ちます。要求を保持しているチャネルが データ転送を再開するのは , NMI, またはホールド抑止レベルの割込み処理が完了 してからです。 342 第 11 章 DMA コントローラ (DMAC) ■ 動作終了 / 停止 DMA 転送の終了はチャネルごとに個別に制御されますが , 全チャネルの動作を禁止す ることも可能です。 ● 転送終了 リロードが有効でない場合 , 転送カウントレジスタがゼロになると , データ転送は停止 します。正常終了を示す終了コードが表示され , 以降の転送要求は無効になります (DMACA の DENB ビットをクリアします )。リロードが有効の場合 , 転送カウントレ ジスタがゼロになると , 初期値がリロードされます。正常終了を示す終了コードが表示 され , 転送要求の待ち状態に入ります (DMACA の DENB ビットをクリアしません )。 ● 全チャネルの動作禁止 DMA 動作許可ビットの DMAE によって全チャネルの動作を禁止すると , 使用中のチャ ネルを含む全チャネルの DMAC 動作が停止します。全チャネルの DMA 動作が再度許 可されても , チャネルごとに DMA 動作を再起動しない限り , データは転送されません。 この場合 , 割込みは一切発生しません。 ■ エラーによる停止 指定カウントのデータ転送中に , 正常終了以外の要因でチャネルがデータ転送を停止 する場合として , 各種エラー発生による停止 , または強制停止があります。 ● 周辺回路から出された転送停止要求 転送要求を出す周辺回路の中には , エラーを検出すると転送停止要求を出力するもの があります。( 例 : 通信系周辺回路での受信エラーや送信エラー ) DMAC は , 転送停止要求を受け付けると , 転送停止要求を示す終了コードを表示して , 対応するチャネルのデータ転送を停止します。 転送停止要求が出される条件の詳細については , 各周辺回路の仕様および IS ビットの 説明を参照してください。 ● アドレスエラーの発生 以下で示すように , 各アドレッシングモードで不正なアドレッシングが行われた場合 アドレスエラーとして検出されます。(32 ビットアドレスの指定時にアドレスカウンタ でオーバフロー , またはアンダフローが発生した場合 ) アドレスエラーが検出されると, DMACは, アドレスエラーが発生したことを示す終了 コードを表示して , 対応するチャネルのデータ転送を停止します。 ■ DMAC の割込み制御 転送要求と見なされる周辺回路割込みのほかに , 次の割込みを各 DMAC チャネルに対 して出力することが可能です。 • 転送終了割込み : データ転送が正常終了するときのみ発生します。 • エラー割込み : 周辺回路から出される転送停止要求 ( 周辺回路に起因するエラー ) アドレスエラーの発生 ( ソフトウェアに起因するエラー ) これらの割込みはすべて , 終了コードの内容に従って出力されます。 割込み要求をクリアするには , DMACS レジスタの DSS2 ∼ DSS0( 終了コード ) に "000" 343 第 11 章 DMA コントローラ (DMAC) を書き込むことにより行われます。チャネルがデータ転送を再起動する場合は , 必ず "000" を終了コードとして書き込んで , 割込み要求をクリアしてください。 リロードが有効であれば , チャネルは自動的にデータ転送を再起動します。この時点で は終了コードはクリアされず , 次のデータ転送の終了による新しい終了コードが書き 込まれるまで保持されます。 1 つの終了コードには , 終了要因を 1 種類だけ表示できます。複数の要因が同時に発生 した場合は , 優先度を調べて , より優先度の高いコードが表示されます。この際発生す る割込みは , 表示される終了コードに従います。 次のリストは , 終了コードを表示する優先順位を , 順位の高い順に並べたものです。 • リセット • "000" の書込みによる要求のクリア • 周辺回路停止要求 , または外部端子入力 (DSTP) による停止要求 • 正常終了 • アドレスエラー検出時の停止 • チャネルの選択および制御 ■ スリープ中の DMA 転送 • DMAC はスリープモードでも動作します。 • DMAC をスリープモードで動作させるときは , 次の点に注意してください。 <注意事項> • CPU は停止しているので , DMAC レジスタを書き換えることはできません。 DMAC をスリープモードで動作させる前に , あらかじめレジスタを設定しておく 必要があります。 • スリープモードは割込みによって解除されるので , DMAC の起動要因に周辺回路 割込みが選択されている場合は , 割込みコントローラで割込みを禁止する必要が あります。 スリープモードが DMAC 終了割込みによって解除されないようにするには , 割 込みを禁止してください。 ■ チャネルの選択と制御 転送チャネルの数は 5 チャネルまで同時に設定可能です。各チャネルの機能は個別に 設定できます。 ● チャネル間優先順位 DMA 転送に同時に 1 チャネルのみ可能なため , 各チャネルには優先順位が割り当てられ ます。優先順位の割当てには , 固定モードと回転モードがあります。後述するように , モードはチャネルグループごとに選択します。 ● 優先順位のモード • 固定モード チャネルの順位がチャネル番号の小さい順に固定されます。 チャネル 0 > チャネル 1 > チャネル 2 > チャネル 3 > チャネル 4 データ転送中に優先度の高い転送要求が受け付けられた場合は , 1 転送単位 ( ブロッ クサイズ指定レジスタの設定値×データサイズ ) のデータ転送が完了した時点で , 転送チャネルは優先度の高いチャネルに切り替わります。 344 第 11 章 DMA コントローラ (DMAC) 優先度の高い転送要求によるデータ転送が完了すると , 元のチャネルのデータ転送 が再起動されます。 図 11.3-4 に固定モードにおける動作タイミングチャートを示します。 図 11.3-4 固定モードにおける動作タイミングチャート チャネル0転送要求 チャネル1転送要求 SA CPU バス動作 転送チャネル DA SA ch.1 DA SA ch.0 DA SA DA CPU ch.1 ch.0 チャネル0転送終了 チャネル1転送終了 • 回転モード ( チャネル 0 とチャネル 1 の間のみ ) 動作が許可された当初 , チャネルは「固定モード」と同じ順位に設定されますが , データ転送が 1 つ終了するごとにチャネルの順位は反転します。したがって , 転送 要求が同時に出された場合 , チャネルは 1 転送単位ごとに切り替わります。このモー ドは , 連続転送 , またはバースト転送の設定時に効果のあるモードです。 図 11.3-5 に回転モードにおける動作タイミングチャートを示します。 図 11.3-5 回転モードにおける動作タイミングチャート チャネル0転送要求 チャネル1転送要求 CPU バス動作 SA 転送チャネル DA SA ch.1 DA ch.0 SA DA ch.1 SA DA CPU ch.0 チャネル0転送終了 チャネル1転送終了 ● チャネルグループ チャネル間優先順位は , 次の表に示すモードによって選択します。 モード 固定 回転 優先順位 ch.0 > ch.1 ch.0 > ch.1 ↑ ch.0 ↓ < ch.1 備考 最初 , チャネルは上段の順位に設定されます。 上段の順位でチャネルがデータを転送した後 に順位が反転します。 ■ 外部端子 , および内部動作のタイミング 外部端子および内部動作のタイミングに関する注意事項について説明します。 ● DREQ 外部端子の最小有効パルス幅 DREQ 外部端子 ( チャネル 0, 1, 2 のみ ) の最小有効パルス幅は次のとおりです。 • すべての転送モード ( バースト , ステップ , ブロック , デマンド転送など ) で DMA 345 第 11 章 DMA コントローラ (DMAC) 転送を動作させる場合 , 必要なクロックサイクルの最小幅は 5 システムクロックサ イクル (=1/2φ, CPU 系クロックの 2 周期分 ) です。 <注意事項> DACK 出力は , DREQ 入力の受付けを示しません。DMA が許可されていて , データ がまだ転送されていない場合 , DREQ 入力は常に受け付けられます。したがって , DACK 出力が有効になるまでは , DREQ 入力を保持する必要はありません ( デマン ド転送モードを除きます )。 ● デマンド転送要求の停止時における DREQ 端子入力を無効にするためのタイミングについ て [2 サイクル転送 ] デマンド転送では外部領域のアドレスが , 転送元アドレス設定レジスタ , 転送先ア ドレス設定レジスタ , またはその両方に設定されているのを確認してください。 • 外部領域間のデータ転送 DREQ の取り下げのセンスタイミングが , ライトストローブの無効のタイミングよ り1サイクル以上前になるように使用してください。そのためには , 以下のいずれ かの方法があります。 (1) 外部 I/O あるいは , 外部グルーロジック側での調整により ,DREQ の取り下げタ イミングを 1 以上前にする。 (2) FR が内蔵する外部バス制御部のオートウェイト機能を使用して , ウェイトを現 在の設定より 1 サイクル以上大きく設定する。 これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。 346 第 11 章 DMA コントローラ (DMAC) • 外部領域から内部領域間へのデータ転送 最後の DMA 転送の転送元アクセス時の外部 RDX 端子出力が "L" 区間の間に無効に してください (DACK=L & RDX=L の区間 )。これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。 図 11.3-6 に外部領域から内部領域への 2 サイクル転送でデータが転送される場合の DREQ 外部端子の無効タイミング例を示します。 図 11.3-6 DREQ 外部端子の無効タイミング例 外部バスクロック CS0 CS1 AS RD WRn DREQn DACKn 矢印の範囲内で無効にしてください。○より遅いタイミングで無効にした場合 , 1 回分多く転送する場合があります • 内部領域から外部領域間へのデータ転送 DREQ の取り下げのセンスタイミングが , ライトスローブの無効のタイミングより 1 サイクル以上前になるように使用してください。そのためには , 以下のいずれか の方法があります。 (1) 外部 I/O あるいは , 外部グルーロジック側での調整により ,DREQ の取り下げタ イミングを 1 以上前にする。 (2)FR が内蔵する外部バス制御部のオートウェイト機能を使用して , ウェイトを現 在の設定より 1 サイクル以上大きく設定する。 これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。 [ フライバイ転送 ] デマンド転送では , 必ず , 外部領域のアドレスを転送先レジスタに設定してくださ い。 • フライバイ ( 読出し端子に対するタイミング ) 最後の DMA 転送の転送元アクセス時の外部 RDX 端子出力が "L" 区間の間に無効に してください (DACK=L & RDX=L の区間 )。これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。 347 第 11 章 DMA コントローラ (DMAC) • フライバイ ( 書込み端子に対するタイミング ) 最後の DMA 転送の転送元アクセス時の外部 WRX 端子出力が "L" 区間の間に無効 にしてください (DACK=L & RDX=L の区間 )。これより後に DREQ を無効にすると , 次の転送まで行う可能性があります。 図 11.3-7 に , データがフライバイ転送 ( 書込み ) される場合の DREQ 外部端子の無 効タイミング例を示します。 図 11.3-7 DREQ 外部端子の無効タイミング例 外部バスクロック CS0 CS1 AS RD WRn DREQn DACKn IORD 矢印の範囲内で無効にしてください。○より遅いタイミングで無効にした場合 , 1 回分多く転送する場合があります • 同一チャネルで引き続きデータを転送するための DREQ 外部端子入力のタイミング ( バースト , ステップ , ブロック , デマンド転送モードでのデータ転送 ) DREQ 端子入力による同一チャネルでの連続データ転送の動作は保証できません。 転送終了時に内部保持された要求をクリアするために DREQ が最速のタイミングで 再度有効にされた場合でも , 1 システムクロックサイクル (CLK 出力の 1 サイクル ) の 間は他チャネルからの転送要求の検出が有効です。したがって , 他チャネルの優先度 が高ければ , そのチャネルのデータ転送が起動されます。 上記動作以前に DREQ が有効にされた場合でも , データ転送がまだ終了していない ため , そのアサートは無視されます。転送要求が他チャネルから出力されない場合 は , DACK 端子出力が有効にされたときに DREQ を再度有効にすることにより同一 チャネルでのデータ転送が再起動されます。 ● DACK 端子出力のタイミング • FR50 の DMAC の DACK 出力は , 受け付けられた転送要求に対するデータ転送が行 われていることを示します。 • DACK出力は基本的に, 外部バスアクセスタイミングのアドレス出力に同期します。 DACK 出力を使用する場合は , ポートレジスタで有効にする必要があります。 348 第 11 章 DMA コントローラ (DMAC) ● DEOP 端子出力のタイミング • FR50 の DMAC の DEOP 出力は , 受け付けられたチャネルの DMA 転送が指定転送 回数分終了したことを示すものです。 • DEOP は , 転送される最終ブロックに対する外部領域のアクセスが開始されたとき に出力されます。したがって , ブロックサイズに "1" 以外の値が設定されている場 合 ( ブロック転送モード ), 最終ブロックの最終データが転送されたときに DEOP が 出力されます。この場合 , データ転送が続いている間 (DEOP が出力される前 ) でも , DACK 端子出力がアサートされれば , 次の DREQ の受付けが開始されます。 • DEOP 出力は , 外部バスアクセスタイミングに従う RDX, および WRX に同期しま す。ただし , 転送元 , または転送先が内部アクセスされている場合 , DEOP は出力さ れません。DEOP 出力を使用する場合は , ポートレジスタで DEOP 出力を有効にす る必要があります。 349 第 11 章 DMA コントローラ (DMAC) ● DSTP 外部端子のタイミング • すべての転送モード ( バースト , ステップ , ブロック , デマンド転送など ) で DMA 転送を動作させる場合 , 必要なクロックサイクルの最小幅は 5 システムクロックサ イクル (=1/2θ, CPU のクロックの 2 周期分 ) です。 • DSTP 入力タイミングを使用する場合は , DREQ の場合と同様に , 外部アクセスに同 期させてください (DACK 出力と RDX, または WRX との間でデコードした信号を使 用してください )。 • DMA データ転送を強制停止する場合に使用します。この端子の使用でデータ転送 を強制的に停止できますが , 状態レジスタ (DMACB の DSS[2:0]) が転送停止要求を 示し , エラーとして扱われます。割込みが許可されていれば割込みが発生します。 • この機能は DEOP 端子と兼用になっているので , 両方の機能を同時に使用すること はできません。機能を切り換えるにはポートレジスタで設定してください。 ● データ転送中に外部端子転送要求が再入力される場合 • バースト , ステップ , ブロック転送モードのデータ転送 - 次の転送要求は , DACK 信号が DMAC でアサートされる前に入力されたとしても 有効にはなりません。ただし , 外部バス制御ユニットと DMAC の動作が完全には 同期していないため , DACK 出力 , および DEOP 出力で , DREQ 外部端子入力を 作成する回路を初期化して , DREQ 入力による転送要求を有効にする必要があり ます。 • デマンド転送モードのデータ転送 - 転送カウント分のデータ転送が終了した際に転送カウントレジスタのリロード が指定されていると , 転送要求は再度受け付けられます。 ● ブロック転送中に他の転送要求が出された場合 指定ブロックの転送が完了するまで , 他の転送要求は検出されません。ブロックの境界 にて , その時点で受け付けられている転送要求を評価し , 最も優先度の高いチャネルで データを転送します。 ● 外部 I/O デバイスと外部メモリ間のデータ転送 DMAC は , 転送では外部 I/O と外部メモリを区別しません。外部 I/O は固定の外部アド レスとして設定してください。 フライバイモードでデータを転送する場合は , 外部メモリのアドレスを転送先アドレ スレジスタに設定してください。また外部 I/O に対しては , DACK 出力と RDX, または WRX の間でデコードされた信号を使用してください。 ● DMAC の AC 特性 DREQ 外部端子 , DACK 端子出力 , DEOP 端子出力は , DMAC に関連する外部端子です。 これらの出力タイミングは , 外部バスアクセスに同期します。 350 第 11 章 DMA コントローラ (DMAC) 11.4 DMA コントローラ (DMAC) の動作フロー ブロック転送 , バースト転送およびデマンド転送の動作フローを説明します。 ■ ブロック転送 ブロック転送は , 以下の機能をもっています。 • すべての起動の要因で起動可能です ( 選択 )。 • すべての領域にアクセスできます。 • ブロック数が設定可能です。 • 指定ブロック数の転送の終了時に割込みクリアを出します。 • 指定カウントの転送の終了時に DMA 割込みを出します。 図 11.4-1 にブロック転送の動作フローを示します。 図 11.4-1 ブロック転送の動作フロー DENB=>0 DMA停止 DENB=1 起動要求を待つ リロード許可 起動要求 アドレス, 転送カウント, ブロック数の初期値をロード 転送元アドレスアクセス アドレス計算 フライバイでは 1 ア ク セ ス 転送先アドレスアクセス アドレス計算 Address calculation ブロック数 -1 BLK=0 転送カウント -1 周辺回路割込み起動の要因選択時のみ アドレス, 転送カウント, ブロック数のライトバック 割込みクリア DTC=0 DMA 転送の終了 割込みクリア DMA 割込み発生 351 第 11 章 DMA コントローラ (DMAC) ■ バースト転送 バースト転送は , 以下の機能をもっています。 • すべての起動の要因で起動可能です ( 選択 )。 • すべての領域にアクセスできます。 • ブロック数が設定可能です。 • 指定カウントの転送の終了時に割込みをクリアして , DMA 割込みを出します。 図 11.4-2 にバースト転送の動作フローを示します。 図 11.4-2 バースト転送の動作フロー DMA 停止 DENB=>0 DENB=1 起動要求を待つ リロード許可 アドレス,転送カウント, ブロック数の初期値をロード 転送元アドレスアクセス アドレス計算 フライバイでは 1 アクセス 転送先アドレスアクセス アドレス計算 ブロック数 -1 BLK=0 転送カウント -1 DTC=0 アドレス,転送カウント, ブロック数のライトバック 周辺回路割込み起動の要因選択時のみ Only when peripheralinterrupt startcause isselected 割込みクリア DMA 転送の終了 352 割込みクリア発生 DMA 割込み発生 第 11 章 DMA コントローラ (DMAC) ■ デマンド転送 • デマンド転送は , 以下の機能をもっています。 • 外部端子 (DREQ) からの要求 ( レベル検出 ) のみを受け付けます。ほかの要因によ る起動は許可されません。 • 外部領域のアクセスが必須条件です ( 外部領域のアクセスが次の起動の要因になる ため )。 • ブロック数は , 設定にかかわらず常に "1" です。 • 指定カウントの転送の終了時に割込みをクリアして , DMA 割込みを出します。 図 11.4-3 にデマンド転送の動作フローを示します。 図 11.4-3 デマンド転送の動作フロー DMA 停止 DENB=>0 なし リロード許可 DENB=1 起動要求 を待つ 起動要求 アドレス , 転送カウント, ブロック数の初期値をロード 転送元アドレスアクセス アドレス計算 フライバイでは 1 アクセス 転送先アドレスアクセス アドレス計算 転送カウント-1 アドレス, 転送カウント, ブロック数のライトバック DTC=0 割込みクリア DMA 転送の終了 周辺回路割込み起動の要因選択時のみ 割込みクリア発生 DMA 割込み発生 353 第 11 章 DMA コントローラ (DMAC) 11.5 データバスの転送例 データバスにおける , 2 サイクル転送およびフライバイ転送のデータ転送例を示しま す。 ■ 2 サイクル転送のデータフロー 以下の図で転送例を 6 つ示します。ほかの組合せは省略します。 外部領域→外部領域の転送 D-bus X-bus データバッファ F-bus RAM ROMまたはRAM I/O I-bus バス コントローラ D-bus X-bus データバッファ F-bus RAM ROMまたはRAM I/O SDRAM I/F バス コントローラ C PU C PU I-bus DMAC ライトサイクル SDRAM I/F リードサイクル MB91xxx 外部バスインタフェース DMAC 外部バスインタフェース MB91xxx 外部領域→内部R A M 領域の転送 D-bus X-bus データバッファ F-bus RAM ROMまたは RAM ROM orRAM I/O I-bus X-bus バス コントローラ D-bus データバッファ F-bus RAM ROMまたはRAM I/O SDRAM I/F バス Bus コントローラ controller SDRAM I/F C PU I-bus DMAC ライトサイクル C PU リードサイクル MB91xxx 外部バスインタフェース DMAC 外部バスインタフェース MB91xxx 外部領域→内部 I/O 領域の転送 D-bus X-bus データバッファ F-bus RAM 354 ROMまたはRAM I/O I-bus D-bus X-bus バス コントローラ データバッファ F-bus RAM ROMまたはRAM I/O SDRAM I/F バス コントローラ DMAC ライトサイクル C PU C PU I-bus SDRAM I/F リードサイクル MB91xxx 外部バスインタフェース DMAC 外部バスインタフェース MB91xxx 第 11 章 DMA コントローラ (DMAC) 外部領域→SDRAM領域の転送 D-bus X-bus データバッファ F-bus RAM ROMまたはRAM I/O I-bus X-bus バス コントローラ D-bus データバッファ F-bus RAM ROMまたはRAM I/O SDRAM I/F バス コントローラ S DRA M I/ F C PU I-bus DMAC 書込みサイクル C PU 読出しサイクル MB91xxx 外部バスインタフェース DMAC 外部バスインタフェース MB91xxx X-bus データバッファ F-bus RAM ROMまたはRAM ROM orRAM I/O I-bus D-bus X-bus バス Bus コントローラ controller データバッファ Data buffe F-bus RAM ROMまたはRAM ROM orRAM I/O SDRAM I/F D-bus バス コントローラ SDRAM I/F C PU I-bus DMAC 書込みサイクル C PU 読出しサイクル MB91xxx 外部バスインタフェース DMAC 外部バスインタフェース MB91xxx Externalbus interface 内部領域→外部領域の転送 データバッファ Data buffe F-bus RAM ROM orRAM ROMまたはRAM I/O I-bus Bus バス controller コントローラ D-bus X-bus データバッファ Data buffe F-bus RAM ROM orRAM ROMまたはRAM I/O Externalbus interface D-bus X-bus SDRAM I/F Bus バス コントローラ controller DMAC 書込みサイクル C PU C PU I-bus SDRAM I/F 読出しサイクル MB91xxx 外部バスインタフェース DMAC 外部バスインタフェース MB91xxx Externalbus interface 内部 RAM領域→内部I/O領域の転送 355 第 11 章 DMA コントローラ (DMAC) ■ フライバイ転送のデータフロー 以下の図で転送例を 2 つ示します。 フライバイ転送(メモリからI/Oへ) D-bus データバッファ F-bus RAM R O M または RAM ROM orRAM I/O me mo ry X-bus でメモリを読み出す RDX CSxxwith Readsおよび memory RDX and DACK Writes to I/ODACK with RDX and DACK RDX および でメモリに書き込む I/O C PU バス コントローラ メモリ I-bus SDRAM I/F DMAC リードサイクル 外部バスインタフェース MB91xxx Fly-bytransfer with SDRAM isdisabled. SDRAM を使用するフライバイ転送は禁止です。 フライバイ転送 (I/O からメモリへ) データバッファ F-bus RAM RAM R O M または ROM orRAM I/O me mo ry WRX CSxX with および でメモリに書き込む Writes to memory WRX and CSxX Readsおよび I/O with WRX でand WRX DACK I/ODACK を読み出す I/O D-bus X-bus バス コントローラ SDRAM I/F C PU I-bus メモリ DMAC リードサイクル 外部バスインタフェース MB91xxx Fly-by SDRAMtransfer with SDRAM isdisabled. を使用するフライバイ転送は禁止です。 フライバイ転送では上記の信号のほかに IOWX(A26), および IORX(A25) が使用できで す。メモリから I/O への転送では IOWX は RDX と同じであり , I/O からメモリへの転 送では IORX は WRX と同じです。 356 第 11 章 DMA コントローラ (DMAC) 11.6 外部 DMA 信号 外部 DMA 転送および DMA 制御信号について説明します。 外部 DMA 転送は , 送信アドレスと送信データ用に外部バスインタフェースを使用しま す。これらの信号の説明については関連する章を参照ください。バスインタフェース 信号に加え , 以下に示す DMA 制御信号が使われます。 表 11.6-1 DMA 制御信号 信号 機能 CLKT の関連エッジ 入出力 備考 DREQ 外部 DMA 処理要求 立上りエッジ 入力 DACK 外部 DMA 処理正常 立上りエッジ 出力 DEOP 外部 DMA 処理終了 立下りエッジ 出力 * DSTP 外部 DMA 処理停止 立上りエッジ 入力 * *: DEOP および DSTP は同じ端子を共有しています。要求する機能は , 必ず PFR を介 して定義してください。 357 第 11 章 DMA コントローラ (DMAC) 11.7 DMA 転送例 2 サイクル転送 , フライバイ転送およびデマンド転送の DMA 転送例として 6 例を示 します。 ■ DMA ブロック 2 サイクル転送 ( バイト ) 読出し CPU 書込み 読出し 書込み 読出し 書込み 読出し 書込み A[31:0] An Ax Am An+1 Am+1 An+2 Am+2 An+3 Am+3 D[31:24] D0 Dx D0 X D[23:16] X Dx D1 D[15:8] X Dx X D2 D[7:0] X Dx X X 3 4 CPU CPU CPU CPU 12 13 CLK AS D1 X X X X D2 X D3 D3 10 11 RDX WRX[3] WRX[2] WRX[1] WRX[0] CSmX DREQ DACK DEOP 1 2 5 6 7 8 9 1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す るためにアクティブになります。 2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。 3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 バイト (D0) が DMA ソースアドレス (An) から読み込まれます (RDX=0)。 4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。 5 区 : 第 1 バイト (D0) が DMA ディスティネーションアドレス (Am) に書き込まれま す (WRX[0]=0)。 6 区 : 第 2 バイト (D1) が DMA ソースアドレス (An+1) から読み込まれます (RDX=0)。 7 区 : 第 2 バイト (D1) が DMA ディスティネーションアドレス (Am+1) に書き込まれ ます (WRX[1]=0)。 8 区 : 第 3 バイト (D2) が DMA ソースアドレス (An+2) から読み込まれます (RDX=0)。 9 区 : 第 3 バイト (D2) が DMA ディスティネーションアドレス (Am+2) に書き込まれ ます (WRX[2]=0)。 10 区 :第 4 バイト (D3) が DMA ソースアドレス (An+3) から読み込まれます (RDX=0)。 これは , 最後の DMA リードアクセスです (DEOP=0)。 11 区 :第 4 バイト (D3) が DMA ディスティネーションアドレス (Am+3) に書き込まれ ます (WRX[3]=0)。これは , 最後の DMA ライトアクセスです (DEOP=0)。 12 区 :DMA 転送が終了します。バス動作は , CPU アクセスです (DACK=1)。 358 第 11 章 DMA コントローラ (DMAC) ■ DMA バースト 2 サイクル転送 ( ハーフワード ) 読出し CPU 書込み 読出し 書込み 読出し 書込み 読出し 書込み An Ax Am An+2 Am+2 An+4 Am+4 An+6 Am+6 D[31:24] D00 Dx D00 X D10 D10 X D[23:16] D01 Dx D01 X D11 D11 X D[15:8] X Dx D02 D02 X D12 D12 D[7:0] X Dx D03 D03 X D13 D13 3 4 6 7 8 10 11 CPU CPU CPU CPU 12 13 CLK AS A[31:0] RDX WRX[3] WRX[2] WRX[1] WRX[0] CSmX DREQ DACK DEOP 1 2 5 9 1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す るためにアクティブになります。 2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。 3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 ハーフワード (D00, D01) が DMA ソースアドレス (An) から読み込まれます (RDX=0)。 4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。 5 区 : 第 1 ハーフワード (D00, D01) が DMA ディスティネーションアドレス (Am) に 書き込まれます (WRX[1:0]=00)。 6 区 : 第 2 ハーフワード (D02, D03) が DMA ソースアドレス (An+2) から読み込まれま す (RDX=0)。 7 区 : 第 2 ハーフワード (D02, D03) が DMA ディスティネーションアドレス (Am+2) に書き込まれます (WRX[3:2]=00)。 8 区 : 第 3 ハーフワード (D10, D11) が DMA ソースアドレス (An+4) から読み込まれま す (RDX=0)。 9 区 : 第 3 ハーフワード (D10, D11) が DMA ディスティネーションアドレス (Am+4) に書き込まれます (WRX[1:0]=00)。 10 区 :第 4 ハーフワード (D12, D13) が DMA ソースアドレス (An+6) から読み込まれま す (RDX=0)。これは , 最後の DMA リードアクセスです (DEOP=0)。 11 区 :第 4 ハーフワード (D12, D13) が DMA ディスティネーションアドレス (Am+6) に書き込まれます (WRX[3:2]=00)。これは , 最後の DMA ライトアクセスです (DEOP=0)。 12 区 :DMA 転送が終了します。バス動作は , CPU アクセスです (DACK=1)。 359 第 11 章 DMA コントローラ (DMAC) ■ DMA バースト 2 サイクル転送 ( ワード ) 読出し CPU 書込み 読出し 書込み 読出し 書込み 読出し 書込み A[31:0] An Ax Am An+4 Am+4 An+8 Am+8 An+B Am+B D[31:24] D00 Dx D00 D10 D10 D20 D20 D30 D30 D[23:16] D01 Dx D01 D11 D11 D21 D21 D31 D31 D[15:8] D02 Dx D02 D12 D12 D22 D22 D32 D32 D[7:0] D03 Dx D03 D13 D13 D23 D23 D33 D33 3 4 5 6 7 8 9 10 11 CPU CPU CPU CPU 12 13 CLK AS RDX WRX[3] WRX[2] WRX[1] WRX[0] CSmX DREQ DACK DEOP 1 2 1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す るためにアクティブになります。 2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。 3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 ワード (D00, D01, D02, D03) が DMA ソースアドレス (An) から読み込まれます (RDX=0)。 4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。 5 区 : 第 1 ワード (D00, D01, D02, D03) が DMA ディスティネーションアドレス (Am) に書き込まれます (WRX[3:0]=0000)。 6 区 : 第 2 ワード (D10, D11, D12, D13) が DMA ソースアドレス (An+4) から読み込ま れます (RDX=0)。 7 区 : 第 2 ワード (D10, D11, D12, D13) が DMA ディスティネーションアドレス (Am+4) に書き込まれます (WRX[3:0]=0000)。 8 区 : 第 3 ワード (D20, D21, D22, D23) が DMA ソースアドレス (An+8) から読み込ま れます (RDX=0)。 9 区 : 第 3 ワード (D20, D21, D22, D23) が DMA ディスティネーションアドレス (Am+8) に書き込まれます (WRX[3:0]=0000)。 10 区 :第 4 ワード (D30, D31, D32, D33) が DMA ソースアドレス (An+B) から読み込ま れます (RDX=0)。これは , 最後の DMA リードアクセスです (DEOP=0)。 11 区 :第 4 ワード (D30, D31, D32, D33) が DMA ディスティネーションアドレス (Am+B) に書き込まれます (WRX[3:0]=0000)。これは , 最後の DMA ライトアク セスです (DEOP=0)。 12 区 :DMA 転送が終了します。バス動作は , CPU アクセスです (DACK=1)。 360 第 11 章 DMA コントローラ (DMAC) ■ DMA フライバイ転送 ( バイト )[ メモリから I/O へ ] 読出し CPU 読出し 読出し 読出し 読出し 読出し 読出し 読出し An Ax An+1 An+2 An+3 An+4 An+5 An+6 An+7 D[31:24] External Dx External D[23:16] External Dx External D[15:8] External Dx External D[7:0] External Dx External 3 4 5 6 7 8 9 10 11 CPU CPU CPU CPU 12 13 CLK AS A[31:0] RDX WRX[3] WRX[2] WRX[1] WRX[0] CSmX DREQ DACK DEOP 1 2 1 区 : バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始す るためにアクティブになります。 2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。 3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 バイトが DMA ソー スアドレス (An) から読み込まれます (RDX=0)。データバスは , 外部に割り当て られます。 4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。 5 区 : 3 区と同じです。 6 区∼ 10 区 : バス動作は , DMA アクセスです (DACK=0)。 11 区 :これは , 最後の DMA リードアクセスです (DEOP=0)。 361 第 11 章 DMA コントローラ (DMAC) ■ DMA フライバイ転送 ( バイト ) [I/O からメモリへ ] 書込み 書込み 書込み 書込み 書込み 書込み 書込み 書込み 書込み An Ax An+1 An+2 An+3 An+4 An+5 An+6 An+7 D[31:24] External Dx External D[23:16] External Dx External D[15:8] External Dx External D[7:0] External Dx External 3 4 5 6 7 8 9 10 11 CPU CPU CPU CPU 12 13 CLK AS A[31:0] RDX WRX[3] WRX[2] WRX[1] WRX[0] CSmX DREQ DACK DEOP 1 2 1 区 : 7 バス動作は , CPU アクセスです (DACK=1)。外部 DREQ は DMA 転送を開始 するためにアクティブになります。 2 区 : バス動作は , まだ CPU アクセスです (DACK=1)。 3 区 : バス動作は , DMA アクセスに変わります (DACK=0)。第 1 バイトが DMA ディ スティネーションアドレス (An) に書き込まれます (WRX[0]=0)。データバスは , 外部に割り当てられます。 4 区 : DMA 転送が CPU のライトアクセス (DACK=1) によって割り込まれます。 5 区 : 3 区と同じです。 6 区∼ 10 区 : バス動作は , DMA アクセスです (DACK=0)。 11 区 :これは , 最後の DMA ライトアクセスです (DEOP=0)。 362 第 11 章 DMA コントローラ (DMAC) ■ DMA デマンド転送 ( ワード ) CPU CPU DMA DMA CPU CPU CPU DMA DMA DMA DMA CPU A[31:0] A0 A1 Ax Ax A3 A4 A5 A6 A7 Ax D[31:24] D00 D10 Dx Dx D30 D40 D50 D60 D70 Dx D[23:16] D01 D11 Dx Dx D31 D41 D51 D61 D71 Dx D[15:8] D02 D12 Dx Dx D32 D42 D52 D62 D72 Dx D[7:0] D03 D13 Dx Dx D33 D43 D53 D63 D73 Dx 3 4 5 6 7 8 9 10 11 12 CPU CLK AS RDX WRX[3] WRX[2] WRX[1] WRX[0] CSmX DREQ DACK DEOP 1 2 13 1 区 : バス動作は , CPU アクセスです。外部 DREQ は DMA 転送を開始するためにア クティブになります。 2 区 : バス動作は , まだ CPU アクセスです。 3 区 : バス動作は , DMA アクセスに変わります。これは , DACK の 1 への変動により ます。第 1 DMA アドレス (A0) とデータ (D0) が読み込まれます (RDX=0)。 4 区 : 第 2 DMA アドレス (A1) とデータ (D1) が読み込まれます。DMA 転送は , 外部 DREQ の 0 への変動によって割り込まれます。 5 区 : バス動作は , CPU アクセスです (DACK=1)。 6 区 : 外部 DREQ は , DMA 転送を継続するために再びアクティブになります。 7 区 : 2 区と同じです。 8 区 : 3 区と同じです。 9 区 : DMA 転送します。 10 区 :DMA 転送します。 11 区 :最後の DMA 転送です。これは , DEOP の 0 への変動によります。 12 区 :DMA 転送が終了します。DREQ は , DACK と連動するように非アクティブにな ります。バス動作は , CPU アクセスです。 363 第 11 章 DMA コントローラ (DMAC) 364 第 12 章 OS サポートモジュール 遅延割込みとビットサーチモジュールの概要を示 し , レジスタの構成と機能 , 動作 , およびビット サーチモジュールの退避復帰処理について説明し ます。 12.1 遅延割込み 12.2 ビットサーチモジュール 365 第 12 章 OS サポートモジュール 12.1 遅延割込み 遅延割込みに使用する制御レジスタについて説明します。 ■ 遅延割込み制御レジスタ (DICR) 遅延割込み制御レジスタ (DICR) は , 遅延割込みを発生するレジスタで , タスク切換え 割込みの発生に使用します。 ● 遅延割込み制御レジスタ (DICR) のビット構成 図 12.1-1 に遅延割込み制御レジスタのビット構成を示します。 図 12.1-1 遅延割込み制御レジスタのビット構成 アドレス bit7 6 5 4 3 2 1 0 初期値 00000044H − − − − − − − DLYI -------0B R/W アクセス→ ● 遅延割込み制御レジスタ (DICR) のビットの機能 以下に , 遅延割込み制御レジスタ (DICR) の各ビットの機能を説明します。 [bit0] DLYI このビットは , 遅延割込みの発生 , および解除を制御します。 DLYI 説明 0 遅延割込みを解除します ( 要求なし )。( 初期値 ) 1 遅延割込みを発生します。 ● 動作 遅延割込みは , タスク切換え用の割込みを発生するためのものです。ソフトウェアで遅 延割込み機能を使用して , CPU への割込み要求の発生 , または取消しを行うことができ ます。 • 割込み番号 : 遅延割込みは , 最大の割込み番号を持つ割込み要因に割り当てられま す。MB91360 シリーズでは , 割込み番号 63(3FH) を遅延割込みに割り 当てています。 • DICR レジスタの DLYI ビットを "1" に設定すると , 遅延割込みが発生します。この ビットを "0" に設定すると , 遅延割込みが取り消されます。このビットは , 一般の割 込みにおける割込み要因フラグと同じ機能を持ちます。割込みルーチンでは , この ビットをクリアして , タスク切換えを指定してください。 366 第 12 章 OS サポートモジュール 12.2 ビットサーチモジュール ビットサーチモジュールは , 入力レジスタに書き込まれたデータの "0", "1", または 変化点を検索し , 検出したビットの位置を返します。 ここでは , レジスタの構成とブロックダイヤグラムを示します。 ■ ビットサーチモジュールのレジスタ構成 図 12.2-1 にビットサーチモジュールのレジスタ構成を示します。 図 12.2-1 ビットサーチモジュールのレジスタ構成 レジスタ名 名称 アドレス 0 検出用データレジスタ(BSD0) BSD0 0000 03F0H 1 検出用データレジスタ (BSD1) BSD1 0000 03F4H 変化点検出用データレジスタ (BSDC) BSDC 0000 03F8H 検出結果レジスタ (BSRR) BSRR 0000 03FCH bit31 bit0 ■ ビットサーチモジュールのブロックダイヤグラム 図 12.2-2 にビットサーチモジュールのブロックダイヤグラムを示します。 図 12.2-2 ビットサーチモジュールのブロックダイヤグラム 入力ラッチ D-バス アドレスデコーダ 検出モード 1検出データ化 ビットサーチ回路 検索結果 367 第 12 章 OS サポートモジュール 12.2.1 ビットサーチモジュールのレジスタ 本項では , 0 検出用データレジスタ (BSD0), 1 検出用データレジスタ (BSD1), 変化点 検出用データレジスタ (BSDC), および検出結果レジスタ (BSRR) について説明しま す。 ■ 0 検出用データレジスタ (BSD0) 図 12.2-3 に 0 検出用データレジスタ (BSD0) の構成を示します。 図 12.2-3 0 検出用データレジスタ (BSD0) の構成 アドレス bit31 レジスタ構成 0 0000 03F0H 初期値 アクセス 不定 W レジスタに書き込まれた値の 0 検出に使用します。 リセット後の初期値は不定です。 読出し値は不定です。 レジスタにデータを転送する場合は , 32 ビット長のデータ転送命令だけを使用してく ださい。8 ビット長 , および 16 ビット長のデータ転送命令は使用しないでください。 ■ 1 検出用データレジスタ (BSD1) 図 12.2-4 に 1 検出用データレジスタ (BSD1) の構成を示します。 図 12.2-4 1 検出用データレジスタ (BSD1) の構成 アドレス bit31 レジスタ構成 0000 03F4H 0 初期値 アクセス 不定 R/W レジスタにデータを転送する場合は , 32 ビット長のデータ転送命令だけを使用してく ださい。8 ビット長 , および 16 ビット長のデータ転送命令は使用しないでください。 ● 書込み レジスタに書き込まれた値から "1" を検出します。 ● 読出し ビットサーチモジュールの内部状態の退避用データが読み出されます。 割込みハンドラなどがビットサーチモジュールを使用する場合に , 元の状態を退避復 帰する時に使用します。0 検出や変化点検出 , データレジスタへデータを書き込んだ場 合でも , このレジスタのみ操作することで退避復帰できます。 リセット後の初期値は不定です。 368 第 12 章 OS サポートモジュール ■ 変化点検出用データレジスタ (BSDC) 図 12.2-5 に変化点検出用データレジスタ (BSDC) の構成を示します。 図 12.2-5 変化点検出用データレジスタ (BSDC) の構成 アドレス bit31 レジスタ構成 0 初期値 アクセス 不定 W 0000 03F8H レジスタに書き込まれた値の変化点検出に使用します。 リセット後の初期値は不定です。 読出し値は不定です。 レジスタにデータを転送する場合は , 32 ビット長のデータ転送命令だけを使用してく ださい。8 ビット長 , および 16 ビット長のデータ転送命令は使用しないでください。 ■ 検出結果レジスタ (BSRR) 図 12.2-6 に検出結果レジスタ (BSRR) の構成を示します。 図 12.2-6 検出結果レジスタ (BSRR) の構成 アドレス bit31 レジスタ構成 0000 03FCH 0 初期値 アクセス 不定 R 0 検出 , 1 検出 , または変化点検出の結果をこのレジスタから読み出すことができます。 このレジスタからどの検出結果が読み出されるかは , 最後に書き込まれたデータレジ スタによって決まります。 369 第 12 章 OS サポートモジュール 12.2.2 ビットサーチモジュールの動作と退避復帰の処理 本項では , 0 検出 , 1 検出 , および変化点検出の動作と , 退避復帰の処理について説 明します。 ■ 0 検出 ビットサーチモジュールは , "0" を検出するためにデータレジスタに書き込まれたデー タを , MSB( 最大有効ビット ) から LSB( 最小有効ビット ) までをスキャンし , 最初に検 出した "0" の位置を返します。 検出結果は , 検出結果レジスタを読み出すことによって得られます。 表 12.2-1 に , 検出された位置と返される値の関係を示します。 データに "0" が含まれていない場合 ( つまり , 値が「FFFFFFFFH」の場合 ), ビットサー チモジュールは値 "32" を返します。 [ 実行例 ] レジスタに書き込まれたデータ 11111111111111111111000000000000B 11111000010010011110000010101010B 10000000000000101010101010101010B 11111111111111111111111111111111B (FFFFF000H ) (F849E0AAH ) (8002AAAAH ) (FFFFFFFFH ) 読出し値(10進) 20 5 1 32 ■ 1 検出 ビットサーチモジュールは , "1" を検出するために , データレジスタに書き込まれた データを , MSB( 最大有効ビット ) から LSB( 最小有効ビット ) までをスキャンし , 最初 に検出した "1" の位置を返します。 検出結果は , 検出結果レジスタを読み出すことによって得られます。 表 12.2-1 に , 検出された位置と返される値の関係を示します。 データに "1" が含まれていない場合 ( つまり , 値が「0000000H」の場合 ), ビットサーチ モジュールは値 "32" を返します。 [ 実行例 ] レジスタに書き込まれたデータ 00100000000000000000000000000000B 00000001001000110100010101100111B 00000000000000111111111111111111B 00000000000000000000000000000001B 00000000000000000000000000000000B 370 (20000000H) (01234567H) (0003FFFFH) (00000001H) (00000000H) 読出し値(10進) 2 7 14 31 32 第 12 章 OS サポートモジュール ■ 変化点検出 ビットサーチモジュールは , 変化点を検出するためにデータレジスタに書き込まれた データを , ビット 30 から LSB までをスキャンし , 各ビットを MSB の値と比較します。 ビットサーチモジュールは , MSB と異なる値を最初に検出したビットの位置を返しま す。 検出結果は , 検出結果レジスタを読み出すことで得られます。 表 12.2-1 に , 検出された位置と返される値の関係を示します。 データに変化点が含まれていない場合 , ビットサーチモジュールは値 "32" を返します。 [ 実行例 ] レジスタに書き込まれたデータ 00100000000000000000000000000000B 00000001001000110100010101100111B 00000000000000111111111111111111B 00000000000000000000000000000001B 00000000000000000000000000000000B 11111111111111111111000000000000B 11111000010010011110000010101010B 10000000000000101010101010101010B 11111111111111111111111111111111B 読出し値(10進) 2 7 14 31 32 20 5 1 32 (20000000H) (01234567H) (0003FFFFH) (00000001H) (00000000H) (FFFF000H) (F849E0AAH) (8002AAAAH) (FFFFFFFFH) 表 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 − − − 371 第 12 章 OS サポートモジュール ■ 退避復帰の処理 ビットサーチモジュールを割込みハンドラで使用するときなど , ビットサーチモ ジュールの内部状態を退避復帰する必要がある場合は , 次の手順を使用します。 1. 1 検出用データレジスタを読み出し , その内容を保存します ( 退避 )。 2. ビットサーチモジュールを使用します。 3. 手順 1. で退避したデータを , 1 検出用データレジスタに書き込みます ( 復帰 )。 上記手順の結果 , 検出結果レジスタが次に読み出されるときの値は , 手順 1. の前にビッ トサーチモジュールに書き込まれた内容に応じた値になります。 最後に書き込まれたデータレジスタが , 0 検出用データレジスタ , または変化点検出用 データレジスタであっても , 上記の手順によって , モジュールを元の状態に正しく復元 させることができます。 372 第 13 章 PPG タイマ PPG タイマの概要 , レジスタ構成と機能 , PPG タ イマの動作について説明します。 13.1 PPG タイマの概要 13.2 PPG タイマのレジスタ 13.3 PPG タイマの動作 373 第 13 章 PPG タイマ 13.1 PPG タイマの概要 PPG ( プログラマブル・パルス・ジェネレータ ) タイマは , 任意の周波数とパルス幅 ( デューティ比 ) で精度の高い PWM ( パルス幅変調 ) 波形を効率良く出力すること ができます。 MB91360 シリーズには , 8 つの PPG タイマチャネルが格納されています。それぞ れのチャネルは , 16 ビットのダウンカウンタ , サイクル設定レジスタ , デューティ設 定レジスタ , 端子制御部から構成されます。 各チャネルの制御ステータスレジスタを使用して , PPG タイマの動作状態を示しま す。汎用制御レジスタ 1 と 2 は , 4 つのチャネルで共有する共通レジスタで , 入力や ソフトウェアのトリガに使用します。 ■ 機能概要 ● カウンタクロック 16 ビットダウンカウンタのクロックは , 次の 4 種類から選択できます。 内部クロック : φ, φ/4, φ/16, φ/64(φ は周辺回路用のマシンクロック ) ● カウンタ値 カウンタ値は , リセット , アンダフローで "FFFFH" に初期化することができます。16 ビットのダウンカウンタは , "0000H" から "FFFFH" に変わるとアンダフローを起こしま す。 ● PPG 出力 各チャネルは OCPA 端子に PPG 出力があります。8 チャネルに対して 8 出力端子あり ます。 ● レジスタ レジスタには , 周期設定レジスタとデューティ設定レジスタがあります。 • 周期設定レジスタ バッファ付 , リロード用データレジスタです。バッファからのデータ転送は , 起動 トリガが検出されたとき , またはダウンカウンタがアンダフローを起こした ( サイ クルの一致 ) ときに実行されます。出力は , サイクルの一致で反転します。 • デューティ設定レジスタ バッファ付コンペアレジスタです。このレジスタに設定される値は , カウンタ値と 比較されます。値が一致すると , 出力が反転します ( デューティの一致 )。 ● 端子制御 デューティの一致で , "1" にリセット ( 優先 )。 アンダフローで , "0" にリセット。 出力値固定モードがあり , オール "L", またはオール "H" を出力できます。 極性の指定も可能です。 374 第 13 章 PPG タイマ ● 割込み要求 割込み要求は , 以下の割込み要因から選択して発生することができます。 • PPG タイマ起動 ( ソフトウェアトリガ , またはトリガ入力 ) • アンダフロー発生 ( サイクルの一致 ) • デューティの一致発生 • アンダフロー発生 ( サイクルの一致 ), またはデューティの一致発生 ● 複数チャネルの同時起動 ソフトウェア , またはほかのインターバルタイマで複数チャネルの同時起動が設定で きます。また , 動作中に PPG タイマの再起動も設定できます。 ● PPG タイマブロックダイヤグラム PPG タイマ全体のブロックダイヤグラムを図 13.1-1 に , PPG タイマ (1 チャネル分 ) の ブロックダイヤグラムを図 13.1-2 に示します。 図 13.1-1 PPG タイマ全体のブロックダイヤグラム 16 ビットリロードタイマ TRG 入力 PPG タイマ ch.0 ch.0 ch.1 汎用制御 レジスタ 10 (ソース選択) 出力端子 OCPA0(PPG0) TRG 入力 PPG タイマ ch.1 OCPA1(PPG1) 汎用制御レジスタ 20 TRG 入力 PPG タイマ ch.2 OCPA2(PPG2) 禁止レジスタ 0 TRG 入力 PPG タイマ ch.3 OCPA3(PPG3) TRG 入力 PPG タイマ ch.4 OCPA4(PPG4) TRG 入力 PPG タイマ ch.5 OCPA5(PPG5) 汎用制御レジスタ 21 TRG 入力 PPG タイマ ch.6 OCPA6(PPG6) 禁止レジスタ 1 TRG 入力 PPG タイマ ch.7 OCPA7(PPG7) 16 ビットリロードタイマ ch.2 ch.3 汎用制御 レジスタ 11 (ソース選択) 375 第 13 章 PPG タイマ 図 13.1-2 PPG タイマ (1 チャネル分 ) のブロックダイヤグラム サイクル設定レジスタ デューティ設定レジスタ PCSR PDUT プリスケーラ Prescaler φ/1 cmp φ/4 クロック φ/16 ロード 16 ビットダウンカウンタ φ/64 スタート アンダフロー PPG マスク S Q PPG 出力 周辺回路クロック(φ) R 反転ビット Enable 許可 割込み 選択 TRG 入力 (内部トリガ入力 ) エッジ検出 ソフトウェアトリガ 376 IRQ(割込み要求信号 ) 第 13 章 PPG タイマ PPG タイマのレジスタ 13.2 この節では , PPG タイマのレジスタを列挙し , それらの機能の詳細について説明し ます。 ■ チャネル 0 ∼ 3 の PPG タイマのレジスタ 図 13.2-1 にチャネル 0 ∼ 3 の PPG タイマのレジスタ一覧を示します。 図 13.2-1 チャネル 0 ∼ 3 の PPG タイマのレジスタ一覧 アドレス bit15 0000 011AH 0 アクセス 8 7 0000 0118H GCN10 PDBL0 GCN20 レジスタ R/W 汎用制御 レジスタ 10 R/W 禁止 / 汎用制御レジスタ 20 PPG ch.0 0000 0120H PTMR0 R ch.0 タイマ レジスタ 0000 0122H PCSR0 W ch.0 サイクル設定レジスタ 0000 0124H PDUT0 W ch.0 デューティ設定レジスタ R/W ch.0 コントロールステータスレジスタ 0000 0126H PCNH0 PCNL0 PPG ch.1 0000 0128H PTMR1 R ch.1 タイマ レジスタ 0000 012AH PCSR1 W ch.1 サイクル設定レジスタ 0000 012CH PDUT1 W ch.1 デューティ設定レジスタ R/W ch.1 コントロールステータスレジスタ 0000 012EH PCNH1 PCNL1 PPG ch.2 0000 0130H PTMR2 R ch.2 タイマ レジスタ 0000 0132H PCSR2 W ch.2 サイクル設定レジスタ 0000 0134H PDUT2 W ch.2 デューティ設定レジスタ R/W ch.2 コントロールステータスレジスタ 0000 0136H PCNH2 PCNL2 PPG ch.3 0000 0138H PTMR3 R ch.3 タイマ レジスタ 0000 013AH PCSR3 W ch.3 サイクル設定レジスタ 0000 013CH PDUT3 W ch.3 デューティ設定レジスタ R/W ch.3 コントロールステータスレジスタ 0000 013EH PCNH3 PCNL3 377 第 13 章 PPG タイマ ■ チャネル 4 ∼ 7 の PPG タイマのレジスタ 図 13.2-2 にチャネル 4 ∼ 7 の PPG タイマのレジスタ一覧を示します。 図 13.2-2 チャネル 4 ∼ 7 の PPG タイマのレジスタ一覧 アドレス 0000 011CH 0000 011EH bit15 0 アクセス レジスタ R/W 汎用制御 レジスタ 11 8 7 GCN11 PDBL1 GCN21 R/W 禁止 / 汎用制御レジスタ 21 PPG ch.4 0000 0140H PTMR4 R ch.4 タイマ レジスタ 0000 0142H PCSR4 W ch.4 サイクル設定レジスタ 0000 0144H PDUT4 W ch.4 デューティ設定レジスタ R/W ch.4 コントロールステータスレジスタ 0000 0146H PCNH4 PCNL4 PPG ch.5 0000 0148H PTMR5 R ch.5 タイマ レジスタ 0000 014AH PCSR5 W ch.5 サイクル設定レジスタ 0000 014CH PDUT5 W ch.5 デューティ設定レジスタ R/W ch.5 コントロールステータスレジスタ 0000 014EH PCNH5 PCNL5 PPG ch.6 0000 0150H PTMR6 R ch.6 タイマ レジスタ 0000 0152H PCSR6 W ch.6 サイクル設定レジスタ 0000 0154H PDUT6 W ch.6 デューティ設定レジスタ R/W ch.6 コントロールステータスレジスタ 0000 0156H PCNH6 PCNL6 PPG ch.7 0000 0158H PTMR7 R ch.7 タイマ レジスタ 0000 015AH PCSR7 W ch.7 サイクル設定レジスタ 0000 015CH PDUT7 W ch.7 デューティ設定レジスタ R/W ch.7 コントロールステータスレジスタ 0000 015EH 378 PCNH7 PCNL7 第 13 章 PPG タイマ 13.2.1 制御ステータスレジスタ (PCNH, PCNL) PPG タイマの制御ステータスレジスタ (PCNH と PCNL) は , PPG タイマの動作を制 御し , その状態を示すレジスタです。 ■ 制御ステータスレジスタ (PCNH, PCNL) のビット構成 図 13.2-3 に制御ステータスレジスタ (PCNH, PCNL) のビット構成を示します。 図 13.2-3 制御ステータスレジスタ (PCNH, PCNL) のビット構成 PCNH アドレス bit15 14 13 12 ch.0 000126H CNTE STGR MDSE RTRG ch.1 00012EH ch.2 000136H ch.3 00013EH ch.4 000146H ch.5 00014EH ch.6 000156H ch.7 00015EH 11 CKS1 10 9 CKS0 PGMS 8 初期値 アクセス − 0000000-B R/W 0 初期値 アクセス PCNL アドレス bit7 6 ch.0 000127H EGS1 ch.1 00012FH ch.2 000137H ch.3 00013FH ch.4 000147H ch.5 00014FH ch.6 000157H ch.7 00015FH EGS0 5 IREN 4 IRQF 3 IRS1 2 IRS0 1 − OSEL 000000-0B R/W ■ PCNH/PCNL の各ビットの機能 以下に , 各ビットの機能を説明します。 [bit15] CNTE: タイマ動作の許可ビット 16 ビットダウンカウンタの動作を許可 / 停止するビットです。 0 タイマ動作を停止します。[ 初期値 ] 1 タイマ動作を許可します。 [bit14] STGR: ソフトウェアトリガビット このビットに "1" を書き込むことにより , ソフトウェアトリガがかかります。 STGR ビットの読出し値は , 常に "0" です。 379 第 13 章 PPG タイマ [bit13] MDSE: 動作モード選択ビット 連続してパルスを出力する PPG 動作か , 単一パルスを出力するワンショット動作か を選択します。 0 PPG 動作 [ 初期値 ] 1 ワンショット動作 [bit12] RTRG: 再起動の許可ビット ソフトウェアトリガ , またはトリガ入力による再起動を許可 / 禁止するビットです。 0 再起動を禁止します。[ 初期値 ] 1 再起動を許可します。 [bit11, bit10] CKS1, CKS0: カウンタクロック選択ビット 16 ビットダウンカウンタのカウントクロックを選択します。 設定値を表 13.2-1 に示します。 表 13.2-1 カウントクロックの選択 CKS1 CKS0 カウントクロックソース 0 0 φ [ 初期値 ] 0 1 φ/22 1 0 φ/24 1 1 φ/26 ( 注意事項 ) φ は周辺回路用のクロック (CLKP) [bit9] PGMS: PPG 出力マスク選択ビット このビットに "1" を書き込むと , モード設定 , サイクル設定値 , デューティ設定値に かかわらず , PPG 出力を , "L" レベル , または "H" レベルにマスクすることができま す。表 13.2-2 に極性と PPG 出力の関係を示します。 表 13.2-2 PGMS に "1" 書込み時の PPG 出力 極性 PPG 出力 通常極性 "L" レベル出力 [ 初期値 ] 反転極性 "H" レベル出力 通常極性時にオール "H", 反転極性時にオール "L" を出力したい場合は , 周期設定レ ジスタとデューティ設定レジスタを同じ値に設定します。そうすれば , 上記マスク 値の反転出力が出せます。 通常極性と反転極性については , OSEL[bit0] の説明を参照してください。 380 第 13 章 PPG タイマ [bit8] 未使用ビット [bit7, bit6] EGS1, EGS0: トリガ入力エッジ選択ビット 汎用制御レジスタ 1(GCN1) で選択した , トリガ入力ソースの有効エッジを選択しま す。どのモードを選択していても , ソフトウェアトリガビット (STGR) に "1" を書き 込むと , ソフトトリガが有効になります。 設定値を表 13.2-3 に示します。 表 13.2-3 トリガ入力エッジの選択 EGS1 EGS0 トリガ入力エッジ 0 0 無効 [ 初期値 ] 0 1 立上りエッジ 1 0 立下りエッジ 1 1 両方の ( 立上り / 立下り ) エッジ [bit5] IREN: 割込み要求許可ビット 割込み要求を許可 / 禁止します。 0 割込み要求を禁止します。[ 初期値 ] 1 割込み要求を許可します。 [bit4] IRQF: 割込み要求フラグ bit5(IREN) の割込み要求が許可されていて , bit3, bit2(IRS1, IRS0) で選択した割込み 要因が発生するとこのビットが設定され , CPU に対する割込み要求を発生します。 また , DMA 転送の起動を選択している場合は , DMA 転送が起動されます。 このビットのクリアは , "0" 書込み , または DMAC からのクリア信号で行われます。 "1" を書き込んでもビットの値は変化しません。 リードモディファイライト系命令が読み出されると , ビット値にかかわらずビット は "1" を返します。 [bit3, bit2] IRS1, IRS0: 割込み要因選択ビット bit4(IRQF) を設定する割込み要因を選択します。 表 13.2-4 割込み要因の選択 IRS1 IRS0 0 0 ソフトウェアトリガの発生 , またはトリガ入力 [ 初期値 ] 0 1 アンダフロー発生 ( サイクルの一致 ) 1 0 デューティの一致発生 1 1 アンダフロー発生 ( サイクルの一致 ), またはデューティの 一致発生 割込みソース 381 第 13 章 PPG タイマ [bit0] OSEL: PPG 出力極性選択ビット PPG 出力の極性を設定します。 bit9(PGMS) との組合せで , 表 13.2-5 のようになります。 表 13.2-5 PPG 出力極性 , およびエッジの指定 PGMS OSEL PPG 出力 0 0 通常極性 [ 初期値 ] 0 1 反転極性 1 0 "L" 出力で固定 1 1 "H" 出力で固定 極性 382 リセット後 通常極性 "L" 出力 反転極性 "H" 出力 デューティの一致 アンダフロー 第 13 章 PPG タイマ 13.2.2 PPG 周期設定レジスタ (PCSR) PPG 周期設定レジスタ (PCSR) は , 16 ビットのリロードレジスタです。任意のサイ クルでパルス信号を出力するために必要な , カウント値を設定するためのバッファ が付いています。 ■ PPG 周期設定レジスタ (PCSR) のビット構成 図 13.2-4 に PPG 周期設定レジスタ (PCSR) のビット構成を示します。 図 13.2-4 PPG 周期設定レジスタ (PCSR) のビット構成 bit15 アドレス ch.0 000122H ch.1 00012AH ch.2 000132H ch.3 00013AH ch.4 000142H ch.5 00014AH ch.6 000152H ch.7 00015AH 14 13 12 11 10 9 8 初期値 アクセス XXXXXXXXB W XXXXXXXXB W D15 D14 D13 D12 D11 D10 D09 D08 bit7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 ■ PCSR の機能 PPG 周期設定レジスタ (PCSR) は , 16 ビット値のダウンカウンタがカウントを開始する ときの , カウンタ値を設定します。カウンタの起動トリガが検出されたとき , およびカ ウンタがアンダフローを起こしたときに ("0000H" から "FFFFH" へ ), 設定値がカウンタ にロードされます。 カウントを開始した後 , ダウンカウンタが「設定値 +1」に到達すると , アンダフロー ( 周期の一致 ) を起こします。そこで , 出力パルス信号のサイクルが決まります。周期は , 「カウントクロックサイクル」に「設定値 +1」のカウント値を掛けて得られる値です。 周期設定レジスタの初期設定や更新のときは , 周期設定レジスタの書込み後 , 必ず デューティ設定レジスタへの書込みを行ってください。 このレジスタに書き込むときは , 16 ビットデータでレジスタにアクセスしてください。 383 第 13 章 PPG タイマ 13.2.3 PPG デューティ設定レジスタ (PDUT) PPG デューティ設定レジスタ (PDUT) は , バッファ付の 16 ビット比較レジスタで , 任意のパルス幅信号の出力に要求される比較値を設定します。 ■ PPG デューティ設定レジスタ (PDUT) のビット構成 図 13.2-5 に PPG デューティ設定レジスタ (PDUT) のビット構成を示します。 図 13.2-5 PPG デューティ設定レジスタ (PDUT) のビット構成 アドレス bit15 14 13 12 11 10 9 8 初期値 アクセス ch.0 000124H ch.1 00012CH ch.2 000134H ch.3 00013CH ch.4 000144H ch.5 00014CH ch.6 000154H ch.7 00015CH D15 D14 D13 D12 D11 D10 D09 D08 XXXXXXXXB W bit7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 XXXXXXXXB W ■ PDUT の機能 PPG デューティ設定レジスタ (PDUT) は , PPG 出力パルス幅を決定するカウンタ値を設 定します。この値はダウンカウンタのカウント値と比較されます。値が一致すると , PPG 出力の極性が反転します。 ダウンカウンタは , 同じ極性でカウントを継続します。 「設定値 +1」に到達するとアン ダフロー ( サイクルの一致 ) を起こし , 極性が反転してパルス幅が決まります。パルス 幅は , 「カウントクロックサイクル」に「設定値 +1」のカウント値を掛けて得られる 値です。 周期設定レジスタの値とデューティ設定レジスタの値を同じにすると , 通常極性時に オール "H" を , 反転極性時にオール "L" を出力します。 PCSR レジスタと PDUT レジスタの値は , 「PCSR>PDUT」となるように設定してくだ さい。「PCSR<PDUT」となるような設定をすると , PPG 出力は不定になります。 このレジスタに書き込むときは , 16 ビットデータでレジスタにアクセスしてください。 384 第 13 章 PPG タイマ 13.2.4 PPG タイマレジスタ (PTMR) PPG タイマレジスタ (PTMR) を使用して , 16 ビットのダウンカウンタの値を読み出 します。 ■ PPG タイマレジスタ (PTMR) のビット構成 図 13.2-6 に PPG タイマレジスタ (PTMR) のビット構成を示します。 図 13.2-6 PPG タイマレジスタ (PTMR) のビット構成 アドレス bit15 14 13 12 11 10 9 8 初期値 アクセス ch.0 000120H ch.1 000128H ch.2 000130H ch.3 000138H ch.4 000140H ch.5 000148H ch.6 000150H ch.7 000158H D15 D14 D13 D12 D11 D10 D09 D08 11111111B R bit7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 11111111B R ■ PTMR の機能 PPG タイマレジスタ (PTMR) は , ダウンカウンタの値を読み出す , 16 ビットのデータレ ジスタです。 このレジスタの値を読み出すには , 16 ビットデータでレジスタにアクセスしてくださ い。 385 第 13 章 PPG タイマ 13.2.5 汎用制御レジスタ 1(GCN10, GCN11) 汎用制御レジスタ 1(GCN10, GCN11) は , PPG タイマトリガ入力ソースを選択しま す。 各チャネルに 4 ビットが割り当てられます。 ■ 汎用制御レジスタ 1(GCN10, GCN11) のビット構成 図 13.2-7 に汎用制御レジスタ 1(GCN10, GCN11) のビット構成を示します。 図 13.2-7 汎用制御レジスタ 1(GCN10, GCN11) のビット構成 bit15 アドレス GCN10: 000118H GCN11 : 00011CH 14 13 12 11 TSEL33 ∼ TSEL30 bit7 6 5 10 9 8 TSEL23 ∼ TSEL20 4 3 TSEL13 ∼ TSEL10 2 1 初期値 アクセス 00110010B R/W 00010000B R/W 0 TSEL03 ∼ TSEL00 ■ GCN10 のビット機能 以下に , 各ビットの機能を説明します。 [bit15 ∼ bit12] TSEL33 ∼ TSEL30: ch.3 入力選択ビット これらのビットは , PPG タイマ ch.3 へのトリガ入力を選択します。 表 13.2-6 に設定値を示します。 表 13.2-6 PPG タイマ ch.3 へのトリガ入力の選択 TSEL33 ∼ TSEL30 ch.3 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 [bit11 ∼ bit8] TSEL23 ∼ TSEL20: ch.2 トリガ入力選択ビット これらのビットは , PPG タイマ ch.2 へのトリガ入力を選択します。 386 第 13 章 PPG タイマ 表 13.2-7 に設定値を示します。 表 13.2-7 PPG タイマ ch.2 へのトリガ入力の選択 TSEL23 ∼ TSEL20 ch.2 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 [bit7 ∼ bit4] TSEL13 ∼ TSEL10: ch.1 トリガ入力選択ビット これらのビットは , PPG タイマ ch.1 へのトリガ入力を選択します。 表 13.2-8 に設定値を示します。 表 13.2-8 PPG タイマ ch.1 へのトリガ入力の選択 TSEL13 ∼ TSEL10 ch.1 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 387 第 13 章 PPG タイマ [bit3 ∼ bit0] TSEL03 ∼ TSEL00: ch.0 トリガ入力選択ビット これらのビットは , PPG タイマ ch.0 へのトリガ入力を選択します。 表 13.2-9 に設定値を示します。 表 13.2-9 PPG タイマ ch.0 へのトリガ入力の選択 TSEL03 ∼ TSEL00 ch.0 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 ■ GCN11 のビット機能 以下にビットの機能を説明します。 [bit15 ∼ bit12] TSEL33 ∼ TSEL30: ch.7 入力選択ビット これらのビットは , PPG タイマ ch.7 へのトリガ入力を選択します。 表 13.2-10 に設定値を示します。 表 13.2-10 PPG タイマ ch.7 へのトリガ入力の選択 TSEL33 ∼ TSEL30 ch.7 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 [bit11 ∼ bit8] TSEL23 ∼ TSEL20: ch.6 トリガ入力選択ビット これらのビットは , PPG タイマ ch.6 へのトリガ入力を選択します。 388 第 13 章 PPG タイマ 表 13.2-11 に設定値を示します。 表 13.2-11 PPG タイマ ch.6 へのトリガ入力の選択 TSEL23 ∼ TSEL20 ch.6 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 [bit7 ∼ bit4] TSEL13 ∼ TSEL10: ch.5 トリガ入力選択ビット これらのビットは , PPG タイマ ch.5 へのトリガ入力を選択します。 表 13.2-12 に設定値を示します。 表 13.2-12 PPG タイマ ch.5 へのトリガ入力の選択 TSEL13 ∼ TSEL10 ch.5 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 389 第 13 章 PPG タイマ [bit3 ∼ bit0] TSEL03 ∼ TSEL00: ch.4 トリガ入力選択ビット これらのビットは , PPG タイマ ch.4 へのトリガ入力を選択します。 表 13.2-13 に設定値を示します。 表 13.2-13 PPG タイマ ch.4 へのトリガ入力の選択 TSEL03 ∼ TSEL00 390 ch.4 トリガ入力 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 × 設定禁止 1 0 × × 設定禁止 1 1 × × 設定禁止 第 13 章 PPG タイマ 13.2.6 禁止 / 汎用制御レジスタ 2(GCN20, GCN21) 汎用制御レジスタ 2(GCN20, GCN21) は , ソフトウェアによって , 起動トリガを発生 させるためのレジスタです。禁止レジスタ (PDBL0, PDBL1) は , 1 つ以上のタイマ とチャネルのクロックを選択的に禁止にできます。 ■ 汎用制御レジスタ 2(GCN20, GCN21) のビット構成 図 13.2-8 に汎用制御レジスタ 2(GCN20, GCN21) のビット構成を示します。 図 13.2-8 汎用制御レジスタ 2(GCN20, GCN21) のビット構成 bit7 アドレス GCN20 : 0000011BH GCN21 : 0000011FH − 6 − 5 − 4 − 3 EN3 2 EN2 1 EN1 0 初期値 アクセス EN0 ----0000B R/W ● GCN20 のビット機能 このレジスタの EN3 から EN0 までのビットは , 汎用制御レジスタ 1(GCN10) によって 選択され , レジスタの値は PPG タイマトリガ入力にそのまま渡されます。 制御ステータスレジスタ 0 ∼ 3 (PCNL0 ∼ PCNL3) の bit7, bit6(EGS1, EGS0) で選択した エッジをソフトウェアで発生させることにより , 複数チャネルの PPG タイマを同時に 起動することができます。 このレジスタの bit7 ∼ bit4 には , 必ず "0" を書き込んでください。 ● GCN21 のビット機能 このレジスタの EN0 から EN3 までのビットは , 汎用制御レジスタ 1(GCN11) によって 選択され , レジスタの値は PPG タイマトリガ入力にそのまま渡されます。 制御ステータスレジスタ 4 ∼ 7 (PCNL4 ∼ PCNL7) の bit7, bit6(EGS1, EGS0) で選択した エッジをソフトウェアで発生させることにより , 複数チャネルの PPG タイマを同時に 起動することができます。 このレジスタの bit7 ∼ bit4 には , 必ず "0" を書き込んでください。 ■ 禁止レジスタ (PDBL0, PDBL1) のビット構成 図 13.2-9 に禁止レジスタ (PDBL0, PDBL1) のビット構成を示します。 図 13.2-9 禁止レジスタ (PDBL0, PDBL1) のビット構成 アドレス bit15 14 13 12 11 10 9 8 初期値 アクセス PDBL0 : 0000 011AH − − − − DBL3 DBL2 DBL1 DBL0 ----0000B R/W bit15 14 13 12 11 10 9 8 − − − − DBL7 DBL6 DBL5 DBL4 ----0000B R/W PDBL1 : 0000 011EH ● PDBL0, PDBL1 のビット機能 ビットを "1" に設定すると , 対応する PPG チャネルのクロックは禁止となります。 391 第 13 章 PPG タイマ 13.3 PPG タイマの動作 PPG タイマの動作について説明します。 2 つの PPG 出力動作モードがあります。PPG タイマ動作とワンショット動作モード です。 ■ PPG タイマの動作 PPG 動作モードの出力は連続的なパルスで , ワンショット動作モードの出力は単一の パルスです。 この節では , 割込み , およびオール "L" とオール "H" の PPG 出力の発生方法について も説明します。説明する項目は以下のとおりです。 • PPG 動作 • ワンショット動作 • 割込み • オール "L", およびオール "H" の PPG 出力 392 第 13 章 PPG タイマ 13.3.1 PPG 動作 PPG 動作モードの出力は , 連続的なパルスストリームです。 ■ PPG 動作 PPG 動作モードでは , 起動トリガが検出された時点からの連続的なパルスストリーム を出力します。 出力パルスの周期は , 周期設定レジスタ (PCSR) の値を変えることで制御できます。出 力パルス幅は , デューティ設定レジスタ (PDUT) の値を変えることで制御できます。出 力パルスの周期と幅 ( デューティ比 ) を設定するときは , PCSR にデータを書き込んだ 後に , 必ず PDUT への書込みを行ってください。 ■ PPG 出力タイミング 起動トリガが検出されダウンカウンタがリセットされると , 周期設定レジスタ (PCSR) に設定されている値がカウンタにロードされ , ダウンカウンタがカウントを開始しま す。 カウンタはカウントを続け , デューティ設定レジスタ (PDUT) に設定されている値とカ ウンタ値とを比較し , 値が一致すると ( デューティの一致 ), PPG 出力の極性が反転しま す。 トリガの再起動が禁止の状態で , カウンタがアンダフローを起こすと , PCSR レジスタ に設定されている値がカウンタにロードされます ( 周期の一致 )。同時に , PPG 出力の 極性が反転します。これで , 設定されたサイクルとパルス幅のパルス信号が出力された ことになります。これ以降 , 同じ手順でパルス信号は連続的に出力されます。 トリガの再起動が許可になると , 再起動トリガが有効になります。PCSR レジスタに設 定された値が , カウンタにリロードされ , カウンタはカウントを開始します。 図 13.3-1 に , PPG 出力が通常極性で , トリガの再起動が禁止された状態でのタイミング の例を示します。図 13.3-2 に , PPG 出力が通常極性で , トリガの再起動が許可されたと きのタイミングの例を示します。 PPG 出力信号の周期とパルス幅は , 次の式で計算できます。 Pm =T(m+1) µs Pn =T(n+1) µs Pm:出力パルス周期 Pn:出力パルス幅 T :カウントクロック周期 m :周期設定レジスタ (PCSR) に設定されている値 n :デューティ設定レジスタ (PDUT) に設定されている値 393 第 13 章 PPG タイマ ● PPG 動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 ) 図 13.3-1 PPG 動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 ) カウンタ値 m n 0 時間 PPG 出力 Pn Pm 立上り検出 トリガ無視 起動トリガ Pm : 出力パルス周期 m: PCSR 値 Pn: 出力パルス "H"幅 n: PDUT 値 ● PPG 動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 ) 図 13.3-2 PPG 動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 ) カウンタ値 m n 0 時間 Time PPG 出力 Pn Pm 立上りエッジ トリガによる再起動 起動トリガ 394 Pm:出力パルス周期 Pn:出力パルス"H"幅 m : PCSR 値 n : PDUT値 第 13 章 PPG タイマ 13.3.2 ワンショット動作モード ワンショット動作モードは , 単一のパルスを出力します。 ■ ワンショット動作モード ワンショット動作モードは , 起動トリガを検出すると , 単一のパルスを出力します。出 力パルスの周期は, 周期設定レジスタ(PCSR)の値を変更することにより制御できます。 出力パルス幅も , デューティ設定レジスタ (PDUT) の値を変更することにより制御でき ます。出力パルスの周期と幅 ( デューティ比 ) を設定するときは , PCSR にデータを書 き込んだ後に , 必ず PDUT への書込みを行ってください。 ワンショットの動作も , 再起動が禁止か許可かによって異なります。 PPG 出力タイミングは PPG 動作モードと同じですが , ワンショット動作モードでは , カウンタがアンダフローすると , 単一パルスを出力した後に停止します。 PPG 出力信号の周期とパルス幅の計算式も , PPG 動作モードと同じです。 図 13.3-3 に , PPG 出力が通常極性で , トリガの再起動が禁止された状態でのタイミング の例を示します。図 13.3-4 に , PPG 出力が通常極性で , トリガの再起動が許可されたと きのタイミングの例を示します。 ● ワンショット動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 ) 図 13.3-3 ワンショット動作タイミング例 1( トリガの再起動禁止 , PPG 出力 : 通常極性 ) カウンタ値 m n 0 時間 PPG 出力 Pn Pm 立上り検出 トリガ無視 起動トリガ Pm = T (m + 1) µs Pn = T (n + 1) µs Pm : Pn : T: m: n: 出力パルス周期 出力パルス"H"幅 カウントクロック周期 PCSR 値 PDUT 値 395 第 13 章 PPG タイマ ● ワンショット動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 ) 図 13.3-4 ワンショット動作タイミング例 2( トリガの再起動許可 , PPG 出力 : 通常極性 ) カウンタ値 m n 0 時間 PPG 出力 Pn Pm 立上りエッジ トリガによる再起動 起動トリガ Pm = T (m + 1) µs Pn = T (n + 1) µs 396 Pm : Pn : T: m: n: 出力パルス周期 出力パルス"H"幅 カウントクロック周期 PCSR 値 PDUT 値 第 13 章 PPG タイマ 13.3.3 割込み 割込み要求信号には , 4 種類あります。以下の割込み要因から選択して発生させるこ とができます。 • PPG タイマ起動 ( ソフトウェアトリガ , またはトリガ入力 ) • アンダフロー発生 ( 周期の一致 ) • デューティの一致発生 • アンダフロー発生 ( 周期の一致 ), またはデューティの一致発生 ■ 割込み動作 CPU への割込み要求信号は , 制御ステータスレジスタ (PCNL) のビットを次のように設 定して発生させます。 • bit5 の割込み要求許可ビット (IREN) を , 割込み許可 (IREN=1) にします。 • bit3とbit2の割込み要因選択ビット(IRS1とIRS0)に, 必要な割込み要因を選択します。 • 上記の条件が設定されると , 割込み要求フラグ (IRQF) の bit4 が設定され , CPU への 割込み要求信号が発生されます。 図 13.3-5 に , 割込みのタイミングを示します。 図 13.3-5 割込み要因タイミング 起動トリガ 最大 2.5T * ロード クロック カウント値 X 0003 H 0002 H 0001 H 0000 H 0003 H PPG 出力 割込み 有効なエッジ デューティの一致 アンダフロー *: 起動トリガの適用からカウント値のロードまで, 最大 2.5T(T: カウントクロックサイクル)かかります。 397 第 13 章 PPG タイマ 13.3.4 オール "L" とオール "H" の PPG 出力 この節では , オール "L" とオール "H" の PPG 出力の発生例について説明します。 ■ オール "L" とオール "H" の PPG 出力 制御ステータスレジスタ (PCNH) の bit9, PPG 出力マスク選択ビット (PGMS) に "1" を 書き込むと , モード設定 , 周期設定値 , デューティ設定値にかかわらず , 制御ステータ スレジスタは PPG 出力を "L" レベル ( 通常極性 ), または "H" レベル ( 反転極性 ) にマ スクします。 通常極性で出力信号をすべて "H" レベルの電圧 , または反転極性で出力信号をすべて "L" レベルの電圧にする場合は , 周期設定レジスタとデューティ設定レジスタの設定を 同じ値にして , 上記のマスク値の反転出力を発生します。 図 13.3-6 にオール "L" の PPG 出力の発生例を , 図 13.3-7 にオール "H" の PPG 出力の発 生例を示します。 図 13.3-6 オール "L" の PPG 出力の発生例 PPG出力 デューティ値 を減少させる。 アンダフローで, 割込みを 使用してPGMS(マスクビット) に"1"を書き込む。アンダフ ロー割込みを使用してPGMSに "0"を書き込むと, ヒゲを出力 することなくPWM波形を出力で きる。 図 13.3-7 オール "H" の PPG 出力の発生例 PPG 出力 デューティ値 を増加させる。 デューティの一致で, 割込みを使用してデ ューティ設定レジスタに周期設定レジスタ と同じ値を設定する。 398 第 13 章 PPG タイマ 13.3.5 複数の PPG タイマチャネルの起動 汎用制御レジスタ 1 と 2(GCN1x と GCN2x) を使用して , 複数の PPG タイマチャネ ルを起動できます。GCN1x レジスタを使用して起動トリガを選択すると , 複数の チャネルを同時に起動できます。 この節では , GCN2x レジスタを使用したソフトウェアによる PPG タイマチャネル の起動例と , GCN1x レジスタを使用して 16 ビットリロードタイマからトリガ入力 を選択してタイマを起動する例について説明します。 ■ 複数の PPG タイマチャネルの起動 ソフトウェアによる複数の PPG タイマチャネルを起動するために , 以下の手順に従っ て設定してください。 [ 設定手順 ] (1) 周期設定レジスタ (PCSR) に周期設定カウンタ値を設定します。 (2) デューティ設定レジスタ (PDUT) にパルス幅設定カウンタ値を設定します。必ず PCSR レジスタから PDUT レジスタの順で , データの書込みを行ってください。 (3) GCN1x レジスタを設定して , 起動するチャネルのトリガ入力ソースを決めます。こ の例では , GCN2x レジスタを使うので , 初期設定のままとします。 • ch.0 の起動 : EN0 • ch.1 の起動 : EN1 • ch.2 の起動 : EN2 • ch.3 の起動 : EN3 (4) 起動するチャネルの制御ステータスレジスタ (PCNL, PCNH) を設定します。この例 では表 13.3-1 に示す設定を行います。 表 13.3-1 チャネルステータスレジスタ (PCNL, PCNH) の設定例 (1 / 2) ビット 機能 No. 略語 値 15 CNTE 1 タイマ動作の許可 14 STGR 0 起動に GCN2 を使用するので , ソフトウェアトリガを禁止 13 MDSE 0 PPG 動作 12 RTRG 0 再起動の禁止 11 CKS1 0 10 CKS0 0 9 PGMS 0 出力マスクなし 8 − 0 未使用ビット (0, 1 のどちらでも良い ) カウントクロック : φ 399 第 13 章 PPG タイマ 表 13.3-1 チャネルステータスレジスタ (PCNL, PCNH) の設定例 (2 / 2) ビット 機能 No. 略語 値 7 EGS1 0 6 EGS0 1 5 IREN 1 割込み要求の許可 4 IRQF 0 割込み要因のクリア 3 IRS1 0 2 IRS0 1 0 OSEL 0 立上りエッジを選択 アンダフローの発生により割込み要求を発生 通常極性 (5) 汎用制御レジスタ 2(GCN2x) にデータを書き込むことで , 起動トリガを発生させま す。上記の設定で PPG タイマの ch.0 と ch.1 を同時に起動させる場合 , GCN20 レジス タのビット EN0 と EN1 に "1" を書き込みます。立上りエッジが発生し , PPG タイマの 出力端子の OCPA0 と OCPA1 からパルスが出力されます (PPG0 と PPG1)。 ■ 16 ビットリロードタイマのトリガを使用した起動 上記手順の (3) で , 汎用制御レジスタ 1(GCN10) を使用してトリガ入力ソースを選択し ます。 ソースとして 16 ビットリロードタイマを選択します。手順の (5) で , 汎用制御レジス タ 2(GCN20) の代わりに , 16 ビットリロードタイマを起動します。 制御ステータスレジスタ (PCNH) の bit12, bit7, bit6 を次のように設定して , 16 ビットの リロードタイマ出力を切り換え , PPG タイマが固定された間隔で再起動できるように します。 400 ⇒ 再起動の許可 bit12(RTRG): "1" bit7, bit6(EGS1, EGS0): "11" ⇒ 立上り , 立下りの両方のエッジで起動 第 14 章 A/D コンバータ A/D コンバータの概要を示し , レジスタの構成と機 能 , および A/D コンバータの動作について説明し ます。 14.1 A/D コンバータの概要 14.2 A/D コンバータのレジスタ 14.3 A/D コンバータの動作 401 第 14 章 A/D コンバータ 14.1 A/D コンバータの概要 A/D コンバータの特長とブロックダイヤグラムについて説明します。 ■ A/D コンバータの特長 A/D コンバータは , アナログ入力電圧をデジタル値に変換するものです。以下に , A/D コンバータの特長を示します。 • 変換時間は , チャネルあたり最小 178 サイクルです。(32 MHz:5.6µs, 24 MHz:7.4µs, 16 MHz:11.2µs) • サンプリング & ホールド回路付き RC 型逐次比較変換方式を採用しています。 • 10 ビットの分解能があります。 • アナログ入力は , 16 チャネルからプログラムで選択できます。 • シングル変換モードは , 選択した 1 チャネルを変換します。指定されたチャネルを 1 回だけ変換します。 • スキャン変換モードは , 複数チャネルを連続変換します。最大 16 チャネルまでプロ グラム可能です。 • 連続モードは , 指定されたチャネルを繰り返し変換します。 • ストップモードは , チャネルを変換し , 次の起動まで一時的に中断します ( 変換開始 タイミングを同期可能です )。 • A/D 変換終了時には , CPU に対して A/D 変換終了の割込み要求を発生させることが できます。この割込み , すなわち連続処理に理想的なオプションを使用して DMA 転 送を起動し , A/D 変換の結果をメモリに転送できます。 • 起動要因は , ソフトウェア , 外部トリガ ( 立下りエッジ ), デバイス上のタイマ ch.4 が 利用可能な場合はタイマ ( 立上りエッジ ) から選択できます。 402 第 14 章 A/D コンバータ ■ A/D コンバータのブロックダイヤグラム 図 14.1-1 に , A/D コンバータのブロックダイヤグラムを示します。 図 14.1-1 ブロックダイヤグラム AVCC MPX AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 AN8 AN9 AN10 AN11 AN12 AN13 AN14 AN15 AVRH/AVRL AVSS D/A コンバータ 入 力 回 シーケンシャル比較レジスタ 路 比較器 データバス サンプル / ホールド回路 デコーダ A/Dデータレジスタ ADCD A/Dチャネル設定レジスタ A/Dモードレジスタ ADMD A/D制御ステータスレジスタ ATGX トリガ起動 タイマ起動 16ビットリロードタイマ4の出力 (内部接続) CLKP( φ) ADCH ADCS 動作クロック プリスケーラ 403 第 14 章 A/D コンバータ 14.2 A/D コンバータのレジスタ A/D コンバータのレジスタについて説明します。 ■ A/D コンバータのレジスタ一覧 図 14.2-1 に , A/D コンバータのレジスタ一覧を示します。 図 14.2-1 A/D コンバータのレジスタ一覧 bit15 8 7 0 ADMD ADCH ADCS ADCD ADBL 8 ビット レジスタ A/D チャネル設定レジスタ 名前 ADCH ( アドレス : 00009DH) A/D モードレジスタ ADMD ( アドレス : 00009CH) A/D 制御ステータスレジスタ ADCS ( アドレス : 00009FH) A/D データレジスタ ADCD ( アドレス : 0000A0H) ( アドレス : 0000A1H) A/D 禁止レジスタ ( アドレス : 0000A3H) 404 ADCD ADBL bit7 6 8 ビット 5 4 3 2 1 0 初期値 00000000B ANS3 ANS2 ANS1 ANS0 ANE3 ANE2 ANE1 ANE0 R/W R/W R/W R/W R/W R/W R/W R/W bit15 14 13 12 11 10 9 8 − − − 予約 MOD1 MOD0 STS1 STS0 − − − W R/W R/W R/W R/W bit7 6 5 4 3 2 1 0 BUSY INT INTE PAUS − − STRT 予約 R/W R/W R/W R/W − − W R/W bit15 14 13 12 11 10 9 8 − − − − − − D9 D8 R R R R R R R R bit7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 R R R R R R R R bit7 6 5 4 3 2 1 0 − − − − − − − DBL − − − − − − − R/W ---X0000B 0000--00B 000000XXB XXXXXXXXB -------0B 第 14 章 A/D コンバータ 14.2.1 A/D チャネル設定レジスタ (ADCH) A/D チャネル設定レジスタ (ADCH) は , A/D コンバータが変換するチャネルを指定 します。 ■ A/D チャネル設定レジスタ (ADCH) のビット構成 図 14.2-2 に , A/D チャネル設定レジスタ (ADCH) のビット構成を示します。 図 14.2-2 A/D チャネル設定レジスタ (ADCH) のビット構成 ADCH bit7 アドレス : 0000009DH ANS3 0 初期値→ 読出し / 書込み→ R/W <注意事項> 6 5 4 3 2 1 0 ANS2 0 R/W ANS1 0 R/W ANS0 0 R/W ANE3 0 R/W ANE2 0 R/W ANE1 0 R/W ANE0 0 R/W A/D コンバータの動作中には , ADCH を変更しないでください。 ■ A/D チャネル設定レジスタ (ADCH) の各ビットの機能 以下に , A/D チャネル設定レジスタ (ADCH) の各ビットの機能を説明します。 [bit7 ∼ bit4] ANS3, ANS2, ANS1, ANS0( アナログ起動チャネル設定 ) これらのビットは , A/D 変換の起動チャネルを設定します。 A/D コンバータを起動すると , これらのビットによって指定されたチャネルから A/D 変換を開始します。 表 14.2-1 に , アナログ起動チャネルの設定内容を示します。 表 14.2-1 アナログ起動チャネルの設定 (1 / 2) ANS3 ANS2 ANS1 ANS0 起動チャネル 0 0 0 0 AN0 0 0 0 1 AN1 0 0 1 0 AN2 0 0 1 1 AN3 0 1 0 0 AN4 0 1 0 1 AN5 0 1 1 0 AN6 0 1 1 1 AN7 1 0 0 0 AN8 1 0 0 1 AN9 405 第 14 章 A/D コンバータ 表 14.2-1 アナログ起動チャネルの設定 (2 / 2) ANS3 ANS2 ANS1 ANS0 起動チャネル 1 0 1 0 AN10 1 0 1 1 AN11 1 1 0 0 AN12 1 1 0 1 AN13 1 1 1 0 AN14 1 1 1 1 AN15 ● 読出し • A/D 変換中にこれらのビットを読み出すと , 現在変換中のチャネル番号を読み出せ ます。 • A/D 変換停止中にこれらのビットを読み出すと , 直近に変換したチャネルを読み出 せます。 • "0" を書き込むかリセットで , リセットします。 [bit3 ∼ bit0] ANE3, ANE2, ANE1, ANE0( アナログ終了チャネル設定 ) これらのビットは , A/D 変換の終了チャネルを設定します。 表 14.2-2 に A/D 変換の終了チャネルの設定内容を示します。 表 14.2-2 A/D 変換の終了チャネルの設定 406 ANE3 ANE2 ANE1 ANE0 終了チャネル 0 0 0 0 AN0 0 0 0 1 AN1 0 0 1 0 AN2 0 0 1 1 AN3 0 1 0 0 AN4 0 1 0 1 AN5 0 1 1 0 AN6 0 1 1 1 AN7 1 0 0 0 AN8 1 0 0 1 AN9 1 0 1 0 AN10 1 0 1 1 AN11 1 1 0 0 AN12 1 1 0 1 AN13 1 1 1 0 AN14 1 1 1 1 AN15 第 14 章 A/D コンバータ • ANS3 ∼ ANS0 と同じチャネルを設定すると , そのチャネルだけの変換が指定され ます ( シングル変換 )。 • 連続モード , またはストップモードで , これらのビットで指定されたチャネルまで 変換が実行されます。その後 , ANS3 から ANS0 までで指定された起動チャネルか ら変換が再起動されます。 • ANS>ANE の場合 , 変換は ANS で指定されたチャネルから起動して , チャネル F ま で続けられ , 再度チャネル 0 から始まり , ANE で指定されたチャネルで終了します。 • "0" を書き込むかリセットでリセットします。 例: チャネル設定が , ANS=0xE, ANE=0x3, シングル変換モードの場合の例 動作 : チャネル変換は , ch.14 → ch.15 → ch.0 → ch.1 → ch.2 → ch.3 で終了 407 第 14 章 A/D コンバータ 14.2.2 A/D モードレジスタ (ADMD) このレジスタは , A/D コンバータの動作モードと起動要因を設定します。 ■ A/D モードレジスタ (ADMD) のビット構成 図 14.2-3 に , A/D モードレジスタ (ADMD) のビット構成を示します。 図 14.2-3 A/D モードレジスタ (ADMD) のビット構成 ADMD bit15 14 13 12 − (-) (-) − (-) (-) − (-) (-) − (X) (W) アドレス : 0000009CH 初期値→ 読出し / 書込み→ <注意事項> 11 10 9 MOD1 MOD0 STS1 (0) (0) (0) (R/W) (R/W) (R/W) 8 STS0 (0) (R/W) A/D コンバータの動作中には , ADMD を変更しないでください。 ■ A/D モードレジスタ (ADMD) の各ビットの機能 以下に , A/D モードレジスタ (ADMD) の各ビットの機能を説明します。 [bit12] 予約ビット。 書込み時は常に "0" に設定します。読出し値は不定です。 [bit11, bit10] MOD1, MOD0(A/D コンバータモード設定 ) これらのビットは動作モードを設定します。 MOD1 MOD0 0 0 シングルモード : 動作中の再起動はすべて可能 0 1 シングルモード : 動作中の再起動不可能 1 0 連続モード : 動作中の再起動不可能 1 1 ストップモード : 動作中の再起動不可能 動作モード • シングルモード ANS3 ∼ ANS0 で選択されたチャネルから ANE3 ∼ ANE0 で選択されたチャネルま での連続 A/D 変換をします。変換周期ごとに一時停止。 • 連続モード ANS3 ∼ ANS0 で選択されたチャネルから ANE3 ∼ ANE0 で選択されたチャネルま での変換サイクルの繰返しです。 • ストップモード ANS3 ∼ ANS0 で選択されたチャネルから ANE3 ∼ ANE0 で選択されたチャネルま での各チャネルの A/D 変換をし , 各チャネルごとに一時停止します。再起動は , 起 動要因の発生によって決定されます。 408 第 14 章 A/D コンバータ A/D 変換動作は , 以下の条件で行われます。 • 連続モードまたはストップモードで A/D 変換が起動されると , 変換動作は , BUSY ビットによって停止を指示されるまで継続します。 • 変換は , BUSY ビットに "0" を書き込むと停止します。 • シングルモード , 連続モード , ストップモードにおけるすべてのタイマ , すべての外 部トリガ , すべてのソフトウェア起動要因について , 再起動はすべて禁止されます。 参考 : A/D コンバータを起動して A/D 変換がまだ動作中にもう一度起動をかけること を , 変換再起動とよびます。 [bit9, bit8] STS1, STS0( 起動要因選択 ) "0" を書き込むかリセットでリセットします。 これらのビットは A/D 起動要因を選択します。 STS1 STS0 0 0 ソフトウェア起動 0 1 外部トリガ端子起動 , ソフトウェア起動 1 0 タイマ起動 , ソフトウェア起動 1 1 外部トリガ端子起動 , タイマ起動 , ソフトウェア起動 機能 複数起動モードでは , 最初の起動で A/D 変換が開始されます。 起動要因は , レジスタに書き込むと直ちに変更されます。したがって , A/D 動作中 の起動モードの切換えは注意が必要です。 A/D コンバータは , 外部トリガ端子の立下りエッジとタイマの立上りエッジを検出 します。 タイマを選択すると , タイマ 4 の出力が選択されます。 <注意事項> ADMD レジスタの A/D 起動要因ビット (STS1 と STS0) を使用し , 外部トリガ , ま たは内部タイマを選択して A/D コンバータを起動するときには , 外部トリガ , また は内部タイマの入力値を無効に設定してください。 入力値が有効であると , STS1 ビットと STS0 ビットに書き込んだときに起動しま す。STS1 ビットと STS0 ビットを設定するときには , ATGX 入力 =1 で , かつ内部 タイマ出力 ( タイマ 4)=0 であることを確認してください。 409 第 14 章 A/D コンバータ 14.2.3 A/D 制御ステータスレジスタ (ADCS) A/D 制御ステータスレジスタ (ADCS) は , A/D コンバータの制御ステータスレジスタ です。 ■ A/D 制御ステータスレジスタ (ADCS) のビット構成 図 14.2-4 に , A/D 制御ステータスレジスタ (ADCS) のビット構成を示します。 図 14.2-4 A/D 制御ステータスレジスタ (ADCS) のビット構成 ADCS bit7 アドレス : 0000009FH BUSY 初期値→ (0) 読出し / 書込み→ (R/W) 6 5 4 3 2 1 0 INT (0) (R/W) INTE (0) (R/W) PAUS (0) (R/W) − (-) (-) − (-) (-) STRT (0) (W) 予約 (0) (R/W) ■ A/D 制御ステータスレジスタ (ADCS) の各ビットの機能 以下に , A/D 制御ステータスレジスタ (ADCS) の各ビットの機能を説明します。 [bit7] BUSY( ビジーフラグとストップ ) • 読出し時は , A/D コンバータ動作指示ビットとなります。A/D 変換の起動で設定 , 完 了でクリアされます。 • 書込み時は , A/D 変換中にこのビットに "0" を書き込むと , 変換が強制終了します。 連続モードやストップモードでの強制終了に使用します。通常の動作では , この ビットには "1" を書き込みます。 • RMW 命令は , このビットを "1" と読みます。 • シングル変換モードでは , A/D 変換完了でクリアされます。 • 連続モードとストップモードでは , "0" を書き込んで変換を停止するまで , このフラ グはクリアされません。 • リセットでは "0" に初期化されます。 • 強制終了とソフトウェア起動 (BUSY=0 と STRT=1) は同時に指定しないでください。 [bit6] INT( 割込み ) データ指示ビットです。このビットは , 変換データが ADCD に格納されると設定さ れます。このビットが設定されるときに bit5(INTE) が "1" であると , 割込み要求が 発生するか , DMA の起動が許可されていると , DMA が起動されます。このビット に "1" を書き込んでも意味はありません。 A/D 変換停止中にこのビットに "0" を書き込むと , クリアされます。 0 変換は完了していません。 1 変換が終了し , 結果がデータレジスタに格納されました。 • このビットは , "0" を書き込むか DMA 割込みクリア信号でクリアされます。 • リセットでは "0" に初期化されます。 410 第 14 章 A/D コンバータ [bit5] INTE( 割込み許可 ) このビットで , 変換完了割込みを許可 / 禁止します。 0 割込みを禁止します。 1 割込みを許可します。 • DMA を使用するときは , 常にこのビットを設定します。 • DMA は , 割込み要求の発生によって起動されます。 • "0" を書き込むかリセットでクリアされます。 [bit4] PAUS(A/D コンバータ一時停止 ) このビットは , A/D 変換が一時停止すると設定されます。 A/D コンバータには , 変換結果を格納するレジスタが 1 つしかありません。したがっ て , 連続変換を実行するときに変換結果が DMA によって転送されないと , 直前の結 果は失われます。 この問題を避けるために , DMA によって前の値が転送されるまで , 次の変換データ はデータレジスタに格納されません。この間 , A/D 変換は一時停止します。 DMA による転送が完了すると , A/D 変換は再起動されます。 このビットは , DMA を使用するときだけ意味があります。 0 一時停止していません。 1 一時停止中です。 • "0" を書き込むかリセットでクリアされます。 • A/D 変換一時停止中にこのビットに "0" を書き込むと , クリアされます。 参考 :「14.3 A/D コンバータの動作」の「■ 変換動作」の「● 変換データ保護機能」 を参照してください。 [bit1] STRT( 起動 ) このビットに "1" を書き込むと , A/D 変換が起動します。もう一度 "1" を書き込む と , A/D 変換が再起動します。 再起動は , ストップモードでは機能しません。 このビットを読み出すと常に "0" です。 強制終了とソフトウェア起動 (BUSY=0 と STRT=1) は同時に指定しないでください。 0 無効 1 A/D 変換を起動します。 • リセットでは "0" に初期化されます。 [bit0] 予約ビット このビットには , 常に "0" を書き込みます。 411 第 14 章 A/D コンバータ 14.2.4 A/D データレジスタ (ADCD) A/D データレジスタ (ADCD) は , A/D コンバータの変換結果を格納します。 ■ A/D データレジスタ (ADCD) のビット構成 図 14.2-5 に A/D データレジスタ (ADCD) のビット構成を示します。 図 14.2-5 A/D データレジスタ (ADCD) のビット構成 アドレス : 000000A1H 初期値→ 読出し / 書込み→ アドレス : 000000A0H 初期値→ 読出し / 書込み→ bit7 6 5 4 3 2 1 0 D7 (X) (R) D6 (X) (R) D5 (X) (R) D4 (X) (R) D3 (X) (R) D2 (X) (R) D1 (X) (R) D0 (X) (R) bit15 14 13 12 11 10 9 8 − (0) (R) − (0) (R) − (0) (R) − (0) (R) − (0) (R) − (0) (R) D9 (X) (R) D8 (X) (R) これらのレジスタには , A/D 変換結果のデジタル値が格納されます。 レジスタの値は , 各変換が完了すると更新されます。通常 , このレジスタは前の変換結 果を格納します。 リセット後のレジスタの内容は不定です。 ADCD の bit15 ∼ bit10 までの読出し値は "0" です。 A/D コンバータには , 変換データ保護機能があります。変換データ保護機能については , 「14.3 A/D コンバータの動作」を参照してください。 このレジスタは書込み禁止です。 412 第 14 章 A/D コンバータ 14.2.5 A/D 禁止レジスタ (ADBL) A/D 禁止レジスタ (ADBL) は , ADC のクロックを禁止にします。 ■ A/D 禁止レジスタ (ADBL) のビット構成 図 14.2-6 に , A/D 禁止レジスタ (ADBL) のビット構成を示します。 図 14.2-6 A/D 禁止レジスタ (ADBL) のビット構成 アドレス : 000000A3H 初期値→ 読出し / 書込み→ bit7 6 5 4 3 2 1 0 − (-) (-) − (-) (-) − (-) (-) − (-) (-) − (-) (-) − (-) (-) − (-) (-) DBL (0) (R/W) DBL ビットを "1" に設定すると , ADC のクロックは禁止になります。 413 第 14 章 A/D コンバータ 14.3 A/D コンバータの動作 A/D コンバータは , 10 ビットの分解能の逐次比較方式を使用して動作します。変換 結果を格納するために , 16 ビットのレジスタが 1 つしかないので , 変換データレジ スタ (ADCD) は , 変換が完了するたびに更新されます。 つまり , A/D コンバータ自体は連続変換の実行に適していませんので , 変換動作中に DMA サービス機能を使用して変換データをメモリに転送することをお勧めします。 ■ 動作モード 動作モードには , シングルモード , 連続モード , ストップモードの 3 つがあります。 ● シングルモード シングル変換モードでは , ANS ビットと ANE ビットによって選択されたアナログ入力 信号が , ANE ビットにより決められる終了チャネルの変換が完了するまで , 順番に変 換されます。続いて , A/D 変換が終了します。開始チャネルと終了チャネルが同じであ る場合 (ANS=ANE), 1 つのチャネルの変換だけが実行されます。 例: ANS=0000, ANE=0011 ⇒開始→ AN0 → AN1 → AN2 → AN3 →終了 ANS=0010, ANE=0010 ⇒開始→ AN2 →終了 ● 連続モード 連続変換モードでは , ANS ビットと ANE ビットによって選択されたアナログ入力信号 が , ANE ビットにより決められる終了チャネルの変換が完了するまで順番に変換され ます。次に , コンバータは ANS チャネルのアナログ入力に戻り , 処理を繰り返します。 開始チャネルと終了チャネルが同じである場合 (ANS=ANE), そのチャネルの変換だけ が連続的に実行されます。 例 : ANS=0000, ANE=001 開始→ AN0 → AN1 → AN2 → AN3 → AN0... →繰返し ANS=0010, ANE=0010 開始→ AN2 → AN2 → AN2... →繰返し 連続変換モードでは , BUSY ビットに "0" が書き込まれるまで変換が繰り返されます。 BUSY ビットに "0" が書き込まれると , 変換は強制終了となります。動作を強制終了さ せると , 変換の途中で現在の変換が停止するので , 注意してください。動作が強制終了 されると , 変換レジスタの値は , 直近に完了した変換の結果になります。 ● ストップモード ストップモードでは , ANS ビットと ANE ビットによって選択された , アナログ入力信 号が順番に変換されますが , 各チャネルの変換のたびに変換動作は一時停止します。こ の一時停止は , もう一度起動信号を適用することによって解除されます。 414 第 14 章 A/D コンバータ ANE ビットにより決められる終了チャネルの変換が完了すると , A/D コンバータは ANS チャネルのアナログ入力信号に戻り , 処理を繰り返します。 開始チャネルと終了チャネルが同じである場合 (ANS=ANE), 1 つのチャネルの変換だ けが実行されます。 例 : ANS=0000, ANE=0011 開始→ AN0 →停止→開始→ AN1 →停止→開始→ AN2 →停止→開始→ AN3 → 停止→開始→ AN0... →繰返し ANS=0010, ANE=00100 開始→ AN2 →停止→開始→ AN2 →停止→開始→ AN2... →繰返し ストップモードでは , 起動要因は , STS1 と STS0 ビットで決まる要因に限られます。 このモードにより , 変換起動信号の同期が可能になります。 ■ 変換動作 DMA を使用した変換動作と変換データ保護機能について説明します。 ● DMA を使用した変換動作 図 14.3-1 に , 連続変換モードにおける , A/D 変換の開始から変換データの転送までの流 れを示します。 図 14.3-1 連続変換モードにおける動作フロー A/D 変換開始 データのサンプリングと ホールド DMA 開始 Start DMA データ転送 データ変換 * 処理割込み 変換終了 割込みクリア 割込み発生 * は , DMA 設定によって決まる動作を示します。 ● 変換データ保護機能 A/D コンバータの特長の 1 つは , 変換データ保護機能です。これによってユニットは , 連続変換の結果と複数のデータ集合を保護できます。 変換データレジスタは 1 つしかないので , 連続して A/D 変換をすると , 変換サイクルが 終了して変換結果が格納されるたびに , レジスタ内の前のデータが失われることにな ります。データの消失を防ぐために , A/D コンバータには , 現在の変換サイクルが終了 しても , 前のデータが DMA によってメモリに転送されてしまうまでは , レジスタに新 しいデータを格納しないように一時停止する機能があります。 メモリへの DMA 転送が完了すると一時停止は取り消され , 変換が再開します。 前のデータが時間内にメモリに転送されれば , A/D 変換は一時停止しないで継続しま す。 415 第 14 章 A/D コンバータ <注意事項> この機能は , ADCS レジスタの INT ビットと INTE ビットに関連しています。 • データ保護機能は , 割込み許可状態 (INTE=1) でのみ動作するように設計されて います。 • 割込みが禁止されている (INTE=0) 場合は , この機能は動作せず , 連続の A/D 変 換を行った場合 , 前の変換データの集合は , 次の集合がレジスタに格納されると 消失します。 • 割込み許可のモード (INTE=1) では , DMA を使用せずに INT ビットをクリアする ことはできませんので , データ保護機能によって A/D 変換は強制的に一時停止状 態のままになります。この場合は , 割込みシーケンスを使用して , INT ビットを クリアし , 一時停止を解除します。 • DMA 転送中 , A/D コンバータが一時停止状態のときに割込みが禁止された場合 は , A/D コンバータは動作を再開でき , 変換データレジスタの内容は転送が完了 する前に消失する可能性があります。 • 一時停止状態で再起動をかけると , レジスタに待機中のデータは破壊されます。 図 14.3-2 に , データ保護機能の動作フロー (DMA 使用時 ) を示します。 図 14.3-2 データ保護機能の動作フロー (DMA 使用時 ) A/D コンバータが一時停止中のフローは省略しています。 DMA設定 A/D 連続変換を起動 (注意事項) 一時停止状態で再起動をかけると、レジスタに待機中 のデータは破壊されます。 1番目の変換サイクル終了 結果をデータレジスタに格納 2番目の変換サイクル終了 DMA 起動 NO 注 A/D変換一時停止 DMADMA終了? YES YES 結果をデータレジスタに格納 DMA 終了 ? NO DMA 起動 3 番目の変換サイクル終了 継続 DMA 起動 すべての変換サイクルを停止 割込みルーチン 終了 A/D変換停止 ■ 使用上の注意事項 A/D コンバータを使用するうえで , ほかに注意すべき事項を , 以下に示します。 ATGX 端子へのパルス入力は , 次に示す最小入力パルス幅より長くなければなりませ ん。 最小入力パルス幅 : 2 周辺クロック (CLKP) サイクル ただし , 場合によっては , この仕様より入力パルスが短くても有効なパルスとして認識 されることがあります。 MB91360 シリーズの A/D コンバータの外部トリガ入力には , フィルタ機能がありませ ん。必要な場合は , 外部にフィルタまたは同様の回路を接続してください。 416 第 15 章 16 ビットリロードタイマ 16 ビットリロードタイマの概要を示し , レジスタ の構成と機能 , および 16 ビットリロードタイマの 動作について説明します。 15.1 16 ビットリロードタイマの概要 15.2 16 ビットリロードタイマのレジスタ構成 15.3 16 ビットリロードタイマの動作 417 第 15 章 16 ビットリロードタイマ 15.1 16 ビットリロードタイマの概要 16 ビットリロードタイマは , 16 ビットダウンカウンタ , 16 ビットリロードレジスタ , 内部カウントクロック生成用プリスケーラとコントロールレジスタより構成されて います。 16 ビットリロードタイマは , 割込みを使用して DMA 転送も起動できます。 MB91360 シリーズには , 6 個の 16 ビットリロードタイマチャネルが格納されてい ます。 ■ 16 ビットリロードタイマの機能 入力クロックは , 3 つの内部クロックから選択できます ( 周辺機器用クロックは 2/8/32 で分周されます )。 ■ 16 ビットリロードタイマのブロックダイヤグラム 図 15.1-1 に , 16 ビットリロードタイマのブロックダイヤグラムを示します。 図 15.1-1 16 ビットリロードタイマのブロックダイヤグラム 16 16ビットリロードレジスタ 8 リロード 16ビットダウンカウンタ UF 16 RELD Rバス GATE OUT CTL. CSL1 クロックセレクタ CSL0 INTE UF IRQ CNTE TRG 2 φ 2 1 φ 2 φ 3 25 プリスケーラクリア PWM(リロードタイマch.0~ch.3)* A/D(リロードタイマch.4)* * 内部接続 CLKP 418 第 15 章 16 ビットリロードタイマ 15.2 16 ビットリロードタイマのレジスタ構成 16 ビットリロードタイマのレジスタについて説明します。 ■ 16 ビットリロードタイマのレジスタ構成 16 ビットリロードタイマは , 次の 3 つのレジスタから構成されています。 • 制御ステータスレジスタ (TMCSR) • 16 ビットタイマレジスタ (TMR) • 16 ビットリロードレジスタ (TMRLR) 図 15.2-1 に , 16 ビットリロードタイマのレジスタ構成を示します。 図 15.2-1 16 ビットリロードタイマのレジスタ構成 bit15 制御ステータス レジスタ (TMCSR) 16 ビットタイマ レジスタ (TMR) 14 13 12 11 10 9 8 初期値 TMCSR 予備 予備 予備 予備 CSL1 CSL0 予備 予備 R/W R/W R/W R/W R/W R/W R/W R/W ・TMCSR3 ∼ TMCSR5 ----XX--B ・TMCSR0 ∼ TMCSR2 ----0000B bit7 6 5 4 3 2 1 0 予備 予備 予備 RELD INTE UF CNTE TRG R/W R/W R/W R/W R/W R/W R/W R/W bit15 14 13 12 11 10 9 8 ・TMCSR3 ∼ TMCSR5 ---XXXXXB ・TMCSR0 ∼ TMCSR2 ---00000B XXXXXXXXB TMR R R R R R R R R bit7 6 5 4 3 2 1 0 XXXXXXXXB 16 ビットリロード レジスタ (TMRLR) R R R R R R R R bit15 14 13 12 11 10 9 8 XXXXXXXXB TMRLR W W W W W W W W bit7 6 5 4 3 2 1 0 XXXXXXXXB W W W W W W W W 419 第 15 章 16 ビットリロードタイマ 15.2.1 制御ステータスレジスタ (TMCSR) 制御ステータスレジスタ (TMCSR) は , 16 ビットリロードタイマの動作モード , およ び割込みを制御します。 UF, CNTE, TRG 以外のビットの変更は , CNTE=0 のときに行うようにしてくださ い。 同時書込みが可能です。 ■ 制御ステータスレジスタ (TMCSR) のビット構成 図 15.2-2 に , 制御ステータスレジスタ (TMCSR) のビット構成を示します。 図 15.2-2 制御ステータスレジスタ (TMCSR) のビット構成 アドレス bit11 0000 004EH CSL1 0000 0056H R/W 0000 005EH 0000 0106H 0000 010EH 0000 0116H 10 9 8 7 6 5 4 3 2 1 0 CSL0 予備 予備 予備 予備 予備 RELD INTE UF CNTE TRG R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ←アクセス 初期値 : ・TMCSR3 ∼ TMCSR5 : XX-----XXXXXB ・TMCSR0 ∼ TMCSR2 : 0000---00000B ■ 制御ステータスレジスタ (TMCSR) の各ビットの機能 以下に , 制御ステータスレジスタ (TMCSR) の各ビットの機能について説明します。 [bit11, bit10] CSL1, CSL0(Count clock SeLect) これらのビットは , カウントクロック選択ビットです。 選択されるクロックソースを , 表 15.2-1 に示します。 表 15.2-1 CSL ビットのクロックソース設定 CSL1 CSL0 クロックソース (φ: マシンクロック ) 0 0 φ/21 0 1 φ/23 1 0 φ/25 1 1 設定禁止 [bit9 ∼ bit5] 予備ビット 常に , "00000" に設定します。 420 第 15 章 16 ビットリロードタイマ [bit4] RELD このビットでリロード動作を許可します。 RELD が "1" のとき , タイマはリロードモードで動作します。このモードでは , タイ マはカウンタの値が "0000H" → "FFFFH" へのアンダフローと同時にリロードレジス タの内容をカウンタへロードしてカウント動作を続けます。 RELD が "0" の場合は , カウンタ値が "0000H" から "FFFFH" に変わることによって アンダフローが起こると , カウント動作が停止します。 [bit3] INTE このビットは , 割込み要求許可ビットです。 INTE が "1" のときに , UF ビットが "1" に変わると割込み要求が発生します。 INTE が "0" の場合は , 割込み要求は発生しません。 [bit2] UF このビットは , タイマ割込み要求フラグです。 アンダフローが発生すると ( カウンタ値が "0000H" から "FFFFH" に変わる ), UF は "1" に設定されます。 "0" を書き込むとビットはクリアされます。"1" を書き込んでも意味はありません。 リードモディファイライト系命令における読出し時には , "1" が読み出されます。 [bit1] CNTE このビットは , タイマカウントの許可ビットです。 "1" を書き込むと , タイマは起動トリガを待ちに設定されます。 "0" を書き込むと , カウント動作が停止します。 [bit0] TRG このビットは , ソフトウェアトリガビットです。 TRG に "1" を書き込むとソフトウェアトリガが適用され , タイマはリロードレジス タの内容をカウンタにロードし , カウントを開始します。 "0" を書き込んでも意味はありません。読み出すと常に "0" が返ります。 このレジスタを使用したトリガの適用は, CNTEが"1"の場合にのみ有効です。 CNTE が "0" の場合は , "1" を書き込んでも効果はありません。 421 第 15 章 16 ビットリロードタイマ 15.2.2 16 ビットタイマレジスタ (TMR) このレジスタを読み出すと 16 ビットタイマのカウント値が読み出されます。 初期値は不定です。 必ず , 16 ビットデータ転送命令を使用してこのレジスタを読み出します。 ■ 16 ビットタイマレジスタ (TMR) の構成 図 15.2-3 に , 16 ビットタイマレジスタ (TMR) の構成を示します。 図 15.2-3 16 ビットタイマレジスタ (TMR) の構成 R X R X R X R X ∼∼ 422 bit15 ∼∼ アドレス 0000 004AH 0000 0052H 0000 005AH 0000 0102H 0000 010AH 0000 0112H …… …… 0 R X R X R X R X ←アクセス ←初期値 第 15 章 16 ビットリロードタイマ 15.2.3 16 ビットリロードレジスタ (TMRLR) 16 ビットリロードレジスタは , 初期カウント値を格納します。 初期値は不定です。 必ず , 16 ビットデータ転送命令を使用してこのレジスタを書き込みます。 ■ 16 ビットリロードレジスタ (TMRLR) の構成 図 15.2-4 に , 16 ビットリロードレジスタ (TMRLR) の構成を示します。 図 15.2-4 16 ビットリロードレジスタ (TMRLR) の構成 W X W X W X W X ∼∼ bit15 ∼∼ アドレス 0000 0048H 0000 0050H 0000 0058H 0000 0100H 0000 0108H 0000 0110H …… …… 0 W X W X W X W X ←アクセス ←初期値 423 第 15 章 16 ビットリロードタイマ 15.3 16 ビットリロードタイマの動作 16 ビットリロードタイマの次の 2 つの動作について説明します。 • 内部クロック動作 • アンダフロー動作 424 第 15 章 16 ビットリロードタイマ 15.3.1 内部クロック動作 16 ビットリロードタイマの内部クロック動作について説明します。 内部クロックの分周クロックでタイマを動作させる場合 , クロックソースとしてマシ ンクロックの 2, 8, 32 分周のクロックから選択することができます。 カウント許可と同時にカウントの動作を開始する場合は , 制御ステータスレジスタの CNTE ビットと TRG ビットの両方に "1" を書き込んでください。 TRG ビットによるトリガ入力は , タイマが起動状態のとき (CNTE が "1"), 動作モード にかかわらず常に有効です。 カウンタの起動とカウンタの動作について , 図 15.3-1 に示します。 カウンタスタートのトリガが入力されてからリロードレジスタのデータがカウンタへ ロードされるまでに , φ(φ: CLKP マシンサイクル ) の時間がかかります。 図 15.3-1 カウンタの起動と動作タイミング カウンタクロック カウンタ データリロード -1 -1 -1 データロード CNTE(レジスタ) TRG(レジスタ) φ 425 第 15 章 16 ビットリロードタイマ 15.3.2 アンダフロー動作 16 ビットリロードタイマのアンダフロー動作について説明します。 カウンタの値が "0000H" から "FFFFH" になるときをアンダフローとしています。した がって , 「リロードレジスタの設定値 +1」のカウントでアンダフローが発生すること になります。 アンダフロー発生時 , 制御レジスタの RELD ビットが "1" のとき , リロードレジスタの 内容はカウンタへロードされてカウント動作は継続されます。RELD ビットが "0" のと き , カウンタは "FFFFH" で停止します。 アンダフローにより , 制御レジスタの UF ビットが設定されます。このとき INTE ビッ トが "1" であると , 割込み要求が発生します。 アンダフローの動作について , 図 15.3-2 に示します。 図 15.3-2 アンダフローの動作タイミング ・RELD= 1 の場合 カウントクロック カウンタ 0000 H データリロード -1 データロード アンダフローセット ・RELD= 0 の場合 カウントクロック カウンタ アンダフローセット 426 0000 H FFFF H -1 -1 第 15 章 16 ビットリロードタイマ 15.3.3 カウンタの動作状態 16 ビットリロードタイマのカウンタの動作状態について説明します。 カウンタの状態は , 制御レジスタの CNTE ビットと内部の WAIT 信号によって決まりま す。 設定可能な状態としてCNTE=0, WAIT=1の停止状態(STOP状態: 動作停止), CNTE=1, WAIT=1 の起動トリガ待ち状態 (WAIT 状態 : トリガ待ち ), および CNTE=1, WAIT=0 の 動作状態 (RUN 状態 : 動作中 ) があります。 各状態の遷移を図 15.3-3 に示します。 図 15.3-3 カウンタ状態の遷移 ハードウェアによる状態遷移 レジスタアクセスによる状態遷移 リセット 停止 CNTE= 0, WAIT= 1 カウンタ: カウント停止時の 値を保持。 リセット後は不定。 CNTE= 0 CNTE= 0 CNTE= 1 CNTE= 1 TRG= 1 TRG= 0 待機 実行 CNTE= 1, WAIT= 1 CNTE= 1, WAIT= 0 カウンタ: カウント中 カウンタ: カウント停止時の 値を保持。 リセット後、ロード されるまでは不定。 RELD UF TRG= 1 TRG= 1 ロード CNTE= 1, WAIT= 0 リロードレジスタの内容を カウンタにロード RELD UF ロード完了 427 第 15 章 16 ビットリロードタイマ 15.3.4 その他の動作 16 ビットリロードタイマのその他の動作について説明します。 • リロードタイマのチャネル 0 とチャネル 1 の割込み要求信号を使用して , DMA 転送 を起動できます。DMA コントローラは , 転送要求を確認するとリロードタイマの割 込みフラグをクリアします。 • リロードタイマのチャネル 4 の出力は , 内部で A/D コンバータに接続されています。 これを使用して, リロードレジスタに設定されている間隔で, 周期的にA/Dコンバー タを起動できます。 • リロードタイマのチャネル 0 から 3 の出力は , 内部で PWM タイマに接続されてい て , これらのタイマのトリガに使用できます。 428 第 16 章 CAN コントローラ CAN インタフェースの概要を示し , レジスタの構 造と機能 , および CAN インタフェースの動作につ いて説明します。 16.1 CAN コントローラの概要 16.2 レジスタ 16.3 CAN コントローラの動作 16.4 使用手順 429 第 16 章 CAN コントローラ 16.1 CAN コントローラの概要 CAN コントローラは , MB91360 シリーズの内蔵モジュールです。CAN(Controller Area Network: コントローラエリアネットワーク ) は , 自動車コントローラ間のシリ アル通信用標準プロトコルで , 産業界で広く応用されています。 ■ CAN コントローラの特長 CAN コントローラには以下の特長があります。 • CAN 仕様バージョン 2.0 パート A, および B に準拠 - 標準フレーム , および拡張フレームの各フォーマットにおける送受信をサポート しています。 • リモートフレームの受信によるデータフレームの送信をサポート • 16 の送受信メッセージバッファ - 29 ビット ID, および 8 バイトデータを使用しています。 - 多重メッセージバッファ構成です。 • フルビット比較 , フルビットマスク , 部分ビットマスクフィルタリングをサポート - 標準フレームフォーマット , または拡張フレームフォーマットのいずれでも使用 できる 2 つの受入マスクレジスタを採用しています。 • 10K ビット / 秒∼ 1M ビット / 秒でビット速度をプログラム可能 ( 入力クロックが 16 MHz の場合 ) 以下の節では , CAN0 についてのみ説明します。他の CAN チャネルのレジスタアドレ スについては ,「付録 A I/O マップ」を参照してください。 示されているアドレスは , CS7 領域が , 「第 4 章 ブート ROM/ 構成レジスタ」で説明 されているように定義されていると想定しています。 430 第 16 章 CAN コントローラ ■ CAN コントローラのブロックダイヤグラム 図 16.1-1 に , CAN コントローラのブロックダイヤグラムを示します。 図 16.1-1 ブロックダイヤグラム CANCLK CREG CAN送受信動作用クロック クロック構成 CLKT 外バスアクセス用クロック TQ(作動クロック) 外部バス (ユーザロジックバス) プリスケーラ 1~64周波数分割 ビットタイミング発生 SYNC, TSEG1, TSEG2 PSC PR BTR PH RSJ TOE TS RS HALT CSR NIE NT ノード状態変更 割込み発生 IDLE, INT, SUSPND, 送信, 受信, ERR, OVRLD バス ステート マシン ノード状態 変更割込み NS1,NS0 エラー 制御 RTEC 送信/受信シーケンサ BVALR TREQR TBFx、クリア 送信バッファx決定 TBFx エラーフレーム 発生 データ 受入フィルタ カウンタ 制御 オーバロード フレーム発生 TDLC RDLC TBFx IDSEL BITER, STFER, CRCER, FRMER, ACKER TCANR 出力 ドライバ ARBLOST TX TRTRR TCR TBFx, 設定, クリア 送信完了割込み 送信完了割込み発生 ACK発生 CRCER RBFx, 設定 RIER RRTRR CRC発生 TDLC TIER RCR スタッフィング 送信シフト レジスタ RFWTR RDLC 受信完了割込み発生 受信完了割込み STFER デスタッフィング/ スタッフィング エラーチェック 受信シフト レジスタ RBFx, TBFx, 設定, クリア RBFx, 設定 CRC発生/ エラーチェック IDSEL ROVRR ARBLOST AMSR AMR0x 0 1 BITER 受入フィルタ 受信バッファx 決定 RBFx RAMアドレス 発生 ビットエラー チェック ACKER 肯定応答 エラーチェック FRMER 形式エラー チェック AMR1x IDR0~15 DLCR0~15 DTR0~15 RAM 調停チェック PH1 入力 ラッチ RX RBFx, TBFx, RDLC, TDLC, IDSEL LEIR 431 第 16 章 CAN コントローラ 16.2 レジスタ CAN コントローラのレジスタについて説明します。 ■ 制御レジスタ一覧 表 16.2-1 に , CAN コントローラの制御レジスタ一覧を示します。 表 16.2-1 に示されたレジスタに対しては , バイアスモードではライトアクセスできませ ん。これらのレジスタへのライトアクセスは , 16 ビットアクセスを使用してください。 表 16.2-1 CAN コントローラの制御レジスタ一覧 (1 / 2) アドレス レジスタ 略記 アクセス 初期値 メッセージバッファ有効レジスタ BVALR0 R/W 00000000 00000000 送信要求レジスタ TREQR0 R/W 00000000 00000000 送信取消しレジスタ TCANR0 W 00000000 00000000 送信完了レジスタ TCR0 R/W 00000000 00000000 受信完了レジスタ RCR0 R/W 00000000 00000000 リモート要求受信レジスタ RRTRR0 R/W 00000000 00000000 受信オーバランレジスタ ROVRR0 R/W 00000000 00000000 受信割込み許可レジスタ RIER0 R/W 00000000 00000000 制御ステータスレジスタ CSR0 R/W, R 00---000 0----0-1 最終イベントインディケータレジスタ LEIR0 R/W -------- 000-0000 CAN0 100000H 100001H 100002H 100003H 100004H 100005H 100006H 100007H 100008H 100009H 10000AH 10000BH 10000CH 10000DH 10000EH 10000FH 100010H 100011H 100012H 100013H 432 第 16 章 CAN コントローラ 表 16.2-1 CAN コントローラの制御レジスタ一覧 (2 / 2) アドレス レジスタ 略記 アクセス 初期値 受信 / 送信エラーカウンタ RTEC0 R 00000000 00000000 ビットタイミングレジスタ BTR0 R/W -1111111 11111111 IDE レジスタ IDER0 R/W XXXXXXXX XXXXXXXX 送信 RTR レジスタ TRTRR0 R/W 00000000 00000000 リモートフレーム受信待ちレジスタ RFWTR0 R/W XXXXXXXX XXXXXXXX 送信割込み許可レジスタ TIER0 R/W 00000000 00000000 CAN0 100014H 100015H 100016H 100017H 100018H 100019H 10001AH 10001BH 10001CH 10001DH 10001EH 10001FH 100020H XXXXXXXX XXXXXXXX 100021H 100022H 受入マスク選択レジスタ AMSR0 R/W XXXXXXXX XXXXXXXX 100023H 100024H XXXXXXXX XXXXXXXX 100025H 受入マスクレジスタ 0 AMR00 R/W 100026H XXXXX--- XXXXXXXX 100027H 100028H XXXXXXXX XXXXXXXX 100029H 受入マスクレジスタ 1 AMR10 R/W 10002AH XXXXX--- XXXXXXXX 10002BH 433 第 16 章 CAN コントローラ ■ メッセージバッファ 表 16.2-2 にメッセージバッファ(ID レジスタ ) 一覧を , 表 16.2-3 にメッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧を , 表 16.2-4 に構成レジスタを示します。 メッセージバッファレジスタ ( 表 16.2-2 , 表 16.2-3 ) へのバイトモードでのライトアク セスはできません。16 ビットモードでライトしてください。 表 16.2-2 メッセージバッファ (ID レジスタ ) 一覧 (1 / 3) アドレス CAN0 レジスタ 略記 アクセス 初期値 汎用 RAM -- R/W XXXXXXXX ∼ XXXXXXXX 10002CH ∼ 10004BH 10004CH XXXXXXXX XXXXXXXX 10004DH 10004EH ID レジスタ 0 IDR00 R/W XXXXX--- XXXXXXXX 10004FH 100050H XXXXXXXX XXXXXXXX 100051H 100052H ID レジスタ 1 IDR10 R/W XXXXX--- XXXXXXXX 100053H 100054H XXXXXXXX XXXXXXXX 100055H 100056H ID レジスタ 2 IDR20 R/W XXXXX--- XXXXXXXX 100057H 100058H XXXXXXXX XXXXXXXX 100059H 10005AH ID レジスタ 3 IDR30 R/W XXXXX--- XXXXXXXX 10005BH 10005CH XXXXXXXX XXXXXXXX 10005DH 10005EH ID レジスタ 4 IDR40 R/W XXXXX--- XXXXXXXX 10005FH 100060H XXXXXXXX XXXXXXXX 100061H 100062H 100063H 434 ID レジスタ 5 IDR50 R/W XXXXX--- XXXXXXXX 第 16 章 CAN コントローラ 表 16.2-2 メッセージバッファ (ID レジスタ ) 一覧 (2 / 3) アドレス CAN0 レジスタ 略記 アクセス 100064H XXXXXXXX XXXXXXXX 100065H 100066H ID レジスタ 6 IDR60 R/W XXXXX--- XXXXXXXX 100067H 100068H XXXXXXXX XXXXXXXX 100069H 10006AH ID レジスタ 7 IDR70 R/W XXXXX--- XXXXXXXX 10006BH 10006CH XXXXXXXX XXXXXXXX 10006DH 10006EH ID レジスタ 8 IDR80 R/W XXXXX--- XXXXXXXX 10006FH 100070H XXXXXXXX XXXXXXXX 100071H 100072H ID レジスタ 9 IDR90 R/W XXXXX--- XXXXXXXX 100073H 100074H XXXXXXXX XXXXXXXX 100075H 100076H ID レジスタ 10 IDR100 R/W XXXXX--- XXXXXXXX 100077H 100078H XXXXXXXX XXXXXXXX 100079H 10007AH ID レジスタ 11 IDR110 R/W XXXXX--- XXXXXXXX 10007BH 10007CH XXXXXXXX XXXXXXXX 10007DH 10007EH 10007FH 初期値 ID レジスタ 12 IDR120 R/W XXXXX--- XXXXXXXX 435 第 16 章 CAN コントローラ 表 16.2-2 メッセージバッファ (ID レジスタ ) 一覧 (3 / 3) アドレス CAN0 レジスタ 略記 アクセス 100080H XXXXXXXX XXXXXXXX 100081H 100082H ID レジスタ 13 IDR130 R/W XXXXX--- XXXXXXXX 100083H 100084H XXXXXXXX XXXXXXXX 100085H 100086H ID レジスタ 14 IDR140 R/W XXXXX--- XXXXXXXX 100087H 100088H XXXXXXXX XXXXXXXX 100089H 10008AH 初期値 ID レジスタ 15 IDR150 R/W XXXXX--- XXXXXXXX 10008BH 表 16.2-3 メッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧 (1 / 3) アドレス CAN0 レジスタ 略記 アクセス DLC レジスタ 0 DLCR00 R/W -------- ----XXXX DLC レジスタ 1 DLCR10 R/W -------- ----XXXX DLC レジスタ 2 DLCR20 R/W -------- ----XXXX DLC レジスタ 3 DLCR30 R/W -------- ----XXXX DLC レジスタ 4 DLCR40 R/W -------- ----XXXX DLC レジスタ 5 DLCR50 R/W -------- ----XXXX DLC レジスタ 6 DLCR60 R/W -------- ----XXXX 10008CH 10008DH 10008EH 10008FH 100090H 100091H 100092H 100093H 100094H 100095H 100096H 100097H 100098H 100099H 436 初期値 第 16 章 CAN コントローラ 表 16.2-3 メッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧 (2 / 3) アドレス レジスタ 略記 アクセス DLC レジスタ 7 DLCR70 R/W -------- ----XXXX DLC レジスタ 8 DLCR80 R/W -------- ----XXXX DLC レジスタ 9 DLCR90 R/W -------- ----XXXX DLC レジスタ 10 DLCR100 R/W -------- ----XXXX DLC レジスタ 11 DLCR110 R/W -------- ----XXXX DLC レジスタ 12 DLCR120 R/W -------- ----XXXX DLC レジスタ 13 DLCR130 R/W -------- ----XXXX DLC レジスタ 14 DLCR140 R/W -------- ----XXXX DLC レジスタ 15 DLCR150 R/W -------- ----XXXX 1000ACH ∼ 1000B3H データレジスタ 0 (8 バイト ) DTR00 R/W XXXXXXXX ∼ XXXXXXXX 1000B4H ∼ 1000BBH データレジスタ 1 (8 バイト ) DTR10 R/W XXXXXXXX ∼ XXXXXXXX 1000BCH ∼ 1000C3H データレジスタ 2 (8 バイト ) DTR20 R/W XXXXXXXX ∼ XXXXXXXX 1000C4H ∼ 1000CBH データレジスタ 3 (8 バイト ) DTR30 R/W XXXXXXXX ∼ XXXXXXXX 1000CCH ∼ 1000D3H データレジスタ 4 (8 バイト ) DTR40 R/W XXXXXXXX ∼ XXXXXXXX 1000D4H ∼ 1000DBH データレジスタ 5 (8 バイト ) DTR50 R/W XXXXXXXX ∼ XXXXXXXX 1000DCH ∼ 1000E3H データレジスタ 6 (8 バイト ) DTR60 R/W XXXXXXXX ∼ XXXXXXXX CAN0 10009AH 10009BH 10009CH 10009DH 10009EH 10009FH 1000A0H 1000A1H 1000A2H 1000A3H 1000A4H 1000A5H 1000A6H 1000A7H 1000A8H 1000A9H 1000AAH 1000ABH 初期値 437 第 16 章 CAN コントローラ 表 16.2-3 メッセージバッファ (DLC レジスタ , およびデータレジスタ ) 一覧 (3 / 3) アドレス レジスタ 略記 アクセス 初期値 1000E4H ∼ 1000EBH データレジスタ 7 (8 バイト ) DTR70 R/W XXXXXXXX ∼ XXXXXXXX 1000ECH ∼ 1000F3H データレジスタ 8 (8 バイト ) DTR80 R/W XXXXXXXX ∼ XXXXXXXX 1000F4H ∼ 1000FBH データレジスタ 9 (8 バイト ) DTR90 R/W XXXXXXXX ∼ XXXXXXXX 1000FCH ∼ 100103H データレジスタ 10 (8 バイト ) DTR100 R/W XXXXXXXX ∼ XXXXXXXX 100104H ∼ 10010BH データレジスタ 11 (8 バイト ) DTR110 R/W XXXXXXXX ∼ XXXXXXXX 10010CH ∼ 100113H データレジスタ 12 (8 バイト ) DTR120 R/W XXXXXXXX ∼ XXXXXXXX 100114H ∼ 10011BH データレジスタ 13 (8 バイト ) DTR130 R/W XXXXXXXX ∼ XXXXXXXX 10011CH ∼ 100123H データレジスタ 14 (8 バイト ) DTR140 R/W XXXXXXXX ∼ XXXXXXXX 100124H ∼ 10012BH データレジスタ 15 (8 バイト ) DTR150 R/W XXXXXXXX ∼ XXXXXXXX CAN0 表 16.2-4 構成レジスタ (CREG) アドレス CAN0 10012CH 10012DH 438 レジスタ 略記 アクセス 初期値 構成レジスタ CREG0 R/W 00000000 00000110 第 16 章 CAN コントローラ 16.2.1 オーバオール制御レジスタ オーバオール制御レジスタには , 制御ステータスレジスタ (CSR), および最終イベン トインディケータレジスタ (LEIR) の 2 種類があります。 ■ 制御ステータスレジスタ (CSR) 制御ステータスレジスタ (CSR) の下位 8 ビットに対しては , ビット操作命令 ( リードモ ディファイライト命令 ) を実行することは禁止されています。ただし , HALT ビットが 変化しないタイミング ( マクロの初期化時など ) では , ビット操作命令を使用しても問 題ありません。 図 16.2-1 に , 制御ステータスレジスタ (CSR) のビット構成を示します。 図 16.2-1 制御ステータスレジスタ (CSR) のビット構成 アドレス : 00100010H(CAN0) 読出し / 書込み : 初期値 : アドレス : 00100011H(CAN0) 読出し / 書込み : 初期値 : bit15 14 13 12 11 10 9 8 TS R (0) RS R (0) − (-) − (-) − (-) NT NS1 NS0 R/W (0) R (0) R (0) bit7 6 5 4 3 2 1 0 TOE R/W (0) − (-) − (-) − (-) − (-) NIE − (-) HALT R/W (0) R/W (1) [bit15] TS : 送信状態ビット このビットは , メッセージが送信されているかどうかを示します。 • 0 : メッセージは送信されていません • 1 : メッセージは送信されました このビットは , エラー, およびオーバロードフレームが送信されたときも "0" になり ます。 [bit14] RS : 受信状態ビット このビットは , メッセージが受信されているかどうかを示します。 • 0 : メッセージは受信されていません • 1 : メッセージは受信されました メッセージがバス上にある間 , このビットは "1" になります。したがって , メッセー ジが送信されているときも , このビットは "1" になります。このビットは , 必ずしも 受信メッセージが受入フィルタを通過したかどうかを示すものではありません。 結果として , このビットが "0" のときは , バス動作が停止 (HALT=0) していることを 意味します。すなわち , バスが断続 / バスアイドル状態であるか , またはエラー / オーバロードフレームがバス上にあるかです。 [bit10] NT : ノード状態遷移フラグ ノード状態がインクリメントに転じるか , または Bus Off から Error Active に変化す ると , このビットが "1" に設定されます。言い換えると , ノード状態が Error Active("00") か ら Warning("01"), Warning("01") か ら Error Passive("10"), Error Passive("10") から Bus Off("11"), また , Bus Off("11") から Error Active("00") に変わる と , NT ビットが "1" に設定されます。括弧内の数字は , NS1 と NS0 のビット値を示 しています。 439 第 16 章 CAN コントローラ ノード状態遷移割込み許可ビット (NIE) が "1" の場合 , 割込みが発生します。"0" を 書き込むと , NT ビットは "0" に設定されます。NT ビットへの "1" の書込みは無視 されます。リードモディファイライト命令が読み出されたときに , "1" が読み出され ます。 [bit9, bit8] NS1, NS0 : ノード状態ビット 1, ビット 0 これらのビットは , 現在のノード状態を示します。 表 16.2-5 に NS1, NS0 ビットとノード状態の対応を , 図 16.2-2 にノード状態の遷移 を示します。 表 16.2-5 NS1, NS0 とノード状態の対応 NS1 NS0 ノード状態 0 0 Error active 0 1 Warning (active) 1 0 Error passive 1 1 Bus off 図 16.2-2 ノード状態の遷移 ハードウェアリセット REC:受信エラーカウンタ TEC:送信エラーカウンタ Error active レジスタ(CSR)のHALTビットへの0の書込み後、 連続11ビットのハイレベル(中断ビット)が、受 信入力端子(RX)に128回入力されます。 REC ≧ 96 または TEC ≧ 96 REC < 96 および TEC < 96 REC ≧ 128 または TEC ≧ 128 Error passive <注意事項> Warning (active) REC < 128 および TEC < 128 TEC ≧ 256 Bus off (HALT = 1) Warning (active) は , CAN 仕様 2.0B のノード状態の error active に含まれています が , 送信エラーカウンタ , または受信エラーカウンタが 96 を超えていることを示し ています。 [bit7] TOE : 送信出力許可ビット このビットに "1" を書き込むと , 汎用ポート端子から CAN コントローラの送信端子 に切り替わります。 440 第 16 章 CAN コントローラ • 0 : 汎用ポート端子 • 1 : CAN コントローラの送信端子 [bit2] NIE : ノード状態遷移割込み許可ビット このビットは , ノード状態遷移割込みを許可 , または禁止にします (NT=1 の とき )。 • 0 : ノード状態遷移割込み禁止 • 1 : ノード状態遷移割込み許可 [bit0] HALT : バス動作停止ビット このビットは , バス動作停止を設定するか , 取消しするか , またはその状態を表示し ます。 読込み時 0: バス動作中 1: バス動作停止 書込み時 0: バス動作停止を解除 1: バス動作停止をセット <注意事項> Bus Off 時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になってい ることを確認後 , "0" を書き込んでください。 参考プログラム例 : switch (10_CANCT0.CSR.bit.NS) { case 0 : /* error active */ break; case 1 : /* warning */ break; case 2 : /* error passive */ break; default : /* bus off */ for(i=0;(i<=500)&&(10_CANCT0.CSR.bit.HALT==0);i++); 10_CANCT0.CSR.word = 0x0084; /* HALT = 0 */ break; { *: 変数 i はフェイルセーフのために使用しています。 • バス動作停止 (HALT=1) の設定条件 - ハードウェアリセット後 - ノード状態が Bus Off に変わったとき - HALT に "1" を書き込む <注意事項> • バスの動作は , MB91360 シリーズが低電力消費モード ( ストップモード , RTC モード , およびハードウェアスタンバイモード ) に変わる前に , HALT に "1" を書 き込むことによって停止しなければなりません。 • HALT に "1" を書き込んだときに送信中であった場合は , バスの動作は送信が終 了すると停止します (HALT=1)。HALT に "1" を書き込んだときに受信中であった 場合は , バスの動作は直ちに停止します (HALT=1)。受信メッセージをメッセー ジバッファ (x) に記憶中のときは , メッセージ記憶後にバス動作を停止します (HALT=1)。 • バス動作が停止したかどうかを確認するには , HALT ビットを読み出します。 441 第 16 章 CAN コントローラ • バス動作停止 (HALT=0) の取消し条件 - HALT に "0" を書き込む <注意事項> • 上記の条件のとおり , ハードウェアリセット後 , または HALT に "1" を書き込む ことによって設定されたバス動作停止の取消しは , HALT に "0" を書き込み , 連続 11 ビットのハイレベル ( 断続ビット ) が受信入力端子 (RX) に入力された後に実 行されます (HALT=0)。 • 上記の条件のとおり , ノード状態が Bus Off に変わったときに設定されたバス動 作停止の取消しは , HALT に "0" を書き込み , 連続 11 ビットのハイレベル ( 断続 ビット ) が受信入力端子 (RX) に 128 回入力された後に実行されます (HALT=0)。 その後 , 送信 , および受信の両エラーカウンタは 0 に達し , ノード状態は error active に変わります。 • Bus Off 時に HALT ビットに "0" を書き込む場合は , HALT ビットが "1" になって いることを確認後 , "0" を書き込んでください。 • バス動作停止時の状態 (HALT=1) - バスは , 送信・受信いずれの動作も行いません。 - 送信出力端子 (TX) は , ハイレベル ( 断続ビット ) を出力します。 - 他のレジスタ , およびエラーカウンタの値は変わりません。 <注意事項> ビットタイミングレジスタ (BTR) は , バス動作停止時 (HALT=1) に設定しなければ なりません。 ■ 最終イベントインディケータレジスタ (LEIR) 最終イベントインディケータレジスタ (LEIR) は , 最終イベントを表示します。 NTE, TCE, および RCE は , 排他的です。最終イベントのビットが "1" に設定されると , ほかのビットは "0" に設定されます。 図 16.2-3 に , 最終イベントインディケータレジスタ (LEIR) のビット構成を示します。 図 16.2-3 最終イベントインディケータレジスタ (LEIR) のビット構成 7 6 5 アドレス : 00100013H(CAN0) bit NTE TCE RCE 読出し / 書込み : 初期値 : R/W (0) R/W (0) R/W (0) 4 3 2 1 0 − (-) MBP3 MBP2 MBP1 MBP0 R/W (0) R/W (0) R/W (0) R/W (0) [bit7] NTE : ノード状態遷移イベントビット このビットが "1" のとき , ノード状態遷移が最終イベントであることを示します。 • このビットは , 制御ステータスレジスタ (CSR) の NT ビットと同時に "1" に設定され ます。このビットも , CSR のノード状態遷移割込み許可ビット (NIE) の設定に関係 なく , "1" に設定されます。 • このビットに "0" を書き込むと , NT ビットが "0" に設定されます。このビットへの "1" の書込みは無視されます。リードモディファイライト命令が実行されたときに , "1" が読み出されます。 [bit6] TCE : 送信完了イベントビット このビットが "1" のとき , 送信完了が最終イベントであることを示します。 • このビットは , 送信完了レジスタ (TCR) のビットのうち , 任意の 1 つのビットと同 時に "1" に設定されます。このビットも , 送信割込み許可レジスタ (TIER) のビット の設定に関係なく , "1" に設定されます。 442 第 16 章 CAN コントローラ • このビットに "0" を書き込むと , "0" に設定されます。このビットへの "1" の書込み は無視されます。リードモディファイライト命令が実行されたときに , "1" が読み出 されます。 • このビットが "1" に設定されると , 送信動作を完了するメッセージバッファの番号 を示すために , MBP3 ∼ MBP0 ビットが使用されます。 [bit5] RCE : 受信完了イベントビット このビットが "1" のとき , 受信完了が最終イベントであることを示します。 • このビットは , 受信完了レジスタ (RCR) のビットのうち , 任意の 1 つのビットと同 時に "1" に設定されます。このビットも , 受信割込み許可レジスタ (RIER) のビット の設定に関係なく , "1" に設定されます。 • このビットに "0" を書き込むと , "0" に設定されます。このビットへの "1" の書込み は無視されます。リードモディファイライト命令が実行されたときに , "1" が読み出 されます。 • このビットが "1" に設定されると , 受信動作を完了するメッセージバッファの番号 を示すために MBP3 ∼ MBP0 ビットが使用されます。 [bit3 ∼ bit0] MBP3 ∼ MBP0 : メッセージバッファポインタビット TCE, または RCE が "1" に設定されると , これらのビットは対応するメッセージバッ ファの番号 (0 ∼ 15) を示します。NTE ビットが "1" に設定された場合は , これらの ビットは何の意味も持ちません。 • これらのビットに "0" を書き込むと , "0" に設定されます。これらのビットへの "1" の書込みは無視されます。リードモディファイライト命令が読み出されたときに , "1" が読み出されます。 <注意事項> CAN 割込みハンドラ内で LEIR にアクセスすると , 割込みの要因となるイベント は , 必ずしも LEIR が示したものと同じにはなりません。割込み要求から割込みハ ンドラ内の LEIR アクセスまでの間に , 別の CAN イベントが起きている可能性があ ります。 443 第 16 章 CAN コントローラ 16.2.2 送信 , および受信エラーカウンタ (RTEC) 送信 , および受信エラーカウンタ (RTEC) は , 送信時 , および受信時に発生したエ ラー数をカウントするカウンタです。 ■ 送信 , および受信エラーカウンタ (RTEC) のビット構成 図 16.2-4 に , 送信 , および受信エラーカウンタ (RTEC) のビット構成を示します。 図 16.2-4 送信 , および受信エラーカウンタ (RTEC) のビット構成 bit 15 アドレス : 00100014H(CAN0) TEC7 読出し / 書込み : 初期値 : bit R (0) 7 アドレス : 00100015H(CAN0) REC7 読出し / 書込み : 初期値 : R (0) 14 13 12 11 10 9 8 TEC6 TEC5 TEC4 TEC3 TEC2 TEC1 TEC0 R (0) R (0) R (0) R (0) R (0) R (0) R (0) 6 5 4 3 2 1 0 REC6 REC5 REC4 REC3 REC2 REC1 REC0 R (0) R (0) R (0) R (0) R (0) R (0) R (0) [bit15 ∼ bit8] TEC7 ∼ TEC0 : 送信エラーカウンタ これらのビットは , 送信エラーカウンタです。 TEC7 ∼ TEC0 の値は , カウンタ値が 256 を超えている場合に 0 ∼ 7 を示し , その後 の増分はカウンタ値にカウントされません。この場合 , ノード状態は Error Passive を示します ( 制御ステータスレジスタ CSR の NS1, および NS0=11)。 [bit7 ∼ bit0] REC7 ∼ REC0 : 受信エラーカウンタ これらのビットは , 受信エラーカウンタです。 REC7 ∼ REC0 の値は , カウンタ値が 256 を超えている場合に 0 ∼ 7 を示し , その後 の増分はカウンタ値にカウントされません。この場合 , ノード状態は Bus Off を示 します ( 制御ステータスレジスタ CSR の NS1, および NS0=10)。 444 第 16 章 CAN コントローラ 16.2.3 ビットタイミングレジスタ (BTR) ビットタイミングレジスタ (BTR) は , プリスケーラとビットタイミングを設定しま す。 ■ ビットタイミングレジスタ (BTR) のビット構成 図 16.2-5 に , ビットタイミングレジスタ (BTR) のビット構成を示します。 図 16.2-5 ビットタイミングレジスタ (BTR) のビット構成 bit 15 14 13 12 11 10 9 8 TS2.1 TS2.0 TS1.3 TS1.2 TS1.1 TS1.0 読出し / 書込み : 初期値 : − (-) TS2.2 R/W (1) R/W (1) R/W (1) R/W (1) R/W (1) R/W (1) R/W (1) bit 7 アドレス : 00100016H(CAN0) 6 5 4 3 2 1 0 アドレス : 00100017H(CAN0) RSJ1 RSJ0 PSC5 PSC4 PSC3 PSC2 PSC1 PSC0 R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 読出し / 書込み : 初期値 : <注意事項> このレジスタは , バス動作停止時 (HALT=1) に設定しなければなりません。 [bit14 ∼ bit12] TS2.2 ∼ TS2.0: 時間セグメント 2 設定ビット 2 ∼ 0 これらのビットは , 時間量 (TQ) の [(TS2.2 ∼ TS2.0) + 1] 周波数分割を引き起こし , 時間セグメント 2(TSEG2) を決定します。時間セグメント 2 は , CAN 仕様のフェー ズバッファセグメント 2(PHASE_SEG2) に相当します。 [bit11 ∼ bit8] TS1.3 ∼ TS1.0 : 時間セグメント 1 設定ビット 3 ∼ 0 これらのビットは , 時間量 (TQ) の [(TS1.3 ∼ TS1.0) + 1] 周波数分割を引き起こし , 時間セグメント 1(TSEG1) を決定します。時間セグメント 1 は , CAN 仕様の伝播セ グメント (PROP_SEG) とフェーズバッファセグメント 1(PHASE_SEG1) に相当しま す。 [bit7, bit6] RSJ1, RSJ0 : 再同期ジャンプ幅設定ビット 1, 0 これらのビットは , 時間量 (TQ) の [(RSJ1 ∼ RSJ0) + 1] 周波数分割を引き起こし , 再同期ジャンプ幅を決定します。 [bit5 ∼ bit0] PSC5 ∼ PSC0 : プリスケーラ設定ビット 5 ∼ 0 これらのビットは , 入力クロックの [(PSC5 ∼ PSC0) + 1] 周波数分割を引き起こし , CAN コントローラの時間量 (TQ) を決定します。 CAN 仕様 , CAN コントローラのビット時間セグメントを , それぞれ図 16.2-6 , およ び図 16.2-7 に示します。 445 第 16 章 CAN コントローラ 図 16.2-6 CAN 仕様のビット時間セグメント 公称ビット時間 SYNC_SEG PROP_SEG PHASE_SEG1 PHASE_SEG2 サンプルポイント 図 16.2-7 CAN コントローラのビット時間セグメント 公称ビット時間 SYNC_SEG TSEG1 TSEG2 サンプルポイント 入力クロック (CLK), 時間量 (TQ), ビット時間 (BT), 同期セグメント (SYNC_SEG), 時 間セグメント 1, および時間セグメント 2(TSEG1, および TSEG2), 再同期ジャンプ幅 [(RSJ1, および RSJ0) + 1] 周波数分割と PSC=PSC5 ∼ PSC0, TS1=TS1.3 ∼ TS1.0, TS2=TS2.2 ∼ TS2.0, RSJ=RSJ1, RSJ0 の関係を以下に示します。 TQ =(PSC + 1) × CLK BT = SYNC_SEG + TSEG1 + TSEG2 = (1 + (TS1 + 1) + (TS2 + 1)) × TQ = (3 + TS1 + TS2) × TQ RSJW = (RSJ + 1) × TQ CAN コントローラを正しく動作させるために , 以下に示す条件を満たす必要があり ます。 1 <= PSC <= 63 の場合 : TSEG1 >= 2TQ TSEG1 >= RSJW TSEG2 >= 2TQ TSEG2 >= RSJW PSC = 0 の場合 : TSEG1 >= 5TQ TSEG2 >= 2TQ TSEG2 >= RSJW <注意事項> 446 CAN 仕様に定義されるビットタイミングの要件を満足するために , 追加条件を満足 する必要があります。たとえば , 伝播遅延を検討する必要があります。 第 16 章 CAN コントローラ 16.2.4 メッセージバッファ制御レジスタ メッセージバッファ制御レジスタには , 14 種類のレジスタがあります。 ■ メッセージバッファ制御レジスタの種類 14 種類のメッセージバッファ制御レジスタは , 以下のとおりです。 • メッセージバッファ有効レジスタ (BVALR) • IDE レジスタ (IDER) • 送信要求レジスタ (TREQR) • 送信 RTR レジスタ (TRTRR) • リモートフレーム受信待ちレジスタ (RFWTR) • 送信取消しレジスタ (TCANR) • 送信完了レジスタ (TCR) • 送信割込み許可レジスタ (TIER) • 受信完了レジスタ (RCR) • リモート要求受信レジスタ (RRTRR) • 受信オーバランレジスタ (ROVRR) • 受信割込み許可レジスタ (RIER) • 受入れマスク選択レジスタ (AMSR) • 受入れマスクレジスタ 00, 10(AMR00, AMR10) ■ メッセージバッファ有効レジスタ (BVALR) 図 16.2-8 に , メッセージバッファ有効レジスタ (BVALR) のビット構成を示します。 図 16.2-8 メッセージバッファ有効レジスタ (BVALR) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 00100000H(CAN0) BVAL15 BVAL14 BVAL13 BVAL12 BVAL11 BVAL10 BVAL9 BVAL8 読出し / 書込み : 初期値 : R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 7 6 5 4 3 2 1 0 bit アドレス : 00100001H(CAN0) BVAL7 BVAL6 BVAL5 BVAL4 BVAL3 BVAL2 BVAL1 BVAL0 読出し / 書込み : 初期値 : R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) このレジスタは , メッセージバッファ (x) の妥当性を設定するか , またはその状態を表 示します。 • 0 : メッセージバッファ (x) 無効 • 1 : メッセージバッファ (x) 有効 メッセージバッファ (x) が無効に設定されると , メッセージバッファ (x) はメッセージ を送受信しません。 447 第 16 章 CAN コントローラ 送信要求禁止動作 送信要求を禁止するために BVAL ビットを使用しないでください。TCAN ビットを使 用してください。 送信メッセージ作成動作 送信メッセージを作成するために , ID レジスタおよび IDE レジスタの内容を変更する メッセージバッファを BVAL ビットにより無効にする必要があります。この場合 , TREQ ビットが "0" かどうかの確認後 , または先行のメッセージ送信完了後 (TC=1), BVAL ビットをリセットする必要があります (BVAL=0) 受信動作時にバッファを無効に設定すると , バッファは直ちに無効 (BVALx=0) になり ます。受信メッセージがメッセージバッファ (x) に記憶されている場合 , メッセージ バッファ (x) はメッセージが記憶された後に無効になります。 <注意事項> • x は , メッセージバッファ番号 (x = 0 ∼ 15) を示します。 • ビット (BVALx) に "0" を書き込むことでメッセージバッファ (x) を無効にする場 合 , ビットが "0" に設定されるまでビット操作命令は禁止されます。 ■ IDE レジスタ (IDER) 図 16.2-9 に , IDE レジスタ (IDER) のビット構成を示します。 図 16.2-9 IDE レジスタ (IDER) のビット構成 bit 15 14 13 12 11 10 9 8 IDE14 IDE13 IDE12 IDE11 IDE10 IDE9 IDE8 R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) 7 6 5 4 3 2 1 0 IDE6 R/W (X) IDE5 R/W (X) IDE4 R/W (X) IDE3 R/W (X) IDE2 R/W (X) IDE1 R/W (X) IDE0 R/W (X) アドレス : 00100018H(CAN0) IDE15 読出し / 書込み : 初期値 : bit アドレス : 00100019H(CAN0) IDE7 読出し / 書込み : R/W 初期値 : (X) このレジスタは, 送信/受信時にメッセージバッファ(x)が使用するフレームフォーマッ トを設定します。 • 0 : 標準フレームフォーマット (11 ビット ID) が , メッセージバッファ (x) に使用さ れています。 • 1 : 拡張フレームフォーマット (29 ビット ID) が , メッセージバッファ (x) に使用さ れています。 <注意事項> 448 このレジスタは , メッセージバッファ (x) が無効 ( メッセージバッファ有効レジスタ (BVALR) の BVALx=0) のときに設定しなければなりません。バッファが有効 (BVALx=1) のときに設定すると , 不必要な受信メッセージを記憶することになりま す。 第 16 章 CAN コントローラ ■ 送信要求レジスタ (TREQR) 図 16.2-10 に , 送信要求レジスタ (TREQR) のビット構成を示します。 図 16.2-10 送信要求レジスタ (TREQR) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 00100002H(CAN0) TREQ15 TREQ14 TREQ13 TREQ12 TREQ11 TREQ10 TREQ9 TREQ8 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 アドレス : 00100003H(CAN0) TREQ7 TREQ6 TREQ5 TREQ4 TREQ3 TREQ2 TREQ1 TREQ0 R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み : R/W (0) (0) (0) (0) (0) (0) (0) 初期値 : (0) このレジスタは , メッセージバッファ (x) に送信要求を設定するか , またはその状態を 表示します。 TREQx に "1" を書き込むと , メッセージバッファ (x) への送信が開始されます。リモー トフレーム受信待ちレジスタ (RFWTR)*1 の RFWTx が "0" の場合 , 直ちに送信が開始さ れます。しかし , RFWTx=1 の場合 , リモートフレームが受信される ( リモート要求受 信レジスタ (RRTRR)*1 の RRTRx が "1" になる ) のを待ってから , 送信が開始されます。 TREQx に "1" を書き込んだときに RRTRx がすでに "1" であった場合は , RFWTx=1 で あっても直ちに送信が開始されます。*2 *1 : RFWTR および TRTRR については , 「■ 送信 RTR レジスタ (TRTRR)」および 「■ リモートフレーム受信待ちレジスタ (RFWTR)」を参照してください。 *2 : 送信の取消しについては , 「■ 送信取消しレジスタ (TCANR)」および「16.2.6 イ ンタフェース制御レジスタ (CREG)」を参照してください。 • TREQx への "0" の書込みは , 無視されます。 • リードモディファイライト命令が実行されたときに , "0" が読み出されます。 • 送信動作完了時の ("0" への ) クリアと , "1" を書き込むことによる設定が同時に起 こった場合 , クリアが優先されます。 • 複数のビットに "1" を書き込むと , 小さい番号のメッセージバッファ(x) から順に送 信が実行されます。 • 送信が保留されているとき , TREQx は "1" であり , 送信が完了するか , または取り消 されると , "0" になります。 449 第 16 章 CAN コントローラ ■ 送信 RTR レジスタ (TRTRR) 図 16.2-11 に , 送信 RTR レジスタ (TRTRR) のビット構成を示します。 図 16.2-11 送信 RTR レジスタ (TRTRR) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 0010001AH(CAN0) TRTR15 TRTR14 TRTR13 TRTR12 TRTR11 TRTR10 TRTR9 TRTR8 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 アドレス : 0010001BH(CAN0) TRTR7 TRTR6 TRTR5 TRTR4 TRTR3 TRTR2 TRTR1 TRTR0 R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み : R/W (0) (0) (0) (0) (0) (0) (0) 初期値 : (0) このレジスタは , メッセージバッファ (x) により , 送信時の RTR(Remote Transmission Request : リモートトランスミッションリクエスト ) ビットを設定します。 • 0 : データフレーム送信 • 1 : リモートフレーム送信 ■ リモートフレーム受信待ちレジスタ (RFWTR) 図 16.2-12 に , リモートフレーム受信待ちレジスタのビット構成を示します。 図 16.2-12 リモートフレーム受信待ちレジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 0010001CH(CAN0) RFWT15 RFWT14 RFWT13 RFWT12 RFWT11 RFWT10 RFWT9 RFWT8 読出し / 書込み : 初期値 : bit R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) 7 6 5 4 3 2 1 0 アドレス : 0010001DH(CAN0) RFWT7 RFWT6 RFWT5 RFWT4 RFWT3 RFWT2 RFWT1 RFWT0 読出し / 書込み : 初期値 : R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) このレジスタは , データフレーム送信要求が設定されたとき ( 送信要求レジスタ (TREQR) の TREQx が "1", および送信 RTR レジスタ (TRTRR) の TRTRx が "0") に , 送 信を開始するための条件を設定します。 • 0 : 直ちに送信が開始されます • 1 : リモートフレームが受信される ( リモート要求受信レジスタ (RRTRR) の RRTRx が "1" になる ) のを待ってから , 送信が開始されます。 <注意事項> 450 • 送信要求が設定されたときに RRTRx がすでに "1" であった場合 , 直ちに送信が 開始されます。 • リモートフレーム送信については , RFWTx を "1" に設定しないでください。 第 16 章 CAN コントローラ ■ 送信取消しレジスタ (TCANR) 図 16.2-13 に , 送信取消しレジスタ (TCANR) のビット構成を示します。 図 16.2-13 送信取消しレジスタ (TCANR) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 00100004H(CAN0) TCAN15 TCAN14 TCAN13 TCAN12 TCAN11 TCAN10 TCAN9 TCAN8 W W W W W W W W 読出し / 書込み : (0) (0) (0) (0) (0) (0) (0) 初期値 : (0) bit 7 6 5 4 3 2 1 0 アドレス : 00100005H(CAN0) TCAN7 TCAN6 TCAN5 TCAN4 TCAN3 TCAN2 TCAN1 TCAN0 W W W W W W W W 読出し / 書込み : (0) (0) (0) (0) (0) (0) (0) 初期値 : (0) TCANx に "1" を書き込むと , このレジスタはメッセージバッファ(x) への送信の保留要 求を取り消します。 送信が完了すると , 送信要求レジスタ (TREQR) の TREQx が "0" になります。TCANx への "0" の書込みは無視されます。 これは書込み専用レジスタであり , 読出し時の値は常に "0" です。 ■ 送信完了レジスタ (TCR) 図 16.2-14 に , 送信完了レジスタ (TCR) のビット構成を示します。 図 16.2-14 送信完了レジスタ (TCR) のビット構成 bit 15 14 13 12 11 10 9 8 TC14 R/W (0) TC13 R/W (0) TC12 R/W (0) TC11 R/W (0) TC10 R/W (0) TC9 R/W (0) TC8 R/W (0) 7 6 5 4 3 2 1 0 TC7 R/W (0) TC6 R/W (0) TC5 R/W (0) TC4 R/W (0) TC3 R/W (0) TC2 R/W (0) TC1 R/W (0) TC0 R/W (0) アドレス : 00100006H(CAN0) TC15 読出し / 書込み : R/W 初期値 : (0) bit アドレス : 00100007H(CAN0) 読出し / 書込み : 初期値 : メッセージバッファ (x) による送信が完了すると , 対応する TCx は "1" になります。 送信完了割込み許可レジスタ (TIER) の TIEx が "1" の場合は , 割込みが発生します。 TCx=0 となる条件は , 次のとおりです。 • TCx に "0" を書き込む。 • 送信要求レジスタ (TREQR) の TREQx に "1" を書き込む。 送信完了後 , TCx に "0" を書き込んで設定を "0" にします。TCx への "1" の書込みは無 視されます。リードモディファイライト命令が実行されたときに , "1" が読み出されま す。 <注意事項> 送信動作完了時の ("1" への ) 設定と , "0" を書き込むことによるクリアが同時に起 こった場合 , 設定の方が優先されます。 451 第 16 章 CAN コントローラ ■ 送信割込み許可レジスタ (TIER) 図 16.2-15 に , 送信割込み許可レジスタ (TIER) のビット構成を示します。 図 16.2-15 送信割込み許可レジスタ (TIER) のビット構成 bit 15 アドレス : 0010001EH(CAN0) TIE15 読出し / 書込み : R/W 初期値 : (0) bit 14 13 12 11 10 9 8 TIE14 R/W (0) TIE13 R/W (0) TIE12 R/W (0) TIE11 R/W (0) TIE10 R/W (0) TIE9 R/W (0) TIE8 R/W (0) 7 アドレス : 0010001FH(CAN0) TIE7 読出し / 書込み : R/W 初期値 : (0) 6 5 4 3 2 1 0 TIE6 R/W (0) TIE5 R/W (0) TIE4 R/W (0) TIE3 R/W (0) TIE2 R/W (0) TIE1 R/W (0) TIE0 R/W (0) このレジスタは , メッセージバッファ(x) による送信割込みを許可 , または禁止します。 送信割込みは, 送信完了時(送信完了レジスタ(TCR)のTCxが"1"のとき)に発生します。 • 0 : 送信割込み禁止 • 1 : 送信割込み許可 ■ 受信完了レジスタ (RCR) 図 16.2-16 に , 受信完了レジスタ (RCR) のビット構成を示します。 図 16.2-16 受信完了レジスタ (RCR) のビット構成 bit 14 13 12 11 10 9 8 アドレス : 00100008H(CAN0) RC15 RC14 RC13 RC12 RC11 RC10 RC9 RC8 R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 7 6 5 4 3 2 1 0 アドレス : 00100009H(CAN0) RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 読出し / 書込み : 初期値 : R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 読出し / 書込み : 初期値 : bit 15 メッセージバッファ(x) で受信メッセージの記憶が完了すると , RCx は "1" になります。 受信完了割込み許可レジスタ (RIER) の RIEx が "1" の場合に , 割込みが発生します。 RCx=0 となる条件は , 次のとおりです。 • RCx に "0" を書き込む。 受信メッセージの記憶が完了すると , RCx に "0" を書き込んで設定を "0" にします。RCx への "1" の書込みは無視されます。リードモディファイライト命令が実行されたとき に , "1" が読み出されます。 <注意事項> 452 受信動作完了時の ("1" への ) 設定と , "0" を書き込むことによるクリアが同時に起 こった場合は , 設定の方が優先されます。 第 16 章 CAN コントローラ ■ リモート要求受信レジスタ (RRTRR) 図 16.2-17 に , リモート要求受信レジスタ (RRTRR) のビット構成を示します。 図 16.2-17 リモート要求受信レジスタ (RRTRR) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 0010000AH(CAN0) RRTR15 RRTR14 RRTR13 RRTR12 RRTR11 RRTR10 RRTR9 RRTR8 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 アドレス : 0010000BH(CAN0) RRTR7 RRTR6 RRTR5 RRTR4 RRTR3 RRTR2 RRTR1 RRTR0 R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み : R/W (0) (0) (0) (0) (0) (0) (0) 初期値 : (0) メッセージバッファ (x) で受信リモートフレームの記憶が完了すると , RRTRx は (RCx 設定が "1" になるのと同時に )"1" になります。 RRTRx=0 となる条件は , 次のとおりです。 • RRTRx に "0" を書き込む。 • メッセージバッファ (x) での受信データフレーム記憶後 (RCx 設定が "1" になるのと 同時 )。 • メッセージバッファ(x) による送信が完了 ( 送信完了レジスタ (TCR) の TCx が "1")。 RRTRx への "1" の書込みは無視されます。リードモディファイライト命令が実行され たときに , "1" が読み出されます。 <注意事項> "1" への設定と , "0" を書き込むことによるクリアが同時に起こった場合は , 設定の 方が優先されます。 ■ 受信オーバランレジスタ (ROVRR) 図 16.2-18 に , 受信オーバランレジスタ (ROVRR) のビット構成を示します。 図 16.2-18 受信オーバランレジスタ (ROVRR) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 0010000CH(CAN0) ROVR15 ROVR14 ROVR13 ROVR12 ROVR11 ROVR10 ROVR9 ROVR8 読出し / 書込み : 初期値 : bit R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 7 6 5 4 3 2 1 0 アドレス : 0010000DH(CAN0) ROVR7 ROVR6 ROVR5 ROVR4 ROVR3 ROVR2 ROVR1 ROVR0 読出し / 書込み : 初期値 : R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) メッセージバッファ (x) への受信メッセージの記憶完了時に , 受信完了レジスタ (RCR) の RCx が "1" である場合 , ROVRx は "1" になり , 受信がオーバランしたことを示します。 ROVRx に "0" を書き込むと , ROVRx が "0" になります。ROVRx への "1" の書込みは 453 第 16 章 CAN コントローラ 無視されます。受信がオーバランしたことを確認後 , ROVRx に "0" を書き込んで設定 を "0" にします。リードモディファイライト命令が実行されたときに , "1" が読み出さ れます。 <注意事項> "1" への設定と , "0" を書き込むことによるクリアが同時に起こった場合は , 設定の 方が優先されます。 ■ 受信割込み許可レジスタ (RIER) 図 16.2-19 に , 受信割込み許可レジスタ (RIER) のビット構成を示します。 図 16.2-19 受信割込み許可レジスタ (RIER) のビット構成 bit 14 13 12 11 10 9 8 アドレス : 0010000EH(CAN0) RIE15 RIE14 RIE13 RIE12 RIE11 RIE10 RIE9 RIE8 R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 7 6 5 4 3 2 1 0 RIE6 R/W (0) RIE5 R/W (0) RIE4 R/W (0) RIE3 R/W (0) RIE2 R/W (0) RIE1 R/W (0) RIE0 R/W (0) 読出し / 書込み : 初期値 : bit 15 アドレス : 0010000FH(CAN0) RIE7 読出し / 書込み : R/W 初期値 : (0) このレジスタは , メッセージバッファ(x) による受信割込みを許可 , または禁止します。 受信割込みは, 受信完了時(受信完了レジスタ(RCR)のRCxが"1"のとき)に発生します。 • 0 : 受信割込み禁止 • 1 : 受信割込み許可 454 第 16 章 CAN コントローラ ■ 受入マスク選択レジスタ (AMSR) 図 16.2-20 に , 受入マスク選択レジスタ (AMSR) のビット構成を示します。 図 16.2-20 受入マスク選択レジスタ (AMSR) のビット構成 BYTE0 bit15 14 13 12 11 10 9 8 アドレス : 00100020H(CAN0) AMS7.1 AMS7.0 AMS6.1 AMS6.0 AMS5.1 AMS5.0 AMS4.1 AMS4.0 R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み : R/W (X) (X) (X) (X) (X) (X) (X) 初期値 : (X) BYTE1 bit7 6 5 4 3 2 1 0 アドレス : 00100021H(CAN0) AMS3.1 AMS3.0 AMS2.1 AMS2.0 AMS1.1 AMS1.0 AMS0.1 AMS0.0 R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み : R/W (X) (X) (X) (X) (X) (X) (X) 初期値 : (X) BYTE2 bit15 14 13 12 11 10 9 8 アドレス : 00100022H(CAN0) AMS15.1 AMS15.0 AMS14.1 AMS14.0 AMS13.1 AMS13.0 AMS12.1 AMS12.0 R/W R/W R/W R/W R/W R/W R/W 読出し / 書込み : R/W (X) (X) (X) (X) (X) (X) (X) 初期値 : (X) BYTE3 bit7 6 5 4 3 2 1 0 アドレス : 00100023H(CAN0) AMS11.1 AMS11.0 AMS10.1 AMS10.0 AMS9.1 AMS9.0 AMS8.1 AMS8.0 読出し / 書込み : 初期値 : R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) このレジスタは , 受信メッセージ ID とメッセージバッファ (x)ID を比較するためのマ スク ( 受入マスク ) を選択します。 表 16.2-6 に , 受入マスク選択の設定内容を示します。 表 16.2-6 受入マスクの選択 <注意事項> AMSx.1 AMSx.0 0 0 フルビット比較 0 1 フルビットマスク 1 0 受入マスクレジスタ 0(AMR0) 1 1 受入マスクレジスタ 1(AMR1) 受入マスク AMSx.1, および AMSx.0 は , メッセージバッファ (x) が無効 ( メッセージバッファ有 効レジスタ (BVALR) の BVALx が "0") のときに設定しなければなりません。バッ ファが有効 (BVALx=1) のときに設定すると , 不必要な受信メッセージを記憶するこ とになります。 455 第 16 章 CAN コントローラ ■ 受入マスクレジスタ 0x, 1x(AMR0x, AMR1x) 図 16.2-21 に , 受入マスクレジスタ 0x, 1x(AMR0x, AMR1x) のビット構成を示します。 図 16.2-21 受入マスクレジスタ 0x, 1x(AMR0x, AMR1x) のビット構成 AMR0x BYTE1 bit15 アドレス : 00100024H(CAN0) AM20 読出し / 書込み : R/W 初期値 : (X) AMR0x BYTE0 bit7 アドレス : 00100025H(CAN0) AM28 読出し / 書込み : R/W 初期値 : (X) AMR0x BYTE3 bit15 アドレス : 00100026H(CAN0) AM4 読出し / 書込み : R/W 初期値 : (X) AMR0x BYTE2 bit7 AMR1x BYTE0 11 10 9 8 AM16 R/W (X) AM15 R/W (X) AM14 R/W (X) AM13 R/W (X) 6 5 4 3 2 1 0 AM27 R/W (X) AM26 R/W (X) AM25 R/W (X) AM24 R/W (X) AM23 R/W (X) AM22 R/W (X) AM21 R/W (X) 14 13 12 11 10 9 8 AM3 R/W (X) AM2 R/W (X) AM1 R/W (X) AM0 R/W (X) − (-) − (-) − (-) 5 4 3 2 1 0 AM10 R/W (X) AM9 R/W (X) AM8 R/W (X) AM7 R/W (X) AM6 R/W (X) AM5 R/W (X) 14 13 12 11 10 9 8 AM19 AM18 AM17 AM16 AM15 AM14 AM13 R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) bit7 6 5 4 3 2 1 0 AM27 R/W (X) AM26 R/W (X) AM25 R/W (X) AM24 R/W (X) AM23 R/W (X) AM22 R/W (X) AM21 R/W (X) bit15 アドレス : 00100029H(CAN0) AM28 読出し / 書込み : R/W 初期値 : (X) AMR1x BYTE3 bit15 14 13 12 11 10 9 8 アドレス : 0010002AH(CAN0) AM4 AM3 AM2 AM1 AM0 読出し / 書込み : 初期値 : R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) − (-) − (-) − (-) bit7 6 5 4 3 2 1 0 AM11 AM10 AM9 AM8 AM7 AM6 AM5 R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) AMR1x BYTE2 アドレス : 0010002BH(CAN0) AM12 読出し / 書込み : 初期値 : 456 12 AM17 R/W (X) 6 アドレス : 00100028H(CAN0) AM20 読出し / 書込み : 初期値 : 13 AM18 R/W (X) AM11 R/W (X) アドレス : 00100027H(CAN0) AM12 読出し / 書込み : R/W 初期値 : (X) AMR1x BYTE1 14 AM19 R/W (X) R/W (X) 第 16 章 CAN コントローラ AMR0x と AMR1x の 2 つの受入マスクレジスタがあります。これらは両方とも , 標準 フレームフォーマット , または拡張フレームフォーマットのいずれでも使用できます。 AM28 ∼ AM18(11 ビット ) は標準フレームフォーマットの受入マスクに使用され , AM28 ∼ AM0(29 ビット ) は拡張フレームフォーマットの受入マスクに使用されます。 • 0 : Compare - このビットに対応する受入コード ( 受信メッセージ ID と比較するための ID レジ スタ IDRx) のビットと , 受信メッセージ ID のビットを比較します。一致しない場 合 , メッセージは受信されません。 • 1 : Mask - このビットに対応する受入コード ID レジスタ (IDRx) のビットをマスクします。 受信メッセージ ID のビットとの比較は行われません。 <注意事項> AMR0x と AMR1x は , AMR0x と AMR1x を選択しているすべてのメッセージバッ ファ (x) が , 無効 ( メッセージバッファ有効レジスタ (BVALR) の BVALx が "0") の ときに設定しなければなりません。バッファが有効 (BVALx が "1") のときに設定す ると , 不必要な受信メッセージを記憶することになります。 457 第 16 章 CAN コントローラ 16.2.5 メッセージバッファ メッセージバッファは 16 個あり , 1 つのメッセージバッファは以下の 3 種類のレジ スタから構成されます。 • ID レジスタ (IDRx) • DLC レジスタ (DLCRx) • データレジスタ (DTRx) ■ メッセージバッファの機能 メッセージバッファのおもな機能は , 以下のとおりです。 • メッセージバッファ (x) は , 送信と受信の両方で使用されます。 • 小さい番号のメッセージバッファに , 高い優先順位が割り当てられます。 - 送信時に , 複数のメッセージバッファに対して送信要求が行われると , 一番小さ い番号のメッセージバッファから順に送信が実行されます (「16.3 CAN コント ローラの動作」の「■ 送信動作」参照 )。 - 受信時に , 受信メッセージ ID が複数のメッセージバッファの受入フィルタ ( 受信 メッセージの受入マスク ID とメッセージバッファを比較する機構 ) を通過する と , 受信メッセージは一番小さい番号のメッセージバッファに記憶されます (「16.3 CAN コントローラの動作」の「■ 送信動作」参照 )。 • 複数のメッセージバッファに同じ受入フィルタを設定すると , それらのメッセージ バッファを多重メッセージバッファとして使用することができます。これにより , 受信時間に余裕を持たせることができます (「16.4 使用手順」の「■多重メッセー ジバッファ構成の設定」参照 )。 <注意事項> • メッセージバッファ , および汎用 RAM 領域への書込み動作は , アドレスだけで あっても , ワードで行わなければなりません。バイトで書込み動作を行うと , 下 位バイトへの書込み時に , 未定義データを上位バイトに書き込むことになりま す。上位バイトへの書込みは無視されます。 • メッセージバッファ有効レジスタ (BVALR) の BVALx ビットが "0"( 無効 ) の場合 , メッセージバッファ x(IDRx, DLCRx, および DTRx) を汎用 RAM として使用する ことができます。ただし , 受信動作時に , 待ち時間が最大 64 マシンサイクルに なることがあります。同じことが , 汎用 RAM 領域 (CAN0 : アドレス 00001A00H ∼ 00001A1FH, および CAN1 : アドレス 00001B00H ∼ 00001B1FH) にも当てはまります。 458 第 16 章 CAN コントローラ ■ ID レジスタ x(x=0 ∼ 15)(IDRx) 図 16.2-22 に , ID レジスタ x(x=0 ∼ 15)(IDRx) のビット構成を示します。 図 16.2-22 ID レジスタ x(x=0 ∼ 15)(IDRx) のビット構成 BYTE1 bit15 アドレス : 0010004CH+4X(CAN0) ID20 読出し / 書込み : R/W 初期値 : (X) BYTE0 bit7 アドレス : 0010004DH+4X(CAN0) ID28 読出し / 書込み : R/W 初期値 : (X) BYTE3 アドレス : 0010004EH+4X(CAN0) 読出し / 書込み : 初期値 : BYTE2 13 12 11 10 9 8 ID18 R/W (X) ID17 R/W (X) ID16 R/W (X) ID15 R/W (X) ID14 R/W (X) ID13 R/W (X) 6 5 4 3 2 1 0 ID27 R/W (X) ID26 R/W (X) ID25 R/W (X) ID24 R/W (X) ID23 R/W (X) ID22 R/W (X) ID21 R/W (X) bit15 14 13 12 11 10 9 8 ID4 R/W (X) ID3 R/W (X) ID2 R/W (X) ID1 R/W (X) ID0 R/W (X) − (-) − (-) − (-) bit7 アドレス : 0010004FH+4X(CAN0) 14 ID19 R/W (X) ID12 読出し / 書込み : R/W 初期値 : (X) 6 5 4 3 2 1 0 ID11 R/W (X) ID10 R/W (X) ID9 R/W (X) ID8 R/W (X) ID7 R/W (X) ID6 R/W (X) ID5 R/W (X) これは , メッセージバッファ (x) の ID レジスタです。 標準フレームフォーマット (IDE レジスタ (IDER) の IDEx=0) でメッセージバッファ(x) を使用する場合は , ID28 ∼ ID18 の 11 ビットを使用します。拡張フレームフォーマッ ト (IDEx=1) でメッセージバッファを使用する場合は , ID28 ∼ ID0 の 29 ビットを使用 します。 ID28 ∼ ID0 には , 以下の機能があります。 • 受入コード ( 受信メッセージ ID と比較するための ID) の設定 • 送信メッセージ ID の設定 : 標準フレームフォーマットでは , ID28 ∼ ID22 のすべ てのビットに "1" を設定することは禁止されています。 • 受信メッセージ ID の記憶 : 受信メッセージ ID は , 受信マスクビットにも記憶され ます。標準フレームフォーマットでは , ID17 ∼ ID0 は 未定義です。 <注意事項> • このレジスタへの書込み動作は , ワードで行わなければなりません。バイトで書 込み動作を行うと , 下位バイトへの書込み時に , 未定義データを上位バイトに書 き込むことになります。上位バイトへの書込みは無視されます。 • このレジスタは , メッセージバッファ (x) が無効 ( メッセージバッファ有効レジ スタ (BVALR) の BVALx が "0") のときに設定します。バッファが有効 (BVALx が "1") のときに設定すると , 不必要な受信メッセージを記憶することになります。 459 第 16 章 CAN コントローラ ■ DLC レジスタ x(x=0 ∼ 15)(DLCRx) 図 16.2-23 に , DLC レジスタ x(x=0 ∼ 15)(DLCRx) のビット構成を示します。 図 16.2-23 DLC レジスタ x(x=0 ∼ 15)(DLCRx) のビット構成 bit アドレス : 0010008DH+2X(CAN0) 読出し / 書込み : 初期値 : 7 − (-) 6 − (-) 5 − (-) 4 3 2 1 0 − (-) DLC3 R/W (X) DLC2 R/W (X) DLC1 R/W (X) DLC0 R/W (X) メッセージバッファ x の DLC レジスタです。 ● 送信時機能 • データフレームを送信する ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0") ときは , 送信メッセージのデータ長 ( バイトカウント ) を設定します。 • リモートフレームを送信するときは (TRTRx が "1"), 要求メッセージのデータ長 ( バ イトカウント ) を設定します。 <注意事項> "0000" ∼ "1000"(0 ∼ 8 バイト ) 以外の設定は , 禁止されています。 ● 受信時機能 • データフレームを受信する ( リモートフレーム要求受信レジスタ (RRTRR) の RRTRx が "0") ときは , 受信メッセージのデータ長 ( バイトカウント ) を記憶します。 • リモートフレームを受信するときは (RRTRx が "1"), 要求メッセージのデータ長 ( バ イトカウント ) を記憶します。 <注意事項> 460 このレジスタへの書込み動作は , ワードで行わなければなりません。バイトで書込 み動作を行うと , 下位バイトへの書込み時に未定義データを上位バイトに書き込ん だり , 上位バイトへの書込み時に未定義データを下位バイトに書き込んだりするこ とになります。 第 16 章 CAN コントローラ ■ データレジスタ x(x=0 ∼ 15)(DTRx) 図 16.2-24 に , データレジスタ x(x=0 ∼ 15)(DTRx) のビット構成を示します。 図 16.2-24 データレジスタ x(x=0 ∼ 15)(DTRx) のビット構成 BYTE1 アドレス : 001000ACH+8X(CAN0) 読出し / 書込み : 初期値 : BYTE0 アドレス : 001000ADH+8X(CAN0) 読出し / 書込み : 初期値 : BYTE3 アドレス : 001000AEH+8X(CAN0) 読出し / 書込み : 初期値 : BYTE2 アドレス : 001000AFH+8X(CAN0) 読出し / 書込み : 初期値 : BYTE5 アドレス : 001000B0H+8X(CAN0) 読出し / 書込み : 初期値 : BYTE4 アドレス : 001000B1H+8X(CAN0) 読出し / 書込み : 初期値 : BYTE7 アドレス : 001000B2H+8X(CAN0) 読出し / 書込み : 初期値 : BYTE6 アドレス : 001000B3H+8X(CAN0) 読出し / 書込み : 初期値 : bit15 14 13 12 11 10 9 8 D7 R/W (X) D6 R/W (X) D5 R/W (X) D4 R/W (X) D3 R/W (X) D2 R/W (X) D1 R/W (X) D0 R/W (X) bit7 6 5 4 3 2 1 0 D7 R/W (X) D6 R/W (X) D5 R/W (X) D4 R/W (X) D3 R/W (X) D2 R/W (X) D1 R/W (X) D0 R/W (X) bit15 14 13 12 11 10 9 8 D7 R/W (X) D6 R/W (X) D5 R/W (X) D4 R/W (X) D3 R/W (X) D2 R/W (X) D1 R/W (X) D0 R/W (X) bit7 6 5 4 3 2 1 0 D7 R/W (X) D6 R/W (X) D5 R/W (X) D4 R/W (X) D3 R/W (X) D2 R/W (X) D1 R/W (X) D0 R/W (X) bit15 14 13 12 11 10 9 8 D7 D6 D5 D4 D3 D2 D1 D0 R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) bit7 6 5 4 3 2 1 0 D7 R/W (X) D6 R/W (X) D5 R/W (X) D4 R/W (X) D3 R/W (X) D2 R/W (X) D1 R/W (X) D0 R/W (X) bit15 14 13 12 11 10 9 8 D7 D6 D5 D4 D3 D2 D1 D0 R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) bit7 6 5 4 3 2 1 0 D7 D6 D5 D4 D3 D2 D1 D0 R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) R/W (X) データレジスタ x(x=0 ∼ 15)(DTRx) は , メッセージバッファ(x) のデータレジスタです。 このレジスタは , データフレームの送受信にのみ使用され , リモートフレームの送受信 には使用されません。 461 第 16 章 CAN コントローラ • 送信メッセージデータ (0 ∼ 8 バイトのうち任意 ) を設定します。 - データは , MSB から始まって , BYTE0, BYTE1, ..., BYTE7 の順で送信されます。 • 受信メッセージデータを記憶します。 - データは , MSB から始まって , BYTE0, BYTE1, ..., BYTE7 の順で記憶されます。 受信メッセージデータが 8 バイト未満であっても , データレジスタ (DTRx) の残 りのバイトにデータが記憶され , それらは未定義になります。 <注意事項> 462 このレジスタへの書込み動作は , ワードで行わなければなりません。バイトで書込 み動作を行うと , 下位バイトへの書込み時に , 未定義データを上位バイトに書き込 むことになります。上位バイトへの書込みは無視されます。 第 16 章 CAN コントローラ インタフェース制御レジスタ (CREG) 16.2.6 インタフェース制御レジスタ (CREG) は , CANCLK, およびユーザロジックバスク ロック (CLKT) の異なるクロックが存在する場合に , CAN 送信 / 受信動作クロック , および CAN ユーザロジックバス ( 外部バス ) へのアクセスを構成するためのもので す。 「第 5 章 クロック生成とデバイス状態」も参照してください。 <注意事項> CANCLK プリスケーラ値は , クロックモジュレータの CMCR レジスタによって設 定されます。CANCLK は , CAN モジュール内でさらに 2 で割られます。 ■ インタフェース制御レジスタ (CREG) インタフェース制御レジスタ (CREG) を適正に動作させるためには , CAN コントロー ラに接続されたユーザロジックバスを , チップ選択領域 7, 16 ビットバスアクセス , 1 ウェイトステート , および RDY 許可でプログラムしなければなりません。 CREG 設定のデフォルトは , ユーザロジックバスクロックを CAN レジスタアクセスに 使用し , CANCLK を同期許可の状態で CAN 送信 / 受信動作クロックとして使用します。 ブート ROM を用いた設定は , ユーザロジックバスクロックを同期禁止の状態で CAN クロックとして使用します。 図 16.2-25 に , インタフェース制御レジスタ (CREG) のビット構成を示します。 図 16.2-25 インタフェース制御レジスタ (CREG) のビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 0010012CH(CAN0) DTR_W DTR_B IDR_W IDR_B AMR_W AMR_B AMS_W AMS_B 読出し / 書込み : 初期値 / ブート ROM 値 : bit R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) R/W (0) 7 6 5 4 3 2 1 0 アドレス : 0010012DH(CAN0) E_INT 読出し / 書込み : R/W 初期値 / ブート ROM 値 : (0) S_INT C_INV R/W R/W (0) (0) L_INV C_CLK L_CLK SYNCH CDSBLE R/W R/W R/W R/W R/W (0) (0) (0) (0/1) (0) [bit15 ∼ bit8] バイト順序 これらのビットは , レジスタ AMS, AMR0x, AMR1x, IDRx[10:0], および DTRx[15:0] のバイト順序を変更するために使用できます。 バイト順序変更の例を , 図 16.2-26 に示します。 463 第 16 章 CAN コントローラ 図 16.2-26 バイト順序変更の例 xxx_B=1,およびxxx_W=0である場合は,バイト順序は次のように変更されます。 バイト0 バイト1 バイト2 バイト3 バイト1 バイト0 バイト3 バイト2 xxx_W=1,およびxxx_B=0である場合は,バイト順序は次のように変更されます。 バイト0 バイト1 バイト2 バイト3 バイト2 バイト3 バイト0 バイト1 xxx_W=1,およびxxx_B=1である場合は,バイト順序は次のように変更されます。 バイト0 バイト1 バイト2 バイト3 バイト3 バイト2 バイト1 バイト0 [bit7 ∼ bit4] E_INT, S_INT, C_INV, L_INV これらのビットは , 特殊な CPU 構成に使用するためのものです。これらのビットを 初期値から変更すると , 適正な動作は保証されません。 [bit3, bit2] C_CLK, L_CLK これらのビットは , CAN ユーザロジックバスアクセス , および CAN 送信 / 受信動作 のためのクロックを選択します。 表 16.2-7 に , クロック選択の設定内容を示します。 表 16.2-7 クロック選択の設定内容 C_CLK L_CLK モード 0 0 CANCLK (2 で分周 ) は CAN 動作に使用され , CLKT はユーザロジックバスに 接続された CAN レジスタへのアクセスに使用されます。同期モード (SYNCH=0) を使用することをお勧めします。 0 1 テストのための予備です。 1 0 テストのための予備です。 1 1 テストのための予備です。 [bit1] SYNCH : 同期許可ビット CPU のメインクロック , およびユーザロジックバスクロックの同期を許可 , または 禁止します。 • 0 : 同期許可 • 1 : 同期禁止 [bit0] CDSBLE : クロック禁止ビット CAN クロック , および CAN バスの動作を許可 , または禁止します。 • 0 : クロック , および CAN バスの動作許可 • 1 : クロック , および CAN バスの動作禁止 <注意事項> 464 • ユーザロジックバスクロックを用いた CAN 動作周波数のために , ブート ROM 設定を使用できます。 • CAN プリスケーラレジスタ (BTR:PSC[5:0]) によって分周可能な CAN 動作周波 数は , 常に選択クロックであり , その周波数は "2" で分周されます。 第 16 章 CAN コントローラ 16.3 CAN コントローラの動作 CAN コントローラの動作として , 送信動作 , および受信動作を説明します。 ■ 送信動作 送信の開始から送信の終了までを , 以下に説明します。 送信動作のフローチャートを , 図 16.3-1 に示します。 ● 送信の開始 • 送信要求レジスタ (TREQR) の TREQx に "1" を書き込むと , メッセージバッファ (x) による送信が開始されます。このとき , TREQx は "1" になり , 送信完了レジスタ (TCR) の TCx は "0" になります。 • リモートフレーム受信待ちレジスタ (RFWTR) の RFWTx が "0" の場合は , 直ちに送 信が開始されます。RFWTx が "1" の場合 , リモートフレームが受信されて ( リモー ト要求受信レジスタ (RRTRR) の RRTRx が "1" になる ) から , 送信が開始されます。 ● 送信 • 複数のメッセージバッファに対して送信要求が行われる ( 複数の TREQx が "1") と , 一番小さい番号のメッセージバッファから順に送信が実行されます。 • CAN バスへのメッセージ送信 ( 送信出力端子 TX による ) は , バスがアイドル状態 のときに開始されます。 • 送信 RTR レジスタ (TRTRR) の TRTRx が "0" の場合 , データフレームが送信されま す。TRTRx が "1" の場合 , リモートフレームが送信されます。 • CAN バス上でメッセージバッファと別の CAN コントローラとの送信が重なり , 調 停が失敗した場合 , または送信時にエラーが発生した場合は , メッセージバッファ はバスがアイドル状態になるまで待ち , 送信が完了するまで再送を繰り返します。 ● 送信要求の取消し • 送信取消しレジスタ (TCANR) による取消し - 送信保留時に送信を実行しなかったメッセージバッファ (x) に対する送信要求は , 送信取消しレジスタ (TCANR) の TCANx に "1" を書き込むことによって取り消す ことができます。取消しが完了すると , TREQx は "0" になります。 • 受信メッセージの記憶による取消し - 送信要求にもかかわらず送信を実行しなかったメッセージバッファ (x) は , 受信 も実行します。データフレームの送信要求 (TRTRx=0, または TREQx=1) にもかか わらず , メッセージバッファ(x) が送信を実行しなかった場合は , 受入フィルタを 通過した受信データフレームが記憶された後 , 送信要求が取り消されます (TREQx=0)*1。 - リモートフレーム送信要求 (TRTRx=1, または TREQx=1) にもかかわらず , メッ セージバッファ (x) が送信を実行しなかった場合は , 受入フィルタを通過した受 信リモートフレームが記憶された後 , 送信要求が取り消されます (TREQx=0)*2。 *1 : 送信要求は , リモートフレームの記憶によっては取り消されません (TREQx=1 は 不変 )。 *2 : 送信要求は , データフレームまたはリモートフレームのいずれの記憶によっても 取り消されます。 465 第 16 章 CAN コントローラ ● 送信の終了 送信が終了すると , RRTRx が "0", TREQx が "0", 送信完了レジスタ (TCR) の TCx が "1" になります。 送信完了割込みが許可されている場合 ( 送信完了割込み許可レジスタ (TIER) の TIEx が "1") は , 割込みが発生します。 図 16.3-1 送信動作フローチャート 送信要求 (TREQx := 1) TCx := 0 0 TREQx ? 1 0 RFWTx ? 1 0 RRTRx ? 1 上記の条件を満たす別のメッセージが存在 する場合, 一番小さい番号のメッセージ バッファを選択します。 バスはアイドル 状態ですか? NO YES 0 1 TRTRx ? データフレームが送信されました。 リモートフレームが送信されました。 NO 送信は完了しましたか? YES TCANx ? RRTRx := 0 TREQx := 0 TCx := 1 TIEx ? 1 TREQx 1 0 送信完了割込みが起こります。 送信終了 466 := 0 0 第 16 章 CAN コントローラ ■ 受信動作 受信の開始から受信の終了までを , 以下に説明します。 受信動作のフローチャートを , 図 16.3-3 に示します。 ● 受信の開始 受信は , データフレーム , またはリモートフレームの開始 (SOF) が CAN バス上で検出 されると開始されます。 ● 受入フィルタ 標準フレームフォーマットの受信メッセージは , 標準フレームフォーマットのメッ セージバッファ (x) セット (IDE レジスタ (IDER) の IDEx=0) と比較されます。拡張フ レームフォーマットの受信メッセージは , 拡張フレームフォーマットのメッセージ バッファ (x) セット (IDEx=1) と比較されます。 受入マスクによる Compare に設定されたすべてのビットが , 受信メッセージ ID と受入 コード ( 受信メッセージ ID と比較するための ID レジスタ (IDRx)) の比較後に合致する と , 受信メッセージはメッセージバッファ (x) の受入フィルタを通過します。 ● 受信メッセージの記憶 受信メッセージは , 受入フィルタを通過した ID も含めてメッセージバッファ x に記憶 されます。データフレームを受信すると , 受信メッセージは ID レジスタ (IDRx), DLC レジスタ (DLCRx), およびデータレジスタ (DTRx) に記憶されます。 受信メッセージデータが 8 バイト未満であっても , データは DTRx の残りのバイトに記 憶され , その値は未定義になります。 リモートフレームを受信すると受信メッセージは ID レジスタ (IDRx) と DLC レジスタ (DLCRx) だけに記憶され , DTR レジスタ (DTRx) は不変のまま残ります。 受入フィルタを通過した ID を含むメッセージバッファが複数存在する場合は , 以下の 規則に従って , 受信メッセージを記憶するメッセージバッファ x が決められます。 • メッセージバッファ x(x=0 ∼ 15) の優先順位は , 番号が小さいほど高くなります。 メッセージバッファ 0 には最も高い優先順位が与えられ , メッセージバッファ 15 に は最も低い優先順位が与えられます。 • 基本的に , 受信完了レジスタ (RCR) の RCx ビットが "0" に設定されているメッセー ジバッファの方が , 受信メッセージの記憶の際に優先されます。 • 受信マスク選択レジスタ (AMSR) のビットが All Bits Compare(AMSx.1, および AMSx.0 ビットが "00" に設定されているメッセージバッファについて ) に設定され ている場合 , 受信メッセージは RCR の RCx ビットの設定に関係なく記憶されます。 • RCR の RCx ビットが "0" に設定されているか , または AMSR セットのビットが All Bits Compare に設定されているメッセージバッファが存在する場合 , 受信メッセー ジは一番小さい番号の(最も優先順位が高い)メッセージバッファxに記憶されます。 • 上記のようなメッセージバッファが存在しない場合 , 受信メッセージは小さい番号 のメッセージバッファ x に記憶されます。 図 16.3-2 に , 受信メッセージが記憶されるメッセージバッファ x を決める際のフロー チャートを示します。 467 第 16 章 CAN コントローラ 図 16.3-2 メッセージバッファ (x) を決める際のフローチャート 開始 RCxが0に設定されているか, あるいはAMSx.1 およびAMSx.0が00に設定されているメッセー ジバッファが見つかりましたか? NO YES 一番小さい番号のメッセージ バッファを選択します。 一番小さい番号のメッセージ バッファを選択します。 終了 メッセージバッファは , 以下に示す順に数字の昇順に並べなければなりません。 1. AMSR のビットが All Bits Compare に設定されているメッセージバッファ 2. AMR0x, または AMR1x を使用しているメッセージバッファ 3. AMSR のビットが All Bits Mask に設定されているメッセージバッファ ● 受信オーバラン 受信オーバランが発生すると , 受信メッセージを記憶するメッセージバッファx に対応 する受信完了レジスタ (RCR) の RCx ビットが "1" に設定されます。メッセージバッ ファ x への受信メッセージの記憶が完了すると , 受信オーバランレジスタ (ROVRR) の ROVRx ビットが "1" に設定され , 受信がオーバランしたことを示します。 ● データフレームとリモートフレームの受信処理 • データフレームの受信処理 - リモート要求受信レジスタ (RRTRR) の RRTRx が , "0" になります。 - 送信要求レジスタ (TREQR) の TREQx が ( 受信メッセージが記憶される直前に )"0" になります。送信を実行しなかったメッセージバッファ (x) に対する送信要求は , 取り消されます。データフレーム , またはリモートフレームのいずれの送信要求 も , 取り消されます。 • リモートフレームの受信処理 - RRTRx が "0" になります。 - 送信 RTR レジスタ (TRTRR) の TRTRx が "1" の場合 , TREQx は "0" になります。 送信を実行しなかったメッセージバッファに対するリモートフレームの送信要 求は , 取り消されます。データフレームの送信要求は取り消されません。送信要 求の取消しについては , 「■ 送信動作」を参照してください。 ● 受信の完了 受信メッセージの記憶後 , 受信完了レジスタ (RCR) の RCx は "1" になります。 受信割込みが許可されている場合 ( 受信割込み許可レジスタ (RIER) の RIEx が "1"), 割 込みが発生します。 <注意事項> 468 この CAN コントローラは , 自身が送信したメッセージは受信しません。 第 16 章 CAN コントローラ 図 16.3-3 に , 受信動作のフローチャートを示します。 図 16.3-3 受信動作フローチャート データフレームまたはリモート フレームの開始(SOF)の検出 NO 受入フィルタを通過するメッセージ バッファ(x)は見つかりましたか? YES NO 受信は完了しましたか? YES 受信メッセージが記憶されるメッセージ バッファ(x)を決めます。 受信メッセージをメッセージ バッファ(x)に記憶します。 1 RCx ? 0 データフレーム RRTRx ROVRx リモートフレーム メッセージを受信 しましたか? := 0 RRTRx 1 TREQx := 1 := 1 TRTRx ? 0 := 0 RCx := 1 RIEx ? 1 0 受信割込みが起こります。 受信終了 469 第 16 章 CAN コントローラ 16.4 使用手順 ビットタイミング , フレームフォーマット , ID, および受入フィルタの設定と送信 / 受信の手順について説明します。 ■ ビットタイミングの設定 ビットタイミングレジスタ (BTR) は , バス動作が停止している ( 制御ステータスレジス タ (CSR) のバス動作停止ビット (HALT) が "1") ときに設定しなければなりません。 設定完了後 , HALT に "0" を書き込んで , バス動作停止を取り消します。 ■ フレームフォーマットの設定 メッセージバッファ (x) が使用するフレームフォーマットを設定します。標準フレーム フォーマットを使用している場合は , IDE レジスタ (IDER) の IDEx を "0" に設定しま す。拡張フレームフォーマットを使用している場合は , IDEx を "1" に設定します。 この設定は, メッセージバッファ(x)が無効(メッセージバッファ有効レジスタ(BVALR) の BVALx が "0") のときに設定しなければなりません。バッファが有効 (BVALx が "1") のときに設定すると , 不必要な受信メッセージを記憶することになります。 ■ ID の設定 メッセージバッファ (x)ID を , ID レジスタ (IDRx) の ID28 ∼ ID0 に設定します。標準 フレームフォーマットでは , メッセージバッファ (x)ID を ID11 ∼ ID0 に設定する必要 はありません。メッセージバッファ (x)ID は , 送信時には送信メッセージとして使用さ れ , 受信時には受入コードとして使用されます。 この設定は, メッセージバッファ(x)が無効(メッセージバッファ有効レジスタ(BVALR) の BVALx が "0") のときに設定しなければなりません。バッファが有効 (BVALx が "1") のときに設定すると , 不必要な受信メッセージを記憶することになります。 ■ 受入フィルタの設定 メッセージバッファ (x) の受入フィルタを , 受入コードと受入マスクセットによって設 定します。この設定は , 受入メッセージバッファ (x) が無効 ( メッセージバッファ許可 レジスタ (BVALR) の BVALx が "0") のときに設定しなければなりません。バッファが 有効 (BVALx が "1") のときに設定すると , 不必要な受信メッセージを記憶することに なります。 各メッセージバッファ(x)で使用される受入マスクを, 受入マスク選択レジスタ(AMSR) で設定します。受入マスクレジスタ (AMR0x, 1x) を使用している場合 , このレジスタも 設定します ( 設定の詳細については , 「16.2.3 ビットタイミングレジスタ (BTR)」の 「■受入マスク選択レジスタ (AMSR)」および「16.2.4 メッセージバッファ制御レジス タ」の「■受入マスクレジスタ 0x, 1x(AMR0x, AMR1x)」を参照してください )。 受入マスクは , 不必要な受信メッセージが記憶されたときに , 送信要求が取り消されな いように設定しなければなりません。たとえば , 送信 ID と同じ ID のメッセージのみ 受信する場合 , フルビット比較に設定する必要があります。 470 第 16 章 CAN コントローラ ■ メッセージバッファ (x) による送信手順 ビットタイミング , フレームフォーマット , ID, および受入フィルタの設定が完了した ら , BVALx を "1" に設定してメッセージバッファ (x) を有効にします。 1. 送信データ長コードの設定 - 送信データ長コード ( バイトカウント ) を , DLC レジスタ (DLCRx) の DLC3 ∼ DLC0 に設定します。 - データフレーム送信 ( 送信 RTR レジスタ (TRTRR) の TRTRx が "0") については , 送信メッセージのデータ長を設定します。 - リモートフレーム送信 (TRTRx=1) については , 要求メッセージのデータ長 ( バイ トカウント ) を設定します。 <注意事項> 0000 ∼ 1000(0 ∼ 8 バイト ) 以外の設定は禁止されています。 2. 送信データの設定 ( データフレームの送信のみ ) - データフレーム送信 ( 送信レジスタ (TRTRR) の TRTRx が "0") については , デー タレジスタ (DTRx)内で送信されたバイトのカウントとしてデータを設定します。 <注意事項> 送信データは , "0" に設定された送信要求レジスタ (TREQR) の TREQx ビットで再 書込みしなければなりません。メッセージバッファ有効レジスタ (BVALR) の BVALx ビットを "0" に設定する必要はありません。BVALx ビットを "0" に設定する と , リモートフレームの受信が禁止されます。 3. 送信 RTR レジスタの設定 - データフレーム送信については , 送信 RTR レジスタ (TRTRR) の TRTRx を "0" に 設定します。 - リモートフレーム送信については , TRTRx を "1" に設定します。 4. 送信開始条件の設定 ( データフレームの送信のみ ) - データフレーム送信要求が設定された ( 送信要求レジスタ (TREQR) の TREQx が "1", および送信 RTR レジスタ (TRTRR) の TRTRx が "0") 直後に送信を開始するに は , リモートフレーム受信待ちレジスタ (RFWTR) の RFWTx を "0" に設定します。 - データフレーム送信要求が設定された (TREQx=1, および RTRx=0) 後 , リモートフ レームが受信される ( リモート要求受信レジスタ (RRTRR) の RRTRx が "1" にな る ) まで待ってから送信を開始するには , RFWTx を "1" に設定します。 <注意事項> RFWTx を "1" に設定すると , リモートフレーム送信を行うことができなくなりま す。 5. 送信完了割込みの設定 - 送信完了割込みを発生させるときは, 送信完了割込み許可レジスタ(TIER)のTIEx を "1" に設定します。 - 送信完了割込みを発生させないときは , TIEx を "0" に設定します。 6. 送信要求の設定 - 送信要求を発生するには , 送信要求レジスタ (TREQR) の TREQx を "1" に設定し ます。 471 第 16 章 CAN コントローラ 7. 送信要求の取消し - メッセージバッファ (x) への送信の保留要求を取り消すときは , 送信取消しレジ スタ (TCANR) の TCANx に "1" を書き込みます。 - TREQx を確認します。TREQx=0 の場合は , 送信取消しが終了しているか , 送信が 完了しています。送信完了レジスタ (TCR) の TCx を確認します。TCx=0 の場合 は , 送信取消しが終了しています。TCx=1 の場合は , 送信が完了しています。 8. 送信完了処理 - 送信が完了すると , 送信完了レジスタ (TCR) の TCx が "1" になります。送信完了 割込みが許可されている場合 ( 送信完了割込み許可レジスタ (TIER) の TIExが "1"), 割込みが発生します。 送信の完了を確認後 , TCx に "0" を書き込んで設定を "0" に します。これにより , 送信完了割込みが取り消されます。 - 次のような場合には , 送信保留要求は , メッセージを受信し記憶することによっ て取り消されます。 データフレームの受信によるデータフレーム送信要求 データフレームの受信によるリモートフレーム送信要求 リモートフレームの受信によるリモートフレーム送信要求 <注意事項> データフレーム送信要求は , リモートフレームを受信して記憶することによっては 取り消せません。ただし , ID, および DLC は , 受信したリモートフレームの ID, およ び DLC によって変わります。送信されるデータフレームの ID, および DLC は , 受 信したリモートフレームの値になることに注意してください。 ■ メッセージバッファ (x) による受信手順 フレームフォーマット , ID, および受入フィルタの設定が完了したら , 以下の設定をし ます。 ● 受信割込みの設定 受信割込みが許可されている場合 , 受信割込み許可レジスタ (RIER) の RIEx を "1" に設 定します。 受信割込みが禁止されている場合 , RIEx を "0" に設定します。 ● 受信の開始 設定後 , 受信を開始するときは , メッセージバッファ有効レジスタ (BVALR) の BVALx を "1" に設定し , メッセージバッファ (x) を有効にします。 ● 受信完了処理 • 受入フィルタを通過して受信が完了すると , 受信メッセージはメッセージバッファ (x) に記憶され , 受信完了レジスタ (RCR) の RCx が "1" になります。 • データフレームの受信については , リモート要求受信レジスタ (RRTRR) の RRTRx が "0" になります。 • リモートフレームの受信については , RRTRx が "1" になります。 受信割込みが許可されている場合 ( 受信割込み許可レジスタ (RIER) の RIEx が "1"), 割 込みが発生します。 受信の完了 (RCx=1) を確認後 , 受信メッセージを処理します。 472 第 16 章 CAN コントローラ 受信メッセージの処理完了後 , 受信オーバランレジスタ (ROVRR) の ROVRx を確認し ます。 • ROVRx=0 の場合 , 処理された受信メッセージは有効になっています。CRx に "0" を 書き込んで設定を "0" にし ( 受信完了割込みも取り消されます ), 受信を終了します。 • ROVRx=1 の場合 , 受信オーバランが起こり , 新しい受信メッセージが , 処理された 受信メッセージに上書きしている可能性があります。この場合 , ROVRx ビットに "0" を書き込んで設定を "0" にした後 , 受信メッセージを再度処理する必要がありま す。 図 16.4-1 に , 受信割込み処理の例を示します。 図 16.4-1 受信割込み処理の例 RCx=1での割込み 受信メッセージの読出し A :=ROVRx ROVRx :=0 A = 0? NO YES RCx :=0 終了 ■ 多重メッセージバッファ構成の設定 受信が頻繁に行われる場合 , または指定していないカウントのメッセージを受信する 場合(メッセージを受信するために十分な時間がない場合), 複数のメッセージバッファ を 1 つの多重メッセージバッファにまとめて , CPU による受信メッセージの処理時間 に余裕を持たせることができます。 多重メッセージバッファを使用するには , 組み合わせたメッセージバッファに同じ受 入フィルタを設定しなければなりません。 受入マスク選択レジスタ (AMSR) のビットを All Bits Compare((AMSx.1, AMSx.0)=(0, 0)) に設定すると , メッセージバッファの多重メッセージ構成は許可されません。これは , All Bits Compare によって受信完了レジスタ (RCR) の RCx ビットの値に関係なく受信 メッセージが記憶されるため , All Bits Compare, および同じ受入コード (ID レジスタ (IDRx)) が複数のメッセージバッファに指定されていても , 受信メッセージは常に小さ い番号の ( 優先順位の低い ) メッセージバッファに記憶されるからです。したがって , All Bits Compare, および同じ受入コードを複数のメッセージバッファに指定してはな りません。 図 16.4-2 に , 多重メッセージバッファの動作例を示します。 473 第 16 章 CAN コントローラ 図 16.4-2 多重メッセージバッファの動作例 初期化 AMS15, AMS14, AMS13 AMSR AMR0xを選択。 10 10 10 . . . AM18~AM28 AMR0 0000 111 IDE . . . ID18~ID28 メッセージバッファ13 1111 0101 0000 000 メッセージバッファ14 0101 0000 000 メッセージバッファ15 0101 0000 000 0 0 . . . . . . RC15, RC14, RC13 RCR ROVRR 0 0 0 . . . 0 0 0 . . . ROVR15, ROVR14, ROVR13 マスク メッセージ受信 受信メッセージはメッセージバッファ13に記憶されます。 IDE ID28 ~ ID18 メッセージ受信 0101 1111 000 0 . . . メッセージバッファ13 0101 1111 000 0 . . . メッセージバッファ14 0101 0000 000 0 . . . メッセージバッファ15 0101 0000 000 0 . . . RCR ROVRR 0 0 1 . . . 0 0 0 . . . 0 1 1 . . . 0 0 0 . . . 1 1 1 . . . 0 0 0 . . . メッセージ受信 受信メッセージはメッセージバッファ14に記憶されます。 メッセージ受信 0101 1111 001 0 . . . メッセージバッファ13 0101 1111 000 0 . . . メッセージバッファ14 0101 1111 001 0 . . . メッセージバッファ15 0101 0000 000 0 . . . RCR ROVRR メッセージ受信 受信メッセージはメッセージバッファ15に記憶されます。 メッセージ受信 0101 1111 010 0 . . . メッセージバッファ13 0101 1111 000 0 . . . メッセージバッファ14 0101 1111 001 0 . . . メッセージバッファ15 0101 1111 010 0 . . . RCR ROVRR メッセージ受信 オーバランが起こり(ROVR13=1), 受信メッセージはメッセージバッファ13に記憶されます。 メッセージ受信 0101 1111 011 0 . . . メッセージバッファ13 0101 1111 011 0 . . . メッセージバッファ14 0101 1111 001 0 . . . 010 0 . . . メッセージバッファ15 0101 1111 RCR ROVRR 1 1 1 . . . 0 0 1 . . . ( 注意事項 ) メッセージバッファ13, 14, 15 に設定された同じ受入フィルタにより , 4 つのメッセージが受信されます。 474 第 17 章 D/A コンバータ D/A コンバータの概要を示し , レジスタの構造と機 能 , および D/A コンバータの動作について説明し ます。 17.1 D/A コンバータの概要 17.2 D/A コンバータのレジスタ 17.3 D/A コンバータの動作 475 第 17 章 D/A コンバータ 17.1 D/A コンバータの概要 D/A コンバータの機能とブロックダイヤグラムを示します。 ■ D/A コンバータの機能 このブロックは , 10 ビットの分解能を持つ R-2R フォーマット D/A コンバータです。 D/A コンバータには 2 つのチャネルがあります。 出力制御は , D/A 制御レジスタを使用して , 2 つのチャネルで個別に実行できます。 ■ D/A コンバータのブロックダイヤグラム 図 17.1-1 D/A コンバータのブロックダイヤグラム R-バス DA DA DA DA DA DA DA DA DA DA 19 18 17 16 15 14 13 12 11 10 DA DA DA DA DA DA DA DA DA DA 09 08 07 06 05 04 03 02 01 00 AVDD AVDD DA09 DA19 2R DA18 2R DA16 R R 2R DA07 R R DA01 DA11 2R DA10 2R DAE1 スタンバイ制御 DA出力ch.1 476 2R DA08 R 2R 2R DA00 R 2R 2R DAE0 スタンバイ制御 DA出力ch.0 第 17 章 D/A コンバータ 17.2 D/A コンバータのレジスタ D/A コンバータで使用するレジスタについて説明します。 ■ D/A コンバータのレジスタ一覧 図 17.2-1 に , D/A コンバータのレジスタ一覧を示します。 図 17.2-1 D/A コンバータのレジスタ一覧 D/A 制御レジスタ (DACR) D/A データレジスタ 0 (DADR0) D/A データレジスタ 1 (DADR1) D/A クロック制御レジスタ (DDBL) DACR DADR0 DADR1 DDBL bit7 6 5 4 3 2 1 0 初期値 − − − − − MODE DAE1 DAE0 -----000B − − − − − R/W R/W R/W bit15 14 13 12 11 10 9 8 DA08 − − − − − − DA09 R/W R/W R/W R/W R/W R/W R/W R/W bit7 6 5 4 3 2 1 0 DA07 DA06 DA05 DA04 DA03 DA02 DA01 DA00 R/W R/W R/W R/W R/W R/W R/W R/W bit15 14 13 12 11 10 9 8 − − − − − − DA19 DA18 R/W R/W R/W R/W R/W R/W R/W R/W bit7 6 5 4 3 2 1 0 DA17 DA16 DA15 DA14 DA13 DA12 DA11 DA10 R/W R/W R/W R/W R/W R/W R/W R/W bit7 6 5 4 3 2 1 0 − − − − − − − DBL − − − − − − − R/W ------XXB XXXXXXXXB ------XXB XXXXXXXXB -------0B ■ D/A 制御レジスタ (DACR) 図 17.2-2 に , D/A 制御レジスタ (DACR) のビット構成を示します。 図 17.2-2 D/A 制御レジスタ (DACR) のビット構成 DACR bit7 6 5 4 3 2 1 0 アドレス : 000000A5H − − − − − MODE R/W DAE1 R/W DAE0 R/W 初期値 -----000B 477 第 17 章 D/A コンバータ [bit2] MODE このビットは , D/A コンバータのモード制御に使用します。 このビットに "1" を書き込むと , D/A コンバータは 8 ビットの分解能で動作します。 "0" を設定すると , D/A コンバータは 10 ビットの分解能で動作します。 リセット時に "0" に初期化されます。このビットは読出し , および書込みが可能です。 [bit1, bit0] DAE1, DAE0 これらのビットは , D/A コンバータ出力を許可 , または禁止するために使用します。 DAE1 ビットはチャネル 1 出力を制御し , DAE0 ビットはチャネル 0 出力を制御し ます。 これらのビットに "1" を書き込むと , D/A 出力は許可されます。"0" を書き込むと , D/A 出力は禁止になります。 リセット時に "0" に初期化されます。これらのビットは読出し , および書込みが可 能です。 ■ D/A データレジスタ (DADR) 図 17.2-3 に , D/A データレジスタ (DADR) のビット構成を示します。 図 17.2-3 D/A データレジスタ (DADR) のビット構成 DADR0 bit15 14 13 12 11 10 9 8 DA08 R/W アドレス : 000000A6H − R/W − R/W − R/W − R/W − R/W − R/W DA09 R/W DADR0 bit7 6 5 4 3 2 1 0 アドレス : 000000A7H DA07 R/W DA06 R/W DA05 R/W DA04 R/W DA03 R/W DA02 R/W DA01 R/W DA00 R/W DADR1 bit15 14 13 12 11 10 9 8 アドレス : 000000A8H − R/W − R/W − R/W − R/W − R/W − R/W DA19 R/W DA18 R/W DADR1 bit7 6 5 4 3 2 1 0 DA17 R/W DA16 R/W DA15 R/W DA14 R/W DA13 R/W DA12 R/W DA11 R/W DA10 R/W アドレス : 000000A9H 初期値 ------XXB XXXXXXXXB ------XXB XXXXXXXXB [bit9 ∼ bit0] DADR0 レジスタ DA09 ∼ DA00 これらのビットは , D/A コンバータ ch.0 の出力電圧の設定に使用します。 リセット時に初期化はされません。これらのビットは読出し , および書込みが可能 です。 [bit9 ∼ bit0] DADR1 レジスタ DA19 ∼ DA10 これらのビットは , D/A コンバータ ch.1 の出力電圧の設定に使用します。 リセット時に初期化はされません。これらのビットは読出し , および書込みが可能 です。 これらのレジスタを 8 ビット分解能モードで読み出すと , DAx7...DAx0 と書き込ま れた値は DAx9...DAx2 として表示されます。 478 第 17 章 D/A コンバータ ■ D/A クロック制御レジスタ (DDBL) 図 17.2-4 に , D/A クロック制御レジスタ (DDBL) のビット構成を示します。 図 17.2-4 D/A クロック制御レジスタ (DDBL) のビット構成 DDBL bit7 アドレス : 000000ABH − 6 − 5 − 4 − 3 − 2 − 1 0 − DBL R/W 初期値 -------0B [bit0] DBL このビットは , D/A コンバータモジュールのクロック制御に使用します。 このビットに "1" を書き込むと , D/A コンバータモジュールのクロックは禁止にな ります。"0" を設定すると , D/A コンバータモジュールにクロックが供給されます。 リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。 479 第 17 章 D/A コンバータ 17.3 D/A コンバータの動作 D/A コンバータの動作概要を説明します。 ■ D/A コンバータの動作概要 D/A 出力は , D/A データレジスタ (DADR) に所望の D/A 出力値を書き込み , D/A 制御レ ジスタ (DACR) 内の対応する D/A 出力チャネルの許可ビットに "1" を設定することに よって開始されます。 D/A 出力を禁止にすると , 各 D/A コンバータチャネルの出力に直列に挿入されている アナログスイッチがオフになります。さらに , D/A コンバータが "0" に内部クリアされ , 直流電流の経路が遮断されます。これはストップモードにも当てはまります。 ■ D/A コンバータ出力電圧の理論値 表 17.3-1 , および表 17.3-2 に , D/A コンバータ出力電圧の理論値を示します。 D/A コンバータ出力電圧は , 8 ビットモードで 0V ∼ (255/256)V × AVCC, 10 ビットモー ドで 0V ∼ (1023/1024)V × AVCC です。出力電圧範囲は , AVCC 電圧を外部から調整 することによって変化します。 D/A コンバータ出力に , 内部バッファ増幅器はありません。アナログスイッチ ( 最大 100Ω) は出力に直列に挿入されているので , 外部出力負荷を加えたときに , 十分な設定 時間があります。 表 17.3-1 8 ビット分解能の D/A コンバータ出力電圧の理論値 DA07 ∼ DA00, および DA17 ∼ DA10 に書き込まれる値 00H AVSS + 0 × 1 LSB 01H AVSS + 1 × 1 LSB 02H AVSS + 2 × 1 LSB | | FDH AVSS + 253 × 1 LSB FEH AVSS + 254 × 1 LSB FFH AVSS + 255 × 1 LSB 1LSB : (AVCC-AVSS)/256 480 出力電圧の理論値 第 17 章 D/A コンバータ 表 17.3-2 10 ビット分解能の D/A コンバータ出力電圧の理論値 DA09 ∼ DA00, および DA19 ∼ DA10 に書き込まれる値 出力電圧の理論値 000H AVSS + 0 × 1 LSB 001H AVSS + 1 × 1 LSB 002H AVSS + 2 × 1 LSB | | 3FDH AVSS + 1021 × 1 LSB 3FEH AVSS + 1022 × 1 LSB 3FFH AVSS + 1023 × 1 LSB 1 LSB : (AVCC-AVSS)/1024 481 第 17 章 D/A コンバータ 482 第 18 章 I2C インタフェース (400 kHz) 高速 I2C インタフェースの機能と動作について説 明します。 18.1 I2C インタフェース (400 kHz) の概要 18.2 I2C インタフェース (400 kHz) のレジスタ 18.3 I2C インタフェースの動作 18.4 プログラミングフローチャート 483 第 18 章 I2C インタフェース (400 kHz) 18.1 I2C インタフェース (400 kHz) の概要 I2C インタフェースは IC 間バスをサポートし , I2C バス上のマスタ / スレーブデバイ スとして動作するシリアル I/O ポートです。 ■ I2C インタフェース (400 kHz) の特長 I2C インタフェース (400 kHz) には , 以下の機能があります。 • マスタ / スレーブ送受信機能 • 調停機能 • クロック同期機能 • 汎用コールアドレッシング機能 • 伝送方向検出機能 • 再起動条件の発生と検出機能 • バスエラー検出機能 • マスタ , およびスレーブとしての 7 ビットアドレッシング • マスタ , およびスレーブとしての 10 ビットアドレッシング • 7 ビット , および 10 ビットのスレーブアドレスのインタフェースを提供可能 • スレーブアドレス受信のアクノリッジを禁止可能 ( マスタのみの動作 ) • 複数スレーブアドレス (7 ビットモード , 10 ビットモード ) のインタフェースを提供 するアドレスマスク機能 • 400K ビットまでの伝送速度 • SDA 用 , SCL 用の組込みノイズフィルタを使用可能 • プリスケーラ環境にかかわらず, R-バスクロックが6 MHzを超える場合に400Kビッ トでデータを受信可能 • 伝送 , およびバスエラー時に MCU 割込み発生可能 • ビットレベルとバイトレベルでのスレーブによる減速をサポート I2C インタフェースは , プリスケーラの設定にかかわらず R- バスクロック (CLKP) が 6 MHz を超えるデータ伝送速度 400K ビットをフル受信できるので , ビットレベルでの SCL クロック引延しをサポートしません。ただし , 割込み中 (IBCR レジスタの INT=1) は SCL が "L" になるので , バイトレベルでのクロック引延しが行われます。 <注意事項> 484 • 400 kHz I2C インタフェースは , マルチマスタ動作はサポートしていません。 • 400 kHz I2C インタフェースを使用する前に必ず F362MD (「4.2 構成レジスタ (F362GB モードレジスタ F362MD)」) の IICSEL を "1" に設定してください。 第 18 章 I2C インタフェース (400 kHz) ■ I2C インタフェースのブロックダイヤグラム 図 18.1-1 に , I2C インタフェース (400 kHz) のブロックダイヤグラムを示します。 図 18.1-1 I2C インタフェース (400 kHz) のブロックダイヤグラム ICCR2 I2 C 許可 EN IDBL2 DBL クロック禁止 ICCR2 2 CS4 Rバスクロック(CLKP) モジュールクロック供給 クロック分周期1 3 4 5 .. . 32 CS3 5 CS2 5 クロックセレクタ 同期 CS1 CS0 クロック分周期2 (12で分周) SCLデューティサイクル発生器 シフトクロック発生器 IBSR2 BB RSC LRB TRX バスビジー 繰り返し起動 バスオブザーバ 最終ビット 送信/受信 バスエラー アドレスデータ ADT AL 調停消失検出器 ICCR2 NSF IBCR2 許可 BER BEIE 割込み要求 Rバス INTE ノイズ フィルタ MCU IRQ INT SCL SDA SCL SDA IBCR2 SCC MSS ACK GCAA 起動 起動-停止条件発生器 マスタ ACK許可 ACK発生器 GC-ACK許可 8 IBSR2 AAS GCA ISMK ENSB ITMK ENTB RAL IDAR2 8 スレーブ 汎用コール 7ビットモード許可 スレーブアドレス 比較器 10ビットモード許可 受信アドレス長 7 10 10 ITBA ITMK 7 ISBA ISMK 10 10 7 7 485 第 18 章 I2C インタフェース (400 kHz) 18.2 I2C インタフェース (400 kHz) のレジスタ I2C インタフェース (400 kHz) のレジスタの機能について説明します。 ■ I2C インタフェース (400 kHz) のレジスタ一覧 図 18.2-1 に , I2C インタフェース (400 kHz) のレジスタ一覧を示します。 図 18.2-1 I2C インタフェース (400 kHz) のレジスタ一覧 レジスタ バス制御レジスタ バスステータスレジスタ 10 ビットスレーブ アドレスレジスタ 名前 IBCR2 IBSR2 ITBAH ITBAL 10 ビットスレーブ アドレスマスクレジスタ 7 ビットスレーブ アドレスマスクレジスタ ISBA ISMK 14 13 12 11 10 9 8 初期値 00000000B BER BEIE SCC MSS ACK GCAA INTE INT R/W R/W W R/W R/W R/W R/W R/W bit7 6 5 4 3 2 1 0 BB RSC AL LRB TRX AAS GCA ADT R R R R R R R R bit15 14 13 12 11 10 9 8 − − − − − − TA9 TA8 - - - - - - R/W R/W bit7 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 bit15 14 13 12 11 10 9 8 RAL − − − − TM9 TM8 R/W R - - - - R/W R/W bit7 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 bit7 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 bit15 14 13 12 11 10 9 8 ENSB SM6 SM5 SM4 SM3 SM2 SM1 SM0 R/W R/W R/W R/W R/W R/W R/W R/W ITMKH ENTB ITMKL 7 ビットスレーブ アドレスレジスタ bit15 00000000B 00000000B 00000000B 00111111B 11111111B 00000000B 01111111B ( 続く ) 486 第 18 章 I2C インタフェース (400 kHz) ( 続き ) データレジスタ IDARH IDARH2 クロック制御レジスタ クロック禁止レジスタ ICCR2 IDBL2 bit15 14 13 12 11 10 9 8 − − − − − − − − - - - - - - - - bit7 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 bit15 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 bit7 6 5 4 3 2 1 0 − − − − − − − DBL - - - - - - - R/W 00000000B 00000000B 00011111B 00000000B 487 第 18 章 I2C インタフェース (400 kHz) 18.2.1 バス制御レジスタ (IBCR2) この項では , バス制御レジスタ (IBCR2) の機能について説明します。 ■ バス制御レジスタ (IBCR2) の機能 バス制御レジスタ (IBCR2) には , 以下の機能があります。 • 割込み許可 • 割込み発生 • バスエラー検出 • 再起動条件の発生 • マスタ / スレーブモード選択 • 汎用コールアクノリッジ発生許可 • データバイトアクノリッジ発生許可 ■ バス制御レジスタ (IBCR2) のビット機能 このレジスタへの書込みアクセスは , INT=1, または転送が開始される場合にのみ発生 します。ACK ビット , または GCAA ビットを変更するとバスエラーが発生することが あるので , ユーザによるこのレジスタへの転送中の書込みは禁止されます。インタ フェースが許可されない場合 (ICCR2 の EN=0) は , BER ビットと BEIE ビットを除き , このレジスタのすべてのビットがクリアされます。 図 18.2-2 に , バス制御レジスタ (IBCR2) のビット構成を示します。 図 18.2-2 バス制御レジスタ (IBCR2) のビット構成 バス制御レジスタ bit15 14 13 12 11 10 9 8 アドレス : 00000184H BER BEIE SCC MSS ACK GCAA INTE INT 読出し / 書込み→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値→ IBCR2 バス制御レジスタ (IBCR2) の各ビットの機能を , 以下に説明します。 [bit15] BER(Bus ERror) このビットは , バスエラー割込みフラグです。ハードウェアによって設定され , ユー ザがクリアします。リードモディファイライト系命令 (RMW) では , 常に "1" が読み 出されます。 ( 書込みアクセスの場合 ) 0 バスエラー割込みフラグクリア 1 無効 ( 読出しアクセスの場合 ) 488 0 バスエラー検出なし 1 下記エラー状態の 1 つを検出 第 18 章 I2C インタフェース (400 kHz) このビットを設定すると , ICCR2 レジスタの EN ビットがクリアされます。I2C イン タフェースが一時停止状態となってデータ転送が中断され , IBSR2 レジスタと IBCR2 レジスタの BER と BEIE を除くすべてのビットがクリアされます。インタ フェースを再度許可する前に , BER ビットをクリアする必要があります。 • このビットは , 以下の場合に "1" に設定されます。 - アドレスデータの転送中 , または bit2 ∼ bit9( アクノリッジビット ) の転送中に , 起動条件 , または停止条件が誤った位置で検出された - 10ビットの書込みアクセス以前に, 読出しアクセスを伴う10ビットアドレスヘッ ダを受信した - インタフェースがマスタモードのときに , 停止条件が検出された • 転送中にインタフェースが許可された場合は , 誤ったバスエラー報告を防ぐために , 最初の停止条件を受信した後で , 上記条件の最初の 2 つを検出することが許可され ます。 [bit14] BEIE(Bus Error Interrupt Enable) このビットは , バスエラー割込みを許可します。このビットを変更できるのはユー ザだけです。 0 バスエラー割込み禁止 1 バスエラー割込み許可 このビットを "1" に設定すると , BER ビットが "1" に設定されたときに MCU 割込 みの発生が許可されます。 [bit13] SCC(Start Condition Continue) このビットを使用して , 再起動条件を発生します。このビットは書込み専用で , 常 に "0" が読み出されます。 0 無効 1 マスタ転送中に繰り返し起動条件発生 マスタモード (MSS=1, INT=1) での割込み中にこのビットに "1" が書き込まれると , 繰返し起動条件が発生し , INT ビットが自動的にクリアされます。 [bit12] MSS(Master Slave Select) このビットは , マスタ / スレーブモード選択ビットです。このビットを設定できる のはユーザだけです。クリアは , ユーザとハードウェアで行うことができます。 0 スレーブモードに移行する 1 マスタモードに移行し , 起動条件を発生してアドレスデータバイト を IDAR2 レジスタに送信する このビットは , マスタ送信中に調停消失イベントが発生するとクリアされます。 マスタ割込み中 (MSS=1, INT=1) に "0" を書き込むと , INT ビットが自動的にクリア され , 停止条件が発生し , データ転送は終了します。MSS ビットは直ちにリセット され , IBSR2 レジスタの BB ビットをポーリングすることにより停止条件の発生を チェックできることに注意してください。 • バスのアイドル時に "1" を書き込むと (MSS=0, BB=0) 起動条件が発生し , IDAR2 レ ジスタの内容 ( アドレスデータ ) が送信されます。 489 第 18 章 I2C インタフェース (400 kHz) • バスの使用中に MSS ビット (IBSR2 の BB=1, TRX=0;IBCR2 の MSS=0) に "1" を書き 込むと , インタフェースはバスが解放されるまで待機して , 送信を開始します。 • インタフェースを , 書込みアクセス ( データ受信 ) を伴うスレーブとしてアドレス指 定した場合は , 転送が終了しバスが再度解放されてから送信が開始されます。イン タフェースがスレーブとしてデータを送信している場合 (IBSR2 の AAS=1, TRX=1) には , バスが再度解放されてもデータ送信を開始しません。次の割込み時に , イン タフェースがスレーブとしてアドレス指定されたか (IBSR2 の AAS=1), データバイ トの送信に成功したか (IBCR2 の MSS=1), またはデータバイトの送信に失敗したか どうか (IBSR2 の AL=1) をチェックすることが重要です。 [bit11] ACK(ACKnowledge) このビットは , データバイト受信時のアクノリッジ発生許可ビットです。このビッ トを変更できるのはユーザだけです。 0 インタフェースによるデータバイト受信時のアクノリッジ発生なし 1 インタフェースによるデータバイト受信時のアクノリッジ発生 スレーブモードでアドレスバイトを受信する場合は , このビットは無効です。イン タフェースが 7 ビット , または 10 ビットのスレーブアドレスを検出した場合は , 対 応する許可ビット (ITMK の ENTB, または ISMK の ENTB) が設定されているかどう かをアクノリッジします。 このビットへの書込みアクセスは , 割込み中 (INT=1) か , バスがアイドルの場合 (IBSR2 レジスタの BB=0) にのみ発生します。 このビットへの書込みアクセスは , インタフェースが許可されていて (ICCR2 レジ スタの EN=1) さらにバスエラーでない場合 (IBCR2 レジスタの BER=0) にのみ可能 です。 [bit10] GCAA(General Call Address Acknowledge) このビットは , 汎用コールアドレスを受信したときにアクノリッジの発生を許可し ます。このビットを変更できるのはユーザだけです。 0 インタフェースによる汎用コールアドレスバイト受信時のアクノ リッジ発生なし 1 インタフェースによる汎用コールアドレスバイト受信時のアクノ リッジ発生 このビットへの書込みアクセスは , 割込み中 (INT=1) か , バスがアイドルの場合 (IBSR2 レジスタの BB=0) にのみ発生します。 このビットへの書込みアクセスは , インタフェースが許可されていて (ICCR2 レジ スタの EN=1) さらにバスエラーでない場合 (IBCR2 レジスタの BER=0) にのみ可能 です。 [bit9] INTE(INTerrupt Enable) このビットは , MCU 割込みの発生を許可します。このビットを変更できるのはユー ザだけです。 0 割込み禁止 1 割込み許可 このビットを "1" に設定すると , INT ビットが ( ハードウェアによって )"1" に設定 490 第 18 章 I2C インタフェース (400 kHz) された場合に MCU 割込み発生を許可します。 [bit8] INT(INTerrupt) このビットは , 伝送終了割込み要求フラグです。このビットはハードウェアによっ て変更され , ユーザによってクリアすることができます。リードモディファイライ トアクセスでは , 常に "1" が読み出されます。 ( 書込みアクセスの場合 ) 0 転送終了割込み要求フラグクリア 1 無効 ( 読出しアクセスの場合 ) 0 転送が終了しない , 現在の転送に関与していない , またはバスがアイ ドル 1 次の条件下で , アクノリッジビットも含め 1 バイトのデータ転送 , ま たは受信の最後に設定されます。 • デバイスがバスマスタ • デバイスがスレーブとしてアドレス指定されている • 汎用コールアドレス受信 • 調停消失発生 デバイスがスレーブとしてアドレス指定されている場合は , アクノ リッジビットも含めアドレスデータ受信の最後 (7 ビットアドレス受 信の場合は最初のバイトの後 , 10 ビットアドレス受信の場合は 2 番 目のバイトの後 ) に設定されます。 このビットが "1" である間は , SCL ラインは "L" レベルに保持されます。このビッ トに "0" を書き込むと設定がクリアされ , SCL ラインが解放されて次のバイトの転 送が実行されるか , または再起動条件 , または停止条件が発生します。また , SCC ビットに "1" を書き込むか , MSS ビットをクリアすると , このビットはクリアされ ます。 ■ SCC, MSS, INT ビットの競合 SCC, MSS, INT ビットに同時に書き込むと , 次のバイト転送 , 再起動条件の発生 , およ び停止条件の発生の競合が生じます。この場合の優先順位は , 以下のようになります。 • 次のバイト転送と停止条件発生 : INT ビットに "0" が書き込まれ , MSS ビットに "0" が書き込まれると , MSS ビットが優先し , 停 止条件が発生します。 • 次のバイト転送と起動条件発生 : INT ビットに "0" が書き込まれ , SCC ビットに "1"が書き込まれると, SCCビットが優先します。 再起動条件が発生し , IDAR2 レジスタの内容が 送信されます。 • 再起動条件発生と停止条件発生 : SCC ビットに "1" が書き込まれ , MSS ビットに "0" が書き込まれると , MSS ビットのクリアが優 先されます。停止条件が発生し , インタフェース はスレーブモードに移行します。 491 第 18 章 I2C インタフェース (400 kHz) 18.2.2 バスステータスレジスタ (IBSR2) この項では , バスステータスレジスタ (IBSR2) の機能について説明します。 ■ バスステータスレジスタ (IBSR2) の機能 バスステータスレジスタ (IBSR2) には , 以下の機能があります。 • バスビジー検出 • 再起動条件検出 • 調停消失検出 • アクノリッジ検出 • データ伝送方向表示 • スレーブとしてのアドレッシング検出 • 汎用コールアドレス検出 • アドレスデータ転送検出 ■ バスステータスレジスタ (IBSR2) のビット機能 このレジスタは読出し専用です。すべてのビットは , ハードウェアにより制御されま す。インタフェースが許可されていない場合 (ICCR2 の EN=0) は , すべてのビットがク リアされます。 図 18.2-3 に , バスステータスレジスタ (IBSR2) のビット構成を示します。 図 18.2-3 バスステータスレジスタ (IBSR2) のビット構成 バスステータスレジスタ bit7 6 5 4 3 2 1 0 アドレス : 00000185H BB RSC AL LRB TRX AAS GCA ADT 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) IBSR2 バスステータスレジスタ (IBSR2) の各ビットの機能を , 以下に説明します。 [bit7] BB(Bus Busy) このビットは , I2C バスの状態を表示します。 0 停止条件検出 ( バスアイドル ) 1 起動条件検出 ( バス使用中 ) 起動条件が検出されると , このビットは "1" に設定されます。停止条件が検出され るとリセットされます。 [bit6] RSC(Repeated Start Condition) このビットは , 再起動条件の検出を表示します。 492 第 18 章 I2C インタフェース (400 kHz) 0 再起動条件が検出されない 1 バス使用中 , 再起動条件を検出する このビットは , アドレスデータ転送の終了 (ADT=0) あるいは停止条件の検出により クリアされます。 [bit5] AL(Arbitration Loss) このビットは , 調停消失を示します。 0 調停消失が検出されない 1 マスタ送信中に調停消失が発生 このビットは , IBCR2 レジスタの INT ビットに "0" を書き込むか , または MSS ビッ トに "1" を書き込むとクリアされます。 調停消失は , 以下の場合に発生します。 • 送信データが , SCL の立上りエッジで読み出した SDA ラインのデータと一致しな い場合 • 事前に別のスレーブにより SCL ラインがローとなったために , インタフェースが起 動条件 , または停止条件を発生できなかった場合 [bit4] LRB(Last Received Bit) このビットを使用して , 受信側からのアクノリッジメッセージをトランスミッタに 格納します。 0 受信を確認した 1 受信が確認されない ハードウェアが bit9( 応答ビット ) を受信するとこのビットは変更され , 起動条件 , または停止条件によりクリアされます。 [bit3] TRX(Transferring data) このビットは , データ転送中のデータ送信動作を示します。 0 データを送信していない 1 データ送信中である • このビットは , 以下の場合 "1" に設定されます。 - マスタモードで起動条件が発生した場合。 - 最初のバイト転送の終了 , およびスレーブとしての読出しアクセス , またはマス タとしてのデータ送信の場合。 • このビットは , 以下の場合 "0" に設定されます。 - バスがアイドルである (IBSR2 の BB=0) - 調停消失が発生した 493 第 18 章 I2C インタフェース (400 kHz) - マスタ割込み中 (MSS=1, INT=1) に , SCC ビットに "1" が書き込まれた - マスタ割込み中 (MSS=1, INT=1) に , MSS ビットがクリアされた - インタフェースがスレーブモードで , 最終転送バイトが確認されなかった - インタフェースがスレーブモードで , データを受信中 - インタフェースがマスタモードで , スレーブからデータを読出し中 [bit2] AAS(Addressed As Slave) このビットは , スレーブアドレッシングの検出を示します。 0 スレーブとしてアドレス指定されていない 1 スレーブとしてアドレス指定されている このビットは , ( 再 ) 起動条件 , または停止条件によりクリアされます。インタフェー スが 7 ビットスレーブアドレスと 10 ビットスレーブアドレスの両方 , またはいずれ かを検出すると , このビットが設定されます。 [bit1] GCA(General Call Address) このビットは , 汎用コールアドレス (0x00) の検出を示します。 0 汎用コールアドレスがスレーブとして受信されない 1 汎用コールアドレスをスレーブとして受信する このビットは , ( 再 ) 起動条件 , または停止条件によりクリアされます。 [bit0] ADT(Address Data Transfer) このビットは , アドレスデータ転送の検出を表示します。 0 受信データはアドレスデータではない ( あるいはバスが使用中では ない ) 1 受信データはアドレスデータである このビットは , 起動条件により "1" に設定されます。書込みアクセスを伴う 10 ビッ トスレーブアドレスヘッダが検出された場合は , 第 2 バイトの後にクリアされます。 それ以外の場合は , 第 1 バイトの後にクリアされます。 「第 1/ 第 2 バイトの後」が意味するものは , 以下のとおりです。 • マスタ割込み中 (IBCR2 の MSS=1, INT=1) に , MSS ビットに "0" が書き込まれます。 • マスタ割込み中 (IBCR2 の MSS=1, INT=1) に , SCC ビットに "1" が書き込まれます。 • INT ビットはクリアされます。 • インタフェースがマスタ , またはスレーブとして現在の転送に関わっていない場合 は , すべてのバイト転送が開始されます。 494 第 18 章 I2C インタフェース (400 kHz) 18.2.3 10 ビットスレーブアドレスレジスタ (ITBA) 10 ビットスレーブアドレスレジスタ (ITBA) の機能について説明します。 ■ 10 ビットスレーブアドレスレジスタ (ITBA) の機能 このレジスタ (ITBAH/ITBAL) は , 10 ビットスレーブアドレスを指定します。 インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このレジスタへの書込 みアクセスが可能です。 図 18.2-4 に , 10 ビットスレーブアドレスレジスタ (ITBA) のビット構成を示します。 図 18.2-4 10 ビットスレーブアドレスレジスタ (ITBA) のビット構成 10 ビットスレーブアドレス上位バイト bit15 14 13 12 11 10 9 8 アドレス :00000186H − − − − − − TA9 TA8 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (R/W) (R/W) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) ITBAH 10 ビットスレーブアドレス下位バイト アドレス : 00000187H 読出し / 書込み→ 初期値→ bit7 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) ITBAL 10 ビットスレーブアドレスレジスタ (ITBA) の各ビットの機能を , 以下に説明します。 [bit15 ∼ bit10] 未使用ビット これらのビットは , 常に "0" が読み出されます。 [bit9 ∼ bit0] TBA(Ten Bit slave Address) : 10 ビットスレーブアドレス (TA9 ∼ TA0) アドレスデータをスレーブモードで受信する場合に , 10 ビットアドレスが許可 (ITMK レジスタの ENTB=1) されていれば , ITBA レジスタと比較されます。書込み アクセスを伴う 10 ビットアドレスヘッダ *1 を受信後 , マスタにアクノリッジが送 信されます。次に , 2 番目の入着バイトが ITBA レジスタと比較されます。一致が検 出されると , マスタデバイスにアクノリッジ信号が送信され , AAS ビットが設定さ れます。 また , 再起動条件の後 , 読出しアクセスを伴う 10 ビットヘッダ *2 を受信すると , イ ンタフェースは肯定応答を発生します。 スレーブアドレスのすべてのビットは , ITMK レジスタを使用することでマスクで きます。受信された 10 ビットスレーブアドレスは , ITBA レジスタに書き戻されま すが , IBSR2 レジスタの AAS ビットが "1" である場合のみ , 有効となります。 *1 : 10 ビットヘッダ ( 書込みアクセス ) のビット順序は , 11110, TA9, TA8, 0 で構成 されます。 * 2 : 10 ビットヘッダ ( 読込みアクセス ) のビット順序は , 11110, TA9, TA8, 1 で構成 されます。 495 第 18 章 I2C インタフェース (400 kHz) 18.2.4 10 ビットスレーブアドレスマスクレジスタ (ITMK) この項では , 10 ビットスレーブアドレスマスクレジスタ (ITMK) の機能について説明 します。 ■ 10 ビットスレーブアドレスマスクレジスタ (ITMK) の機能 このレジスタには , 10 ビットスレーブアドレスマスクと 10 ビットスレーブアドレス許 可ビットが含まれています。 図 18.2-5 に , 10 ビットスレーブアドレスマスクレジスタ (ITMK) のビット構成を示し ます。 図 18.2-5 10 ビットスレーブアドレスマスクレジスタ (ITMK) のビット構成 10 ビットスレーブアドレスマスク上位バイト bit15 14 13 12 11 10 9 8 アドレス : 00000188H ENTB RAL − − − − TM9 TM8 読出し / 書込み→ (R/W) (R) (-) (-) (-) (-) (R/W) (R/W) (0) (0) (1) (1) (1) (1) (1) (1) 初期値→ ITMKH 10 ビットスレーブアドレスマスク下位バイト bit7 6 5 4 3 2 1 0 アドレス :00000189H 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 [bit15] ENTB(ENable Ten Bit slave address) : 10 ビットスレーブアドレス許可 このビットは , 10 ビットスレーブアドレス ( およびその受信応答 ) を許可します。 インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このビットへの書 込みアクセスが可能です。 0 10 ビットスレーブアドレス禁止 1 10 ビットスレーブアドレス許可 [bit14] RAL(Received slave Address Length) : 受信スレーブアドレス長 このビットは , インタフェースが 7 ビット , または 10 ビットのスレーブとしてアド レス指定されたかどうかを示します。このビットは , 読出し専用です。 0 7 ビットスレーブとしてアドレス指定 1 10 ビットスレーブとしてアドレス指定 このビットを使用して , 7 ビット , 10 ビット両方のスレーブアドレスが許可されて いる場合 (ENTB =1, ENSB=1) に , インタフェースが 7 ビット , または 10 ビットのス 496 第 18 章 I2C インタフェース (400 kHz) レーブとしてアドレス指定されたかどうかを判断できます。IBSR2 レジスタの AAS ビットが "1" である場合にのみ , この内容は有効になります。インタフェースが禁 止される (ICCR2 の EN=0) と , このビットもリセットされます。 [bit13 ∼ bit10] 未使用ビット これらのビットは , 常に "1" が読み出されます。 [bit9 ∼ bit0] TMK(Ten bit slave address MasK) : 10 ビットスレーブアドレスマスク (TM9 ∼ TM0) このレジスタを使用して , インタフェースの 10 ビットスレーブアドレスをマスクし ます。 インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , これらのビッ トへの書込みアクセスが可能になります。 0 スレーブアドレス比較でビットを使用しない 1 スレーブアドレス比較でビットを使用 このビットを使用して , 複数の 10 ビットスレーブアドレスをインタフェースに確認 させることができます。このレジスタで "1" に設定されたビットだけが , 10 ビット スレーブアドレス比較で使用されます。受信したスレーブアドレスは ITBA レジス タに書き戻されるので , IBSR2 レジスタの AAS ビットが "1" のとき ITBA レジスタ を読み出すことにより決定されます。 <注意事項> インタフェースが許可された後にアドレスマスクを変更すると , 以前受信したス レーブアドレスによって上書きされることがあるので , スレーブアドレスも再設定 する必要があります。 497 第 18 章 I2C インタフェース (400 kHz) 18.2.5 7 ビットスレーブアドレスレジスタ (ISBA) この項では , 7 ビットスレーブアドレスレジスタ (ISBA) の機能について説明します。 ■ 7 ビットスレーブアドレスレジスタ (ISBA) の機能 このレジスタは , 7 ビットスレーブアドレスを指定します。 インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このレジスタへの書込 みアクセスが可能です。 図 18.2-6 に , 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成を示します。 図 18.2-6 7 ビットスレーブアドレスレジスタ (ISBA) のビット構成 7 ビットスレーブアドレスレジスタ bit7 6 5 4 3 2 1 0 アドレス :0000018BH − 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) (0) ISBA [bit7] 未使用ビット このビットは , 常に "0" が読み出されます。 [bit6 ∼ bit0] (Seven bit slave Address) : 7 ビットスレーブアドレス (SA6 ∼ SA0) アドレスデータはスレーブモードで受信する場合に , 7 ビットアドレスが許可され ていれば (ISMK レジスタの ENSB=1), ISBA レジスタと比較されます。一致が検出 されると , マスタデバイスにアクノリッジ信号が送信され , AAS ビットが設定され ます。 スレーブアドレスのすべてのビットは, ISMKレジスタを使用することによりマスク できます。受信された 7 ビットスレーブアドレスは ISBA レジスタに書き戻され , IBSR2 レジスタの AAS ビットが "1" である場合にのみ , 有効となります。 10 ビットヘッダ , または汎用コールを受信した場合には , インタフェースは受信 データとこのレジスタの内容を比較しません。 498 第 18 章 I2C インタフェース (400 kHz) 18.2.6 7 ビットスレーブアドレスマスクレジスタ (ISMK) この項では , 7 ビットスレーブアドレスマスクレジスタ (ISMK) の機能について説明 します。 ■ 7 ビットスレーブアドレスマスクレジスタ (ISMK) の機能 このレジスタには , 7 ビットスレーブアドレスマスクと 7 ビットモード許可ビットが含 まれています。インタフェースが禁止されている場合 (ICCR2 の EN=0) にのみ , このレ ジスタへの書込みアクセスが可能です。 図 18.2-7 に , 7 ビットスレーブアドレスマスクレジスタ (ISMK) のビット構成を示しま す。 図 18.2-7 7 ビットスレーブアドレスマスクレジスタ (ISMK) のビット構成 7 ビットスレーブアドレスマスクレジスタ bit15 14 13 12 11 10 9 8 アドレス :0000018AH ENSB 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) 初期値→ ISMK 7 ビットスレーブアドレスマスクレジスタ (ISMK) の各ビットの機能を , 以下に説明し ます。 [bit15] ENSB(ENable Seven Bit slave Address) : 7 ビットスレーブアドレス許可 このビットは , 7 ビットスレーブアドレス ( およびその受信応答 ) を許可します。 0 7 ビットスレーブアドレス禁止 1 7 ビットスレーブアドレス許可 [bit14 ∼ bit8] SMK(Seven bit slave address MasK) : 7 ビットスレーブアドレスマスク (SM6 ∼ SM0) このレジスタは , インタフェースの 7 ビットスレーブアドレスをマスクするために 使用します。 0 スレーブアドレス比較でビットを使用しない 1 スレーブアドレス比較でビットを使用 このビットを使用して , 複数の 7 ビットスレーブアドレスをインタフェースに確認 させることができます。このレジスタで "1" に設定されたビットだけが , 7 ビットス レーブアドレス比較で使用されます。受信したスレーブアドレスは ISBA レジスタ に書き戻されるので , IBSR2 レジスタの AAS ビットが "1" のとき , ISBA レジスタを 読み出すことによって決定されます。 499 第 18 章 I2C インタフェース (400 kHz) <注意事項> 500 インタフェースが許可された後にアドレスマスクを変更すると , 以前受信したス レーブアドレスによって上書きされることがあるので , スレーブアドレスも再設定 する必要があります。 第 18 章 I2C インタフェース (400 kHz) 18.2.7 データレジスタ (IDARH, IDAR2) この項では , データレジスタ (IDARH2) の機能について説明します。 ■ データレジスタ (IDARH2) の機能 データレジスタ (IDARH2) は , シリアルデータ転送に使用されます。 図 18.2-8 に , データレジスタ (IDARH2) のビット構成を示します。 図 18.2-8 データレジスタ (IDARH2) のビット構成 データレジスタ上位バイト bit15 14 13 12 11 10 9 8 アドレス :0000018CH − − − − − − − − 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (-) (-) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) bit7 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) IDARH データレジスタ アドレス :0000018DH 読出し / 書込み→ 初期値→ IDARH2 データレジスタ (IDARH2) のビット機能を , 以下に説明します。 [bit15 ∼ bit8] 未使用ビット これらのビットは , 常に "0" が読み出されます。 [bit7 ∼ bit0] データビット (D7 ∼ D0) データレジスタはシリアルデータ転送に使用され , MSB のデータを最初に転送しま す。このレジスタは , 書込み側で 2 つのバッファに格納されるので , バスの使用中 (BB=1), 書込みデータをシリアル転送用にレジスタへロードすることができます。 IBCR2 レジスタの INT ビットがクリアされているか , またはバスがアイドルの場合 (IBSR2 の BB=0) に , データバイトは内部転送レジスタにロードされます。読出しア クセスの場合は , 内部レジスタは直接読み出されます。そのため , IBCR2 レジスタ の INT=1 の場合にのみ , このレジスタ内の受信データ値が有効になります。 501 第 18 章 I2C インタフェース (400 kHz) 18.2.8 クロック制御レジスタ (ICCR2) この項では , クロック制御レジスタ (ICCR2) の機能について説明します。 ■ クロック制御レジスタ (ICCR2) の機能 クロック制御レジスタ (ICCR2) には , 以下の機能があります。 • テストモード許可 • IO パッドノイズフィルタ許可 • I2C インタフェース動作許可 • シリアルクロック周波数設定 図 18.2-9 に , クロック制御レジスタ (ICCR2) のビット構成を示します。 図 18.2-9 クロック制御レジスタ (ICCR2) のビット構成 クロック制御レジスタ bit15 14 13 12 11 10 9 8 アドレス :0000018EH − NSF EN CS4 CS3 CS2 CS1 CS0 読出し / 書込み→ (-) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (0) (0) (0) (1) (1) (1) (1) (1) ICCR2 クロック制御レジスタ (ICCR2) の各ビットの機能を , 以下に説明します。 [bit15] 未使用ビット このビットは , 常に "0" が読み出されます。 [bit14] IO パッドノイズフィルタ許可 このビットは , SDA, および SCL IO パッドに組み込まれたノイズフィルタを許可し ます。このノイズフィルタは , パルス幅 最小 0ns から R- バスの最大 1 ∼ 1.5 サイク ルまでのシングルスパイクを抑制します。抑制できる最大のスパイク波は , I2C の 信号 (SDA, SCL) と R- バスクロックの間の位相関係となります。インタフェースが 100K ビットを超えるデータ伝送速度で送受信している場合には , このビットを "1" に設定する必要があります。 [bit13] EN(Enable) このビットは , I2C インタフェースの動作を許可します。このビットを設定できる のはユーザだけです。クリアは , ユーザだけでなくハードウェアでも行うことがで きます。 0 インタフェース禁止 1 インタフェース許可 このビットを "0" に設定すると , IBSR2 レジスタと IBCR2 レジスタのすべてのビッ ト (BER ビットと BEIE ビットは除く ) がクリアされます。モジュールは禁止され , I2C ラインはオープンのままになります。バスエラーが発生 (IBCR2 の BER=1) する と , ハードウェアによってクリアされます。 502 第 18 章 I2C インタフェース (400 kHz) <注意事項> インタフェースが禁止されると , 送受信は直ちに停止されます。この場合 , I2C バス が好ましくない状態に置かれることがあります。 [bit12 ∼ bit8] CS4 ∼ CS0(Clock preScaler) これらのビットは , シリアルビット転送速度を選択します。このビットは , 同一書 込みアクセスでインタフェースが禁止される (EN=0) か , EN ビットをクリアする場 合に限り , 変更することができます。 これは次式により決まります。 ビット転送速度 = φ / (n × 12 + 18) ノイズフィルタ禁止 n>0, φ : R- バスクロック CLKP (DIVR0 レジスタにより設定 ) ビット転送速度 = φ / (n × 12 + 19(+1)) ノイズフィルタ許可 n>0, φ : R- バスクロック CLKP (DIVR0 レジスタにより設定 ) (+1) : ノイズフィルタによって引き起こされる誤差 <注意事項> ノイズ・フィルタに対応し ( 外部信号と内部クロックの関係に応じて遅延が異なる ) , 2 番目の方程式では , (12n + 19) ∼ (12n + 20) の間の数値で割られます。 ■ プリスケーラの設定 表 18.2-1 に , プリスケーラの設定内容を示します。 表 18.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 1 1 1 ・・・ 31 1 1 ( 注意事項 ) プリスケーラの設定で , n=0 は SDA/SCL タイミングに違反するので使用しないでくだ さい。 表 18.2-2 は , 一般的な R- バス・クロック設定での SCL 周波数の測定結果と , 100 K ビッ ト動作および 400 K ビット動作での関連プリスケーラの推奨設定です。 503 第 18 章 I2C インタフェース (400 kHz) 表 18.2-2 プリスケーラ設定値と送信ビット転送速度の関係 100K ビット ( ノイズフィルタ禁止 ) R バスクロック (CLKP)[MHz] n 400K ビット ( ノイズフィルタ許可 ) ビット転送速度 [K ビット ] 32 <注意事項> n ビット転送速度 [K ビット ] 5 387.5 24 19 97.5 4 352.5 16 12 98 2 372 8 6 89 1 266.5 測定値は , 最新の 8 サイクル分の転送分析に基づいて決定されています。これは , 全アドレスまたはデータ転送の初回サイクルが , 他のサイクルより長くかかるため です。具体的には , アドレス転送の場合 , 初回サイクルは他のサイクルよりもプリ スケーラの 3 カウント分長くかかります。データ転送の場合は , プリスケーラの 4 カウント分長くかかります ( 下図参照 ) 。 ■ SCL 波形 図 18.2-10 SCL 波形 アドレス送信 9 6 7 5 7 5 データ送信 9 7 5 7 5 7 時間単位:プリスケーラ サイクル 図 18.2-10 は , アドレスおよびデータ・ビット送信時の波形図です。図内のタイミング は , プリスケーラ・カウントです ( たとえば , 9 は , R バス・クロックに基づき , プリス ケーラが 9 回カウントしたことを意味します ) 。図内のタイミングは , SCL タイミング が , I2C バス上の他のデバイスからの影響を受けていないことを想定しています。 504 第 18 章 I2C インタフェース (400 kHz) クロック禁止レジスタ (IDBL2) 18.2.9 この項では , クロック禁止レジスタ (IDBL2) の機能について説明します。 ■ クロック禁止レジスタ (IDBL2) の機能 クロック禁止レジスタ (IDBL2) は , I2C モジュール用のクロック供給を制御するために 使用します。 図 18.2-11 に , クロック禁止レジスタ (IDBL2) のビット構成を示します。 図 18.2-11 クロック禁止レジスタ (IDBL2) のビット構成 クロック禁止レジスタ bit7 6 5 4 3 2 1 0 アドレス : 0000018FH − − − − − − − DBL 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (-) (R/W) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) IDBL2 クロック禁止レジスタ (IDBL2) のビットの機能を , 以下に説明します。 [bit0] DBL クロック禁止 このビットは , I2C モジュール用のクロック供給を制御するために使用します。こ のビットが "1" の場合は , モジュールへのクロック供給が禁止され ( 節電のためな ど ), I2C ラインはオープンのままになります。このビットは , リセットにより "0" に 初期化されます。 <注意事項> このビットによりクロック供給を禁止すると , インタフェースは直ちに信号の送受 信を停止します。これにより , I2C バスが好ましくない状態に置かれることがあり ます。 DBL ビットによりインタフェースを禁止 (DBL=1) すると , IDBL2 を除く I2C レジスタ への読出しアクセスは未定義の値を返し , IDBL2 を除くすべての I2C レジスタへの書込 みアクセスは効果がなくなります。 505 第 18 章 I2C インタフェース (400 kHz) 18.3 I2C インタフェースの動作 I2C バスは , 2 本の双方向バスライン , シリアルデータライン (SDA), およびシリアル クロックライン (SCL) を使用して通信を実行します。I2C インタフェースには , これ らのラインに対応する 2 本のオープンドレイン I/O 端子 (SDA/SCL) があり , 布線論 理アプリケーションを使用できます。 ■ 起動条件 バスが解放されているとき (IBSR2 の BB=0, IBCR2 の MSS=0), MSS ビットに "1" を書 き込むと , I2C インタフェースはマスタモードに入り , 起動条件を発生します。 バスのアイドル時 (MSS=0, BB=0) に "1" を書き込むと , 起動条件が発生し , IDAR2 レジ スタの内容 ( アドレスデータ ) が送信されます。 バスがマスタモードで割込み状態のとき (IBCR2 の MSS=1, INT=1) に SCC ビットに "1" を書き込むと , 再起動条件を発生できます。 バスの使用中 (IBSR2 の BB=1, TRX=0;IBCR2 の MSS=0, INT=0) に MSS ビットに "1" を 書き込むと , インタフェースはバスが解放されるまで待機して , 送信を開始します。 インタフェースを , その間に書込みアクセス ( データ受信 ) を伴うスレーブとしてアド レス指定した場合は , 転送が終了しバスが再度解放されてから送信が開始されます。イ ンタフェースがその間スレーブとしてデータを送信している場合には , バスが再度解 放されてもデータ送信を開始しません。次の割込み時に , インタフェースがスレーブと してアドレス指定されたか (IBCR2 の MSS=0, IBSR2 の AAS=1), データバイトの送信に 成功したか(IBCR2のMSS=1), データバイトの送信に失敗したかどうか(IBSR2のAL=1) をチェックすることが必要です。 他の状態で MSS ビット , または SCC ビットに "1" を書き込んでも意味を持ちません。 ■ 停止状態 マスタモード (IBCR2 の MSS=1, INT=1) で MSS ビットに "0" を書き込むと停止条件が 発生し , デバイスはスレーブモードに移行します。他の状態で MSS ビットに "1" を書 き込んでも意味を持ちません。 MSSビットをクリアすると, インタフェースは停止条件を発生しようとしますが, 停止 条件が発生する前に別のマスタが SCL ラインをローに変えると , 停止条件の発生に失 敗します。この場合 , 次のバイトが転送された後で割込みが発生します。 ■ スレーブアドレス検出 スレーブモードで起動条件が発生すると , BB は "1" に設定され , マスタデバイスから 送信されたデータは IDAR2 レジスタに受信されます。 8 ビットを受信した後 , ISMK レジスタの ENSB ビットが "1" である場合は , ISMK に格 納されたビットマスクが使用され , IDAR2 レジスタの内容が ISBA レジスタと比較され ます。一致した場合は , AAS ビットは "1" に設定され , アクノリッジ信号がマスタに送 信されます。次に , 受信データの bit0(IDAR2 レジスタの bit0) が反転され , TRX ビット に格納されます。 506 第 18 章 I2C インタフェース (400 kHz) ITMK レジスタ内の ENTB ビットが "1" であり , 10 ビットアドレスヘッダ (11110, TA1, TA0, 書込みアクセス ) が検出された場合は , インタフェースはアクノリッジ信号をマ スタに送信し , 反転された最後のデータビットを TRX レジスタに格納します。割込み は発生しません。次に転送されたバイトは (ITMK に格納されたビットマスクを使用し て )ITBA レジスタの下位バイトと比較されます。一致した場合は , アクノリッジ信号 がマスタに送信され , AAS ビットが設定され , 割込みが発生します。 インタフェースがスレーブとしてアドレス指定され , 再起動条件を検出した場合は , 10 ビットアドレスヘッダ (11110, TA1, TA0, 読出しアクセス ) の受信後に AAS ビットが設 定され , 割込みが発生します。 10 ビット , および 7 ビットのアドレスとそのビットマスクには個別のレジスタがあるの で , (ISMK の )ENSB ビットと (ITMK の )ENTB ビットを設定することにより , 両方のア ドレスをインタフェースに確認させることができます。ITMK レジスタの RAL ビット (AAS ビットが設定されている場合のみ , このビットが有効 ) を読み出すことにより , 受 信したスレーブアドレス長 (7 ビットまたは 10 ビット ) を判断できます。 また , インタフェースをマスタとしてのみ使用する場合は , 両方のビットを "0" に設定 することにより , インタフェースにスレーブアドレスを与えないことも可能です。 すべてのスレーブアドレスビットは , 対応するマスクレジスタ (ITMK, または ISMK) で マスクできます。 ■ スレーブアドレスマスク マスクレジスタ (ITMK/ISMK) で "1" に設定したビットだけがアドレス比較のために使 用され , 他のビットはすべて無視されます。受信したスレーブアドレスは , IBSR2 レジ スタのAASビットが"1"であれば, ITBAレジスタ(10ビットアドレス受信では, RAL=1), または ISBA レジスタ (7 ビットアドレス受信では , RAL=0) から読み出すことができま す。 ビットマスクがクリアされた場合には , インタフェースは常にスレーブとしてアドレ ス指定されるので , バスモニタとして使用することができます。これは , 他にリスナー スレーブがない場合でも , あらゆるスレーブアドレスの受信に対して肯定応答するた め , 実際のバスモニタではないことに注意してください。 ■ スレーブアドレッシング マスタモードで起動条件が発生すると , BB ビットと TRX ビットは "1" に設定され , IDAR2 レジスタの内容は MSB 順で送信されます。アドレスデータの送信後にスレー ブデバイスからアクノリッジ信号を受信すると , 送信データの bit0( 送信後の IDAR2 レ ジスタの bit0) は反転され , TRX ビットに格納されます。スレーブの応答は , IBSR2 レ ジスタの LRB ビットを使用してチェックできます。この手順は , 再起動条件にも当て はまります。 書込みアクセスのために 10 ビットスレーブをアドレス指定するには , 2 バイトを送信 する必要があります。最初のバイトは , ビットシーケンス "1 1 1 1 0 A9 A8 0" から構成 される 10 ビットアドレスヘッダであり , 10 ビットスレーブアドレスの下位 8 ビット (A7 ∼ A0) を含む 2 番目のバイトが続きます。 上記のバイトシーケンスを送信すると , ビットスレーブが読出しアクセスされ , 読出し アクセス(1 1 1 1 0 A9 A8 1)を伴う10ビットアドレスヘッダによって再起動条件(IBCR2 の SCC ビット ) が続きます。 507 第 18 章 I2C インタフェース (400 kHz) アドレスデータバイトをまとめると , 次のようになります。 • 7 ビットスレーブ , 書込みアクセス : 起動条件 - A6 A5 A4 A3 A2 A1 A0 0 • 7 ビットスレーブ , 読出しアクセス : 起動条件 - A6 A5 A4 A3 A2 A1 A0 1 • 10 ビットスレーブ , 書込みアクセス : 起動条件 - 1 1 1 1 0 A9 A8 0 - A7 A6 A5 A4 A3 A2 A1 A0 • 10 ビットスレーブ , 読出しアクセス : 起動条件 - 1 1 1 1 0 A9 A81 - A7 A6 A5 A4 A3 A2 A1 A0 - 再起動 - 1 1 1 1 0 A9 A8 1 ■ 調停 / マルチマスタ動作 マルチマスタ動作でのバス調停は, MB91360シリーズの製品ではサポートしていません。 ■ アクノリッジ アクノリッジビットは , 受信側から送信側に送信されます。IBCR2 レジスタの ACK ビットを使用して , データバイトを受信したときに , アクノリッジを送信するかどうか を選択できます。 データをスレーブモードで送信 ( 別のマスタからの読出しアクセス ) しても , マスタか らのアクノリッジが受信されない場合は , TRX ビットが "0" に設定され , デバイスは受 信モードに移行します。これにより , スレーブが SCL ラインを解放したらすぐ , マス タは停止条件を発生できます。 マスタモードでは , IBSR2 レジスタの LRB ビットを読み出すことにより , スレーブに よるアクノリッジをチェックできます。 508 第 18 章 I2C インタフェース (400 kHz) 18.4 プログラミングフローチャート I2C インタフェース (400 kHz) モジュールを使用するための , 送信 , および受信のプ ログラミング例を示します。 ■ スレーブのアドレッシングとデータ送信の例 図 18.4-1 に , スレーブのアドレッシングとデータ送信例のフローチャートを示します。 図 18.4-1 スレーブのアドレッシングとデータ送信例のフローチャート 7ビットスレーブのアドレシング データ送信 開始 開始 書き込み用スレーブを アドレス指定 BERビットをクリア (設定されている場合); インタフェース許可 EN: = 1; IDAR2:= データバイト; INT: = 0 IDAR2: = sl.address<<1+RW; MSS : = 1; INT : = 0 INT=1? NO NO INT=1? YES YES YES BER = 1? YES バスエラー BER = 1? NO NO AL = 1? YES ACK? NO (LRB = 0?) 転送再開 AASか どうかを チェック AL = 1? YES 転送再開 AASか どうかを チェック NO ACK? NO (LRB = 0?) YES YES データ送信準備完了 最終バイト を伝送 したか? YES NO スレーブからACKなし 再起動条件 または停止条件を発生 転送終了 再起動条件 または停止条件を発生 509 第 18 章 I2C インタフェース (400 kHz) ■ データ受信の例 図 18.4-2 に , データ受信例のフローチャートを示します。 図 18.4-2 データ受信例のフローチャート 開始 読出し用スレーブをアドレス指定 IBCR2のACKビットがスレーブから 読み出す最後のバイトであった場 合は,このビットをクリアする; INT: = 0 INT = 1? NO YES BER = 1? YES NO NO 最終バイト を伝送 したか? YES 転送終了 再起動条件 または停止条件を発生 510 バスエラー 第 18 章 I2C インタフェース (400 kHz) ■ 割込みハンドラの例 図 18.4-3 に , 割込みハンドラの例のフローチャートを示します。 図 18.4-3 割込みハンドラの例のフローチャート 開始 INT=1? ほかのモジュー ルからの割込み 受信 NO YES BER = 1? バスエラー YES NO GCA = 1? NO NO YES 転送失敗を記憶 して再試行 AAS = 1? YES スレーブとして の汎用コール YES AL = 1? AL = 1? NO NO LRB = 1? YES 次のINTで新しい データ転送を開始 必要に応じてACK ビットを変更 YES YES ADT = 1? NO NO TRX = 1? TRX = 1? 調停消失 転送再開 スレーブから ACKなし 再起動条件 または 停止条件を 発生 YES YES NO NO IDAR2レジスタからの 受信バイトを読み出す 必要に応じてACK ビットを変更 次に送信するバイト をIDAR2レジスタに 入れる IDAR2レジスタからの 受信バイトを読み出 す必要に応じてACK ビットを変更 次に送信するバイト をIDAR2レジスタに 入れるか,または MSSをクリアする INTビットをクリア ISRの終了 511 第 18 章 I2C インタフェース (400 kHz) 512 第 19 章 16 ビット I/O タイマ MB91360 シリーズには , 2 つの 16 ビットフリーラ ンタイマモジュール , 2 つのアウトプットコンペア モジュール , および 2 つのインプットキャプチャモ ジュールが含まれ , 4 つの入力チャネルと 4 つの出 力チャネルをサポートしています。ここでは , 16 ビットフリーランタイマ , アウトプット 0/1, およ びインプットキャプチャ 0/1 についてのみ説明しま す。 これら以外のモジュールは同一の機能を持ち , その レジスタアドレスは I/O マップにあります。 19.1 16 ビット I/O タイマの概要 19.2 16 ビット I/O タイマのレジスタ 19.3 16 ビット I/O タイマの動作 19.4 動作タイミング 513 第 19 章 16 ビット I/O タイマ 19.1 16 ビット I/O タイマの概要 16 ビット I/O タイマは , 16 ビットフリーランタイマ , アウトプットコンペアモ ジュール , およびインプットキャプチャモジュールから構成されています。 ここでは , 16 ビット I/O タイマの機能概要について説明します。 ■ 16 ビット I/O タイマの機能 以下に , 16 ビットフリーランタイマ , アウトプットコンペアモジュール , およびイン プットキャプチャモジュールの機能概要を説明します。 ● 16 ビットフリーランタイマ 16 ビットフリーランタイマは , 16 ビットアップカウンタ , データレジスタ , 制御ステー タスレジスタ , およびプリスケーラで構成されます。このタイマカウンタの出力値は , インプットキャプチャモジュール , およびアウトプットコンペアモジュールの基本タ イマとして使用されます。 • 4 つのカウンタクロックが使用可能です。 - φ= 周辺機器用クロック (CLKP): φ/4, φ/16, φ/32, φ/64 • カウンタオーバフローやコンペアレジスタ 0 との一致で割込みを発生できます。 • リセット , ソフトウェアクリア , またはコンペアレジスタ 0 との一致でカウンタ値 を "0000H" に初期化できます。 ● アウトプットコンペアモジュール ( 各モジュールに 2 チャネル ) アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 比較出力ラッ チ , および制御ステータスレジスタで構成されます。16 ビットフリーランタイマ値が コンペアレジスタ値と一致すると , 出力レベルが反転し , 割込みが発生します。 • 2 つのコンペアレジスタは独立して使用できます。 - コンペアレジスタに対応する出力端子 , および割込みフラグ • 出力端子は , 2 つのコンペアレジスタのペアに基づいて制御できます。出力端子は 2 つのコンペアレジスタによって反転できます。 • 出力端子の初期値が設定できます。 • 比較が一致すると , 割込みを発生します。 ● インプットキャプチャモジュール ( 各モジュールに 2 チャネル ) インプットキャプチャモジュールは , 2 つの独立した外部入力端子に対応する , 16 ビッ トインプットキャプチャデータレジスタ , 制御ステータスレジスタ , および禁止レジス タで構成されます。16 ビットフリーランタイマの値をキャプチャレジスタに記憶でき , 外部入力端子からの信号入力のエッジ検出と同時に割込みを発生します。 • 外部入力信号の検出エッジを指定できます。 - 立上り , 立下り , あるいは両方のエッジ • 2 つの入力チャネルは独立した動作が可能です。 • 外部入力信号の有効エッジで割込みを発生できます。 514 第 19 章 16 ビット I/O タイマ ■ 16 ビット I/O タイマのブロックダイヤグラム 図 19.1-1 に , 16 ビット I/O タイマのブロックダイヤグラムを示します。 図 19.1-1 16 ビット I/O タイマのブロックダイヤグラム 制御ロジック 各 ブ ロ ッ ク へ 割込み 16ビットフリーランタイマ 16ビットタイマ クリア アウトプットコンペア0 コンペアレジスタ0 バ ス アウトプットコンペア1 コンペアレジスタ1 T Q OUT0 T Q OUT1 エッジ選択 IN0 エッジ選択 IN1 インプットキャプチャ0 キャプチャレジスタ0 インプットキャプチャ1 キャプチャレジスタ1 515 第 19 章 16 ビット I/O タイマ 19.2 16 ビット I/O タイマのレジスタ 16 ビット I/O タイマで使用するレジスタの機能について説明します。 ■ 16 ビット I/O タイマのレジスタ一覧 16 ビット I/O タイマは , 16 ビットフリーランタイマ , アウトプットコンペアモジュー ル , およびインプットキャプチャモジュールの 3 つのブロックから構成されています。 各ブロックのレジスタ一覧を , 図 19.2-1 に示します。 図 19.2-1 16 ビット I/O タイマのレジスタ一覧 タイマデータレジスタ (TCDT) bit 15 14 13 12 11 10 9 8 アドレス : 000000C8H/000000CCH T15 T14 T13 T12 T11 T10 T09 T08 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (X) (X) (X) (X) (X) (X) (X) 読出し / 書込み→ (R/W) 初期値→ bit アドレス : 000000C9H/000000CDH (X) 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) (X) (X) (X) (X) (X) (X) (X) (X) 7 6 5 4 3 2 1 0 予備 IVF IVFE STOP MODE CLR CLK1 CLK0 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (-) (0) (0) (0) (0) (0) (0) (0) 15 C15 14 C14 13 C13 12 C12 11 C11 10 C10 9 C09 8 C08 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 読出し / 書込み→ (R/W) 初期値→ 制御ステータスレジスタ (TCCS) bit アドレス : 000000CBH/000000CFH 読出し / 書込み→ (R/W) 初期値→ コンペアレジスタ (OCCP) bit アドレス : 000000BCH/000000CEH 000000C0H/000000C2H 読出し / 書込み→ (R/W) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) bit 7 C07 6 C06 5 C05 4 C04 3 C03 2 C02 1 C01 0 C00 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (X) (X) (X) (X) (X) (X) (X) アドレス : 000000BDH/000000CFH 000000C1H/000000C3H 読出し / 書込み→ (R/W) 初期値→ (X) ( 続く ) 516 第 19 章 16 ビット I/O タイマ ( 続き ) 制御ステータスレジスタ (OCS) bit 15 14 アドレス : 000000B8H 13 12 11 − 読出し / 書込み→ (-) − − CMOD (-) (-) (R/W) 初期値→ (-) (-) (-) bit 7 6 アドレス : 000000B9H ICP1 読出し / 書込み→ (R/W) 初期値→ (0) 10 9 8 − − OTD1 OTD0 (-) (-) (R/W) (R/W) (0) (-) (-) (0) (0) 5 4 3 2 1 0 ICP0 ICE1 ICE0 − − CST1 CST0 (R/W) (R/W) (R/W) (-) (-) (R/W) (R/W) (0) (0) (0) (-) (-) (0) (0) 14 CP14 13 CP13 12 CP12 11 CP11 10 CP10 9 CP09 8 CP08 キャプチャレジスタ (IPCP) bit 15 アドレス : 000000B0H/000000B2H CP15 000000B4H/000000B6H 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) 6 CP06 5 CP05 4 CP04 3 CP03 2 CP02 1 CP01 0 CP00 bit 7 CP07 アドレス : 000000B1H/000000B3H 000000B5H/000000B7H 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) 7 6 5 4 3 2 1 0 アドレス : 000000ADH/000000AFH ICP1 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) bit 7 6 5 4 3 2 1 0 アドレス : 000000ACH/000000AEH − − − − − DBLT DBLO DBLI 読出し / 書込み→ (-) (-) (-) (-) (-) (R/W) (R/W) (R/W) 初期値→ (-) (-) (-) (-) (-) (0) (0) (0) 制御ステータスレジスタ (ICS) bit 初期値→ 禁止レジスタ (IOTDBL) 517 第 19 章 16 ビット I/O タイマ 16 ビットフリーランタイマ 19.2.1 16 ビットフリーランタイマは , 16 ビットアップカウンタ , およびタイマ制御ステー タスレジスタで構成されます。本タイマのカウント値は , アウトプットコンペアモ ジュール , およびインプットキャプチャモジュールの基本タイマとして使用されま す。 ■ 16 ビットフリーランタイマの機能概要 • 4 種類のカウンタクロック周波数が使用可能です。 • カウンタ値のオーバフローで割込みを発生できます。 • モードにより , コンペアレジスタ 0 との一致でカウンタ値を初期化できます。 ■ 16 ビットフリーランタイマのブロックダイヤグラム 図 19.2-2 に , 16 ビットフリーランタイマのブロックダイヤグラムを示します。 図 19.2-2 16 ビットフリーランタイマのブロックダイヤグラム f CLKP 割込み要求 IVF IVFE STOP MODE 分周器 CLR CLK1 CLK0 コンパレータ0 バス 16ビットアップカウンタ クロック カウント値出力 T15~T00 ■ 16 ビットフリーランタイマのレジスタ機能 以下に , 16 ビットフリーランタイマで使用するレジスタの機能を説明します。 ● タイマデータレジスタ (TCDT) 図 19.2-3 に , タイマデータレジスタのビット構成を示します。 図 19.2-3 タイマデータレジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 000000C8H T15 T14 T13 T12 T11 T10 T09 T08 属性→ R/W R/W R/W R/W R/W R/W R/W R/W X X X X X X X X 初期値→ 7 6 5 4 3 2 1 0 アドレス : 000000C9H bit T07 T06 T05 T04 T03 T02 T01 T00 属性→ R/W R/W R/W R/W R/W R/W R/W R/W X X X X X X X X 初期値→ 518 第 19 章 16 ビット I/O タイマ タイマデータレジスタで , 16 ビットフリーランタイマのカウント値を読み出すことが できます。カウント値はリセット時に "0000H" にクリアされます。このレジスタに値 を書き込むことによって , タイマの値を設定できます。ただし , 必ず動作の停止中 (STOP=1) に値を書き込むようにしてください。 タイマデータレジスタのアクセスには , ワード長のアクセス命令を使用します。 16 ビットフリーランタイマは , 次の要因で初期化されます。 • リセット • 制御ステータスレジスタのクリアビット (CLR) • コンペアレジスタ 0 とタイマカウンタの値の一致 ● 制御ステータスレジスタ (TCCS) 図 19.2-4 に , 制御ステータスレジスタのビット構成を示します。 図 19.2-4 制御ステータスレジスタのビット構成 7 6 5 4 3 2 1 0 アドレス : 000000CBH bit 予約 IVF IVFE STOP MODE CLR CLK1 CLK0 属性→ R/W R/W R/W R/W R/W R/W R/W R/W - 0 0 0 0 0 0 0 初期値→ [bit7] 予約ビット このビットには , 必ず "0" を書き込みます。 [bit6] IVF このビットは , 16 ビットフリーランタイマの割込み要求フラグです。 16 ビットフリーランタイマがオーバフローした場合 , またはコンペアレジスタ 0 と の一致でカウンタがクリアされた場合は , このビットが "1" に設定されます。 割込み要求許可ビット (bit5 : IVFE) が設定されている場合は , 割込みが発生します。 このビットは , "0" を書き込むとクリアされます。"1" の書込みは無効です。 リードモディファイライト命令では , 常に "1" が読み出されます。 0 割込み要求なし ( 初期値 ) 1 割込み要求あり [bit5] IVFE IVFE は , 16 ビットフリーランタイマの割込み許可ビットです。 このビットが "1" のときに割込みフラグ (bit6 : IVF) が "1" に設定されると , 割込み が発生します。 0 割込み禁止 ( 初期値 ) 1 割込み許可 [bit4] STOP STOP ビットは , 16 ビットフリーランタイマを停止させるときに使用します。 519 第 19 章 16 ビット I/O タイマ このビットに "1" を書き込むとタイマが停止します。"0" を書き込むとタイマが起 動します。 0 カウンタ許可 ( 動作 )( 初期値 ) 1 カウンタ禁止 ( 停止 ) ( 注意事項 ) 16 ビットフリーランタイマが停止すると , 出力の比較動作が停止し ます。 [bit3] MODE MODE ビットで , 16 ビットフリーランタイマのリセット条件を設定します。 "0" を設定すると , カウンタ値は , リセット , またはクリアビット (bit2 : CLR) で初 期化できます。 "1" を設定すると , カウンタ値は , リセット , およびクリアビット (bit2 : CLR) のほ かに , コンペアレジスタ 0 との一致でも初期化できます。 0 リセットまたはクリアビットによる初期化 ( 初期値 ) 1 リセット , クリアビット , またはコンペアレジスタ 0 との一致による 初期化 ( 注意事項 ) クリアビット , およびコンペアレジスタとの一致によるタイマの初 期化は , タイマ値が変化したときに行われます。 [bit2] CLR CLRビットは , 動作中の 16 ビットフリーランタイマの値を "0000H" に初期化します。 "1" に設定すると , カウンタ値は "0000H" に初期化されます。"0" の書込みは無効で す。このビットの読出し値は常に "0" です。カウンタ値が初期化されるのは , カウ ント値が変化したときです。 0 無効 ( 初期値 ) 1 カウンタ値を "0000H" に初期化 ( 注意事項 ) タイマの停止中にカウンタ値を初期化する場合は , データレジスタ に "0000H" を書き込んでください。 [bit1, bit0] CLK1, CLK0 CLK1, および CLK0 を使用して , 16 ビットフリーランタイマのカウントクロックを 選択します。このビットに値が書き込まれると , クロックは直ちに更新されます。 したがって , このビットに値を書き込む前に , アウトプットコンペア , およびイン プットキャプチャの動作が停止していることを確認してください。 表 19.2-1 に , CLK1, CLK0 の設定値を示します。 520 第 19 章 16 ビット I/O タイマ 表 19.2-1 CLK1, CLK0 の設定値 CLK1 CLK0 カウントクロック φ=16 MHz φ=8 MHz φ=4 MHz φ=1 MHz 0 0 φ/4 0.25 µs 0.5 µs 1µs 4µs 0 1 φ/16 1µs 2µs 4µs 16µs 1 0 φ/32 2µs 4µs 8µs 32µs 1 1 φ/64 4µs 8µs 16µs 64µs φ : 周辺クロック (CLKP) 521 第 19 章 16 ビット I/O タイマ 19.2.2 アウトプットコンペアモジュール アウトプットコンペアモジュールは , 2 つの 16 ビットコンペアレジスタ , 2 つの比 較出力端子 , および制御レジスタで構成されます。本モジュールのコンペアレジス タに書き込まれた値が 16 ビットフリーランタイマの値と一致した場合は , 端子の出 力レベルを反転して割込みを発生できます。 ■ アウトプットコンペアモジュールの機能概要 • 2 つのコンペアレジスタは , 独立して使用できます。設定に応じて , 2 つのコンペア レジスタを端子出力の制御に使用できます。 • 端子出力の初期値が指定可能です。 • 比較の結果が一致すれば , 割込みを発生できます。 ■ アウトプットコンペアモジュールのブロックダイヤグラム 図 19.2-5 に , アウトプットコンペアモジュールのブロックダイヤグラムを示します。 図 19.2-5 アウトプットコンペアモジュールのブロックダイヤグラム 16ビットタイマカウンタ値(T15~T00) T 比較制御 Q OUT0 Q OUT1 コンペアレジスタ0 16ビットタイマカウンタ値(T15~T00) バス 比較制御 CMOD T コンペアレジスタ1 ICP1 ICP0 ICE1 ICE0 コントローラ 比較1割込み 比較0割込み 制御ブロック 522 第 19 章 16 ビット I/O タイマ ■ アウトプットコンペアモジュールのレジスタ機能 以下に , アウトプットコンペアモジュールで使用するレジスタの機能を説明します。 ● コンペアレジスタ (OCCP) 図 19.2-6 に , コンペアレジスタのビット構成を示します。 図 19.2-6 コンペアレジスタのビット構成 bit 000000BCH/000000BEH 15 14 13 12 11 10 9 8 C15 C14 C13 C12 C11 C10 C09 C08 属性→ 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 000000BDH/000000BFH 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 初期値→ これらの 16 ビットコンペアレジスタは , 16 ビットフリーランタイマと比較されます。 レジスタの初期値は定義されていませんので , 動作を許可する前に適当な値を設定し てください。このレジスタのアクセスには , ワード長のアクセス命令を使用してくださ い。本レジスタの値が 16 ビットフリーランタイマの値と一致すると , 比較信号が発生 し , アウトプットコンペア割込みフラグが設定されます。出力が許可されると , コンペ アレジスタに対応する出力レベルが反転します。 ● 制御ステータスレジスタ (OCS01) 図 19.2-7 に , 制御ステータスレジスタのビット構成を示します。 図 19.2-7 制御ステータスレジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 000000B8H − − − CMOD − − OTD1 OTD0 属性→ - - - R/W - - R/W R/W 初期値→ - - - 0 - - 0 0 bit 7 6 5 4 3 2 1 0 アドレス : 000000B9H ICP1 ICP0 ICE1 ICE0 − − CST1 CST0 属性→ R/W R/W R/W R/W - - R/W R/W 0 0 0 0 - - 0 0 初期値→ 以下に , 制御ステータスレジスタの各ビットの機能を説明します。 [bit15 ∼ bit13] 未使用ビット これらのビットは , 未使用ビットです。 [bit12] CMOD CMOD は , 一致により端子出力レベルの反転モードを切り換えるために使用しま す。 523 第 19 章 16 ビット I/O タイマ • CMOD=0( デフォルト ) の場合 , コンペアレジスタに対応する端子の出力レベルが反 転します。 - OUT0 : コンペアレジスタ 0 との一致でレベルが反転します。 - OUT1 : コンペアレジスタ 1 との一致でレベルが反転します。 • CMOD=1 の場合 , コンペアレジスタ 0 については , CMOD=0 の場合と同じようにし て出力レベルが反転します。一方 , コンペアレジスタ 1(OUT1) に対応する端子の出 力レベルは , コンペアレジスタ 0, または 1 との一致で反転します。コンペアレジス タ 0 と 1 が同じ値の場合 , 単一のコンペアレジスタによる場合と同じ動作が実行さ れます。 - OUT0 : コンペアレジスタ 0 との一致でレベルが反転します。 - OUT1 : コンペアレジスタ 0 または 1 との一致でレベルが反転します。 [bit11, bit10] 未使用ビット これらのビットは , 未使用ビットです。 [bit9, bit8] OTD1, OTD0 アウトプットコンペア端子の出力が許可されている場合に , 端子出力レベルを変更 するために使用します。比較端子出力の初期値は "0" です。値を書き込む前に , 比 較動作が停止していることを確認してください。読出し時には , これらのビットは アウトプットコンペア端子の出力値を示します。 0 比較端子出力を "0" に設定します ( 初期値 )。 1 比較端子出力を "1" に設定します。 ( 注意事項 ) OTD1 はアウトプットコンペア 1 に , OTD0 はアウトプットコンペア 0 に対応します。 [bit7, bit6] ICP1, ICP0 アウトプットコンペア割込みフラグとして使用します。コンペアレジスタの値が 16 ビットフリーランタイマの値と一致すると , これらのビットに "1" が設定されます。 割込み要求ビット (ICE1, および ICE0) が許可されている場合は , ICP1, および ICP0 のビットが設定されると , アウトプットコンペア割込みが発生します。これらの ビットは , "0" を書き込むとクリアされます。"1" の書込みは無効です。リードモ ディファイライト命令では , 常に "1" が読み出されます。 0 比較の一致なし ( 初期値 ) 1 比較の一致あり ( 注意事項 ) ICP1 はアウトプットコンペア 1 に , ICP0 はアウトプットコンペア 0 に対応します。 [bit5, bit4] ICE1, ICE0 アウトプットコンペア割込み許可フラグとして使用します。これらのビットに "1" が書き込まれているときに割込みフラグ (ICP1, または ICP0) が設定されると , アウ トプットコンペア割込みが発生します。 0 アウトプットコンペア割込み禁止 ( 初期値 ) 1 アウトプットコンペア割込み許可 ( 注意事項 ) 524 ICE1 はアウトプットコンペア 1 に , ICE0 はアウトプットコンペア 0 に対応します。 第 19 章 16 ビット I/O タイマ [bit3, bit2] 未使用ビット これらのビットは , 未使用ビットです。 [bit1, bit0] CST1, CST0 これらのビットは , 16 ビットフリーランタイマとの比較を許可するために使用しま す。比較動作を許可する前に , 必ずコンペアレジスタに値を書き込んでください。 0 比較動作の禁止 ( 初期値 ) 1 比較動作の許可 ( 注意事項 ) CST1 はアウトプットコンペア 1 に , CST0 はアウトプットコンペア 0 に対応します。 アウトプットコンペアは , 16 ビットフリーランタイマのクロックに同期しているので , 16 ビットフリーランタイマが停止すると比較動作も停止します。 525 第 19 章 16 ビット I/O タイマ 19.2.3 インプットキャプチャモジュール インプットキャプチャモジュールは , 外部入力信号の立上りエッジ , 立下りエッジ , またはその両方を検出して , 16 ビットフリーランタイマの値をレジスタに記憶しま す。また , エッジ検出のときに , 割込みを発生することもできます。インプットキャ プチャモジュールは , 2 つのインプットキャプチャデータレジスタ , および 1 つの制 御レジスタで構成されます。 各インプットキャプチャモジュールには , 対応する外部入力端子があります。 ■ インプットキャプチャモジュールの機能概要 • 外部入力の検出エッジは , 次の 3 種類から選択できます。 - 立上りエッジ - 立下りエッジ - 立上り , あるいは立下りエッジ • 外部入力の有効エッジを検出して , 割込みを発生できます。 ■ インプットキャプチャモジュールのブロックダイヤグラム 図 19.2-8 に , インプットキャプチャモジュールのブロックダイヤグラムを示します。 図 19.2-8 インプットキャプチャモジュールのブロックダイヤグラム インプットキャプチャデータレジスタ0 エッジ検出 16ビットタイマカウンタ値(T15~ T00) EG11 インプットキャプチャデータレジスタ1 エッジ検出 EG10 IN0 EG01 EG00 バス ICP1 ICP0 ICE1 IN1 ICE0 割込み 割込み 526 第 19 章 16 ビット I/O タイマ ■ インプットキャプチャモジュールのレジスタ機能 以下に , インプットキャプチャモジュールで使用するレジスタの機能を説明します。 ● インプットキャプチャデータレジスタ (IPCP) 図 19.2-9 に , インプットキャプチャデータレジスタのビット構成を示します。 図 19.2-9 インプットキャプチャデータレジスタのビット構成 bit 000000B0H/000000B2H 15 14 13 12 11 10 9 8 CP15 CP14 CP13 CP12 CP11 CP10 CP09 CP08 属性→ R R R R R R R R 初期値→ X X X X X X X X bit 000000B1H/000000B3H 7 6 5 4 3 2 1 0 CP07 CP06 CP05 CP04 CP03 CP02 CP01 CP00 属性→ R R R R R R R R 初期値→ X X X X X X X X このレジスタは , 対応する外部端子入力の波形から有効エッジを検出したときに , 16 ビットタイマの値を記憶します。 <注意事項> 本レジスタのアクセスにはワードモードを使用してください。本レジスタは書込み 禁止です。 ● 制御ステータスレジスタ (ICS) 図 19.2-10 に , 制御ステータスレジスタのビット構成を示します。 図 19.2-10 制御ステータスレジスタのビット構成 7 アドレス : bit 000000ADH /000000AFH ICP1 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" に設定されます。割込み許可ビット (ICE0, および ICE1) が設定されていると , 有効エッジの検出で割込みを発生できます。 これらのビットに "0" を書き込むとクリアされます。"1" の書込みは無効です。リー ドモディファイライト命令では常に "1" が読み出されます。 0 有効エッジを検出しない ( 初期値 ) 1 有効エッジを検出する ( 注意事項 ) ICP0 はインプットキャプチャ 0 に , ICP1 はインプットキャプチャ 1 に対応します。 527 第 19 章 16 ビット I/O タイマ [bit5, bit4] ICE1, ICE0 インプットキャプチャ割込みの許可に使用します。これらのビットが "1" のときに 割込みフラグ (ICP0 または ICP1) が設定されると , インプットキャプチャ割込みが 発生します。 <注意事項> 0 割込み禁止 ( 初期値 ) 1 割込み許可 ICE0 はインプットキャプチャ 0 に , ICE1 はインプットキャプチャ 1 に対応します。 [bit3 ∼ bit0] EG11, EG10, EG01, EG00 外部入力の有効エッジの極性を指定するために使用します。これらのビットは , イ ンプットキャプチャ動作の許可にも使用します。 EG11 EG01 EG10 EG00 0 0 エッジ検出なし ( 停止 ) 0 1 立上りエッジ検出 1 0 立下りエッジ検出 1 1 両エッジ検出 ( 注意事項 ) エッジ検出の極性 ( 初期値 ) EG01, EG00 はインプットキャプチャ 0 に , EG11, EG10 はインプット キャプチャ 1 に対応します。 ● 禁止レジスタ (IOTDBL) 図 19.2-11 に , 禁止レジスタのビット構成を示します。 図 19.2-11 禁止レジスタのビット構成 アドレス : bit 000000ACH/000000AEH 属性→ 初期値→ 7 6 5 4 3 2 1 0 − - − - − - − - − - DBLT DBLO DBLI R/W R/W R/W - - - - - 0 0 0 [bit2] DBLT このビットを使用して , フリーランタイマモジュールのクロックを禁止できます。 "1" でクロックが禁止になります。 [bit1] DBLO このビットを使用して , ( 両チャネルの ) アウトプットコンペアモジュールのクロッ クを禁止できます。"1" でクロックが禁止になります。 [bit0] DBLI このビットを使用して , ( 両チャネルの ) インプットキャプチャモジュールのクロッ クを禁止できます。"1" でクロックが禁止になります。 528 第 19 章 16 ビット I/O タイマ 16 ビット I/O タイマの動作 19.3 16 ビット I/O タイマの動作について説明します。 ■ 16 ビットフリーランタイマ 16 ビットフリーランタイマは , リセットの解除後にカウンタ値 "0000" からカウントを 開始します。このカウンタ値は , 16 ビットアウトプットコンペア , および 16 ビットイ ンプットキャプチャの動作のリファレンスタイムとして使用されます。 カウンタの値は , 次の条件でクリアされます。 • オーバフローが発生したとき • アウトプットコンペアレジスタ 0 と一致したとき ( これはモードによります ) • 動作中に , TCCS レジスタの CLR ビットに "1" が書き込まれたとき • 停止中に , TCDT レジスタに "0000H" が書き込まれたとき • リセット時 オーバフローが発生したときや, コンペアレジスタ0と一致しカウンタがクリアされた ときに , 割込みを発生させることが可能です。比較の一致割込みには , 適切なモード設 定が必要です。 図 19.3-1 にオーバフローによるカウンタクリアのタイミングチャートを , 図 19.3-2 に アウトプットコンペアレジスタ 0 との一致によるカウンタクリアのタイミングチャー トを示します。 図 19.3-1 オーバフローによるカウンタクリアのタイミングチャート カウンタ値 FFFF H オーバフロー BFFF H 7FFF H 3FFF H 0000 H 時間 リセット 割込み 529 第 19 章 16 ビット I/O タイマ 図 19.3-2 アウトプットコンペアレジスタ 0 との一致によるカウンタクリアのタイミングチャート カウンタ値 FFFF H 一致 BFFF H 一致 7FFF H 3FFF H 時間 0000 H リセット コンペア レジスタ値 割込み BFFF H ■ アウトプットコンペアモジュール 16 ビットアウトプットコンペアモジュールでは , 指定したコンペアレジスタ値が 16 ビットフリーランタイマ値と一致したときに , 割込み要求フラグを設定し , 出力レベル を反転することができます。 ● コンペアレジスタ 0, 1 を使用しているときの出力波形の例 図 19.3-3 に , コンペアレジスタ 0, 1 を使用しているときの出力波形の例を示します。 出力の初期値は "0" です。 2 つのコンペアレジスタを使用して , 出力レベルを変更できます (CMOD=1 のとき )。 図 19.3-3 コンペアレジスタ 0, 1 を使用しているときの出力波形の例 カウンタ値 FFFF H BFFF H 7FFF H 3FFF H 0000 H リセット コンペア レジスタ0の値 コンペア レジスタ1の値 OUT0 OUT1 コンペア0 割込み コンペア1 割込み 530 時間 BFFF H 7FFF H 第 19 章 16 ビット I/O タイマ ● 2 つのコンペアレジスタによる出力波形の例 図 19.3-4 に , 2 つのコンペアレジスタによる出力波形の例を示します。 出力の初期値は "0" です。 図 19.3-4 2 つのコンペアレジスタによる出力波形の例 カウンタ値 FFFF H BFFF H 7FFF H 3FFF H 0000 H リセット コンペア レジスタ0の値 コンペア レジスタ1の値 時間 BFFF H 7FFF H OUT0 OUT1 コンペア0 割込み コンペア1 割込み 比較0および1に対応 531 第 19 章 16 ビット I/O タイマ ■ インプットキャプチャモジュール 16ビットインプットキャプチャでは, 指定されたエッジを検出すると, 16ビットフリー ランタイマ値を取り込んでインプットキャプチャデータレジスタに書き込むことによ り , 割込みを発生することができます。 ● インプットキャプチャの取込みタイミングの例 図 19.3-5 に , インプットキャプチャの取込みタイミングの例を示します。 図 19.3-5 インプットキャプチャの取込みタイミングの例 カウンタ値 FFFF H BFFF H 7FFF H 3FFF H 時間 0000H リセット IN0 IN1 INの例 キャプチャ0 未定義 キャプチャ1 未定義 キャプチャの例 キャプチャ0 の割込み キャプチャ1 の割込み キャプチャ割込み 未定義 注意事項:キャプチャ0 :立上りエッジ キャプチャ1 :立下りエッジ キャプチャ例:両エッジ 532 3FFF H 7FFF H BFFF H 7FFF H 第 19 章 16 ビット I/O タイマ 19.4 動作タイミング 16 ビットフリーランタイマ , アウトプットコンペアモジュール , およびインプット キャプチャモジュールの動作タイミングについて説明します。 ■ 16 ビットフリーランタイマのカウントタイミング 16 ビットフリーランタイマは , 入力クロック ( 内部クロック , または外部クロック ) で インクリメントされます。外部クロックを選択すると , 16 ビットフリーランタイマは 立上りエッジでインクリメントされます。 ● フリーランタイマのカウントタイミング 図 19.4-1 に , フリーランタイマのカウントタイミングを示します。 図 19.4-1 フリーランタイマのカウントタイミング φ 外部クロック入力 カウントクロック N カウンタ値 N+1 カウンタのクリアは , リセット , ソフトウェアクリア , またはコンペアレジスタ 0 との 一致で行うことができます。リセット , またはソフトウェアクリアの場合 , カウンタは 直ちにクリアされます。コンペアレジスタ 0 との一致の場合 , カウンタはカウントタイ ミングに同期してクリアされます。 ● フリーランタイマのクリアタイミング 図 19.4-2 に , コンペアレジスタ 0 との一致によるフリーランタイマのクリアタイミン グを示します。 図 19.4-2 フリーランタイマのクリアタイミング ( コンペアレジスタ 0 との一致 ) φ コンペアレジスタ値 N コンペアの一致 カウンタ値 N 0000 533 第 19 章 16 ビット I/O タイマ ■ アウトプットコンペアモジュールのタイミング アウトプットコンペアモジュールでは , フリーランタイマ値が指定のコンペアレジス タ値と一致すると , 比較の一致信号を発生します。これによって出力値を反転し , 割込 みを発生することができます。比較の一致による出力の反転タイミングは , カウンタの カウントタイミングに同期します。 ● コンペアレジスタの更新による比較動作 コンペアレジスタが更新されると , カウンタ値との比較は実行されません。 図 19.4-3 に , コンペアレジスタの更新による比較動作のタイミングを示します。 図 19.4-3 コンペアレジスタの更新による比較動作のタイミング カウンタ値 N N+1 N+2 N+3 一致信号は発生しません。 コンペア レジスタ0の値 コンペア レジスタ0の書込み M コンペア レジスタ1の値 コンペア レジスタ1の書込み N+1 N+3 M コンペア0停止 コンペア1停止 ● 割込みタイミング 図 19.4-4 に , アウトプットコンペア動作の割込みタイミングを示します。 図 19.4-4 アウトプットコンペア動作の割込みタイミング φ カウンタ値 コンペア レジスタ値 コンペアの一致 割込み 534 N N+1 N 第 19 章 16 ビット I/O タイマ ● 出力端子の変化タイミング 図 19.4-5 に , アウトプットコンペア動作時の出力端子の変化タイミングを示します。 図 19.4-5 出力端子の変化タイミング ( アウトプットコンペア動作時 ) N カウンタ値 N+1 N コンペア レジスタ値 N+1 N コンペアの 一致信号 端子出力 ■ インプットキャプチャモジュールのタイミング ● 入力信号のキャプチャタイミング 図 19.4-6 に , 入力信号のキャプチャタイミングを示します。 図 19.4-6 入力信号のキャプチャタイミング φ カウンタ値 インプット キャプチャ入力 N N+1 有効エッジ キャプチャ信号 キャプチャ レジスタ N+1 割込み 535 第 19 章 16 ビット I/O タイマ 536 第 20 章 アラーム比較器 アラーム比較器 ( 不足 / 過電圧検出器 ) の概要を示 し , レジスタの構造と機能 , およびアラーム比較器 の動作について説明します。 20.1 アラーム比較器のブロックダイヤグラム 20.2 アラーム比較器のレジスタ 20.3 アラーム比較器の動作モード 537 第 20 章 アラーム比較器 20.1 アラーム比較器のブロックダイヤグラム アラーム比較器のブロックダイヤグラムを示します。 ■ アラーム比較器のブロックダイヤグラム 図 20.1-1 に , アラーム比較器のブロックダイヤグラムを示します。 図 20.1-1 アラーム比較器のブロックダイヤグラム アラーム比較器-デジタル部 アラーム比較器-アナログ部 AVCC OUT1 アラーム 4 5 AVCC D Q RB[15:0] RB[15:0] STOP STOP ACSR CK PD OUT2 2 5 AVCC D Q WRCR RMWR RDCR RSLEEP RST CLKP CK CDBLE CLKP RSLEEP RST CLKP REG CDBLE 割込み論理 538 DEC IRQ_AC IRQ_AC 第 20 章 アラーム比較器 20.2 アラーム比較器のレジスタ アラーム比較器で使用するレジスタについて説明します。 ■ アラーム比較器クロック禁止レジスタ (ACCDBL) 図 20.2-1 に , アラーム比較器クロック禁止レジスタ (ACCDBL) のビット構成を示しま す。 図 20.2-1 アラーム比較器クロック禁止レジスタのビット構成 ACCDBL アドレス : 00 0180H bit7 6 5 4 3 2 1 0 − − − − − − − CDBLE 初期値 -------0B R/W アクセス→ 以下に , ビットの機能を説明します。 [bit0] CDBLE : クロック禁止ビット このビットは , クロックの禁止 / 許可を設定します。 0 クロック禁止 ( アラーム比較器のデジタル部 ) 1 クロック許可 ( アラーム比較器のデジタル部 ) [ 初期値 ] ■ アラーム比較器ステータスレジスタ (ACSR) 図 20.2-2 に , アラーム比較器ステータスレジスタ (ACSR) のビット構成を示します。 図 20.2-2 アラーム比較器ステータスレジスタのビット構成 ACSR bit7 アドレス : 0000 0181H アクセス→ − 6 5 4 OV_EN UV_EN OUT2 R/W R/W R 3 2 1 0 OUT1 IRQ IEN PD R R/W R/W R/W 初期値 -11XXX00B 以下に , ビットの機能を説明します。 [bit6] OV_EN(Overvoltage Enable) : 過電圧割込み許可 このビットは , 過電圧の場合の割込みを許可するか , しないかを設定します。 1 過電圧時の割込み許可 [ 初期値 ] 0 過電圧時の割込みなし [bit5] UV_EN(Undervoltage Enable) : 低電圧割込み許可 このビットは , 低電圧の場合の割込みを許可するか , しないかを設定します。 539 第 20 章 アラーム比較器 1 不足電圧時の割込み許可 [ 初期値 ] 0 不足電圧時の割込みなし [bit4] OUT2 : アラーム比較器 UV 同期出力 このビットは , アナログ入力電圧の不足電圧値を設定します。 1 アナログ入力電圧 < 2/5 AVcc 0 アナログ入力電圧 > 2/5 AVcc [bit3] OUT1 : アラーム比較器 OV の同期出力 このビットは , アナログ入力電圧の過電圧値を設定します。 1 アナログ入力電圧 > 4/5 AVcc 0 アナログ入力電圧 < 4/5 AVcc [bit2] IRQ : 割込みビット このビットは , 低電圧 , または過電圧状態を検出するか , しないかを設定します。 1 低電圧 , または過電圧状態検出 0 通常動作 [bit1] IEN : 割込みアサート許可ビット このビットは , 割込みアサートを許可するか , 禁止するかを設定します。 1 割込みアサート許可 0 割込みアサート禁止 [ 初期値 ] [bit0] PD : パワーダウンビット このビットは , パワーダウン / 実行モードを設定します。 540 0 パワーダウン ( アナログ部 ) 1 実行モード ( アナログ部 ) [ 初期値 ] 第 20 章 アラーム比較器 20.3 アラーム比較器の動作モード アラーム比較器は , 割込みモード , またはポーリングモードで動作できます。内部割 込み論理は , IEN ビットの設定から独立した割込みイベントをそれぞれ検出します。 ■ 割込みモード (IEN=1) 表 20.3-1 は , 有効な割込みイベントを示しています。 表 20.3-1 有効な割込みイベント OUT2 OUT1 IRQ 1 1 1 Vin > 4/5 AVDD ( 過電圧 ) 1 0 0 2/5 AVDD < Vin < 4/5 AVDD ( 通常動作 ) 0 0 1 2/5 AVDD >Vin ( 低電圧 ) アナログ入力電圧範囲 割込みビット IRQ は , 割込みイベントを検出して , CLKP の次の立上りで設定されま す。IEN=1 の場合は , CPU に対する割込み要求が生成されます。両方の割込みが許可 されている場合にアサートされた割込み要因を決定するためには , 割込みサービス ルーチン内で直ちに ACSR レジスタを読み出す必要があります。OUT2 および OUT1 には , 常に比較器出力の実ステータスが含まれ , 割込みトリガステータスは記憶されま せん。 ■ ポーリングモード (IEN=0) IRQ レジスタビットは , アクティブな割込みイベントにより有効に設定され , ACSR レ ジスタに書込みを行うとリセットされます。ACSR レジスタは , AC 比較器入力に送ら れる入力電圧を監視するために , 継続的にポーリングされます。 ■ IRQ フラグビットの設定とリセット ACSR レジスタの IRQ ビットは , "0" を書き込むことによりゼロにリセットできます。 ACSR レジスタの IRQ ビットに対する "1" の書込みは , 無効となります。ハードウェア ( アラーム比較器の出力 ) によってのみ , IRQ は "1" に設定できます。"0" を書き込んで も , アクティブな割込みステータスが検出されている限り , IRQ は引き続きアクティブ です。 ACSR レジスタで実行されるビット設定コマンドは , R バス上のリードモディファイラ イトアクセスで生じます。RMW コマンド実行中のすべての読出しアクセスは , IRQ フ ラグに関して , CPU に "1" を返します。これによって , IRQ フラグビットのソフトウェ ア設定に起因する , 割込みイベントの検出漏れを防ぐことができます。 541 第 20 章 アラーム比較器 ■ アラーム比較器パワーダウンモード アラーム比較器回路には , 表 20.3-2 に示すパワーダウンモードがあります。 表 20.3-2 パワーダウンモード STOP PD CDBLE アナログ部 デジタル部 0 0 0 実行モード 実行モード 0 0 1 パワーダウンモード パワーダウンモード 0 1 0 パワーダウンモード 実行モード 0 1 1 パワーダウンモード パワーダウンモード 1 0 0 パワーダウンモード パワーダウンモード 1 0 1 パワーダウンモード パワーダウンモード 1 1 0 パワーダウンモード パワーダウンモード 1 1 1 パワーダウンモード パワーダウンモード <注意事項> 542 アラーム比較器 ( アナログ部 ) の出力は , 電源投入後 , あるいは実行モード再投入後 であっても , 最低 3 µs 間は未定義のままです。IRQ が正しく設定されているかどう かを確認してから , アラーム比較器割込みソースを許可しなければなりません。 第 21 章 パワーダウンリセット パワーダウンリセットの概要を示し , レジスタの構 成と機能 , およびパワーダウンリセットモジュール の動作について説明します。 21.1 パワーダウンリセットの概要 21.2 パワーダウンリセットのレジスタ 21.3 パワーダウンリセットの動作モード 543 第 21 章 パワーダウンリセット 21.1 パワーダウンリセットの概要 パワーダウンリセットモジュールは , VDD がしきい値電圧より低くなるとシステム をリセットします。リセット信号は , パワーダウンリセット制御レジスタ PDRCR の設定により , 禁止および許可されます。低電力アプリケーションについては , パ ワーダウンリセット制御回路のデジタル部とアナログ部を禁止できます。 ■ パワーダウンリセットモジュールの特長 パワーダウンリセット回路には , 以下の機能があります。 • 5V の電源電圧をモニタし , 4.0V( 標準値 ) のしきい値より電圧が低い場合は , 2.27µs ( 標準値 ) 後にリセット信号を生成します。 • 基準電圧のための内部バンドギャップ回路を持っています。 • モニタ電圧のための 50mV( 標準値 ) ヒステリシス入力が可能です。 • パワーダウンリセット回路のアナログ部がパワーダウンモードに切り換えられた 場合は , 消費電流を 260µA( 標準値 ) 減らします。 図 21.1-1 に , パワーダウンリセットモジュールの回路を示します。 図 21.1-1 パワーダウンリセットモジュールの回路 入力段階 IN PDCOMP OUT EN RST 9-ビットカウンタ READY CLR S WR RB[ 1] (PD ビット) 544 R Q PDRSTX 第 21 章 パワーダウンリセット 21.2 パワーダウンリセットのレジスタ パワーダウンリセットモジュールで使用するレジスタについて説明します。 ■ パワーダウンリセット制御レジスタ (PDRCR) 図 21.2-1 に , パワーダウンリセット制御レジスタのビット構成を示します。 図 21.2-1 パワーダウンリセット制御レジスタのビット構成 bit 7 6 5 4 3 2 1 0 アドレス : 0000 017DH − − − − − CDSBLE PD EN アクセス : - - - - - R/W R/W R/W 初期値 (INIT): - - - - - 0 0 0 初期値 (RST): X X X X X X X X 以下に , レジスタの各ビットの機能を説明します。 [bit2] CDSBLE : クロック禁止 このビットは , パワーダウンリセット比較器のデジタル部のクロックを禁止しま す。 0 クロック許可 1 クロック禁止 [ 初期値 ] [bit1] PD : パワーダウン このビットは , パワーダウンリセット比較器のアナログ部の低電力モードを制御し ます。 0 低電力モード禁止 1 低電力モード許可 [ 初期値 ] [bit0] EN : 許可 このビットは , パワーダウンリセット比較器を許可します。 0 パワーダウンリセット回路禁止 1 パワーダウンリセット回路許可 [ 初期値 ] 545 第 21 章 パワーダウンリセット 21.3 パワーダウンリセットの動作モード パワーダウンリセットモジュールの動作モードについて説明します。 パワーダウンリセットモジュールの動作モードには , 実行モードと低電力モードの 2 種類があります。 ■ 実行モード 初期リセットの後 , PDRCR の EN ビットは禁止されます。パワーダウンリセット制御 回路を起動するために許可する必要があります。 VDD がしきい値より低くなると , PDCOMP 信号は "H" になります。電圧降下による非 同期イベントに起因する準安定状態を回避するために , PDCOMP 信号は入力ステージ で 2 クロックサイクルだけ遅延されます。 次に , PDRSTX 信号が "L" アクティブになります。 VDD が低電圧である間に PDRCR の PD ビットが "1" から "0" に切り換えられると , PDCOMP 信号は 3.19µs の間不定状態になります。回路の未定義動作を避けるために , PD ビットへの書込みアクセス後 , 9 ビットカウンタはリセットされます。カウンタは , 511 クロックサイクルの後 , パワーダウンリセット制御回路を許可します。指定された 最速周波数を CLKP=32 MHz と仮定すると , 21µs の遅延が発生します。 ■ 低電力モード パワーダウンリセット回路のデジタル部とアナログ部は , 低電力モードに設定するこ とができます。デジタル部のクロックを禁止するだけでなく , アナログ回路を低電力 モードに設定できます。 546 PD CDSBLE アナログ部 デジタル部 0 0 動作 動作 0 1 動作 低電力 1 1 低電力 低電力 第 22 章 シリアル I/O インタフェース (SIO) シリアル I/O インタフェース (SIO) の概要を示し , レジスタの構成と機能 , および SIO の動作につい て説明します。 22.1 シリアル I/O インタフェース (SIO) の概要 22.2 シリアル I/O インタフェース (SIO) のレジスタ 22.3 シリアル I/O インタフェース (SIO) の動作 547 第 22 章 シリアル I/O インタフェース (SIO) 22.1 シリアル I/O インタフェース (SIO) の概要 シリアル I/O インタフェース (SIO) は , クロック同期調整を使用したデータ転送を可 能にするシリアル I/O インタフェースです。インタフェースは , シングル 8 ビット チャネルで構成されています。 ■ シリアル I/O インタフェース (SIO) の概要 データは , LSB, または MSB から転送できます。 MB91360 シリーズには , SIO0 と SIO1 の 2 種類のシリアル I/O ユニットがあります。本 章では , SIO0 についてのみ説明します。SIO1 のレジスタアドレスについては ,「付録 A I/O マップ」を参照してください。 シリアル I/O インタフェースは , 2 種類のモードで動作します。 • 内部シフトクロックモード : データは , 内部クロックに同期して転送されます。 • 外部シフトクロックモード : データは , 外部端子 (SCK) を経由して供給されるク ロックに同期して転送されます。このモードでは , 外 部端子 (SCK) を共有している汎用ポートを操作するこ とによって , CPU の命令によりデータを転送すること も可能です。図 22.1-1 に , シリアル I/O インタフェー ス (SIO) のブロックダイヤグラムを示します。 548 第 22 章 シリアル I/O インタフェース (SIO) 図 22.1-1 シリアル I/O インタフェースブロックダイヤグラム 内部データバス (MSBから) D7からD0 D7からD0(LSBから) 転送方向選択 SIN3 読出し 書込み SDR(シリアルデータレジスタ) SOT3 SCK3 シフトクロック カウンタ 制御回路 周辺機器用クロック (CLKP) 2 1 0 SMD2 SMD1 SMD0 SIE SIR BUSY STOP STRT MODE BDS ---- SCOE 割込み要求 内部データバス 549 第 22 章 シリアル I/O インタフェース (SIO) 22.2 シリアル I/O インタフェース (SIO) のレジスタ シリアル I/O インタフェース (SIO) で使用するレジスタの機能について説明します。 ■ シリアル I/O インタフェース (SIO) のレジスタ一覧 図 22.2-1 に , シリアル I/O インタフェース (SIO) のレジスタ一覧を示します。 図 22.2-1 シリアル I/O インタフェース (SIO) のレジスタ一覧 シリアルモード制御ステータスレジスタ (SMCS) bit 15 14 13 12 11 10 9 8 アドレス : 00000084H/00000088H SMD2 SMD1 SMD0 SIE SIR BUSY STOP STRT 読出し / 書込み→ (R/W) (R/W) (R/W) (R/W) (R/W) (R) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) bit 7 6 5 4 3 2 1 0 アドレス : 00000085H/00000089H − − − − MODE BDS − SCOE 読出し / 書込み→ (-) (-) (-) (-) (R/W) (R/W) (-) (R/W) 初期値→ (-) (-) (-) (-) (0) (0) (-) (0) 初期値→ SIO エッジ選択 / クロック禁止レジスタ (SES) bit 15 14 13 12 11 10 9 8 アドレス : 00000086H/0000008AH − − − − − − DBL NEG 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (R/W) (R/W) 初期値→ (-) (-) (-) (-) (-) (-) (0) (0) 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) シリアルシフトデータレジスタ (SDR) bit アドレス : 00000087H/0000008BH 読出し / 書込み→ (R/W) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) シリアル I/O プリスケーラ (CDCR) bit 15 14 13 12 11 10 9 8 アドレス : 0000008CH/0000008EH MD 読出し / 書込み→ (R/W) 初期値→ 550 (0) − − − DIV3 DIV2 DIV1 DIV0 (-) (-) (-) (R/W) (R/W) (R/W) (R/W) (-) (-) (-) (1) (1) (1) (1) 第 22 章 シリアル I/O インタフェース (SIO) シリアルモード制御ステータスレジスタ (SMCS) 22.2.1 シリアルモード制御ステータスレジスタ (SMCS) の機能について説明します。 ■ シリアルモード制御ステータスレジスタ (SMCS) の機能 このレジスタは , シリアル I/O 転送モードを制御します。 図 22.2-2 に , シリアルモード制御ステータスレジスタ (SMCS) のビット構成を示します。 図 22.2-2 シリアルモード制御ステータスレジスタ (SMCS) のビット構成 SMCS bit15 アドレス : 00000084H SMD2 アクセス 14 13 12 11 10 9 8 SMD1 SMD0 SIE SIR BUSY STOP STRT R/W R/W R/W R/W R R/W R/W R/W ↑ *1 SMCS bit7 アドレス : 00000085H − 6 5 − − ↑ *2 4 3 2 − MODE BDS R/W R/W アクセス 初期値 00000010B 1 0 − SCOE 初期値 ----00-0B R/W *1: "0" のみ書込み可能。 *2: "1" のみ書込み可能。"0" は常に読出し値。 以下に , 各ビットの機能を説明します。 [bit15 ∼ bit13] シフトクロック選択ビット (SMD2, SMD1, SMD0 : Serial shift clock mode) シフトクロック選択ビットは , シリアルシフトクロックモードを選択するために使 用します。 これらのビットの設定内容を , 表 22.2-1 に示します。 表 22.2-1 シリアルシフトクロックモードの設定 SMD2 SMD1 SMD0 φ=16 MHz div=16 φ=8 MHz div=8 φ=4 MHz div=8 0 0 0 1 MHz 1 MHz 500 kHz 6 1 1 0 1 6 MHz 0 0 1 500 kHz 500 kHz 250 kHz 8 1 1 0 0 8 MHz 0 1 0 125 kHz 125 kHz 62.5 kHz 10 1 0 1 1 10 MHz 0 1 1 62.5 kHz 62.5 kHz 31.25 kHz 12 1 0 1 0 12 MHz 1 0 0 31.25 kHz 31.25 kHz 15.625 kHz 14 1 0 0 1 14 MHz 1 0 1 外部シフトクロックモード 16 1 0 0 0 16 MHz 1 1 0 予備 1 1 1 予備 分周比 DIV3 DIV2 DIV1 DIV0 推奨マシン サイクル シリアル I/O プリスケーラ (CDCR) の設定詳細に ついては , 「22.2.4 シリアル I/O プリスケーラ (CDCR)」を参照してください。 551 第 22 章 シリアル I/O インタフェース (SIO) これらのビットは , リセット時に "000B" に初期化されます。これらのビットは , デー タ転送中に更新してはいけません。 5 種類の内部シフトクロックと外部シフトクロックが利用可能です。"110B", および "111B"は予備ですので, SMD2, SMD1, SMD0にこれらの値は設定しないでください。 外部シフトクロックモードが選択された場合 , ソフトウェアによる 1 ビットシフト 動作を行うことができます。この動作を行うには , シフトクロック入力を共有して いる汎用 I/O の , 出力レベルを変更します。 [bit12] シリアル I/O 割込み許可ビット (SIE : Serial I/O interrupt enable) シリアル I/O 割込み許可ビットは , シリアル I/O 割込み要求を制御します。 SIE 動作 0 シリアル I/O 割込み禁止 1 シリアル I/O 割込み許可 [ 初期値 ] このビットは , リセット時に "0" に初期化されます。読出し , および書込みが可能で す。 [bit11] シリアル I/O 割込み要求ビット (SIR : Serial I/O interrupt request) シリアルデータ転送完了時に , このビットに "1" が設定されます。割込み許可時 (SIE=1) にこのビットが設定されると , CPU に対して割込み要求を発行します。ク リア条件は , MODE ビットによって変わります。 MODE ビットに "0" が書き込まれている場合は , SIR ビットは , "0" を書き込むこと によりクリアされます。MODE ビットに "1" が書き込まれている場合は , SIR ビッ トは , SDR に対して読出し , または書込みを行うことによりクリアされます。シス テムをリセットするか , STOP ビットに "1" を書き込んだ場合は , MODE ビット値に 関係なく , SIR ビットはクリアされます。 SIR ビットに "1" を書き込んでも , 無効となります。リードモディファイライト命 令では常に "1" が読み出されます。 [bit10] 転送ステータスビット (BUSY) 転送ステータスビットは , シリアル転送が実行中かどうかを示します。 BUSY 動作中 0 停止 , またはシリアルデータレジスタを読み / 書きするためのスタンバイ [ 初期値 ] 1 シリアル転送中 このビットは , リセット時に "0" に初期化されます。このビットは , 読出し専用ビッ トです。 552 第 22 章 シリアル I/O インタフェース (SIO) [bit9] ストップビット (STOP) ストップビットは , シリアル転送を強制終了します。このビットに "1" を書き込む と , 転送が停止します。 STOP 動作中 0 通常動作 1 転送停止 [ 初期値 ] このビットは , リセット時に "1" に初期化されます。読出し , および書込みが可能で す。 [bit8] スタートビット (STRT : Start) スタートビットは , シリアル転送を起動します。MODE ビットが "0" に設定されて いる場合, このビットに"1"を書き込むことにより, データ転送が開始します。MODE ビットに "1" を設定し , STRT ビットにも "1" を設定した場合 , シリアルデータレジ スタにデータを書き込むことにより , 転送が開始します。 システムが , シリアル転送の動作中 , またはシリアルシフトレジスタの読出し , また は書込みのためのスタンバイ中である場合は , "1" の書込みは無視されます。"0" の 書込みは無効です。読出し値は常に "0" です。 [bit3] シリアルモード選択ビット (MODE : Serial mode selection bit) シリアルモード選択ビットは , 停止状態から転送動作を開始するための条件を選択 するために使用します。 このビットは , 動作中に更新してはいけません。 動作 MODE 0 STRT=1 のとき , 転送を開始します。[ 初期値 ] 1 シリアルデータレジスタに対して , 読出し , または書込みが行われた とき , 転送を開始します。 このビットは , リセット時に "0" に初期化され , 読出し , および書込み可能です。イ ンテリジェント I/O サービスを起動するためには , このビットに , "1" が書き込まれ ていることを確認してください。 [bit2] ビット順序選択ビット (BDS : bit order select bit) このビットは , データ転送のビット順序を指定します。データは , 最下位のビット から (LSB からのモード ), または最上位ビットから (MSB からのモード ) データを 転送できます。 動作 BDS <注意事項> 0 LSB から 1 MSB から [ 初期値 ] SDR にデータを書き込む前に , ビット順序を指定します。 553 第 22 章 シリアル I/O インタフェース (SIO) [bit1] 未使用ビット このビットは , 未使用ビットです。 [bit0] シフトクロック出力許可ビット (SCOE: SCK1 output enable) シフトクロック出力許可ビットは , シフトクロック I/O 出力外部端子からの出力を 制御します。 動作 SCOE 0 シフトクロック入力端子 1 シフトクロック出力端子 [ 初期値 ] 外部シフトクロックモードにおいて , 各命令でデータが転送される際 , このビット に "0" が書き込まれていることを確認してください。 このビットは , リセット時に "0" に初期化されます。読出し , および書込みが可能で す。 554 第 22 章 シリアル I/O インタフェース (SIO) 22.2.2 シリアルシフトデータレジスタ (SDR) シリアルシフトデータレジスタ (SDR) の機能について説明します。 ■ シリアルシフトデータレジスタ (SDR) の機能 図 22.2-3 に , シリアルシフトデータレジスタ (SDR) のビット構成を示します。 図 22.2-3 シリアルシフトデータレジスタ (SDR) のビット構成 SDR アドレス : 00000087H bit7 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 初期値 XXXXXXXXB [bit7 ∼ bit0] D7 ∼ D0 : シリアルシフトデータレジスタ シリアルシフトデータレジスタは , シリアル I/O 転送データを記憶します。転送中 は , SDR の読出し , および書込みは禁止です。 555 第 22 章 シリアル I/O インタフェース (SIO) 22.2.3 SIO エッジ選択 / クロック禁止レジスタ (SES) SIO エッジ選択 / クロック禁止レジスタ (SES) の機能について説明します。 ■ SIO エッジ選択 / クロック禁止レジスタ (SES) の機能 図 22.2-4 に , SIO エッジ選択 / クロック禁止レジスタ (SES) のビット構成を示します。 図 22.2-4 SIO エッジ選択 / クロック禁止レジスタ (SES) のビット構成 SES アドレス : 00000086H bit7 6 5 4 3 2 1 0 − − − − − − DBL NEG R/W R/W 初期値 ------00B 以下に , SIO エッジ選択 / クロック禁止レジスタ (SES) の各ビットの機能を説明します。 [bit1] DBL : クロック禁止 このビットは , クロックの禁止を設定します。 DBL 動作 0 通常動作 1 SIO モジュールのクロックは禁止 [ 初期値 ] [bit0] NEG : シフトクロック信号反転 このビットは , シフトクロック信号の反転を設定します。 詳細は , 「22.3 シリアル I/O インタフェース (SIO) の動作」の「■ 反転クロック動 作」を参照してください。 NEG 556 動作 0 通常動作 1 シフトクロック信号は反転 [ 初期値 ] 第 22 章 シリアル I/O インタフェース (SIO) 22.2.4 シリアル I/O プリスケーラ (CDCR) シリアル I/O プリスケーラは , シリアル I/O のシフトクロックを供給します。 ■ シリアル I/O プリスケーラ シリアル I/O の動作クロックは , マシンクロックを分周して得ます。シリアル I/O は , 通信プリスケーラのユーザが , さまざまなマシンクロックの一定のボーレートを得ら れるように設計してあります。CDCR レジスタは , マシンクロック分周を制御します。 図 22.2-5 に , シリアル I/O プリスケーラのビット構成を示します。 図 22.2-5 シリアル I/O プリスケーラのビット構成 CDCR アドレス : 0000008CH bit15 14 13 12 11 10 9 8 MD − − − DIV3 DIV2 DIV1 DIV0 R/W R/W R/W R/W R/W 初期値 0---1111B 以下に , シリアル I/O プリスケーラの各ビットの機能を説明します。 [bit15] MD(Machine clock divide mode select) このビットは , 通信プリスケーラの動作を制御するために使用します。 MD <注意事項> 動作 0 シリアル I/O プリスケーラを禁止し , リセットします。 1 シリアル I/O プリスケーラを許可します。 MD を "0" に設定してプリスケーラをリセットする方法 この機能を使用して , SPI タイミングを生成できます。 557 第 22 章 シリアル I/O インタフェース (SIO) [bit11 ∼ bit8] DIV3 ∼ DIV0(Divide3 ∼ Divide0) これらのビットは , CLKP クロック分周比を決定するために使用します。 表 22.2-2 に , CLKP クロック分周比の設定内容を示します。 表 22.2-2 マシンクロック分周比 <注意事項> 558 DIV3 ∼ DIV0 CLKP 分周比 1101B 6 1100B 8 1011B 10 1010B 12 1001B 14 1000B 16 分周比を変更した場合は , 通信を開始する前にクロック安定のために 2 サイクルお いてください。 第 22 章 シリアル I/O インタフェース (SIO) 22.3 シリアル I/O インタフェース (SIO) の動作 シリアル I/O インタフェース (SIO) の動作について説明します。 ■ 動作概要 シリアル I/O は , シリアルモード制御ステータスレジスタ (SMCS) と , シリアルシフト データレジスタ (SDR) で構成されており , 8 ビットシリアルデータの入出力に使用しま す。シリアルシフトデータレジスタ内のビットは , シリアルシフトクロック ( 外部ク ロックまたは内部クロック ) の立下りエッジで , シリアル出力端子 (SOT1 端子 ) を経由 して , 直列に出力されます。このビットは , シリアルシフトクロックの立上りエッジで , シリアル入力端子 (SIN1 端子 ) を経由して , シリアルシフトデータレジスタ (SDR) に直 列に入力されます。シフト方向 (MSB, または LSB からの転送 ) は , シリアルモード制 御ステータスレジスタ (SMCS) の方向指定ビット (BDS) が指定します。 シリアルデータ転送終了時には , シリアル I/O インタフェース (SIO) は , シリアルモー ド制御ステータスレジスタ (SMCS) の MODE ビットに従って , 停止するか , またはデー タレジスタの読出し , 書込みのためのスタンバイになります。停止 , またはスタンバイ 状態から転送を開始するには , 以下の手順に従ってください。 1. 停止状態から動作を再開するには , STOP ビットに "0" を , STRT ビットに "1" を書 き込んでください (STOP ビットと STRT ビットは同時に設定できます )。 2. シリアルシフトデータレジスタの読出し / 書込みスタンバイ状態から動作を再開す るには , データレジスタの読出し , または書込みを行ってください。 ■ シフトクロックのモード シフトクロックには , 2 種類のモード ( 内部シフトクロックと外部シフトクロック ) が あります。これら 2 種類のモードは , SMCS を設定することによって選択されます。 モードを切り換えるには , シリアル I/O 転送が停止していることを確認してください。 シリアル I/O 転送が停止していることを確認するためには , BUSY ビットの読出しを行 います。 ● 内部シフトクロックモード 内部シフトクロックモードでは , データ転送は周辺機器用クロック (CLKP) に基づいて 行われます。同期タイミング出力として , デューティ比 50 % のシフトクロックを SCK 端子から出力できます。データは , クロックごとに 1 ビット転送されます。転送速度は , 以下の式で表わすことができます。 転送速度 (s) = A / CLKP マシンサイクル (Hz) "A" は , SMCS の SMD ビットで示された分周比です。値として 21, 22, 23, 24, 25 をとる ことができます。 ● 外部シフトクロックモード 外部シフトクロックモードでは , データ転送は , SCK 端子を経由して供給される外部ク ロックに基づいて行われます。データは , クロックごとに 1 ビット転送されます。 転送速度は , "0" に近い値と 1/(5 CLKP サイクル ) の間で設定できます。たとえば , 1 CLKP サイクルが 0.1µs である場合 , 転送速度は最大 2 MHz にすることができます。 559 第 22 章 シリアル I/O インタフェース (SIO) データビットは , ソフトウェアによっても転送できます。許可を与えるには以下のよう にしてください。 1. 外部シフトクロックモードを選択し , SMCS の SCOE ビットに "0" を書き込みます。 2. SCK端子を共有しているポートの方向レジスタに"1"を書き込み, ポートを出力モー ドにします。ポートのデータレジスタ (PDR) に "1", および "0" を書き込むと , SCK 端子経由のポート値出力が外部クロックとして取り込まれ , 転送が開始します。 3. シフトクロックが "H" から開始したことを確認してください。 <注意事項> シリアル I/O 動作中に , SMCS, または SDR に対しての書込みは禁止です。 ■ シリアル I/O 動作 シリアル I/O 動作のステータスは 4 種類 (STOP, Halt( 停止 ), SDR 読出し / 書込みスタン バイ , 転送 ) あります。 ● STOP STOP 状態は , RESET 時 , または SMCS の STOP ビットに "1" を書き込んだときに , 初 期化されます。シフトカウンタは初期化され , SIR に "0" が書き込まれます。 STOP 状態から動作を再開するには , STOP に "0" を , STRT に "1" を書き込みます ( こ れら 2 つのビットは , 同時に書き込むことができます )。STOP ビットは , STRT ビット を無効にするので , STOP に "1" が書かれている間は , STRT に "1" を書き込んでも , 転 送を開始することはできません。 ● Halt( 停止 ) MODE ビットが "0" の間に転送が完了すると , BUSY に "0" が設定され , SMCS の SIR に "1" が設定されます。カウンタは初期化され , システムは停止します。STOP 状態か ら動作を再開するには , STRT に "1" を書き込みます。 ● シリアルデータレジスタ読出し / 書込みスタンバイ MODE ビットが "1" の間に転送が完了すると , BUSY に "0" が設定され , SMCS の SIR に "1" が設定されて , システムはシリアルデータレジスタ読出し / 書込みスタンバイ状 態になります。割込み許可フラグが設定してある場合は , 割込み信号が本ブロックから 出力されます。 読出し / 書込みスタンバイ状態から動作を再開するには , シリアルデータレジスタに対 して読出し , または書込みを行ってください。これにより , BUSY ビットに "1" が設定 され , データ転送が開始します。 ● 転送 BUSY ビットが "1" に設定されていると , シリアル転送が動作しています。MODE ビッ トに従って , Halt 状態 , または読出し / 書込みスタンバイ状態に移ります。 図 22.3-1 に , 動作遷移を示します。 560 第 22 章 シリアル I/O インタフェース (SIO) 図 22.3-1 拡張 I/O シリアルインタフェース動作遷移 転送の終了 STRT=0, BUSY=0 MODE=0 MODE=0 & STOP=0 & END 転送 STOP=0 & STRT=1 リセット STOP=0 & STRT=0 STOP STRT=0, BUSY=0 STOP=1 STOP=1 STOP=0 & STRT=1 MODE=1 & END & STOP=0 STOP=1 シリアルデータレジスタR/Wスタンバイ STRT=1, BUSY=1 SDR R/W & MODE=1 STRT=1, BUSY=0 MODE=1 図 22.3-2 シリアルデータレジスタの読出し / 書込み シリアルデータ データバス SOT SIN データバス 読出し 書込み 割込み出力 拡張 I/O シリアル インタフェース 読出し 書込み CPU a. b. 割込み入力 データバス 割込みコントローラ a. MODE に "1" を書き込むと , シフトクロックカウンタに従って , 転送は終了します。 読出し / 書込みスタンバイ状態は , SIR に "1" を書き込むと開始します。SIE ビット に "1" を書き込むと , 割込み信号が発生します。SIE が休止中の場合 , または STOP に "1" を書き込むことにより転送が終了している場合は , 割込み信号は発生しませ ん。 b. シリアルデータレジスタに対して読出し, または書込みを行うと, 割込み要求はクリ アされ , シリアル転送が開始します。 ■ シフト動作開始 / 停止タイミング , および I/O タイミング • シフト動作開始 : SMCS レジスタの STOP ビットに "0" を , STRT ビットに "1" を 書き込みます。 • シフト動作停止 : システムは , 転送終了時 , または STOP に "1" を書き込んだとき に停止します。 - STOP=1 による停止 : システムは MODE ビットに関係なく , SIR=0 の場合に停 止します。 - 転送終了による停止 : システムは , MODE ビットに関係なく , SIR=1 の場合に停 止します。 BUSY ビットは , MODE ビットに関係なくシリアル転送中は "1" になり , 停止 , または 読出し / 書込みスタンバイ状態の間は "0" になります。転送状態を確認するには , 本 ビットの読出しを行います。 561 第 22 章 シリアル I/O インタフェース (SIO) ● 内部シフトクロックモード (LSB から ) 図 22.3-3 に , 内部シフトクロックモードにおけるシフト動作開始 / 停止タイミングを示 します。 図 22.3-3 シフト動作開始 / 停止タイミング ( 内部シフトクロックモード ) "1"出力 SCK3 (転送開始) (転送終了) STRT MODE=0の場合 BUSY SOT3 DO0 DO7(データ維持) ● 外部シフトクロックモード (LSB から ) 図 22.3-4 に , 外部シフトクロックモードにおけるシフト動作開始 / 停止タイミングを示 します。 図 22.3-4 シフト動作開始 / 停止タイミング ( 外部シフトクロックモード ) SCK3 STRT BUSY SOT3 (転送開始) (転送終了) MODE=0の場合 DO0 DO7(データ維持) ● 命令シフト付き外部シフトクロックモード (LSB から ) 図 22.3-5 に , 命令シフト付き外部シフトクロックモードにおけるシフト動作開始 / 停止 タイミングを示します。 図 22.3-5 シフト動作開始 / 停止タイミング ( 命令シフト付き外部シフトクロックモード ) SCK3 STRT BUSY SOT3 PDRでSCK= "0" PDRでSCK= "0" PDRでSCK= "0"(転送終了) MODE=0の場合 DO6 DO7(データ維持) (注意事項)命令シフトについては,PDRのSCKに対応するビットに"1"が書き込まれたときは "H"を出力し,"0"が書き込まれたときは"L"を出力します。 (外部シフトクロックモードでSCOE=0の場合) 562 第 22 章 シリアル I/O インタフェース (SIO) ● STOP=1 による停止 (LSB から開始 , 内部クロック ) 図 22.3-6 に , STOP ビットに "1" を書き込んだ場合の停止タイミングを示します。 図 22.3-6 STOP ビットに "1" を書き込んだ場合の停止タイミング "1"出力 SCK3 (転送開始) STRT (転送終了) MODE=0の場合 BUSY STOP DO3 SOT3 DO4 DO5(データ維持) (注意事項)DO7~DO0は,出力データを示しています。 シリアルデータ転送中 , データは , シフトクロックの立下りエッジでシリアル出力端子 (SOT2) から出力され , 立上りエッジでシリアル入力端子 (SIN) から入力されます。 図 22.3-7 に , I/O シフトタイミングを示します。 図 22.3-7 I/O シフトタイミング m_LSBから開始(BDSビットが"0"の場合) SCK3 SIN 出力 SIN3 D10 D11 SOT3 DO0 DO1 D12 D13 SOT 出力 DO2 DO3 D14 D15 D16 D17 DO4 DO5 DO6 DO7 m_MSBから開始(BDSビットが"1"の場合) SCK3 SIN3 SIN 出力 D17 D16 D15 D14 D13 D12 D11 D10 DO4 DO3 DO2 DO1 DO0 SOT 出力 SOT3 DO7 DO6 DO5 (注意事項)DO7~DO0は,出力データを示しています。 563 第 22 章 シリアル I/O インタフェース (SIO) ■ 割込み動作 本ブロックでは , CPU に対する割込み要求を発行できます。データ転送終了時に , SIR ビットは割込みフラグとして設定されます。SMCS の割込み許可ビット (SIE ビット ) に "1" が書き込まれると , CPU に対して割込み要求を発行します。 図 22.3-8 割込み信号出力タイミング SCK3 (転送終了) * BUSY SIE=1 SIR SDR RD/WR SOT3 DO7(データ維持) DO6 *: MODE=1の場合 ■ 反転クロック動作 MB91360 シリーズは , シリアル I/O の反転クロック動作をサポートしています。この 動作においては , 単純にインバータがシフトクロック信号をネゲートします。したがっ て , 前述のシリアル I/O に関するシフトクロック信号の定義は , 論理 "L" レベルから論 理 "H" レベルに , 立下りエッジから立上りエッジに , およびその逆に , 反転されます。 これは , シリアルクロック入力についてもシリアルクロック出力についても同様です。 エッジ選択レジスタが , この目的のために設計されています。 この制御は , SIO エッジ選択 / クロック禁止レジスタ (SDR) の NEG ビットによって行 います。 図 22.3-9 に SIO エッジ選択 / クロック禁止レジスタ (SDR) を , 表 22.3-1 に NEG ビット の設定内容を示します。 図 22.3-9 SIO エッジ選択 / クロック禁止レジスタ (SES) SES アドレス : 00000086H bit7 6 5 4 3 2 1 0 − − − − − − DBL NEG R/W R/W 表 22.3-1 NEG ビットの設定 NEG 564 動作 0 通常動作 1 シフトクロック信号は反転 [ 初期値 ] 初期値 ------00B 第 23 章 サウンド生成器 サウンド生成器の概要を示し , レジスタの構成と機 能について説明します。 23.1 サウンド生成器の概要 23.2 サウンド生成器のレジスタ 565 第 23 章 サウンド生成器 サウンド生成器の概要 23.1 サウンド生成器の概要とブロックダイヤグラムを示します。 ■ サウンド生成器の構成 サウンド生成器は , サウンドコントロールレジスタ , 周波数データレジスタ , 振幅デー タレジスタ , デクリメントグレードレジスタ , トーンカウントレジスタ , サウンド禁止 レジスタ , PWM パルス生成器 , 周波数カウンタ , 減分カウンタ , およびトーンパルスカ ウンタで構成されています。 ■ サウンド生成器のブロックダイヤグラム 図 23.1-1 に , サウンド生成器のブロックダイヤグラムを示します。 図 23.1-1 サウンド生成器のブロックダイヤグラム クロック入力 プリスケーラ S1 S0 8ビットPWM パルス生成器 CO EN PWM CI トグル フリップ フロップ 周波数 カウンタ CO EN リロード D EN リロード 1/d Frequency レジスタ 振幅データ レジスタ DEC DEC 減分カウンタ CI CO EN SGA デクリメント グレードレジスタ Mix SGO トーンパルス カウンタ CI CO EN トーンカウント レジスタ 566 Q TONE INTE INT ST IRQ 第 23 章 サウンド生成器 23.2 サウンド生成器のレジスタ サウンド生成器のレジスタの機能について説明します。 ■ サウンド生成器のレジスタ一覧 図 23.2-1 に , サウンド生成器のレジスタ一覧を示します。 図 23.2-1 サウンド生成器のレジスタ一覧 サウンドコントロールレジスタ (SGCR) bit 15 14 アドレス : 000000EEH TST − (-) 読出し / 書込み→ (R/W) (-) 初期値→ (0) bit アドレス : 000000EFH 13 12 11 10 − (-) (-) 9 BUSY (R) (0) 8 DEC (R/W) (0) − (-) (-) − (-) (-) − (-) (-) 7 S1 読出し / 書込み→ (R/W) 初期値→ (0) 6 S0 (R/W) (0) 5 TONE (R/W) (0) 4 3 − (-) (-) − (-) (-) 2 INTE (R/W) (0) 1 INT (R/W) (0) 0 ST (R/W) (0) 振幅データレジスタ (SGAR) bit 15 アドレス : 000000F0H D7 読出し / 書込み→ (R/W) 初期値→ (0) 14 D6 (R/W) (0) 13 D5 (R/W) (0) 12 D4 (R/W) (0) 11 D3 (R/W) (0) 10 D2 (R/W) (0) 9 D1 (R/W) (0) 8 D0 (R/W) (0) 周波数データレジスタ (SGFR) bit 7 アドレス : 000000F1H D7 読出し / 書込み→ (R/W) 初期値→ (X) 6 D6 (R/W) (X) 5 D5 (R/W) (X) 4 D4 (R/W) (X) 3 D3 (R/W) (X) 2 D2 (R/W) (X) 1 D1 (R/W) (X) 0 D0 (R/W) (X) トーンカウントレジスタ (SGTR) bit 15 アドレス : 000000F2H D7 読出し / 書込み→ (R/W) 初期値→ (X) 14 D6 (R/W) (X) 13 D5 (R/W) (X) 12 D4 (R/W) (X) 11 D3 (R/W) (X) 10 D2 (R/W) (X) 9 D1 (R/W) (X) 8 D0 (R/W) (X) 5 D5 4 D4 3 D3 2 D2 1 D1 0 D0 (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) 0 DBL (R/W) (0) デクリメントグレードレジスタ (SGDR) bit 7 6 アドレス : 000000F3H D7 D6 読出し / 書込み→ (R/W) 初期値→ (X) サウンド禁止レジスタ (SGDBL) bit 7 アドレス : 000000EDH − 読出し / 書込み→ 初期値→ (-) (-) (R/W) (X) 6 5 4 3 2 1 − (-) (-) − (-) (-) − (-) (-) − (-) (-) − (-) (-) − (-) (-) 567 第 23 章 サウンド生成器 23.2.1 サウンドコントロールレジスタ サウンドコントロールレジスタの機能について説明します。 ■ サウンドコントロールレジスタの機能 図 23.2-2 に , サウンドコントロールレジスタのビット構成を示します。 図 23.2-2 サウンドコントロールレジスタのビット構成 サウンドコントロールレジスタ bit 7 6 5 S1 S0 TONE (R/W) (R/W) 初期値→ (0) bit アドレス : 000000EFH 読出し / 書込み→ アドレス : 000000EEH 読出し / 書込み→ 初期値→ 4 3 2 1 0 − − INTE INT ST (R/W) (-) (-) (R/W) (R/W) (R/W) (0) (0) (-) (-) (0) (0) (0) 15 14 13 12 11 10 9 8 TST − − − − − BUSY DEC (R/W) (-) (-) (-) (-) (-) (R) (R/W) (0) (-) (-) (-) (-) (-) (0) (0) SGCR SGCR 以下に , サウンドコントロールレジスタの各ビットの機能を説明します。 [bit15] TST : テストビット このビットは , デバイステスト用です。いずれのユーザアプリケーションにおいて も , "0" に設定します。 [bit9] BUSY : ビジービット このビットは , サウンド生成器が動作中であるかどうかを示します。ST ビットを "1" に設定すると , このビットも "1" に設定されます。ST ビットを "0" にリセット し , 1 トーンサイクル終了時に動作が完了すると , このビットは "0" にリセットされ ます。このビットに対して出されるすべての書込み命令は無効となります。 [bit8] DEC : 自動デクリメント許可ビット DEC ビットは , デクリメントグレードレジスタとともに , サウンドの自動デクリメ ント用に設計されています。 このビットを "1" に設定すると , デクリメントグレードレジスタが指定したトグル フリップフロップからのトーンパルス数を減分カウンタがカウントするごとに , 振 幅データレジスタに記憶されている値は 1 つずつデクリメントされます。 [bit7, bit6] S1, S0 : 動作クロック選択ビット これらのビットは , サウンド生成器用のクロック入力信号を指定します。 表 23.2-1 に , クロック入力信号の設定内容を示します。 568 第 23 章 サウンド生成器 表 23.2-1 クロック入力信号の設定内容 S1 S0 0 0 CLKP 0 1 1/2 CLKP 1 0 1/4 CLKP 1 1 1/8 CLKP クロック入力 [bit5] TONE : トーン出力ビット このビットを "1" に設定すると , SGO 信号は , トグルフリップフロップからの単純 方形波形 ( トーンパルス ) になります。"1" 以外を設定した場合は , トーンパルスと PWM パルスの混合 ( 論理和 ) 信号になります。 [bit2] INTE : 割込み許可ビット このビットは , サウンド生成器の割込み信号を許可します。このビットが "1" で , INT ビットも "1" に設定されると , サウンド生成器は割込み信号を出力します。 [bit1] INT : 割込みビット トーンパルスカウンタが , トーンカウントレジスタ , およびデクリメントグレード レジスタが指定したトーンパルス数をカウントすると , このビットは "1" に設定さ れます。 このビットは , "0" を書き込むと "0" にリセットされます。"1" を書き込んでも無効 となります。リードモディファイライト系命令では , 常に "1" を読み出します。 [bit0] ST : スタートビット このビットは , サウンド生成器の動作開始用です。このビットが "1" である間は , サ ウンド生成器は動作しています。 このビットを "0" にリセットすると , サウンド生成器は現行のトーンサイクル終了 時に動作を停止します。BUSY ビットは , サウンド生成器が完全に停止したかどう かを示します。 569 第 23 章 サウンド生成器 周波数データレジスタ (SGFR) 23.2.2 周波数データレジスタの機能について説明します。 ■ 周波数データレジスタの機能 図 23.2-3 に , 周波数データレジスタのビット構成を示します。 図 23.2-3 周波数データレジスタのビット構成 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) (R/W) (X) (X) (X) (X) (X) (X) (X) (X) アドレス : 000000F1H 読出し / 書込み→ 初期値→ SGFR 周波数データレジスタは , 周波数カウンタのリロード値を格納します。格納された値は , サウンド ( またはトグルフリップフロップからのトーン信号 ) の周波数を表します。レ ジスタ値は , トグル信号が遷移するたびに , カウンタにリロードされます。 図 23.2-4 に , トーン信号とレジスタ値の関係を示します。 図 23.2-4 トーン信号とレジスタ値の関係 1 トーンサイクル トーン信号 (レジスタ値+1) × (レジスタ値+1) × 1 PWM サイクル 1 PWM サイクル <注意事項> 570 動作中にレジスタ値を修正すると , 修正のタイミングによって , デューティサイク ルの 50 % が変更されることもありますので , 注意してください。 第 23 章 サウンド生成器 23.2.3 振幅データレジスタ (SGAR) 振幅データレジスタの機能について説明します。 ■ 振幅データレジスタの機能 図 23.2-5 に , 振幅データレジスタのビット構成を示します。 図 23.2-5 振幅データレジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 000000F0H 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) 読出し / 書込み→ 初期値→ SGAR 振幅データレジスタは , PWM パルス生成器のリロード値を記憶します。レジスタ値は , サウンドの振幅を表わします。レジスタ値は , 各トーンサイクル終了時に , PWM パル ス生成器にリロードされます。 SGCR レジスタの DEC ビットが "1" で , 減分カウンタがリロード値に達すると , このレ ジスタ値は 1 つずつデクリメントされます。レジスタ値が "00H" になると , それ以上の デクリメントはしません。ただし , サウンド生成器は , ST ビットがクリアされるまで 動作し続けます。図 23.2-6 に , レジスタ値と PWM パルスの関係を示します。 図 23.2-6 レジスタ値と PWM パルスの関係 レジスタ値 1 PWM サイクル 256入力クロックサイクル 00 H 1 入力クロックサイクル 80H 129 入力クロックサイクル FE H 255 入力クロックサイクル FFH 256 入力クロックサイクル (注意事項)レジスタ値が"FFH"に設定されると,PWM信号は常に"1"となります。 571 第 23 章 サウンド生成器 23.2.4 デクリメントグレードレジスタ (SGDR) デクリメントグレードレジスタの機能について説明します。 ■ デクリメントグレードレジスタの機能 図 23.2-7 に , デクリメントグレードレジスタのビット構成を示します。 図 23.2-7 デクリメントグレードレジスタのビット構成 bit アドレス : 000000F3H 読出し / 書込み→ 初期値→ 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) SGDR デクリメントグレードレジスタは , 減分カウンタのリロード値を格納します。この機能 は , 振幅データレジスタに記憶した値を , 自動的にデクリメントするよう設計されてい ます。 SGCR レジスタの DEC ビットが "1" で , 減分カウンタがトーンパルス数をリロード値 までカウントすると , 振幅データレジスタに記憶された値は , トーンサイクル終了時に 1 つずつデクリメントされます。 この動作によって , サウンドの自動デクリメントが , より少ない CPU 介入でできるよ うになります。 このレジスタが指定したトーンパルス数は , 「レジスタ値 +1」であることに注意して ください。デクリメントグレードレジスタが "00H" に設定されると , デクリメント動作 はトーンサイクルごとに行われます。 572 第 23 章 サウンド生成器 23.2.5 トーンカウントレジスタ (SGTR) トーンカウントレジスタの機能について説明します。 ■ トーンカウントレジスタの機能 図 23.2-8 に , トーンカウントレジスタのビット構成を示します。 図 23.2-8 トーンカウントレジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 000000F2H 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) 読出し / 書込み→ 初期値→ SGTR トーンカウントレジスタは , トーンパルスカウンタのリロード値を格納します。トーン パルスカウンタにはトーンパルス数 ( またはデクリメント動作数 ) が累積され , リロー ド値になると SGCR レジスタの INT ビットを設定します。これらは , 割込みの頻度を 減少させるよう設計されています。 トーンパルスカウンタのカウント入力は , 減分カウンタからのキャリーアウト信号と 接続されています。トーンカウントレジスタに "00H" が設定されると , トーンパルスカ ウンタは , 減分カウンタからのキャリーアウト信号ごとに , SGCR レジスタの INT ビッ トを設定します。累積トーンパルス数は次式で表わされます。 (( デクリメントグレードレジスタ )+1) × (( トーンカウントレジスタ )+1) すなわち , 両レジスタが "00H" に設定されると , トーンサイクルごとに SGCR レジスタ の INT ビットが設定されます。 573 第 23 章 サウンド生成器 23.2.6 サウンド禁止レジスタ (SGDBL) サウンド禁止レジスタのビット構成を示します。 ■ サウンド禁止レジスタの機能 図 23.2-9 に , サウンド禁止レジスタのビット構成を示します。 図 23.2-9 サウンド禁止レジスタのビット構成 bit 7 6 5 4 3 2 1 0 アドレス : 000000EDH − − − − − − − DBL 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (-) (R/W) 初期値→ (-) (-) (-) (-) (-) (-) (-) (0) SGDBL このビットは , サウンド生成器のクロックを制御するために使用します。 このビットに "1" を書き込むと , サウンド生成器モジュールのクロックは使用不可とな ります。"0" を設定すると , クロックがサウンド生成器モジュールに供給されます。 このビットは , リセット時に "0" に初期化されます。読出し , および書込みが可能です。 574 第 24 章 ステッパモータ コントローラ ステッパモータコントローラの概要を示し , レジス タの構成と機能について説明します。 24.1 ステッパモータコントローラの概要 24.2 ステッパモータコントローラのレジスタ 575 第 24 章 ステッパモータ コントローラ 24.1 ステッパモータコントローラの概要 ステッパモータコントローラの概要とブロックダイヤグラムを示します。 ■ ステッパモータコントローラの概要 ステッパモータコントローラは , 2 個の PWM パルス発生器 , 4 個のモータドライバ , セ レクタロジック , およびゼロロータポジション検出器から構成されています。 4 種類のモータドライバには高出力ドライブ機能があり , 2 個のモータコイルの終端 4 箇所に直接接続できます。PWM パルス発生器 , およびセレクタロジックを組み合わせ ることによって , モータの回転を制御するよう設計されています。同期のメカニズムは , 2 個の PWM の同期動作を保証します。ゼロロータポジション検出器を利用して , CPU はロータ動作のフィードバック情報を得ることができます。 以下のセクションでは , ステッパモータコントローラ 0 に関してのみ解説します。他の コントローラにも , 同様の機能があります。レジスタアドレスは , 「付録 A I/O マッ プ」に示してあります。 <注意事項> 576 ロータのゼロポジション検出機能は , Siemens VDO Automotive AG の特許により保 護されており , VDO から事前に承認を得た場合にのみ使用できます。 第 24 章 ステッパモータ コントローラ ■ ステッパモータコントローラのブロックダイヤグラム 図 24.1-1 に , ステッパモータコントローラのブロックダイヤグラムを示します。 図 24.1-1 ステッパモータコントローラのブロックダイヤグラム マシンクロック プリスケーラ CK EN P2 P1 PWM1P0 セレクタ PWM1 パルス発生器 PWM PWM1M0 P0 PWM1 比較レジスタ PWM1 選択レジスタ CK セレクタ PWM2P0 PWM2 パルス発生器 CE EN PWM2M0 PWM ロード PWM2 比較レジスタ BS PWM2 選択レジスタ 比較器 デバウンス論理 8ビットカウンタ ゼロ検知 0 レジスタ + - PWM2M0 1/9 AVCC 基準電圧 パワーダウン ゼロロータポジション検出器 577 第 24 章 ステッパモータ コントローラ 24.2 ステッパモータコントローラのレジスタ ステッパモータコントローラのレジスタの機能について説明します。 ■ ステッパモータコントローラのレジスタ一覧 図 24.2-1 に , ステッパモータコントローラのレジスタ一覧を示します。 図 24.2-1 ステッパモータコントローラのレジスタ一覧 ゼロ検知 0 レジスタ (ZPD0) bit 15 アドレス : 000000D0H S1 読出し / 書込み→ (R/W) 初期値→ (0) 14 S0 (R/W) (0) 13 TS (R/W) (0) 12 T2 (R/W) (0) 11 T1 (R/W) (0) 10 T0 (R/W) (0) 9 PD (R/W) (0) 8 RS (R) (0) PWM 制御 0 レジスタ (PWC0) bit 7 アドレス : 000000D1H S2 読出し / 書込み→ (R/W) 初期値→ (0) 6 P2 (R/W) (0) 5 P1 (R/W) (0) 4 P0 (R/W) (0) 3 CE (R/W) (0) 2 1 − (-) (-) − (-) (-) 0 TST (R/W) (0) PWM 比較レジスタ (PWC20) bit 15 アドレス : 000000D8H D7 読出し / 書込み→ (R/W) 初期値→ (X) 14 D6 (R/W) (X) 13 D5 (R/W) (X) 12 D4 (R/W) (X) 11 D3 (R/W) (X) 10 D2 (R/W) (X) 9 D1 (R/W) (X) 8 D0 (R/W) (X) 6 D6 5 D5 4 D4 3 D3 2 D2 1 D1 0 D0 (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) (R/W) (X) 14 BS (R/W) (0) 13 P2 (R/W) (0) 12 P1 (R/W) (0) 11 P0 (R/W) (0) 10 M2 (R/W) (0) 9 M1 (R/W) (0) 8 M0 (R/W) (0) 7 6 − (-) (-) − (-) (-) 5 P2 4 P1 3 P0 2 M2 1 M1 0 M0 (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) (R/W) (0) 13 12 11 10 9 − (-) (-) − (-) (-) − (-) (-) − (-) (-) − (-) (-) 8 DBL (PWC10) アドレス : 000000D9H 7 D7 読出し / 書込み→ (R/W) 初期値→ (X) PWM 選択レジスタ (PWS20) bit 15 アドレス : 000000DAH − 読出し / 書込み→ (-) 初期値→ (-) (PWS10) アドレス : 000000DBH 読出し / 書込み→ 初期値→ PWM クロック禁止レジスタ (SMDBL0) bit 15 14 アドレス : 000000E8H − − 読出し / 書込み→ 初期値→ 578 (-) (-) (-) (-) (R/W) (0) 第 24 章 ステッパモータ コントローラ 24.2.1 ゼロ検知 0 レジスタ (ZPD0) ゼロ検知 0 レジスタの機能について説明します。 ■ ゼロ検知 0 レジスタの機能 図 24.2-2 に , ゼロ検知 0 レジスタのビット構成を示します。 図 24.2-2 ゼロ検知 0 レジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 000000D0H S1 S0 TS T2 T1 T0 PD RS (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R) (0) (0) (0) (0) (0) (0) (1) (0) 読出し / 書込み→ 初期値→ ZPD0 [bit15, bit14] S1, S0 : デバウンスクロック選択ビット これらのビットは , デバウンスロジックのクロック周波数を指定します。デバウン スロジックは , 指定したクロック周波数で比較器の出力をサンプリングします。 表 24.2-1 に , デバウンスロジックのクロック周波数の設定内容を示します。 表 24.2-1 デバウンスロジックのクロック周波数 S2* S1 S0 クロック入力 0 0 0 周辺機器用クロック (CLKP) 0 0 1 CLKP/2 0 1 0 CLKP/4 0 1 1 CLKP/8 1 0 0 予約 1 0 1 CLKP/5 1 1 0 CLKP/6 1 1 1 予約 * : S2 は PWC0 レジスタのビット 7 です。 [bit13] TS : タイムスライスビット このビットは , ゼロロータポジション検出器の動作を許可します。このビットが "1" のとき , ゼロロータポジション検出器は , PWM2M0 端子における入力電圧を基準電 圧と比較し , 入力電圧が基準電圧を超えた場合は RS ビットを設定します。* * : 比較器用に , 3µs の設定時間が必要です。 579 第 24 章 ステッパモータ コントローラ [bit12 ∼ bit10] T2 ∼ T0 : サンプル数選択 これらのビットは , デバウンス論理のサンプル数を指定します。デバウンス論理は , 比較器の出力を指定回数だけサンプリングします。サンプリングした数値がすべて "1" の場合 , デバウンス論理の出力は "1" になります。 表 24.2-2 に , デバウンス論理のサンプル数の設定内容を示します。 表 24.2-2 デバウンス論理のサンプル数 T2 T1 T0 サンプル数 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 X X 5 [bit9] PD : パワーダウンビット このビットに "1" を設定すると , アナログ部品 ( 比較器 , 基準電圧源 ) への電源供給 が切断されます。 [bit8] RS : 結果ビット RS ビットは , PWM2M0 端子における入力電圧が基準電圧を超えたかどうかを示し ます。デバウンス論理出力が "1" になると , RS ビットは "1" に設定されます。TS ビットが "0" の間は , RS ビットは常に "0" を示します。 580 第 24 章 ステッパモータ コントローラ 24.2.2 PWM 制御 0 レジスタ (PWC0) PWM 制御 0 レジスタの機能について説明します。 ■ PWM 制御 0 レジスタの機能 図 24.2-3 に , PWM 制御 0 レジスタのビット構成を示します。 図 24.2-3 PWM 制御 0 レジスタのビット構成 bit アドレス : 000000D1H 読出し / 書込み→ 初期値→ 7 6 5 4 3 2 1 0 S2 P2 P1 P0 CE − − TST (R/W) (R/W) (R/W) (R/W) (R/W) (-) (-) (R/W) (0) (0) (0) (0) (0) (-) (-) (0) PWC0 [bit7] S2 : デバウンスクロック選択ビット 2 「24.2.1 ゼロ検知 0 レジスタ (ZPD0)」を参照してください。 [bit6 ∼ bit4] P2 ∼ P0 : 動作クロック選択ビット このビットは , PWM パルス発生器のクロック入力信号を指定します。 表 24.2-3 に , PWM パルス発生器のクロック入力信号の設定内容を示します。 表 24.2-3 PWM パルス発生器のクロック入力信号 P2 P1 P0 クロック入力 0 0 0 周辺機器用クロック (CLKP) 0 0 1 CLKP/2 0 1 0 CLKP/4 0 1 1 CLKP/8 1 0 0 予約 1 0 1 CLKP/5 1 1 0 CLKP/6 1 1 1 予約 [bit3] CE : カウント有効ビット このビットは , PWM パルス発生器の動作を有効にします。"1" に設定すると , PWM パルス発生器は動作を開始します。PWM1 パルス発生器の開始から 1 CLKP サイク ル後に PWM2 パルス発生器が動作を開始することに注意してください。これによっ て , 出力ドライバからのスイッチングノイズが減少します。 [bit0] TST : テストビット このビットは , デバイステスト用です。ユーザアプリケーションにおいては , 常に "0" に設定しなければなりません。 581 第 24 章 ステッパモータ コントローラ 24.2.3 PWM1, PWM2 比較レジスタ (PWC10, PWC20) PWM1, PWM2 比較レジスタの機能について説明します。 ■ PWM1, PWM2 比較レジスタの機能 図 24.2-4 に , PWM1, PWM2 比較レジスタのビット構成を示します。 図 24.2-4 PWM1, PWM2 比較レジスタのビット構成 PWM1 比較 0 レジスタ bit アドレス : 000000D9H 読出し / 書込み→ 初期値→ 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) PWC10 PWM2 比較 0 レジスタ bit 15 14 13 12 11 10 9 8 アドレス : 000000D8H 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) 読出し / 書込み→ 初期値→ PWC20 2 個の 8 ビット比較レジスタの内容は , PWM パルス幅を決定します。 格納された値が "00H" なら PWM デューティ 0 % を表わし , "FFH" はデューティ 99.6 % を表わします。 図 24.2-5 に , 比較レジスタの設定値と PWM パルス幅の関係を示します。 図 24.2-5 比較レジスタの設定値と PWM パルス幅の関係 1PWMサイクル 256 入力クロックサイクル レジスタ値 00 H 80H 128入力クロックサイクル FFH 256入力クロックサイクル このレジスタは常時アクセス可能ですが , 修正値は PWM2 選択レジスタの BS ビット が "1" に設定された後で , 現行の PWM サイクル終了時にパルス幅に反映されます。 582 第 24 章 ステッパモータ コントローラ 24.2.4 PWM1, PWM2 選択レジスタ (PWS10, PWS20) PWM1, PWM2 選択レジスタの機能について説明します。 ■ PWM1, PWM2 選択レジスタの機能 図 24.2-6 に , PWM1, PWM2 選択レジスタのビット構成を示します。 図 24.2-6 PWM1, PWM2 選択レジスタのビット構成 PWM1 選択レジスタ bit 7 6 5 4 3 2 1 0 アドレス : 000000DBH − − P2 P1 P0 M2 M1 M0 読出し / 書込み→ (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (0) (0) (0) (0) (0) (0) PWS10 PWM2 選択レジスタ 15 14 13 12 11 10 9 8 アドレス : 000000DAH bit − BS P2 P1 P0 M2 M1 M0 読出し / 書込み→ (-) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (0) (0) (0) (0) (0) (0) (0) PWS20 [bit14] BS : 更新ビット このビットは , PWM 出力設定の同期調整用です。両比較レジスタ , および両選択レ ジスタの修正はすべて , このビットが設定されるまでは出力信号に反映されませ ん。 このビットが "1" に設定されると , PWM パルス発生器 , およびセレクタは , 現行の PWM サイクル終了時にレジスタの内容をロードします。 BS ビットは , 直後の PWM サイクル開始時に自動的に "0" にリセットされます。自動リセットと同時にソフト ウェアが BS ビットに "1" を設定すると , BS ビットは "1" に設定され ( そのまま変 わらず ), 自動リセットはキャンセルされます。 [bit13 ∼ bit11] P2 ∼ P0 : 出力選択ビット これらのビットは , PWM2P0 における出力信号を選択します。 [bit10 ∼ bit8] M2 ∼ M0 : 出力選択ビット これらのビットは , PWM2M0 における出力信号を選択します。 [bit5 ∼ bit3] P2 ∼ P0 : 出力選択ビット これらのビットは , PWM1P0 における出力信号を選択します。 表 24.2-4 に , 出力レベルと選択ビットの関係を示します。 [bit2 ∼ bit0] M2 ∼ M0 : 出力選択ビット これらのビットは , PWM1M0 における出力信号を選択します。 表 24.2-4 に , 出力レベルと選択ビットの関係を示します。 583 第 24 章 ステッパモータ コントローラ 表 24.2-4 出力レベルと選択ビットの関係 P2 P1 P0 PWMnP0 M2 M1 M0 PWMnM0 0 0 0 "L" 0 0 0 "L" 0 0 1 "H" 0 0 1 "H" 0 1 X PWM パルス 0 1 X PWM パルス 1 X X ハイインピーダンス 1 X X ハイインピーダンス 584 第 24 章 ステッパモータ コントローラ PWM クロック禁止レジスタ (SMDBL) 24.2.5 この項では , PWM クロック禁止レジスタの機能について説明します。 ■ PWM クロック禁止レジスタの機能 図 24.2-7 に , PWM クロック禁止レジスタのビット構成を示します。 図 24.2-7 PWM クロック禁止レジスタのビット構成 bit 15 14 13 12 11 10 9 8 アドレス : 000000E8H − − − − − − − DBL 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (-) (R/W) 初期値→ (-) (-) (-) (-) (-) (-) (-) (0) SMDBL0 [bit8] DBL : クロック禁止ビット このビットに "1" を設定すると , SMC モジュールのクロックは禁止されます。"0" を設定すると , クロックは SMC モジュールに供給されます。このビットは "0" に初 期化されます。読出し , および書込みが可能です。 <注意事項> SMC1, および SMC3 に関しては , このビットはビットポジション 0 となります。 585 第 24 章 ステッパモータ コントローラ 586 第 25 章 U- タイマ U- タイマ (U-TIMER) は , UART のボーレートを発 生するために使用する 16 ビットタイマです。ここ では , U- タイマの概要を示し , レジスタの構造と その機能 , および U- タイマの動作について説明し ます。 25.1 U- タイマ (U-TIMER) の概要 25.2 U- タイマ (U-TIMER) のレジスタ 25.3 U- タイマ (U-TIMER) の動作 587 第 25 章 U- タイマ 25.1 U- タイマ (U-TIMER) の概要 U- タイマ (U-TIMER) は , UART のボーレートを発生するために使用する 16 ビット タイマです。チップの動作周波数および U-TIMER のリロード値を組み合わせて , ユーザ定義のボーレートを設定することができます。本タイマは , カウントアンダ フローで割込みを発生するので , インターバルタイマとしても使用可能です。 MB91360 シリーズは , 3 種類の U-TIMER チャネルを内蔵しています。インターバ ルタイマは , 最大 216 × CLKP です。 ■ U- タイマ (U-TIMER) のブロックダイヤグラム 図 25.1-1 に , U- タイマ (U-TIMER) のブロックダイヤグラムを示します。 図 25.1-1 U- タイマ (U-TIMER) のブロックダイヤグラム 0 bit15 UTIMR (リロードレジスタ) bit15 ロード 0 UTIM (U-タイマ) φ クロック アンダフロー 制御 (CLKP 周辺回路クロック) f.f. 588 UARTへ 第 25 章 U- タイマ 25.2 U- タイマ (U-TIMER) のレジスタ この節では , U- タイマ (U-TIMER) のレジスタの機能について説明します。U- タイマ (U-TIMER) のレジスタには , 以下の 3 種類があります。 • U- タイマレジスタ (UTIM) • リロードレジスタ (UTIMR) • U-TIMER 制御レジスタ (UTIMC) ■ U- タイマ (U-TIMER) のレジスタ構成 図 25.2-1 に , U- タイマ (U-TIMER) のレジスタ構成を示します。 図 25.2-1 U- タイマ (U-TIMER) のレジスタ構成 U- タイマレジスタ (UTIM) bit アドレス : 00000074H 15 b15 14 b14 13 b13 12 b12 11 b11 10 b10 9 b9 8 b8 読出し / 書込み→ 初期値→ (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) bit アドレス : 00000075H 7 b7 6 b6 5 b5 4 b4 3 b3 2 b2 1 b1 0 b0 読出し / 書込み→ 初期値→ (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) 読出し / 書込み→ 初期値→ 15 b15 (W) (0) 14 b14 (W) (0) 13 b13 (W) (0) 12 b12 (W) (0) 11 b11 (W) (0) 10 b10 (W) (0) 9 b9 (W) (0) 8 b8 (W) (0) bit アドレス : 00000075H 7 b7 6 b6 5 b5 4 b4 3 b3 2 b2 1 b1 0 b0 読出し / 書込み→ 初期値→ (W) (0) (W) (0) (W) (0) (W) (0) (W) (0) (W) (0) (W) (0) (W) (0) 14 13 12 − (-) (-) − (-) (0) 11 UNDR 10 − (-) (-) 9 UTST 8 UTCR (R/W) (0) (R/W) (1) 14 13 − (W) (-) − (W) (-) リロードレジスタ (UTIMR) bit アドレス : 00000074H U- タイマ制御レジスタ (UTIMC) bit 15 アドレス : 00000077H UCC1 読出し / 書込み→ (R/W) 初期値→ (0) DMA 割込みクリアレジスタ (DRCL) bit 15 アドレス : 00000076H − 読出し / 書込み→ 初期値→ (W) (-) (R/W) (0) 予備 (-) (0) 12 11 10 9 8 − (W) (-) − (W) (-) − (W) (-) − (W) (-) − (W) (-) 589 第 25 章 U- タイマ ■ U- タイマレジスタ (UTIM) U- タイマレジスタ (UTIM) は , タイマ値を示します。16 ビット転送命令でアクセスし てください。 図 25.2-2 に , U- タイマレジスタ (UTIM) のビット構成を示します。 図 25.2-2 U- タイマレジスタ (UTIM) のビット構成 UTIM アドレス ch.0 0000 0068H ch.1 0000 0074H ch.2 0000 0080H bit15 b15 14 b14 ................................... 2 b2 1 b1 0 b0 初期値 アクセス 0 R ■ U- タイマ リロードレジスタ (UTIMR) リロードレジスタ (UTIMR) は , UTIM がアンダフローしたときに , UTIM にロードされ ているリロード値を格納します。16 ビット転送命令でアクセスしてください。 図 25.2-3 に , リロードレジスタ (UTIMR) のビット構成を示します。 図 25.2-3 リロードレジスタ (UTIMR) のビット構成 UTIMR アドレス ch.0 0000 0068H ch.1 0000 0074H ch.2 0000 0080H bit15 b15 14 b14 ................................... 2 b2 1 b1 0 b0 初期値 アクセス 0 W 内部ブート ROM のコードを実行中に有効なブート条件を検出すると , UTIMR0 レジス タは "0x05" に設定されます。 ■ U- タイマ制御レジスタ (UTIMC) U- タイマ制御レジスタ (UTIMC) は , U-TIMER の動作を制御します。 図 25.2-4 に , U- タイマ制御レジスタ (UTIMC) のビット構成を示します。 図 25.2-4 U- タイマ制御レジスタ (UTIMC) のビット構成 UTIMC アドレス ch.0 0000 006BH ch.1 0000 0077H ch.2 0000 0083H bit7 UCC1 6 − 5 − 4 3 − UNDR 2 1 予備 UTST 0 初期値 アクセス UTCR 0--00001B R/W 内部ブート ROM のコードを実行中に有効なブート条件を検出すると , UTIMC0 レジス タは "0x82" に設定されます。 590 第 25 章 U- タイマ 以下に , U- タイマ制御レジスタ (UTIMC) の各ビットの機能を説明します [bit7] UCC1(U-timer Count Control 1) : U- タイマカウント制御 1 このビットは , U-TIMER のカウント方法を制御します。 UCC1 動作 0 通常動作 α = 2n + 2 [ 初期値 ] n: UTIMR 設定値 1 +1 モード α= 2n + 3 α: UART に対する出力クロックのサイクル UART に対して標準の 2(n+1) サイクルのクロックを出力する以外に , U-TIMER の 奇数分周比も設定できます。 UCC1 を "1" に設定すると , 「2n+3」サイクルでクロックを発生します。 以下に , 設定例を 3 例示します。 • UTIMR= 5, UCC1= 0 --> クロックサイクル =2n+2=12 サイクル • UTIMR= 25, UCC1= 1 --> クロックサイクル =2n+3=53 サイクル • UTIMR= 60, UCC1= 0 --> クロックサイクル =2n+2=122 サイクル U-TIMER をインターバルタイマとして使用する場合は , UCC1 値を "0" に設定して ください。 [bit6, bit5, bit4] 予備ビット これらのビットは , 予備ビットです。このレジスタに書き込むときは , 常にこれら のビットを "000" に設定します。 [bit3] UNDR(UNDeR flow flag) : アンダフローフラグ UNDR は , アンダフローが発生したことを示すフラグです。UNDR は , リセットま たは "0" を書き込むことによりクリアされます。 リードモディファイライト系命令の読出し値は常に "0" です。 UNDR への "1" の書込みは無効です。 [bit2] 予備ビット このビットには , 常に "0" を設定してください。 [bit1] UTST(U-TIMER STart) : STart U- タイマ U-TIMER の動作を許可するビットです。 0 停止 : 動作中に "0" を書き込むと , タイマは停止します。 1 動作中 : 動作中に "1" を書き込んでも , 動作は継続します。 [ 初期値 ] [bit0] UTCR(U-TIMER CleaR) : U- タイマ解除 UTCR に "0" を書き込むと , U-TIMER は 0000H にクリアされます。 アンダフローフリップフロップ ( 図 25.1-1 の f.f.) も "0" にクリアされます。 このビットでは , 常に "1" が読み出されます。 • タイマ停止時にスタートビット (UTST) を設定すると , カウンタは自動的にリロード されます。 • タイマ停止時にクリアビット (UTCR), およびスタートビット (UTST) を同時に設定 591 第 25 章 U- タイマ すると , カウンタはゼロにクリアされ , 直後のカウントダウンでアンダフローが発 生します。 • タイマの動作中にクリアビット (UTCR) を設定すると , カウンタはゼロにクリアさ れます。 これにより出力波形にスパイク波 ( ヒゲ状の短いパルス ) が出力され , UART の誤作動の原因となる場合があります。出力クロックを使用する際は , クリアビッ トを使用してタイマ動作中にカウンタをクリアしないでください。 ■ DMA 割込みクリアレジスタ (DRCL) DMA 割込みクリアレジスタ (DRCL) は , DMA 転送を準備するために使用します。 図 25.2-5 に , DMA 割込みクリアレジスタ (DRCL) のビット構成を示します。 図 25.2-5 DMA 割込みクリアレジスタ (DRCL) のビット構成 DRCL アドレス ch.0 0000 006AH ch.1 0000 0076H ch.2 0000 0082H bit15 14 13 12 11 10 9 8 − − − − − − − − 初期値 アクセス --------B W 初めて DMA を使用する際は , このレジスタに一度書込みを行ってから使用してくださ い。 592 第 25 章 U- タイマ 25.3 U- タイマ (U-TIMER) の動作 U- タイマのボーレートの計算について説明します。 ■ ボーレートの計算 UART は , 対応する U-TIMER(UART0 の U-TIMER0, UART1 の U-TIMER1, UART2 の U-TIMER2) のアンダフローフリップフロップ ( 図 25.1-1 の f.f.) を , ボーレートのクロッ クソースとして使用します。 ● 非同期 ( 開始ビット同期 ) モード UART は , U-TIEMR の出力を 16 分周して使用します。 bps =φ/(2n+2) × 16 UCC1 が "0" の場合 bps =φ/(2n+3) × 16 UCC1 が "1" の場合 n : UTIMR( リロード値 ) φ : 周辺回路クロック CLKP 周波数 ( ギア機能により変動 ) ● クロック同期モード MB91360 シリーズでは , UART のクロック同期モードはサポートされません。 593 第 25 章 U- タイマ 594 第 26 章 UART UART は , 非同期 ( 開始ビット同期 ) 通信を行うた めのシリアル I/O ポートです。ここでは , UART の 概要を示し , レジスタの構造と機能 , および UART の動作について説明します。 26.1 UART の概要 26.2 UART のレジスタ 26.3 UART の動作 595 第 26 章 UART 26.1 UART の概要 UART は , 非同期 ( 開始ビット同期 ) 通信を行うためのシリアル I/O ポートです。 MB91360 シリーズは , UART を最大 3 チャネルを内蔵しています。 ■ UART の特長 UART は , 以下の特長をもっています。 • 全二重ダブルバッファ • 非同期 ( 開始ビット同期 ) 通信が可能 • マルチプロセッサモードをサポート • 完全プログラマブルボーレート : 内部タイマにより , 任意のボーレートを設定可 能 (「第 25 章 U- タイマ」参照 ) • 外部クロックによる自由なボーレートの設定が可能 • エラー検出機能 ( パリティ , フレーミング , オーバラン ) • NRZ 転送信号 • 割込みによる DMA 転送の起動が可能 596 第 26 章 UART ■ UART のブロックダイヤグラム 図 26.1-1 に , UART のブロックダイヤグラムを示します。 図 26.1-1 UART のブロックダイヤグラム 制御信号 受信割込み(CPUへ) SC(クロック) 送信クロック U-TIMERより クロック 選択回路 送信割込み(CPUへ) 受信クロック 外部クロック SC SI (受信データ) 受信制御回路 送信制御回路 スタートビット 検出回路 送信スタート 回路 受信ビット カウンタ 送信ビット カウンタ 受信パリティ カウンタ 送信パリティ カウンタ SO (送信データ) 受信状態判定回路 受信用シフタ 送信用シフタ 受信完了 送信開始 SIDR SODR DMA用受信エラー 発生信号(DMACへ) R-bus MD1 MD0 SMR レジスタ CS0 SCR レジスタ PEN P SBL CL A/D REC RXE TXE SSR レジスタ PE ORE FRE RDRF TDRE RIE TIE 制御信号 597 第 26 章 UART 26.2 UART のレジスタ UART レジスタの一覧を示し , 各レジスタの機能について説明します。 ■ UART のレジスタ構成 図 26.2-1 に , UART のレジスタ一覧を示します。 図 26.2-1 UART のレジスタ一覧 シリアルモードレジスタ (SMR) 6 5 4 3 2 1 0 MD1 MD0 (R/W) 予約 (-) 予約 (-) CS0 読出し / 書込み→ (R/W) (W) 予約 (-) − (-) − (-) (0) (-) (-) (0) (-) (0) (0) アドレス : bit SMR0:000063H, SMR1:00006FH, SMR2:00007BH 初期値→ 7 (0) シリアル制御レジスタ (SCR) アドレス : bit SCR0:000062H, SCR1:00006EH, SCR2:00007AH 7 6 5 4 3 2 1 0 PEN P SBL CL A/D REC RXC TXE (R/W) (R/W) (R/W) (R/W) (W) (R/W) (R/W) (0) (0) (0) (0) (1) (0) (0) 読出し / 書込み→ (R/W) 初期値→ (0) シリアル入力レジスタ (SIDR) 7 6 5 4 3 2 1 0 SIDR0:000061H,SIDR1:000006DH,SIDR2:000079H D7 D6 D5 D4 D3 D2 D1 D0 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) アドレス : bit シリアル出力レジスタ (SODR) 7 6 5 4 3 2 1 0 SODR0:000061H,SODR1:00006DH,SODR2:000079H D7 D6 D5 D4 D3 D2 D1 D0 読出し / 書込み→ (W) (W) (W) (W) (W) (W) (W) (W) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) 10 9 8 RIE TIE アドレス : bit シリアル状態レジスタ (SSR) bit 15 14 13 12 11 SSR0:000060H, SSR1:00006CH, SSR2:000078H PE ORE FRE RDRF TDRE 読出し / 書込み→ (R) (R) (R) (R) (R) − (-) (R/W) (R/W) 初期値→ (0) (0) (0) (0) (1) (-) (0) (0) bit 15 14 13 12 11 10 9 8 ULS0:000064H, ULS1:000070H, ULS2:00007CH − (-) − (-) − (-) − (-) NSDO NSDI 読出し / 書込み→ (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (-) (-) (0) (0) (0) (0) アドレス : UART レベル選択レジスタ (ULS) アドレス : 598 UTDBL UDBL 第 26 章 UART シリアルモードレジスタ (SMR) 26.2.1 シリアルモードレジスタ (SMR) は , UART の動作モードを指定します。 動作モードの設定は UART の動作停止中に行い , 動作中にはこのレジスタへの書込 みを行わないでください。 ■ シリアルモードレジスタ (SMR) の機能 図 26.2-2 に , シリアルモードレジスタ (SMR) のビット構成を示します。 図 26.2-2 シリアルモードレジスタ (SMR) のビット構成 SMR bit7 アドレス : SMR0: 000063H MD1 SMR1: 00006FH R/W SMR2: 00007BH 6 5 4 3 2 1 0 MD0 R/W 予約 予約 CS0 W 予約 予約 予約 初期値 00--0-00B ←アクセス 内部ブート ROM のコードを実行中に有効なブート状態が検出されると , SMR0 レジス タは "0x31" に設定されます。 以下に , シリアルモードレジスタ (SMR) の各ビットの機能を説明します。 [bit7, bit6] MD1, MD0(MoDe select) : モード選択 これらのビットは , UART の動作モードを選択します。 表 26.2-1 に , UART の動作モードの設定内容を示します。 表 26.2-1 UART の動作モード モード MD1 MD0 0 0 0 非同期 ( 開始ビット同期 ) ノーマルモード 1 0 1 非同期 ( 開始ビット同期 ) マルチプロセッサモード 2 1 0 CLK 同期モード (MB91360 シリーズではサポートしていません ) - 1 1 設定禁止 <注意事項> 動作モード [ 初期値 ] モード 1 の CLK 非同期モード ( マルチプロセッサ ) とは , 1 台のホスト CPU に数 台のスレーブ CPU を接続する使用方法です。UART では , 受信データのデータ フォーマットを判別できません。したがって , MB91360 シリーズは , マルチプロ セッサモードのホスト ( マスタ )CPU のみをサポートします。また , パリティ チェック機能は使用できませんので , SCR レジスタの PEN ビットは "0" に設定し てください。 [bit5, bit4] 予約ビット これらのビットは , 予約ビットです。常に "1" に設定します。 599 第 26 章 UART [bit3] CS0(Clock Select) : クロック選択 このビットは , UART の動作クロックを選択します。 0 内部タイマ (U-TIMER) [ 初期値 ] 1 外部クロック (MB91360 シリーズではサポートしていません ) [bit2 ∼ bit0] 予約ビット これらのビットは , 予約ビットです。常に "000" に設定します。bit 1 は SCKE ( シ リアル・クロック有効 ) , bit 0 は SOE ( シリアル・アウト有効 ) です。MB91360 シ リーズでは , いずれの機能もサポートされません。シリアル出力を有効にするには , 対応のポート機能レジスタ・ビットを設定します。 600 第 26 章 UART 26.2.2 シリアル制御レジスタ (SCR) シリアル制御レジスタ (SCR) は , シリアル通信を行う場合の転送プロトコルを制御 します。 ■ シリアル制御レジスタ (SCR) の機能 図 26.2-3 に , シリアル制御レジスタ (SCR) のビット構成を示します。 図 26.2-3 シリアル制御レジスタ (SCR) のビット構成 SCR bit7 アドレス : SCR0: 000062H PEN SCR1: 00006EH R/W SCR2: 00007AH 6 5 4 3 2 1 0 P R/W SBL R/W CL R/W A/D R/W REC W RXC R/W TXE R/W 初期値 00000100B ←アクセス 内部ブート ROM のコードを実行中に有効なブート状態が検出されると , SCR0 レジス タは "0x13" に設定されます。 以下に , シリアル制御レジスタ (SCR) の各ビットの機能を説明します。 [bit7] PEN(Parity ENable) : パリティ許可 このビットは , シリアル通信において , パリティビットを付加してデータ通信を行 うかどうかを指定します。 0 パリティを使用しない 1 パリティを使用する [ 初期値 ] パリティビットを付加できるのは , 非同期 ( 開始ビット同期 ) 通信モードのノーマ ルモード ( モード 0) のみです。マルチプロセッサモード ( モード 1) では , パリティ ビットを付加することはできません。 [bit6] P : パリティ このビットは , シリアル通信において , パリティビットを付加してデータ通信を行 うときに , 偶数 / 奇数パリティを指定します。 0 偶数パリティ 1 奇数パリティ [ 初期値 ] [bit5] SBL(Stop Bit Length) : ストップビット長 このビットは , 非同期 ( 開始ビット同期 ) 通信モードでのフレームエンドマーク用 のストップビットのビット長を指定します。 0 1 ストップビット 1 2 ストップビット [ 初期値 ] 601 第 26 章 UART [bit4] CL(Character Length) : データ長 このビットは , 送受信する 1 フレームのデータ長を指定します。 0 7 ビットデータ 1 8 ビットデータ [ 初期値 ] 7 ビットデータを扱えるのは , 非同期 ( 開始ビット同期 ) 通信モードのうちのノーマ ルモード ( モード 0) のみです。マルチプロセッサモード ( モード 1) では , 8 ビット データとしてください。 [bit3] A/D(Address/Data) : アドレス / データフレーム このビットは , 非同期 ( 開始ビット同期 ) 通信のマルチプロセッサモード ( モード 1) において送受信するフレームの , データ形式を指定します。 0 データフレーム 1 アドレスフレーム [ 初期値 ] [bit2] REC(Receiver Error Clear) : 受信エラークリア このビットは , SSR レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。 0 SSR レジスタのエラーフラグ (PE, ORE, FRE) をクリアします。 1 "1" の書込みは無視されます。読出し値は常に "1" になります。 [bit1] RXE(Receiver Enable) : 受信許可 このビットは , UART の受信を制御します。 0 受信を禁止します。 1 受信を許可します。 [ 初期値 ] 受信中 ( 受信シフタにデータが入力されているとき ) に受信を禁止した場合は , そ のフレームの受信を完了し , 受信データバッファ SIDR レジスタに受信データを格 納したところで UART は受信を停止します。 [bit0] TXE(Transmitter Enable) : 送信許可 このビットは , UART の送信を制御します。 0 送信を禁止します。 1 送信を許可します。 [ 初期値 ] 送信中 ( 送信レジスタからデータが出力されているとき ) に送信を禁止した場合は , 送信データバッファ SODR レジスタにデータがなくなるまで , UART は送信を停止 しません。 602 第 26 章 UART 26.2.3 シリアル入力レジスタ (SIDR), シリアル出力レジスタ (SODR) シリアル入力レジスタ (SIDR), およびシリアル出力レジスタ (SODR) は , 受信 / 送信 用のデータバッファレジスタです。 データ長を 7 ビットに設定している場合は , MSB(D7) は無視されます。 SODR レジスタへの書込みは , SSR レジスタの TDRE ビットが "1" の時に行ってく ださい。 ■ シリアル入力レジスタ (SIDR), およびシリアル出力レジスタ (SODR) の構成 図 26.2-4 に , シリアル入力レジスタ (SIDR), およびシリアル出力レジスタ (SODR) の ビット構成を示します。 図 26.2-4 シリアル入力レジスタ , およびシリアル出力レジスタのビット構成 SIDR アドレス : SIDR0: 000061H SIDR1: 00006DH SIDR2: 000079H SODR アドレス : SODR0: 000061H SODR1: 00006DH SODR2: 000079H bit7 D7 6 D6 5 D5 4 D4 3 D3 2 D2 1 D1 0 D0 初期値 不定 アクセス R D7 D6 D5 D4 D3 D2 D1 D0 不定 W ( 注意事項 ) このアドレスへの書込みは SODR レジスタへの書込みを , 読出しは SIDR レジスタの読出し を意味します。 603 第 26 章 UART 26.2.4 シリアル状態レジスタ (SSR) シリアル状態レジスタ (SSR) は , UART の動作状態を表すフラグで構成されていま す。 ■ シリアル状態レジスタ (SSR) の機能 図 26.2-5 に , シリアル状態レジスタ (SSR) のビット構成を示します。 図 26.2-5 シリアル状態レジスタ (SSR) のビット構成 SSR bit15 アドレス : SSR0: 000060H PE SSR1: 00006CH R SSR2: 000078H 14 13 12 11 10 9 8 ORE R FRE R RDRF R TDRE R 予備 RIE R/W TIE R/W 初期値 00001-00B ←アクセス 以下に , シリアル状態レジスタ (SSR) の各ビットの機能を説明します。 [bit15] PE(Parity Error) : パリティエラー このビットは , 受信時にパリティエラーが発生したときに設定される , 割込み要求 フラグです。 一度設定されたフラグをクリアするには , SCR レジスタの REC ビット (bit2) に "0" を書き込みます。 このビットが設定された場合には , SIDR レジスタのデータは無効になります。 0 パリティエラーなし 1 パリティエラーが発生 [ 初期値 ] [bit14] ORE(Over Run Error) : オーバランエラー このビットは , 受信時にオーバランエラーが発生したときに設定される , 割込み要 求フラグです。 一度設定されたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書き 込みます。 このビットが設定された場合には , SIDR レジスタのデータは無効になります。 0 オーバランエラーなし 1 オーバランエラー発生 [ 初期値 ] [bit13] FRE(FRaming Error) : フレーミングエラー このビットは , 受信時にフレーミングエラーが発生したときに設定される , 割込み 要求フラグです。 一度設定されたフラグをクリアするには , SCR レジスタの REC ビットに "0" を書き 込みます。 604 第 26 章 UART このビットが設定された場合には , SIDR レジスタのデータは無効になります。 0 フレーミングエラーなし 1 フレーミングエラー発生 [ 初期値 ] [bit12] RDRF(Receiver Data Register Full) : 受信データレジスタフル このビットは , SIDR レジスタに受信データがあることを示す , 割込み要求フラグで す。 SIDR レジスタに受信データがロードされると設定され , SIDR レジスタを読み出す と自動的にクリアされます。 0 受信データなし 1 受信データあり [ 初期値 ] [bit11] TDRE(Transmitter Data Register Empty) : 送信データレジスタエンプティ このビットは , SODR レジスタに送信データを書き込めることを示す , 割込み要求 フラグです。 SODR レジスタに送信データを書き込むとクリアされます。このビットは , レジス タに書き込んだデータが送信用シフタにロードされて転送が開始されると , 再び設 定されます。次の送信データを SODR レジスタに書き込めることを表します。 0 送信データの書込み禁止 1 送信データの書込み許可 [ 初期値 ] [bit10] 予備ビット このビットは , 予備ビットです。 [bit9] RIE(Receive Interrupt Enable) : 受信割込み許可 このビットは , 受信割込みを制御します。 受信割込み要因は , PE, ORE, FRE によるエラー発生の他 , RDRF による正常受信が あります。 0 割込みを禁止します。 1 割込みを許可します。 [ 初期値 ] [bit8] TIE(Transmitter Interrupt Enable) : 送信割込み許可 このビットは , 送信割込みを制御します。 送信割込み要因は , TDRE による送信要求があります。 0 割込みを禁止します。 1 割込みを許可します。 [ 初期値 ] 605 第 26 章 UART 26.2.5 UART レベル選択レジスタ (ULS) UART レベル選択レジスタは , SDI ( 受信データ ) と SDO ( 送信データ ) のレベルを 制御します。UART, および U- タイマのクロックの制御にも使用されます。 ■ UART レベル選択レジスタ (ULS) の機能 図 26.2-6 に , UART レベル選択レジスタ (ULS) のビット構成を示します。 図 26.2-6 UART レベル選択レジスタ (ULS) のビット構成 ULS アドレス : bit15 ULS0: 000064H − ULS1: 000070H ULS2: 00007CH 14 13 12 11 10 − − − NSDO R/W NSDI R/W 9 8 初期値 UTDBL UDBL ----0000B R/W R/W ←アクセス 以下に , UART レベル選択レジスタ (ULS) の各ビットの機能を説明します。 [bit11] NSDO : ネゲートシリアルアウトプット このビットが設定されると , SO の出力信号が反転します。 リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。 [bit10] NSDI : ネゲートシリアルインプット このビットが設定されると , SI の入力信号が反転します。 リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。 [bit9] UTDBL : U- タイマ禁止 このビットは , U- タイマのクロックを制御します。 このビットに "1" を書き込むと , U- タイマモジュールのクロックが使用できなくな ります。"0" を設定すると , U- タイマモジュールにクロックが供給されます。 リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。 [bit8] UDBL : UART 禁止 このビットは , UART のクロックを制御します。 このビットに "1" を書き込むと , UART モジュールのクロックが使用できなくなり ます。"0" を設定すると , UART モジュールにクロックが供給されます。 リセット時に"0"に初期化されます。このビットは読出し, および書込みが可能です。 606 第 26 章 UART UART の動作 26.3 UART の動作に関する以下の項目について説明します。最初に動作モードとクロッ ク選択 , 次に各モードについて順に説明します。 • UART の動作モード /UART のクロック選択 • 非同期 ( 開始ビット同期 ) モード • 割込み生成 , およびフラグの設定タイミング ■ 動作モード UART には表 26.3-1 に示す動作モードがあり , SMR レジスタ , SCR レジスタに値を設 定することによりモードを切り換えることができます。 表 26.3-1 UART の動作モード モード パリティ データ長 有/無 7 ビット 有/無 8 ビット 無 8 ビット + 1 ビット 0 1 動作モード 非同期 ( 開始ビット同期 ) ノーマルモード 非同期 ( 開始ビット同期 ) マルチプロセッサ モード ストップ ビット長 1 ビット , または 2 ビット ただし , 非同期 ( 開始ビット同期 ) モードでのストップビット長については , 送信のみ 指定が可能です。受信については常に 1 ビット長となります。UART は , 上記モード以 外では動作しませんので , ほかのモードは設定しないでください。 ■ UART のクロック選択 ● イニシャルタイマ U- タイマと , U- タイマに設定したリロード値でボーレートが決まります。このときの ボーレートの算出式は , 次のとおりです。 非同期 ( 開始ビット同期 ) モード : φ/(16 × β) CLK 同期モード : φ/β φ : 周辺回路マシンクロック周波数 (CLKP) β : U-TIMER で設定したサイクル (2n+2 または 2n+3, n はリロード値 ) 非同期 ( 開始ビット同期 ) モードでは , 設定したボーレートの -1 % ∼ +1 % までの範囲 のボーレートで転送が可能です。 ● CLK 同期モード MB91360 シリーズでは , CLK 同期モードはサポートされません。 607 第 26 章 UART 非同期 ( 開始ビット同期 ) モード 26.3.1 非同期 ( 開始ビット同期 ) 通信について説明します。 ■ 転送データフォーマット UART は , 内部的に , NRZ(Non Return to Zero : 0 に戻らない ) フォーマットのデータの みを扱います。図 26.3-1 に , データフォーマットを示します。別のデータフォーマッ トを使用する場合は , UART レベル選択レジスタ (ULS) 内の該当する設定値を使用し てください。 図 26.3-1 非同期 ( 開始ビット同期 ) モード ( モード 0, 1) の転送データフォーマット SI, SO 0 1 0 1 1 0 0 1 LSB Start 転送されたデータは「01001101B」 0 1 1 MSB Stop -----------------モード0 A/D Stop -----------モード1 図 26.3-1 に示すように , 転送データは必ずスタートビット ("L" レベルデータ ) から始 まり LSB から指定されたデータビット長の転送が行われ , ストップビット ("H" レベル データ ) で終了します。 外部クロックを選択している場合は , 常にクロックを入力してください。 ノーマルモード ( モード 0) ではデータ長を 7 ビット , または 8 ビットに設定すること ができます。 マルチプロセッサモード ( モード 1) ではデータ長は 8 ビットでなければなりません。 また , マルチプロセッサモードではパリティビットを付加することはできません。代わ りに , A/D ビットが常に付加されます。 ■ 受信動作 SCR レジスタの RXE ビット (bit1) が "1" であれば , 常に受信中です。 受信ラインでスタートビットが検知されると , SCR レジスタで決められたデータ フォーマットに従い , 1 フレームデータの受信が行われます。フレームの受信終了後に エラーが発生した場合は , エラーフラグが設定され , 次に RDRF フラグ (SSR レジスタ の bit12) が設定されます。 このとき , SSR レジスタの RIE ビット (bit9) が "1" に設定されていると , CPU に対して 受信割込みが発生します。 SSR レジスタの各フラグを調べ , 正常受信であれば SIDR レジスタの読出し , エラーが 発生していれば必要な処理を行うようにしてください。 RDRF フラグは , SIDR レジスタを読み出すとクリアされます。 608 第 26 章 UART ■ 送信動作 SSR レジスタの TDRE フラグ (bit11) が "1" のとき , SODR レジスタに送信データを書 き込みます。ここで , SCR レジスタの TXE ビット (bit0) が "1" であれば , データの送信 が行われます。 SODRレジスタに設定したデータは送信用シフトレジスタにロードされ, 送信が開始さ れます。これにより TDRE フラグが再び設定され , SODR レジスタに次の送信データ が設定できるようになります。 このとき , SSR レジスタの TIE ビット (bit8) が "1" に設定されていると , CPU に対して 送信割込みが出力され , SODR レジスタに送信データを設定するように要求します。 TDRE フラグは , SODR レジスタにデータを設定するとクリアされます。 609 第 26 章 UART 26.3.2 割込み発生 , およびフラグの設定タイミング UART の割込み生成について説明します。 UART には , 5 つのフラグと 2 つの割込み要因があります。 5 つのフラグは , PE/ORE/FRE/RDRF/TDRE です。PE はパリティエラー , ORE はオーバ ランエラー , FRE はフレーミングエラーのことです。これらのフラグは , 受信エラーが 発生した時に設定され, SCRレジスタのRECビットに"0"を書き込むとクリアされます。 RDRF は , 受信データが SIDR レジスタに存在することを示す割込みフラグです。RDRF フラグは , 受信データが SIDR レジスタにロードされると設定され , SIDR レジスタを 読み出すとクリアされます。ただし , モード 1 ではパリティ検出機能が使用できず , モード 2 ではパリティ検出機能とフレーミングエラー検出機能が使用できません。 TDRE は , SODR レジスタに送信データを書込み可能であることを示す割込みフラグで す。TDRE フラグは , SODR レジスタが空になる ( 書込み可能な状態になる ) と設定さ れ , SODR レジスタへ書き込むとクリアされます。 2 つの割込み要因は , 受信用と送信用です。受信時は , PE/ORE/FRE/RDRF により割込 み要求を発生します。送信時は , TDRE により割込み要求を発生します。各動作モード における割込みフラグの設定タイミングを以下に示します。 ■ モード 0 で受信するときの割込みフラグの設定タイミング PE, ORE, FRE, RDRF の各フラグは , データの受信が完了し , 最後のストップビットが 検出されたときに設定され , CPU への割込み要求を出力します。 PE, ORE, FRE の設定時は , SIDR のデータは無効になります。 図 26.3-2 に , モード 0 で受信するときの割込みフラグの設定タイミングを示します。 図 26.3-2 モード 0 で受信するときの割込みフラグの設定タイミング データ PE, ORE, FRE RDRF 受信割込み 610 D6 D7 Stop 第 26 章 UART ■ モード 1 で受信するときの割込みフラグの設定タイミング ORE, FRE, RDRF の各フラグは , データの受信が完了し , 最後のストップビットが検出 されたときに設定され , CPU への割込み要求を出力します。また , 受信可能なデータ長 は 8 ビットであるため , フレームのアドレス / データを示す最後の 9 ビット目は無効 データとなります。 ORE, FRE の設定時は , SIDR のデータは無効になります。 図 26.3-3 に , モード 1 で受信するときの割込みフラグの設定タイミングを示します。 図 26.3-3 モード 1 で受信するときの割込みフラグの設定タイミング データ D7 アドレス /データ Stop ORE, FRE RDRF 受信割込み ■ モード 2 で受信するときの割込みフラグの設定タイミング ORE, および RDRF のフラグは , データの受信が完了し , 最後のデータビット (D7) が検 出されたときに設定され , CPU への割込み要求を出力します。 ORE の設定時は , SIDR のデータは無効になります。 図 26.3-4 に , モード 2 で受信するときの割込みフラグの設定タイミングを示します。 図 26.3-4 モード 2 で受信するときの割込みフラグの設定タイミング データ D5 D6 D7 ORE RDRF 受信割込み 611 第 26 章 UART ■ モード 0, モード 1, モード 2 で送信するときの割込みフラグの設定タイミング SODR レジスタに書込みを行うと , TDRE フラグはクリアされ , 内部のシフトレジスタ にデータが転送されます。次のデータが SODR に書込み可能な状態になると , TDRE フ ラグが設定され , CPU への割込み要求を出力します。 送信中に SCR レジスタの TXE ビット ( モード 2 のときは RXE ビット ) に "0" を書き 込むと , SSR レジスタの TDRE ビットが "1" となり , 送信用のシフタが停止し , UART の送信が禁止されます。送信中に SCR レジスタの TXE( モード 2 のときは RXE ビット ) に "0" を書き込んだ後 ( ただし送信が停止する前 ) に , SODR レジスタに書き込まれた データが送信されます。 図 26.3-5 にモード 0, モード 1 で送信するときの割込みフラグの設定タイミングを , 図 26.3-6 にモード 2 で送信するときの割込みフラグの設定タイミングを示します。 図 26.3-5 モード 0, モード 1 で送信するときの割込みフラグの設定タイミング SODR書込み TDRE CPUへ割込みを要求する SO割込み SO出力 ST D0 D1 D2 D3 D4 D5 D6 D7 SP A/D SP ST D0 D1 D2 D3 ST:スタートビット D0~D7:データビット SP:ストップビット A/D:アドレス/データマルチプレクサ 図 26.3-6 モード 2 で送信するときの割込みフラグの設定タイミング SODR書込み TDRE CPUへ割込みを要求する SO割込み SO出力 D0 D1 D2 D3 D4 D5 D6 D0~D7:データビット 612 D7 D0 D1 D2 D3 D4 D5 D6 D7 第 26 章 UART 26.3.3 その他の項目 「UART の使用上の注意」, 「応用例」, 「ボーレートと U- タイマのリロード値の設 定例」について説明します。 ■ UART の使用上の注意 動作モードの設定は , 動作停止中に行ってください。 モードを設定するときに送受信したデータは , 保証されません。 ■ 応用例 モード 1 は , 1 台のホスト CPU を , 数台のスレーブ CPU に接続する場合に使用されま す。( 図 26.3-7 参照 ) UART では , ホスト CPU 側の通信インタフェースのみサポートします。 図 26.3-7 に , モード 1 を使用するときのシステム構築例を示します。 図 26.3-7 モード 1 を使用するときのシステム構築例 SO SI ホストCPU SO SI スレーブCPU#0 SO SI スレーブCPU#1 通信は , ホスト CPU がアドレスデータを送信することにより始まります。 SCR レジスタの A/D ビットが "1" のときの送信データはアドレスデータです。アドレ スデータにより , 通信先となるスレーブ CPU が選択され , ホスト CPU との通信が可能 になります。 SCR レジスタの A/D ビットが "0" の時の送信データは通常のデータです。 ■ モード 1 を使用するときの通信フローチャート このモードではパリティチェック機能が使用できませんので , SCR レジスタの PEN ビットは "0" に設定してください。 図 26.3-8 に , モード 1 を使用するときの通信フローチャートを示します。 613 第 26 章 UART 図 26.3-8 モード 1 を使用するときの通信フローチャート (ホストCPU) START 通信モードを1に設定 D0~D7にスレーブCPUを 選択するアドレスデータを, A/Dに"1"を設定。 1バイトを送信 A/Dに"0"を設定 受信許可 スレーブCPU と通信 通信完了? NO YES ほかのスレーブ CPUと通信? NO YES 受信禁止 END 614 第 26 章 UART ■ ボーレートと U-TIMER のリロード値の設定例 以下は , ボーレートと U-TIMER のリロード値の設定例です。 表 26.3-2 の周波数は , 周辺回路のクロック (CLKP) 周波数を表します。また , UCC1 は , U-TIMER の UTIMC レジスタ UCC1 ビットに設定する値です。 表中の「-」部は , 誤差が± 1 % を超えているために使用できないことを示します。 ● 非同期 ( 開始ビット同期 ) モード 表 26.3-2 非同期 ( 開始ビット同期 ) モードにおけるボーレートと U-TIMER のリロード値の設定例 ボーレート ms 24MHz 16MHz 12MHz 8MHz 1200 833.33 624(UCC1=0) 415(UCC1=1) 311(UCC1=1) 207(UCC1=1) 2400 416.67 311(UCC1=1) 207(UCC1=1) 155(UCC1=1) 103(UCC1=0) 4800 208.33 155(UCC1=0) 103(UCC1=0) 77(UCC1=0) 51(UCC1=0) 9600 104.17 77(UCC1=0) 51(UCC1=0) 38(UCC1=0) 25(UCC1=0) 19200 52.08 38(UCC1=0) 25(UCC1=0) 18(UCC1=1) 12(UCC1=0) 38400 26.04 18(UCC1=1) 12(UCC1=0) 57600 17.36 12(UCC1=0) 10400 96.15 71(UCC1=0) 47(UCC1=0) 35(UCC1=0) 23(UCC1=0) 31250 32.00 23(UCC1=0) 15(UCC1=0) 11(UCC1=0) 7(UCC1=0) 62500 16.00 11(UCC1=0) 7(UCC1=0) 5(UCC1=0) 3(UCC1=0) - 5(UCC1=1) 5(UCC1=1) - 615 第 26 章 UART 616 第 27 章 LIN 機能搭載 USART USART の機能および動作について解説します。 LIN (Local Interconnect Network) 機能を搭載した USART は , 外部デバイスとの同期または非同期通 信に使用する汎用シリアルデータ通信インタ フェースです。 27.1 USART の概要 27.2 USART の構成 27.3 USART の端子 27.4 USART のレジスタ 27.5 USART の割込み 27.6 USART ボーレート 27.7 USART の動作 27.8 USART の使用上の注意 <注意事項> 本章では , USART #5 のレジスタとアドレスのみを表示します。他の USART のア ドレスについては , I/O マップを参照してください。 617 第 27 章 LIN 機能搭載 USART USART の概要 27.1 LIN (Local Interconnect Network) 機能を搭載した USART は , 外部デバイスとの同 期または非同期通信に使用する汎用シリアルデータ通信インタフェースです。 USART には , 双方向通信機能 ( 通常モード ) , マスタ / スレーブ間通信机上 ( マスタ / スレーブ・システムでのマルチプロセッサ・モード ) , および LIN バス・システム ( マスタまたはスレーブデバイスとして動作 ) 用の特別機能が搭載されています。 USART と他の UART の間にはソフトウェア互換性はありません。 ■ USART 機能 USART は, CPU や周辺機器とのシリアルデータの送受信に使用する汎用シリアルデー タ通信用のインタフェースです。 表 27.1-1 に USART の機能を示します。 表 27.1-1 USART 機能 (1 / 2) 項目 機能 データバッファ 全二重 シリアル入力 オーバサンプリング 5 回 ( 非同期モード ) 転送モード - クロック同期 ( 開始 / 停止同期 , および開始 / 停止ビット・オプション ) - クロック非同期 ( 開始ビット , 停止ビットの使用 ) ボーレート - 15 ビット・リロードカウンタ搭載の専用ボーレート・ジェネレータ内蔵 - 外部クロックを入力し , リロードカウンタで調整することもできます。 データ長 - 7 ビット ( 同期または LIN モード以外 ) - 8 ビット 信号モード ゼロ非復帰 (NRZ) およびゼロ復帰 (RZ) 開始ビット・ タイミング 開始ビットの立下りエッジへのクロック同期 ( 非同期モードでの受信エラー検出時 ) エラー検出受信 - フレームエラー - オーバランエラー - パリティエラー 割込み要求 - 受信割込み ( 受信完了 , 受信エラー検出 , バスアイドル , LIN 同期ブレーク検出 ) - 送信割込み ( 送信完了 ) マスタ - スレーブ 通信機能 ( マルチプロセッサ モード ) 1 対 n 通信 (1 つのマスタから n 個のスレーブへ ) ( この機能は , マスタおよびスレーブ・システムの両方でサポートされます ) 同期モード マスタ USART または スレーブ USART としての機能 データ送受信端子 ダイレクトアクセスが可能 618 第 27 章 LIN 機能搭載 USART 表 27.1-1 USART 機能 (2 / 2) 項目 機能 LIN バス・ オプション - マスタとして動作 - スレーブとしての動作 - LIN 同期中断発生 - LIN 同期中断の検出 - ICU 0 および 2 に接続されている LIN 同期フィールドでの開始 / 停止エッジ の検出 同期シリアル・ クロック 開始 / 停止ビットとの通信用に , 同期シリアル・クロックを SCK5 端子上に継 続して出力できます。 クロック遅延 オプション 遅延クロック用特殊同期クロック・モード (SPI 準拠に有用 ) ■ USART 動作モード USART には , 4 種類の動作モードがあります ( シリアルモードレジスタ (SMR5) の MD0 および MD1 ビットで選択 ) 。モード 0 および 2 は双方向シリアル通信 , モード 1 はマスタ / スレーブ間通信 , モード 3 は LIN マスタ / スレーブ間通信に使用します。 表 27.1-2 に USART の機能を示します。 表 27.1-2 USART 動作モード データ長 動作モード パリティ 無効 0 通常モード 1 マルチプロ セッサモード 2 通常モード 3 LIN モード パリティ 有効 7 または 8 7 または 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 は , マスタ / スレーブ接続システムでの USART のマスタまたはスレーブ 動作の両方でサポートされます。モード 3 での USART 機能は 8N1 形式 , LSB 最優 先にロックされます。 動作モードを変更すると , USART はすべての可能な送受信を切断した後 , 新たな処置 を待機します。 619 第 27 章 LIN 機能搭載 USART シリアルモードレジスタ (SMR5) の MD1 および MD0 ビットによって , USART の動作 モードを選択できます。下表を参照してください。 表 27.1-3 モードビットの設定 MD1 MD0 モード 説明 0 0 0 非同期 ( 通常モード ) 0 1 1 非同期 ( マルチプロセッサモード ) 1 0 2 同期 ( 通常モード ) 1 1 3 非同期 (LIN モード ) ■ USART の割込み 表 27.1-4 USART の割込み 割込み制御レジスタ 割込み原因 620 割込みベクタ 割込み番号 レジスタ名 アドレス オフセット デフォルト アドレス USART5 受信割込み #55(37H) ICR39 0467H 320H 000FFF20H USART5 送信割込み #56(38H) ICR40 0468H 31CH 000FFF1CH USART6 受信割込み #57(39H) ICR41 0469H 318H 000FFF18H USART6 送信割込み #58(3AH) ICR42 046AH 314H 000FFF14H 第 27 章 LIN 機能搭載 USART 27.2 USART の構成 USART のブロック構成について説明します。 ■ USART の構成 USART は以下のブロックで構成されます。 • リロードカウンタ • 受信制御回路 • 受信用シフトレジスタ • 受信データレジスタ • 送信制御回路 • 送信シフトレジスタ • 送信データレジスタ • エラー検出回路 • オーバサンプリングユニット • 割込み発生回路 • LIN ブレークおよび同期フィールド検出 • バスアイドル検出回路 • シリアルモードレジスタ (SMR5) • シリアルコントロールレジスタ (SCR5) • シリアルステータスレジスタ (SSR5) • 拡張通信コントロールレジスタ (ECCR5) • 拡張ステータス / コントロールレジスタ (ESCR5) 621 第 27 章 LIN 機能搭載 USART 図 27.2-1 USART のブロックダイヤグラム (OTO, EXT, REST) CLK PE ORE FRE TIE RIE LBIE LBD BIE RBI TBI 転送クロック リロード カウンタ SCK5 受信クロック 割込み発生回路 送信制御回路 受信制御回路 端子 開始ビット 検出回路 SIN5 送信開始回路 受信 IRQ 受信再開 リロードカウンタ 受信ビット カウンタ 送信ビット カウンタ 受信パリティ カウンタ 送信パリティ カウンタ 端子 TDRE 送信 IRQ SOT5 オーバ サンプリング ユニット 端子 RDRF 受信完了 SOT SIN ICU へ LIN ブレーク & 同期フィールド SIN 検出回路 送信開始 バスアイドル 検出回路 エラー検出 EI2OS へ RDR PE ORE FRE LIN ブレーク 発生回路 送信シフト レジスタ 受信シフト レジスタ TDR RBI LBD TBI 内部データバス PE ORE FRE RDRF TDRE BDS RIE TIE 622 SSRS レジスタ MD1 MD0 (OTO) (EXT) (REST) UPCL SCKE SOE PEN SMR レジスタ P SBL CL AD CRE RXE TXE SCR レジスタ LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES ESCR レジスタ LBR MS SPI SSM BIE RBI TBI ECCR レジスタ LBR LBL1 LBL0 第 27 章 LIN 機能搭載 USART ■ 各ブロックの説明 ● リロードカウンタ リロードカウンタは , 専用のボーレート・ジェネレータとして機能します。クロックの 送受信用に , 外部入力クロックまたは内部クロックを選択できます。リロードカウンタ には , リロード値用の 15 ビット・レジスタが内蔵されています。送信リロードカウン タの実際のカウントは , BGR0/BGR1 を介して読出し可能です。 ● 受信制御回路 受信制御回路は , 受信ビット・カウンタ , 開始ビット検出回路および受信パリティ・カ ウンタで構成されます。受信ビット・カウンタは , 受信データビットをカウントしま す。指定データ長の 1 つのデータ項目の受信が完了すると , 受信ビット・カウンタに よって受信データレジスタ・フル・フラグが設定されます。開始ビット検出回路は , シ リアル入力信号から開始 ビットを検出し , リロードカウンタへ信号を送信して , 開始 ビットの立下りエッジに信号を同期します。受信パリティ・カウンタは , 受信データの パリティをカウントします。 ● 受信用シフトレジスタ 受信シフトレジスタは , ビット単位でデータをシフトしながら , SIN5 端子からの受信 データ入力を獲得します。受信が完了すると , 受信データは , 受信シフトレジスタに よって RDR5 レジスタへ転送されます。 ● 受信データレジスタ このレジスタには , 受信データが格納されます。シリアル入力データは , 変換後 , この レジスタに格納されます。 ● 送信制御回路 送信制御回路は , 送信 ビット・カウンタ , 送信開始回路 , および送信パリティ・カウン タで構成されます。送信 ビット・カウンタは , 送信データビットをカウントします。指 定データ長の 1 つのデータ項目の送信が完了すると , 送信ビット・カウンタによって送 信データレジスタ・フル・フラグが設定されます。TDR5 にデータが書き込まれると , 送信開始回路によってデータ送信が開始されます。送信パリティ・カウンタは , 送信対 象のデータのパリティ・ビットを生成します ( パリティが有効になっている場合 ) 。 ● 送信シフトレジスタ 送信シフトレジスタは , TDR5 レジスタに書き込まれたデータを自身に転送し , ビット 単位でデータをシフトしながら , SOT5 端子へ出力します。 ● 送信データレジスタ このレジスタは , 送信データを設定します。このレジスタに書き込まれたデータはシリ アルデータに変換され , 出力されます。 ● エラー検出回路 エラー検出回路は , 受信中における最新のエラーの有無を確認します。エラーが検出さ れた場合は , 該当するエラーフラグが設定されます。 ● オーバサンプリングユニット オーバサンプリング・ユニットは , SIN5 端子での受信データを 5 回オーバサンプルし ます。同期モードでは OFF になります。 ● 割込み発生回路 割込み生成回路は , すべての受信または送信割込みを管理します。該当するイネーブ ル・フラグが設定されている場合は , 割込みが必要なケースが発生すると , 直ちに割込 みが生成されます。 623 第 27 章 LIN 機能搭載 USART ● LIN ブレークおよび同期フィールド検出回路 LIN ブレークおよび LIN 同期フィールド検出回路は , LIN マスタノードによるメッ セージ・ヘッダの送信中 , LIN ブレークを検出します。LIN ブレークが検出されると , 特殊フラグ・ビットが生成されます。入力キャプチャ・ユニットに対する内部信号の 生成により , 同期フィールドの最初および 5 番目の立下りエッジがこの回路によって 認識され , 送信元のマスタノードにおける実際のシリアル・クロック時間が測定されま す。 ● LIN ブレーク生成回路 LIN ブレーク生成回路は , 一定長の LIN ブレークを生成します。 ● バスアイドル検出回路 バスアイドル検出回路は , 送信も受信も実行されていない状態を検出します。送受信が 実行されていない場合 , この回路によって特殊フラグ・ビットが生成されます。 ● シリアルモードレジスタ このレジスタは , 以下の操作を実行します。 • USART 動作モードの選択 • クロック入力ソースの選択 • 外部クロックの「1 対 1」接続を実行するか , リロードカウンタに接続するかの選択 • USART のリセット ( レジスタの設定を保持 ) • 該当する端子へのシリアルデータ出力を有効にするか否かの指定 • 該当する端子へのクロック出力を有効にするか否かの指定 ● シリアルコントロールレジスタ このレジスタは , 以下の操作を実行します。 • パリティ・ビットを提供するか否かの指定 • パリティ・ビットの選択 • 停止 ビット長の指定 • データ長の仕様 • モード 1 でのフレーム・データ形式の指定 • エラーフラグのクリア • 送信を有効にするか否かの指定 • 受信を有効にするか否かの指定 ● シリアルステータスレジスタ このレジスタは , 送受信およびエラー状態を確認し , 送受信割込み要求を有効または無 効にします。 ● 拡張ステータス / 制御レジスタ このレジスタは , 複数の LIN 機能と SIN5 および SOT5 端子 への直接アクセスを提供 し , USART 同期クロック・モードを設定します。 ● 拡張通信制御レジスタ 拡張通信コントロールレジスタは , バスアイドル認識割込みの設定 , 同期クロックの設 定 , および LIN ブレークの生成をお行います。 624 第 27 章 LIN 機能搭載 USART 27.3 USART の端子 USART 端子について解説し , 端子ブロック・ダイヤグラムを示します。 ■ USART 端子 USART 端子は汎用ポートとしても動作します。表 27.3-1 に , 端子機能 , 入出力形式 , お よび USART5 の使用に必要な設定を示します。 表 27.3-1 USART5 端子 (MB91F364G) 端子名 端子機能 SIN5 Port T I/O また はシリアル データ入力 SOT5 Port T I/O また はシリアル データ出力 SCK5 入出力形式 プルアップ スタンバイ制御 端子使用に必要な設定 ポート機能モードに設定 PFRT: ビット 0 = 1 CMOS 出力お よび CMOS 自 動ヒステリシ ス入力 なし 可能 出力有効モードに設定 SMR5: SOE = 1, ポート機能モードに設定 PFRT: ビット 2 = 1 ポート機能モードに設定 PFRT: ビット 1 = 1 クロック出力時に出力有効 モードに設定 SMR5: SCKE = 1 Port T I/O また はシリアルク ロック入出力 MB91F364G には , 2 番目の USART (USART6) が搭載されています。この USART は以 下の端子に接続されています。 表 27.3-2 USART6 端子 (MB91F364G) 端子名 端子機能 SIN6 Port T I/O また はシリアル データ入力 SOT6 Port T I/O また はシリアル データ出力 SCK6 Port T I/O また はシリアルク ロック入出力 入出力形式 プルアップ スタンバイ制御 端子使用に必要な設定 ポート機能モードに設定 PFRT: ビット 5 = 1 CMOS 出力お よび CMOS 自 動ヒステリシ ス入力 なし 可能 出力有効モードに設定 SMR6: SOE = 1, ポート機能モードに設定 PFRT: ビット 3 = 1 ポート機能モードに設定 PFRT: ビット 4 = 1 クロック出力時に出力有効 モードに設定 SMR6: SCKE = 1 625 第 27 章 LIN 機能搭載 USART 図 27.3-1 USART 端子のブロックダイヤグラム ポートバス PDR 読み込み 周辺器入力 周辺器出力 PDR PFR DDR 626 端子 第 27 章 LIN 機能搭載 USART 27.4 USART のレジスタ 下図に USART レジスタ (MB91F364G) を示します。 図 27.4-1 USART レジスタ アドレス bit15 bit8 bit7 bit0 0198H, 0199H SCR5 ( シリアルコントロールレジスタ ) SMR5( シリアルモードレジスタ ) 019AH, 019BH SSR5 ( シリアルステータスレジスタ ) 019CH, 019DH ESCR5 ( 拡張 ステータス / コントロール ECCR5 ( 拡張通信コントロールレジスタ ) レジスタ ) 019EH, 019FH BGR15 ( ボーレート・ジェネレータ・レ BGR05 ( ボーレート・ジェネレータ・ ジスタ 1) レジスタ 0) 01A0H, 01A1H SCR6 ( シリアルコントロールレジスタ ) SMR6 ( シリアルモードレジスタ ) 01A2H, 01A3H SSR6 ( シリアルステータスレジスタ ) 01A4H, 01A5H ESCR6 ( 拡張 ステータス / コントロール ECCR6 ( 拡張通信コントロールレジスタ ) レジスタ ) 01A6H, 01A7H BGR16 ( ボーレート・ジェネレータ・ レジスタ 1) RDR5/TDR5 (Rx, Tx データレジスタ ) RDR6/TDR6 (Rx, Tx データレジスタ ) BGR06 ( ボーレート・ジェネレータ・ レジスタ 0) 627 第 27 章 LIN 機能搭載 USART シリアルコントロールレジスタ (SCR5) 27.4.1 このレジスタは , パリティ・ビットの指定 , 停止ビットおよびデータ長の選択 , モード 1 でのフレーム・データ形式の選択 , 受信エラーフラグのクリア , 送受信を有効にする か否かの指定を行います。 図 27.4-2 シリアルコントロールレジスタ (SCR5) 15 14 13 12 11 R/W R /W R/W R /W R/W 10 W 9 8 初期値 00000000 B R /W R/W bit8 TXE 0 1 送信許可 送信不可 送信可 bit9 RXE 0 1 受信許可 受信不可 受信可 bit10 CRE 0 1 受信エラー・フラグ・ ビットのクリア 書込み 読出し 無効 無効 全ての受信エラーフラグ 常に0を返す のクリア (PE,FRE,ORE) bit11 アドレス/データ選択 AD 0 1 データビット アドレスビット bit12 CL 0 1 データ長選択 (データフレーム) 7 ビット 8 ビット bit13 SBL 0 1 停止ビット長選択 1 停止ビット 2 停止ビット bit14 P 0 1 パリティ選択 偶数パリティ設定 奇数パリティ設定 bit15 PEN 0 628 R/W : リード/ライト可能 W : ライトオンリ : 初期値 1 パリティ許可 パリティ無効 パリティ有効 第 27 章 LIN 機能搭載 USART 表 27.4-1 シリアルコントロールレジスタ (SCR5) の各ビットの機能 ビット名 機能 bit15 PEN: パリティ許可 ビット このビットは , シリアル非同期モードでの送信中にパリティ・ビットを 追加するか , または受信中にパリティ・ビットを検出するかを選択しま す。 ECCR5 の SSM が選択されている場合 , パリティはモード 0 およびモー ド 2 でのみ提供されます。このビットは , モード 3 (LIN) では 0 ( パリ ティなし ) に固定されます。 bit14 P: パリティ選択 ビット パリティが提供されており , 有効になっている場合 , このビットは偶数 (0) または奇数 (1) パリティを選択します。 bit13 SBL: 停止ビット長 選択ビット このビットは , ECCR5 の SSM が選択されている場合 , 非同期データフ レームまたは同期フレームの停止ビット長を選択します。モード 3 (LIN) では , このビットは 0 ( 停止ビット 1 つ ) に固定されます。 bit12 CL: データ長選択 ビット このビットは , 送信または受信データ長を指定します。モード 2 および 3 では , このビットは 1 (8 ビット ) に固定されます。 bit11 AD: アドレス / データ選択 ビット * このビットは , マルチプロセッサ・モード 1 でのデータ形式を指定しま す。このビットに書込みを行うと , 次に送信されるアドレスまたはデー タフレームが決定されます。ビットからの読出しに対しては , 最新受信 フレームの種類が返されます。A1 はアドレス・フレーム , "0 " は通常の データフレームです。 ( 注意事項 ) RMW 読出しサイクル中 , AD ビットは , 最新の受信 AD ビッ トではなく , 送信対象の値を返します。表 27.4-2 を参照 bit10 CRE: 受信エラー・ フラグ・ ビットの クリア このビット は , シリアルステータスレジスタの FRE, ORE, および PE フ ラグをクリアします。このビットは , エラーによって発生した受信割込 みもクリアします。 "1" に設定すると , エラーフラグがクリアされます。 "0 " に設定した場合 , 影響はありません。 読出しに対しては , 常に "0" が返されます。 ( 注意事項 ) 受信動作禁止 (RXE=0) 後に受信エラーフラグをクリアして ください。 受信動作を禁止せずに受信エラーフラグをクリアにすると , そのタイミングで受信をいったん中断し , その後再開しま す。このため,受信再開時に正常なデータを受信しない場 合があります。 bit9 RXE: 受信許可 ビット このビットは , USART 受信を有効にします。 このビットが "0" に設定されている場合 , USART はデータフレームの受 信を無効にします。モード 0 または 3 での LIN ブレークの検出には影響 がありません。 bit8 TXE: 送信許可 ビット このビットは USART 送信を有効にします。このビットが "0" に設定され ている場合 , USART はデータフレームの送信を無効にします。 629 第 27 章 LIN 機能搭載 USART 表 27.4-2 AD ビットのリード / ライトオプション サイクル ライト ノーマルリード RMW リード 630 動作 AD ビットへ送られたデータの書込み 受け取った AD ビットの読出し AD ビットから送られたデータの読出し 第 27 章 LIN 機能搭載 USART シリアルモードレジスタ (SMR5) 27.4.2 このレジスタは , 動作モードおよびボーレート・クロックを選択し , 該当する端子への シリアルデータおよびクロックの出力を有効にするか否かを指定します。 図 27.4-3 シリアルモードレジスタ (SMR5) 7 6 5 4 3 2 1 0 初期値 00000000 B R/W R/W R/W R/W W W R/W R/W bit0 SOE 0 1 シリアルデータ出力許可 SOT5端子無効 (high Z) SOT5端子有効 (TxData) bit1 SCKE 0 1 シリアルクロック出力許可 外部シリアルクロック入力 内部シリアルクロック出力 bit2 UPCL 0 1 USARTプログラムリセット (ソフトウェアリセット) 書込み 読出し 無効 USARTをリセット 常に0を返す bit3 通信再開リロードカウンタ 書込み 読出し REST 0 1 無効 カウンタ再スタート 常に0を返す bit4 EXT 0 1 外部クロック選択 内部ボーレート発生器の使用(リロードカウンタ) 外部シリアルクロックの使用 bit5 OT0 0 1 R/W W : リード/ライト可能 : ライトオンリ : 初期値 1対1外部クロック選択 ボーレート発生器と共に外部クロックの使用 (リロードカウンタ) 外部クロックの使用 bit6 bit7 MD0 0 MD1 0 1 0 モード1: 非同期 マルチプロセッサモード 0 1 モード2: 同期モード 1 1 モード3: 非同期 LINモード 動作モード選択 モード0: 非同期 通常モード 631 第 27 章 LIN 機能搭載 USART 表 27.4-3 シリアルモードレジスタ (SMR5) の各ビットの機能 ビット名 機能 bit7, bit6 MD1/ MD0: 動作モード 選択ビット この 2 つのビットは USART の動作モードを設定します。 bit5 OTO: 1 対 1 外部クロック 選択ビット このビットは USART のシリアルクロックとして直に外部クロックを設定 します。この機能は同期スレーブモード動作に使用します。 bit4 EXT: 外部クロック 選択ビット このビットはリロードカウンタ用に内部クロックまたは外部クロックを 選択します。 bit3 REST: 通信 再開リロード カウンタ ビット このビットに "1" が書き込まれたとき , リロードカウンタが再スタートし ます。"0" の書込みは無視されます。このビットの読出しは常に "1" にな ります。 bit2 UPCL: USART プロ グラムリセッ トビット ( ソフトウェ アリセット ) このビットに "1" を書き込むと USART を直ちにリセットします。レジス タの設定値は保持されます。また送受信は遮断されます。 すべてのエラーフラグはクリアされ , 受信データレジスタ (RDR5) は 00H bit1 SCKE: シリアルク ロック出力許 可ビット • このビットはシリアルクロックの入出力ポートを制御します。 • このビットが "0" のとき , P94/SCK5 端子は汎用入出力ポート (P94) または シリアルクロック入力端子として機能します。このビットが "1" のとき , シリアルクロック出力端子として機能します。 ( 注意事項 ) P94/SCK5 端子をシリアルクロック入力端子 (SCKE=0) とし て使用するとき , P94 端子を入力ポートとして設定してくだ さい。また , 外部クロック選択ビットを外部クロック (EXT = 1) に設定してください。 参考 : SCK5 端子がシリアルクロック出力 (SCKE=1) として設定されたと き , 汎用入出力ポートの状態にかかわらずシリアルクロック出力端 子として機能します。 bit0 SOE: シリアル データ出力 許可ビット • このビットはシリアルデータの出力を制御します。 • このビットが "0" のとき , P95/SOT5 端子は汎用入出力ポート (P95) として 機能します。このビットが "1" のとき , シリアルデータ出力端子 (SOT5) として機能します。 参考 : シリアルデータが出力 (SOE=1) されたとき , P95/SOT5 端子は汎用 入出力ポートの状態にかかわらず SOT5 端子として機能します。 632 になります。"0" の書込みは無視されます。このビットの読出しは常に "1" になります。 第 27 章 LIN 機能搭載 USART シリアルステータスレジスタ (SSR5) 27.4.3 このレジスタは , 送受信およびエラー状態を確認し , 送受信の割込みを無効にします。 図 27.4-4 シリアルステータスレジスタ (SSR5) 15 14 13 12 11 R R R R R 10 R/W 9 8 R/W R/W 初期値 00001000 B bit8 TIE 0 1 送信割込み要求許可 送信割込み要求無効 送信割込み要求有効 bit9 RIE 0 1 受信割込み要求許可 受信割込み要求無効 受信割込み要求有効 bit10 BDS 転送方向選択 0 LSBからデータ転送 1 MSBからデータ転送 bit11 送信データエンプティ TDRE 0 送信データ・レジスタがフル 1 送信データ・レジスタが空き bit12 RDRF 0 1 受信データフル 受信データ・レジスタが空き 受信データ・レジスタがフル bit13 FRE 0 1 フレーミング・エラー フレーミング・エラーなし 受信中にフレーミング・エラー発生 bit14 ORE 0 1 オーバラン・エラー オーバラン・エラーなし 受信中にオーバラン・エラー発生 bit15 R/W : R : リードオンリ リード/ライト可能 パリティ・エラー PE 0 パリティ・エラーなし 1 受信中にパリティ・エラー発生 : 初期値 633 第 27 章 LIN 機能搭載 USART 表 27.4-4 シリアルステータスレジスタ (SSR5) の各ビットの機能 (1 / 2) ビット名 機能 bit15 PE: パリティ エラーフラグ • 受信中にパリティ・エラーが発生すると , このビットが "1" に設定されま す。このビットは , シリアルコントロールレジスタ (SCR5) の CRE ビッ トが "0" に設定されるとクリアされます。 • このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され ます。 •このフラグが設定されている場合, 受信データレジスタ (RDR5) のデータ が無効であることを示しています。 bit14 ORE: オーバラン エラーフラグ ビット • 受信中にオーバラン・エラーが発生すると , このビットが "1" に設定され ます。このビットは , シリアルコントロールレジスタ (SCR5) の CRE ビットが "0" に設定されるとクリアされます。 • このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され ます。 •このフラグが設定されている場合, 受信データレジスタ (RDR5) のデータ が無効であることを示しています。 bit13 FRE: フレーミング エラーフラグ ビット •受信中にフレーミングエラーが発生すると, このビットが "1" に設定され ます。このビットは , シリアルコントロールレジスタ (SCR5) の CRE ビットが "0" に設定されるとクリアされます。 • このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され ます。 •このフラグが設定されている場合, 受信データレジスタ (RDR5) のデータ が無効であることを示しています。 bit12 RDRF: 受信データ フルフラグ ビット • このフラグは , 受信データレジスタ (RDR5) の状態を示します。 • RDR5 に受信データがロードされると , このビットが "1" に設定されま す。このビットは , 受信データレジスタ (RDR5) が読み出された場合に のみ "0" にクリアされます。 • このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され ます。 bit11 TDRE: 送信データ エンプティ フラグビット • このフラグは , 送信データレジスタ (TDR5) の状態を表示します。 • このビットは , TDR5 に送信データが書き込まれると "0" にクリアされま す。送信シフトレジスタにデータがロードされ , 送信が開始される と , このビットは "1" に設定されます。 • このビットおよび RIE ビットが "1" の場合 , 受信割込み要求が出力され ます。 ( 注意事項 ) このビットの初期値は "1" (TDR5 空 ) に設定されています。 bit10 BDS: 転送方向選択 ビット • このビットは , 重要度が最下位のビットからシリアルデータを転送する か (LSB 最優先 , BDS=0) , 最上位のビットから転送するか (MSB 最優先 , BDS=1) を選択します。 ( 注意事項 ) シリアルデータレジスタからの読出しまたは書込み中 , シリ アルデータの上位と下位は逆転できます。RDR5 レジスタへ のデータの書込み後 , このビットに他の値が設定されている 場合 , データは無効になります。 モード 3 (LIN) では , このビットは "0" に固定されます。 634 第 27 章 LIN 機能搭載 USART 表 27.4-4 シリアルステータスレジスタ (SSR5) の各ビットの機能 (2 / 2) ビット名 機能 bit9 RIE: 受信割込み 要求許可 ビット • このビットは , CPU への送信割込み要求の入力を有効または無効にしま す。 • このビットと受信データ フラグ・ビット (RDRF) が "1" に設定されるか , このビットと 1 つまたは複数のエラー・フラグ・ビット (PE, ORE, およ び FRE) が "1" に設定されると , 受信割込み要求が出力されます。 bit8 TIE: 送信割込み 要求許可 ビット • このビットは , CPU への送信割込み要求の出力を有効または無効にしま す。 • このビットと TDRE ビットが "1" に設定されると , 送信割込み要求が出 力されます。 635 第 27 章 LIN 機能搭載 USART 受信および送信データレジスタ (RDR5/TDR5) 27.4.4 受信データレジスタ (RDR5) は , 受信データを格納します。送信データレジスタ (TDR5) は送信データを格納します。RDR5 と TDR5 レジスタは , 同じアドレスに位置していま す。 <注意事項> TDR5 は書込み専用レジスタ , RDR5 は読出し専用レジスタです。これらのレジス タは同じアドレスに位置しているため , 読出し値と書込み値は異なります。した がって , INC/DEC 命令などの , リードモディファイライト (RMW) 操作を実行する 命令は使用できません。 図 27.4-5 シリアルコントロールレジスタ (RDR5/TDR5) 7 6 5 4 3 2 1 0 初期値 00000000B R/W R/W R/W R/W R/W R/W R/W R/W bit7~bit0 R/W 読出し 書込み データレジスタ 受信データレジスタからの読出し 送信データレジスタへの書込み R/W : リード/ライト可能 ■ 受信動作 RDR5 は受信データを格納するレジスタです。SIN5 端子へ送信されたシリアルデータ 信号は , シフトレジスタで変換され , このレジスタに格納されます。データ長が 7 ビッ トの場合 , 最上位のビット (D7) には "0" が設定されます。受信が完了すると , このレジ スタにデータが格納され , 受信データ ・フル・フラグ・ビット (SSR5: RDRF) が "1" に 設定されます。この段階で受信割込み要求が有効になっている場合 , 受信割込みが発生 します。 ステータスレジスタ (SSR5) の RDRF ビットが "1" の場合 , RDR5 が読み出されます。 RDR5 が読み出されると , RDRF ビットは自動的に "0" にクリアされます。受信割込み が有効になっており , エラーが発生しなかった場合は , 受信割込みがクリアされます。 受信エラーが発生した場合 (SSR5: PE, ORE, または FRE = 1) , RDR5 内のデータは無効 です。 636 第 27 章 LIN 機能搭載 USART ■ 送信動作 送信が有効にされている場合 , 送信対象のデータが送信データレジスタに書き込まれ ると , データは , 送信シフトレジスタに転送された後 , シリアルデータに変換され , シリアルデータ出力ターミナル (SOT5 端子 ) から送信されます。データ長が 7 ビット の場合 , 最上位のビット (D7) は送信されません。 このレジスタに送信データが書き込まれると , 送信データ空フラグ・ビット (SSR5: TDRE) が "0" にクリアされます。送信シフトレジスタへの転送が完了すると , ビットは "1" に設定されます。TDRE ビットが "1" の場合 , 送信データの次部分を書き込めます。 出力送信割込み要求が有効になっている場合 , 送信割込みが発生します。送信割込みが 生成されるか , TDRE ビットが "1" になった場合に , 送信データの次部分が書き込まれ ます。 637 第 27 章 LIN 機能搭載 USART 拡張ステータス制御レジスタ (ESCR5) 27.4.5 このレジスタは , 複数の LIN 機能と SIN5 および SOT5 端子 への直接アクセスを提供 し , USART 同期クロック・モードの設定を行います。 図 27.4-6 拡張ステータス制御レジスタ (ESCR5) の構成 15 14 13 12 11 10 9 初期値 8 00000100B R/W R/W R/W R/W R/W R/W R/W R/W bit8 SCES シリアル・クロック・エッジ選択 (モード2) 0 立上りクロック・エッジでサンプリング(通常) 1 立下りクロック・エッジでサンプリング(変換クロック) bit9 CCO 0 1 連続クロック出力許可 (モード2) 連続クロック出力無効 連続クロック出力有効 bit10 SIOP 0 1 シリアル入力/出力端子への直接アクセス 読出し 書込み(SOPE = 1 の時) "0"をSOT5に設定 "1"をSOT5に設定 SIN5 端子の実際の値を返す bit11 SOPE 0 1 シリアル出力端子への直接アクセスの有効化 シリアル出力端子への直接アクセス無効 シリアル出力端子への直接アクセス有効 bit12 bit13 LBLO 0 LBL1 0 LINブレーク長 13 bit time 1 0 LINブレーク長 14 bit time 0 1 1 1 LINブレーク長 15 bit time LINブレーク長 16 bit time LIN ブレーク長 bit14 LIN ブレーク検出 書込み LBD 読出し * 0 LINブレーク検出フラ グのクリア LINブレーク検出なし 1 無視 LINブレーク検出 bit15 LBIE R/W * 638 : リード/ライト可能 : 初期値 0 1 LINブレイク検出割込み許可 LINブレイク割込み無効 LINブレイク割込み有効 : RMWアクセスについては表 27.4-5 を参照してください。 第 27 章 LIN 機能搭載 USART 表 27.4-5 拡張ステータス制御レジスタ (ESCR5) の各ビットの機能 ビット名 機能 bit15 LBIE: LIN ブレーク 検出割込許可 ビット このビットは , LIN ブレークが検出された場合に受信割込みを有効にしま す。 bit14 LBD: LIN ブレーク 検出フラグ LIN ブレークが検出されると , このビットが "1 " に設定されます。この ビットを "0" に設定すると , ビットおよび該当する割込み ( 有効になって いる場合 ) がクリアされます。 ( 注意事項 ) RMW 命令は常に "1" を返します。この場合の "1" は , LIN ブレークを意味しません。 bit13, bit12 LBL1/LBL0: LIN ブレーク 長の選択 この 2 つのビットで , USART によって生成される LIN ブレーク長 ( 単位 : serial bit times) を決定します。受信 LIN ブレーク長は常に 13 bit times に固 定されています。 bit11 SOPE: シリアル出力 端子への直接 アクセスの 有効化 * SOE = 1 (SMR5) の場合 , このビットを "1" に設定すると , SOT5 端子への 直接書込みが有効になります。* bit10 SIOP: シリアル入 力 / 出力端子 への直接アク セス * 通常の読出し命令に対しては , 常に SIN5 端子の実際の値が返されます。 SOPE = 1 の場合 , 書込みを行うと , ビット値が SOT5 端子に設定されま す。リードモディファイライト命令 (RMW) 中は , 読出しサイクルで , こ のビットにより SOT5 値が返されます。* bit9 CCO: 連続クロック 出力許可 ビット USART がマスタ・モード 2 ( 同期 ) で動作しており , SCK5 端子がクロッ ク出力として設定されている場合 , このビットは SCK5 端子での継続的な シリアル・クロックを有効にします。 bit8 SCES: シリアル・ クロック・ エッジ選択 ビット USART がマスタ・モード 2 ( 同期 ) で動作しており , SCK5 端子がクロッ ク出力として設定されている場合 , このビットは , モード 2 ( 同期 ) およ び出力クロック信号の内部シリアル・クロックを反転します。 スレーブモード 2 では , サンプリング時間が立上りエッジから立下りエッ ジに切り換わります。 *: SOPE と SIOP の相互作用については , 表 27.4-6 を参照してください。 表 27.4-6 SOPE と SIOP の相互作用に関する解説 SOPE SIOP SIOP への書込み 0 R/W SOT5 端子には影響がないが , 書き込ま れた値は保持されます。 SIN5 の現在の値が返されます。 1 R/W SOT5 に "0" または "1" が書き込まれま す。 SIN5 の現在の値が返されます。 1 RMW SIOP からの読出し SOT5 の現在の値が返され , その値が再 び書き込まれます。 639 第 27 章 LIN 機能搭載 USART 拡張通信制御レジスタ (ECCR5) 27.4.6 拡張通信コントロールレジスタは , バスアイドル認識割込みの設定 , 同期クロックの設 定 , および LIN ブレークの生成を行います。 図 27.4-7 拡張通信制御レジスタ (ECCR5) の構成 7 6 R/W W 5 4 3 2 R/W R/W R/W R/W 1 0 R R 初期値 000000XXB bit0 TBI * 0 1 送信バス・アイドル 送信中 送信動作なし bit1 RBI * 0 1 受信バス・アイドル 受信中 受信動作なし bit2 BIE * 0 1 バス・アイドル割込み バス・アイドル割込み無効 バス・アイドル割込み有効 bit3 SSM 同期データ形式での開始/停止ビット指定 (モード2) 0 同期モード2で開始/停止ビット無効 1 同期モード2で開始/停止ビット有効 bit4 SCDE 0 1 シリアル・クロック遅延 (モード2) クロック遅延無効 クロック遅延有効 bit5 MS 0 1 マスタ/スレーブ選択 (モード2) マスタモード (シリアルクロックの生成) スレーブスレーブ (外部シリアルクロック受信) bit6 LIN ブレーク・ビットの設定 書込み 読出し LBR 0 無視 1 LIN ブレークの生成 常に0を返す bit7 INV R/W : リード/ライト可能 0 R : リードオンリ : ライトオンリ 1 W X : 不定 : 初期値 640 反転シリアルデータ 非反転シリアルデータ (NRZフォーマット) 反転シリアルデータ (RZフォーマット) *: モード2では使用不可 第 27 章 LIN 機能搭載 USART 表 27.4-7 拡張通信制御レジスタ (ECCR5) の各ビットの機能 ビット名 機能 bit7 INV: 反転シリアル データ このビットは , SIN5 と SOT5 端子のシリアルデータを逆転します。SCK5 には影響はありません (ESCR5: SCES 参照 ) 。 "0" を設定した場合 : シリアルデータ形式は NRZ ( デフォルト ) です。 "1" を設定した場合 : シリアルデータが逆転します (RZ 形式 ) 。このビッ トは , RMW 命令の影響を受けません。 bit6 LBR: LIN ブレー ク・ビットの 設定 動作モードとしてモード 0 または 3 が選択されている場合 , このビットを "1" に設定すると , ESCR5 の LBL0/LBL1 ビットによって選択された長さ の LIN ブレークが生成されます。 bit5 MS: マスタ / スレーブ モード選択 ビット このビットは , 同期 モード 2 での USART のマスタまたはスレーブモード を選択します。マスタを選択した場合 , USART は自身の同期クロックを 生成します。スレーブモードを選択した場合 , USART は , 外部シリアルク ロックを受信します。 ( 注意事項 ) スレーブモードを選択した場合は , クロックソースが外部 になければならず , 「1 対 1」(SMR5: SCKE = 0, EXT = 1, OTO = 1) に設定しなければなりません。 bit4 SCDE: シリアル・ クロック遅延 イネーブル・ ビット このビットを設定すると , シリアル出力クロックが 1 CLKP サイクル分 (SPI 準拠の場合は半サイクル分 * ) 遅延します。これは , USART がマスタ モード 2 で動作している場合にのみ適用されます。 bit3 SSM: 開始 / 停止 ビット モードの有効 化ビット このビットは , 動作モード 2 で , 同期データ形式に開始および停止ビット を追加します。モード 0, 1, および 3 では , このビットは無視されます。 bit2 BIE: バスアイドル 割込みの有効 化ビット このビットは , 実行中の送受信がない場合に (RBI = 1, TBI = 1) , 受信割込 みを有効にします。 ( 注意事項 ) BIE はモード 2 では使用しないでください。 bit1 RBI: 受信バス アイドル・ フラグ・ ビット SIN5 端子で実行中の受信がない場合 , このビットは "1" に設定されます。 ( 注意事項 ) このフラグは モード 2 では使用しないでください。 bit0 TBI: 送信バス アイドル・ フラグ・ ビット SOT5 端子で実行中の送信がない場合 , このビットは "1" に設定されます。 ( 注意事項 ) このフラグは モード 2 では使用しないでください。 *: MB91360 シリーズデバイスの USART は , SPI 準拠にはなりません。 641 第 27 章 LIN 機能搭載 USART ボーレート / リロードカウンタレジスタ 0 および 1 (BGR0/BGR1) 27.4.7 ボーレート / リロードカウンタレジスタは , シリアルクロックの分割比を設定します。 また , 送信リロードカウンタの実際のカウントも読み出せます。 図 27.4-8 ボーレート / リロードカウンタレジスタ 0/1(BGR0/BGR1) の構成 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 初期値 00000000B 00000000B R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W bit0~bit7 BGR0 書込み 読出し ボーレート・ジェネレータ レジスタ0 リロード値の0ビットから7ビットをカウンタへ書込み カウントの0ビットから7ビットを読出し bit8~bit14 BGR1 書込み 読出し ボーレート・ジェネレータ レジスタ1 リロード値の8ビットから14ビットをカウンタへ書込み カウントの8ビットから14ビットを読出し bit15 BGR1 R/W : 読出し/書込み可能 R : リードオンリ 読出し 未使用ビット 0を返す ボーレート / リロードカウンタレジスタは , シリアルクロックの分割比を決定します。 これらのレジスタには , バイトまたはワードアクセスを介した読出し / 書込みが可能で す。 642 第 27 章 LIN 機能搭載 USART 27.5 USART の割込み USART は , 受信割込みおよび送信割込みの両方を使用します。以下のいずれかの場 合に , 割込み要求を生成できます。 • 受信データレジスタ (RDR5) に受信データが設定されるか , 受信エラーが発生し た場合 • 送信データレジスタ (TDR5) から送信シフトレジスタへ送信データが転送された 場合 • LIN ブレークが検出された場合 • 受信側または送信側のいずれにも , バス・アクティビティがない場合 ■ USART の割込み 表 27.5-1 USART の割込み制御ビットと割込み要因 受信 / 送信 / ICU 割込み 要求 フラグ ビット フラグ レジス タ 動作モード 割込み要因 割込み 要因許可 ビット 割込み要求 クリア方法 0 1 2 3 受信 RDRF SSR5 × × × × 受信データの RDR への書込み SSR5 : RIE 受信データの 読出し ORE SSR5 × × × × オーバラン エラー FRE SSR5 × × * × フレーミング エラー PE SSR5 × LBD ESCR5 × TBI & RBI ESCR5 × × 送信 TDRE SSR5 × × イン プット キャプ チャ ユニッ ト ICP0 ICS01/ 23 ICP0 ICS01/ 23 * SSR5: CRE に "1" が書き込ま れたとき パリティエラー × LIN 同期 ブレーク検出 ESCR5 : LBIE ESCR5 : LBD に "0" が書き込ま れたとき × バス・アクティ ビティがない ECCR5 : BIE 受信データ / 送信データ × 送信レジスタが 空 SSR5 : TIE 転送データが書 き込まれたとき × × LIN 同期領域の 第 1 立下り エッジ ICS01/23 : ICE0 ICE0 一時的 無効 × × LIN 同期領域の 第 5 立下り エッジ ICS01/23 : ICE0 ICE0 無効 × × : 使用可能 * : ECCR5:SSM = 1 のときのみ有効 643 第 27 章 LIN 機能搭載 USART ■ 受信割込み 受信モードで , 以下のいずれかのイベントが発生すると , シリアルステータスレジスタ (SSR5) の該当するフラグ・ビットが "1" に設定されます。 • データの受信完了 ( 受信したデータがシリアル入力シフトレジスタから 受信データ レジスタ (RDR5) へ転送され , データが読出し可能な状態にある ) : RDRF • オーバラン・エラー (RDRF = 1 であるにもかかわらず , CPU によって RDR5 が読み 出されなかった ) : ORE • フレーミングエラー ( 停止ビットを予期していたにもかかわらず , "0" ビットを受信 した ) : FRE • パリティ・エラー ( 不正なパリティ・ビットが検出された ) : PE 受信割込みが有効になっている場合 (SSR5: RIE = 1) , 上記のフラグ・ビットの 1 つが "1" に設定されると , 受信割込み要求が生成されます。 受信データレジスタ (RDR5) の読出しが実行されると , RDRF フラグは自動的に "0" に クリアされます。 RDRF フラグをリセットするには , この方法以外ありません。シリアルコントロールレ ジスタ (SCR5) のクリア受信エラー (CRE) フラグ・ビットが "1" になると , エラーフラ グが "0" にクリアされます。RDRF フラグが "1" の場合は , RDR5 に含まれているデー タがすべて有効であるため , エラー・ビットは設定されません。 CRE フラグは「書込み専用」であるため , このフラグを "1" に設定すると , 1 回の CPU クロックサイクル分 , 内部処理に "1" が適用されることに注意してください。 ■ 送信割込み 送信データレジスタ (TDR5) から送信シフトレジスタへ送信データが転送されると (シ フトレジスタが空で , 送信データが存在する場合に発生 ) , シリアルステータスレジス タ (SSR5) の送信データレジスタ空フラグビット (TDRE) が "1" に設定されます。この ような場合 , SSR5 の送信割込みイネーブル (TIE) ビットが事前に "1" に設定されてい ると , 割込み要求が生成されます。 TDRE の初期値 ( ハードウェアまたはソフトウェア・リセット後 ) は "1" になっていま す。TIE フラグが "1" になっている場合は , 割込みが直ちに発生することに注意してく ださい。また , TDRE フラグをリセットするには , 送信データレジスタ (TDR5) にデー タを書き込まなければなりません。 ■ LIN 同期中断割込み この処理は, USART が LIN スレーブとしてモード 0 または 3 で動作している場合にの み適用されます。 バス ( シリアル入力 ) の "0" ( 主 ) 状態が 11 ビット長を超過すると , 拡張ステータス / コントロールレジスタ (ESCR5) の LIN ブレーク検出 (LBD) フラグビットが "1" に設 定されます。この場合 , 9 ビット長後に受信エラーフラグが "1" に設定されるため , LIN 同期ブレークのみを検出するには , RIE フラグまたは RXE フラグを "0" に設定する必 要があります。上記以外の場合は , まず受信エラー割込みが発生し , その後 , LBD = 1 になるまで , 割込みハンドラルーチンが待機する必要があります。 LBD フラグが "1" になると , 割込みおよび LBD フラグがクリアされます。CPU が LIN 同期ブレークを検出したか否かは , この方法によって確認します。これは , LIN マスタ へのシリアルクロックの調整に , 以下の手順を要するためです。 644 第 27 章 LIN 機能搭載 USART ■ LIN 同期フィールド・エッジ検出割込み この処理は, USART が LIN スレーブとしてモード 0 または 3 で動作している場合にの み適用されます。 LIN ブレークが検出されると , USART は , 受信バスの次のエッジを立下げます。同時 に , ICU に接続されている内部信号が "1" に設定されます。LIN 同期フィールドの 5 番 目の立下りエッジ以降 , この信号は "0" にリセットされます。いずれの場合も , " both edge detection " および ICU1/5 割込みが有効になっていると , ICU1/5 によって割込みが 生成されます。ICU1/5 カウンタ値の差分は , シリアルクロックを 8 で乗算することに よって得られます。専用リロードカウンタの新規ボーレートを検出し , 計算するには , シリアルクロックを 8 で割ります。その後 , この値 (1) をボーレート・ジェネレータ・ レジスタ (BGR1/0) に設定します。開始ビットの立下りエッジが検出されるとリロード カウンタは自動的にリセットされるため , カウンタをリスタートする必要はありませ ん。 ■ バスアイドル割込み SIN5 端子で受信が行われていない場合 , ECCR5 の RBI フラグ・ビットが "1" になりま す。同様に , データ送信が行われていない場合は , TBI フラグ・ビットが "1" になりま す。ECCR5 のバスアイドル割込みイネーブル・ビット (BIE) が設定されており , バス アイドル・フラグ・ビット (TBI および RBI) が両方とも "1" になると , 割込みが発生し ます。 <注意事項> • バス動作が行われていない場合 , TBI フラグは "0" に設定されます。ただし , SOPE が "1" の場合は , SIOP ビット が "0" に設定されます。 • TBI および RBI はモード 2 ( 同期通信 ) では使用できません。 図 27.5-1 にバスアイドル割込みの発生プロセスを示します。 図 27.5-1 バスアイドル割込みの発生 送信データ 受信データ TBI RBI 受信IRQ : 開始ビット : 停止ビット : データビット 645 第 27 章 LIN 機能搭載 USART 受信割込みの発生とフラグの設定タイミング 27.5.1 受信が完了した場合 (SSR5: RDRF) , 受信エラーが発生した場合 (SSR5: PE, ORE, また は FRE) に , 受信割込みが発生します。 ■ 受信割込みの発生とフラグの設定タイミング 通常 , データの受信が完了し (RDRF = 1) , シリアルステータスレジスタ (SSR5) の受信 割込みイネーブル (RIE) フラグ・ビットが "1" に設定されると , 受信割込みが発生しま す。モード 0, 1, 2 (SSM = 1 の場合 ) , 3 で最初の停止ビットが検出されるか , モード 2 (SSM = 0 の場合 ) で最後のデータ・ビットが検出されると , この割込みが発生します。 <注意事項> 受信エラーが発生した場合は , いずれのモードでも , 受信データレジスタ (RDR5) が獲得したデータは無効になります。 図 27.5-2 受信処理とフラグの設定タイミング 受信データ (mode 0/3) ST D0 D1 D2 .. .. D5 D6 D7/P SP ST 受信データ (mode 1) ST D0 D1 D2 .. .. D6 D7 AD SP ST D0 D1 D2 ... . D4 D5 D7 D0 受信データ (mode 2) D6 PE*1,FRE RDRF ORE*2 (RDRF=1の時) 受信割込み発生 *1: PE フラグは , モード 1 およびモード 3 ではいつも "0" になっています。 *2: CPU によって受信データが読み出されず (RDRF = 1) , 別の データフレームが読み 出された場合にのみ , ORE が発生します。 ST: 開始ビット SP: 停止ビット AD: モード 1( マルチプロセッサ ) アドレス / データ選択ビット <注意事項> モード 0 および 3 の場合は , 図 27.5-3 の例以外の受信処理も可能です。可能な受信 処理 : " 7p1 " および " 8N1 " (p = " E " ( 偶数 ) または " O " ( 奇数 )) , すべての NRZ データ形式 (ECCR5: INV = 0) 図 27.5-3 ORE の設定タイミング 受信データ RDRF ORE 646 第 27 章 LIN 機能搭載 USART 27.5.2 送信割込みの発生とフラグの設定タイミング 出力データレジスタ (TDR5) への次の送信データの書込み準備が整うと , 送信割込みが 発生します。 ■ 送信割込みの発生とフラグの設定タイミング 送信データレジスタ (TDR5) への次の送信データの書込み準備が整うと , 送信割込みが 発生します。これは , TDR5 が空で , 送信割込みイネーブル (TIE) ビットによって送信 割込みが有効にされている状態を意味します。 SSR5 の送信データレジスタ空 (TDRE) フラグ・ビットにより , TDR5 が空であること が示されます。TDRE ビットは「読出し専用」であるため , このビットをクリアするに は , TDR5 にデータを書き込む必要があります。 USART の 4 通りのモードでの送信処理とフラグの設定タイミングを下図に示します。 図 27.5-4 送信処理とフラグの設定タイミング 送信割込み発生 送信割込み発生 モード0,1,3: TDR5への書込み TDRE シリアル出力 ST D0 D1 D2 D3 D4 D5 D6 D7 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP AD AD 送信割込み発生 送信割込み発生 モード2(SSM=0): TDR5への書込み TDRE シリアル出力 *: ST: 開始ビット, SP: 停止ビット, <注意事項> D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D0 ... D7: データビット, P: パリティ AD: アドレス/データ選択ビット(モード1) モード 0 の場合は , 28.5.2a の例以外の送信処理も可能です。 可能な送信処理 : " 8p1 " (p = " E " ( 偶数 ) または " O " ( 奇数 )) , ECCR5: INV = 0 SSM = 0 の場合 , モード 3 または 2 ではパリティは供給されません。 ■ 送信割込み要求発生タイミング 送信割込みが有効になっている場合 (SSR5: TIE=1) , TDRE フラグが 1 に設定されると, 送信割込み要求が発生します。 <注意事項> TDRE ビットの初期値は "1 " に設定されているため , 送信割込みが有効にされると (TIE=1) , 直ちに送信完了割込みが発生します。TDRE は読出し専用ビットです。こ のビットをクリアするには , 出力データレジスタ (TDR5) に新規データを書き込む 必要があります。注意して送信割込み許可のタイミングを指定してください。 647 第 27 章 LIN 機能搭載 USART 27.6 USART ボーレート 以下の 1 つを USART シリアル・クロック・ソースとして選択できます。 • 専用ボーレート・ジェネレータ ( リロードカウンタ ) • 独立した外部クロック (SCK5 端子へのクロック入力 ) • ボーレート・ジェネレータ ( リロードカウンタ ) へ接続された外部クロック ■ USART ボーレート選択 ボーレート選択回路は , 以下のように設計されています。ボーレートの選択には , 以下 の 3 通りの方法があります。 ● 専用ボーレート・ジェネレータ ( リロードカウンタ ) を用いたボーレートの選択 USART には , 送信および受信シリアルクロック用に , 2 つの独立した内部リロードカ ウンタがあります。ボーレート・ジェネレータ・レジスタ 0 および 1 (BGR0/1) によっ て決定された 15 ビット・リロード値を介して , ボーレートを選択できます。 リロードカウンタは , ボーレート・ジェネレータ・レジスタ 0 および 1 の設定値で , 周 辺クロックを割ります。 ● 外部クロック (1 対 1 モード ) を用いたボーレートの選択 USART クロック・パルス入力端子 (SCK5/P94) からのクロック入力が , そのまま使用さ れます ( 同期 ) 。周辺クロックを 4 で割った数値に満たないボーレートのうち , 割算が 可能なものは , 外部に設定されます。 ● 外部クロックを持つ専用ボーレート・ジェネレータを用いたボーレートの選択 外部クロック・ソースは , リロードカウンタに内部接続することもできます。このモー ドでは , 内部周辺クロックの代わりに使用されます。この回路は , 特殊な周波数を持つ 水晶発振器を使用し , 周波数を割算できるように設計されています。 648 第 27 章 LIN 機能搭載 USART 図 27.6-1 ボーレート選択回路 ( リロードカウンタ ) REST 開始ビット 立下りエッジ検出 リロード値: v 受信 15-bit リロードカウンタ Rxc = 0? セット FF リロード Rxc=v/2? 0 受信クロック リセット 1 リロード値: v CLK 0 SCK5 EXT 送信 15-bit リロードカウンタ Txc = 0? カウンタ値: Txc Txc=v/2? 1 (外部クロック入力) セット FF リロード OTO 0 リセット 1 送信クロック 内部データバス EXT REST OTO SMR5 レジスタ BGR14 BGR13 BGR12 BGR11 BGR10 BGR9 BGR8 BGR1 レジスタ BGR7 BGR6 BGR5 BGR4 BGR3 BGR2 BGR1 BGR0 BGR0 レジスタ 649 第 27 章 LIN 機能搭載 USART 27.6.1 ボーレートの設定 ここでは , ボーレートの設定方法 , およびシリアルクロック周波数の計算方法について 解説します。 ■ ボーレートの計算方法 2 つの 15 ビット・リロードカウンタは , ボーレート・ジェネレータ・レジスタ 1 およ び 0 (BGR1, 0) によってプログラムされます。次の式を用いて , 目的のボーレートを設 定します。 ボーレート値 : v = [φ / b] - 1 ここで , φ はリソースクロック (CLKP), b はボーレート , [ ] はガウス括弧 ( 丸め関数 ) で す。 ■ 算出例 CPU クロックが 16 MHz , 目的のボーレートが 19200 bps の場合のリロード値 v: v = [16 × 106 / 19200] - 1 = 832 また , 正確なボーレートは次の式で計算できます。 bexact = φ / (v + 1) この場合 , 以下のようになります。 16 × 106 / 833 = 19207.6831 <注意事項> リロード値を "0" に設定すると , リロードカウンタが停止します。したがって , 最小 分割比は "2" です。 ■ マシン速度とボーレートに応じた推奨分割比 以下の設定は , 異なる MCU クロック速度とボーレートに応じた推奨値です。 表 27.6-1 異なるマシン速度での推奨ボーレートおよびリロード値 (1 / 2) 8 MHz ボーレート 650 10 MHz 16 MHz 20 MHz 24 MHz 32 MHz 値 % dev. 値 % dev. 値 % dev. 値 % dev. 値 % dev. 値 % dev. 2M 3 0 4 0 7 0 9 0 11 0 15 0 1M 7 0 9 0 15 0 19 0 23 0 31 0 500000 15 0 19 0 31 0 39 0 47 0 63 0 460800 - - - - - - - - 51 -0.16 - - 250000 31 0 39 0 63 0 79 0 95 0 127 0 230400 - - - - - - 86 0.22 103 -0.16 138 -0.08 153600 51 -0.16 64 -0.16 103 -0.16 129 -0.16 155 -0.16 207 0.16 125000 63 0 79 0 127 0 159 0 191 0 255 0 115200 - - 86 0.22 138 0.08 173 0.22 207 -0.16 278 -0.08 76800 103 -0.16 129 -0.16 207 -0.16 259 -0.16 311 -0.16 416 0.08 57600 138 0.08 173 0.22 277 0.08 346 -0.06 416 0.08 555 0.08 38400 207 -0.16 259 -0.16 416 0.08 520 0.03 624 0 832 -0.04 第 27 章 LIN 機能搭載 USART 表 27.6-1 異なるマシン速度での推奨ボーレートおよびリロード値 (2 / 2) 8 MHz ボーレート 10 MHz 16 MHz 20 MHz 24 MHz 32 MHz 値 % dev. 値 % dev. 値 % dev. 値 % dev. 値 % dev. 値 % dev. 28800 277 0.08 346 <0.01 554 -0.01 693 -0.06 832 -0.03 1110 -0.01 19200 416 0.08 520 0.03 832 -0.03 1041 0.03 1249 0 1666 0.02 10417 767 <0.01 959 <0.01 1535 <0.01 1919 <0.01 2303 <0.01 3071 <0.01 9600 832 0.04 1041 0.03 1666 0.02 2083 0.03 2499 0 3332 0.01 7200 1110 <0.01 1388 <0.01 2221 <0.01 2777 <0.01 3332 <0.01 4443 -0.01 4800 1666 0.02 2082 -0.02 3332 <0.01 4166 <0.01 4999 0 6666 <0.01 2400 3332 <0.01 4166 <0.01 6666 <0.01 8332 <0.01 9999 0 13332 <0.01 1200 6666 <0.01 8334 0.02 13332 <0.01 16666 <0.01 19999 0 26666 <0.01 600 13332 <0.01 16666 <0.01 26666 <0.01 - - - - 300 26666 <0.01 - - - - - - - - ■ カウント例 リロード値が "832" であると仮定します。図 27.6-2 に , 2 つのリロードカウンタの動作 を示します。 図 27.6-2 リロードカウンタのカウント例 送信/受信 クロック リロード カウンタ 001 000 832 831 830 829 828 827 リロードカウント値 送信/受信 クロック リロード カウンタ <注意事項> 417 416 415 414 413 412 411 410 シリアル・クロック信号の立下りエッジは , 常に |(v + 1)/ 2 | の後に発生します。 651 第 27 章 LIN 機能搭載 USART リロードカウンタの再スタート 27.6.2 リロードカウンタは , 以下の状況でリスタートされる場合があります。 送信および受信リロードカウンタ : • グローバル MCU リセット • USART プログラム可能クリア (SMR5:UPCL ビット ) • ユーザプログラム可能リスタート (SMR5: REST ビット ) 受信リロードカウンタ : • 非同期モード時の立下りエッジ検出開始ビット ■ プログラマブルリセット ユーザによってシリアルモードレジスタ (SMR5) の REST ビットが設定されている場 合 , 次のクロックサイクルで両方のリロードカウンタがリスタートされます。これは , 送 信リロードカウンタを小型タイマとして使用するための機能です。 この機能の使用方法を下図に示します ( リロード値が "100" と想定 ) 。 図 27.6-3 リロードカウンタ再スタート例 MCUクロック リロード カウンタ クロック出力 REST リロード値 37 36 35 100 99 98 97 96 95 94 93 92 91 90 89 88 87 BGR 0/1 読取り データバス 90 :無関係 この例で , REST 後の MCU クロックサイクル数 (cyc) は次のように計算します。 cyc = v - c + 1 = 100 - 90 + 1 = 11 v はリロード値 , c は読出しカウンタ値です。 <注意事項> SMR5:UPCL の設定により USART がリセットされると , リロードカウンタもリス タートされます。 ■ 自動再開 非同期 UART モードで, 開始ビットの立下りエッジが検出されると, 受信リロードカウ ンタがリスタートされます。これにより , シリアル入力シフタを受信シリアルデータの ストリームに同期させます。 652 第 27 章 LIN 機能搭載 USART 27.7 USART の動作 USART は , 動作モード 0 で通常の双方向シリアル通信を行います。モード 2 および 3 では双方向通信のマスタまたはスレーブとして動作し , モード 1 ではマルチプロ セッサ通信のマスタまたはスレーブとして動作します。 ■ USART の動作 ● 動作モード USART には , モード 0 ∼ 3 の 4 種類の動作モードがあります。内部 CPU の接続方法お よびデータ転送モードに応じて , 動作モードを選択できます ( 表 27.7-1 参照 ) 。 表 27.7-1 USART の動作モード データ長 動作モード パリティ 無効 0 通常モード 1 マルチプロ セッサ モード 2 通常モード 3 LIN モード パリティ 有効 7 または 8 7 または 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 は , マスタ / スレーブ接続システムでの USART のマスタまたはスレーブ 動作の両方でサポートされます。モード 3 での USART 機能は 8N1 形式 , LSB 最優 先にロックされます。 動作モードを変更すると , USART はすべての可能な送受信を切断した後 , 新たな処置 を待機します。 ■ CPU 間接続方式 外部クロックの 1 対 1 接続 ( 通常モード ) およびマスタ / スレーブ接続 ( マルチプロ セッサ・モード ) を選択できます。いずれの接続方法の場合も , すべての CPU で , デー タ長 , パリティの有無 , 同期方式が一致していなければなりません。以下の手順で動作 モードを選択します。 • 1 対 1 接続の場合 , 2 台の CPU を動作モード 0 または 2 で使用します。非同期転送 モードの場合は モード 0, 同期転送モードの場合は モード 2 を選択します。 同期モード 2 では , 1 台の CPU をマスタ , もう 1 台をスレーブに設定します。 • マスタ / スレーブ接続の場合は , 動作モード 1 を選択し , マスタまたはスレーブ・シ ステムとして使用します。 653 第 27 章 LIN 機能搭載 USART ■ 同期方式 非同期動作では , 受信した開始ビットの立下りエッジに USART 受信クロックが自動 同期します。 同期 モードでは , マスタ・デバイスのクロック信号 , または USART がマスタとして動 作している場合は USART 自身によって , 同期が実行されます。 ■ 信号モード USART では , 非ゼロ復帰 (NRZ) およびゼロ復帰 (RZ) 形式でデータを処理できます。 このオプションに対応し , ECCR: INV ビットが提供されています。 ■ 動作許可ビット USART では , 送信 (SCR5: TXE) および受信 (SCR5: RXE) 用のイネーブル・ビットを用 いて , 送受信が制御されします。送信または受信が無効にされると , 以下のように処理 が停止します。 • 受信中 ( 受信シフトレジスタにデータを入力中 ) に受信処理が無効にされると , フ レームの受信が完了し , 受信データレジスタ (RDR5) で受信されたデータが読み出 されます。その後 , 受信処理が停止します。 • 送信中 ( 送信シフトレジスタからのデータを出力中 ) に送信処理が無効にされると , 送信データレジスタ (TDR5) 内にデータがなくなるまで待機し , その後 , 送信処理が 停止します。 654 第 27 章 LIN 機能搭載 USART 27.7.1 非同期モードでの動作 ( モード 0, モード 1) USART がモード 0 ( 通常モード ) またはモード 1 ( マルチプロセッサ・モード ) で動作 している場合は , 非同期転送モードが選択されます。 ■ 転送データフォーマット 通常 , 非同期モードでの各データ転送は , 開始ビット ( バス・ロー・レベル ) で開始さ れ , 最低 1 つの停止ビット ( ハイレベル ) で停止します。ビット・ストリームの方向 (LSB 最優先または MSB 最優先 ) は , シリアルステータスレジスタ (SSR5) の BDS ビッ トによって決定されます。パリティ・ビット ( 有効になっている場合 ) は常に , 最後の データビットと ( 最初 ) の停止ビットの間に置かれます。 モード 0 では , データフレーム長に 7 または 8 ビット , パリティ有または無 , 1 つまた は 2 つの停止ビットを使用します。 モード 1 では , データフレーム長に 7 または 8 ビットを使用し , パリティビットではな く , アドレス / データ選択ビットを追加します。1 つまたは 2 つの停止ビットを選択で きます。 転送フレームのビット長の計算には , 次の式を使用します。 Length = 1 + d + p + s 図 27.7-1 送信データフォーマット ( 動作モード 1/ モード 2) *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 ( ビット 7) : パリティが無効で , データ長が 8 ビットの場合 P ( パリティ ): パリティが有効で , データ長が 7 ビットの場合 *2: SCR の SBL ビットが 1 の場合のみ ST: 開始ビット SP: 停止ビット AD: モード 1( マルチプロセッサ ) でのアドレス / データ選択ビット <注意事項> シリアルステータスレジスタ (SSR5) の BDS ビットが "1" (MSB 最優先 ) に設定され ている場合 , ビット・ストリームの処理順序は , D7, D6, ... , D1, D0, (P) となります。 受信中 , 両方の停止ビットが検出されます ( 選択されている場合 ) 。ただし , 受信デー タレジスタ・フル (RDRF) フラグは , 最初の停止ビットで "1" に設定されます。最後の 開始ビットが検出されると , 2 番目の停止ビットの後 , バスアイドル・フラグ (ECCR5 の RBI) が "1" になります。(2 番目の停止ビットは , マーク・レベルとして「バス処理」 に属します ) 。 655 第 27 章 LIN 機能搭載 USART ■ 送信動作 シリアルステータスレジスタ (SSR5) の送信データレジスタ空 (TDRE) フラグビットが "1" になると , 送信データレジスタ (TDR5) への送信データの書込みが許可されます。 データが書き込まれると , TDRE フラグが "0" になります。シリアルコントロールレジ スタ (SCR5) の TXE ビットで送信が有効 ("1") にされている場合は, 次に, 送信シフトレ ジスタにデータが書き込まれ , シリアルクロックの次回クロックサイクル , スタート ビットの開始で送信が開始されます。これにより TDRE フラグが "1" になり , TDR5 へ の新規データの書込みが可能になります。 送信割込みが有効になっている場合 (TIE = 1) , TDRE フラグのよって割込みが生成さ れます。TDRE フラグの初期値は "1" であるため , TIE を "1" にすると , 割り込みが直 ちに発生することに注意してください。 ■ 受信動作 受信処理は , SCR5 の受信イネーブル (RXE) フラグビットによって受信が有効にされ るたびに実行されます。 開始ビットが検出されると, SCR5 での指定形式に応じて, デー タフレームが受信されます。エラーが発生すると , 該当するエラーフラグ (PE, ORE, FRE) が設定されます。ただし , データフレームが受信されると , データはシリアルシ フトレジスタから受信データレジスタ (RDR5) へ転送され , SSR5 の受信データレジス タフル (RDRF) フラグが設定されます。その後 , CPU によるデータの読出しが必要で す。データの読出しにより , RDRF フラグがクリアされます。受信割込みが有効になっ ている場合 (RIE = 1) , RDRF によって割込みが生成されます。 <注意事項> RDRF フラグが設定されており , エラーが発生しなかった場合にのみ , 受信データ レジスタ (RDR5) に有効データが格納されます。 ■ 停止ビット , エラー検出 , パリティ 送信処理には , 1 つまたは 2 つの停止ビットを選択できます。2 番目の停止ビットの後 に ECCR5 の受信バスアイドル (RBI) フラグが正しく設定されるよう , 受信中 , 両方の 停止ビット ( 選択されている場合 ) が確認されます。 モード 0 では , パリティエラー, オーバランエラーおよびフレーミングエラーが検出さ れます。 モード 1 では , オーバランエラー , フレーミングエラーが検出できます。パリティは無 効になっています。 シリアルコントロールレジスタ (SCR5) のパリティイネーブル (PEN) ビットを選択す ると , モード 0 (ECCR5 の SSM ビットが設定されている場合は モード 2 も該当 ) で , USART によってパリティ計算 ( 送信中 ) , パリティ検出 , および確認 ( 受信中 ) が実行 されます。 SCR5 の P ビットがクリアされている場合は偶数パリティ, フラグビットが設定されて いる場合は奇数パリティが設定されます。モード 1 では , オーバランエラーおよびフ レーミングエラーを検出できます。パリティは無効になっています。 ■ 信号モード NRZ および RZ USART を NRZ データ形式に設定するには , ECCR5:INV ビットを "0" ( 初期値 ) に設定 します。ECCR5:INV ビットを "1" に設定すると , RZ データ形式が設定されます。 656 第 27 章 LIN 機能搭載 USART 27.7.2 同期モードでの動作 ( 動作モード 2) USART モード 2 ( 通常モード ) では , クロック 同期転送方式 を使用します。 ■ 転送データフォーマット ( 通常同期 ) 拡張通信コントロールレジスタ (ECCR5) が " 0" に設定されている場合 , 同期モードで は ,8 ビット・データ ( 開始または停止ビットなし ) が転送されます。モード 2 のデー タ形式は , 特殊クロック信号に属します。同期モードでの送信データ形式を下図に示し ます。 図 27.7-2 送信データ形式 ( 動作モード 2) 送信データ書込み 受信データサンプルエッジ(SCES = 0) マーク レベル 送信または受信 クロック (通常) マーク レベル 送信クロック (SCDE=1) マーク レベル 送信および受信 データ 0 1 1 LSB 0 1 0 0 1 MSB データ ■ 転送データ形式 (SPI, MB91360 シリーズでは非対応 ) 拡張通信コントロールレジスタ (ECCR5) が "0" に設定されている場合 , 同期モードで は , 8 ビット・データ ( 開始または停止ビットなし ) が転送されます。モード 2 のデー タ形式は , 特殊クロック信号に属します。同期モードでの送信データ形式を下図に示し ます。 図 27.7-3 SPI 転送データ形式 ( 動作モード 2) 送信データ書込み 受信データサンプルエッジ(SCES = 0) マーク レベル 送信または受信 クロック (通常) マーク レベル 送信クロック (SCDE=1) マーク レベル 送信および受信 データ 0 LSB 1 1 0 1 0 0 1 MSB データ 657 第 27 章 LIN 機能搭載 USART ■ モード 2 でのクロック反転および開始 / 停止ビット 拡張ステータス / コントロールレジスタ (ESCR5) の SCES ビットが設定されている場 合は , シリアルクロックが反転します。したがって , スレーブモードの USART は , 受 信したシリアルクロックの立下りエッジでデータビットをサンプルします。マスタ モードで SCES が設定されている場合 , クロック信号のマーク・レベルは "0" になるこ とに注意してください。拡張通信コントロールレジスタ (ECCR5) の SSM5 ビットが設 定されている場合は , 非同期モードでのような開始ビットと停止ビットが , データ形式 に追加されます。 図 27.7-4 クロック反転を伴う送信データ形式 マークレベル 受信または送信クロック (SCES = 0, CCO = 0): 受信または送信クロック (SCES = 1, CCO = 0): データストリーム (SSM=1) (パリティなし, 1 停止ビット): マークレベル ST SP データフレーム ■ クロック供給 クロック同期 ( 通常 ) モード (I/O 拡張シリアル ) では , 送信 / 受信ビット数とクロック サイクル数が一致していなければなりません。開始 / 停止ビット通信が有効になって いる場合は , クロックサイクル数と , 追加開始 / 停止ビット数が一致していなければな りません。 内部クロック (専用リロードカウンタ) が選択されている場合は, データの送信時, デー タ受信同期クロックが自動的に生成されます。 外部クロックが選択されている場合は , 送信データレジスタの送信側にデータが入っ ていることを確認します。その後 , 送信対象の各ビットのクロックサイクルを外部から 生成し供給する必要があります。SCES が "0" の場合は , 送信が開始され , 完了するま でマーク・レベル ("H") を保持する必要があります。 ECCR の SCDE ビットを設定すると , 1 CLKP サイクル分 (SPI の場合は半サイクル ) , 送信クロック信号が遅延します。この遅延により , 各立下りクロック・エッジで , 送信 データが有効かつ安定していることが確認されます ( 受信側のデバイスが立下りク ロック・エッジでデータ・サンプルを行う場合には , 必須 )。 <注意事項> MB91360 シリーズ デバイスの USART は , SPI 準拠にはなりません。 ESCR のシリアル・クロック・エッジ選択 (SCES) ビットが設定されている場合 , USART のクロックが反転するため , 立下りクロック・エッジで受信データがサンプルされま す。この場合 , 送信側デバイスの立下りシリアル・クロック・エッジで , シリアルデー タが有効であることを確認する必要があります。 SCES と SCDE ビットの両方が設定されている場合は, SCES = SCDE = 0 の場合と同様, 立上りクロック・エッジでデータが安定します。ただし , アイドル状態でのマーカ値は 反転します ("L" レベル )。 658 第 27 章 LIN 機能搭載 USART 拡張ステータス / コントロールレジスタ (ESCR5) の CCO ビットが設定されている場合 , マスタモードでの SCK5 端子のシリアルクロックは , 継続的にクロックアウトされます。 このモードでは , データフレームの開始 / 停止時を受信側のデバイスに通知するため , 開 始 / 停止ビットを使用することを強く推奨します。図 27.7-5 に示します。 図 27.7-5 モード 2 での継続クロック出力 受信または送信クロック (SCES = 0, CCO = 1): 受信または送信クロック (SCES = 1, CCO = 1): データストリーム (SSM=1) (パリティなし, 1 停止ビット): ST SP データフレーム ■ データ信号モード ECCR5: INV = 0 の場合は NRZ データ形式が選択されています。それ以外の場合は , シ リアルデータ入力および出力端子の信号モードは RZ です。 ■ エラー検出 開始 / 停止ビットが選択されていない場合 (ECCR5: SSM = 0) は , オーバラン・エラー のみが検出されます。 ■ 通信 同期モードの初期化には , 以下の設定を行います。 ● ボーレートジェネレータレジスタ (BGR0/BGR1) : 専用ボーレート・リロードカウンタ のリロード値を設定 : ● シリアルモード コントロールレジスタ (SMR5) : • MD1, MD0: "10B"( モード 2) • SCKE: "1"( 専用ボーレート・リロードカウンタ用 ) "0" ( 外部クロック入力 ) • SOE: "1" ( 送受信用 ) "0" ( 受信のみ ) ● シリアルコントロールレジスタ (SCR5) : • RXE, TXE: フラグ・ビットの 1 つを "1" に設定 • PEN: パリティなし - 値 : 無関係 • P, SBL, AD: パリティなし , 停止ビットなし , アドレス / データ選択なし - 値 : 無関係 • CL: 8 ビット・データに自動固定 - 値 : 無関係 • CRE: "1" ( 初期化時 , エラーフラグがクリアされ , 送受信が切断される ) 659 第 27 章 LIN 機能搭載 USART ● シリアルステータスレジスタ (SSR5) : • BDS: "0" (LSB 最優先 ) "1" (MSB ファースト ) • RIE: "1" ( 割込みを使用する場合 ) "0" ( 割込みを使用しない場合 ) ● 拡張通信レジスタ (ECCR5) : • SSM: "0" ( 開始 / 停止ビットが不要な場合 ( 通常 ) ) "1" ( 開始 / 停止ビットを追加する場合 ( 特殊 ) ) • MS: "0" ( マスタモード , USART によるシリアルクロックの生成 ) "1" ( スレーブモード , USART はマスタ・デバイスからシリアルクロック を受信 ) 通信を開始するには , 送信データレジスタ (TDR5) にデータを書き込みます。 データを受信するには , SMR5 のシリアル出力イネーブル (SOE) ビットを無効にし , TDR5 にダミー • データを書き込みます。 <注意事項> 660 継続クロックおよび開始 / 停止ビット・モードを設定すると , 非同期モードのよう な双方向の送受信が可能になります。 第 27 章 LIN 機能搭載 USART 27.7.3 LIN 機能を用いた操作 ( モード 3) USART は , LIN マスタ・デバイスとしても LIN スレーブデバイスとしても使用できま す。特殊モード 3 は , この LIN 機能に対応しています。USART をモード 3 に設定する と , データ形式は 8N1 - LSB 最優先に設定されます。 ■ LIN マスタとしての USART LIN マスタモードでは , マスタがサブ • バス全体のボーレートを決定します。したがっ て , スレーブデバイスがマスタに同期すると共に , 初期化後もマスタには必要なボー レートが固定されている必要があります。 拡張ステータス / 通信レジスタ (ECCR5) の LBR ビットを "1" に設定すると , SOT5 端子 で 13 ∼ 16 bit times の "L" レベルが生成されます。これは , LIN 同期ブレークおよび LIN メッセージの開始を意味します。これにより , シリアルステータスレジスタ (SSR5) の TDRE フラグが "0" になり , ブレーク後 "1" にリセットされることにより , CPU への 送信割込みが生成されます (SSR5 の TIE が "1" の場合 ) 。送信対象の同期ブレーク長 を決定するには , ESCR5 の LBL1/LBL0 ビットを次のように設定します。 表 27.7-2 LIN ブレーク長 LBL1 LBL0 ブレーク長 0 0 13 Bit times 0 1 14 Bit times 1 0 15 Bit times 1 1 16 Bit times LIN ブレークの後に , 同期フィールドを 0x55 バイトとして送信できます。送信割込み を回避するには , LBR ビットを "1" に設定した後 , TDR5 に 0x55 と書き込みます ( ただ し , TDRE フラグは "0" ) 。内部送信シフタは , LIN ブレークの完了を待機し , その後 , TDR5 値をシフトします。この場合 , LIN ブレークの後 , 開始ビットの前に , 割込みは 発生しません。 ■ LIN スレーブとしての USART LIN スレーブモードの場合 , USART をマスタのボーレートに同期させる必要がありま す。受信が無効になっており (RXE = 0) , LIN ブレーク割込みが有効になっている場合 (LBIE = 1) , LIN マスタの同期ブレークが検出されると , USART によって受信割込みが 生成されます (ESCR5 の LBD フラグで表示 ) 。このビットを "0" にすると , 割込みがク リアされます。 次に , LIN マスタのボーレート分析について解説します。USART により , 同期フィー ルドの最初の立下りエッジが検出されます。その後 , USART は , 内部接続の立上りエッ ジを介して , 入力キャプチャ・ユニット (ICU1/5) に通知します。5 番目の立下りエッジ によって ICU 信号がリセットされます。したがって , ICU を LIN 入力キャプチャに合 わせて設定し (ICE01/45), 割込みを有効にする必要があります (ICS01/45)。最初の割込 み (a) と 2 番目の割込み (b) の後の ICU カウンタレジスタの値に基づき , BGR 値が算出 されます。 タイマ・オーバフローなし : BGR 値 = (b - a)/8 タイマ・オーバフローあり : BGR 値 = ( 最大値 - b + a)/8 661 第 27 章 LIN 機能搭載 USART ここで最大値とは , オーバフローが発生するタイマの最大値です。 通常の LIN メッセージ・フレームの開始と , USART の動作を図 27.7-6 に示します。 図 27.7-6 LIN モードでのスレーブ USART の動作 シリアルクロック シリアル入力 (LIN バス) CPUによりクリア されたLBR LBD 内部ICU信号 同期フィールド 同期ブレーク(例: 14 Tビット) ■ LIN バス・タイミング 図 27.7-7 LIN バス・タイミングおよび USART 信号 旧 シリアルクロック ICUカウント 新 シリアルクロック(計算後) クロック未使用 (キャリブレーション フレーム) LINバス (SIN) RXE LBD (IRQ0) LBIE ICUへの 内部信号 ICUからの IRQ RDRF (IRQ0) RIE CPUによる RDR読取り 受信割込み許可 LIN ブレーク許可 LIN ブレーク検出および割込み CPUによりクリアされたIRQ (LBD→0) ICUからのIRQ IRQクリア: インプットキャプチャ開始 ICUからのIRQ IRQクリア: 計算と新ボーレートの設定 LBIE許可 受信許可 識別バイトの開始ビットエッジ RDRのバイト読取り CPUによるRDR読取り 662 第 27 章 LIN 機能搭載 USART 27.7.4 シリアル端子への直接アクセス USART の送信端子 (SOT5) または受信端子 (SIN5) には , ユーザが直接アクセスできま す。 ■ USART 検出端子アクセス プログラマは , USART のシリアル入力または出力端子に直接アクセスできます。ソフ トウェアを用いて , ESCR5 の SIOP ビットを読み出し , 受信シリアルデータを常に監視 できます。ESCR5 のシリアル出力端子直接アクセス・イネーブル (SOPE) ビットを設 定することにより , ソフトウェアを用いて , SOT5 端子を必要な値に保持できます。こ のアクセスは , 送信シフトレジスタが空 ( 送信処理が実行されていない ) の場合にのみ 可能です。 LIN モードでは , この機能を使用して , 送信済みのデータの読出しや , 単線 LIN バスの 物理障害時のエラー処理を実行できます。 <注意事項> • 予期せぬ電圧の急上昇を回避するため , 出力端子へのアクセスを有効にする前に , 目的の値を SIOP 端子に書き込んでください。SIOP には最新の書込み値が格納さ れているため , 電圧が急上昇する場合があります。 • リードモディファイライト処理中 , SIOP ビットにより , 読出しサイクルで , SOT5 端子の実際の値が返されます ( 通常の読出し命令の場合は SIN5 の値が返される ) 。 663 第 27 章 LIN 機能搭載 USART 27.7.5 双方向通信機能 ( ノーマルモード ) 動作モード 0 または動作モード 2 では , 通常のシリアル双方向通信が可能です。非同 期通信用の動作モード 0 と 同期通信用の動作モード 2 を選択してください。 ■ 双方向通信機能 USART を通常モード ( 動作モード 0 または 2) で動作させるには , 図 27.7-8 の設定が必 要です。 図 27.7-8 USART の設定 ( 動作モード 0 および 2) bit SCR5, SMR5 モード 0 モード 2 SSR5, TDR5/RDR5 15 PEN ◎ □ PE モード 0 ◎ モード 2 □ 14 P ◎ □ 13 SBL ◎ □ 12 CL ◎ × 11 AD × × 10 9 8 7 6 5 4 3 2 1 0 CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE 0 0 0 0 0 0 ◎ ◎ × ◎ ◎ 0 1 0 0 0 ◎ ◎ ◎ ◎ ◎ ◎ ORE FRE RDRF TDRE BDS RIE ◎ ◎ ◎ □ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ TIE 送信データのセット ( 書込み中 ) 受信データの保持 ( 読取り中 ) ◎ ◎ ESCR5, ECCR5 LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS − モード 0 × × × × × × × × × × × × × ◎ ◎ モード 2 × ◎ : 使用ビット × : 未使用ビット 0/1 : ビットに "0" または "1" をセット □ : SSM=1( 同期 開始 / 停止ビットモード ) の時に使用するビット LBR MS × × × ◎ SCDE SSM × ◎ × ◎ ■ CPU 間接続 2 台の CPU を USART モード 2 で内部接続します ( 図 27.7-9 参照 ) 。 図 27.7-9 USART の接続例 ( モード 2 双方向通信 ) SOT SOT SIN SIN SCK CPU-1(マスタ) 664 出力 入力 SCK CPU-2(スレーブ) BIE RBI TBI × × × × × × 第 27 章 LIN 機能搭載 USART 27.7.6 マスタ - スレーブ通信機能 ( マルチプロセッサモード ) USART は , マスタ・システムまたはスレーブ・システムに対応し , マスタ / スレーブ モードで接続されている複数の CPU と通信できます。 ■ マスタ / スレーブ通信機能 USART をマルチプロセッサ・モード ( モード 1) で動作させるには , 図 27.7-10 の設定 が必要です。 図 27.7-10 USART の設定 ( 動作モード 1) bit 15 SCR5, SMR5 PEN モード 1 × SSR5, TDR5/RDR5 PE 14 P × 13 SBL ◎ 12 CL ◎ 11 AD ◎ 10 9 8 7 6 5 4 3 2 1 0 CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE 0 0 1 0 0 0 1 ◎ ◎ × ◎ ORE FRE RDRF TDRE BDS RIE モード 1 × ◎ ◎ ◎ ◎ : 使用ビット × : 未使用ビット 0/1 : ビットに "0" または "1" をセット ◎ ◎ ◎ TIE 送信データのセット ( 書込み中 ) 受信データの保持 ( 読取り中 ) ◎ ■ CPU 間接続 1 つの通信システムは , 1 台のマスタ CPU と , 2 本の通信ケーブルに接続された複数の スレーブ CPU で構成されます ( 図 27.7-11 参照 ) 。USART は , マスタ CPU としてもス レーブとしても使用できます。 図 27.7-11 USART マスタ - スレーブ通信の接続例 SIN SOT マスタCPU SIN SOT スレーブCPU#1 SIN SOT スレーブCPU#2 665 第 27 章 LIN 機能搭載 USART ■ 機能選択 マスタ / スレーブ間通信の動作モードおよびデータ転送モードを選択します ( 表 27.7-3 参照 )。 表 27.7-3 マスタ - スレーブ通信機能の選択 運用モード マスタ CPU スレーブ CPU アドレス 送受信 モード 1 ( AD ビット 送信 ) データ 送受信 666 モード 1 (AD ビット 受信 ) データ パリティ 同期 / 非同期 停止ビット ビット方向 なし 非同期 1 ビット または 2 ビット LSB または MSB ファースト AD=1 +7 ビットアド レス または 8 ビットアドレス AD=0 +7 ビットデー タ または 8 ビットデータ 第 27 章 LIN 機能搭載 USART ■ 通信手順 マスタ CPU によってアドレスデータが送信されると , 通信が開始します。アドレス データの AD ビットを "1" に設定し , 通信先となるスレーブ CPU I を選択します。各ス レーブ CPU では , プログラムを使用して , アドレスデータが確認されます。アドレス データがスレーブ CPU に割り当てられているアドレスを示している場合 , スレーブ CPU とマスタ CPU が通信を行います ( 通常データ ) 。図 27.7-12 は , マスタ / スレーブ 間通信 ( マルチプロセッサ・モード ) のフローチャートです。 図 27.7-12 マスタ - スレーブ通信フローチャート (マスタ CPU) (スレーブ CPU) Start Start 運用モード1を設定 運用モード1を設定 SIN端子をシリアルデータ入力端子 に設定 SOT端子をシリアルデータ出力端子 に設定 SIN端子をシリアルデータ入力端子 に設定 SOT端子をシリアルデータ出力端子 に設定 7または8ビットデータを設定 1または2ストップビットを設定 7または8ビットデータを設定 1または2ストップビットを設定 ADビットに1を設定 TXE = RXE = 1を設定 バイトを受信 TXE = RXE = 1を設定 スレーブアドレスを送信 ADビット = 1 ? ADビットに0を設定 NO YES スレーブアドレスが一致 ? NO スレーブCPUと通信 YES NO マスタCPUと通信 通信完了 ? YES NO 通信完了 ? 他のスレーブCPUと通信 ? NO YES YES TXE = RXE = 0を設定 End 667 第 27 章 LIN 機能搭載 USART LIN 通信機能 27.7.7 USART と LIN デバイスとの通信は , LIN マスタまたは LIN スレーブ・システムの両方 で実行できます。 ■ LIN マスタ - スレーブ通信機能 USART を LIN 通信モード ( 動作モード 3) で動作させるには , 下図の設定が必要です。 図 27.7-13 USART の設定 bit 15 SCR5, SMR5 PEN モード 3 × SSR5, TDR5/RDR5 PE 14 P × 13 SBL + 12 CL + 11 AD × 10 9 8 7 6 5 4 3 2 1 0 CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE 0 1 1 0 0 0 1 ◎ ◎ × ◎ ORE FRE RDRF TDRE BDS RIE モード 3 × ◎ ◎ ◎ ◎ + ◎ 送信データのセット ( 書込み中 ) 受信データの保持 ( 読取り中 ) TIE ◎ ESCR5, ECCR5 LBIE LBD LBL1 LBL0 SOPE SIOP CCO SECS モード 3 ◎ ◎ ◎ ◎ × × × × ◎ : 使用ビット × : 未使用ビット 0/1 : ビットに "0" または "1" をセット + : 正しい値に自動的に設定 − LBR MS ◎ × SCDE SSM × × BIE RBI TBI × × × ■ LIN デバイス接続 下図は , 1 台の LIN マスタ・デバイスともう 1 台の LIN スレーブデバイスの間の通信 システムを示しています。USART は LIN マスタとしても LIN スレーブとしても動作 します。 図 27.7-14 小規模 LIN バスシステムの接続例 LINバス SOT SOT SIN LIN-マスタ 668 SIN 単線式 トランシーバ 単線式 トランシーバ LIN-スレーブ 第 27 章 LIN 機能搭載 USART 27.7.8 LIN 通信における USART フローチャート例 ( 運用モード 3) LIN 通信における USART のフローチャート例を示します。 ■ マスタデバイスとしての USART 図 27.7-15 USART LIN マスタ・フローチャート START 初期化: 運用モード3を設定 (8N1データフォーマット) TIE = 0, RIE = 0 NO メッセージ送信? YES スリープモード送信 TDR = 0x80 TIE = 0 同期ブレークを送信: ECCRに"1"の書込み: LBR; TIE = 1; 同期フィールドを送信: TDR = 0x55 YES TDRE = 1 通信割込み CPUからWakeUp 有 ? WakeUp信号送信 RIE = 0 TIE = 1 TDR = 0x80 NO RIE = 1 YES スリープモード 送信 ? NO NO 0x00,0x80または 0xC0 受信 ? YES RIE = 0 識別フィールド送信: TDR = Id YES スレーブへ書込み ? NO TIE = 0 RIE = 1 スレーブからデータ読出し RIE = 0 TIE = 1 スレーブへ書込み TIE = 0 エラー発生 ? NO YES エラー処理 669 第 27 章 LIN 機能搭載 USART ■ スレーブデバイスとしての USART 図 27.7-16 USART LIN スレーブ・フローチャート ( パート 1) (8N1 data format) Initalzation: Set Operat.mode 3 START A B 初期化: 運用モード3を設定 (8N1データフォーマット) YES E エラー発生 ? C RIE = 0; LBIE = 1; RXE = 0 NO スレーブアドレス 一致 ? C YES NO マスタから データ送信要求有 ? 書込み NO (スレーブ動作) YES LBD = 1 LINブレーク割込み LINマスタからのメッ セージ待ち 割込みクリアのため LBDに"0"の書込み ICU割込み許可 (両エッジ) データ受信と チェック・サム 0x80受信 (スリープモード) YES RIE = 0 TIE = 1 チェック・サム の計算 データ送信 S TIE = 0 NO 書込み (スレーブ動作) ICU割込み B ICU値の読出しと格納 割込みクリア C エラー発生 ? YES NO 書込み C (スレーブ動作) ICU割込み ICU値の読出し 新ボーレートの計算 とリロードカウンタ への設定 割込みクリア E 識別を受信 RIE = 1 エラー処理 書込み (スレーブ動作) C RBI割込み RXE = 1 A (続く) 670 第 27 章 LIN 機能搭載 USART 図 27.7-17 USART LIN スレーブ・フローチャート ( パート 2) (続き) S CPUからWakeUp 有 ? YES WakeUp信号送信 RIE = 0 TIE = 1 TDR = 0x80 NO TIE = 0 RIE = 1 NO 0x00,0x80または 0xC0 受信 ? YES RIE = 0 C 671 第 27 章 LIN 機能搭載 USART 27.8 USART の使用上の注意 USART 使用時の注意事項を以下に示します。 ■ 動作許可 USART のコントロールレジスタ (SCR5) には , TXE ( 送信 ) および RXE ( 受信 ) 動作イ ネーブル・ビットがあります。送受信はデフォルト値 ( 初期値 ) で無効になっているた め , 転送の開始に先立ち , 送受信を有効にする必要があります。必要な場合は , 処理を 無効にすることで , 転送を中止できます。 ISO 9141 (LIN バス・システム ) のような単線バス・システムは , 単方向通信であるた め , これら 2 つのビットは , 一度に 1 つずつ有効にしてください。自動受信機能により , USART によって送信されたデータは USART 自身が受信します。 ■ 通信モードの設定 通信モードの設定は , システムが動作していない時に実行してください。送信または受 信中にモードを変更すると , 送信または受信が停止し , データが紛失されます。 ■ 送信割込み許可タイミング 送信データ空フラグ・ビット (SSR5: TDRE) のデフォルト ( 初期値 ) は "1" ( 送信デー タなし , 送信データ書込み有効 ) です。送信割込み要求を有効にすると (SSR5: TIE=1) , 直 ちに送信割込み要求が発生します。割込みが直ちに発生するのを回避するには , 送信 データの設定後 , TIE フラグを "1" に設定します。 ■ LIN 動作モード 3 の使用 LIN 機能はモード 0 でも利用可能ですが ( レークの送受信 ), モード 3 を使用すると , USART データ形式が LIN 形式 (8N1, LSB 最優先 ) に自動設定されます。したがって , モード 0 以外の LIN の場合にも , ブレーク機能をバス・プロトコルに適用できます。ブ レークの送信時間は変数ですが , 検出時間は , 最低 11 serial bit times に指定されている ことに注意してください。 ■ 動作設定の変更 動作設定の変更後は , USART をリセットしてください。特に , 同期 モード 2 で , デー タ形式に開始 / 停止ビットを追加した場合や削除した場合は , USART をリセットして ください。 <注意事項> シリアルモードレジスタ (SMR5) の設定が必要な場合は , USART のリセット時に UPCL ビットを設定しても意味がありません。この場合の正しい動作設定は保証で きません。したがって , SMR5 のビットを設定し , その後 , UPCL ビットと共に SMR5 ビットを再び設定することを推奨します。 ■ LIN スレーブ設定 LIN スレーブとして USART を起動するには , 最初の LIN 同期ブレークを受信する前 に , ボーレートを設定する必要があります。最低 11 bit times 長の LIN 同期ブレークを 安全に検出するには , この操作が必要です。 672 第 27 章 LIN 機能搭載 USART ■ ソフトウェアの互換性 USART は富士通の旧バージョンの UART に似ていますが , 旧バージョンとのソフト ウェア互換性はありません。プログラミング・モデルは同じ場合でも , レジスタ構成が 異なります。さらに USART の場合 , ボーレートは , プリセット値の選択ではなく , リ ロード値によって決定されます。 ■ バスアイドルファンクション 同期 モード 2 では , バスアイドル機能は使用できません。 ■ 入力キャプチャ・ユニットを用いたボーレートの検出 USART では , ICU に接続可能な LSYN 信号のパルス長を測定することにより , ボー レートを算出します。ICU への LSYN 信号の接続は , ポート L 機能レジスタ PFRL ( ア ドレス 0415H) , ビット PL[3:0] によって制御されます。 図 27.8-1 入力キャプチャ・ユニットを用いたボーレートの検出回路例 1 0 S IN0端子 LIN-U5ART IN ICU0 PL0 L SYN フリーランタイマ0 IN1端子 1 0 S IN 1 0 S IN ICU1 PL1 IN2端子 LIN-U6ART ICU2 PL2 L SYN フリーランタイマ1 1 0 S IN3端子 IN ICU3 PL3 PFR ビットが設定されている場合 , ICU はそれぞれの入力端子 IN に接続されます。 PFR ビットがクリアされると , IN 端子はポートモード (PFRL:PL[3:0]) になり , USART は ICU に接続されます。使用者は次のことを考慮する必要があります。 • ICU0 と ICU1 は 1 つのフリーランタイマ ( プリスケーラ ) を共有し , また ICU2 と ICU3 は他のフリーランタイマを共有します。 • フリーランタイマは OCU0/OCU2 の機能を用いてクリアできます。 673 第 27 章 LIN 機能搭載 USART 674 第 28 章 リアルタイムクロック リアルタイムクロック ( ウォッチタイマともよばれ る ) のレジスタ構成とその機能 , RTC モジュール の動作について説明します。リアルタイムクロッ ク ( ウォッチタイマ ) には , タイマ制御レジスタ , サブセカンドレジスタ , 秒 / 分 / 時レジスタ , 1/2 分 周器 , 21 ビットプリスケーラ , 秒 / 分 / 時カウンタ があります。リアルタイムクロックは , 実時間タイ マとして動作し , 実時間情報を与えます。 28.1 ブロックダイヤグラム 28.2 レジスタ構成 28.3 レジスタの詳細 28.4 更新ビット (UPDT) の使用 675 第 28 章 リアルタイムクロック 28.1 ブロックダイヤグラム リアルタイムクロックのブロックダイヤグラムを示します。 ■ ブロックダイヤグラム 図 28.1-1 ブロックダイヤグラム V O scillat 発振 ion クロック clock 1/2クロック 分周器 21ビット プリスケーラ EN WOT CO サブセカンド レジスタ UPDT UPDT ST ST 分カウンタ 秒カウンタ CI EN LOAD CO CO 6bits 6 ビット 時カウンタ ts ビット 6 6bi CO ビット 5 5bits 秒/分/時レジスタ INTE0 INT0 INTE0 INT0 INTE1 IINT1 N T1 INT1 INT1 INTE1 INTE2 INT2 INT2 INT2 INTE2 INT2 IN T3 INT3 INT3 INT3 INTE3 INT3 IRQ 676 第 28 章 リアルタイムクロック 28.2 レジスタ構成 リアルタイムクロックのレジスタ構成を示します。 ■ リアルタイムクロックのレジスタ一覧 タイマ制御レジスタ (WTCR) bit 14 13 12 11 10 9 8 アドレス : 000000F6H INTE3 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) 7 6 5 4 3 2 1 0 アドレス : 000000F7H TST2 TST1 TST0 − RUN UPDT − ST 読出し / 書込み→ (R/W) (R/W) (R/W) (-) (R) (R/W) (-) (R/W) (0) (0) (0) (-) (0) (0) (-) (0) bit 7 6 5 4 3 2 1 0 アドレス : 000000F9H − − − D20 D19 D18 D17 D16 読出し / 書込み→ (-) (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (-) (X) (X) (X) (X) (X) 初期値→ bit 初期値→ 15 サブセカンドレジスタ (WTBR) bit アドレス : 000000FAH 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) (X) (X) (X) (X) (X) (X) (X) (X) 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) 初期値→ bit アドレス : 000000FBH 読出し / 書込み→ (R/W) 初期値→ (X) (X) (X) (X) (X) (X) (X) (X) bit 15 14 13 12 11 10 9 8 アドレス : 000000FCH − − − H4 H3 H2 H1 H0 読出し / 書込み→ (-) (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (-) (X) (X) (X) (X) (X) 5 4 3 2 1 0 時レジスタ (WTHR) 分レジスタ (WTHR) bit 7 6 アドレス : 000000FDH − − M5 M4 M3 M2 M1 M0 読出し / 書込み→ (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (X) (X) (X) (X) (X) (X) ( 続く ) 677 第 28 章 リアルタイムクロック ( 続き ) 秒レジスタ (WTSR) bit 6 5 4 3 2 1 0 − − S5 S4 S3 S2 S1 S0 (-) (-) (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 アドレス : 000000F5H − − − − − − − DBL 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (-) (R/W) 初期値→ (-) (-) (-) (-) (-) (-) (-) (0) アドレス : 000000FEH 読出し / 書込み→ 初期値→ 7 タイマ禁止レジスタ (WTDBL) 678 第 28 章 リアルタイムクロック 28.3 レジスタの詳細 リアルタイムクロックのレジスタ構成の詳細について説明します。 ■ タイマ制御レジスタ (WTCR) タイマ制御レジスタ bit 7 6 5 4 3 2 1 0 アドレス : 000000F7H TST2 TST1 TST0 − RUN UPDT − ST 読出し / 書込み→ (R/W) (R/W) (R/W) (-) (R) (R/W) (-) (R/W) 初期値→ (0) (0) (0) (-) (0) (0) (-) (0) bit 15 14 13 12 11 10 9 8 アドレス : 000000F6H INTE3 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) 初期値→ WTCR WTCR [bit15 ∼ bit8] INT3 ∼ INT0, INTE3 ∼ INTE0: 割込みフラグおよび割込み許可フラグ INT0 から INT3 までは , 割込みフラグです。このフラグは , 秒カウンタ , 分カウンタ , および時カウンタがそれぞれオーバフローした場合に設定されます。INT ビットの 設定を , 対応する INTE ビットが "1" の場合に行うと , ウォッチタイマは割込み信号 を出します。本フラグは , 秒 / 分 / 時 / 日の単位で割込み信号を出すように設計され ています。INT ビットに "0" を書き込むとフラグはクリアされ , "1" の書込みは無効 です。INT ビットで動作するリードモディファイライト系命令はすべて , "1" を読み 出します。 [bit7 ∼ bit5] TST2 ∼ TST0: テストビット 本ビットは , デバイステスト用です。すべてのユーザアプリケーションにおいて , "000" に設定しなければなりません。 [bit3] RUN: フラグ 本ビットは読出しのみ可能です。読出し値が "1" の場合 , RTC モジュールが動作中 であることを示しています。 [bit2] UPDT: 更新ビット UPDT ビットは , 秒 / 分 / 時カウンタ値の修正用です。 カウンタ値を修正するには , 秒 / 分 / 時レジスタに修正データを書き込みます。次に UPDT ビットを "1" に設定します。レジスタ値は , 21 ビットプリスケーラからの CO 信号で ( 書込んだ ) , 次のサイクルでカウンタにロードされます。UPDT ビットは , カウンタ値が更新されると , ハードウェアによりリセットされます。ただし , ソフ トウェアによる設定動作とハードウェアによるリセット動作が同時に発生した場 合 , UPDT ビットはリセットされません。 これは , R-bus クロックが RTC クロック ( 発振クロック ) より高い周波数の場合の み発生します。 <注意事項> UPDT の使用方法については「28.4 更新ビット (UPDT) の使用」を参照してください。 679 第 28 章 リアルタイムクロック UPDT ビットへの "0" の書込みは無効です。リードモディファイライト系命令では , "0" は読出し値です。 [bit0] ST: スタートビット ST ビットを "1" に設定すると , ウォッチタイマはレジスタから秒 / 分 / 時値をロー ドし , 動作を開始します。"0" にリセットした場合 , カウンタおよびプリスケーラは すべて "0" にリセットされ停止します。 本ビットは , カウンタ値の更新にも使用できます。ST ビットを "0" に設定し , RUN が "0" になるまで待ってからカウンタ値を更新し , ST ビットを "1" に設定します。 ■ サブセカンドレジスタ (WTBR) サブセカンドレジスタ 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) 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 アドレス : 000000F9H − − − D20 D19 D18 D17 D16 読出し / 書込み→ (-) (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (-) (X) (X) (X) (X) (X) アドレス : 000000FBH 読出し / 書込み→ アドレス : 000000FAH 読出し / 書込み→ 初期値→ WTBR WTBR WTBR [bit20 ∼ bit0] D20 ∼ D0 サブセカンドレジスタは , 21 ビットプリスケーラのリロード値を格納します。この 値は , リロードカウンタが "0" になるとリロードされます。3 バイトすべてを修正す る場合は , 書込み命令間にリロード動作が行われていないことを確認してくださ い。そうしないと , 21 ビットプリスケーラは , 新旧のデータバイトを結合した正し くない値をロードしてしまいます。一般的には , サブセカンドレジスタは , ST ビッ トが "0" の間に更新することが推奨されています。サブセカンドレジスタを "0" に 設定した場合 , 21 ビットプリスケーラは一切動作しません。 入力クロック周波数は , 常に発振クロック周波数と等しく , 4 MHz, または 32.768 kHz になるように設計されています。4 MHz の場合 , 21 ビットプリスケーラのリ ロード値は , 一般的に "27 × 56-1" と等しい 1E847FH に設定されます。32.768 kHz の 場合 , プリスケーラの値は一般的に 4000H になります。 つまり , この 2 つのプリスケーラの組合せで , 正確に 1 秒のクロック信号を提供す るように設計されています。 680 第 28 章 リアルタイムクロック ■ 秒 / 分 / 時レジスタ (WTSR, WTMR, WTHR) 秒レジスタ bit 15 14 13 12 11 10 9 8 アドレス : 000000FEH − − S5 S4 S3 S2 S1 S0 読出し / 書込み→ (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (X) (X) (X) (X) (X) (X) bit 7 6 5 4 3 2 1 0 M4 M3 M2 M1 M0 WTSR 分レジスタ アドレス : 000000FDH − − M5 読出し / 書込み→ (-) (-) (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 アドレス : 000000FCH − − − H4 H3 H2 H1 H0 読出し / 書込み→ (-) (-) (-) (R/W) (R/W) (R/W) (R/W) (R/W) 初期値→ (-) (-) (-) (X) (X) (X) (X) (X) WTMR 時レジスタ WTHR 秒 / 分 / 時レジスタは , 時間情報を格納します。秒 , 分 , および時の 2 進表記です。 本レジスタを読み出すと , カウンタ値だけを戻します。レジスタは書込み値と結合でき ますが , その書込みデータは , UPDT ビットを "1" に設定した後に , カウンタにロード されます。 バイトレジスタは3つあるので, レジスタから出力された値に矛盾がないことを確認し てください。すなわち , 出力値「1 時間 , 59 分 , 59 秒」は , 「0 時間 59 分 , 59 秒」, 「1 時間 , 0 分 , 0 秒」, または「2 時間 , 0 分 , 0 秒」である可能性があります。 カウンタのオーバフローが発生したときに読出しを行うと,間違った値を読む可能性が あります。このため , 読出しは , RTC の割込み ( その割込みが CPU によって制御され るので , データは安定する ) によって引き起こすか , 以下の手順に従うか , どちらか一 方にする必要があります。 • RTC の割込みフラグのクリア • レジスタリード • フラグが読出し後に設定された場合 ( 読出し中にタイムオーバフローが発生 ), 再度 読み出す。 681 第 28 章 リアルタイムクロック ■ クロック禁止レジスタ (WTDBL) クロック禁止レジスタ bit 7 6 5 4 3 2 1 0 アドレス : 000000F5H − − − − − − − DBL 読出し / 書込み→ (-) (-) (-) (-) (-) (-) (-) (R/W) 初期値→ (-) (-) (-) (-) (-) (-) (-) (0) WTDBL [bit0] DBL: クロック禁止 本ビットを "1" に設定すると , RTC モジュールのクロックは禁止されます。通常の 動作のためには , このビットを "0" に設定してください。本ビットは "0" に初期化 されます。読出し , および書込みが可能です。 682 第 28 章 リアルタイムクロック 28.4 更新ビット (UPDT) の使用 更新ビット (UPDT) の使用方法について説明します。 ■ 概要 RTC クロックが R- バス・クロックより速い場合 ( 例 : RTC クロック = 4 MHz; R- バス・ クロック CLKP = 2 MHz) , 更新ビットは MB91F364G および MB91F369GA でのみ使用 できることに注意してください。他の MB91360 製品の場合は , ST および RUN コント ロール・ビットを用いて , この特殊ケースでの更新を実行する必要があります。 ■ 更新ビットのタイミング 他のデバイスで更新ビットを使用する場合は , 以下の手順を実行する必要があります。 • 秒 / 分 / 時レジスタ (WTSR, WTMR, WTHR) に , 新規値を書き込みます。 • WTCR レジスタの更新ビット UPDT ビットを "1" に設定します。 次のカウンタ・オーバフロー (2 回目の割込み ) 時に , 新規値が RTC カウンタにロー ドされます。カウンタの更新後 , ハードウェアによって UPDT ビットが更新されま す。UPDT ビットが更新されると , 更新処理は完了です。この更新処理には , この処 理を正しく完了するために , RTC クロックおよび R- バス・クロック CLKP が必要 です。 • RTC または STOP モードに切り換わる前に UPDT ビットが "0" になるまで待機し ます。 683 第 28 章 リアルタイムクロック 684 第 29 章 サブクロック サブクロックの機能と動作について説明します。 29.1 サブクロックシステムの概要 29.2 サブクロックの動作 (SELCLK = 0) 29.3 4 MHz リアルタイムクロックの構成 (SELCLK = 1) 29.4 リアルタイムクロックモジュールの使用方法 <注意事項> サブクロック動作は , 特定の製品でのみ動作可能です。 「1.2 MB91360 シリーズの 製品ラインナップ」を参照してください。 685 第 29 章 サブクロック 29.1 サブクロックシステムの概要 サブクロックシステムの概要について説明します。 ■ サブクロックシステムの概要 サブクロックシステムは , さまざまな節電モードを提供します。基本となる概念は , リ アルタイムクロック (RTC) モジュールにのみ 32 kHz クロック信号を提供し , MCU の それ以外のモジュールには 4 MHz クロック信号を提供して , RTC32K モードにおいて より低い電力供給を達成することです。 この動作は , コンフィグレーション入力により切り換えることができます。SELCLK 端 子により , RTC モジュールを 4 MHz クロックで動作するように切り換えます。以下の 節で , "0" に接続した SELCLK の動作と , "1" に接続した SELCLK の動作を説明します。 <注意事項> 686 MB91F362GB では , SELCLK は常に "1" に接続してください。サブクロック動作は , これらのデバイスには搭載されていません。 第 29 章 サブクロック 29.2 サブクロックの動作 (SELCLK = 0) サブクロックの動作について説明します。 ■ サブクロックの動作 (SELCLK = 0) 次の表に , サブクロックシステムに関するコンポーネントの動作状態をまとめます。ス リープモードについては表では省略していますが , CPU が停止することを除き , 動作は RUN モードと同じです。 コンポーネントの動作 モード 電力消費 4MHz 発振 32kHz 発振 RTC CPU および 周辺機器 PLL RUN 高 RUN RUN RUN RUN STOP/RUN RTC4M32K 中低 RUN RUN RUN STOP STOP RTC32K 低 STOP RUN RUN STOP STOP STOP 最低 STOP STOP STOP STOP STOP RTC4M32K モードには , RUN モードより再起動が速いという長所があります。この長 所により 4 MHz クロック発振の安定化待ち時間が不要となり , 特に CAN バスイベント の反応時間が改善されます。 次の表に , その動作モードと必要なソフトウェアの設定をまとめます。 ソフトウェアの設定 モード STOP PLL1EN PLL2EN OSCD1 OSCD2 RTC32 RUN 0 0 または 1 1 X X X RTC4M32K 1 X 1 0 0 X RTC32K 1 X 1 1 0 1 STOP 1 X X 1 1 X STOP, OSCD1, OSDC2 の各ビットは , クロック発生制御モジュール内の STCR レジス タ ( アドレス 000481H) の 7, 1, 0 の各ビットに属します。PLL2EN ビットと PLL1EN ビッ トは , 同じクロック発生制御モジュール内の CLKR レジスタ ( アドレス 000484H) の bit11 と bit10 に属します。 RTC32 ビットは , CLKR2 レジスタ ( アドレス 000046H) のビット 8 に属します。 PLL2EN ビットは , 初期化後 , 32 kHz の発振を起動するために "1" に設定し , 動作中は "1" に保持することが推奨されます。"1" に保持しなかった場合 , 32 kHz の発振器は起 動しません。また動作中は , CLKR2 レジスタ ( アドレス 000046H) の bit9 と bit10 を常 に "0" に設定してください。 687 第 29 章 サブクロック 29.3 4 MHz リアルタイムクロックの構成 (SELCLK = 1) 4 MHz リアルタイムクロックの構成 (SELCLK = 1) について説明します。 ■ 4 MHz リアルタイムクロックの構成 (SELCLK = 1) SELCLK パッドを論理レベル 1 に接続すると , ソフトウェアの設定にかかわらず 32 kHz 発振は禁止されます。この構成では , リアルタイムクロックモジュールに 4 MHz 発振 クロック信号が供給されます。 次の表に , この構成で利用できるモードをまとめます。 コンポーネントの動作 モード 電力消費 4M 発振 32k 発振 RTC CPU およ び周辺機器 PLL RUN 高 動作 停止 動作 動作 停止 / 動作 RTC4M 中低 動作 停止 動作 停止 停止 STOP 最低 停止 停止 停止 停止 停止 ソフトウェアの設定 モード STOP PLL1EN PLL2EN OSCD1 OSCD2 RTC32 RUN 0 0 または 1 X X X X RTC4M 1 X X 0 X X STOP 1 X X 1 X X 688 第 29 章 サブクロック 29.4 リアルタイムクロックモジュールの使用方法 リアルタイムクロックモジュールの使用方法について説明します。 ■ リアルタイムクロックモジュールの使用方法 RTC モジュールが十分に機能するよう , 以下の動作について考慮してください。 RTC モジュールは 32 kHz 発振クロックに直接接続されるので , ソフトウェアによる発 振安定化時間の取扱いが必要です。これには , RTC モジュール (ST ビットを "1" に設定 ) を起動するソフトウェアをトリガするために , 別のタイマ ( タイムベースタイマなど ) を使用することが可能です。 また , STOP モードに入る前に , RTC モジュールを停止することも重要です。RTC モ ジュールを停止しないで STOP モードから再起動すると , RTC モジュールが予期しな い動作をすることがあります。 再起動後 , ソフトウェアにより発振安定化時間を再度測定する必要があります。その後 , RTC モジュールを再起動できます。 <注意事項> RTC4M モードから RUN モードに切り換えるとき , 少なくとも 20µs 以上のウェイ ト時間を必要とします。 689 第 29 章 サブクロック 690 第 30 章 32 kHz クロック補正ユニット 32 kHz クロック補正モジュールを使用すると , 4 MHz 発振クロックを基準にして 32 kHz 発振ク ロックを補正できます。ここでは , 補正ユニットの 概要 , レジスタの説明 , アプリケーションノートを 示します。 30.1 概要 30.2 レジスタの説明 30.3 アプリケーションノート 691 第 30 章 32 kHz クロック補正ユニット 30.1 概要 32 kHz クロック補正モジュールを使用すると , 4 MHz 発振クロックを基準にして 32 kHz 発振クロックを補正できます。 ■ 補正ユニットの説明 このモジュールを使用すると , ソフトウェアによって , 32 kHz クロックによって生成さ れた時間を 4 MHz クロックによって測定できます。 ソフトウェアによる処理と , このモジュールの利用によって , 32 kHz クロックの正確さ を 4 MHz クロックの正確さに近づけることができます。32 kHz クロック補正モジュー ルによる測定結果は , ソフトウェアにより処理できます。また , リアルタイムクロック モジュールに必要な設定を得ることができます。 このモジュールは , 32 kHz クロックで動作するタイマと 4 MHz クロックで動作するタ イマの , 2 つのタイマから構成されています。32 kHz タイマが 4 MHz タイマをトリガ し , 4 MHz タイマの値がレジスタに格納されます。レジスタに格納された値はソフト ウェアで処理され , 必要なリアルタイムクロックモジュールの設定が計算されます。 692 第 30 章 32 kHz クロック補正ユニット ■ 補正ユニットのブロックダイヤグラム 図 30.1-1 補正ユニットのブロックダイヤグラム UC18CLK OSC4 CLK4G = OSC4 |~STRT |(READY & ~RUNS); gate CLK4G STRT READY RUNS OSC32 gate STRT CLKP CLKPG gate 32kHz タイマ CLK32G RSLEEPB CLKPG2 gate CUTD 4MHz タイマ RUN カウンタ(16ビット) STR TS RSLEEPB STRT UC18TRD RUN 同期 32->4 非同期 RST R UNS CUTR(24ビット) CUTR UC18TRR CLKPG2 = CLKP |(~STRT & RSLEEPB); READY READY STR T 同期 CLKP->32 非同期 RST STRT STRT RB STRT リセット READ Y 設定/リセット R UNSS1 R UNSS INTEN RBB RB 設定/リセット RSLEEPB RSLEEP INT RMWB RMW 設定 リセット UC18BUS READY PULSE CUCR(3ビット) INT_I INT 同期 4->CLKP INT_INT CUTR(24ビット) *_RDB *_RD *_WRB *_WR RSTB RST UC18IO CUTD(16ビット) CUTD UC18RBI FC18 693 第 30 章 32 kHz クロック補正ユニット ■ タイミング 図 30.1-2 測定処理のタイミング 32 kHz STRT(CLKP) STRTS (32 kHz) RUN(32 kHz) RUNS(4 MHz) 32 kHz カウンタ (16 ビット) 4 MHz カウンタ (24ビット) 旧 CUTR CUTD CUTD-1 2 1 0 0 CUTD 新 CUTR READY(32 kHz) READYPULSE(CLKP) INT (CLKP) ■ クロック モジュールは, 4 MHzクロックOSC4, 32 kHzクロックOSC32, 周辺機器用クロックCLKP の , 3 つの異なるクロックにより動作します。それぞれのドメインは同期回路によって 適合されます。 3 つのクロックはすべてゲート制御されます。STRT が 0 である場合は , 32 kHz と 4 MHz のクロックのスイッチはオフになります。CLKPG の制御信号は RSLEEPB であり , CLKPG2 の制御信号は RSLEEP と STRT の 2 ビットであり , これらはハードウェアに より設定 / リセットされます。 クロック周波数は以下の要件を満足する必要があります。 • クロック比 TOSC32 > 2 ×TOSC4 + 3 × TCLKP TOSC4 < 1/2 ×TOSC32 - 3/2 ×TCLKP TCLKP < 1/3 ×TOSC32 - 2/3 × TOSC4 • 入力周波数 入力周波数は , 表 30.1-1 に記載されている値を超えてはいけません。 694 第 30 章 32 kHz クロック補正ユニット 表 30.1-1 要件 1 および 2 を満足する有効クロック比の例 OSC32 OSC4 CLKP 最大動作周波数 4 MHz 250ns 13 MHz 76.9ns 32 MHz 31.25ns 最大動作速度 4 MHz 250ns 13 MHz 76.9ns 32 MHz 31.25ns 通常動作 32 kHz 31.25µs 4 MHz 250ns 2 MHz 500ns 695 第 30 章 32 kHz クロック補正ユニット 30.2 レジスタの説明 補正ユニットのレジスタ一覧を示し , 各レジスタの機能を詳細に説明します。 ■ 補正ユニット制御レジスタ (CUCR) 補正ユニット制御レジスタ (CUCR) bit 7 5 4 − − STRT (R) (R) (R) (0) (0) (0) アドレス : 00000191H − 読出し / 書込み→ 初期値→ 6 3 2 1 0 − − INT INTEN (R/W) (R) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) 12 11 10 9 8 CUCRL ■ 32 kHz タイマデータレジスタ (CUTD) 32kHz タイマデータレジスタ (CUTD) bit 15 14 13 アドレス : 00000192H TDD15 TDD14 TDD13 TDD12 TDD11 TDD10 TDD9 読出し / 書込み→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 7 6 5 4 3 2 1 0 アドレス : 00000193H TDD7 TDD6 TDD5 TDD4 TDD3 TDD2 TDD1 TDD0 読出し / 書込み→ (R/W) (R/W) (R/W) (R/W) (R) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) 初期値→ bit 初期値→ 696 TDD8 (0) CUTDH CUTDL 第 30 章 32 kHz クロック補正ユニット ■ 4 MHz タイマデータレジスタ (CUTR) 4 MHz タイマデータレジスタ (CUTR) bit 15 14 13 12 11 10 9 8 アドレス : 00000194H − − − − − − − − 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) 7 6 5 4 3 2 1 0 bit アドレス : 00000195H TDR23 TDR22 TDR21 TDR20 TDR19 TDR18 TDR17 TDR16 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) bit 15 14 13 12 11 10 9 8 アドレス : 00000196H TDR15 TDR14 TDR13 TDR12 TDR11 TDR10 TDR9 TDR8 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) 7 6 5 4 3 2 1 0 TDR6 TDR5 TDR4 TDR3 TDR2 TDR1 TDR0 bit アドレス : 00000197H TDR7 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) CUTR1H CUTR1L CUTR2H CUTR2L レジスタ アドレス ブロック +0 +1 +2 +3 000190H CUCR[R/W] -------- ---0--00 CUTD[R/W] 10000000 00000000 000194H CUTR1[R] -------- 00000000 CUTR2[R] 00000000 00000000 32 kHz 発振器補正ユニット 697 第 30 章 32 kHz クロック補正ユニット 30.2.1 補正ユニット制御レジスタ (CUCR) 制御レジスタ (CUCR) には , 次の機能があります。 • 補正測定の開始 / 停止 • 割込みの許可 / 禁止 • 補正測定の終了を示す ■ 補正ユニット制御レジスタ (CUCR) 制御レジスタ下位バイト bit 7 6 5 4 3 2 1 0 アドレス : 00000191H − − − STRT − − INT INTEN 読出し / 書込み→ (R) (R) (R) (R/W) (R) (R/W) (R/W) (R/W) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) CUCRL ■ ビット [4]: STRT - 補正開始 0 補正停止 , モジュールスイッチオフ ( 初期値 ) 1 補正開始 STRT ビットがソフトウェアにより "1" に設定されると , 補正が開始します。32 kHz タ イマは , 32 kHz タイマデータレジスタに格納された値からのカウントダウンを開始し , 4 MHz タイマはゼロからのカウントアップを開始します。 32 kHz タイマがゼロに達すると , このビットはハードウェアにより "0" にリセットされ ます。 補正処理中にソフトウェアによってこのビットに "0" が書き込まれると , 補正は直ちに 停止します。ソフトウェアによる "0" の書込みと , ハードウェアによる "0" へのリセッ トが同時に発生した場合は , ハードウェアの動作がソフトウェアの動作に優先されま す。すなわち , 補正は適切に完了し , INT ビットは "1" に設定されます。補正中にこの ビットへ "1" を書き込んでも影響はありません。 698 第 30 章 32 kHz クロック補正ユニット ■ ビット [1]: INT - 割込み 0 補正中 / モジュールインアクティブ ( 初期値 ) 1 補正完了 このビットは補正の終了を示します。補正開始後 , 32 kHz タイマがゼロに達すると , 4 MHz タイマデータレジスタは最後の 4 MHz タイマ値を格納し , INT ビットは "1" に 設定されます。 このビットに対してリードモディファイライト動作を行うと "1" が読み出され , この ビットに "0" を書き込むとフラグがクリアされます (INT = 0)。このビットに "1" を書 き込んでも影響はありません。 割込みフラグ INT は , ハードウェアではリセットされません。そのため , 新たな補正を 開始する前に , ソフトウェアによりリセットする必要があります。リセットしない場合 の補正処理の終了は , STRT ビット (INT フラグは補正中も "1" のままです ) によっての み知ることが可能です。 ■ ビット [0]: INTEN - 割込み許可 0 割込み禁止 ( 初期値 ) 1 割込み許可 これは INT ビットに対応する割込み許可ビットです。このビットが "1" に設定され , INT ビットがハードウェアにより設定されると , 補正モジュールは CPU への割込み 信号を送信します。INT ビット自体は INTEN ビットの影響を受けず , 割込み禁止の 場合 (INTEN = 0) でも , ハードウェアにより設定されます。 699 第 30 章 32 kHz クロック補正ユニット 30.2.2 32 kHz タイマデータレジスタ (16 ビット )(CUTD) 32 kHz タイマデータレジスタ (CUTD) は , 補正期間 (32 kHz リロード値 ) を決定す る値を保持します。 ■ 32 kHz タイマデータレジスタ (16 ビット )(CUTD) 32 kHz タイマデータレジスタ上位バイト bit アドレス : 00000192H 読出し / 書込み→ 15 14 13 12 11 10 9 8 TDD15 TDD14 TDD13 TDD12 TDD11 TDD10 TDD9 TDD8 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (1) (0) (0) (0) (0) (0) (0) (0) 初期値→ CUTDH 32 kHz タイマデータレジスタ下位バイト 7 6 5 4 3 2 1 0 アドレス : 00000193H bit TDD7 TDD6 TDD5 TDD4 TDD3 TDD2 TDD1 TDD0 読出し / 書込み→ (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値→ CUTDL 32.768 kHz の水晶が使用される場合のデフォルト値は 8000H であり , 1 秒の測定持続時 間に対応します。 このレジスタには , 補正がインアクティブ (STRT = 0) になっている場合以外は書き込 んではいけません。 32 kHz タイマレジスタは補正の持続時間を指定する値を格納します。補正を開始する と , 格納された値が 32 kHz タイマにロードされ , タイマはゼロに達するまでのカウン トダウンを開始します。 CUTDを0000H に初期化すると, アンダフローが発生し, 測定値は(FFFFH + 1) × TOSC32 となります。 32 kHz タイマは , 32 kHz 発振クロックで動作します。 1 秒間の測定持続時間を達成するには , CUTD レジスタに 8000H = 32768(10 進 ) をロー ドする必要があります。この数値は水晶の正確な発振周波数 , FOSC = 32768Hz から得 られます。測定結果 (4.00 MHz の水晶を使用する場合 ) の理想値を次の表に示します。 700 第 30 章 32 kHz クロック補正ユニット 表 30.2-1 測定持続時間による理想的な測定結果 補正時間 CUTD 値 CUTR 値 2秒 0x0000 0x7A1200 1.75 秒 0xE000 0x6ACFC0 1.5 秒 0xC000 0x5B8D80 1.25 秒 0xA000 0x4C4B40 1秒 0x8000 0x3D0900 0.75 秒 0x6000 0x2DC6C0 0.5 秒 0x4000 0x1E8480 0.25 秒 0x2000 0x0F4240 STRT ビットへの "1" の書込みからハードウェアによる STRT のリセットまでにかかる 全処理時間は , 異なるクロックドメイン間の同期のために実際の補正測定時間より長 くなります。処理時間 < (CUTD + 3) × TOSC32 となります。 正確な補正測定時間は , CUTD × TOSC32 となります。 701 第 30 章 32 kHz クロック補正ユニット 4 MHz タイマデータレジスタ (24 ビット )(CUTR) 30.2.3 タイマデータレジスタ (CUTR) は補正結果の値 (4 MHz カウンタ ) を保持します。 ■ 4 MHz タイマデータレジスタ (24 ビット )(CUTR) <注意事項> 補正中にこのレジスタを読み出すと , 得られる値はランダムです。 補正の終了は , CUCR レジスタの INT ビットと STRT ビットにより示されます。 INTを"0"から"1"に変更し, STRTを1から0に変更すると, CUTRの値が有効になります。 4 MHz タイマデータレジスタ 1 上位バイト bit 15 14 13 12 11 10 9 8 − − − − − − − (R) (R) (R) (R) (R) (R) (R) (R) (0) (0) (0) (0) (0) (0) (0) (0) 5 4 3 2 1 0 アドレス : 000194H − 読出し / 書込み→ 初期値→ 4 MHz タイマデータレジスタ 1 下位バイト bit 7 6 アドレス : 000195H TDR23 TDR22 TDR21 TDR20 TDR19 TDR18 TDR17 TDR16 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) 4 MHz タイマデータレジスタ 2 上位バイト bit 15 14 13 12 11 10 9 8 アドレス : 000196H TDR15 TDR14 TDR13 TDR12 TDR11 TDR10 TDR9 TDR8 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) CUTR1H CUTR1L CUTR2H 4 MHz タイマデータレジスタ 2 下位バイト bit 7 6 5 4 3 2 1 0 TDR7 TDR6 TDR5 TDR4 TDR3 TDR2 TDR1 TDR0 読出し / 書込み→ (R) (R) (R) (R) (R) (R) (R) (R) 初期値→ (0) (0) (0) (0) (0) (0) (0) (0) アドレス : 000197H CUTR2L 4 MHz タイマデータレジスタは補正の結果を格納します。補正が開始されると , 4 MHz タイマはゼロからのカウントアップを開始します。32 kHz タイマがゼロに達すると , 4 MHz タイマはカウントを停止し , ソフトウェアにより次の補正がトリガされるまで , レジスタは補正結果を保持します。 補正中にこのレジスタを読み出すと , 得られる値はランダムです。 補正の終了は , CUCR レジスタの INT ビットと STRT ビットにより示されます。これ らのビットがそれぞれ "0" から "1", "1" から "0" に変更すると , CUTR の値が有効にな ります。 ソフトウェアによりこのレジスタに書き込んでも影響はありません。 4 MHz タイマは , 4 MHz 発振クロックで動作します。 702 第 30 章 32 kHz クロック補正ユニット 30.3 アプリケーションノート 補正の正確さ , 電力消費 , 測定時間に関するアプリケーションノートを示します。 ■ 32 kHz タイマデータレジスタの設定 32 kHz タイマデータレジスタの設定は , 以下の方法で計算できます。 補正に 1 秒の持続時間が必要な場合は , 8000H = 32768Dec を 32 kHz タイマデータレジ スタに設定する必要があります。これは , 32.768 kHz 発振クロックの 32,768 パルスを 表します。 この設定により , 4 MHz タイマデータレジスタ内に約 3D0900H の値が格納されます。 この値は , 4 MHz 発振器の 4,000,000 パルスを表します。 表 30.3-1 32.768kHz 発振器と 4.0 MHz 発振器による理想的な測定結果 (CUTR) 補正時間 CUTD 値 CUTR 値 2秒 0x0000 0x7A1200 1.75 秒 0xE000 0x6ACFC0 1.5 秒 0xC000 0x5B8D80 1.25 秒 0xA000 0x4C4B40 1秒 0x8000 0x3D0900 0.75 秒 0x6000 0x2DC6C0 0.5 秒 0x4000 0x1E8480 0.25 秒 0x2000 0x0F4240 補正モジュールを使用する場合は , 補正の精度とともに電力消費が重要です。 ■ 補正の精度 補正の正確さは , 4 MHz タイマのクロック周波数と補正の持続時間に依存します。 4 MHz タイマの最大誤差は +/- 1 桁です。クロック周波数が 4 MHz, 補正時間が 1 秒で ある場合に達成される正確さは , 以下の方法で計算されます。 0.25µs ( クロックサイクル時間 )/1 秒 ( 持続時間 ) = 0.25 ppm 一般的には次のようになります。 正確さ = (4 MHz タイマのクロックサイクル時間 )/( 補正時間 ) ■ 電力消費 RUN モードでの消費電流 IRUN が , RTC モードでの消費電流 IRTC の 20 倍 (IRUN = 20 × IRTC) であると仮定します。 補正測定を随時トリガするために , ソフトウェアにより RTC モードから MCU を再開 し , 補正時間を 1 秒に設定した場合 , 電力消費の増加は 20 × IRTC/60 = 1/3× IRTC となり ます。 703 第 30 章 32 kHz クロック補正ユニット この増加が , システム要件によるハードウェア限界に影響を与えないことを , ソフト ウェアによって確認する必要があります。例えば , ソフトウェアは最低の周波数で補正 をトリガするよう設計する必要があります。 電力損失の理論的増加は , 特に MCU の RTC モードでは 5 % を超えないことが一般に 推奨されます。 ■ 測定限界 32 kHz タイマが 32 kHz クロックで動作している場合は , 補正の限界持続時間は約 2 秒 です。一方 , 4 MHz タイマが 4 MHz クロックで動作している場合は , 4 秒まで測定でき ます。 704 第 31 章 フラッシュメモリ MB91360 シリーズデバイスは , 256KB, 512KB ま たは 768KB の内蔵フラッシュメモリを特長としま す。MB91360 シリーズデバイス上では F- バスに 接続されます。 31.1 フラッシュメモリの概要 31.2 フラッシュメモリのブロックダイヤグラム 31.3 書込み / 消去モード 31.4 フラッシュ制御ステータスレジスタ (FMCS) 31.5 読出し / 書込みアクセス 31.6 自動書込み / 消去 31.7 セクタ保護動作 31.8 外部コマンド 31.9 フラッシュメモリへの接続 31.10 フラッシュメモリ使用上の注意 31.11 フラッシュメモリモードのタイミング図 31.12 フラッシュメモリモードでの AC 特性 <注意事項> フラッシュモードでのピン名は , MB91F362GB のピン名を参照しているので , 他の 製品の対応するピン名は「31.3 書込み / 消去モード」で確認してください。 705 第 31 章 フラッシュメモリ 31.1 フラッシュメモリの概要 フラッシュメモリは , MBM29LV400C を受け継ぐフラッシュメモリユニットと , フ ラッシュメモリインタフェース回路から構成されます。 ■ フラッシュメモリ • 768K ワード × 8 ビット /384K ワード × 16 ビット /192K ワード ×32 ビット ((64K バイト× 5 + 32K バイト + 8K バイト× 2 + 16K バイト ) × 2) セクタ構成 (MB91F376G のみ ) • 512K ワード × 8 ビット /256K ワード × 16 ビット /128K ワード ×32 ビット ((64K バイト× 3 + 32K バイト + 8K バイト× 2 + 16K バイト ) × 2) セクタ構成 • 256K ワード × 8 ビット /128K ワード × 16 ビット /64K ワード ×32 ビット ((64K バイト + 32K バイト + 8K バイト× 2 + 16K バイト ) × 2) セクタ構成 (MB91F364G のみ ) • 自動プログラムアルゴリズムの使用 (Embedded Algorithm) • 消去の一時停止 / 再開機能 • データポーリング , またはトグルビット機能を使用して書込み / 消去の完了を検出 • RY/BY 端子により書込み / 消去の完了を検出 • JEDEC 標準コマンド互換 • 10,000 回以上の書込み / 消去動作を保証 • セクタ消去機能 ( セクタ組合せ自由 ) • セクタ保護機能 • セクタ保護の一時的キャンセル機能 • ライタによる外部端子の制御下 ( フラッシュメモリモード ) および CPU による内部 バスの制御下 (CPU モード ) における , フラッシュメモリインタフェース回路による フラッシュメモリ書込み / 消去の許可 706 第 31 章 フラッシュメモリ フラッシュメモリのブロックダイヤグラム 31.2 図 31.2-1 は , フラッシュメモリユニットのブロックダイヤグラムを示します。 図 31.2-2 では , フラッシュメモリインタフェース回路を伴うフラッシュメモリのブ ロックダイヤグラム全体を示します。 表 31.2-1 ∼表 31.2-4 では , フラッシュメモリのセクタ構成を示します。 ■ フラッシュメモリのブロックダイヤグラム 図 31.2-1 は , フ ラ ッ シ ュ メ モ リ ユ ニ ッ ト の ブ ロ ッ ク ダ イ ヤ グ ラ ム を 示 し ま す。 MBM29LV400C とほぼ同じ構成になっています。 図 31.2-1 フラッシュメモリのブロック図 RY/BY バッファ DQ 0 toDQ 15 DQ0~DQ15 RY/BY 消去回路 I/O buf fer I/Oバッファ WE BYTE 制御回路 RESET 書込み回路 W rite cir uit C hip enable/ チップ許可/ outputenable 出力許可回路 circ uit CE OE YYデコーダ decoder ST B D atalatch データラッチ Yゲート Y gate ST B 低Vcc検出回路 W ri te/erase 書込み/消去 pulse time r パルスタイマ アドレス ラッチ Address latch Xデコーダ X decode セルマトリックス cellm atrix A0~A17 A-1 707 第 31 章 フラッシュメモリ ■ フラッシュメモリのブロックダイヤグラム全体 図 31.2-2 は , フラッシュメモリインタフェース回路を伴うフラッシュメモリのブロッ クダイヤグラム全体を示します。 図 31.2-2 フラッシュメモリのブロックダイヤグラム全体 Flash me m ory フラッシュメモリ interface circuit インタフェース回路 Ext.Bus I/F 外部バスI/F BYTE BYTE CE CE OE OE WE WE A0 toA18 A0~A18 DQ0~DQ15 DQ0 to DQ1 5 UserLogic ユーザ bus ロジック バス 4Mビットフラッシュメモリ 4 Mb itflash me mory RY/BY A0 toA17 A0~A17 A-1 DQ0 to DQ1 5 DQ0~DQ15 RY/BY RESET 外部リセット信号 E xternal res et isgnal RY /B Y write RY/BY書込み enabl e signa 許可信号 CPU モードでは , フラッシュメモリは F-bus を介して CPU に接続されます。表 31.2-1 , 表 31.2-2 , 表 31.2-3 および「付録 A I/O マップ」に , フラッシュセクタにアクセスする ためのアドレスが一覧になっています。 フラッシュメモリモードでは , フラッシュメモリは外部バスインタフェースに接続され ます。外部バスインタフェースを持たない製品では , フラッシュメモリ間のアドレス , データおよび制御信号をアクセスするために , 他のポートを使用します。 「31.3 書込み / 消去モード」の一覧表を参照してください。また , フラッシュメモリモードでは , 16 ビッ トおよび 8 ビットアクセスが可能です。アドレス A0 は , 上位バイトと下位バイトを切り 換えるフラッシュメモリモジュールの A-1 端子に接続します。 708 第 31 章 フラッシュメモリ ■ セクタ構成 (256KB/512KB フラッシュメモリ ) CPU モードでのアドレッシングについては「付録 A I/O マップ」を参照してください。 表 31.2-1 ハーフワード読出し / 書込み , バイト読出し (256KB/512KB) 0 セクタ 6 16KB セクタ 5 8KB セクタ 4 8KB セクタ 3 32KB セクタ 2 64KB セクタ 1 64KB セクタ 0 64KB <注意事項> 3FFFFH 3C000H 3BFFFH 3A000H 39FFFH 38000H 37FFFH 30000H 2FFFFH 20000H 1FFFFH 10000H 0FFFFH 00000H CPU モード 8 ビット× 2 15 0 フラッ シュメモ リモード CPU モード FFFFCH F8000H セクタ 13 16KB 7FFFFH 7C000H FFFFEH F8002H F7FFCH F4000H セクタ 12 8KB 7BFFFH 7A000H F7FFEH F4002H F3FFCH F0000H セクタ 11 8KB 79FFFH 78000H F3FFEH F0002H EFFFCH E0000H セクタ 10 32KB 77FFFH 70000H EFFFEH EFFFCH C0000H セクタ 9 64KB 6FFFFH EFFFEH 60000H C0002H BFFFCH A0000H セクタ 8 64KB 5FFFFH BFFFEH 50000H A0002H 9FFFCH 80000H セクタ 7 64KB 4FFFFH 9FFFEH 40000H 80002H フラッ シュメモ リサイズ 512KB Flash 15 フラッ シュメモ リモード 256KB Flash 8 ビット× 2 E0002H 16 ビット CPU モードでは , アドレス N とアドレス N+1 はセクタ 0 からセクタ 6 に対応しますが , アドレス N+2 とアドレス N+3 はセクタ 7 からセクタ 13 をに対応 します。 709 第 31 章 フラッシュメモリ 表 31.2-2 ロングワード読出し (256KB/512KB) 0 31 16 セクタ 13 16KB セクタ 6 16KB セクタ 12 8KB セクタ 5 8KB セクタ 11 8KB セクタ 4 8KB セクタ 10 32KB セクタ 3 32KB セクタ 9 64KB セクタ 2 64KB セクタ 8 64KB セクタ 1 64KB セクタ 7 64KB セクタ 0 64KB 710 CPU モード 7FFFFH FFFFFH 78000H F8000H 77FFFH F7FFFH 74000H F4000H 73FFFH F3FFFH 70000H F0000H 6FFFFH EFFFFH 60000H E0000H 5FFFFH DFFFFH 40000H C0000H 3FFFFH BFFFFH 20000H A0000H 1FFFFH 9FFFFH 00000H 80000H フラッシュメモリ サイズ 512KB Flash 15 フラッシュ メモリモード 256KB Flash LSB 8 ビット× 2 MSB 8 ビット× 2 第 31 章 フラッシュメモリ ■ セクタ構成 (768KB フラッシュメモリ ) 表 31.2-3 ハーフワード読出し / 書込み , バイト読出し (768KB) 8 ビット× 2 15 セクタ 1 0 64KB 8 ビット× 2 フラッ シュメモ リモード CPU モード − 13FFFCH 120000H セクタ 3 − 11FFFCH 100000H セクタ 2 64KB FFFFCH F8000H セクタ 17 16KB F7FFCH F4000H セクタ 16 8KB F3FFCH F0000H セクタ 15 8KB EFFFCH E0000H セクタ 14 32KB DFFFCH C0000H セクタ 13 64KB BFFFCH A0000H セクタ 12 64KB 9FFFCH 80000H セクタ 11 64KB 7FFFCH 60000H セクタ 3 64KB 5FFFCH 44800H セクタ 2 56KB 15 0 64KB フラッ シュメモ リモード − CPU モード 備考 13FFFEH 120002H ミラー セクタ 0 64KB セクタ 10 16KB セクタ 9 8KB セクタ 8 8KB セクタ 7 32KB セクタ 6 64KB セクタ 5 64KB セクタ 4 64KB セクタ 1 64KB セクタ 0 56KB 注意事 項参照 BFFFFH BC000H BBFFFH BA000H B9FFFH B8000H B7FFFH B0000H AFFFFH A0000H 9FFFFH 90000H 8FFFFH 80000H 3FFFFH 30000H 2FFFFH 20000H − <注意事項> 447FCH 40000H 注意事 項参照 − − FFFFFH FC000H FBFFFH 11FFFEH 100002H FFFFEH F8002H FA000H F7FFEH F4002H F9FFFH F3FFEH F8000H F0002H F7FFFH EFFFEH F0000H E0002H EFFFFH DFFFEH E0000H C0002H DFFFFH BFFFEH D0000H A0002H CFFFFH 9FFFEH C0000H 80002H 7FFFFH 7FFFEH 70000H 60002H 5FFFEH 6FFFFH 44802H 60000H 447FEH 注意事項 参照 40002H CPU モードでは , アドレス 0x40000 ∼アドレス 0x447FF は RAM やブート ROM とオーバラップするためアクセスできません。ミラーアドレスを代わりに使用して ください。 711 第 31 章 フラッシュメモリ 表 31.2-4 ロングワード読出し (768KB) LSB 8 ビット× 2 MSB 8 ビット× 2 31 16 セクタ 3 64KB 15 CPU モード 備考 8 セクタ 1 64KB 13FFFFH 120000H ミラー セクタ 2 64KB セクタ 0 64KB セクタ 17 16KB セクタ 10 16KB セクタ 16 8KB セクタ 9 8KB セクタ 15 8KB セクタ 8 8KB セクタ 14 32KB セクタ 7 32KB セクタ 13 64KB セクタ 6 64KB セクタ 12 64KB セクタ 5 64KB セクタ 11 64KB セクタ 4 64KB セクタ 3 64KB セクタ 1 64KB セクタ 2 56KB セクタ 0 56KB − <注意事項> 712 − − − 11FFFFH 100000H FFFFFH F8000H F7FFFH F4000H F3FFFH F0000H EFFFFH E0000H DFFFFH C0000H BFFFFH A0000H 9FFFFH 80000H 7FFFFH 60000H 5FFFFH 44800H 447FFH 注意事項 参照 40000H CPU モードでは , アドレス 0x40000 ∼アドレス 0x447FF は RAM やブート ROM とオーバラップするためアクセスできません。ミラーアドレスを代わりに使用して ください。 第 31 章 フラッシュメモリ 31.3 書込み / 消去モード フラッシュメモリへのアクセスには 2 つの方法があります。 フラッシュメモリモードでは , 外部端子からの直接書込み / 消去が許可されます。そ の他のモードでは , CPU からの内部バスを介した書込み / 消去が許可されます。 これらのモードは外部モード端子により選択します。 ■ フラッシュメモリモード INITX 信号がアサートされている場合に , モード端子を "111" に設定すると , CPU は停 止します。フラッシュメモリインタフェース回路を外部バスインタフェースに直接接 続すると , 外部端子による直接制御が可能になります。このモードでは , MCU が外部 端子における標準フラッシュメモリのように見なされるので , フラッシュメモリプロ グラマを使用して書込み / 消去を行えます。 フラッシュメモリモードでは , フラッシュメモリ自動アルゴリズムによってサポート されるすべての動作を使用できます。 ■ CPU モード フラッシュメモリは CPU メモリ空間の F- バス領域にあります。通常のマスクと同様に , CPU から , フラッシュメモリインタフェース回路を通じて , ROM の読出しアクセスお よびプログラムアクセスを行えます。 フラッシュメモリの書込み / 消去は , CPU から , フラッシュメモリインタフェース回路 を介した命令により実行されます。そのため , このモードでは , MCU がターゲットボー ド上にはんだ付けされている場合でも再書込みが許可されます。 セクタ保護動作は , これらのモードでは行うことができません。 ■ フラッシュメモリの制御信号 表 31.3-1 に , フラッシュメモリモードにおけるフラッシュメモリ制御信号を示します。 フラッシュメモリ制御信号と MBM29LV400C の外部端子の間は , ほぼ 1 対 1 で対応し ています。 セクタ保護動作に必要な VID(12V) 端子は , MBM29LV400C 用の A9, RESET, および OE ではなく , MD0, MD1, および MD2 です。 フラッシュメモリモードでは , 外部データバスの幅は 8 ビット , または 16 ビットです。 次の表は , プログラム処理で必要な端子とフラッシュメモリモードで未使用端子の状 態について示しています。未使用端子の大部分はリセット状態 (High-Z 出力 , 入力可 ) です。誤操作や損傷を避けるために , これらの端子は抵抗を介して VDD か VSS に接続 してください。詳細については以下の表を参照してください。機能端子を除いたすべ ての電源用端子は , 定格範囲内の電源に接続してください。また , 推奨のコンデンサを VCC3C 端子に接続してください。 713 第 31 章 フラッシュメモリ ● フラッシュメモリモードの信号割当て ( その 1) 表 31.3-1 フラッシュメモリモードで使用する端子 ( その 1) (1 / 2) MBM29 LV400C MB91 FV360GA MB91 F364G MB91 F362GB MB91 F369GA 備考 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 A-1 202 A0 9 A0 92 PR0 157 A0 アドレス A0 A0 310 A1 10 A1 93 PR1 158 A1 アドレス A1 A1 201 A2 11 A2 94 PR2 159 A2 アドレス A2 A2 357 A3 12 A3 95 PR3 160 A3 アドレス A3 A3 257 A4 13 A4 96 PR4 121 D0 アドレス A4 A4 144 A5 14 A5 97 PR5 122 D1 アドレス A5 A5 309 A6 15 A6 98 PR6 123 D2 アドレス A6 A6 256 A7 16 A7 99 PR7 124 D3 アドレス A7 A7 200 A8 17 A8 102 LED0 125 D4 アドレス A8 A8 356 A9 18 A9 103 LED1 126 D5 アドレス A9 A9 308 A10 19 A10 104 LED2 127 D6 アドレス A10 A10 92 A11 20 A11 105 LED3 128 D7 アドレス A11 A11 44 A12 21 A12 107 LED4 129 D8 アドレス A12 A12 255 A13 22 A13 108 LED5 130 D9 アドレス A13 A13 143 A14 23 A14 109 LED6 131 D10 アドレス A14 A14 199 A15 24 A15 110 LED7 132 D11 アドレス A15 A15 307 A16 27 A16 113 PO4 133 D12 アドレス A16 A16 91 A17 28 A17 114 PO5 134 D13 アドレス A17 A17 142 A18 29 A18 115 PO6 135 D14 アドレス A18 A18 - - - - - - 136 D15 注意事項参照 [A20] - - - - 117 DA0 - - 注意事項参照 WE 140 CS4X 32 CS4X 116 PO7 72 INT4 書込み可能 BYTE 196 CS5X 33 CS5X 2 AN1 71 INT3 バイトアクセス OE 305 RDY 35 RDY 54 TESTX 73 INT5 出力可能 139 BGRNT X 36 BGRNTX 55 CPUTESTX 69 INT1 チップ可能 RY/BY 88 BRQ 37 BRQ 56 ATGX 68 INT0 Ready/Busy ( オープンドレイン ) A9(VID) 293 MD0 111 MD0 57 MD0 58 MD0 VDA9 高電圧 RESET(VID) 31 MD1 112 MD1 58 MD1 59 MD1 VDRS 高電圧 OE(VID) 239 MD2 113 MD2 59 MD2 60 MD2 VDOE 高電圧 CE 714 第 31 章 フラッシュメモリ 表 31.3-1 フラッシュメモリモードで使用する端子 ( その 1) (2 / 2) MBM29 LV400C MB91 FV360GA MB91 F364G MB91 F362GB MB91 F369GA 備考 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 RESET 30 INITX 115 INITX 60 INITX 62 INITX リセット DQ0 46 D16 201 D16 44 INO 139 D16 データ I/O DQ1 95 D17 202 D17 45 IN1 140 D17 データ I/O DQ2 1 D18 203 D18 46 IN2 141 D18 データ I/O DQ3 148 D19 204 D19 47 IN3 142 D19 データ I/O DQ4 205 D20 205 D20 48 OUT0 143 D20 データ I/O DQ5 45 D21 206 D21 49 OUT1 144 D21 データ I/O DQ6 94 D22 207 D22 50 OUT2 145 D22 データ I/O DQ7 260 D23 208 D23 51 OUT3 146 D23 データ I/O DQ8 312 D24 1 D24 34 INT0 147 D24 データ I/O DQ9 204 D25 2 D25 35 INT1 148 D25 データ I/O DQ10 147 D26 3 D26 36 INT2 149 D26 データ I/O DQ11 93 D27 4 D27 37 INT3 150 D27 データ I/O DQ12 259 D28 5 D28 38 INT4 151 D28 データ I/O DQ13 203 D29 6 D29 39 INT5 152 D29 データ I/O DQ14 146 D30 7 D30 40 INT6 153 D30 データ I/O DQ15 258 D31 8 D31 41 INT7 154 D31 データ I/O [TMODX] 89 CS6X 34 CS6X 118 DA1 70 INT2 テストモード プルアップ [ATDIN] 253 DREQ2 - - 1 AN0 74 INT6 ATD テスト プルダウン [EQIN] 42 A26 - - 90 LTESTX 75 INT7 EQ テスト プルダウン ( 注意事項 ) ・MB91F362GB: A19( 端子 30) および A20( 端子 32) はフラッシュメモリモードでは "L" にします。 フラッシュメモリからのリードでは , D0 ∼ D15( 端子 183 ∼ 197, 200) を出力モードに切り換えます。 フラッシュモードでの未使用端子 (MB91F362GB) を参照ください。 ・MB91F364G : DA0( 端子 117) はフラッシュメモリモードでは "H" にします。 ・MB91F369GA : 端子 70 はフラッシュメモリモードでは "H" にします。また , 端子 74 および端子 75 はフラッシュメモリ モードでは "L" にします。 ALARM ( 端子 54) は "L" にします。 他のすべての端子はフラッシュメモリモードの間 , オープンのままにします。 715 第 31 章 フラッシュメモリ 表 31.3-2 フラッシュモードでの未使用端子 (MB91F362GB) MB91F362GB 通常機能 フラッシュメモリ モード 75, 76 DA0, DA1 出力 オープンのまま 77 ALARM 入力 プルダウン 81 ∼ 83 TESTX, CPUTESTX, LTESTX 入力 プルアップまたはオープンの まま ( 初期プルアップ ) 114 HSTX 入力 プルアップまたはオープンの まま ( 初期プルアップ ) 116 MONCLK 出力 オープンのまま 117 SELCLK 入力 プルアップ 119, 121 X0, X0A 入力 プルダウン 120, 122 X1, X1A 出力 オープンのまま 124 CPO 出力 オープンのまま 125 VCI 入力 プルダウン 入力 プルアップ 他の全信号 716 備考 端子番号 第 31 章 フラッシュメモリ ● フラッシュメモリモードの信号割当て ( その 2) 表 31.3-3 フラッシュメモリモードで使用する端子 ( その 2) (1 / 2) MBM29 LV400C MB91F365GB MB91F366GB MB91F367GB MB91F368GB MB91F376GA 備考 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 A-1 96 PWM1P0 96 PR0 96 PWM1P0 アドレス A0 A0 97 PWM1M0 97 PR1 97 PWM1M0 アドレス A1 A1 98 PWM2P0 98 PR2 98 PWM2P0 アドレス A2 A2 99 PWM2M0 99 PR3 99 PWM2M0 アドレス A3 A3 101 PWM1P1 101 PR4 101 PWM1P1 アドレス A4 A4 102 PWM1M1 102 PR5 102 PWM1M1 アドレス A5 A5 103 PWM2P1 103 PR6 103 PWM2P1 アドレス A6 A6 104 PWM2M1 104 PR7 104 PWM2M1 アドレス A7 A7 106 PWM1P2 106 PS0 106 PWM1P2 アドレス A8 A8 107 PWM1M2 107 PS1 107 PWM1M2 アドレス A9 A9 108 PWM2P2 108 PS2 108 PWM2P2 アドレス A10 A10 109 PWM2M2 109 PS3 109 PWM2M2 アドレス 11 A11 111 PWM1P3 111 PS4 111 PWM1P3 アドレス 12 A12 112 PWM1M3 112 PS5 112 PWM1M3 アドレス 13 A13 113 PWM2P3 113 PS6 113 PWM2P3 アドレス A14 A14 114 PWM2M3 114 PS7 114 PWM2M3 アドレス A15 A15 91 PG3 91 PG3 91 PG3 アドレス A16 A16 92 PG4 92 PG4 92 PG4 アドレス A17 A17 93 PG5 93 PG5 93 PG5 アドレス A18 A18 - - - - 89 PG1 アドレス A19 [A20] - - - - 88 PG0 プルアップ 注意事項参照 WE 31 BOOT 31 BOOT 31 BOOT 書込み可能 BYTE 32 TESTX 32 TESTX 32 TESTX バイトアクセス OE 51 IN1 51 IN1 51 IN1 出力可能 CE 50 IN0 50 IN0 50 IN0 チップ可能 RY/BY 38 MONCLK 38 MONCLK 38 MONCLK Ready/Busy ( オープン ドレイン ) A9(VID) 57 MD0 57 MD0 57 MD0 VDA9 ハイ電圧 RESET(VID) 58 MD1 58 MD1 58 MD1 VDRS ハイ電圧 OE(VID) 59 MD2 59 MD2 59 MD2 VDOE ハイ電圧 717 第 31 章 フラッシュメモリ 表 31.3-3 フラッシュメモリモードで使用する端子 ( その 2) (2 / 2) MBM29 LV400C MB91F365GB MB91F366GB MB91F367GB MB91F368GB MB91F376GA 備考 端子 番号 端子名 端子 番号 端子名 端子 番号 端子名 RESET 60 INITX 60 INITX 60 INITX リセット DQ0 117 PJ0 117 PJ0 117 PJ0 データ I/O DQ1 118 PJ1 118 PJ1 118 PJ1 データ I/O DQ2 119 PJ2 119 PJ2 119 PJ2 データ I/O DQ3 120 PJ3 120 PJ3 120 PJ3 データ I/O DQ4 53 IN2 53 IN2 53 IN2 データ I/O DQ5 55 IN3 55 IN3 55 IN3 データ I/O DQ6 39 OUT0 39 OUT0 39 OUT0 データ I/O DQ7 40 OUT1 40 OUT1 40 OUT1 データ I/O DQ8 39 INT0 39 INT0 39 INT0 データ I/O DQ9 40 INT1 40 INT1 40 INT1 データ I/O DQ10 41 INT2 41 INT2 41 INT2 データ I/O DQ11 42 INT3 42 INT3 42 INT3 データ I/O DQ12 43 INT4 43 INT4 43 INT4 データ I/O DQ13 44 INT5 44 INT5 44 INT5 データ I/O DQ14 45 INT6 45 INT6 45 INT6 データ I/O DQ15 46 INT7 46 INT7 46 INT7 データ I/O [TMODX] 33 CPUTESTX 33 CPUTESTX 33 CPUTESTX テストモード プルアップ [ATDIN] 63 PN0 63 PN0 63 PN0 ATD テスト プルダウン [EQIN] 90 PG2 90 PG2 90 LTEST X EQ テスト プルダウン ( 注意事項 ) MB91F376G: 768KB フラッシュマクロでは , A18 はフラッシュマクロの追加入力端子になります。 端子 88(PG0) に接続した線 (A20) はハイにしてください。 718 第 31 章 フラッシュメモリ 表 31.3-4 フラッシュモードでの未使用端子 (MB91F365GB/F366GB/F367GB/F368GB/F376G) MB91F365GB/F366GB/F367GB/F368GB/F376G 端子番号 通常機能 端子状態 35 X0 入力 プルアップ 36 X1 出力 オープンのまま 66 SIN3 出力 オープンのまま 67 SOT3 出力 オープンのまま 68 SCK3 出力 オープンのまま 27 DA0 / X0A 出力 / 入力 オープンのまま / プルアップ 28 DA1/X1A 出力 / 出力 オープンのまま 29 ALARM 入力 プルアップ 入力 プルアップ 他の全信号 備考 719 第 31 章 フラッシュメモリ 31.4 フラッシュ制御ステータスレジスタ (FMCS) フラッシュ制御ステータスレジスタについて説明します。 ■ フラッシュ制御ステータスレジスタ (FMCS) デバイスで使用するフラッシュメモリマクロ : 通常フラッシュマクロを使用するメモリ : MB91F362GB 高速フラッシュマクロを使用するメモリ : 他の MB91360 シリーズ デバイス MB91FV360GA bit 7 アドレス : 00007000H FACCEN アクセス R/W 初期値 *1 ブート ROM 後の値 6 5 4 3 2 1 0 RDY RDYI WE LPM − − RDYEG R/W R/W R R R/W R/W R/W 1/0 *2 1 1 0 X 0 0 0 0 1 1 0 X 0 0 0 *1: FMCS レジスタは , 初期リセット (INIT) または動作リセット (RST) により初期化されます。 *2: MB91F376G および MB91F364G の場合は "0" で , 他の製品の場合は "1" です。 [bit7] FACCEN: FACC 出力許可 通常フラッシュマクロ 0: FACC 信号許可 - 推奨設定 1: FACC 信号禁止 高速フラッシュマクロ 0: ATDIN 信号と EQIN 信号を使用した同期読出しアクセス - 推奨設定 1: 非同期読出しアクセス [bit6, bit5] 予約 MB91F376G では , これらのビットへの書込みは常に "00" です。 他の製品では , これらのビットへの書込みは , 常に "11" です。 [bit4] RDYEG: 予備ビット [bit3] RDY 自動アルゴリズムの状態 0: 自動アルゴリズムの状態は書込み / 読出しです。書込み / 読出し / 消去を受け付ける ことはできません。 1: 書込み / 読出し / 消去を受け付けられます。 720 第 31 章 フラッシュメモリ [bit2] RDYI: 予備ビット [bit1] WE このビットは , CPU モードでのフラッシュメモリの書込み / 読出しを制御するために使 用します。 0: フラッシュメモリの書込み禁止 , 読出しアクセス幅 32 ビット 1: 書込み許可 , 読出しアクセス幅 16 ビット , 自動アルゴリズム使用可能 このビットは , RDY が "1" である場合にのみ書き込めます。 [bit0] LPM 0: 通常モード 1: 低電力モード , CPU 周波数が 5 MHz 未満の場合に使用可能 721 第 31 章 フラッシュメモリ 31.5 読出し / 書込みアクセス フラッシュメモリモードでは , フラッシュメモリへの読出し / 書込みアクセスを外部 端子の制御下におく必要があります。ただし , CPU アクセスでは , フラッシュメモ リインタフェース回路によってフラッシュメモリが制御されるため , 読出し / 書込み アクセスに特別なタイミング制約はありません。 ここで使用する「書込みアクセス」は , そのまま「フラッシュメモリのプログラム」 を意味するのではなく , 「フラッシュコマンドの起動」を意味します。 ■ フラッシュメモリモードでの読出し / 書込みアクセス 表 31.5-1 は , フラッシュメモリモードにおける読出し / 書込みアクセス用端子の設定を 示します。これらの端子をフラッシュメモリライタに接続する場合は , 制御に関する特 別な問題はありません。ただし , それ以外の場合には , タイミング仕様を満足する必要 があります。タイミング仕様については , 「31.11 フラッシュメモリモードのタイミン グ図」および「31.12 フラッシュメモリモードでの AC 特性」を参照してください。 表 31.5-1 フラッシュメモリモードでの読出し / 書込みアクセス用端子の設定条件 BGRNTX(CE) RDY(OE) CS4X(WE) A0 ∼ A18 D16 ∼ D31 INITX 読出し L L H 読出し アドレス DOUT H 書込み L H L 書込み アドレス DIN H 出力禁止 L H H X Hi-Z H スタンバイ H X X X Hi-Z H ハードウェア リセット X X X X Hi-Z L 動作 <注意事項> 722 この表は , MB91F362GB のピン名を使用しています。他のデバイスの対応するピ ン名は ,「31.3 書込み / 消去モード」で確認してください。 第 31 章 フラッシュメモリ ■ CPU 読出しアクセス , フラッシュウェイト制御レジスタ (FMWT) フラッシュウェイト制御レジスタ (FMWT) bit 7 アドレス : 00007004H 6 5 4 3 2 1 0 − − FAC1 FAC0 アクセス − R/W R/W R/W R/W R/W WTC1 WTC0 R/W R/W 初期値 − 0 0 0/1* 0 0 1 1 ブート ROM 起動後のレジスタの値 − 0 0 1 0 0 1 1 EQINH WTC2 *: MB91F376G および MB91F364G の場合は "1", ほかの製品の場合は "0" [bit6] このビットは予備であり , このレジスタに書き込む場合は , このビットに常に "0" を 設定します。 [bit5, bit4] FAC1, FAC0 通常フラッシュマクロ: これらのビットは, FACC信号の"L"パルス幅を制御します。 高速フラッシュマクロ : これらのビットは , ATDIN 信号の "H" パルス幅を制御しま す。 FAC1 FAC0 FACC のローパルス幅 /ATDIN の "H" パルス幅 0 0 CLKB の 0.5 サイクル 0 1 CLKB の 1 サイクル 1 0 CLKB の 1.5 サイクル 1 1 CLKB の 2 サイクル [bit3] EQINH このビットは , EQIN 信号の立下りエッジを制御します。 通常フラッシュマクロ : このレジスタビットに書き込む場合は , 常に "0" を書き込み ます。 高速フラッシュマクロ : 0: FWAITR 信号の立下りエッジにおける EQIN の立下りエッジ 1: FWAITR 信号の立下りエッジのハーフサイクル後の EQIN の立下りエッジ [bit2 ∼ bit0] WTC2 ∼ WTC0 : 待ちサイクルビット WTC2 ∼ WTC0 は , フラッシュメモリアクセス用の自動待ちサイクルを挿入するた めに使用します。 723 第 31 章 フラッシュメモリ WTC2 WTC1 WTC0 ウェイトサイクル 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 通常フラッシュマクロの推奨設定 : クロック変調を適用しない場合 : WTC0 FACC "L" 幅 サイクル / ウェイト サイクル FMWT 1 1 1/3 13H 0 1 1 1/3 13H 0 0 1 0 1/2 12H 0 0 0 1 0 0.5/2 02H 0 0 0 0 0 1 0.5/1 01H 0 0 0 0 0 1 0.5/1 01H CLKB 非変調 コアクロック 周波数 [MHz] FAC1 FAC0 EQINH WTC2 WTC1 64 0 1 0 0 48 0 1 0 40 0 1 32 0 24 16 クロック変調を適用する場合 : CLKB コア クロック 周波数 [MHz] 最高 ピーク 周波数 FAC1 FAC0 EQINH WTC2 WTC1 48 64 0 1 0 0 32 48 0 1 0 24 40 0 1 24 32 0 16 24 0 724 WTC0 FACC "L" 幅 サイクル / ウェイト サイクル FMWT 1 1 1/3 13H 0 1 1 1/3 13H 0 0 1 0 1/2 12H 0 0 0 1 0 0.5/2 02H 0 0 0 0 1 0.5/1 01H 第 31 章 フラッシュメモリ 1サイクルFACC='L' 3ウェイトサイクル コアクロック CLKB FA A1 A2 A3 Fバスアドレス Fバス待ち FWAITR t FP FACC フラッシュ用FACC tFACC FD D1 Fバスデータ tFPの最小値は15nsで,tFACCの最小値は40nsです。 高速フラッシュマクロの推奨設定 : クロック変調を適用しない場合 : CLKB 非変調 コアクロック 周波数 [MHz] FAC1 FAC0 EQINH WTC2 WTC1 WTC0 ATDIN ’H’ 幅サ イクル / ウェイ トサイクル 64 0 1 0 0 1 1 1/3 13H 48 0 0 *1, *2 0 *1 0 1 0 0.5/2 02H 40 0 0 *1, *2 0 *1 0 1 0 0.5/2 02H 32 0 0 1 0 0 1 0.5/1 09H 24 0 0 0 *1 0 0 1 0.5/1 01H 16 0 0 0 0 0 1 0.5/1 01H FMWT *1: MB91F376G での推奨値は 1 *2: MB91F364G での推奨値は 1 725 第 31 章 フラッシュメモリ クロック変調を適用する場合 : CLKB コア クロック周 波数 [MHz] 最高 ピーク 周波数 FAC1 FAC0 EQINH WTC2 WTC1 WTC0 ATDIN ’H’ 幅サ イクル / ウェ イトサイクル FMWT 48 64 0 1 0 0 1 1 1/3 13H 32 48 0 0 *1, *2 0 *1 0 1 0 0.5/2 02H 24 40 0 0 *1, *2 0 *1 0 1 0 0.5/2 12H 24 32 0 0 1 0 0 1 0.5/1 09H 16 24 0 0 0 *1 0 0 1 0.5/1 01H *1: MB91F376G での推奨値は 1 *2: MB91F364G での推奨値は 1 1サイクルATDIN='H' 3ウェイトサイクル コアクロック CLKB FA A1 A3 Fバスアドレス A2 Fバス待ち FWAITR ATDIN フラッシュ用 ATDIN tWATD EQIN フラッシュ用 EQIN tWEQ FD D1 tACC tRC tWATDの最小値は10nsで,tWEQの最小値は20nsです。 tRCの最小値は40nsです。 tACCの最大値はtWATD + tWEQ + 5nsです。 726 Fバスデータ 第 31 章 フラッシュメモリ ■ デバイスの CPU による書込みアクセス 次の表に , フラッシュメモリへの書込みアクセスに対する WTC2 ∼ WTC0 の推奨設定 を示します。書込み動作に対しては , FMCS レジスタの FACCEN ビットを "1" に設定 します。したがって , 書込み動作に対しては , FAC1, FAC0 および EQINH の各ビットの 設定は意味を持ちません。 クロック変調を適用しない場合 : CLKB 無変調コア クロック周波数 [MHz] WTC2 WTC1 WTC0 待機サイクル数 FMWT 64 書込み動作に対しては設定できません。 48 書込み動作に対しては設定できません。 40 1 0 0 4 X4H 32 0 1 0 2 X2H 24 0 1 0 2 X2H 16 0 0 1 1 X1H クロック変調を適用する場合 : CLKB コア クロック周波数 [MHz] 最高ピーク 周波数 [MHz] 48 64 書込み動作に対しては設定できません。 32 48 書込み動作に対しては設定できません。 24 40 1 0 0 4 X4H 24 32 0 1 0 2 X2H 16 24 0 1 0 2 X2H WTC2 WTC1 WTC0 待機サイクル数 FMWT 727 第 31 章 フラッシュメモリ 31.6 自動書込み / 消去 自動書込み / 消去について説明します。 ■ 自動書込み / 消去 フラッシュメモリユニットの書込み / 消去は , フラッシュメモリモードであるか , CPU モードであるかに関係なく , フラッシュメモリ自動アルゴリズムの起動により実行さ れます。 自動アルゴリズムを起動するために , 書込みアクセスの多様なシーケンスが 1 ∼ 6 サイ クルで実行されます。これらはフラッシュコマンドとよばれます。 728 第 31 章 フラッシュメモリ フラッシュコマンド 31.6.1 フラッシュメモリユニットの自動アルゴリズムを起動するためのコマンドとして , 読出し / リセット , 書込み , チップ消去 , セクタ消去 , の 4 つのコマンドがあります。 また , セクタ消去動作については一時停止コマンドと再開コマンドがあります。 ここでは , フラッシュメモリモード , および CPU モードにおけるコマンドシーケン スを示します。 ■ コマンドシーケンス 表 31.6-1 と表 31.6-2 に , フラッシュメモリユニットで利用可能なコマンドを示します。 すべてのデータは , バイトデータでコマンドレジスタに書き込まれますが , CPU アクセ スではハーフワードアクセスにより書き込む必要があります。上位データバイトは無 視されます。 フラッシュメモリモードでは , 外部端子 BYTE を使用したバイトアクセス , またはハー フワードアクセスの選択が許可されます。 表 31.6-1 コマンドシーケンスリスト (CPU モード ) コマンド シーケンス バスの 書込み サイクル 第 1 バスの書込み サイクル 第 2 バスの書込み サイクル 第 3 バスの書込み サイクル 第 4 バスの読出し / 書込みサイクル 第 5 バスの書込み サイクル 第 6 バスの書込み サイクル アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ 読出し / リセット * 1 **xxxx xxF0 - - - - - - - - - - 読出し / リセット * 4 **5554 xxAA **aaa8 xx55 **5554 xxF0 RA RD - - - - 書込み 4 **5554 xxAA **aaa8 xx55 **5554 xxA0 PA ( 偶数 ) PD ( ハーフ ワード ) - - - - チップ消去 6 **5554 xxAA **aaa8 xx55 **5554 xx80 **5554 xxAA **aaa8 xx55 **5554 xx10 セクタ消去 6 **5554 xxAA **aaa8 xx55 **5554 xx80 **5554 xxAA **aaa8 xx55 SA ( 偶数 ) xx30 セクタ消去一時停止 アドレス **xxxx またはデータ (xxB0H) を入力すると , セクタ消去は一時停止されます。 セクタ消去再開 アドレス **xxxx またはデータ (xx30H) を入力すると , セクタ消去は一時停止後再開されます。 ( 注意事項 ): 表中のアドレスは , CPU メモリ空間の値です。アドレスとデータはすべて 16 進の値で す。x は任意の値です。** は 08 ∼ 0F です。 RA: 読出しアドレス PA: 書込みアドレス。偶数アドレスだけを指定できます。 SA: セクタアドレス ( 表 31.6-3 参照 )。偶数アドレスだけを指定できます。 RD: 読出しデータ PD: 書込みデータ。ハーフワードデータだけを指定できます。 <注意事項> 2 種類の読出し / リセットコマンドは , フラッシュメモリを読出しモードにリセッ トします。 CPU モード時 , フラッシュメモリに対してバイト書込みは行わないでください。 729 第 31 章 フラッシュメモリ 表 31.6-2 コマンドシーケンスリスト ( フラッシュメモリモード ) コマンド シーケンス バス の書 込み サイ クル 第 1 バスの書込み サイクル 第 2 バスの 書込みサイクル 第 3 バスの 書込みサイクル 第 4 バスの読出し / 書込みサイクル 第 5 バスの書込み サイクル 第 6 バスの書込み サイクル アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ アドレス データ 読出し / リセット * 1 **xxxx F0 - - - - - - - - - - 読出し / リセット * 4 *aaaa AA *5554 55 *aaaa F0 RA RD - - - - 書込み 4 *aaaa AA *5554 55 *aaaa A0 PA ( 偶数 ) PD ( ハーフ ワード ) - - - チップ消去 6 *aaaa AA *5554 55 *aaaa 80 *aaaa AA *5554 55 *aaaa 10 セクタ消去 6 *aaaa AA *5554 55 *aaaa 80 *aaaa AA *5554 55 SA ( 偶数 ) 30 セクタ消去一時停 止 アドレス **xxxx またはデータ (B0H) を入力すると , セクタ消去が一時停止されます。 セクタ消去再開 アドレス **xxxx またはデータ (30H) を入力すると , セクタ消去が一時停止後再開されます。 ( 注意事項 ): 表中のアドレスはライタのアドレス用の値です。アドレスとデータはすべて 16 進の値 です。x は任意の値です。* は 0 ∼ 7 です。 RA: 読出しアドレス PA: 書込みアドレス。偶数アドレスだけを指定できます。 SA: セクタアドレス ( 表 31.6-3 参照 )。偶数アドレスだけを指定できます。 RD: 読出しデータ PD: 書込みデータ。ハーフワードデータだけを指定できます。 <注意事項> 2 種類の読出し / リセットコマンドは , フラッシュメモリを読出しモードにリセッ トします。 ■ 読出し / リセットコマンド 2 種類の読出し / リセットコマンドがあります。1 つは , 1 つのバス動作で実行され , も う一方は 3 つのバス動作で実行されます。コマンドシーケンスは両方とも本質的に同 じものです。 フラッシュメモリユニットは , デフォルトで読出し / リセット状態になり , 電源投入時 もコマンド実行の正常終了時も常にこの状態に入ります。読出し / リセット状態は , 別 のコマンド入力の待ち状態でもあります。 読出し / リセット状態では , 通常の読出しアクセスによりデータを読み出すことができ ます。CPU が通常モードである場合は , マスク ROM 同様 , CPU からのプログラムアク セスが許可されます。 したがって , このコマンドはデータの読出しには必要なく , 何らかの理由によりコマン ド実行が終了しなかった場合に , 主として自動アルゴリズムをリセットするために使 用されます。 730 第 31 章 フラッシュメモリ ■ 書込みコマンド 書込みコマンドは 4 つのバス動作で実行します。コマンドシーケンスでは , アンロック を2サイクル実行した後, 書込みセットアップコマンドと書込みデータサイクルが続き ます。自動書込みは , 4 回目の書込みサイクル終了時に開始されます。 CPU が通常モードにある場合は , 書込みデータサイクルで偶数アドレスだけを指定で きます。奇数アドレスを指定すると正しい書込みができなくなります。そのため , 通常 モードで書き込む場合は , 偶数アドレスへハーフワードで書き込みます。フラッシュメ モリモードではこのような制限はありません。 自動書込みアルゴリズム用のコマンドシーケンスを実行すると , フラッシュメモリユ ニットは , 書き込まれたデータが有効かどうかを確かめて , 自動的に作られた適切なラ イトパルスを生成します。自動書込みの終了は , データポーリング機能 (「31.6.2 自動 アルゴリズムの実行状態」を参照 ) を使用して判断できます。書込みが完了すると , フ ラッシュメモリユニットは読出し / リセット状態に戻ります。 書込み中はすべてのコマンドが無視されます。書込み中にハードウェアリセットが発 生した場合は , アドレスに書き込まれていたデータが無効になります。 書込みは , 任意のアドレス順序でも , セクタ境界を超えても可能です。ただし , 書込み コマンドを 1 回実行すると , CPU アクセスでは 1 ハーフワードのデータが書き込まれ , フラッシュメモリモードでは 1 バイト , または 1 ハーフワードのデータが書き込まれま す。 書込みによってデータ "0" をデータ "1" に戻すことはできません。データ "0" をデータ "1"に書き込むと, データポーリングアルゴリズム (D23) , またはトグル動作 (D22) が終 了せず , フラッシュメモリ素子が不足と判定され書込み規定時間を超え , タイミングリ ミット超過フラグ (D21) がエラーと判定するか , あるいは見かけ上データ "1" が書き込 まれたように見えるかのどちらかとなります。ただし , 読出し / リセット状態でデータ を読み出すと "0" のままです。消去した場合にのみ , "0" をデータ "1" に設定すること ができます。 図 31.6-1 は , 書込みコマンドを使用した書込み手順を示します。 図 31.6-1 書込みコマンドを使用した書込み手順 書込み開始 書込みコマンドシーケンス デバイスデータポーリング 次のアドレス NO 最終アドレス? YES 書込み終了 731 第 31 章 フラッシュメモリ ■ チップ消去コマンド チップ消去コマンドは , 6 回のバス動作で実行されます。コマンドシーケンスでは , ア ンロックを 2 サイクル実行した後 , 書込みセットアップコマンドが実行されます。さら に同じアンロックが 2 サイクル続いてチップ消去コマンドが書き込まれます。チップ 消去は , 6 回目の書込みサイクルが完了すると開始されます。 チップを消去する前に , ユーザがフラッシュメモリユニットに書き込む必要はありま せん。自動消去アルゴリズムの実行中 , すべてのセルが自動的に消去される前に , フ ラッシュメモリユニットが "0" パターンを書き込んで検証します。 自動消去の終了は , データポーリング機能 (「31.6.2 自動アルゴリズムの実行状態」を 参照 ) を使用して判断できます。フラッシュメモリユニットは , 消去完了後 , 読出し / リセット状態に戻ります。 図 31.6-2 は , チップ消去コマンドを使用したチップ消去の手順を示しています。 ■ セクタ消去コマンド セクタ消去コマンドは , 6 回のバス動作で実行されます。コマンドシーケンスでは , ア ンロックを 2 サイクル実行した後 , 書込みセットアップコマンドが実行されます。さら に同じアンロックが 2 サイクル続き , 6 回目のサイクルで書込みセクタ消去コードをセ クタアドレスに書き込み , セクタ消去のために 50µs 待ちます。 複数のセクタを消去する場合は , 上記シーケンスの後 , セクタ消去コード (30H) をセク タアドレスに書き込みます。最後のセクタ消去コードが書き込まれてから 50µs のセク タ消去待ち期間が完了すると , セクタ消去が開始されます。すなわち , 複数のセクタを 同時に消去する場合は , 次の消去セクタのアドレスと消去コード ( コマンドシーケンス 6 サイクル目 ) をそれぞれ 50µs の間に入力する必要があり , それ以降では受け付けら れません。引き続くセクタ消去コードの有効性は , セクタ消去タイマフラグ (「31.6.2 自動アルゴリズムの実行状態」を参照 ) によってモニタできます。セクタ消去待機中 に , セクタ消去およびセクタ消去一時停止以外のコマンドが受け付けられた場合は , フ ラッシュメモリユニットが読出し / リセット状態へ戻り , 以前のコマンドシーケンスは 無視されます。この場合の消去は , セクタを再度消去することによって完了されます。 セクタアドレスは任意の組合せと順序で選択できますが , 選択したセクタは昇順で消 去されます。 セクタを消去する前に , ユーザがフラッシュメモリユニットに書き込む必要はありま せん。自動的に消去されるセクタのすべてのメモリに対して書込みが行われます。セ クタ消去中に他のセクタが影響を受けることはありません。 自動セクタ消去の終了は , データポーリング機能 (「31.6.2 自動アルゴリズムの実行状 態」を参照 ) を使用して判断できます。フラッシュメモリユニットは , 消去の完了後 , 読出し / リセット状態に戻ります。セクタ消去中 , 他のコマンドは無視されます。 図 31.6-2 は , セクタ消去コマンドを使用したセクタ消去の手順です。 図 31.6-2 チップ消去 / セクタ消去コマンドを使用したチップ消去 / セクタ消去の手順 E消去開始 rase start Cチップ消去/セクタ消去コマンドシーケンス hip E rase/S ector E rase com m and sequence データポーリングまたはトグルビット機能の完了 C om pletion of data polli ng or toggle bit function 消去終了 E rase en 732 第 31 章 フラッシュメモリ ● セクタアドレス セクタアドレスは , 各セクタを表す任意のアドレスです。セクタとモードでアクセス可 能な任意のアドレスでかまいません。 表 31.6-3 ハーフワードモード用のセクタアドレス (768KB) フラッシュメモリモードでの A[19:13] セクタ A13 フラッシュメモリ モードでの アドレス範囲 CPU モードで のアドレス FC000H ∼ FFFFFH F8002H A19 A18 A17 A16 A15 A14 SA17 1 1 1 1 1 1 SA16 1 1 1 1 1 0 1 FA000H ∼ FBFFFH F4002H SA15 1 1 1 1 1 0 0 F8000H ∼ F9FFFH F0002H SA14 1 1 1 1 0 F0000H ∼ F7FFFH E0002H SA13 1 1 1 0 E0000H ∼ EFFFFH C0002H SA12 1 1 0 1 D0000H ∼ DFFFFH A0002H SA11 1 1 0 0 C0000H ∼ CFFFFH 80002H SA10 1 0 1 1 1 1 BC000H ∼ BFFFFH F8000H SA9 1 0 1 1 1 0 1 BA000H ∼ BBFFFH F4000H SA8 1 0 1 1 1 0 0 B8000H ∼ B9FFFH F0000H SA7 1 0 1 1 0 B0000H ∼ B7FFFH E0000H SA6 1 0 1 0 A0000H ∼ AFFFFH C0000H SA5 1 0 0 1 90000H ∼ 9FFFFH A0000H SA4 1 0 0 0 80000H ∼ 8FFFFH 80000H SA3 0 1 1 1 70000H ∼ 7FFFFH 60002H SA2 0 1 1 0 60000H ∼ 6FFFFH 40002H SA1 0 0 1 1 30000H ∼ 3FFFFH 60000H SA0 0 0 1 0 20000H ∼ 2FFFFH 40000H 733 第 31 章 フラッシュメモリ 表 31.6-4 ハーフワードモード用のセクタアドレス (256KB/512KB) フラッシュメモリモードでの A[18:13] セクタ A13 フラッシュメモリ モードでの アドレス範囲 CPU モードで のアドレス 7C000H ∼ 7FFFFH F8002H A18 A17 A16 A15 A14 SA13 1 1 1 1 1 SA12 1 1 1 1 0 1 7A000H ∼ 7BFFFH F4002H SA11 1 1 1 1 0 0 78000H ∼ 79FFFH F0002H SA10 1 1 1 0 70000H ∼ 77FFFH E0002H SA9 1 1 0 60000H ∼ 6FFFFH C0002H SA8 1 0 1 50000H ∼ 5FFFFH A0002H SA7 1 0 0 40000H ∼ 4FFFFH 80002H SA6 0 1 1 1 1 3C000H ∼ 3FFFFH F8000H SA5 0 1 1 1 0 1 3A000H ∼ 3BFFFH F4000H SA4 0 1 1 1 0 0 38000H ∼ 39FFFH F0000H SA3 0 1 1 0 30000H ∼ 37FFFH E0000H SA2 0 1 0 20000H ∼ 2FFFFH C0000H SA1 0 0 1 10000H ∼ 1FFFFH A0000H SA0 0 0 0 00000H ∼ 0FFFFH 80000H ■ セクタ消去一時停止コマンド セクタ消去一時停止コマンドは , 自動アルゴリズムによるセクタ消去を一時停止し , 消 去されていないセクタ ( 書込み不可 ) からのデータ読出しを許可します。このコマンド はセクタ消去待ち期間を含むセクタ消去中にのみ許可され , チップ消去中および書込 み中には無視されます。このコマンドは , セクタ消去一次停止コード (B0H) を書き込む ことにより , 実行されます。この場合 , フラッシュメモリ領域内の任意のアドレスが指 定されます。 セクタ消去待ち期間中にこのコマンドが入力されるとすぐに , フラッシュメモリユ ニットは消去を一時停止するためにセクタ消去待ちを終了して , 消去一次停止状態に 入ります。 セクタ消去待ち期間後のセクタ消去中にセクタ消去一時停止コマンドを入力すると , フラッシュメモリユニットは 20µs 以内に消去一次停止状態に入ります。 フラッシュメモリユニットが消去を停止して消去一時停止状態にあるかどうかは , データポーリング機能 , またはトグルビット機能 (「31.6.2 自動アルゴリズムの実行状 態」参照 ) を使用して判断できます。消去一時停止状態で入力したセクタ消去一時停 止コマンドは無視されます。 734 第 31 章 フラッシュメモリ 消去一時停止状態では , 消去されていないセクタへの通常の読出しアクセスにより , データを読み出すことができます。 ■ セクタ消去再開コマンド セクタ消去再開コマンドは , セクタ消去一時停止コマンドにより一時停止されたセク タ消去を再開します。このコマンドは , 消去再開コード (30H) の書込みにより実行され ます。この場合 , フラッシュメモリ領域内の任意のアドレスが指定されます。 消去再開状態では , フラッシュメモリユニットは , セクタ消去再開コマンドの入力は無 視しますが , セクタ消去一時停止コマンドの入力は受け付けます。 ■ 高速モード フラッシュメモリには , 高速モード機能があります。このモードで高速モードコマンド をコマンドレジスタに書き込むと , 標準プログラムコマンドシーケンスに必要な最初 のアンロック 2 サイクルが省略されます。このモードでは , 標準プログラムコマンドの 4 バスサイクルの代わりに , 2 サイクルのプログラミング用バスサイクルが必要です ( このモードでは消去コマンドを書き込まないでください )。このモードを終了した後 で , 読出し動作も実行されます。このモードを終了するには , コマンドレジスタに高速 モードのリセットコマンドを書き込む必要があります 。高速モードでは , CE = VIH の 場合でも Vcc 動作電流が必要です。 ■ 高速プログラミング 高速モードでは , プログラミングは 2 つのバスサイクル動作で実行できます。自動アル ゴリズムは , プログラムセットアップコマンド (A0H) とデータ書込みサイクル (PA/PD) を書き込むことにより実行されます。 ■ 拡張セクタ保護 通常セクタ保護以外に , 拡張セクタ保護が利用できます。MD1 端子上に VID を印加し , コマンドシーケンスを書き込むと , この機能によるセクタ保護が可能になります。従来 の手順とは異なり , 制御端子に対して VID を印加し制御タイミングを設定する必要は ありません。このモードでのセクタ保護には , MD1 端子にのみ VID が必要です。この 条件で , コマンドレジスタにセットアップコマンド (60H) を書き込むと , 動作が開始さ れます。 次に , 保護するセクタのアドレスに , セクタアドレス端子 (A18, A17, A16, A15, A14, お よび A13) と (A6, A1, A0) = (0, 1, 0) を設定し ( 他のアドレス端子には VIL を設定するこ とを推奨 ), 拡張セクタ保護コマンド (60H) を書き込む必要があります。セクタは通常 , 150µs で保護されます。保護回路のプログラミングを検証するために , セクタアドレス 端子 (A18, A17, A16, A15, A14, および A13) と (A6, A1, A0) = (0, 1, 0) を設定し , コマン ド (40H) を書き込む必要があります。書込みコマンドに続く読出し動作では , 保護セク タに対し , デバイス出力 D16 に論理 "1" が生成されます。出力データが論理 "0" である 場合は , 拡張セクタ保護コマンド (60H) を再度書き込んでください。動作を終了するに は , MD1 端子を VIH に設定する必要があります。 735 第 31 章 フラッシュメモリ 自動アルゴリズムの実行状態 31.6.2 書込み / 消去フローは自動アルゴリズムにより制御されます。フラッシュメモリユ ニットには , 内部動作と動作の完了をフラッシュメモリユニット外のユニットに知 らせるための , ハードウェアシーケンスフラグとレディ / ビジー信号があります。 ■ ハードウェアシーケンスフラグリスト ハードウェアシーケンスフラグは , D23, D22, D21, および D19 の 4 つの出力から構成さ れます。これらは , データポーリングフラグ (D23), トグルビットフラグ (D22), タイミ ングリミット超過フラグ (D21), およびセクタ消去タイマフラグ (D19) です。 ハードウェアシーケンスフラグは , 自動アルゴリズムの起動後にフラッシュメモリ領 域のアドレスに対して読出しアクセスを行うことより参照できます。これは CPU アク セス時は使用しないでください。 表 31.6-5 は , ハードウェアシーケンスフラグの機能リストです。 表 31.6-5 ハードウェアシーケンスフラグの機能リスト D22 D21 D19 トグル => 停止 0 => 1 0 0 => 1 トグル => 停止 0 => 1 2 セクタ消去待ち => 消去開始 0 トグル 0 0 => 1 消去 => セクタ消去一次停止 ( セクタ消去中 ) 0 => 1 トグル => 1 0 1 => 0 セクタ消去一次停止 => 再開 ( セクタ消去中 ) 1 => 0 1 => トグル 0 0 => 1 セクタ消去一次停止 ( セクタ消去中ではない ) データ データ データ データ D23 トグル 1 0 0 トグル 1 1 状態 通常動作 における 状態変化 書込み => 書込み完了 ( 書込みアドレス指定時 ) チップ / セクタ消去 => 消去完了 異常動作 書込み チップ / セクタ消去 <注意事項> 736 D23 D23 => D23 D20 はデバイス試験用で , D16 ∼ D18 は将来使用するための予備です。 第 31 章 フラッシュメモリ ■ データポーリングフラグ (D23) データポーリングフラグは , 主として , 自動アルゴリズムが実行中であること , または 終了したことを通知するために使用されます。このフラグは , 書込み , チップ消去 , ま たはセクタ消去について有効です。 ● 書込み 書込みアルゴリズム実行中の読出しアクセスでは , フラッシュメモリユニットは , アド レス信号により指定されたアドレスの値にかかわらず , 最後に書き込まれた bit7 の反 転データを出力します。 書込みアルゴリズム終了時の読出しアクセスでは , フラッシュメモリユニットは , アド レス信号により指定されたアドレスで読出した値の bit7 を出力します。 ● チップ / セクタ消去 チップ / セクタ消去アルゴリズム実行中に , セクタ消去時は現在消去しているセクタか ら , チップ消去時はアドレスの指し示す番地に関係なく , 読出しアクセスするとフラッ シュメモリユニットは , "0" を出力します。チップ / セクタ消去アルゴリズム終了時の 読出しアクセスでは , フラッシュメモリユニットは "1" を出力します。 ● セクタ消去一時停止 セクタ消去一時停止時の読出しアクセスでは , アドレス信号により指定されたアドレ スが消去中セクタに属する場合は , フラッシュメモリユニットは "1" を出力します。ア ドレス信号によって指定されたアドレスが消去中のセクタに属さない場合は , フラッ シュメモリユニットは , アドレス信号により指定されたアドレスで読み出された値の bit7 を出力します。 トグルビットフラグとともにこのフラグを参照すると , フラッシュメモリユニットが 消去一時停止状態であるかどうか , およびどのセクタが消去されているかを判断でき ます。 自動アルゴリズム時は , 指定されたアドレスへの読出しアクセスは無視されます。デー タ読出しでは , bit7 によるデータポーリング終了後に他のビットが正しいデータを出力 できます。自動アルゴリズム終了後のデータ読出しは , データポーリング完了を確認し た読出しアクセスの次に行う必要があります。 ■ トグルビットフラグ (D22) データポーリングフラグ同様 , トグルビットフラグは , トグルビット機能を使用して , 主に自動アルゴリズムが実行中であること , あるいは終了したことを通知します。この フラグは書込み , チップ消去 , またはセクタ消去について有効です。 ● 書込み , チップおよびセクタの消去 書込みおよびチップ / セクタ消去アルゴリズム実行中の連続読出しアクセスでは , フ ラッシュメモリユニットは , アドレス信号により指定されたアドレスの値にかかわら ず , 読出しサイクルのたびに , "1" と "0" を交互に出力するトグル状態を出力します。 書込みおよびチップ / セクタ消去アルゴリズム終了時の連続読出しアクセスでは , フ ラッシュメモリユニットは , bit6 のトグル動作を止め , アドレスの指し示す番地の読出 し値の bit6 を出力します。 書込みでは , データを書き込むセクタが再書込みから保護されている場合は , 約 2µs の トグル動作を終了した後データを再書込みせずに終了します。消去では , 選択したすべ 737 第 31 章 フラッシュメモリ てのセクタが書込み禁止である場合は , トグルビットは約 100µs の間トグルを行い , そ の後データを再書込みせずに , 読出し / リセット状態に戻ります。 ● セクタ消去の一時停止 セクタ消去一時停止時の読出しアクセスでは , アドレス信号により指定されたアドレ スが消去中セクタに属する場合は , フラッシュメモリユニットが "1" を出力します。ア ドレス信号により指定されたアドレスが消去中セクタに属さない場合は , フラッシュ メモリユニットは , アドレス信号により指定されたアドレス値の bit6 の値を出力しま す。 ■ タイミングリミット超過フラグ (D21) タイミングリミット超過フラグは , フラッシュメモリユニット内で事前に決められた 時間 ( 内部パルスカウント ) を超えて自動アルゴリズムが実行されたことを通知するた めに使用されます。このフラグは , 書込み , チップ消去 , またはセクタ消去について有 効です。 書込み , チップ消去 , またはセクタ消去コマンド後の読出しアクセスでは , アドレス信 号により指定されたアドレスの値にかかわらず , フラッシュメモリユニットは , 指定時 間 ( 書込み / 消去に必要な時間 ) 内に自動アルゴリズムが実行された場合には "0" を出 力し , 指定時間を超えてアルゴリズムが実行された場合には "1" を出力します。これは 自動アルゴリズムが実行中でも終了後でも行われるので , 書込み / 消去が成功か , また は不成功かを判断できます (「■ ハードウェアシーケンスフラグの使用例」を参照 )。 つまり , このフラグが "1" を出力した場合に , 自動アルゴリズムがデータポーリング機 能 , またはトグルビット機能によりまだ実行中であると見なされる場合は , 書込み , ま たは消去が不成功であったと判断できます。 例えば , "0" が書き込まれているアドレスにユーザが "1" を書き込むと , 失敗状態が発 生します。この場合 , フラッシュメモリはハングアップし , 自動アルゴリズムの実行は 終了しません。したがって , D23 から有効データを出力することができません。bit6 は トグル動作を停止せずにタイムリミットを超え , bit5 は "1" を出力します。この状態は , フラッシュメモリの不良ではなく , 不適切な使用を示すことに注意してください。 この状態が発生した場合は , リセットコマンドを実行する必要があります。 ■ セクタ消去タイマフラグ (D19) セクタ消去タイマフラグは , セクタ消去コマンド起動後のセクタ消去待ち期間中であ るか否かを通知するために使用されます。このフラグはセクタ消去についてのみ有効 です。 ● セクタ消去 セクタ消去コマンド起動後の読出しアクセスでは , フラッシュメモリユニットは , アド レス信号により指定されたアドレスの値にかかわらず , セクタ消去待ち期間中に自動 アルゴリズムが実行された場合には "0" を出力し , セクタ待ち期間を超えてアルゴリズ ムが実行された場合には "1" を出力します。 消去アルゴリズムが実行されていることがデータポーリング機能 , またはトグルビッ ト機能により示されている場合に , このフラグが "1" である場合は , 内部で制御される 消去がすでに開始されています。データポーリング機能 , またはトグルビット機能が消 去の終了を示すまでの間は , セクタ消去一時停止コマンド以外のセクタ消去コードや コマンドを連続して書き込んでも無視されます。このフラグが "0" である場合は , フ ラッシュメモリユニットは , 新たなセクタ消去コードの書込みを受け付けます。このた 738 第 31 章 フラッシュメモリ め , セクタ消去コードの書込みを続ける前に , このフラグの状態をソフトウェアによっ てチェックする必要があります。2 回目の状態チェック後にこのフラグが "1" である場 合は , 新たなセクタ消去コードの書込みは受け付けられません。 ● セクタ消去一時停止 セクタ消去一時停止中の読出しアクセスでは , フラッシュメモリユニットは , アドレス 信号により指定されたアドレスが消去中セクタに属する場合には , "1" を出力します。 信号アドレスにより指定されたアドレスが , 消去中セクタに属さない場合は , フラッ シュメモリユニットは信号アドレスにより指定されたアドレスの値の bit3 を出力しま す。 ■ ハードウェアシーケンスフラグの使用例 前述したハードウェアシーケンスフラグを使用すると , フラッシュメモリユニット内 の自動アルゴリズムの状態を判断できます。図 31.6-3 と図 31.6-4 は , データポーリン グ機能とトグルビット機能を使用した書込み / 消去の判断に関するフローチャートで す。 図 31.6-3 データポーリング機能を使用した書込み / 消去の判断フローチャート 書込み/消去開始 読込み (D16~D31) ADDr = VA D23 = データ? YES NO NO D21 = 1? YES 読込み (D16~D31) ADDr = VA D23 = データ? YES NO 書込み/消去失敗 書込み/消去合格 VA = 書込みアドレス = セクタ消去中に消去されたセクタのアドレス = チップ消去中に保護されなかったセクタのアドレス <注意事項> D21 が変更されると , D23 も変更されます。D21 = 1 の場合でも , D23 を再度 チェックする必要があります。 739 第 31 章 フラッシュメモリ 図 31.6-4 トグルビット機能を使用した書込み / 消去の判断フローチャート 書込み/消去開始 読込み (D16~D31) ADDr = "H"または"L" D22 = トグル? NO YES NO D21 = 1? 読込み (D16~D31) ADDr = "H"または"L" YES D22 = トグル? NO YES 書込み/消去失敗 <注意事項> 書込み/消去合格 D21 を 1 に変更すると , D22 はトグルを停止します。D21 = 1 の場合でも , D22 を 再度チェックする必要があります。 ■ レディ / ビジー信号 フラッシュメモリユニットには , データポーリングフラグやトグルビットフラグなど のハードウェアシーケンスフラグとともに , 自動アルゴリズムの実行 , または終了を通 知するレディ / ビジー信号などのハードウェア信号もあります。 この信号はフラッシュメモリモードでのみ使用します。 レディ / ビジー信号は , フラッシュメモリユニットから , 非同期の RY/BY 信号をチッ プ外部の BRQ 端子 ( このとき , 本端子はオープンドレイン出力となる ) として供給し ます。プルアップ抵抗を Vcc に接続すると , 複数の BRQ 端子を並列に接続できます。 BRQ 端子の出力が "0" である場合は , フラッシュメモリユニットが書込み中 , または消 去中であり , ビジーです。書込みコマンドも消去コマンドも受け付けられません。BRQ 端子の出力が "1" で外部プルアップ抵抗が接続されている場合は , フラッシュメモリユ ニットの読出し / 書込み準備ができています。消去一時停止モードでは , 外部プルアッ プ抵抗を接続すると , BRQ 端子は "1" を出力します。BRQ 端子は外部リセット中のレ ディ状態を示します。 740 第 31 章 フラッシュメモリ 31.7 セクタ保護動作 フラッシュメモリユニットにはセクタ保護機能があり , セクタ内の不正な書込み / 消 去を禁止します。一度保護したセクタは , デバイスが損傷を受けない限り変更され ません。セクタを一時的に保護すると , 書込み / 消去のために保護をキャンセルする ことができます。この動作はセクタ保護動作を使用して行います。 セクタ保護動作には , 書込み / 消去アルゴリズムのような自動アルゴリズムはありま せん。セクタ保護動作はフラッシュメモリモードでのみ実行できます。そのため , この動作はフラッシュメモリライタを使用してのみ行うことができます。 ■ セクタ保護動作リスト セクタ保護には , セクタ保護の許可 , セクタ保護の検証 , セクタ保護の一時的キャンセ ルという 3 つの動作があります。 <注意事項> 表 31.6-3 のセクタリストに対応するアドレス端子 A11 ∼ A18 を設定します。 ■ セクタ保護の許可 セクタ保護の許可は , フラッシュメモリユニットの保護回路への書込みを提供します。 この動作は , 13 のセクタ組合せでの書込みと消去を禁止します。 この動作では , 保護するセクタのセクタアドレス (A18, A17, A16, A15, A14, A13) をアド レス信号に設定し , A9 を "0" に設定する必要があります。セクタとセクタアドレスの 対応については , 表 31.6-5 を参照してください。 MD2 と MD0 に VID(12V) を印加して BGRNTX(CE) を "0" に設定すると , 保護回路への 書込みは CS4X(WE) パルスの立下りで開始され , CS4X(WE) パルスの立上りで終了し ます。CS4X(WE)パルスの印加中は, セクタアドレスを一定に保持する必要があります。 セクタ保護は一度適用するとキャンセルできません。これは保護されたセクタの書込 み / 消去を禁止します。 741 第 31 章 フラッシュメモリ ■ セクタ保護の検証 セクタ保護の検証は , フラッシュメモリユニットの保護回路への書込みを検証します。 この動作では, BGRNTX(CE)とRDY(OE)を"0"に設定し, MD0にVを印加し, CS4X(WE) を "1" に設定します ( マージンモード )。セクタアドレス (A18, A17, A16, A15, A14, A13 のいずれか ) をアドレス信号に設定し , (A7, A2, A1) = (0, 1, 0) の条件下で読み出すと , 保護されたセクタ内の D16に 1が出力されます。 00H が非保護セクタで読み出されます。 図 31.7-1 は , セクタ保護の許可とセクタ保護の検証を使用したセクタ保護アルゴリズ ムを示します。 図 31.7-1 セクタ保護の許可とセクタ保護の検証を使用したセクタ保護アルゴリズム 開始 Start S et up sector ad dresses セクタアドレスをセットアップ (A19,A18,A17,A16,A15,A14,A13) P ulse coun t パルスカウント(PLSCNT=1) MD MD2 2 = M=D MD0 0 = V= VID MD1 == VVIIDMD1H IH A7A7==CE C E == VVIL IL OE =OEVIH = V IH A I=V IL AI=VIL A 2=V IH A2=VIH Ap ply WE pu lse. WEパルスを印加 P PLSCNT LS CNT = PPLSCNT LS CNT + +1 100µsタイムアウト T ime out 100 ms WE = =VVIHIH WE CE == OE O E= =VVILIL CE (M D0 rem ains V ID.) (MD0はV のまま変化しない) ID R ead sector ad dress S A . セクタアドレスSAを読み出す (Addr A 7 ==VVIL,A2 = V IH,A1 = (Addr ==SA, SA,A7 IL,A2 = VIH, V IL,) A1 = VIL) NO PLS C NT = 25 ? YES MD0のV Ca ncel ID of MD 0 and IDVをキャンセルし てリセットコマンドを書 w rite R eset com m and. き込む NO D ata = 01H? データ 01H YES O ther sectors ほかのセクタを保護 ? protected? NO Fa il 失敗 MD0のV をキャンセルし Ca ncel IDV ID of MD 0 and てリセットコマンドを書 w rite R eset com m and. き込む セクタ保護の完了 C omp le tion of sector protection 742 YES 第 31 章 フラッシュメモリ ■ セクタ保護の一時的キャンセル セクタ保護の許可によって保護されたセクタの書込み / 消去は , デバイスが損傷を受け ない限り不可能です。セクタ保護の一時的キャンセルでは , 設定済みのセクタ保護の情 報を一時的にキャンセルできます。この動作は , MD1 に連続的に VID を印加すること により設定します。この場合 , 設定済みのセクタ保護のデータはすべて無視され , セク タすべての書込み / 消去が許可されます。 MD1 を 1(5V) に設定すると , この動作はキャンセルされ , 保護済みのすべてのセクタが 再度保護されます。 図 31.7-2 は , セクタ保護の一時的キャンセルのアルゴリズムを示します。 図 31.7-2 セクタ保護の一時的キャンセルのアルゴリズム Start 開始 MD1 = V ID *1 V g or w riting. E xecute erasin 消去または書込みの実行 MD1 = V IH E nd of sector protect cance llation*2 *2 セクタ保護キャンセルの終了 *1: すべての保護セクタの保護がキャンセルされます。 *2: 保護済みのセクタが再度保護されます。 743 第 31 章 フラッシュメモリ 31.8 外部コマンド 外部コマンドについて説明します。 ■ 拡張セクタ保護アルゴリズム 図 31.8-1 拡張セクタ保護アルゴリズム 開始 MD = V ID ID MD[2:0]=V 4µs待つ デバイスはセクター 時非保護モードで動 作中 拡張セクタ 保護に入る? セクタ保護を設定する ためにXXXH/60Hに書き 込む PLSCNT=1 PL S CNT=1 セクタ保護のためにSPA/ 40Hに書き込む (A1=VIL,A2=VIH,A7=VIL) 150µsタイムアウト Tim e O ut 150m s PLSCNTをインクリメント セクタ保護のためにSPA/ 40Hに書き込む , IH,A7=VIL) (A1=VIL,A2=V NO PLSCNT = 25? YE S RESETからVIDを除去 リセットコマンドを書き込む NO データ = 01H? YES ほかのセクタを保護? NO デバイス失敗 RESETからVIDを除去 リセットコマンドを書き込む セクタ保護完了 744 次のセクタアドレスを設定 YES 第 31 章 フラッシュメモリ ■ 高速モードアルゴリズム 図 31.8-2 高速モード用 Embedded Programm アルゴリズム 開始 555H/AAH 2AAH/55H 高速モードの設定 555H/20H X XXH/20H Pアドレスのプログラム/プログラム . データポーリング 高速プログラム中 バイトを検証? アドレスをイン クリメント 最後のアドレス? プログラミング完了 *シーケンスは16倍モードに適用されます。 アドレスは8倍モードとは異なります。 X XXH/90H 高速モードのリセット X XXH/F 0H 745 第 31 章 フラッシュメモリ 31.9 フラッシュメモリへの接続 フラッシュメモリへの接続について説明します。 ■ フラッシュメモリへの接続 MB91360 シリーズのフラッシュメモリモードでは , フラッシュメモリライタの外部接 続が可能です。表 31.3-1 に示すとおり , MB91360 シリーズと MBM29LV400C の外部端 子(4Mビットフラッシュメモリ)にはいくらか違いがあります。 そのためMBM29LV400C ライタへ接続するには , 図 31.9-1 に示すソケットアダプタが必要です。 MBM29LV400C の外部端子 (4M ビットフラッシュメモリ ) は , 表 31.3-1 に示すように フラッシュメモリモードの MB91360 シリーズの外部端子に対応します。フラッシュラ イタへ接続するには , 同じ端子配列のソケットアダプタが必要です。 また , MBM29LV400C と MB91360 シリーズの VID 電圧 (12V) 供給端子にも違いがあり ます。通常のデジタル電圧とライタから供給される VID 電圧を MB91360 シリーズの各 端子に割り当てるために , ソケットアダプタによってダイオードをクランプする必要 があります。 図 31.9-1 は, ソケットアダプタを使用した, フラッシュメモリライタとMB91360シリー ズの接続例です。この図に示されていない接続は , 表 31.3-1 に示すように行う必要が あります。 図 31.9-1 フラッシュメモリライタへの接続例 S ocket ad apte ソケットアダプタ フラッシュライタ flash w riter A9 MB91F362GB MB91FV360GA MB91F369GA A10 D9 INITX INITX RDY INT5 MD0 MD0 MD1 MD1 MD2 MD2 2.2K Ω RESET 2.2K Ω OE 2.2KΩ 746 第 31 章 フラッシュメモリ 31.10 フラッシュメモリ使用上の注意 MB91360 シリーズ デバイスのフラッシュメモリについての注意事項を以下に記述 します。 ■ ハードウェアリセットの入力 (INITX), ハードウェアスタンバイ (HSTX) CPU モードでの INITX または HSTX の最小 "L" レベル・パルス幅は , 4 MHz クロック (X0) の 8 サイクルです。フラッシュメモリモードでの INITX の最小 "L" レベル・パル ス幅は 500ns です。「1.9 デバイスの取扱いについて」を参照してください。 自動アルゴリズム実行中にハードウェアリセットまたはハードウェアスタンバイする と , その実行は解除されます。 書込み中にハードウェアリセットまたはハードウェアスタンバイすると , 書込み中の データは不定になります。 ■ ソフトウェアリセット , ウォッチドッグタイマリセット CPU アクセスでのフラッシュメモリの書込み / 消去中にリセット条件が発生し , このと き自動アルゴリズムがアクティブである場合は , CPU が暴走することがあります。こ れは , リセット条件によってフラッシュメモリユニットが初期化されないまま自動ア ルゴリズムが継続され , リセットが非アクティブになり CPU がシーケンスを起動した 場合に , フラッシュメモリユニットが読出し状態に入ることを防止するために発生し ます。これらのリセット条件は , フラッシュメモリの書込み / 消去中に禁止する必要が あります。 ■ フラッシュメモリにアクセスするプログラム 自動アルゴリズムの動作中は , フラッシュメモリへの読出しアクセスが禁止されます。 CPU のメモリアクセスモードを内部 ROM モードに設定する場合は , プログラム領域を RAM などの別領域に切り換えた後で書込み / 消去を開始する必要があります。 この場合 , 割込みベクタを含むセクタを消去すると , 割込み処理を実行できません。 同じ理由により , 自動アルゴリズムの動作中は , すべての割込みソースを使用禁止にす る必要があります。 ■ ホールド機能 CPU がホールド要求を受け付けると , フラッシュメモリユニットの書込み信号 WE が ずれ , 間違った書込み / 消去の原因となることがあります。ホールドの要求の受付を許 可する場合は , 制御ステータスレジスタ (FMCS) の WE ビットが "0" であることを確認 してください。 ■ VID の印加 セクタ保護動作に必要な VID の印加は , 必ず供給電圧がオンである場合に開始し , 終了 する必要があります。 747 第 31 章 フラッシュメモリ 31.11 フラッシュメモリモードのタイミング図 フラッシュメモリモードでの各外部端子のタイミング図を示します。それぞれの AC 仕様については , 図 31.11-1 を参照してください。 ■ 読出しアクセスによるデータ読出し 図 31.11-1 読出しアクセスのタイミング図 tRC アドレス安定 A18~A0 t AC 130 ns BGRNTX(CE) 30ns t DF tOE RDY(OE) 50ns 120ns (TOGGLE) 0ms (Read) tOEH CS4X(WE) tOH t CE 130 ns 0 高インピーダンス D31~D16 748 高インピーダンス 出力確定 第 31 章 フラッシュメモリ ■ 書込みデータポーリング読出し (WE 制御 ) 図 31.11-2 書込みアクセスのタイミング図 (WE 制御 ) 第3バスサイクル A18~A0 データポーリング 7AAAAH PA tWC tAS PA tRC tAH BGRNTX(CE) t GH eL RDY(OE) tWP CS4X(WE) tCS D31~D16 tWHWH1 tOE tWPH tDF tDH A0 H PD D23 D OUT t DS tOH VDD(=5.0V) PA: 書込みアドレス PD: 書込みデータ D23: 書込みデータの逆出力 DOUT: 書込みデータの出力 <注意事項> tCE 4 バスサイクル中の最後 2 バスサイクルのシーケンスが記述されています。 749 第 31 章 フラッシュメモリ ■ 書込みデータポーリング読出し (CE 制御 ) 図 31.11-3 書込みアクセスのタイミング図 (CE 制御 ) 第3バスサイクル A18~A0 データポーリング 7AAAA H PA tWC tAS PA tAH tWH BGRNTX(CE) tGHEL RDY(OE) tCP CS4X(WE) tWS tWHW H1 tCPH tDH A0H D31~D16 PD D23 D OUT tDS VDD(=5.0V) PA: 書込みアドレス PD: 書込みデータ D23: 書込みデータの逆出力 DOUT: 書込みデータの出力 <注意事項> 750 4 バスサイクル中の最後の 2 バスサイクルのシーケンスが記述されています。 第 31 章 フラッシュメモリ ■ チップ消去 / セクタ消去コマンドシーケンス 図 31.11-4 書込みアクセスのタイミング図 ( チップ消去 / セクタ消去 ) tAS 7AAAA H A18~A0 BGRNTX(CE) tAH 75554H 7AAAA H 7AAAA H 75554 H SA* tGH W L RDY(OE) t WP tWPH CS4X(WE) tCS tDH AA H D31~D16 55 H 80 H AA H 55 H 10 H /30 H tDS VDD tVCS <注意事項> SA はセクタ消去時のセクタアドレスです。7AAAAH( または 6AAAAH) はチップ消 去時のアドレスです。 751 第 31 章 フラッシュメモリ ■ データポーリング 図 31.11-5 データポーリングのタイミング図 tCH BGRNTX(CE) tDF tOE RDY(OE) tOEH CS4X(WE) t CE D23 t OH D23 D23= 有効データ 高インピーダンス tWHWH1 または tWHWH2 D31-D16 = 有効データ D31-D16 = 無効 D31~D16 tEO E *: DQ7は有効データです(デバイスは自動動作を終了します)。 ■ トグルビット 図 31.11-6 トグルビットのタイミング図 BGRNTX(CE) tOE H RDY(OE) tOE S CS4X(WE) * データ(D31~D16) D 22 = トグル D22 =トグル停止 D 22 = トグル tOE *:DQ6はトグルを停止します(デバイスは自動動作を終了します)。 752 D31~D16=有効 第 31 章 フラッシュメモリ ■ 書込み中 / 消去中の RY/BY タイミング 図 31.11-7 書込み中 / 消去中の RY/BY 信号出力のタイミング図 BGRNTX(CE) 最後の書込みパルスの立上りエッジ RDY(OE) 書込みまたは消去 CS4X(WE) t BUSY ■ INITX および RY/BY のタイミング 図 31.11-8 ハードウェアリセット時の RY/BY 信号出力のタイミング図 BGRNTX(CE) CS4X(WE) tRP BRQ(RY/BY) tReady 753 第 31 章 フラッシュメモリ ■ セクタ保護の許可 / セクタ保護の検証 図 31.11-9 セクタ保護の許可 / セクタ保護の検証 SAx A18~A13 SAy (A7 , A 2 ,A1)= (0 ,1 , 0) A7, A2, およびA1 MD0 12 V (A9(VID)) 5 V MD2 12 V (OE(VID)) 5 V tVLHT tVLHT CS4X(WE) t WPP RDY(OE) tO ESP D31~D16 tCSP 01H tOE SAx: 最初のセクタアドレス SAy: 次のセクタアドレス ■ セクタ保護の一時的キャンセル 図 31.11-10 セクタ保護の一時的キャンセル MD1 12 V 5V 5V (RESET(VID)) BGRNTX(CE) CS4X(WE) tVLHT 書込み/読出しコマンドシーケンス BRQ(RY/BY) セクタ保護のキャンセル 754 第 31 章 フラッシュメモリ 31.12 フラッシュメモリモードでの AC 特性 フラッシュメモリモードでの外部端子の AC 仕様を以下に示します。この仕様は , ユーザがフラッシュメモリモードで読出し / 書込みアクセスを行う場合に適用されま す。この仕様は , 通常モードでのアクセスおよびフラッシュメモリライタの使用に は必要ありません。 値は , 事前の通知なく変更されることがあります。 ■ 読出しアクセス 表 31.12-1 読出しアクセスの AC 特性 ( 推奨条件下における ) 値 パラメータ 記号 試験条件 単位 MIN TYP MAX 読出しサイクル時間 tRC - 130 - - ns アドレスアクセス時間 tACC CE = VIL OE = VIL - - 130 ns CE ∼データ出力 tCE OE = VIL - - 130 ns OE ∼データ出力 tOE - - - 50 ns CE ∼出力フロート tDF - - - 30 ns OE ∼出力フロート tDF - - - 30 ns 直前サイクルデータ 出力ホールド時間 tOH - 0 - - ns tReady - - - 20 µs INITX 端子から読出し モードへの戻り <注意事項> 特性はサンプルチェックの値であり , すべてのチェックの値ではありません。 755 第 31 章 フラッシュメモリ ■ 書込み [ 書込み / 消去コマンド ] アクセス (WE 制御 ) 表 31.12-2 書込みアクセスの AC 特性 (WE 制御 )( 推奨条件下における ) 値 パラメータ 記号 単位 MIN TYP MAX 書込みサイクル時間 tWC 130 - - ns アドレス設定時間 tAS 0 - - ns アドレスホールド時間 tAH 50 - - ns データ設定時間 tDS 50 - - ns データホールド時間 tDH 0 - - ns 出力許可設定時間 tOES 0 - - ns 0 - - ns 10 - - ns tGHWL 0 - - ns CE 設定時間 tCS 0 - - ns CE ホールド時間 tCH 0 - - ns 書込みパルス幅 tWP 50 - - ns 書込みパルス幅ハイレベル tWPH 20 - - ns 書込み継続時間 tWHWH1 - 16 - µs セクタ消去継続時間 *1 tWHWH2 - 1.5 30 s VDD 設定時間 tVCS 50 - - µs 電圧遷移時間 *2 tVLHL 4 - - µs 書込みパルス幅 *2 tWPP 100 - - µs WE 確認用の OE 設定時間 *2 tOESP 4 - - µs WE 確認用の CE 設定時間 *2 tCSP 4 - - µs INITX パルス幅 tRP 500 - - ns tBUSY 50 - - ns 読出し 出力許可ホールド 時間 トグルおよび データポーリ ング 書込み前の読出しリカバリー時間 書込み / 消去が許可されるまでの RY/BY 遅延 tOEH *1: 消去前の内部予備プログラミング時間は含まれていません。 *2: セクタ保護にのみ適用します。 特性はサンプルチェックの値であり , すべてのチェックの値ではありません。 756 第 31 章 フラッシュメモリ ■ 書込み [ 書込み / 消去コマンド ] アクセス (CE 制御 ) 表 31.12-3 書込みアクセスの AC 特性 (CE 制御 )( 推奨条件下における ) 値 パラメータ 記号 単位 MIN TYP MAX 書込みサイクル時間 tWC 120 - - ns アドレス設定時間 tAS 0 - - ns アドレスホールド時間 tAH 50 - - ns データ設定時間 tDS 50 - - ns データホールド時間 tDH 0 - - ns 出力許可設定時間 tOES 0 - - ns 0 - - ns 10 - - ns tGHWL 0 - - ns WE 設定時間 tWS 0 - - ns WE ホールド時間 tWH 0 - - ns CE パルス幅 tCP 50 - - ns CE パルス幅ハイレベル tCPH 20 - - ns 書込み継続時間 tWHWH1 - 16 - µs セクタ消去継続時間 * tWHWH2 - 1.5 30 s VDD 設定時間 tVCS 50 - - µs INITX パルス幅 tRP 500 - - ns tBUSY 50 - - ns 出力許可ホールド 時間 読出し トグルおよび データ ポーリング 書込み前の読出しリカバリー時間 書込み / 消去が許可されるまでの RY/BY 遅延 tOEH *: 消去前の内部予備プログラミング時間は含まれていません。 特性はサンプルチェックの値であり , すべてのチェックの値ではありません。 757 第 31 章 フラッシュメモリ 758 第 32 章 EDSU 内蔵デバッグ・サポート・ユニット (EDSU) は , シ ングル・チップ FLASH MCU デバイスでの回路デ バッグ・サポート機能の基本操作を可能にするモ ジュールです。 32.1 EDSU の概要 759 第 32 章 EDSU 32.1 EDSU の概要 内蔵デバッグ・サポート・ユニット (EDSU) は , シングルチップ FLASH MCU デバ イスでの回路デバッグ・サポート機能の基本操作を可能にするモジュールです。 EDSU は , 高額なイン・サーキット・エミュレーション (ICE) システムに代わる効果 的なソリューションとして開発されたものです。ICE システムは , 特殊デバッグ・サ ポート・ユニット (DSU) に搭載されている評価チップ (EVA) に基づいています。ま た , ターゲット・システムの物理的なサイズによっては , ICE の導入が困難であるに もかかわらず , イン・システムのデバッグ機能が必要であるという状況が考えられ ます。 ハードウェア・サポートはブレーク検出に制限されているため , マスク不可能な例外処 理が発生します。バックグランド・デバッグ監視ソフトウェアを導入することにより , これらの例外 ( 割込み ) を処理すると共に , 要件に応じて EDSU の構成を実行できま す。EDSU は , 内部インタフェースを介して , 実行ユニット (E ユニット ) および D バ スにのみ接続されます。追加 MCU ポートは必要ありません。ただし , デバッグ中 , 1 つの UART チャネルが使用されます。プログラム実行トレース機能はサポートされま せん。 EDSU の利点は , ターゲット・デバイスでのデバッグが可能になるという点です。エ ミュレーション・システムに切り換えることなく , ターゲット・デバイス上で , アプリ ケーション・ソフトウェアのデバッグを直接実行できます。エミュレーション・シス テムに接続するために , ターゲット・システム PCB 上の特殊 ( 高額 ) アダプタを監視 する必要がないため , 真のイン・システム・デバッグ処理が実現します。 エミュレーション・デバイスでは処理不可能な , 新規 ( またはカスタム ) マクロが導入 されているデバイスのデバッグ処理も可能になります。 これらの利点により , ( 高価な ) エミュレーション・システムを購入せずに , 高速イン • システム開発 / デバッグ処理を可能にするソリューションが実現します。 760 第 32 章 EDSU 32.1.1 EDSU アプリケーションシステム 図 32.1-1 は , 内蔵デバッグ・サポート・ユニットを用いた典型的なアプリケーショ ン・システム例です。 図 32.1-1 EDSU アプリケーション・システム ホスト PC > BDSU ready > go RS232 MB91F366 ターゲットアプリケーションシステム バックグランドでデバッグ監視ソフトウェアを実行する RS232 インタフェースを搭載 しているホスト PC が , シリアル・ケーブルを介して , 内蔵デバッグ・サポート機能を 持つ MCU に直接接続されています (CMOS コンバータへの RS232 は , ターゲット・シ ステム PCB の外部 ( 例えばシリアルケーブル ) に設置可能 ) 。 761 第 32 章 EDSU 32.1.2 デバッグシステム 表 32.1-1 は , 利用可能なデバッグ・システムの比較表です。 表 32.1-1 利用可能なデバッグ・システムの比較 DSU 付き EVA チップ ICE システムへのアダプタが 必要 EDSU シングルチップ , リアル・イン・システム・ デバッグ * ソフトウェアモニタ デバッガ 外部 RAM が必要 デバッグ・ソフトウェアは ICE デバッグ・ソフトウェア通信用 デバッグ・ソフトウェア通信用に に UART チャネル (x1) が必要 UART が必要 を介して通信 , 現在 , 外部 UART 16550 デバイス デバッグ中 , リソースの 用ソフトウェアのみが利用可能 ブロックなし モニタ・デバッガ・カーネルが モニタ・デバッガ・カーネルま モニタ・デバッガ・カーネルの 不要 たはデバッグ機能を , 必要な 開始時 , 複雑なブート・プロシー アプリケーションにリンク ジャが必要 短所 : 予備の FLASH 領域 短所 : 予備 の FLASH 領域 , 外部 RAM へのプログラ ム・アップロード FLASH 内にコードを配置し , FLASH から実行可能 FLASH 内にコードを配置し , FLASH から実行可能 コードは外部 RAM に配置され , FLASH 領域にマップされる デバッグ処理中 , FLASH が無効に なる ハードウェア・ブレークポイン ハードウェア・ブレークポイン リアルタイムのデバッグ処理では ない , ソフトウェア・ブレークポ トを伴うリアルタイム・ トを伴うリアルタイム・ デバッグ処理 デバッグ処理 イント 8 命令ブレークポイント 2 オペランド中断ポイント マスクオプション データ値ブレーク・オプション 命令 / データのトレース 命令ブレークポイントは , ソフト 4 命令ブレークポイント ウェアに制限される 2 オペランド中断ポイント 範囲とマスクオプション データ値ブレーク・オプション *: デバッグ環境は , ターゲット・アプリケーションの環境と同じ。追加アダプタ , 補助配線が不要 (EMI 測定には重要 ) 。 762 第 32 章 EDSU 32.1.3 EDSU メイン機能 MB91360 シリーズ 向け内蔵デバッグ・サポート・ユニット (EDSU) ■ メイン機能 • 4 アドレス・ブレークポイント命令 • 2 割込みアドレス・ブレークポイント・マスク • 命令ブレークポイント・アドレス範囲機能 • 2 オペランド・アドレス・ブレークポイント ( データサイズおよびアクセス・タイプでプログラム可能 ) • 1 オペランド・アドレス・ブレークポイント・マスク • オペランド・ブレークポイント・アドレス範囲機能 • 2 オペランド・データ値ブレークポイント • 1 オペランド・データ値ブレークポイント・マスク • リソース割込みでプログラム可能なブレークトリガ 763 第 32 章 EDSU 32.1.4 EDSU の詳細 バックグランド・デバッグ処理ソフトウェアに関するドキュメンテーションを参照し てください。 764 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 シリアル書込みについて説明します。 33.1 MB91360( 代表マイコン : MB91F362GB) 書込み基本構 成 33.2 富士通標準シリアルオンボード書込みに使用する端子 33.3 シリアル書込み接続例 33.4 フラッシュマイコンプログラマシステム構成 33.5 その他の注意事項 765 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 33.1 MB91360( 代表マイコン : MB91F362GB) 書込み基本構 成 MB91360 シリーズの Flash 内蔵デバイスではフラッシュ ROM のシリアルオンボー ド書込み ( 富士通標準 ) をサポートしています。その仕様について MB91F362GB を 代表マイコンとして以下に解説します。 ■ MB91360( 代表マイコン : MB91F362GB) 書込み基本構成 富士通標準シリアルオンボード書込みには , 横河ディジタルコンピュータ株式会社製 NET IMPRESS フラッシュマイコンプログラマを使用します。 図 33.1-1 に , MB91360 ( 代表マイコン : MB91F362GB) 書込み接続例の基本構成を示し ます。 図 33.1-1 MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続例の基本構成 ホストインタフェースケーブル (AZ201) RS232C NET IMPRESS フラッシュマイ コンプログラマ + 汎用共通ケーブル (AZ211) CLK 同期シリアル MB91F362GB ユーザシステム メモリカード スタンドアロンで動作可能 <注意事項> 766 NET IMPRESS フラッシュマイコンプログラマの機能・操作方法および接続用汎用 共通ケーブル (AZ211), コネクタにつきましては , 横河ディジタルコンピュータ株式 会社殿にお問い合わせください。 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 33.2 富士通標準シリアルオンボード書込みに使用する端子 富士通標準シリアルオンボード書込みに使用する端子について説明します。 ■ 富士通標準シリアルオンボード書込みに使用する端子 表 33.2-1 に , 富士通標準シリアルオンボード書込みに使用する端子の機能を示します。 表 33.2-1 富士通標準シリアルオンボード書込みに使用する端子の機能 端 子 機 能 補 足 説 明 MD2, MD1, MD0 モード端子 フラッシュマイコンプログラマから書込みモードに制御 します。FLASH シリアル書込みを行う場合 , 通常モード と同じ MD2, MD1, MD0 = 0, 0, 0 を設定します。 X0, X1 発振用端子 書込みモード時に , CPU 内部動作クロックは 2 分周と なっております。シリアル書き換え時に使用する振動子 は通常モードと同じ 4 MHz となります。 INITX リセット端子 - SIN0 シリアルデータ入力端子 SOT0 シリアルデータ出力端子 SIN3 シリアルクロック入力端子 SOT3 シリアルデータ出力端子 SCK3 シリアルクロック入力端子 SIN4 シリアルクロック入力端子 SOT4 シリアルデータ出力端子 SCK4 シリアルクロック入力端子 VDD 電源電圧供給端子 VSS GND 端子 UART を CLK 同期モードとして使用します。 SIO0 を CLK 同期モードとして使用します。 SIO1 を CLK 同期モードとして使用します。 書込み電圧をユーザシステムから供給する場合にはフ ラッシュマイコンプログラマとの接続は必要ありませ ん。接続時にはユーザ側の電源と短絡しないようにして ください。 フラッシュマイコンプログラマの GND と共通にします。 図 33.2-1 制御回路 NET IMPRESS 書込み制御端子 NET IMPRESS /TICS 端子 MB91F362GB 書込み制御端子 10 kΩ ユーザ 767 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 <注意事項> 768 SIN0, SOT0, SIN3, SOT3, SCK3, SIN4, SOT4, SCK4 端子をユーザシステムでも使 用する場合には , 右図の制御回路が必要となります。( フラッシュマイコンプログ ラマの /TICS 信号により , シリアル書込み中はユーザ回路を切り離すことができま す。接続例をご参照ください。) 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 33.3 シリアル書込み接続例 代表的なシリアル書込み接続例を示します。 ■ UART 通信を使用するシリアル書込み接続例 UART 通信を使用する場合におけるシリアル書込み接続例を下記に示します。 なお , モード端子 MD2, MD1, MD0 にはフラッシュマイコンプログラマ (NET IMPRESS) の TAUX3, TAUX, TMDE より MD2=0, MD1 = 0, MD0 = 0 が入力されます。( シリアル 書換えモード : MD2, MD1, MD0 = 000) 769 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 図 33.3-1 MB91F362GB UART 通信を使用するシリアル書込み接続例 ユーザシステム IMPRESS フラッシュマイコン プログラマ コネクタ DX10-28S MB91F362GB (19) TAUX3 TAUX MD2 MD1 10 kΩ TMDE 10 kΩ MD0 (12) 10 kΩ X0 4 MHz X1 TAUX (23) /TICS (10) 10 kΩ 10 kΩ (5) /TRES INITX ユーザ TTXD (13) SIN0 TRXD (27) SOT0 TVcc (2) VDD GND (7,8, 14,15, 21,22, 1,28) 3, 4, 6, 9, 11, 16, 17, 18, 20, 24, 25, 26 ピンは OPEN DX10-28S: ライトアングルタイプ <注意事項> 770 ユーザ電源 Vss 14 ピン 1 ピン DX10-28S 28 ピン 15 ピン コネクタ ( ヒロセ電機製 ) のピン配列 • SIN0, SOT0 端子をユーザシステムでも使用する場合には , 下図の制御回路が必 要となります。( フラッシュマイコンプログラマの /TICS 信号により , シリアル 書み中はユーザ回路を切り離すことができます。) • NET IMPRESS との接続はユーザ電源が OFF の状態で行ってください。 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 図 33.3-2 制御回路 NET IMPRESS 書込み制御端子 NET IMPRESS /TICS 端子 MB91F362GB 書込み制御端子 10 kΩ ユーザ 771 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 ■ SIO0 を使用するシリアル書込み接続例 SCI 通信を使用する場合におけるシリアル書込み接続例を下記に示します。 なお , モード端子 MD2, MD1, MD0 にはフラッシュマイコンプログラマ (NET IMPRESS) の TAUX3, TAUX, TMDE より MD2 = 0, MD1 = 0, MD0 = 0 が入力されます。( シリアル 書換えモード : MD2, MD1, MD0 = 000) 772 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 図 33.3-3 MB91F362GB SIO0 を使用するシリアル書込み接続例 ユーザシステム IMPRESS フラッシュマイコン プログラマ TAUX3 TAUX コネクタ DX10-28S MB91F362GB (19) MD2 MD1 10 kΩ TMDE 10 kΩ MD0 (12) 10 kΩ X0 4 MHz X1 TAUX (23) /TICS (10) 10 kΩ 10 kΩ 10 kΩ /TRES (5) INITX ユーザ TTXD (13) TRXD (27) TCK (6) TVcc (2) SIN0 SIN3 SOT0 SOT3 SCK3 VDD ユーザ電源 GND (7,8, 14,15, 21,22, 1,28) 3, 4, 6, 9, 11, 16, 17, 18, 20, 24, 25, 26 ピンは OPEN DX10-28S: ライトアングルタイプ Vss 14 ピン 1 ピン DX10-28S 28 ピン 15 ピン コネクタ ( ヒロセ電機製 ) のピン配列 <注意事項> • SIN0, SOT0, SCK0, SIN3, SOT3, SCK3 端子をユーザシステムでも使用する場合 には , 下図の制御回路が必要となります。( フラッシュマイコンプログラマの /TICS 信号により , シリアル書込み中はユーザ回路を切り離すことができます。) • NET IMPRESS との接続はユーザ電源が OFF の状態で行ってください。 • SOT0 と SIN0 は必ず使用しますのでプローブ先端でこれらを結線してください。 773 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 図 33.3-4 制御回路 AF200 書込み制御端子 AF200 /TICS 端子 MB91F362GB 書込み制御端子 10 kΩ ユーザ 774 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 ■ SIO1 を使用するシリアル書込み接続例 SCI 通信を使用する場合におけるシリアル書込み接続例を下記に示します。 なお , モード端子 MD2, MD1, MD0 にはフラッシュマイコンプログラマ (NET IMPRESS) の TAUX3, TAUX, TMDE より MD2 = 0, MD1 = 0, MD0 = 0 が入力されます。( シリアル 書換えモード : MD2, MD1, MD0 = 000) 図 33.3-5 SIO1 を使用するシリアル書込み接続例 ユーザシステム IMPRESS フラッシュマイコン プログラマ TAUX3 TAUX コネクタ DX10-28S MB91F362GB (19) MD2 MD1 10 kΩ TMDE 10 kΩ MD0 (12) 10 kΩ X0 4 MHz X1 TAUX (23) /TICS (10) 10 kΩ 10 kΩ 10 kΩ /TRES (5) INITX ユーザ TTXD (13) TRXD (27) TCK (6) SIN0 SIN4 SOT0 SOT4 SCK4 TVcc (2) VDD GND (7,8, 14,15, 21,22, 1,28) 3, 4, 6, 9, 11, 16, 17, 18, 20, 24, 25, 26 ピンは OPEN ユーザ電源 Vss 14 ピン DX10-28S 28 ピン DX10-28S: ライトアングルタイプ 1 ピン 15 ピン コネクタ ( ヒロセ電機製 ) のピン配列 775 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 <注意事項> • SIN0, SOT0, SIN4, SOT4, SCK4 端子をユーザシステムでも使用する場合には , 下図の制御回路が必要となります。( フラッシュマイコンプログラマの /TICS 信 号により , シリアル書込み中はユーザ回路を切り離すことができます。) • NET IMPRESS との接続はユーザ電源が OFF の状態で行ってください。 • SOT0 と SIN0 は必ず使用しますのでプローブ先端でこれらを結線してくださ い。 図 33.3-6 制御回路 MB91F362GB 書込み制御端子 書込み制御端子 10 kΩ /TICS 端子 776 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 33.4 フラッシュマイコンプログラマシステム構成 フラッシュマイコンプログラマ ( 横河ディジタルコンピュータ株式会社製 ) のシステ ム構成を示します。 ■ フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会 社製 ) 表 33.4-1 フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会社製 ) 型 格 本 体 機 能 AF220/AC4P イーサネットインタフェースモデル /100 V ∼ 220 V 電源アダプタ AF210/AC4P スタンダードモデル /100 V ∼ 220 V 電源アダプタ AF120/AC4P 単キーイーサネットインタフェースモデル /100 V ∼ 220 V 電源アダプタ AF110/AC4P 単キーモデル /100 V ∼ 220 V 電源アダプタ AZ221 ライタ専用 PC-AT 用 RS232C ケーブル AZ210 標準ターゲットプローブ (a) 長さ : 1m FF003 富士通製 FR フラッシュマイコン用コントロールモジュール AZ290 リモートコントローラ /P2 2MB PC Card (Option) FLASH メモリ容量 128KB まで /P5 4MB PC Card (Option) FLASH メモリ容量 768KB まで /E6 4MB PC Card (Option) FLASH メモリ容量 2MB まで 問い合せ先 : 横河ディジタルコンピュータ株式会社 機器事業部 電話 : 042-333-6224 777 第 33 章 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続 33.5 その他の注意事項 MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続時の注意事項を示し ます。 ■ MB91360( 代表マイコン : MB91F362GB) シリアル書込み接続時の注意事項 ● 原発振クロック周波数について FLASH メモリ書込み時に使用可能な原発振クロックは 4.0 MHz です。 ● フラッシュメモリ書込み時のポート状態 シリアルライタを用いて FLASH メモリ書込み時のポート状態は , 書込みに使用してい る端子を除きリセット状態と同じです。 778 付録 本文で解説できなかった詳細およびプログラミン グのための参考情報を載せています。ここでは , 以 下の項目が含まれています。 付録 A I/O マップ 付録 B 割込みベクタ 付録 C CPU の各状態における端子の状態 付録 D 命令 779 付録 付録 A I/O マップ 本付録では , MB91360 シリーズの内部周辺回路機能で使用するレジスタのアドレス を一覧で示します。 ■ I/O マップの読み方 レジスタ 内部周辺回路 アドレス 000014H +0 +1 +2 PDRG[R/W] PDRH[R/W] PDRI[R/W] XXXXXX-- XXXXXXXX ----XXXX +3 ― ポートデータ レジスタ 読出し/書込み属性 リセット後のレジスタの初期値(ビットの初期値) "1": 初期値"1","0": 初期値"0", "X": 初期値"X"(未定義), "-"は,存在しないビットです。 レジスタ名(1コラムのレジスタは4n番地,2コラムのレジスタは4n+1番地・・・) 左端のレジスタの番地 (+0)。+1 , +2, および +3 はそれぞれ番地を 1 ずつ増分したもの です。ワードでアクセスした場合, 1コラムのレジスタはデータのMSB側に置かれます。 <注意事項> 780 書込み専用 (W) ビットを含むレジスタに , RMW 命令を使用しないでください。 RMW 命令 (RMW: リードモディファイライト ) AND Rj, @Ri OR Rj, @Ri EOR Rj, @Ri ANDH Rj, @Ri ORH Rj, @Ri EORH Rj, @Ri ANDB Rj, @Ri ORB Rj, @Ri EORB Rj, @Ri BANDL #u4, @Ri BORL #u4, @Ri BEORL #u4, @Ri BANDH #u4, @Ri BORH #u4, @Ri BEORH #u4, @Ri 予備の領域および "―" の付いた領域のデータは不定です。これらの領域は使用しな いでください。 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 000000H 予約 000004H 000008H +3 PDR7 [R/W] -111---- 予約 PDR8 [R/W] XXXXXXXX PDR9 [R/W] XXXXXXX1 00000CH ――― PDRB [R/W] -----XXX ――― 000010H PDRG [R/W] XXXXXXXX PDRH [R/W] XXXXXXXX PDRI [R/W] X---X--- PDRJ [R/W] XXXXXXXX 000014H PDRK [R/W] XXXXXXXX PDRL [R/W] XXXXXXXX PDRM [R/W] ----XXXX PDRN [R/W] --XXXXXX 000018H PDRO [R/W] XXXXXXXX PDRP [R/W] --XXXXXX PDRQ [R/W] --XXXXXX PDRR [R/W] XXXXXXXX 00001CH PDRS [R/W] XXXXXXXX PDRT [R/W] --XXXXXX ――― ――― 000020H | 00003CH ――― ――― ――― ――― 000040H EIRR [R/W] 00000000 ENIR [R/W] 00000000 000044H DICR [R/W] -------0 HRCL [R/W, R] 0--11111 000048H 00004CH 000050H 000054H 000058H 00005CH T-unit ポート データレジスタ R-bus ポート データレジスタ 予約 ELVR [R/W] 00000000 00000000 CLKR2 [R/W] -----000 予備 TMRLR0 [W] XXXXXXXX XXXXXXXX TMR0 [R] XXXXXXXX XXXXXXXX ――― TMCSR0 [R/W] ----0000 ---00000 TMRLR1 [W] XXXXXXXX XXXXXXXX TMR1 [R] XXXXXXXX XXXXXXXX ――― TMCSR1 [R/W] ----0000 ---00000 TMRLR2 [W] XXXXXXXX XXXXXXXX TMR2 [R] XXXXXXXX XXXXXXXX ――― TMCSR2 [R/W] ----0000 ---00000 000060H SSR0 [R/W, R] 00001-00 000064H ULS0 [R/W] ----0000 SIDR0/SODR0 [R/W] XXXXXXXX SCR0 [R/W, W] 00000100 SMR0 [R/W, W] 00--0-0- ――― ――― ――― Ext int/NMI DLYI/I-unit RTC リロードタイマ 0 リロードタイマ 1 リロードタイマ 2 UART0 781 付録 レジスタ アドレス ブロック +0 000068H +2 +3 DRCL0 [W] -------- UTIMC0 [R/W] 0--00-01 U-TIMER 0 SIDR1/SODR1 [R/W] XXXXXXXX SCR1 [R/W, W] 00000100 SMR1 [R/W, W] 00--0-0- UART1 ――― ――― ――― DRCL1 [W] -------- UTIMC1 [R/W] 0-----01 U-TIMER 1 SIDR2/SODR2 [R/W] XXXXXXXX SCR2 [R/W, W] 00000100 SMR2 [R/W, W] 00--0-0- UART2 ――― ――― ――― UTIM0/UTIMR0 [R/W] 00000000 00000000 00006CH SSR1 [R/W, R] 00001-00 000070H ULS1 [R/W] ----0000 000074H +1 UTIM1/UTIMR1 [R/W] 00000000 00000000 000078H SSR2 [R/W, R] 00001-00 00007CH ULS2 [R/W] ----0000 000080H UTIM2/UTIMR2 [R/W] 00000000 00000000 DRCL2 [W] -------- UTIMC2 [R/W] 0---1-01 U-TIMER 2 000084H SMCS0 [R/W] 00000010 ----00-0 SES0 [R/W] ------00 SDR0 [R/W] 00000000 SIO 0 000088H SMCS1 [R/W] 00000010 ----00-0 SES1 [R/W] ------00 SDR1 [R/W] 00000000 SIO 1 00008CH CDCR0 [R/W] 0---1111 予約 CDCR1 [R/W] 0---1111 予約 SIO 0/1 プリスケーラ 000090H ――― ――― ――― ――― 予約 000094H ――― ――― ――― ――― 000098H ――― ――― ――― ――― 00009CH ADMD [R/W, W] ----0000 ADCH [R/W] 00000000 ――― ADCS [R/W, W] 0000--00 ――― ADBL [R/W] -------0 0000A0H 0000A4H 0000A8H 0000ACH ADCD [R/W] 000000XX XXXXXXXX ――― DACR [R/W] -----000 DADR1 [R/W] ------XX XXXXXXXX IOTDBL0 [R/W] -----000 ICS01 [R/W] 00000000 DADR0 [R/W] ------XX XXXXXXXX ――― DDBL [R/W] -------0 IOTDBL1 [R/W] -----000 ICS23 [R/W] 00000000 0000B0H IPCP0 [R] XXXXXXXX XXXXXXXX IPCP1 [R] XXXXXXXX XXXXXXXX 0000B4H IPCP2 [R] XXXXXXXX XXXXXXXX IPCP3 [R] XXXXXXXX XXXXXXXX 782 A/D コンバータ DAC インプット キャプチャ 0, 1, 2, 3 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 0000B8H OCS01 [R/W] ---0--00 0000--00 OCS23 [R/W] ---0--00 0000--00 0000BCH OCCP0 [R/W] XXXXXXXX XXXXXXXX OCCP1 [R/W] XXXXXXXX XXXXXXXX 0000C0H OCCP2 [R/W] XXXXXXXX XXXXXXXX OCCP3 [R/W] XXXXXXXX XXXXXXXX 0000C4H 0000C8H 0000CCH ――― ――― アウトプット コンペア 0, 1, 2, 3 ――― ――― 予備 TCDT0 [R/W] XXXXXXXX XXXXXXXX ――― TCCS0 [R/W] -0000000 ICU/OCU 用 フリーラン カウンタ 0 TCDT1 [R/W] XXXXXXXX XXXXXXXX ――― TCCS1 [R/W] -0000000 ICU/OCU 用 フリーラン カウンタ 1 0000D0H ZPD0 [R/W, R] 00000010 PWC0 [R/W] 00000--0 ZPD1 [R/W, R] 00000010 PWC1 [R/W] 00000--0 SMC 0, 1 0000D4H ZPD2 [R/W, R] 00000010 PWC2 [R/W] 00000--0 ZPD3 [R/W, R] 00000010 PWC3 [R/W] 00000--0 SMC 2, 3 0000D8H PWC20 [R/W] XXXXXXXX PWC10 [R/W] XXXXXXXX PWS20 [R/W] -0000000 PWS10 [R/W] --000000 SMC 0 0000DCH PWC21 [R/W] XXXXXXXX PWC11 [R/W] XXXXXXXX PWS21 [R/W] -0000000 PWS11 [R/W] --000000 SMC 1 0000E0H PWC22 [R/W] XXXXXXXX PWC12 [R/W] XXXXXXXX PWS22 [R/W] -0000000 PWS12 [R/W] --000000 SMC 2 0000E4H PWC23 [R/W] XXXXXXXX PWC13 [R/W] XXXXXXXX PWS23 [R/W] -0000000 PWS13 [R/W] --000000 SMC 3 0000E8H SMDBL0 [R/W] -------0 SMDBL1 [R/W] -------0 SMDBL2 [R/W] -------0 SMDBL3 [R/W] -------0 SMC 0, 1, 2, 3 ――― SGDBL [R/W] -------0 SGAR [R/W] 00000000 SGFR [R/W] XXXXXXXX ――― WTDBL [R/W] -------0 0000ECH 0000F0H 0000F4H 0000F8H 0000FCH ――― WTHR [R/W] ---00000 SGCR [R/W, R] 0-----00 000--000 SGTR [R/W] XXXXXXXX SGDR [R/W] XXXXXXXX WTCR [R/W, R] 00000000 000-0000 WTBR [R/W] --XXXXXX XXXXXXXX XXXXXXXX WTMR [R/W] --000000 WTSR [R/W] --000000 サウンド生成器 リアルタイム クロック ( ウォッチタイマ ) ――― 783 付録 レジスタ アドレス ブロック +0 000100H 000104H 000108H 00010CH 000110H 000114H +1 +2 +3 TMRLR3 [W] XXXXXXXX XXXXXXXX TMR3 [R] XXXXXXXX XXXXXXXX ――― TMCSR3 [R/W] ----XX-- ---XXXXX TMRLR4 [W] XXXXXXXX XXXXXXXX TMR4 [R] XXXXXXXX XXXXXXXX ――― TMCSR4 [R/W] ----XX-- ---XXXXX TMRLR5 [W] XXXXXXXX XXXXXXXX TMR5 [R] XXXXXXXX XXXXXXXX ――― TMCSR5 [R/W] ----XX-- ---XXXXX リロードタイマ 3 リロードタイマ 4 リロードタイマ 5 000118H GCN10 [R/W] 00110010 00010000 PDBL0 [R/W] ----0000 GCN20 [R/W] ----0000 PWM 制御 0 00011CH GCN11 [R/W] 00110010 00010000 PDBL1 [R/W] ----0000 GCN21 [R/W] ----0000 PWM 制御 1 000120H PTMR0 [R] 11111111 11111111 000124H PDUT0 [W] XXXXXXXX XXXXXXXX 000128H PTMR1 [R] 11111111 11111111 00012CH PDUT1 [W] XXXXXXXX XXXXXXXX 000130H PTMR2 [R] 11111111 11111111 000134H PDUT2 [W] XXXXXXXX XXXXXXXX 000138H PTMR3 [R] 11111111 11111111 00013CH PDUT3 [W] XXXXXXXX XXXXXXXX 000140H PTMR4 [R] 11111111 11111111 000144H PDUT4 [W] XXXXXXXX XXXXXXXX 000148H PTMR5 [R] 11111111 11111111 00014CH PDUT5 [W] XXXXXXXX XXXXXXXX 784 PCSR0 [W] XXXXXXXX XXXXXXXX PCNH0 [R/W] 0000000- PCNL0 [R/W] 000000-0 PCSR1 [W] XXXXXXXX XXXXXXXX PCNH1 [R/W] 0000000- PWM4 PCNL4 [R/W] 000000-0 PCSR5 [W] XXXXXXXX XXXXXXXX PCNH5 [R/W] 0000000- PWM3 PCNL3 [R/W] 000000-0 PCSR4 [W] XXXXXXXX XXXXXXXX PCNH4 [R/W] 0000000- PWM2 PCNL2 [R/W] 000000-0 PCSR3 [W] XXXXXXXX XXXXXXXX PCNH3 [R/W] 0000000- PWM1 PCNL1 [R/W] 000000-0 PCSR2 [W] XXXXXXXX XXXXXXXX PCNH2 [R/W] 0000000- PWM0 PCNL5 [R/W] 000000-0 PWM5 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 000150H PTMR6 [R] 11111111 11111111 000154H PDUT 6 [W] XXXXXXXX XXXXXXXX 000158H PTMR7 [R] 11111111 11111111 00015CH PDUT7 [W] XXXXXXXX XXXXXXXX 000160H ――― ――― +2 +3 PCSR6 [W] XXXXXXXX XXXXXXXX PCNH6 [R/W] 0000000- PCNL6 [R/W] 000000-0 PCSR7 [W] XXXXXXXX XXXXXXXX PCNH7 [R/W] 0000000- PCNL7 [R/W] 000000-0 ――― ――― 000164H CMCR [R/W] 11111111 0000000 CMPR [R/W, R] ----1001 1---0001 000168H CMLS0 [R/W] 01110111 1111111 CMLS1 [R/W] 01110111 1111111 00016CH CMLS2 [R/W] 01110111 1111111 CMLS3 [R/W] 01110111 1111111 000170H CMLT0 [R/W, R] -----100 00000010 CMLT1 [R/W, R] 11110100 00000010 000174H CMLT2 [R/W, R] -----100 00000010 CMLT3 [R/W, R] -----100 00000010 000178H CMAC [R/W] 11111111 1111111 CMTS [R/W, R] --000001 01111111 ――― PDRCR [R/W] -----000 ――― ――― 000180H ACCDBL[R/W] -------0 ACSR [R/W, R] ---XXX00 ――― ――― 000184H IBCR2 [R/W] 00000000 IBSR2 [R] 00000000 ITBAH [R/W] ------00 ITBAL [R/W] 00000000 000188H ITMKH [R/W, R] 00----11 ITMKL [R/W] 11111111 ISMK [R/W] 01111111 ISBA [R/W] -0000000 00018CH IDARH [-] 00000000 IDARH2 [R/W] 00000000 ICCR2 [R/W] -0011111 IDBL2 [R/W] -------0 00017CH PWM6 000190H CUCR [R/W, R] -------- ---0--00 CUTD [R/W] 10000000 00000000 000194H CUTR1 [R] -------- 00000000 CUTR2 [R] 00000000 00000000 PWM7 予約 クロック 変調 パワーダウン リセット アラーム比較器 I2C( 新 ) 32 kHz 発振器の 補正ユニット 785 付録 レジスタ アドレス ブロック +0 +1 +2 +3 000198H SCR5 [R/W, W] 00000000 SMR5 [R/W, W] 00000000 SSR5 [R/W, R] 00001000 RDR5/TDR5 [R/W] 00000000 00019CH ESCR5 [R/W] 00000X00 ECCR5 [R/W, R, W] -00000XX BGR15 [R/W] -0000000 BGR05 [R/W] 00000000 0001A0H SCR6 [R/W, W] 00000000 SMR6 [R/W, W] 00000000 SSR6 [R/W, R] 00001000 RDR6/TDR6 [R/W] 00000000 0001A4H ESCR6 [R/W] 00000X00 ECCR6 [R/W, R, W] -00000XX BGR16 [R/W] -0000000 BGR06 [R/W] 00000000 0001A8H USART6 予約 | 0001F8H ――― 0001FCH F362MD [R/W] 00000000 ――― 786 USART5 ――― SFR [R/W] -------0 SFR_BDEN F362 モード レジスタ 特殊機能 レジスタ (EDSU 可能 ) 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 000200H DMACA0 [R/W] 00000000 0000XXXX XXXXXXXX XXXXXXXX 000204H DMACB0 [R/W] 00000000 00000000 XXXXXXXX XXXXXXXX 000208H DMACA1 [R/W] 00000000 0000XXXX XXXXXXXX XXXXXXXX 00020CH DMACB1 [R/W] 00000000 00000000 XXXXXXXX XXXXXXXX 000210H DMACA2 [R/W] 00000000 0000XXXX XXXXXXXX XXXXXXXX 000214H DMACB2 [R/W] 00000000 00000000 XXXXXXXX XXXXXXXX 000218H DMACA3 [R/W] 00000000 0000XXXX XXXXXXXX XXXXXXXX 00021CH DMACB3 [R/W] 00000000 00000000 XXXXXXXX XXXXXXXX 000220H DMACA4 [R/W] 00000000 0000XXXX XXXXXXXX XXXXXXXX 000224H DMACB4 [R/W] 00000000 00000000 XXXXXXXX XXXXXXXX DMAC 000228H | 00023CH ――― 000240H DMACR [R/W] 0--00000 -------- -------- -------- 000244H | 0002FCH ――― 000300H 000304H 予約 IRBS [R/W, R] 00000000 00000001 00100000 -------- 0003E4H 0003E8H | 0003ECH ISIZE [R/W] ------11 ――― 000308H | 0003E0H 命令キャッシュ 予約 ――― ICHRC [R/W] 0-000000 ――― 命令キャッシュ 予約 ――― 787 付録 レジスタ アドレス ブロック +0 +1 +2 +3 0003F0H BSD0 [W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0003F4H BSD1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0003F8H BSDC [W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0003FCH BSRR [R] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000400H DDRG [R/W] 00000000 DDRH [R/W] 00000000 DDRI [R/W] ----0--- DDRJ [R/W] 00000000 000404H DDRK [R/W] 00000000 DDRL [R/W] 00000000 DDRM [R/W] ----0000 DDRN [R/W] --000000 000408H DDRO [R/W] 00000000 DDRP [R/W] ----0000 DDRQ [R/W] --000000 DDRR [R/W] 00000000 00040CH DDRS [R/W] 00000000 DDRT [R/W] --000000 ――― ――― 000410H PFRG [R/W] 00000000 PFRH [R/W] 00000000 PFRI [R/W] ----0--- PFRJ [R/W] 00000000 000414H PFRK [R/W] 00000000 PFRL [R/W] 00000000 PFRM [R/W] ----0000 PFRN [R/W] --000000 000418H PFRO [R/W] 00000000 PFRP [R/W] 00000000 PFRQ [R/W] --000000 PFRR [R/W] 00000000 00041CH PFRS [R/W] 00000000 PFRT [R/W] --000000 ――― ――― 000420H | 00043CH 788 ビットサーチ モジュール R-bus ポート 方向レジスタ R-bus ポート 機能レジスタ 予約 ――― 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 000440H ICR00 [R/W, R] ---11111 ICR01 [R/W, R] ---11111 ICR02 [R/W, R] ---11111 ICR03 [R/W, R] ---11111 000444H ICR04 [R/W, R] ---11111 ICR05 [R/W, R] ---11111 ICR06 [R/W, R] ---11111 ICR07 [R/W, R] ---11111 000448H ICR08 [R/W, R] ---11111 ICR09 [R/W, R] ---11111 ICR10 [R/W, R] ---11111 ICR11 [R/W, R] ---11111 00044CH ICR12 [R/W, R] ---11111 ICR13 [R/W, R] ---11111 ICR14 [R/W, R] ---11111 ICR15 [R/W, R] ---11111 000450H ICR16 [R/W, R] ---11111 ICR17 [R/W, R] ---11111 ICR18 [R/W, R] ---11111 ICR19 [R/W, R] ---11111 000454H ICR20 [R/W, R] ---11111 ICR21 [R/W, R] ---11111 ICR22 [R/W, R] ---11111 ICR23 [R/W, R] ---11111 000458H ICR24 [R/W, R] ---11111 ICR25 [R/W, R] ---11111 ICR26 [R/W, R] ---11111 ICR27 [R/W, R] ---11111 00045CH ICR28 [R/W, R] ---11111 ICR29 [R/W, R] ---11111 ICR30 [R/W, R] ---11111 ICR31 [R/W, R] ---11111 000460H ICR32 [R/W, R] ---11111 ICR33 [R/W, R] ---11111 ICR34 [R/W, R] ---11111 ICR35 [R/W, R] ---11111 000464H ICR36 [R/W, R] ---11111 ICR37 [R/W, R] ---11111 ICR38 [R/W, R] ---11111 ICR39 [R/W, R] ---11111 000468H ICR40 [R/W, R] ---11111 ICR41 [R/W, R] ---11111 ICR42 [R/W, R] ---11111 ICR43 [R/W, R] ---11111 00046CH ICR44 [R/W, R] ---11111 ICR45 [R/W, R] ---11111 ICR46 [R/W, R] ---11111 ICR47 [R/W, R] ---11111 000470H | 00047CH 予約 ――― 000480H RSRR [R/W, R] 10000-00 STCR [R/W] 00110011 TBCR [R/W] 00XXX-00 CTBR [W] XXXXXXXX 000484H CLKR [R/W] 00000000 ――― DIVR0 [R/W] 00000011 DIVR1 [R/W] 00000000 000488H | 0005FCH 割込み制御 ユニット クロック制御 ユニット 予約 ――― 789 付録 レジスタ ブロック アドレス 000600H 000604H 000608H +0 +1 +2 +3 ――― ――― ――― ――― ――― ――― ――― DDR7 [R/W] 00000000 DDR8 [R/W] 00000000 DDR9 [R/W] 00000000 ――― DDRB [R/W] 00000000 00060CH 000610H 000614H 000618H ――― ――― ――― ――― ――― ――― ――― ――― PFR7 [R/W] 00001111 PFR8 [R/W] 111110-0 PFR9 [R/W] 11110101 ――― PFRB [R/W] 00000000 00061CH ――― 000620H ――― 000624H 0000628H | 00063FH 790 T-unit ポート 方向レジスタ T-unit ポート 機能レジスタ PFR27 [R/W] 1111-00- ――― 予約 ――― 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 000640H ASR0 [W] 00000000 00000000 AMR0 [W] 11111000 11111111 000644H ASR1 [W] 00000000 00000000 AMR1 [W] 00000000 00000000 000648H ASR2 [W] 00000000 00000000 AMR2 [W] 00000000 00000000 00064CH ASR3 [W] 00000000 00000000 AMR3 [W] 00000000 00000000 000650H ASR4 [W] 00000000 00000000 AMR4 [W] 00000000 00000000 000654H ASR5 [W] 00000000 00000000 AMR5 [W] 00000000 00000000 000658H ASR6 [W] 00000000 00000000 AMR6 [W] 00000000 00000000 00065CH ASR7 [W] 00000000 00000000 AMR7 [W] 00000000 00000000 000660H AMD0 [R/W] -00XX111 AMD1 [R/W] -XXXXXXX AMD2 [R/W] --XXXXXX AMD3 [R/W] --XXXXXX 000664H AMD4 [R/W] --XXXXXX AMD5 [R/W] --XXXXXX AMD6 [R/W] -XXXXXXX AMD7 [R/W] -XXXXXXX 000668H CSE 11000011 ――― ――― ――― 00066CH 000670H ――― CHE 11111111 000674H | 0007F8H 0007FCH T-unit ――― ――― ――― 予約 ――― ――― MODR [W] XXXXXXXX ――― ――― モードレジスタ EDSU 000800H | 000834H EDSU レジスタ (MB91F364G のみ ) 000838H | 000AFCH ――― 予約 791 付録 レジスタ アドレス ブロック +0 +1 +2 +3 000B00H ESTS0 X0000000 ESTS1 XXXXXXXX ESTS2 XXXXXXXX ――― 000B04H ECTL0 0X000000 ECTL1 00000000 ECTL2 000X0000 ECTL3 00000X11 000B08H ECNT0 XXXXXXXX ECNT1 XXXXXXXX EUSA XXX0000X EDTC 0000XXXX 000B0CH EWPT XXXXXXXX XXXXXXXX ――― 000B10H EDTR0 XXXXXXXX XXXXXXXX EDTR1 XXXXXXXX XXXXXXXX 000B14H | 000B1CH ――― 000B20H EIA0 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B24H EIA1 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B28H EIA2 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B2CH EIA3 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B30H EIA4 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B34H EIA5 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B38H EIA6 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B3CH EIA7 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B40H EDTA XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B44H EDTM XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B48H EOA0 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B4CH EOA1 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B50H EPCR XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 792 DSU 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 000B54H EPSR XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B58H EIAM0 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B5CH EIAM1 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B60H EOAM0/EODM0 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B64H EOAM1/EODM1 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B68H EOD0 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 000B6CH EOD1 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001000H DMASA0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001004H DMADA0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001008H DMASA1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00100CH DMADA1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001010H DMASA2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001014H DMADA2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001018H DMASA3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00101CH DMADA3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001020H DMASA4 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001024H DMADA4 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 001028H | 003FFCH ――― 004000H | 006FFFH ――― DSU DMAC 予約 予約 793 付録 レジスタ アドレス 007000H 007004H ブロック +0 +1 +2 +3 FMCS [R/W] 1110X000 ――― ――― ――― FMWT [R/W] --000011 ――― ――― ――― 007008H | 00FFFCH ――― 010000H | 010FFCH ( 厳密なアドレス範囲については , 「第 3 章 命令キャッシュ」を参照 してください。) キャッシュメモリは MB91FV360GA でのみ搭載 011000H | 011FFCH MB91F364G では不可 MB91FV360GA では , キャッシュメモリは I-RAM モードで使用可能 012000H | 01FFFCH 020000H | 03BFFCH フラッシュメモリ 制御レジスタ 予備 I-Cache 4 K バイト I-RAM 4 K バイト 予約 ――― 予約 ――― 03C000H | 03FFFCH MB91F362GB, MB91F364G では , 12K バイトのみ (03D000H ∼ 03FFCH) ユーザ RAM 16K バイト (D-bus) 004000H | 043FFCH MB91F362GB, MB91F364G では , 4K バイトのみ (040000H ∼ 040FFCH) 高速 RAM 16K バイト (F-bus) 794 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 044000H | 0FEFFCH ――― 050000H | 0507FCH ――― 050800H | 07FFF4H ――― +3 ブート ROM 2K バイト (F-bus) セクタ 0 64K バイト セクタ 7 64K バイト 0A0000H | 0BFFFCH セクタ 1 64K バイト セクタ 8 64K バイト 0C0000H | 0DFFFCH セクタ 2 64K バイト セクタ 9 64K バイト 0E0000H | 0EFFFCH セクタ 3 32K バイト セクタ 10 32K バイト 0F0000H | 0F3FFCH セクタ 4 8K バイト セクタ 11 8K バイト 0F4000H | 0F7FFCH セクタ 5 8K バイト セクタ 12 8K バイト 0F8000H | 0FFFF4H セクタ 6 16K バイト セクタ 13 16K バイト 0FFFF8H 0FFFFCH 00 05 00 00 H 512K バイト フラッシュ F-bus 080000H | 09FFFCH 256K バイト フラッシュ F-bus 予約 FMV [R] 06 00 00 00 H モードベクタ FRV [R] (MB91F376G: 00 04 40 00H) 固定リセット ベクタ アドレス 0FFFF8H および 0FFFFCH への書込み操作はできません。このアドレスにアクセスすると , 上記の値が読み出されます。 <注意事項> 256KB フラッシュマクロについては , MB91F364G でのみ使用される。 768KB フラッシュマクロについては , MB91F376G でのみ使用される。 795 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 予約 付録 レジスタ アドレス ブロック +1 +2 +3 100000H BVALR0 [R/W] 00000000 00000000 TREQR0 [R/W] 00000000 00000000 100004H TCANR0 [W] 00000000 00000000 TCR0 [R/W] 00000000 00000000 100008H RCR0 [R/W] 00000000 00000000 RRTRR0 [R/W] 00000000 00000000 10000CH ROVRR0 [R/W] 00000000 00000000 RIER0 [R/W] 00000000 00000000 100010H CSR0 [R/W, R] 00000000 00000001 100014H RTEC0 [R] 00000000 00000000 BTR0 [R/W] -1111111 11111111 100018H IDER0 [R/W] XXXXXXXX XXXXXXXX TRTRR0 [R/W] 00000000 00000000 10001CH RFWTR0 [R/W] XXXXXXXX XXXXXXXX TIER0 [R/W] 00000000 00000000 ――― LEIR0 [R/W] 000-0000 100020H AMSR0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100024H AMR00 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100028H AMR10 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10002CH | 100048H 汎用 RAM [R/W] 10004CH IDR00 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100050H IDR10 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100054H IDR20 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100058H IDR30 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10005CH IDR40 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100060H IDR50 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100064H IDR60 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100068H IDR70 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 796 CAN 0 備考 : CAN 0 ∼ CAN 3 のアドレス範囲 はチップ選択範 囲に依存します。 記述されている アドレスは デフォルトの値 であり , ブート ROM の内容によ り決定されます。 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 +0 付録 A I/O マップ レジスタ アドレス ブロック +1 +2 +3 10006CH IDR80 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100070H IDR90 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100074H IDR100 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100078H IDR110 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10007CH IDR120 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100080H IDR130 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100084H IDR140 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100088H IDR150 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10008CH DLCR00 [R/W] -------- ----XXXX DLCR10 [R/W] -------- ----XXXX 100090H DLCR20 [R/W] -------- ----XXXX DLCR30 [R/W] -------- ----XXXX 100094H DLCR40 [R/W] -------- ----XXXX DLCR50 [R/W] -------- ----XXXX 100098H DLCR60 [R/W] -------- ----XXXX DLCR70 [R/W] -------- ----XXXX 10009CH DLCR80 [R/W] -------- ----XXXX DLCR90 [R/W] -------- ----XXXX 1000A0H DLCR100 [R/W] -------- ----XXXX DLCR110 [R/W] -------- ----XXXX 1000A4H DLCR120 [R/W] -------- ----XXXX DLCR130 [R/W] -------- ----XXXX 1000A8H DLCR140 [R/W] -------- ----XXXX DLCR150 [R/W] -------- ----XXXX 1000ACH DTR00 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000B4H DTR10 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000BCH DTR20 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX CAN 0 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 +0 797 付録 レジスタ アドレス ブロック +1 +2 +3 1000C4H DTR30 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000CCH DTR40 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000D4H DTR50 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000DCH DTR60 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000E4H DTR70 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000ECH DTR80 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000F4H DTR90 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1000FCH DTR100 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100104H DTR110 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10010CH DTR120 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100114H DTR130 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10011CH DTR140 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100124H DTR150 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10012CH CREG0 [R/W] 00000000 00000110 798 ――― CAN 0 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 +0 付録 A I/O マップ レジスタ アドレス ブロック +1 +2 +3 100200H BVALR1 [R/W] 00000000 00000000 TREQR1 [R/W] 00000000 00000000 100204H TCANR1 [W] 00000000 00000000 TCR1 [R/W] 00000000 00000000 100208H RCR1 [R/W] 00000000 00000000 RRTRR1 [R/W] 00000000 00000000 10020CH ROVRR1 [R/W] 00000000 00000000 RIER1 [R/W] 00000000 00000000 100210H CSR1 [R/W] 00000000 00000001 100214H RTEC1 [R] 00000000 00000000 BTR1 [R/W] -1111111 11111111 100218H IDER1 [R/W] XXXXXXXX XXXXXXXX TRTRR1 [R/W] 00000000 00000000 10021CH RFWTR1 [R/W] XXXXXXXX XXXXXXXX TIER1 [R/W] 00000000 00000000 LEIR1 [R/W] 000-0000 100220H AMSR1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100224H AMR01 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100228H AMR11 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10022CH | 100248H 汎用 RAM [R/W] 10024CH IDR01 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100250H IDR11 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100254H IDR21[R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100258H IDR31 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX- 10025CH IDR41 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100260H IDR51 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100264H IDR61 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX CAN 1 備考 : CAN 0 ∼ CAN 3 のアドレス範囲 はチップ選択範 囲に依存します。 記述されている アドレスは デフォルトの値 であり , ブート ROM の内容によ り決定されます。 799 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 +0 付録 レジスタ アドレス ブロック +1 +2 +3 100268H IDR71 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10026CH IDR81 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100270H IDR91 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100274H IDR101 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100278H IDR111 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10027CH IDR121 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXX--- 100280H IDR131 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100284H IDR141 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100288H IDR151 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10028CH DLCR01 [R/W] -------- ----XXXX DLCR11 [R/W] -------- ----XXXX 100290H DLCR21 [R/W] -------- ----XXXX DLCR31 [R/W] -------- ----XXXX 100294H DLCR41 [R/W] -------- ----XXXX DLCR51 [R/W] -------- ----XXXX 100298H DLCR61 [R/W] -------- ----XXXX DLCR71 [R/W] -------- ----XXXX 10029CH DLCR81[R/W] -------- ----XXXX DLCR91 [R/W] -------- ----XXXX 1002A0H DLCR101 [R/W] -------- ----XXXX DLCR111 [R/W] -------- ----XXXX 1002A4H DLCR121 [R/W] -------- ----XXXX DLCR131 [R/W] -------- ----XXXX 1002A8H DLCR141 [R/W] -------- ----XXXX DLCR151 [R/W] -------- ----XXXX 1002ACH DTR01 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002B4H DTR11 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 800 CAN 1 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 +0 付録 A I/O マップ レジスタ アドレス ブロック +1 +2 +3 1002BCH DTR21 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002C4H DTR31 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002CCH DTR41 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002D4H DTR51 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002DCH DTR61 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002E4H DTR71 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002ECH DTR81 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002F4H DTR91 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1002FCH DTR101 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100304H DTR111 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10030CH DTR121 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100314H DTR131 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10031CH DTR141 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100324H DTR151 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10032CH CREG1 [R/W] 00000000 00000110 CAN 1 MB91F376G: 「付録 A.1 MB91F376G 特殊 I/O マップ」を参照してください。 +0 ――― 801 付録 レジスタ アドレス ブロック +0 +1 +2 +3 100400H BVALR2 [R/W] 00000000 00000000 TREQR2 [R/W] 00000000 00000000 100404H TCANR2 [W] 00000000 00000000 TCR2 [R/W] 00000000 00000000 100408H RCR2 [R/W] 00000000 00000000 RRTRR2 [R/W] 00000000 00000000 10040CH ROVRR2 [R/W] 00000000 00000000 RIER2 [R/W] 00000000 00000000 100410H CSR2 [R/W, R] 00000000 00000001 100414H RTEC2 [R] 00000000 00000000 BTR2 [R/W] -1111111 11111111 100418H IDER2 [R/W] XXXXXXXX XXXXXXXX TRTRR2 [R/W] 00000000 00000000 10041CH RFWTR2 [R/W] XXXXXXXX XXXXXXXX TIER2 [R/W] 00000000 00000000 ――― LEIR2[R/W] 000-0000 100420H AMSR2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100424H AMR02 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100428H AMR12 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10042CH | 100448H 汎用 RAM [R/W] 10044CH IDR02 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100450H IDR12 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100454H IDR22 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 802 CAN 2 備考 : CAN 0 ∼ CAN 3 のアドレス範囲 はチップ選択範 囲に依存します。 記述されている アドレスは デフォルトの値 であり , ブート ROM の内容によ り決定されます。 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 100458H IDR32 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10045CH IDR42 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100460H IDR52 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100464H IDR62 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100468H IDR72 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10046CH IDR82 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100470H IDR92 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100474H IDR102 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100478H IDR112 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10047CH IDR122 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXX--- 100480H IDR132 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100484H IDR142 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100488H IDR152 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10048CH DLCR02 [R/W] -------- ----XXXX DLCR12 [R/W] -------- ----XXXX 100490H DLCR22 [R/W] -------- ----XXXX DLCR32 [R/W] -------- ----XXXX 100494H DLCR42 [R/W] -------- ----XXXX DLCR52 [R/W] -------- ----XXXX 100498H DLCR62 [R/W] -------- ----XXXX DLCR72 [R/W] -------- ----XXXX 10049CH DLCR82 [R/W] -------- ----XXXX DLCR92 [R/W] -------- ----XXXX 1004A0H DLCR102 [R/W] -------- ----XXXX DLCR112 [R/W] -------- ----XXXX 1004A4H DLCR122 [R/W] -------- ----XXXX DLCR132 [R/W] -------- ----XXXX CAN 2 803 付録 レジスタ アドレス ブロック +0 1004A8H +1 DLCR142 [R/W] -------- ----XXXX +2 +3 DLCR152 [R/W] -------- ----XXXX 1004ACH DTR02 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004B4H DTR12 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004BCH DTR22 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004C4H DTR32 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004CCH DTR42 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004D4H DTR52 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004DCH DTR62 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004E4H DTR72 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004ECH DTR82 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004F4H DTR92 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1004FCH DTR102 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100504H DTR112 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10050CH DTR122 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 804 CAN 2 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 100514H DTR132 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10051CH DTR142 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100524H DTR152 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10052CH CREG2 [R/W] 00000000 00000110 ――― 100600H BVALR3 [R/W] 00000000 00000000 TREQR3 [R/W] 00000000 00000000 100604H TCANR3 [W] 00000000 00000000 TCR3 [R/W] 00000000 00000000 100608H RCR3 [R/W] 00000000 00000000 RRTRR3 [R/W] 00000000 00000000 10060CH ROVRR3 [R/W] 00000000 00000000 RIER3 [R/W] 0000000 00000000 100610H CSR3 [R/W, R] 00000000 00000001 100614H RTEC3 [R] 00000000 00000000 BTR3 [R/W] -1111111 11111111 100618H IDER3 [R/W] XXXXXXXX XXXXXXXX TRTRR3 [R/W] 00000000 00000000 10061CH RFWTR3 [R/W] XXXXXXXX XXXXXXXX TIER3 [R/W] 00000000 00000000 ――― LEIR3 [R/W] 000-0000 100620H AMSR3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100624H AMR03 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100628H AMR13 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10062CH | 100648H 汎用 RAM [R/W] 10064CH IDR03 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100650H IDR13 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX CAN 2 CAN 3 備考 : CAN 0 ∼ CAN 3 のアドレス範囲 はチップ選択範 囲に依存します。 記述されている アドレスは デフォルトの値 であり , ブート ROM の内容によ り決定されます。 805 付録 レジスタ アドレス ブロック +0 +1 +2 +3 100654H IDR23 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100658H IDR33 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10065CH IDR43 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100660H IDR53 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100664H IDR63 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100668H IDR73 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10066CH IDR83 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100670H IDR93 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100674H IDR103 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100678H IDR113 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10067CH IDR123 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXX--- 100680H IDR133 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100684H IDR143 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 100688H IDR153 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 10068CH DLCR033 [R/W] -------- ----XXXX DLCR13 [R/W] -------- ----XXXX 100690H DLCR233 [R/W] -------- ----XXXX DLCR33 [R/W] -------- ----XXXX 100694H DLCR43 [R/W] -------- ----XXXX DLCR53 [R/W] -------- ----XXXX 100698H DLCR63 [R/W] -------- ----XXXX DLCR73 [R/W] -------- ----XXXX 10069CH DLCR83 [R/W] -------- ----XXXX DLCR93 [R/W] -------- ----XXXX 1006A0H DLCR103 [R/W] -------- ----XXXX DLCR113 [R/W] -------- ----XXXX 806 CAN 3 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 1006A4H DLCR123 [R/W] -------- ----XXXX DLCR133 [R/W] -------- ----XXXX 1006A8H DLCR143 [R/W] -------- ----XXXX DLCR153[R/W] -------- ----XXXX 1006ACH DTR03 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006B4H DTR13 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006BCH DTR23[R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006C4H DTR33 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006CCH DTR43 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006D4H DTR53 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006DCH DTR63 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006E4H DTR73 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006ECH DTR83 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006F4H DTR93 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 1006FCH DTR103 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100704H DTR113 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10070CH DTR123 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX CAN 3 807 付録 レジスタ アドレス ブロック +0 +1 +2 +3 100714H DTR133 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10071CH DTR143 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 100724H DTR153 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 10072CH CREG3 [R/W] 00000000 00000110 808 ――― CAN 3 付録 A I/O マップ A.1 MB91F376G 特殊 I/O マップ 768KB フラッシュメモリのために , MB91F376G の I/O マップはほかの製品と異 なっています。ここではその違いのみがリストされています。 レジスタ アドレス ブロック +0 +1 044000H | 0447FCH +2 +3 ブート ROM 2K バイト (F-bus) ───── 044800H | 05FFFCH セクタ 0 ( パリティ ) 56K バイト 060000H | 07FFFCH セクタ 1 64K バイト セクタ 3 64K バイト 080000H | 09FFFCH セクタ 4 64K バイト セクタ 11 64K バイト 0A0000H | 0BFFFCH セクタ 5 64K バイト セクタ 12 64K バイト 0C0000H | 0DFFFCH セクタ 6 64K バイト セクタ 13 64K バイト 0E0000H | 0EFFFCH セクタ 7 32K バイト セクタ 14 32K バイト 0F0000H | 0F3FFCH セクタ 8 8K バイト セクタ 15 8K バイト 0F4000H | 0F7FFCH セクタ 9 8K バイト セクタ 16 8K バイト 0F8000H | 0FFFFCH セクタ 10 16K バイト セクタ 17 16K バイト 100000H | 11FFFCH セクタ 0 : ミラー 64K バイト セクタ 2: ミラー 64K バイト 120000H | 13FFFCH セクタ 1 : ミラー 64K バイト セクタ 3: ミラー 64K バイト セクタ 2 ( パリティ ) 56K バイト 768K バイト フラッシュメモリ (F-bus) 固定モードおよびリセットベクタ 809 付録 レジスタ アドレス ブロック +0 +1 +2 +3 200000H BVALR0 [R/W] 00000000 00000000 TREQR0 [R/W] 00000000 00000000 200004H TCANR0 [W] 00000000 00000000 TCR0 [R/W] 00000000 00000000 200008H RCR0 [R/W] 00000000 00000000 RRTRR0 [R/W] 00000000 00000000 20000CH ROVRR0 [R/W] 00000000 00000000 RIER0 [R/W] 00000000 00000000 200010H CSR0 [R/W, R] 00000000 00000001 200014H RTEC0 [R] 00000000 00000000 BTR0 [R/W] -1111111 11111111 200018H IDER0 [R/W] XXXXXXXX XXXXXXXX TRTRR0 [R/W] 00000000 00000000 20001CH RFWTR0 [R/W] XXXXXXXX XXXXXXXX TIER0 [R/W] 00000000 00000000 ――― LEIR0 [R/W] 000-0000 200020H AMSR0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200024H AMR00 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200028H AMR10 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20002CH | 200048H 汎用 RAM [R/W] 20004CH IDR00 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200050H IDR10 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200054H IDR20 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200058H IDR30 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20005CH IDR40 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200060H IDR50 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200064H IDR60 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200068H IDR70 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 810 CAN 0 備考 : CAN 0 ∼ CAN 1 のアドレス範囲 はチップ選択範 囲に依存します。 記述されている アドレスはデ フォルトの値で あり , ブート ROM の内容によ り決定されます。 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 20006CH IDR80 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200070H IDR90 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200074H IDR100 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200078H IDR110 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20007CH IDR120 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200080H IDR130 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200084H IDR140 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200088H IDR150 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20008CH DLCR00 [R/W] -------- ----XXXX DLCR10 [R/W] -------- ----XXXX 200090H DLCR20 [R/W] -------- ----XXXX DLCR30 [R/W] -------- ----XXXX 200094H DLCR40 [R/W] -------- ----XXXX DLCR50 [R/W] -------- ----XXXX 200098H DLCR60 [R/W] -------- ----XXXX DLCR70 [R/W] -------- ----XXXX 20009CH DLCR80 [R/W] -------- ----XXXX DLCR90 [R/W] -------- ----XXXX 2000A0H DLCR100 [R/W] -------- ----XXXX DLCR110 [R/W] -------- ----XXXX 2000A4H DLCR120 [R/W] -------- ----XXXX DLCR130 [R/W] -------- ----XXXX 2000A8H DLCR140 [R/W] -------- ----XXXX DLCR150 [R/W] -------- ----XXXX 2000ACH DTR00 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000B4H DTR10 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000BCH DTR20 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX CAN 0 811 付録 レジスタ アドレス ブロック +0 +1 +2 +3 2000C4H DTR30 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000CCH DTR40 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000D4H DTR50 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000DCH DTR60 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000E4H DTR70 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000ECH DTR80 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000F4H DTR90 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2000FCH DTR100 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200104H DTR110 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 20010CH DTR120 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200114H DTR130 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 20011CH DTR140 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200124H DTR150 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 20012CH CREG0 [R/W] 00000000 00000110 812 ――― CAN 0 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 200200H BVALR1 [R/W] 00000000 00000000 TREQR1 [R/W] 00000000 00000000 200204H TCANR1 [W] 00000000 00000000 TCR1 [R/W] 00000000 00000000 200208H RCR1 [R/W] 00000000 00000000 RRTRR1 [R/W] 00000000 00000000 20020CH ROVRR1 [R/W] 00000000 00000000 RIER1 [R/W] 00000000 00000000 200210H CSR1 [R/W] 00000000 00000001 200214H RTEC1 [R] 00000000 00000000 BTR1 [R/W] -1111111 11111111 200218H IDER1 [R/W] XXXXXXXX XXXXXXXX TRTRR1 [R/W] 00000000 00000000 20021CH RFWTR1 [R/W] XXXXXXXX XXXXXXXX TIER1 [R/W] 00000000 00000000 ――― LEIR1 [R/W] 000-0000 200220H AMSR1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200224H AMR01 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200228H AMR11 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20022CH | 200248H 汎用 RAM [R/W] 20024CH IDR01 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200250H IDR11 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200254H IDR21[R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200258H IDR31 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX- 20025CH IDR41 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200260H IDR51 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200264H IDR61 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX CAN 1 備考 : CAN 0 ∼ CAN 1 のアドレス範囲 はチップ選択範 囲に依存します。 記述されている アドレスはデ フォルトの値で あり , ブート ROM の内容によ り決定されます。 813 付録 レジスタ アドレス ブロック +0 +1 +2 +3 200268H IDR71 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20026CH IDR81 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200270H IDR91 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200274H IDR101 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200278H IDR111 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20027CH IDR121 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXX--- 200280H IDR131 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200284H IDR141 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 200288H IDR151 [R/W] XXXXXXXX XXXXXXXX XXXXX--- XXXXXXXX 20028CH DLCR01 [R/W] -------- ----XXXX DLCR11 [R/W] -------- ----XXXX 200290H DLCR21 [R/W] -------- ----XXXX DLCR31 [R/W] -------- ----XXXX 200294H DLCR41 [R/W] -------- ----XXXX DLCR51 [R/W] -------- ----XXXX 200298H DLCR61 [R/W] -------- ----XXXX DLCR71 [R/W] -------- ----XXXX 20029CH DLCR81[R/W] -------- ----XXXX DLCR91 [R/W] -------- ----XXXX 2002A0H DLCR101 [R/W] -------- ----XXXX DLCR111 [R/W] -------- ----XXXX 2002A4H DLCR121 [R/W] -------- ----XXXX DLCR131 [R/W] -------- ----XXXX 2002A8H DLCR141 [R/W] -------- ----XXXX DLCR151 [R/W] -------- ----XXXX 2002ACH DTR01 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002B4H DTR11 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 814 CAN 1 付録 A I/O マップ レジスタ アドレス ブロック +0 +1 +2 +3 2002BCH DTR21 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002C4H DTR31 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002CCH DTR41 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002D4H DTR51 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002DCH DTR61 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002E4H DTR71 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002ECH DTR81 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002F4H DTR91 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 2002FCH DTR101 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200304H DTR111 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 20030CH DTR121 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200314H DTR131 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 20031CH DTR141 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 200324H DTR151 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 20032CH CREG1 [R/W] 00000000 00000110 CAN 1 ――― 815 付録 付録 B 割込みベクタ 本付録では , 割込みベクタテーブルを一覧で示します。 割込みベクタテーブルでは , MB91360 シリーズの各割込みに割り当てられた割込み ベクタ , および割込みコントロールレジスタを示しています。 ■ 割込みベクタ 割込みレベル *1 割込み番号 割込み 10 進 6進 割込みベクタ *2 設定 レジスタ レジスタ アドレス オフ セット デフォルトベク タアドレス RN リセット 0 00 - - 0x3FC 0x000FFFFC - モードベクタ 1 01 - - 0x3F8 0x000FFFF8 - システム予約 2 02 - - 0x3F4 0x000FFFF4 - システム予約 3 03 - - 0x3F0 0x000FFFF0 - システム予約 4 04 - - 0x3EC 0x000FFFEC - システム予約 5 05 - - 0x3E8 0x000FFFE8 - システム予約 6 06 - - 0x3E4 0x000FFFE4 - コプロセッサフォルト トラップ *4 7 07 - - 0x3E0 0x000FFFE0 コプロセッサフォルト トラップ *4 8 08 - - 0x3DC 0x000FFFDC INTE 命令 *4 9 09 - - 0x3D8 0x000FFFD8 - 命令ブレーク例外 *4 10 0A - - 0x3D4 0x000FFFD4 - オペランドブレークト ラップ *4 11 0B - - 0x3D0 0x000FFFD0 ステップトレースト ラップ *4 12 0C - - 0x3CC 0x000FFFCC NMI 割込み ( ツール ) 13 0D - - 0x3C8 0x000FFFC8 未定義の命令の例外 14 0E - - 0x3C4 0x000FFFC4 - NMI 要求 15 0F 0x3C0 0x000FFFC0 - 外部割込み 0 16 10 ICR00 0x440 0x3BC 0x000FFFBC 4 外部割込み 1 17 11 ICR01 0x441 0x3B8 0x000FFFB8 5 *4 816 FH 固定 - - - 付録 B 割込みベクタ 割込み番号 割込み 10 進 6進 割込みレベル *1 割込みベクタ *2 設定 レジスタ レジスタ アドレス オフ セット デフォルトベク タアドレス RN 外部割込み 2 18 12 ICR02 0x442 0x3B4 0x000FFFB4 8 外部割込み 3 19 13 ICR03 0x443 0x3B0 0x000FFFB0 9 外部割込み 4 20 14 ICR04 0x444 0x3AC 0x000FFFAC - 外部割込み 5 21 15 ICR05 0x445 0x3A8 0x000FFFA8 - 外部割込み 6 22 16 ICR06 0x446 0x3A4 0x000FFFA4 - 外部割込み 7 23 17 ICR07 0x447 0x3A0 0x000FFFA0 - リロードタイマ 0 24 18 ICR08 0x448 0x39C 0x000FFF9C 6 リロードタイマ 1 25 19 ICR09 0x449 0x398 0x000FFF98 7 リロードタイマ 2 26 1A ICR10 0x44A 0x394 0x000FFF94 - CAN 0 RX 27 1B ICR11 0x44B 0x390 0x000FFF90 - CAN 0 TX/NS 28 1C ICR12 0x44C 0x38C 0x000FFF8C - CAN 1 RX 29 1D ICR13 0x44D 0x388 0x000FFF88 - CAN 1 TX/NS 30 1E ICR14 0x44E 0x384 0x000FFF84 - CAN 2 RX 31 1F ICR15 0x44F 0x380 0x000FFF80 - CAN 2 TX/NS 32 20 ICR16 0x450 0x37C 0x000FFF7C - CAN 3 RX *5 33 21 ICR17 0x451 0x378 0x000FFF78 - CAN 3 TX/NS *5 34 22 ICR18 0x452 0x374 0x000FFF74 - PPG 0/1 35 23 ICR19 0x453 0x370 0x000FFF70 - PPG 2/3 36 24 ICR20 0x454 0x36C 0x000FFF6C - PPG 4/5 37 25 ICR21 0x455 0x368 0x000FFF68 - PPG 6/7 38 26 ICR22 0x456 0x364 0x000FFF64 - リロードタイマ 3 39 27 ICR23 0x457 0x360 0x000FFF60 - リロードタイマ 4 40 28 ICR24 0x458 0x35C 0x000FFF5C - リロードタイマ 5 41 29 ICR25 0x459 0x358 0x000FFF58 - ICU 0/1 42 2A ICR26 0x45A 0x354 0x000FFF54 - OCU 0/1 43 2B ICR27 0x45B 0x350 0x000FFF50 - ICU 2/3 44 2C ICR28 0x45C 0x34C 0x000FFF4C - OCU 2/3 45 2D ICR29 0x45D 0x348 0x000FFF48 - ADC 46 2E ICR30 0x45E 0x344 0x000FFF44 14 817 付録 割込みレベル *1 割込み番号 割込み 10 進 6進 割込みベクタ *2 設定 レジスタ レジスタ アドレス オフ セット デフォルトベク タアドレス RN タイムベース オーバフロー 47 2F ICR31 0x45F 0x340 0x000FFF40 フリーランカウンタ 0 48 30 ICR32 0x460 0x33C 0x000FFF3C - フリーランカウンタ 1 49 31 ICR33 0x461 0x338 0x000FFF38 - SIO 0 *6 50 32 ICR34 0x462 0x334 0x000FFF34 12 SIO 1 *6 51 33 ICR35 0x463 0x330 0x000FFF30 15 サウンド生成器 52 34 ICR36 0x464 0x32C 0x000FFF2C - UART 0 RX 53 35 ICR37 0x465 0x328 0x000FFF28 0 UART 0 TX 54 36 ICR38 0x466 0x324 0x000FFF24 1 UART 1 RX USART5 RX*7 55 37 ICR39 0x467 0x320 0x000FFF20 2*8 UART 1 TX USART5 TX*7 56 38 ICR40 0x468 0x31C 0x000FFF1C 3*8 UART 2 RX USART6 RX*7 57 39 ICR41 0x469 0x318 0x000FFF18 10*8 UART 2 TX USART6 TX*7 58 3A ICR42 0x46A 0x314 0x000FFF14 11*8 I2C 59 3B ICR43 0x46B 0x310 0x000FFF10 13 アラーム比較器 60 3C ICR44 0x46C 0x30C 0x000FFF0C - RTC ( ウォッチタイマ )/ 補正ユニット 61 3D ICR45 0x46D 0x308 0x000FFF08 DMA 62 3E ICR46 0x46E 0x304 0x000FFF04 - 遅延割込み起動ビット 63 3F ICR47 0x46F 0x300 0x000FFF00 - システム予約 *3 64 40 - - 0x2FC 0x000FFEFC - システム予約 *3 65 41 - - 0x2F8 0x000FFEF8 - システム予約 66 42 - - 0x2F4 0x000FFEF4 - システム予約 67 43 (ICR51) 0x473 0x2F0 0x000FFEF0 - システム予約 68 44 (ICR52) 0x474 0x2EC 0x000FFEEC - システム予約 69 45 (ICR53) 0x475 0x2E8 0x000FFEE8 - システム予約 70 46 (ICR54) 0x476 0x2E4 0x000FFEE4 - システム予約 71 47 (ICR55) 0x477 0x2E0 0x000FFEE0 - 818 - - 付録 B 割込みベクタ 割込みレベル *1 割込み番号 割込み 10 進 6進 割込みベクタ *2 設定 レジスタ レジスタ アドレス オフ セット デフォルトベク タアドレス RN システム予約 72 48 (ICR56) 0x478 0x2DC 0x000FFEDC - システム予約 73 49 (ICR57) 0x479 0x2D8 0x000FFED8 - システム予約 74 4A (ICR58) 0x47A 0x2D4 0x000FFED4 - システム予約 75 4B (ICR59) 0x47B 0x2D0 0x000FFED0 - システム予約 76 4C (ICR60) 0x47C 0x2CC 0x000FFECC - システム予約 77 4D (ICR61) 0x47D 0x2C8 0x000FFEC8 - システム予約 78 4E (ICR62) 0x47E 0x2C4 0x000FFEC4 - システム予約 79 4F (ICR63) 0x47F 0x2C0 0x000FFEC0 - INT 命令で使用 80 ∼ 255 50 ∼ FF - - 0x2BC ∼ 0x000 0x000FFEBC ∼ 0x000FFC00 - *1 : ICR は割込みコントローラ内にあり , 各割込み要求の割込みレベルを設定します。ICR は , 割込 み要求ごとに提供されます。 *2 : 各 EIT( 例外 , 割込み , またはトラップ ) に対するベクタアドレスは , 表示されているオフセッ トをテーブルベースレジスタ値 (TBR) に加算することによって計算されます。TBR は EIT ベ クトタテーブルの最上位を指定します。本テーブルに表示したアドレスは , デフォルトの TBR 値 (0x000FFC00) に対するものです。リセットによって , TBR はこの値に初期化されます。内 部ブート ROM の実行により , TBR は 0x00FFC00 に設定されます。 *3 : REALOS で使用。 *4 : システム予備。 *5 : MB91FV360GA でのみ使用可能。 *6 : SIO と DMA の間では , MB91F369GA のみ搭載されています。 *7 : MB91F364G では USART5/6, 他の製品では UART1/2 *8 : MB91F364G では USART と DMA の間で搭載されません。 【備考】 TBR で指定されるアドレスの 1K バイト領域は , EIT ベクタ領域です。 各ベクタは 4 バイトです。 次の式は , ベクタ番号とベクタアドレスの関係を示します。 vctadr = TBR + vctofs = TBR + (3FCH - 4 × vct) vctadr : ベクタアドレス vctofs : ベクタオフセット vct : ベクタ番号 819 付録 付録 C CPU の各状態における端子の状態 本付録では , 次の項目について説明します。 • データバスとメモリ動作モード • 端子状態の表で使用する用語 • CPU の各状態における端子の状態 ■ データバスとメモリ動作モード 本付録では , 次のモードの端子状態について説明します。 内部 ROM モード , 32 ビットデータバス ■ 端子状態の表で使用する用語 次に , 表 C-1 および表 C-2 に , 表 C-3 で使用する主な用語について説明します。 詳細は表 C-3 を参照してください。 ● 動作モードの用語 表 C-1 動作モードの用語 (1 / 2) 用語 説明 スリープモード STCR レジスタの SLEEP ビットに "1" を書き込むと , デバイスはスリープモー ドに設定されます (STOP ビットは "0")。 STCR : クロックコントローラのスタンバイ制御レジスタ 停止モード (HIZ=0) HIZ=0 のときに , STCR レジスタの STOP ビットに "1" を書き込むと , デバイ スは停止モードに設定されます。停止モードでは , 出力端子は , 停止モードに 入る前の状態を保持します。入力端子は "0" 固定です。 停止モード (HIZ=1) HIZ=1 のときに , STCR レジスタの STOP ビットに "1" を書き込むと , デバイ スは停止モードに設定されます。停止モードでは , I/O 端子はハイインピーダ ンスになります ( 初期値 )。入力端子は "0" に固定です。 RTC モード STCR レジスタのビット OSCD1 が "0" のときに , STCR レジスタの STOP ビッ トに "1" を書き込むと , デバイスは RTC モードに設定されます。このモード では , 選択された発振器はまだ動作中であり , リアルタイムクロック (RTC) を 動作させることができます。端子状態は停止モードと同じです。 バス解放 (BGRNTX=0) PFR8 レジスタの bit2 が "1" のときは , BRQ 入力が可能です。この場合 , BRQ 端子に "H" レベルの信号を入力すると , 外部バスが解放され BGRNTX 端子か ら "L" レベルの信号が出力されます。 設定初期化 リセット (INIT) 次の条件で INIT リセットがトリガされます。 1. 外部リセット端子 (INITX) からの入力 2. ハードウェアスタンバイの解除 3. ウォッチドッグタイマのタイムアウト 4. パワーダウンリセット 820 付録 C CPU の各状態における端子の状態 表 C-1 動作モードの用語 (2 / 2) 用語 説明 動作初期化 リセット (RST) 次の条件で RST リセットがトリガされます。 1. 外部リセット端子 (RSTX, MB91FV360GA 以外では使用不可 ) からの入力 2. ソフトウェアリセット - STCR レジスタの SRST ビットを "1" に設定 ハードウェア スタンバイ HSTX 入力端子に "L" レベルが適用されている間 , 発振は停止し , すべての I/O 端子はハイインピーダンスに移行します。入力は "0" 固定です。 ● 動作状態の用語 表 C-2 動作状態の用語 用語 説明 入力可 入力機能が使用可能な状態です。 入力 0 固定 端子の入力ゲートで外部入力を遮断し , 入力状態が内部的に "0" に固定されて います。 出力 Hi-Z 端子駆動用トランジスタが禁止状態で , 端子はハイインピーダンスになりま す。 出力保持 この指定されたモードになる直前に , 端子が出力していた状態をそのまま出力 することを示します。つまり , 停止していない内部の周辺機器からの出力は , 内部の周辺機器の制御により動作を続けます。ポート出力の端子一式は , 出力 の状態を維持します。 直前の状態を保持 出力端子については , 指定されたモードになる前の出力状態を維持します。入 力端子については , 入力可能な状態のままになります。 821 付録 ■ CPU の各状態における端子の状態 表 C-3 CPU の各状態における端子の状態 (1 / 3) 端子の機能 ポート スリープ モード HIZ=0 機能 D0 ∼ D7 D8 ∼ D15 D16 ∼ D23 D24 ∼ D31 停止モード / RTC モード 前の状態 を保持 INIT リセット RST リセット ハード ウェアス タンバイ バス解放 (BGRNTX=0) HIZ=1 出力保持 / 出力 Hi-Z/ 出力 Hi-Z/ 入力 0 固 入力 0 固 入力許可 ( ただし初 定 定 期状態の 詳細につ いては I/O ポートの 章を参照 ) 前の状態 出力 Hi-Z/ 出力 Hi-Z/ を保持 入力 0 固 入力許可 ( ただし初 定 期状態の 詳細につ いては I/O ポートの 章を参照 ) A0 ∼ A7 A8 ∼ A15 A16 ∼ A20 ( ∼ A23) P70 ∼ P72 A24 ∼ A26 P73 DREQ2 P74 ∼ P76 CS4X ∼ CS6X CS7X RDY P81 BGRNTX "L" P82 BRQ "H" RDX 出力 Hi-Z/ 入力許可 WR0X ∼ WR3X P90 AS P91 ALE P93 CLK クロック アウト AH/BOOT 前の状態 P94 ∼ P97 CS0X ∼ CS3X 822 Hi-Z 出力 付録 C CPU の各状態における端子の状態 表 C-3 CPU の各状態における端子の状態 (2 / 3) 端子の機能 ポート スリープ モード HIZ=0 機能 PB0 DREQ0 PB1 DACK0 PB2 DEOP0 PB3 DREQ1 PB4 DACK1 PB5 DEOP1 PB6 DACK2 PB7 DEOP2 PG0 ∼ PG7 AN8 ∼ AN15 PH0 ∼ PH7 AN0 ∼ AN7 停止モード / RTC モード 前の状態 を保持 INIT リセット RST リセット ハード ウェアス タンバイ バス解放 (BGRNTX=0) HIZ=1 出力保持 / Hi-Z 出力 / Hi-Z 出力 / 入力 0 固 入力 0 固 入力許可 ( ただし初 定 定 期状態の 詳細につ いては I/O ポートの 章を参照 ) Hi-Z 出力 / 入力許可 ( ポート モード ) 前の状態 Hi-Z 出力 / 前の状態を保 を保持 入力 0 固 持 ( ただし初 定 期状態の 詳細につ いては I/O ポートの 章を参照 ) Hi-Z 出力 / 入力許可 ( ポート モード ) DA0, DA1 PI3 ATGX PJ0 ∼ PJ7 LED0 ∼ LED7 PK0 ∼ PK7 INT0 ∼ INT7 PL0 ∼ PL3 IN0 ∼ IN3 PL4 ∼ PL7 OUT0 ∼ OUT3 PM0 SGO PM1 SGA PM2 SDA PM3 SCL PN0 SOT4 PN1 SIN4 PN2 SCK4 PN3 SIN3 PN4 SOT3 PN5 SCK3 PO0 ∼ PO7 OCPA0 ∼ OCPA7 入力許可 入力許可 入力許可 Hi-Z 出力 / 入力 0 固 定 出力保持 / Hi-Z 出力 / 入力 0 固 入力 0 固 定 定 Hi-Z 出力 / 入力許可 ( ただし初 期状態の 詳細につ いては I/O ポートの 章を参照 ) Hi-Z 出力 / 入力許可 ( ただし初 期状態の 詳細につ いては I/O ポートの 章を参照 ) 823 付録 表 C-3 CPU の各状態における端子の状態 (3 / 3) 端子の機能 ポート スリープ モード 停止モード / RTC モード HIZ=0 機能 PP0 TX0 PP1 RX0 PP2 TX1 PP3 RX1 PP4 TX2 PP5 RX2 PP6 TX3 PP7 RX3 PQ0 SIN0 PQ1 SOT0 PQ2 SIN1 PQ3 SOT1 PQ4 SIN2 PQ5 SOT2 PR0 ∼ PR7 SMC0, SMC1 前の状態 を保持 INIT リセット RST リセット ハード ウェアス タンバイ バス解放 (BGRNTX=0) HIZ=1 出力保持 / Hi-Z 出力 / Hi-Z 出力 / 入力 0 固 入力 0 固 入力許可 ( ただし初 定 定 期状態の 詳細につ いては I/O ポートの 章を参照 ) Hi-Z 出力 / Hi-Z 出力 / 前の状態を保 入力許可 入力 0 固 持 ( ただし初 定 期状態の 詳細につ いては I/O ポートの 章を参照 ) PS0 ∼ PS7 SMC2, SMC3 MB91FV360GA, MB91F362GB, MB91F369GA 以外 : PFR が "1" に設定されている場合 , 次の端子は , HIZ=1 またはハードウェアスタンバイ のとき , ストップモードまたは RTC モードでは自動的に Hi-Z 状態になりません。 824 リソース ポート 対象端子 I 2C M SDA, SCL I2C バスがアクティブローの 動作時のみ SIO N SOT4, SCK4, SOT3, SCK3 SCK3, SCK4 は , 出力時のみ CAN P TX0, TX1, TX2, TX3 UART Q SOT2, SOT1, SOT0 SMC R, S PWM1P0 から PWM1P3, PWM2P0 から PWM2P3, PWM1M0 から PWM1M3, PWM2M0 から PWM2M3 備考 PWM1/2 選択レジスタの設定 が Hiz モード時のみ 付録 D 命令 付録 D 命令 本付録では , FR50 ファミリの命令を示します。 命令の一覧を示す前に , 以下の項目を説明します。 • 命令一覧の読み方 • アドレッシング指定モードの記号 • FR50 ファミリ命令のワード形式 825 付録 D.1 命令一覧 ここでは , 命令一覧を示します。 ■ 命令一覧の読み方 ニーモニック クラス OP サイクル NZVC 動作 Rj , #s 5, A C' A6 A4 1 1 CCCC CCCC Ri + Rj → Ri Ri + s5 → Ri ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ (3) (4) (5) (6) (7) ADD *ADD Ri Ri ・ ・ (1) (1) (2) (3) (4) (5) (6) (2) 826 ー ー 命令名が示されています。 ニーモニック左側の*印(アスタリスク)は,CPU仕様にはなくアセンブラで命令を拡張, または追加した拡張命令です。 オペランドに指定可能なアドレス指定モードが,記号で示されています。 記号の意味は,「アドレス指定モードの記号」を参照してください。 命令のワード形式のクラス名が示されています。 命令ワード形式の詳細については,「FRファミリ命令のワード形式」を参照してくださ い。 命令コードが16進数表示されています。 マシンサイクル数を表しています。 a: メモリアクセスサイクルであり,Ready 機能により拡張できます。 b: メモリアクセスサイクルであり,Ready 機能により拡張できます。 ただし,LD動作の対象となるレジスタを直後の命令が参照する場合には,インターロ ックがかかり,実行サイクル数が+1増加します。 c: 直後の命令が,R15,SSP,またはUSPに対し読出しあるいは書込みを行う命令である 場合,あるいは命令ワード形式Aの命令である場合,インターロックがかかり,実行 サイクル数は+1増加して2となります。 d: 直後の命令がMDH,またはMDLを参照する場合,インターロックがかかり,実行サイク ル数は+1増加します(計2サイクル)。 a,b,c,dとも最小値は1サイクルです。 フラグ変化を表しています。 C 0 1 (7) 備考 フラグ変化 : 変化する : 変化しない : クリア : セット 命令の動作を表しています。 N Z V C : : : : フラグの意味 ネガティブフラグ ゼロフラグ オーバーフラグ キャリーフラグ 付録 D 命令 ■ アドレッシングモードの記号 表 D.1-1 アドレッシングモードの記号の説明 (1 / 2) 記号 説明 Ri レジスタ直接 (R0 ∼ R15, AC, FP, SP) Rj レジスタ直接 (R0 ∼ R15, AC, FP, SP) R13 レジスタ直接 (R13, AC) PS レジスタ直接 ( プログラムステータスレジスタ ) Rs レジスタ直接 (TBR, RP, SSP, USP, MDH, MDL) CRi レジスタ直接に (CR0 ∼ CR15) CRj レジスタ直接 (CR0 ∼ CR15) #i8 符号なし 8 ビット即値 (-128 ∼ 255), -128 ∼ -1 は , 128 ∼ 255 として扱います。 #i20 符号なし 20 ビット即値 (-0X80000 ∼ 0XFFFFF), -0X7FFFF ∼ -1 は , 0X7FFFF ∼ 0XFFFFF として扱います。 #i32 符号なし 32 ビット即値 (-0X80000000 ∼ 0XFFFFFFFF), -0X80000000 ∼ -1 は , 0X80000000 ∼ 0XFFFFFFFF として扱います。 #s5 符号付き 5 ビット即値 (-16 ∼ 15) #s10 符号付き 10 ビット即値 (-512 ∼ 508, 4 の倍数のみ ) #u4 符号なし 4 ビット即値 (0 ∼ 15) #u5 符号なし 5 ビット即値 (0 ∼ 31) #u8 符号なし 8 ビット即値 (0 ∼ 255) #u10 符号なし 10 ビット即値 (0 ∼ 1020, 4 の倍数のみ ) @dir8 符号なし 8 ビット直接アドレス (0 ∼ 0XFF) @dir9 符号なし 9 ビット直接アドレス (0 ∼ 0X1FE, 2 の倍数のみ ) @dir10 符号なし 10 ビット直接アドレス (0 ∼ 0X3FC, 4 の倍数のみ ) Label9 符号付き 9 ビット分岐アドレス (-0X100 ∼ 0XFC, 2 の倍数のみ ) Label12 符号付き 12 ビット分岐アドレス (-0X800 ∼ 0X7FC, 2 の倍数のみ ) Label20 符号付き 20 ビット分岐アドレス (-0X80000 ∼ 0X7FFFF) Label32 符号付き 32 ビット分岐アドレス (-0X80000000 ∼ 0X7FFFFFFF) @Ri レジスタ間接 (R0 ∼ R15, AC, FP, SP) @Rj レジスタ間接 (R0 ∼ R15, AC, FP, SP) @(R13,Rj) レジスタ相対間接 (Rj: R0 ∼ R15, AC, FP, SP) @(R14,disp10) レジスタ相対間接 (disp10: -0X200 ∼ 0X1FC, 4 の倍数のみ ) @(R14,disp9) レジスタ相対間接 (disp9: -0X100 ∼ 0XFE, 2 の倍数のみ ) 827 付録 表 D.1-1 アドレッシングモードの記号の説明 (2 / 2) 記号 説明 @(R14,disp8) レジスタ相対間接 (disp8: -0X80 ∼ 0X7F) @(R15,udisp6) レジスタ相対間接 (udisp6: 0 ∼ 60, 4 の倍数のみ ) @Ri+ @R13+ ポストインクリメント付きレジスタ間接レジスタ (R13(AC)) @SP+ スタックポップ @-SP スタックプッシュ (reglist) 828 ポストインクリメント付きレジスタ間接 (R0 ∼ R12, R13(AC), R14(FP), R15(SP)) レジスタリスト 付録 D 命令 ■ FR50 ファミリ命令のワード形式 表 D.1-2 FR50 ファミリ命令のワード形式 種類 命令フォーマット MSB LSB 16 ビット A B OP Rj Ri 8 4 4 OP i8/o8 Ri 4 8 4 C OP u4/m4/i4 Ri 8 4 4 ADD, ADDN, CMP, LSL, LSR, ASR 命令のみ C’ D E F OP s5/u5 Ri 7 5 4 OP u8/rel8/dir/reglist 8 8 OP SUB-OP Ri 8 4 4 OP rel11 5 11 829 付録 D.2 FR50 ファミリの命令 ここでは , FR50 ファミリの命令を一覧で示します。 ■ 加減算命令 表 D.2-1 加減算命令 ニーモニック 型 OP サイクル NZVC 動作 備考 ADD Rj, Ri A A6 1 CCCC Ri + Rj → Ri * #s5, Ri C' A4 1 CCCC Ri + s5 → Ri アセンブラでは , MSB を 符号と見なす。 ADD #u4, Ri C A4 1 CCCC Ri + extu(i4) → Ri ゼロ拡張 ADD2 #u4, Ri C A5 1 CCCC Ri + extn(i4) → Ri マイナス拡張 ADDC Rj, Ri A A7 1 CCCC Ri + Rj + c → Ri キャリー付き加算 ADDN Rj, Ri A A2 1 ---- Ri + Rj → Ri *ADDN #s5, Ri C' A0 1 ---- Ri + s5 → Ri アセンブラでは , MSB を 符号と見なす。 ADDN #u4, Ri C A0 1 ---- Ri + extu(i4) → Ri ゼロ拡張 ADDN2 #u4, Ri C A1 1 ---- Ri + extn(i4) → Ri マイナス拡張 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 ---- 型 OP サイクル NZVC ADD キャリー付き減算 Ri - Rj → Ri ■ 比較命令 表 D.2-2 比較命令 ニーモニック 動作 備考 CMP Rj, Ri A AA 1 CCCC Ri - Rj *CMP #s5, Ri C' A8 1 CCCC Ri - s5 アセンブラでは , MSB を 符号と見なす。 CMP #u4, Ri C A8 1 CCCC Ri - extu(i4) ゼロ拡張 CMP2 #u4, Ri C A9 1 CCCC Ri - extn(i4) マイナス拡張 830 付録 D 命令 ■ 論理演算命令 表 D.2-3 論理演算命令 ニーモニック 型 OP サイクル NZVC 動作 備考 AND Rj, Ri A 82 1 CC-- Ri &= Rj ワード AND Rj, @Ri A 84 1+2a CC-- (Ri) &= Rj ワード ANDH Rj, @Ri A 85 1+2a CC-- (Ri) &= Rj ハーフワード ANDB Rj, @Ri A 86 1+2a CC-- (Ri) &= Rj バイト OR Rj, Ri A 92 1 CC-- Ri | = Rj ワード OR Rj, @Ri A 94 1+2a CC-- (Ri) | = Rj ワード ORH Rj, @Ri A 95 1+2a CC-- (Ri) | = Rj ハーフワード ORB Rj, @Ri A 96 1+2a CC-- (Ri) | = Rj バイト EOR Rj, Ri A 9A 1 CC-- Ri ^ = Rj ワード EOR Rj, @Ri A 9C 1+2a CC-- (Ri) ^ = Rj ワード EORH Rj, @Ri A 9D 1+2a CC-- (Ri) ^ = Rj ハーフワード EORB Rj, @Ri A 9E 1+2a CC-- (Ri) ^ = Rj バイト 831 付録 ■ ビット操作命令 表 D.2-4 ビット操作命令 ニーモニック 型 OP サイクル NZVC 動作 備考 BANDL #u4, @Ri C 80 1+2a ---- (Ri)&=(0xF0+u4) 下位 4 ビットを操作 BANDH #u4, @Ri C 81 1+2a ---- (Ri)&=((u4<<4)+0x0F) 上位 4 ビットを操作 *BAND #u8, @Ri ---- (Ri)&=u8 BORL #u4, @Ri C 90 1+2a ---- (Ri) | = u4 下位 4 ビットを操作 BORH #u4, @Ri C 91 1+2a ---- (Ri) | = (u4<<4) 上位 4 ビットを操作 *BOR #u8, @Ri ---- (Ri) | = u8 BEORL #u4, @Ri C 98 1+2a ---- (Ri) ^ = u4 下位 4 ビットを操作 BEORH #u4, @Ri C 99 1+2a ---- (Ri) ^ = (u4<<4) 上位 4 ビットを操作 *BEOR #u8, @Ri ---- (Ri) ^ = u8 BTSTL #u4, @Ri C 88 2+a 0C-- (Ri) & u4 下位 4 ビットをテスト BTSTH #u4, @Ri C 89 2+a CC-- (Ri) & (u4<<4) 上位 4 ビットをテスト *1 *2 *3 *1 : アセンブラは , u8&0x0F でビットが立っていれば BANDL を発生し , u8&0xF0 でビットが立って いれば BANDH を発生します。BANDL と BANDH の両方が発生する場合もあります。 *2 : アセンブラは , u8&0x0F でビットが立っていれば BORL を発生し , u8&0xF0 でビットが立ってい れば BORH を発生します。BORL と BORH の両方が発生する場合もあります。 *3 : アセンブラは , u8&0x0F でビットが立っていれば BEORL を発生し , u8&0xF0 でビットが立って いれば BEORH を発生します。BEORL と BEORH の両方が発生する場合もあります。 ■ 乗除算命令 表 D.2-5 乗除算作命令 (1 / 2) ニーモニック 型 OP サイクル NZVC 動作 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 A BB 3 CC-- Ri * Rj → MDL 832 備考 32 ビット *32 ビット = 64 ビット 符号なし 16 ビット *16 ビット = 32 ビット 符号なし 付録 D 命令 表 D.2-5 乗除算作命令 (2 / 2) ニーモニック 型 OP サイクル NZVC 動作 備考 DIV0S Ri E 97-4 1 ---- DIV0U Ri E 97-5 1 ---- DIV1 Ri E 97-6 d -C-C DIV2 Ri E 97-7 1 -C-C DIV3 E 9F-6 1 ---- DIV4S E 9F-7 1 ---- Ri 36 -C-C MDL / Ri → MDL, MDL % Ri → MDH Ri 33 -C-C MDL / Ri → MDL, MDL % Ri → MDH *DIV ステップ演算 32 ビット /32 ビット =32 ビット *1 *DIVU *2 *1 : DIV0S, DIV1 × 32, DIV2, DIV3, DIV4S を発生します。命令コード長は 72 バイトとなります。 *2 : DIV0U, DIV1 × 32 を発生します。命令コード長は 66 バイトとなります。 ■ シフト命令 表 D.2-6 シフト命令 ニーモニック 型 OP サイクル NZVC 動作 LSL Rj, Ri A B6 1 CC-C Ri << Rj → Ri *LSL #u5, Ri (u5:0 ∼ 31) C' B4 1 CC-C Ri << u5 → 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 #u5, Ri (u5:0 ∼ 31) C' B0 1 CC-C Ri >> u5 → 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 * #u5, Ri (u5:0 ∼ 31) C' B8 1 CC-C Ri >> u5 → Ri ASR #u4, Ri C B8 1 CC-C Ri >> u4 → Ri *ASR2 #u4, Ri C B9 1 CC-C Ri >>(u4+16) → Ri 備考 論理シフト 論理シフト ASR 算術シフト 833 付録 ■ 即値セット /16 ビット /32 ビット即値転送命令 表 D.2-7 即値セット /16 ビット /32 ビット即値転送命令 ニーモニック 型 OP サイクル NZVC 動作 LDI:32 #i32, Ri E 9F-8 3 ---- i32 → Ri LDI:20 #i20, Ri C 9B 2 ---- i20 → Ri LDI:8 #i8, B C 1 ---- i8 → Ri * # {i8 | i20 | i32}, Ri LDI Ri 備考 上位 12 ビットはゼ ロ拡張 上位 24 ビットはゼ ロ拡張 {i8 | i20 | i32} → Ri *1 *1 : 即値が絶対値の場合は , i8, i20, i32 の選択はアセンブラが自動的に行います。即値が相対値 , ま たは外部参照シンボルを含む場合は , アセンブラは i32 が選択されます。 ■ メモリロード命令 表 D.2-8 メモリロード命令 ニーモニック 型 OP サイクル NZVC 動作 備考 LD @Rj, Ri A 04 b ---- (Rj) → Ri LD @(R13,Rj), Ri A 00 b ---- (R13+Rj) → Ri LD @(R14,disp10), Ri B 2 b ---- (R14+disp10) → Ri LD @(R15,udisp6), Ri C 03 b ---- (R15+udisp6) → Ri LD @R15+, Ri E 07-0 b ---- (R15) → Ri,R15+=4 LD @R15+, Rs E 07-8 b ---- LD @R15+, PS E 07-9 1+a+c LDUH @Rj, Ri A 05 b ---- (Rj) → Ri ゼロ拡張 LDUH @(R13,Rj), Ri A 01 b ---- (R13+Rj) → Ri ゼロ拡張 LDUH @(R14,disp9), Ri B 4 b ---- (R14+disp9) → Ri ゼロ拡張 LDUB @Rj, Ri A 06 b ---- (Rj) → Ri ゼロ拡張 LDUB @(R13,Rj), Ri A 02 b ---- (R13+Rj) → Ri ゼロ拡張 LDUB @(R14,disp8), Ri B 6 b ---- (R14+disp8) → Ri ゼロ拡張 (R15) → Rs,R15+=4 Rs : 特殊レジスタ * CCCC (R15) → PS,R15+=4 * :ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。 disp10/4 → o8, disp9/2 → o8, disp8 → o8 disp10, disp9, disp8 は符号付き , udisp6/4 → o4 udisp6 は符号 なし。 834 付録 D 命令 ■ メモリストア命令 表 D.2-9 メモリストア命令 ニーモニック 型 OP サイクル NZVC 動作 備考 ST Ri, @Rj A 14 a ---- Ri → (Rj) ワード ST Ri, @(R13,Rj) A 10 a ---- Ri → (R13+Rj) ワード ST Ri, @(R14,disp10) B 3 a ---- Ri → (R14+disp10) ワード ST Ri, @(R15,udisp6) C 13 a ---- (Ri → (R15+udisp6) ST Ri, @-R15 E 17-0 a ---- R15 − =4,Ri → (R15) ST Rs, @-R15 E 17-8 a ---- ST PS, @-R15 E 17-9 a ---- R15 − =4,Rs → (R15) Rs : 特殊レジスタ * R15 − =4,PS → (R15) STH Ri, @Rj A 15 a ---- Ri → (Rj) ハーフワード STH Ri, @(R13,Rj) A 11 a ---- Ri → (R13+Rj) ハーフワード STH Ri, @(R14,disp9) B 5 a ---- Ri → (R14+disp9) ハーフワード STB Ri, @Rj A 16 a ---- Ri → (Rj) バイト STB Ri, @(R13,Rj) A 12 a ---- Ri → (R13+Rj) バイト STB Ri, @(R14,disp8) B 7 a ---- Ri → (R14+disp8) バイト * :ハード仕様の o8, o4 のフィールドには , 次のようにアセンブラが計算して値を設定します。 disp10/4 → o8, disp9/2 → o8, disp8 → o8 disp10, disp9, disp8 は符号付き , udisp6/4 → o4 udisp6 は , 符 号なし。 ■ レジスタ間転送命令 表 D.2-10 レジスタ間転送命令 ニーモニック 型 OP サイクル NZVC 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 MOV Ri, PS E 07-1 c CCCC Ri → PS 動作 備考 * : 特殊レジスタ Rs : TBR, RP, USP, SSP, MDH, MDL 835 付録 ■ 通常分岐命令 ( 遅延なし ) 表 D.2-11 通常分岐命令 ( 遅延なし ) ニーモニック 型 OP サイクル NZVC 動作 備考 JMP @Ri E 97-0 2 ---- Ri → PC CALL label12 F D0 2 ---- PC+2 → RP, PC+2+(label12-PC-2) → PC CALL @Ri E 97-1 2 ---- PC+2 → RP, Ri → PC E 97-2 2 ---- RP → PC D 1F 3+3a ---- SSP - =4,PS → (SSP),SSP - =4,PC+2 → (SSP), 0 → I フラグ , 0 → S フラグ , (TBR+0x3FC-u8 × 4) → PC INTE E 9F-3 3+3a ---- SSP - =4,PS → (SSP),SSP - =4,PC+2 → (SSP), 0 → S フラグ , (TBR+0x3D8) → PC エミュレータで使用される RETI E 97-3 2+2a CCCC (R15) → PC, R15+ =4, (R15) → PS, R15+ =4 RET INT #u8 BRA label9 D E0 2 ---- PC+2+(label9-PC-2) → PC BNO label9 D E1 1 ---- 非分岐 BEQ label9 D E2 2/1 ---- (Z==1) ならば PC+2+(label9-PC-2) → PC BNE label9 D E3 2/1 ---- ↑ s/Z==0 BC label9 D E4 2/1 ---- ↑ s/C==1 BNC label9 D E5 2/1 ---- ↑ s/C==0 BN label9 D E6 2/1 ---- ↑ s/N==1 BP label9 D E7 2/1 ---- ↑ s/N==0 BV label9 D E8 2/1 ---- ↑ s/V==1 BNV label9 D E9 2/1 ---- ↑ s/V==0 BLT label9 D EA 2/1 ---- ↑ s/V xor N==1 BGE label9 D EB 2/1 ---- ↑ s/V xor N==0 BLE label9 D EC 2/1 ---- ↑ s/(V xor N) , または Z==1 BGT label9 D ED 2/1 ---- ↑ s/(V xor N) , または Z==0 BLS label9 D EE 2/1 ---- ↑ s/C , または Z==1 BHI label9 D EF 2/1 ---- ↑ s/C , または Z==0 リターン ( 注意事項 )・ サイクル数の「2/1」は , 分岐する場合 2, 分岐しない場合 1 であることを意味します。 ・ ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を設定 します。 (label12-PC-2)/2 → rel11, (label9-PC-2)/2 → rel8 label12 label9 は符号付き。 836 付録 D 命令 ■ 遅延分岐命令 表 D.2-12 遅延分岐命令 ニーモニック 型 OP サイクル NZVC 動作 備考 JMP:D @Ri E 9F-0 1 ---- Ri → PC CALL:D label12 F D8 1 ---- PC+4 → RP, PC+2+(label12-PC-2) → PC CALL:D @Ri E 9F-1 1 ---- PC+4 → RP, Ri → PC E 9F-2 1 ---- RP → PC RET:D BRA:D label9 D F0 1 ---- PC+2+(label9-PC-2) → PC BNO:D label9 D F1 1 ---- 非分岐 BEQ:D label9 D F2 1 ---- (Z==1) ならば PC+2+(label9-PC-2) → PC BNE:D label9 D F3 1 ---- ↑ s/Z==0 BC:D label9 D F4 1 ---- ↑ s/C==1 BNC:D label9 D F5 1 ---- ↑ s/C==0 BN:D label9 D F6 1 ---- ↑ s/N==1 BP:D label9 D F7 1 ---- ↑ s/N==0 BV:D label9 D F8 1 ---- ↑ s/V==1 BNV:D label9 D F9 1 ---- ↑ s/V==0 BLT:D label9 D FA 1 ---- ↑ s/V xor N==1 BGE:D label9 D FB 1 ---- ↑ s/V xor N==0 BLE:D label9 D FC 1 ---- ↑ s/(V xor N) , または Z==1 BGT:D label9 D FD 1 ---- ↑ s/(V xor N) , または Z==0 BLS:D label9 D FE 1 ---- ↑ s/C , または Z==1 BHI:D label9 D FF 1 ---- ↑ s/C , または Z==0 リターン ( 注意事項 )・ハード仕様の rel11, rel8 のフィールドには , 次のようにアセンブラが計算して値を設 定します。 (label12-PC-2)/2 → rel11, (label9-PC-2)/2 → rel8 label12 label9 は符号付き。 ・遅延分岐命令では , 必ず次の命令 ( 遅延スロット ) を実行してから分岐します。 ・遅延スロットに置くことができる命令は , 1 サイクル命令です。複数サイクル命令を 置くことはできません。 837 付録 ■ その他の命令 表 D.2-13 その他の命令 型 OP サイクル NZVC NOP E 9F-A 1 ---- ANDCCR #u8 D 83 c CCCC CCR and u8 → CCR ORCCR #u8 D 93 c CCCC CCR , or u8 → CCR STILM #u8 D 87 1 ---- i8 → ILM ILM 即値設定 ADDSP #s10 D A3 1 ---- R15 += s10 ADD SP 命令 *1 EXTSB Ri E 97-8 1 ---- 符号拡張 8 → 32 ビット EXTUB Ri E 97-9 1 ---- ゼロ拡張 8 → 32 ビット EXTSH Ri E 97-A 1 ---- 符号拡張 16 → 32 ビット EXTUH Ri E 97-B 1 ---- ゼロ拡張 16 → 32 ビット LDM0 (reglist) D 8C ---- (R15) → reglist, R15 インクリメント マルチロード R0 から R7 LDM1 (reglist) D 8D ---- (R15) → reglist, R15 インクリメント マルチロード R8 から R15 *LDM (reglist) ---- (R15) → reglist, R15 インクリメント マルチロード R0 から R15 *2 STM0 (reglist) D 8E ---- R15 デクリメント Reglist → (R15) マルチストア R0 から R7 STM1 (reglist) D 8F ---- R15 デクリメント Reglist → (R15) マルチストア R8 から R15 *STM (reglist) ---- R15 デクリメント Reglist → (R15) マルチストア R0 から R15 *3 ENTER #u10 ニーモニック LEAVE XCHB @Rj, Ri 動作 備考 変化なし D 0F 1+a ---- R14 → (R15-4), R15-4 → R14, R15-u10 → R15 関数の入口処理 *4 E 9F-9 b ---- R14+4 → R15, (R15-4) → R14 関数の出口処理 A 8A 2a ---- Ri → TEMP (Rj) → Ri TEMP → (Rj) セマフォ管理用 バイトデータ *1: アセンブラは , s10/4 を計算して s8 にして値を設定します。s10 は符号付き。 *2: reglist で , R0 ∼ R7 のいずれかの指定があれば LDM0 を生成し , R8 ∼ R15 のいずれかの指定があれば LDM1 を生成します。LDM0 と LDM1 の両方が生成する場合もあります。 (LDM0 (reglist) , LDM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n の場合 , a*(n-1)+b+1 サイクルとなります。 *3: reglist で , R0 ∼ R7 のいずれかの指定があれば STM0 を生成し , R8 ∼ R15 のいずれかの指定があれば STM1 を生成します。STM1 と STM0 の両方が生成する場合もあります。 STM0 (reglist), STM1 (reglist) の実行サイクル数は , 指定されたレジスタ数が n の場合 , a*n+1 サイクルとなり ます。 *4: アセンブラは , u10/4 を計算して u8 にして値を設定します。u10 は符号なし。 838 付録 D 命令 ■ 20 ビット通常分岐マクロ命令 表 D.2-14 20 ビット通常分岐マクロ命令 ニーモニック 動作 備考 * CALL20 label20,Ri 次の命令のアドレス → RP, label20 → PC Ri: テンポラリレジスタ *1 * BRA20 label20,Ri Label20 → PC Ri: テンポラリレジスタ *2 * BEQ20 label20,Ri (Z==1) ならば label20 → PC Ri: テンポラリレジスタ *3 * BNE20 label20,Ri ↑ s/Z==0 ↑ * BC20 label20,Ri ↑ s/C==1 ↑ * BNC20 label20,Ri ↑ s/C==0 ↑ *BN20 label20,Ri ↑ s/N==1 ↑ *BP20 label20,Ri ↑ s/N==0 ↑ *BV20 label20,Ri ↑ s/V==1 ↑ *BNV20 label20,Ri ↑ s/V==0 ↑ *BLT20 label20,Ri ↑ s/V xor N==1 ↑ *BGE20 label20,Ri ↑ s/V xor N==0 ↑ *BLE20 label20,Ri ↑ s/(V xor N) , または Z==1 ↑ *BGT20 label20,Ri ↑ s/(V xor N) , または Z==0 ↑ *BLS20 label20,Ri ↑ s/C , または Z==1 ↑ *BHI20 label20,Ri ↑ s/C , または Z==0 ↑ *1: CALL20 • label20-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL label12 • label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:20 #label20,Ri CALL @Ri *2: BRA20 • label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA label9 • label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:20 #label20,Ri JMP @Ri *3: Bcc20 • label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc label9 • label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 Bxcc false xcc は cc の背反条件 LDI:20 #label20,Ri JMP @Ri false: 839 付録 ■ 20 ビット遅延分岐マクロ命令 表 D.2-15 20 ビット遅延分岐マクロ命令 ニーモニック 動作 備考 * CALL20:D label20,Ri 次の命令のアドレス +2 → RP, label20 → PC Ri: テンポラリレジスタ *1 * BRA20:D label20,Ri Label20 → PC Ri: テンポラリレジスタ *2 * BEQ20:D label20,Ri (Z==1) ならば label20 → PC Ri: テンポラリレジスタ *3 * BNE20:D label20,Ri ↑ s/Z==0 ↑ * BC20:D label20,Ri ↑ s/C==1 ↑ * BNC20:D label20,Ri ↑ s/C==0 ↑ *BN20:D label20,Ri ↑ s/N==1 ↑ *BP20:D label20,Ri ↑ s/N==0 ↑ *BV20:D label20,Ri ↑ s/V==1 ↑ *BNV20:D label20,Ri ↑ s/V==0 ↑ *BLT20:D label20,Ri ↑ s/V xor N==1 ↑ *BGE20:D label20,Ri ↑ s/V xor N==0 ↑ *BLE20:D label20,Ri ↑ s/(V xor N) , または Z==1 ↑ *BGT20:D label20,Ri ↑ s/(V xor N) , または Z==0 ↑ *BLS20:D label20,Ri ↑ s/C , または Z==1 ↑ *BHI20:D label20,Ri ↑ s/C , または Z==0 ↑ *1:CALL20:D • label20-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL:D label12 • label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:20 #label20,Ri CALL:D @Ri *2: BRA20:D • label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA:D label9 • label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:20 #label20,Ri JMP:D @Ri *3: Bcc20:D • label20-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc:D label9 • label20-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 Bxcc false xcc は cc の背反条件 LDI:20 #label20,Ri JMP:D @Ri false: 840 付録 D 命令 ■ 32 ビット通常分岐マクロ命令 表 D.2-16 32 ビット通常分岐マクロ命令 ニーモニック 動作 備考 * CALL32 label32,Ri 次の命令のアドレス → RP, label32 → PC Ri: テンポラリレジスタ *1 * BRA32 label32,Ri Label32 → PC Ri: テンポラリレジスタ *2 * BEQ32 label32,Ri (Z==1) ならば label32 → PC Ri: テンポラリレジスタ *3 * BNE32 label32,Ri ↑ s/Z==0 ↑ * BC32 label32,Ri ↑ s/C==1 ↑ * BNC32 label32,Ri ↑ s/C==0 ↑ *BN32 label32,Ri ↑ s/N==1 ↑ *BP32 label32,Ri ↑ s/N==0 ↑ *BV32 label32,Ri ↑ s/V==1 ↑ *BNV32 label32,Ri ↑ s/V==0 ↑ *BLT32 label32,Ri ↑ s/V xor N==1 ↑ *BGE32 label32,Ri ↑ s/V xor N==0 ↑ *BLE32 label32,Ri ↑ s/(V xor N) , または Z==1 ↑ *BGT32 label32,Ri ↑ s/(V xor N) , または Z==0 ↑ *BLS32 label32,Ri ↑ s/C , または Z==1 ↑ *BHI32 label32,Ri ↑ s/C , または Z==0 ↑ *1: CALL32 • label32-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL label12 • label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:32 #label32,Ri CALL @Ri *2: BRA32 • label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA label9 • label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:32 #label32,Ri JMP @Ri *3: Bcc32 • label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc label9 • label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 Bxcc false xcc は cc の背反条件 LDI:32 #label32,Ri JMP @Ri false: 841 付録 ■ 32 ビット遅延分岐マクロ命令 表 D.2-17 32 ビット遅延分岐マクロ命令 ニーモニック 動作 備考 * CALL32:D label32,Ri 次の命令のアドレス +2 → RP, label32 → PC Ri: テンポラリレジスタ *1 * BRA32:D label32,Ri Label32 → PC Ri: テンポラリレジスタ *2 * BEQ32:D label32,Ri (Z==1) ならば label32 → PC Ri: テンポラリレジスタ *3 * BNE32:D label32,Ri ↑ s/Z==0 ↑ * BC32:D label32,Ri ↑ s/C==1 ↑ * BNC32:D label32,Ri ↑ s/C==0 ↑ *BN32:D label32,Ri ↑ s/N==1 ↑ *BP32:D label32,Ri ↑ s/N==0 ↑ *BV32:D label32,Ri ↑ s/V==1 ↑ *BNV32:D label32,Ri ↑ s/V==0 ↑ *BLT32:D label32,Ri ↑ s/V xor N==1 ↑ *BGE32:D label32,Ri ↑ s/V xor N==0 ↑ *BLE32:D label32,Ri ↑ s/(V xor N) , または Z==1 ↑ *BGT32:D label32,Ri ↑ s/(V xor N) , または Z==0 ↑ *BLS32:D label32,Ri ↑ s/C , または Z==1 ↑ *BHI32:D label32,Ri ↑ s/C , または Z==0 ↑ *1: CALL32:D • label32-PC-2 が -0x800 ∼ +0x7fe の場合は , 次のように命令を生成します。 CALL:D label12 • label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:32 #label32,Ri CALL:D @Ri *2: BRA32:D • label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 BRA:D label9 • label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 LDI:32 #label32,Ri JMP:D @Ri *3: Bcc32:D • label32-PC-2 が -0x100 ∼ +0xfe の場合は , 次のように命令を生成します。 Bcc:D label9 • label32-PC-2 が , 上記の範囲外の場合および外部参照シンボルを含む場合は , 次のように命令を生成します。 Bxcc false xcc は cc の背反条件 LDI:32 #label32,Ri JMP:D @Ri false: 842 付録 D 命令 ■ ダイレクトアドレッシング命令 表 D.2-18 ダイレクトアドレッシング命令 ニーモニック 型 OP サイクル NZVC 動作 備考 DMOV @dir10, R13 D 08 b ---- (dir10) → R13 ワード DMOV R13, @dir10 D 18 a ---- R13 → (dir10) ワード DMOV @dir10, @R13+ D 0C 2a ---- (dir10) → (R13),R13+=4 ワード DMOV @R13+, @dir10 D 1C 2a ---- (R13) → (dir10),R13+=4 ワード DMOV @dir10, @-R15 D 0B 2a ---- R15 - =4,(R15) → (dir10) ワード DMOV @R15+, @dir10 D 1B 2a ---- (R15) → (dir10),R15+=4 ワード DMOVH @dir9, R13 D 09 b ---- (dir9) → R13 ハーフワード DMOVH R13, @dir9 D 19 a ---- R13 → (dir9) ハーフワード DMOVH @dir9, @R13+ D 0D 2a ---- (dir9) → (R13),R13+=2 ハーフワード DMOVH @R13+, @dir9 D 1D 2a ---- (R13) → (dir9),R13+=2 ハーフワード DMOVB @dir8, R13 D 0A b ---- (dir8) → R13 バイト DMOVB R13, @dir8 D 1A a ---- R13 → (dir8) バイト DMOVB @dir8, @R13+ D 0E 2a ---- (dir8) → (R13),R13++ バイト DMOVB @R13+, @dir8 D 1E 2a ---- (R13) → (dir8),R13++ バイト ( 注意事項 ) dir8, dir9, dir10 のフィールドには , 次のようにアセンブラが計算して値を設定します。 dir8 → dir, dir9/2 → dir, dir10/4 → dir dir8, dir9, dir10 は符号なし。 ■ リソース命令 表 D.2-19 リソース命令 ニーモニック 型 OP サイクル NZVC 動作 備考 LDRES @Ri+, #u4 C BC a ---- (Ri) → u4 のリソース Ri+=4 u4: チャネル番号 STRES #u4, @Ri+ C BD a ---- u4 周辺のリソース → (Ri) Ri+=4 u4: チャネル番号 843 付録 844 索引 Numerics 0 検出 0 検出 ......................................................................370 0 検出用データレジスタ (BSD0) ........................368 10 ビット 10 ビットスレーブアドレスマスクレジスタ (ITMK) の機能 ................................................496 10 ビットスレーブアドレスレジスタ (ITBA) の 機能 ..................................................................495 16 ビット 16 ビットタイマレジスタ (TMR) の構成 ..........422 16 ビットリロードタイマの機能 ........................418 16 ビットリロードタイマのトリガを使用した 起動 ..................................................................400 16 ビットリロードタイマのブロックダイヤグラ ム ......................................................................418 16 ビットリロードタイマのレジスタ構成 ........419 16 ビットリロードレジスタ (TMRLR) の構成 ..........................................................................423 32kHz タイマデータレジスタ (16 ビット )(CUTD) ..........................................................................700 32 ビット←→ 16 ビットバスコンバータ ............80 即値セット /16 ビット /32 ビット即値転送命令 ..........................................................................834 16 ビット I/O タイマ 16 ビット I/O タイマの機能 ................................514 16 ビット I/O タイマのブロックダイヤグラム ..........................................................................515 16 ビット I/O タイマのレジスタ一覧 ................516 16 ビットフリーランタイマ 16 ビットフリーランタイマ ................................529 16 ビットフリーランタイマのカウントタイミン グ ......................................................................533 16 ビットフリーランタイマの機能概要 ............518 16 ビットフリーランタイマのブロックダイヤグ ラム ..................................................................518 16 ビットフリーランタイマのレジスタ機能 ..........................................................................518 1 検出 1 検出 ......................................................................370 1 検出用データレジスタ (BSD1) ........................368 ブロックダイヤグラム 16 ビットフリーランタイマのブロックダイヤグ ラム ..................................................................518 20 ビット 20 ビット遅延分岐マクロ命令 ............................840 20 ビット通常分岐マクロ命令 ............................839 24 ビット 4MHz タイマデータレジスタ (24 ビット )(CUTR) ..........................................................................702 2 サイクル転送 2 サイクル転送のデータフロー ..........................354 DMA バースト 2 サイクル転送 ( ハーフワード ) ..........................................................................359 DMA バースト 2 サイクル転送 ( ワード ) .........360 DMA ブロック 2 サイクル転送 ( バイト ) .........358 32kHz タイマデータレジスタ 32kHz タイマデータレジスタ (16 ビット )(CUTD) ..........................................................................700 32kHz タイマデータレジスタ (CUTD) ..............696 32kHz タイマデータレジスタの設定 ................. 703 32 ビット 32 ビット遅延分岐マクロ命令 ........................... 842 32 ビット通常分岐マクロ命令 ........................... 841 32 ビット←→ 16 ビットバスコンバータ ........... 80 即値セット /16 ビット /32 ビット即値転送命令 ..........................................................................834 32 ビットバス幅での動作 ................................... 279 4MHz タイマデータレジスタ 4MHz タイマデータレジスタ (24 ビット )(CUTR) ..........................................................................702 4MHz タイマデータレジスタ (CUTR) ............... 697 4MHz リアルタイムクロック 4MHz リアルタイムクロックの構成 (SELCLK = 1) ..........................................................................688 7 ビットスレーブアドレスマスクレジスタ 7 ビットスレーブアドレスマスクレジスタ (ISMK) の機能 ................................................499 7 ビットスレーブアドレスレジスタ 7 ビットスレーブアドレスレジスタ (ISBA) の 機能 .................................................................. 498 8 ビット 8 ビットバス幅での動作 .....................................284 845 A A/D 禁止レジスタ A/D 禁止レジスタ (ADBL) のビット構成 .........413 A/D コンバータ A/D コンバータの特長 .........................................402 A/D コンバータのレジスタ一覧 .........................404 動作モード .............................................................414 使用上の注意事項 .................................................416 A/D 制御ステータスレジスタ A/D 制御ステータスレジスタ (ADCS) の各ビット の機能 ..............................................................410 A/D 制御ステータスレジスタ (ADCS) のビット 構成 ..................................................................410 A/D チャネル設定レジスタ A/D チャネル設定レジスタ (ADCH) のビット構成 ..........................................................................405 A/D チャネル設定レジスタ (ADCH) の各ビットの 機能 ..................................................................405 A/D データレジスタ A/D データレジスタ (ADCD) のビット構成 ..........................................................................412 A/D モードレジスタ A/D モードレジスタ (ADMD) の各ビットの機能 ..........................................................................408 A/D モードレジスタ (ADMD) のビット構成 ...........................................................................408 ACCDBL アラーム比較器クロック禁止レジスタ (ACCDBL) ..........................................................................539 ACSR アラーム比較器ステータスレジスタ (ACSR) ..........................................................................539 ADBL A/D 禁止レジスタ (ADBL) のビット構成 .........413 ADCD A/D データレジスタ (ADCD) のビット構成 ..........................................................................412 ADCH A/D チャネル設定レジスタ (ADCH) のビット構成 ..........................................................................405 A/D チャネル設定レジスタ (ADCH) の各ビットの 機能 ..................................................................405 ADCS A/D 制御ステータスレジスタ (ADCS) の各ビット の機能 ..............................................................410 A/D 制御ステータスレジスタ (ADCS) のビット 構成 ..................................................................410 ADMD A/D モードレジスタ (ADMD) の各ビットの機能 ..........................................................................408 A/D モードレジスタ (ADMD) のビット構成 ..........................................................................408 AF200 フラッシュマイコンプログラマシステム構成 ( 横河ディジタルコンピュータ株式会社製 ) ..........................................................................777 AMR0 ∼ AMR7 領域マスクレジスタ (AMR0 ∼ AMR7) .............251 AMR0x,AMR1x 受入マスクレジスタ 0x,1x(AMR0x, AMR1x) ..........................................................456 846 AMSR 受入マスク選択レジスタ (AMSR) .....................455 ASR0 ∼ ASR7 領域選択レジスタ (ASR0 ∼ ASR7) ...................250 B BSD0 0 検出用データレジスタ (BSD0) ........................ 368 BSD1 1 検出用データレジスタ (BSD1) ........................ 368 BSDC 変化点検出用データレジスタ (BSDC) ..............369 BSRR 検出結果レジスタ (BSRR) ..................................369 BTR ビットタイミングレジスタ (BTR) のビット構成 ..........................................................................445 BVALR メッセージバッファ有効レジスタ (BVALR) ........................................................................... 447 C CAN コントローラ CAN コントローラの特長 ................................... 430 CAN コントローラのブロックダイヤグラム ..........................................................................431 CAN モジュール CAN モジュールのクロック制御 .......................182 CCR コンディションコードレジスタ (CCR) ............... 85 CE 制御 書込みデータポーリング読出し (CE 制御 ) ..........................................................................750 CE 制御 書込み [ 書込み/消去コマンド ] アクセス (CE 制御 ) ........................................................ 757 Chip Select Enable register チップセレクト許可レジスタ (CSE):Chip Select Enable register ..................................................262 CLKB CPU クロック (CLKB) .........................................159 CLKP リソースクロック (CLKP) ..................................159 CLKR クロックソース制御レジスタ ............................174 CLKT 外部バスクロック (CLKT) ..................................160 CMCR CAN モジュールのクロック制御 .......................182 CPU CPU アーキテクチャの特長 ..................................74 CPU 機能説明 .......................................................... 76 CPU の各状態における端子の状態 .................... 822 CPU の制御 ............................................................ 340 CPU パイプライン演算 .......................................... 79 CPU ブロックダイヤグラム ..................................76 FR50 CPU 仕様 ........................................................75 CPU クロック CPU クロック (CLKB) .........................................159 CREG インタフェース制御レジスタ (CREG) ..............463 CSE チップセレクト許可レジスタ (CSE):Chip Select Enable register ..................................................262 CSR 制御ステータスレジスタ (CSR) .........................439 CTBR タイムベースカウンタクリアレジスタ .............173 CUCR 補正ユニット制御レジスタ (CUCR) ..........696, 698 CUTD 32kHz タイマデータレジスタ (16 ビット )(CUTD) ..........................................................................700 32kHz タイマデータレジスタ (CUTD) ..............696 CUTR 4MHz タイマデータレジスタ (24 ビット )(CUTR) ...........................................................................702 4MHz タイマデータレジスタ (CUTR) ...............697 D D/A クロック制御レジスタ D/A クロック制御レジスタ (DDBL) ..................479 D/A コンバータ D/A コンバータ出力電圧の理論値 .....................480 D/A コンバータの機能 .........................................476 D/A コンバータの動作概要 .................................480 D/A コンバータのブロックダイヤグラム ..........................................................................476 D/A コンバータのレジスタ一覧 .........................477 D/A 制御レジスタ D/A 制御レジスタ (DACR) ..................................477 D/A データレジスタ D/A データレジスタ (DADR) ..............................478 D19 セクタ消去タイマフラグ (D19) ..........................738 D21 タイミングリミット超過フラグ (D21) ..............738 D22 トグルビットフラグ (D22) ..................................737 D23 データポーリングフラグ (D23) ..........................737 DACR D/A 制御レジスタ (DACR) ..................................477 DADR D/A データレジスタ (DADR) ..............................478 DDBL D/A クロック制御レジスタ (DDBL) ..................479 DICR 遅延割込み制御レジスタ (DICR) .......................366 DIVR0 ベースクロック分周設定レジスタ 0 ..................177 DIVR1 ベースクロック分周設定レジスタ 1 ..................180 DLCRx DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................460 DLC レジスタ x(x=0 ∼ 15) DLC レジスタ x(x=0 ∼ 15)(DLCRx) ..................460 DMA DMA 転送の一時停止 ..........................................342 DMA による周辺回路割込みのクリア ..............342 DMAC DMAC の割込み制御 ...........................................343 DMACA0 ∼ DMACA4 DMAC- チャネル 0,1,2,3,4 制御 / 状態レジスタ A(DMACA0 ∼ DMACA4) ........................................................................... 318 DMACB0 ∼ DMACB4 DMAC- チャネル 0,1,2,3,4 コントロール / ステータスレジスタ B(DMACB0 ∼ DMACB4) ..........................................................................322 DMACR DMAC- チャネル 0,1,2,3,4 DMAC 全体制御 レジスタ (DMACR) ........................................ 328 DMAC 全体制御レジスタ DMAC- チャネル 0,1,2,3,4 DMAC 全体制御 レジスタ (DMACR) ........................................ 328 DMAC チャネル DMAC- チャネル 0,1,2,3,4 DMAC 全体制御 レジスタ (DMACR) ........................................ 328 DMAC- チャネル 0,1,2,3,4 コントロール / ステータスレジスタ B(DMACB0 ∼ DMACB4) ..........................................................................322 DMAC- チャネル 0,1,2,3,4 制御 / 状態レジスタ A(DMACA0 ∼ DMACA4) ..........................................................................318 DMAC- チャネル 0,1,2,3,4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) ............... 327 DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4 DMAC チャネル -0,1,2,3,4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) ............... 327 DMA 転送 DMA 転送全般 ......................................................337 スリープ中の DMA 転送 .....................................344 動作開始 ................................................................ 341 DMA 転送例 DMA デマンド転送 ( ワード ) ............................363 DMA バースト 2 サイクル転送 ( ハーフワード ) ........................................................................... 359 DMA バースト 2 サイクル転送 ( ワード ) ........360 DMA フライバイ転送 ( バイト ) [I/O からメモリヘ ] ........................................ 362 DMA フライバイ転送 ( バイト ) [ メモリから I/O ヘ ] ...................................... 361 DMA ブロック 2 サイクル転送 ( バイト ) ........358 DMA 割込みクリアレジスタ DMA 割込みクリアレジスタ (DRCL) ................ 592 DRCL DMA 割込みクリアレジスタ (DRCL) ................ 592 DTRx データレジスタ x(x=0 ∼ 15)(DTRx) .................. 461 E EDSU メイン機能 ............................................................ 763 EIRR 外部割込み要求レジスタ (EIRR) ........................ 309 EIT EIT( 例外 , 割込み , トラップ ) の特長 ..............103 EIT からのリターン .............................................103 847 EIT 動作の注意事項 .............................................114 EIT トリガ .............................................................103 多重 EIT 処理 ........................................................110 ELVR 外部割込み要求レベル設定レジスタ (ELVR) ..........................................................................310 ENIR 割込み許可レジスタ (ENIR) ................................309 F FMCS フラッシュ制御ステータスレジスタ (FMCS) ...........................................................................720 FR50 FR50 CPU 仕様 ........................................................75 FR50 ファミリ共通メモリマップ .........................92 FR50 ファミリ命令 FR50 ファミリ命令のワード形式 .......................829 G GCN10 GCN10 のビット機能 ...........................................386 汎用制御レジスタ 1(GCN10,GCN11) の ビット構成 ......................................................386 GCN11 GCN11 のビット機能 ...........................................388 汎用制御レジスタ 1(GCN10,GCN11) の ビット構成 ......................................................386 GCN20 汎用制御レジスタ 2(GCN20,GCN21) の ビット構成 ......................................................391 GCN21 汎用制御レジスタ 2(GCN20,GCN21) の ビット構成 ......................................................391 H Harvard Harvard ←→ Princeton バスコンバータ ...............80 Hold Request Cancel Level register HRCL(Hold Request Cancel Level register) ..........301 HRCL HRCL(Hold Request Cancel Level register) ..........301 ホールド要求取下げ要求機能 (HRCL) の使用例 ...........................................................................305 HSTX 端子 HSTX 端子 ( ハードウェアスタンバイ端子 ) への 入力 ..................................................................118 I I/O タイマ 16 ビット I/O タイマの機能 ................................514 I/O タイミング シフト動作開始 / 停止タイミング,および I/O タイミング ................................................561 I/O ポート ポート基本ブロックダイヤグラム .....................232 848 I/O マップ I/O マップの読み方 .............................................. 780 I2C インタフェース I2C インタフェース (400kHz) の特長 ................ 484 I2C インタフェース (400kHz) のレジスタ一覧 ..........................................................................486 2 I C インタフェースのブロックダイヤグラム ..........................................................................485 IBCR バス制御レジスタ (IBCR2) の機能 .................... 488 バス制御レジスタ (IBCR2) のビット機能 ........488 IBSR バスステータスレジスタ (IBSR2) の機能 ......... 492 バスステータスレジスタ (IBSR2) のビット機能 ..........................................................................492 I-Cache I-CacHe 制御レジスタ .......................................... 137 I-Cache を使用する場合の設定方法 ...................142 ICCR SCL 波形 ................................................................ 504 クロック制御レジスタ (ICCR2) の機能 ............502 プリスケーラの設定 ............................................ 503 ICR ICR(Interrupt Control Register) ..............................300 ICR( 割込み制御レジスタ ) ................................. 105 ID ID の設定 ...............................................................470 IDAR データレジスタ (IDAR2) の機能 ........................ 501 IDBL クロック禁止レジスタ (IDBL2) の機能 ............505 IDER IDE レジスタ (IDER) ............................................ 448 IDE レジスタ IDE レジスタ (IDER) ............................................ 448 IDRx ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 459 ID レジスタ x(x=0 ∼ 15) ID レジスタ x(x=0 ∼ 15)(IDRx) .......................... 459 IEN=0 ポーリングモード (IEN=0) ..................................541 IEN=1 割込みモード (IEN=1) .......................................... 541 ILM ILM( 割込みレベルマスクレジスタ ) ................ 105 割込みレベルマスクレジスタ (ILM) ................... 88 INIT 設定初期化リセット (INIT) ................................. 116 設定初期化リセット (INIT) 解除シーケンス ........................................................................... 120 設定初期化リセット (INIT) 状態 ........................ 197 INITX INITX および RY/BY のタイミング .................. 753 INITX 端子 INITX 端子 ( 設定初期化リセット端子 ) への入力 ..........................................................................117 INT INT 命令の動作 ..................................................... 113 ビット [1]:INT - 割込み ........................................ 699 INTE INTE 命令の動作 ..................................................113 INTEN ビット [0]:INTEN - 割込み許可 .......................... 699 Interrupt Control Register ICR(Interrupt Control Register) ..............................300 IRQ フラグビット IRQ フラグビットの設定とリセット .................541 ISBA 7 ビットスレーブアドレスレジスタ (ISBA) の 機能 ..................................................................498 ISMK 7 ビットスレーブアドレスマスクレジスタ (ISMK) の機能 .................................................499 ITBA 10 ビットスレーブアドレスレジスタ (ITBA) の 機能 ..................................................................495 ITMK 10 ビットスレーブアドレスマスクレジスタ (ITMK) の機能 ................................................496 I フラグ I フラグ ..................................................................104 L LEIR 最終イベントインディケータレジスタ (LEIR) ..........................................................................442 LIN LIN 同期フィールド・エッジ検出割込み .........645 LIN バス・タイミング .........................................662 LIN スレーブ設定 .................................................672 LIN スレーブとしての USART ...........................661 LIN デバイス接続 .................................................668 LIN 同期中断割込み .............................................644 LIN 動作モード 3 の使用 .....................................672 LIN マスタ - スレーブ通信機能 ..........................668 LIN マスタとしての USART ...............................661 M MB91360 MB91360( 代表マイコン : MB91F362GB) シリアル 書込み接続時の注意事項 ..............................778 MB91360 シリーズデバイスの全体ブロック ダイヤグラム ....................................................12 MB91360 シリーズの製品ラインナップ ...............4 MB91360 シリーズの特長 .......................................2 MB91360 シリーズの内部アーキテクチャ .........78 MB91360 シリーズのブロック機能 .....................13 MB91360 シリーズのメモリマップ .....................69 MB91360 シリーズメモリマップ .........................91 MB91360G MB91360G( 代表マイコン : MB91F362GB) 書込み 基本構成 ..........................................................766 MB91366GA MB91366GA の端子図 ............................................27 MB91F365GB/F366GB/F376G, MB91366GA の 入出力端子とその機能 ....................................54 MB91F362GB MB91360( 代表マイコン :MB91F362GB) シリアル 書込み接続時の注意事項 ..............................778 MB91360G( 代表マイコン : MB91F362GB) 書込み 基本構成 ..........................................................766 MB91F362GB の端子図 ..........................................20 MB91F362GB の入出力端子とその機能 ..............39 MB91F364G MB91F364G の端子図 ............................................ 21 MB91F364G の入出力端子とその機能 ................45 MB91F365GB MB91F365GB/F366GB/F376G, MB91366GA の 入出力端子とその機能 ....................................54 MB91F365GB の端子図 .........................................23 MB91F366GB MB91F365GB/F366GB/F376G, MB91366GA の 入出力端子とその機能 ....................................54 MB91F366GB/MB91F376G の端子図 ................... 24 MB91F367GB MB91F367GB/F368GB の入出力端子とその機能 ............................................................................58 MB91F367GB の端子図 .........................................25 MB91F368GB MB91F368GB の端子図 .........................................26 MB91F367GB/F368GB の入出力端子とその機能 ............................................................................58 MB91F369GA MB91F369GA の端子図 .........................................22 MB91F369GA の入出力端子とその機能 ............. 49 MB91F376G MB91F365GB/F366GB/F376G, MB91366GA の 入出力端子とその機能 ....................................54 MB91F366GB/MB91F376G の端子図 ................... 24 MB91FV360GA MB91FV360GA の端子図 ...................................... 19 MB91FV360GA の入出力端子とその機能 ..........28 MODe Register モードレジスタ (MODR):MODe Register ..........262 MODR モードレジスタ (MODR) .....................................127 モードレジスタ (MODR):MODe Register ..........262 N NMI マスク不可割込み (NMI:Non-Maskable Interrupt) ........................................................................... 303 ユーザ割込みと NMI の動作 ............................... 112 割込み /NMI に対するレベルマスク ................. 105 NMI コントローラ 外部割込み,および NMI コントローラの ブロックダイヤグラム ..................................308 外部割込み,および NMI コントローラの レジスタ構成 ..................................................308 Non-Maskable Interrupt マスク不可割込み (NMI:Non-Maskable Interrupt) ........................................................................... 303 P PCNH 制御ステータスレジスタ (PCNH,PCNL) の ビット構成 ......................................................379 PCNH/PCNL PCNH/PCNL の各ビットの機能 .........................379 PCNL 制御ステータスレジスタ (PCNH,PCNL) の ビット構成 ......................................................379 849 PCSR PCSR の機能 ..........................................................383 PPG 周期設定レジスタ (PCSR) のビット構成 ...........................................................................383 PDBL0 禁止レジスタ (PDBL0,PDBL1) のビット構成 ..........................................................................391 PDBL1 禁止レジスタ (PDBL0,PDBL1) のビット構成 ..........................................................................391 PDUT PDUT の機能 .........................................................384 PPG デューティ設定レジスタ (PDUT) の ビット構成 ......................................................384 PFR ポート機能レジスタ (PFR) の機能と初期値 ..........................................................................237 PLL PLL 逓倍率 .............................................................156 PLL 発振の許可/禁止 ........................................156 PPG PPG 出力タイミング ............................................393 PPG 動作 ................................................................393 オール "L" とオール "H" の PPG 出力 ...............398 複数の PPG タイマチャネルの起動 ...................399 PPG 周期設定レジスタ PPG 周期設定レジスタ (PCSR) のビット構成 ..........................................................................383 PPG タイマ PPG タイマの機能概要 ........................................374 PPG タイマの動作 ................................................392 チャネル 0 ∼ 3 の PPG タイマのレジスタ ..........................................................................377 チャネル 4 ∼ 7 の PPG タイマのレジスタ ..........................................................................378 PPG タイマレジスタ PPG タイマレジスタ (PTMR) のビット構成 ..........................................................................385 PPG デューティ設定レジスタ PPG デューティ設定レジスタ (PDUT) の ビット構成 ......................................................384 Princeton Harvard ←→ Princeton バスコンバータ ...............80 PS プログラムステータスレジスタ (PS) の構造 ............................................................................85 PTMR PPG タイマレジスタ (PTMR) のビット構成 ..........................................................................385 PTMR の機能 .........................................................385 PWM1,PWM2 選択レジスタ PWM1,PWM2 選択レジスタの機能 ................583 PWM1,PWM2 比較レジスタ PWM1,PWM2 比較レジスタの機能 ................582 PWM クロック禁止レジスタ PWM クロック禁止レジスタの機能 ..................585 PWM 制御 0 レジスタ PWM 制御 0 レジスタの機能 ..............................581 850 R RCR 受信完了レジスタ (RCR) .....................................452 RETI RETI 命令の動作 ..................................................114 RFWTR リモートフレーム受信待ちレジスタ (RFWTR) ..........................................................................450 RIER 受信割込み許可レジスタ (RIER) ........................ 454 ROVRR 受信オーバランレジスタ (ROVRR) ...................453 RRTRR リモート要求受信レジスタ (RRTRR) ................ 453 RSRR リセット要因レジスタ,ウォッチドッグタイマ 制御レジスタ(RSRR)..................................164 RST 動作初期化リセット (RST) ................................. 116 動作初期化リセット (RST) 状態 ........................ 197 動作初期化リセット (RST) 解除シーケンス ..........................................................................120 発振安定待ちリセット (RST) 状態 .................... 196 RSTX 端子 RSTX 端子 ( 動作初期化リセット端子 ) への 入力 (MB91FV360GA のみ ) .........................117 RTC モード 停止モード /RTC モード .....................................202 RTEC 送信,および受信エラーカウンタ (RTEC) の ビット構成 ......................................................444 RY/BY INITX および RY/BY のタイミング .................. 753 RY/BY タイミング 書込み中/消去中の RY/BY タイミング ..........753 S SCC,MSS,INT ビット SCC,MSS,INT ビットの競合 .........................491 SCR システムコンディションコードレジスタ (SCR) ............................................................................87 シリアル制御レジスタ (SCR) の機能 ................ 601 SDR シリアルシフトデータレジスタ (SDR) の機能 ..........................................................................555 SELCLK = 0 サブクロックの動作 (SELCLK = 0) ...................687 SELCLK = 1 4MHz リアルタイムクロックの構成 (SELCLK = 1) ..........................................................................688 SES SIO エッジ選択 / クロック禁止レジスタ (SES) の 機能 .................................................................. 556 SIDR シリアル入力レジスタ (SIDR),およびシリアル 出力レジスタ (SODR) の構成 .......................603 SIO シリアル I/O インタフェース (SIO) の概要 ..........................................................................548 シリアル I/O インタフェース (SIO) のレジスタ 一覧 ..................................................................550 SIO エッジ選択 / クロック禁止レジスタ SIO エッジ選択 / クロック禁止レジスタ (SES) の 機能 ..................................................................556 SMCS シリアルモード制御ステータスレジスタ (SMCS) の機能 ..............................................................551 SMR シリアルモードレジスタ (SMR) の機能 ...........599 SODR シリアル入力レジスタ (SIDR),およびシリアル 出力レジスタ (SODR) の構成 .......................603 SRST ビット STCR:SRST ビットへの書込み ( ソフトウェアリ セット ) ............................................................118 SSR シリアル状態レジスタ (SSR) の機能 .................604 STCR STCR:SRST ビットへの書込み ( ソフトウェアリ セット ) ............................................................118 STRT ビット [4]:STRT - 補正開始 .................................698 T TBCR タイムベースカウンタ制御レジスタ (TBCR) ..........................................................................170 TCANR 送信取消しレジスタ (TCANR) ...........................451 TCR 送信完了レジスタ (TCR) .....................................451 TIER 送信割込み許可レジスタ (TIER) ........................452 TMCSR 制御ステータスレジスタ (TMCSR) の各ビットの 機能 ..................................................................420 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................420 TMR 16 ビットタイマレジスタ (TMR) の構成 ..........422 TMRLR 16 ビットリロードレジスタ (TMRLR) の構成 ..........................................................................423 TREQR 送信要求レジスタ (TREQR) ................................449 TRTRR 送信 RTR レジスタ (TRTRR) ..............................450 U UART UART の使用上の注意 .........................................613 UART の特長 .........................................................596 UART のブロックダイヤグラム .........................597 UART のレジスタ構成 .........................................598 UART レベル選択レジスタ UART レベル選択レジスタ (ULS) の機能 ........606 ULS UART レベル選択レジスタ (ULS) の機能 ........606 UPDT 更新ビット (UPDT) の概要 ................................. 683 USART CPU 間接続 ....................................................664, 665 CPU 間接続方式 ....................................................653 LIN 同期フィールド・エッジ検出割込み ......... 645 LIN バス・タイミング .........................................662 LIN スレーブ設定 ................................................. 672 LIN スレーブとしての USART ........................... 661 LIN デバイス接続 ................................................. 668 LIN 同期中断割込み .............................................644 LIN 動作モード 3 の使用 .....................................672 LIN マスタ - スレーブ通信機能 .........................668 LIN マスタとしての USART ............................... 661 USART 機能 .......................................................... 618 USART 検出端子アクセス ..................................663 USART 端子 .......................................................... 625 USART 動作モード .............................................. 619 USART の構成 ......................................................621 USART の動作 ......................................................653 USART の割込み ..........................................620, 643 USART ボーレート選択 ...................................... 648 エラー検出 ............................................................ 659 各ブロックの説明 ................................................623 機能選択 ................................................................ 666 クロック供給 ........................................................ 658 算出例 ....................................................................650 自動再開 ................................................................ 652 受信動作 ........................................................636, 656 受信割込み ............................................................ 644 受信割込みの発生とフラグの設定タイミング ..........................................................................646 信号モード ............................................................ 654 信号モード NRZ および RZ ................................656 スレーブデバイスとしての USART .................. 670 送信動作 ........................................................637, 656 送信割込み ............................................................ 644 送信割込み許可タイミング ................................672 送信割込みの発生とフラグの設定タイミング ..........................................................................647 送信割込み要求発生タイミング ........................ 647 双方向通信機能 ....................................................664 ソフトウェアの互換性 ........................................ 673 通信 ........................................................................659 通信手順 ................................................................ 667 通信モードの設定 ................................................672 停止ビット , エラー検出 , パリティ .................. 656 データ信号モード ................................................659 転送データ形式(SPI, MB91360 シリーズでは非 対応)................................................................ 657 転送データフォーマット .................................... 655 転送データフォーマット ( 通常同期 ) ............... 657 同期方式 ................................................................ 654 動作許可 ................................................................ 672 動作許可ビット ....................................................654 動作設定の変更 ....................................................672 入力キャプチャ・ユニットを用いたボーレートの 検出 .................................................................. 673 バスアイドルファンクション ............................673 バスアイドル割込み ............................................ 645 プログラマブルリセット .................................... 652 ボーレートの計算方法 ........................................ 650 851 マシン速度とボーレートに応じた推奨分割比 ..........................................................................650 マスタ / スレーブ通信機能 .................................665 マスタデバイスとしての USART ......................669 モード 2 でのクロック反転および 開始 / 停止ビット ...........................................658 UTIM U- タイマレジスタ (UTIM) ..................................590 UTIMC U- タイマ制御レジスタ (UTIMC) .......................590 U-TIMER U- タイマ (U-TIMER) のブロックダイヤグラム ..........................................................................588 U- タイマ (U-TIMER) のレジスタ構成 ..............589 ボーレートと U-TIMER のリロード値の設定例 ..........................................................................615 UTIMR U- タイマリロードレジスタ (UTIMR) ...............590 U- タイマ U- タイマ (U-TIMER) のブロックダイヤグラム ..........................................................................588 U- タイマ (U-TIMER) のレジスタ構成 ..............589 U- タイマリロードレジスタ (UTIMR) ...............590 U- タイマ制御レジスタ U- タイマ制御レジスタ (UTIMC) .......................590 U- タイマレジスタ U- タイマレジスタ (UTIM) ..................................590 V VCC3C 端子 VCC3C 端子におけるより大きなキャパシタンス ..........................................................................186 VID VID の印加 .............................................................747 W WE 制御 書込み [ 書込み / 消去コマンド ] アクセス (WE 制御 ) .......................................................756 書込みデータポーリング読出し (WE 制御 ) ..........................................................................749 あ アーキテクチャ CPU アーキテクチャの特長 ..................................74 MB91360 シリーズの内部アーキテクチャ ......... 78 アイドルサイクル アイドルサイクルでの動作 ................................286 アウトプットコンペアモジュール アウトプットコンペアモジュール .................... 530 アウトプットコンペアモジュールの機能概要 ..........................................................................522 アウトプットコンペアモジュールのタイミング ..........................................................................534 アウトプットコンペアモジュールの ブロックダイヤグラム ..................................522 アウトプットコンペアモジュールのレジスタ機能 ..........................................................................523 アクセス データアクセス ......................................................90 フラッシュメモリにアクセスするプログラム ..........................................................................747 プログラムアクセス .............................................. 90 アクノリッジ アクノリッジ ........................................................ 508 アドレッシング スレーブのアドレッシングとデータ送信の例 ..........................................................................509 アドレッシングモード アドレッシングモード ........................................ 338 アドレッシングモードの記号 ............................827 アラーム比較器 アラーム比較器のブロックダイヤグラム ..........................................................................538 アラーム比較器パワーダウンモード ................ 542 アラーム比較器クロック禁止レジスタ アラーム比較器クロック禁止レジスタ (ACCDBL) ..........................................................................539 アラーム比較器ステータスレジスタ アラーム比較器ステータスレジスタ (ACSR) ..........................................................................539 アルゴリズム 拡張セクタ保護アルゴリズム ............................744 高速モードアルゴリズム .................................... 745 い 印加 VID の印加 .............................................................747 インタフェース制御レジスタ インタフェース制御レジスタ (CREG) ..............463 インプットキャプチャモジュール インプットキャプチャモジュール .................... 532 インプットキャプチャモジュールの機能概要 ..........................................................................526 インプットキャプチャモジュールのタイミング ..........................................................................535 インプットキャプチャモジュールの ブロックダイヤグラム ..................................526 インプットキャプチャモジュールのレジスタ機能 ..........................................................................527 852 う ウエイトサイクル ウエイトサイクルの動作 .....................................287 ウォッチドッグタイマ ウォッチドッグタイマ .........................................191 ウォッチドッグタイマ制御レジスタ リセット要因レジスタ,ウォッチドッグタイマ 制御レジスタ(RSRR)..................................164 ウォッチドッグタイマリセット ソフトウェアリセット,ウォッチドッグタイマリ セット ..............................................................747 ウォッチドッグリセット ウォッチドッグリセット .....................................118 受入フィルタ 受入フィルタの設定 .............................................470 受入マスク選択レジスタ 受入マスク選択レジスタ (AMSR) ......................455 受入マスクレジスタ 0x,1x 受入マスクレジスタ 0x,1x(AMR0x, AMR1x) ..........................................................456 え エラー エラーによる停止 .................................................343 エラー検出 停止ビット , エラー検出 , パリティ ...................656 お オール "H" オール "L" とオール "H" の PPG 出力 ...............398 オール "L" オール "L" とオール "H" の PPG 出力 ...............398 主な機能 データ転送の主な機能 .........................................314 か 解除シーケンス 設定初期化リセット (INIT) 解除シーケンス ..........................................................................120 動作初期化リセット (RST) 解除シーケンス ..........................................................................120 ハードウェアスタンバイ解除シーケンス .........120 外部 ROM 外部バスモード バスモード 2( 外部 ROM 外部バスモード ) ..........................................................................126 外部インターフェイス アセンブラ例 .........................................................292 概要 .........................................................................289 セットアップシーケンス .....................................292 発振安定時間 .........................................................290 ブート ROM 処理 ..................................................290 ポート設定可能 .....................................................292 外部端子 外部端子,および内部動作のタイミング .........345 外部デバイス 外部デバイスとの接続例 .....................................269 外部バス 外部バスアクセス ................................................266 外部バスクロック 外部バスクロック (CLKT) ..................................160 外部バス要求 外部バス要求 ........................................................ 288 外部割込み 外部割込みの操作手順 ........................................ 311 外部割込みの動作 ................................................311 外部割込み要求レベル ........................................ 311 外部割込み要求レベル設定レジスタ (ELVR) ..........................................................................310 外部割込み,および NMI コントローラの ブロックダイヤグラム ..................................308 外部割込み,および NMI コントローラの レジスタ構成 ..................................................308 外部割込み要求レベル設定レジスタ 外部割込み要求レベル設定レジスタ (ELVR) ..........................................................................310 回路の種類 回路の種類 .............................................................. 62 カウントタイミング 16 ビットフリーランタイマのカウントタイミン グ ......................................................................533 書込み 書込み [ 書込み/消去コマンド ] アクセス (CE 制御 ) ........................................................ 757 書込みアクセス 書込み [ 書込み / 消去コマンド ] アクセス (WE 制御 ) ....................................................... 756 デバイスの CPU による書込みアクセス ........... 727 書込みコマンド 書込みコマンド ....................................................731 書込み中/消去中 書込み中/消去中の RY/BY タイミング ..........753 書込みデータポーリング読出し 書込みデータポーリング読出し (CE 制御 ) ..........................................................................750 書込みデータポーリング読出し (WE 制御 ) ..........................................................................749 拡張セクタ 拡張セクタ保護 ....................................................735 拡張セクタ保護 拡張セクタ保護 ....................................................735 拡張セクタ保護アルゴリズム 拡張セクタ保護アルゴリズム ............................744 き 起動条件 起動条件 ................................................................ 506 機能概要 PPG タイマの機能概要 ........................................ 374 基本構成 MB91360G( 代表マイコン : MB91F362GB) 書込み 基本構成 .......................................................... 766 基本命令 基本命令 .................................................................. 95 キャッシュ 各動作モード時のキャッシュの状態 ................ 139 キャッシュのエントリ更新 ................................140 命令キャッシュ ......................................................79 853 キャッシュ可能領域 命令キャッシュのキャッシュ可能領域 .............141 キャッシュ構成 キャッシュ構成 .....................................................133 キャパシタンス VCC3C 端子におけるより大きなキャパシタンス ..........................................................................186 禁止レジスタ 禁止レジスタ (PDBL0,PDBL1) のビット構成 ..........................................................................391 く クロック 外部バスクロック (CLKT) ..................................160 クロック .................................................................694 クロック生成の概要 .............................................154 クロックの滑らかな起動と停止 .........................186 クロック生成制御ブロックのレジスタ .............163 クロックパルス分周 .............................................161 その他のクロック .................................................160 クロック禁止レジスタ クロック禁止レジスタ (WTDBL) .......................682 クロック禁止レジスタ (IDBL2) の機能 .............505 クロック制御 CAN モジュールのクロック制御 .......................182 クロック制御レジスタ SCL 波形 ................................................................504 クロック制御レジスタ (ICCR2) の機能 .............502 プリスケーラの設定 .............................................503 クロック生成制御ブロック クロック生成制御ブロックのブロックダイヤグラ ム ......................................................................162 クロック生成制御ブロックのレジスタ .............163 クロック選択 UART のクロック選択 .........................................607 クロックソース制御レジスタ クロックソース制御レジスタ .............................174 クロックパルス分周 クロックパルス分周 .............................................161 クロック変調器 CAN プリスケーラ ...............................................210 オブザーバ .............................................................210 キャリブレーション・ユニット .........................210 変調度および周波数解像度 .................................210 け 検出結果レジスタ 検出結果レジスタ (BSRR) ...................................369 こ 更新ビット 更新ビット (UPDT) の概要 .................................683 更新ビットのタイミング .....................................683 構成レジスタ 構成レジスタ .........................................................150 高速 高速プログラミング .............................................735 854 高速モード 高速モード ............................................................ 735 高速モードアルゴリズム 高速モードアルゴリズム .................................... 745 コマンド 書込みコマンド ....................................................731 セクタ消去一時停止コマンド ............................734 セクタ消去コマンド ............................................ 732 セクタ消去再開コマンド .................................... 735 チップ消去コマンド ............................................ 732 読出し / リセットコマンド ................................. 730 コマンドシーケンス コマンドシーケンス ............................................ 729 コンディションコードレジスタ コンディションコードレジスタ (CCR) ............... 85 コントロール / ステータスレジスタ B DMAC- チャネル 0,1,2,3,4 コントロール / ステータスレジスタ B(DMACB0 ∼ DMACB4) ..........................................................................322 さ 最終イベントインディケータレジスタ 最終イベントインディケータレジスタ (LEIR) ..........................................................................442 サウンド禁止レジスタ サウンド禁止レジスタの機能 ............................574 サウンドコントロールレジスタ サウンドコントロールレジスタの機能 ............568 サウンド生成器 サウンド生成器の構成 ........................................ 566 サウンド生成器のブロックダイヤグラム ..........................................................................566 サウンド生成器のレジスタ一覧 ........................ 567 サブクロック サブクロックの動作 (SELCLK = 0) ...................687 サブクロックシステム サブクロックシステムの概要 ............................686 サブセカンドレジスタ サブセカンドレジスタ (WTBR) .........................680 し シーケンス シーケンス ............................................................ 306 システムコンディションコードレジスタ システムコンディションコードレジスタ (SCR) ............................................................................. 87 実行状態 実行状態 ( 通常動作 ) ...........................................195 実行モード 実行モード ............................................................ 546 自動書込み/消去 自動書込み/消去 ................................................728 シフトクロック シフトクロックのモード .................................... 559 シフト動作開始 / 停止タイミング シフト動作開始 / 停止タイミング,および I/O タイミング ................................................561 シフト命令 シフト命令 ............................................................ 833 周波数データレジスタ 周波数データレジスタの機能 .............................570 周辺回路 クロック制御部が持つ周辺回路 .........................190 周辺回路割込み DMA による周辺回路割込みのクリア ..............342 受信オーバランレジスタ 受信オーバランレジスタ (ROVRR) ...................453 受信完了レジスタ 受信完了レジスタ (RCR) .....................................452 受信手順 メッセージバッファ (x) による受信手順 ..........472 受信動作 受信動作 .................................................................608 受信割込み許可レジスタ 受信割込み許可レジスタ (RIER) ........................454 主要機能 主要機能 .................................................................298 消去コマンド 書込み [ 書込み / 消去コマンド ] アクセス (WE 制御 ) .......................................................756 書込み [ 書込み/消去コマンド ] アクセス (CE 制御 ) .........................................................757 消去中 書込み中/消去中の RY/BY タイミング ..........753 乗除算命令 乗除算命令 .............................................................832 状態遷移図 スタンバイモードの状態遷移図 .........................207 状態遷移要求 各状態遷移要求の優先順位 .................................198 使用例 ハードウェアシーケンスフラグの使用例 .........739 シリアル I/O シリアル I/O 動作 .................................................560 シリアル I/O プリスケーラ .................................557 シリアル I/O インタフェース シリアル I/O インタフェース (SIO) の概要 ..........................................................................548 シリアル I/O インタフェース (SIO) の レジスタ一覧 ..................................................550 動作概要 .................................................................559 シリアルオンボード書込み 富士通標準シリアルオンボード書込みに使用する 端子 ..................................................................767 シリアル書込み接続 MB91360( 代表マイコン :MB91F362GB) シリアル 書込み接続時の注意事項 ..............................778 シリアルシフトデータレジスタ シリアルシフトデータレジスタ (SDR) の機能 ..........................................................................555 シリアル出力レジスタ シリアル入力レジスタ (SIDR),および シリアル出力レジスタ (SODR) の構成 ..........................................................................603 シリアル状態レジスタ シリアル状態レジスタ (SSR) の機能 .................604 シリアル制御レジスタ シリアル制御レジスタ (SCR) の機能 ................601 シリアル入力レジスタ シリアル入力レジスタ (SIDR),および シリアル出力レジスタ (SODR) の構成 ...........................................................................603 シリアルモード制御ステータスレジスタ シリアルモード制御ステータスレジスタ (SMCS) の機能 .............................................................. 551 シリアルモードレジスタ シリアルモードレジスタ (SMR) の機能 ........... 599 シングルチップモード バスモード 0( シングルチップモード ) ............. 126 振幅データレジスタ 振幅データレジスタの機能 ................................571 す スタンバイ制御レジスタ スタンバイ制御レジスタ .................................... 167 スタンバイモード スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 304 スタンバイモードでの動作 ................................206 スタンバイモードの状態遷移図 ........................ 207 ステッパモータコントローラ ステッパモータコントローラの概要 ................ 576 ステッパモータコントローラのブロックダイヤグ ラム .................................................................. 577 ステッパモータコントローラのレジスタ一覧 ..........................................................................578 ステップトレーストラップ ステップトレーストラップの動作 .................... 113 ストップ / スリープ スタンバイモード ( ストップ / スリープ ) からの 復帰 .................................................................. 304 ストップモード ストップモードの解除 ........................................ 311 スリープモード スリープモード ....................................................200 スレーブ スレーブのアドレッシングとデータ送信の例 ..........................................................................509 スレーブアドレス スレーブアドレス検出 ........................................ 506 スレーブアドレスマスク .................................... 507 スレーブアドレッシング スレーブアドレッシング .................................... 507 せ 制御 / 状態レジスタ A DMAC- チャネル 0,1,2,3,4 制御 / 状態 レジスタ A(DMACA0 ∼ DMACA4) ............318 制御信号 データバス幅と制御信号との関係 .................... 263 フラッシュメモリの制御信号 ............................713 制御ステータスレジスタ 制御ステータスレジスタ (CSR) .........................439 制御ステータスレジスタ (PCNH,PCNL) の ビット構成 ......................................................379 制御ステータスレジスタ (TMCSR) の各ビットの 機能 .................................................................. 420 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................420 制御レジスタ I-CacHe 制御レジスタ .......................................... 137 制御レジスタ一覧 ................................................432 855 制御レジスタ構成 .................................................135 セクタ構成 セクタ構成 (256KB/512KB フラッシュメモリ ) ..........................................................................709 セクタ構成 (768KB フラッシュメモリ ) ...........711 セクタ消去一時停止コマンド セクタ消去一時停止コマンド .............................734 セクタ消去コマンド セクタ消去コマンド .............................................732 セクタ消去コマンドシーケンス チップ消去 / セクタ消去コマンドシーケンス ..........................................................................751 セクタ消去再開コマンド セクタ消去再開コマンド .....................................735 セクタ消去タイマフラグ セクタ消去タイマフラグ (D19) ..........................738 セクタ保護 セクタ保護の一時的キャンセル .................743, 754 セクタ保護の許可 .................................................741 セクタ保護の許可/セクタ保護の検証 .............754 セクタ保護の検証 .................................................742 セクタ保護動作リスト セクタ保護動作リスト .........................................741 設定初期化リセット 設定初期化リセット (INIT) .................................116 設定初期化リセット (INIT) 解除シーケンス ..........................................................................120 設定初期化リセット (INIT) 状態 ........................197 設定初期化リセット端子 INITX 端子 ( 設定初期化リセット端子 ) への入力 ...........................................................................117 設定タイミング モード 0 で受信するときの割込みフラグの 設定タイミング ..............................................610 モード 0,モード 1,モード 2 で送信するときの 割込みフラグの設定タイミング ..................612 モード 1 で受信するときの割込みフラグの 設定タイミング ..............................................611 モード 2 で受信するときの割込みフラグの 設定タイミング ..............................................611 ゼロ検知 0 レジスタ ゼロ検知 0 レジスタの機能 .................................579 専用レジスタ 専用レジスタ ...........................................................81 専用レジスタの構造 ...............................................83 専用レジスタの種類 ...............................................83 そ 送信 RTR レジスタ 送信 RTR レジスタ (TRTRR) ..............................450 送信完了レジスタ 送信完了レジスタ (TCR) .....................................451 送信手順 メッセージバッファ (x) による送信手順 ..........471 送信動作 送信動作 .................................................................609 送信取消しレジスタ 送信取消しレジスタ (TCANR) ...........................451 送信要求レジスタ 送信要求レジスタ (TREQR) ................................449 856 送信割込み許可レジスタ 送信割込み許可レジスタ (TIER) ........................ 452 送信,および受信エラーカウンタ 送信,および受信エラーカウンタ (RTEC) の ビット構成 ......................................................444 即値セット 即値セット /16 ビット /32 ビット即値転送命令 ..........................................................................834 測定限界 測定限界 ................................................................ 704 その他 その他の命令 ........................................................ 838 ソフトウェアリセット STCR:SRST ビットへの書込み ( ソフトウェアリセット ) ............................. 118 ソフトウェアリセット,ウォッチドッグタイマ リセット .......................................................... 747 た 待機時間 発振が安定するまでの待機時間の選択 ............122 退避復帰の処理 退避復帰の処理 ....................................................372 タイマ制御レジスタ タイマ制御レジスタ (WTCR) ............................. 679 タイミング INITX および RY/BY のタイミング .................. 753 アウトプットコンペアモジュールのタイミング ..........................................................................534 インプットキャプチャモジュールのタイミング ..........................................................................535 外部端子,および内部動作のタイミング ........345 更新ビットのタイミング .................................... 683 タイミング ............................................................ 694 タイミングリミット超過フラグ タイミングリミット超過フラグ (D21) ..............738 タイムベースカウンタクリアレジスタ タイムベースカウンタクリアレジスタ ............173 タイムベースカウンタ制御レジスタ タイムベースカウンタ制御レジスタ (TBCR) ........................................................................... 170 タイムベースタイマ タイムベースタイマ ............................................ 192 ダイレクトアドレッシング命令 ダイレクトアドレッシング命令 ........................ 843 多重 EIT 処理 多重 EIT 処理 ........................................................ 110 多重メッセージバッファ 多重メッセージバッファ構成の設定 ................ 473 端子機能 MB91F362GB の入出力端子とその機能 ............. 39 MB91F364G の入出力端子とその機能 ................45 MB91F365GB/F366GB/F376G, MB91366GA の 入出力端子とその機能 ....................................54 MB91F367GB/F368GB の入出力端子とその機能 ............................................................................58 MB91F369GA の入出力端子とその機能 ............. 49 MB91FV360GA の入出力端子とその機能 ..........28 端子図 MB91366GA の端子図 ...........................................27 MB91F362GB の端子図 .........................................20 MB91F364G の端子図 ............................................21 MB91F365GB の端子図 ..........................................23 MB91F366GB/MB91F376G の端子図 ...................24 MB91F367GB の端子図 ..........................................25 MB91F368GB の端子図 ..........................................26 MB91F369GA の端子図 .........................................22 MB91FV360GA の端子図 .......................................19 ち 遅延スロット 遅延スロットによる分岐命令 .............................100 遅延分岐命令 遅延分岐命令 .........................................................837 遅延割込み制御レジスタ 遅延割込み制御レジスタ (DICR) .......................366 チップ チップ初期化 .........................................................146 チップ消去 / セクタ消去コマンドシーケンス チップ消去 / セクタ消去コマンドシーケンス ..........................................................................751 チップ消去コマンド チップ消去コマンド .............................................732 チップセレクト許可レジスタ チップセレクト許可レジスタ (CSE):Chip Select Enable register ..................................................262 チャネル チャネル 0 ∼ 3 の PPG タイマのレジスタ ..........................................................................377 チャネル 4 ∼ 7 の PPG タイマのレジスタ ..........................................................................378 チャネルの選択と制御 .........................................344 注意事項 MB91360( 代表マイコン :MB91F362GB) シリアル書込み接続時の注意事項 ..............778 調停 調停 / マルチマスタ動作 .....................................508 つ 通常同期 転送データフォーマット ( 通常同期 ) ...............657 通常動作 実行状態 ( 通常動作 ) ...........................................195 通常バスアクセス 通常バスアクセス .................................................277 通常分岐命令 通常分岐命令 ( 遅延なし ) ...................................836 通常リセット 通常 ( 非同期 ) リセット ......................................123 通信フローチャート モード 1 を使用するときの通信フローチャート ..........................................................................613 て 停止状態 停止状態 .........................................................195, 506 停止ビット 停止ビット , エラー検出 , パリティ ...................656 停止モード 停止モード /RTC モード .....................................202 低消費電力モード 低消費電力モード ................................................199 低電力 低電力モード ........................................................ 546 データ データの種類 ........................................................ 339 データアクセス データアクセス ......................................................90 データ受信 データ受信の例 ....................................................510 データ送信 スレーブのアドレッシングとデータ送信の例 ..........................................................................509 データバス データバスとメモリ動作モード ........................ 820 データバス幅 ........................................................ 265 データバス幅 データバス幅と制御信号との関係 .................... 263 データフォーマット データフォーマット ............................................ 264 転送データフォーマット .................................... 608 データフロー 2 サイクル転送のデータフロー .........................354 フライバイ転送のデータフロー ........................ 356 データポーリング データポーリング ................................................752 データポーリングフラグ データポーリングフラグ (D23) .......................... 737 データ読出し 読出しアクセスによるデータ読出し ................ 748 データレジスタ 0 検出用データレジスタ (BSD0) ........................ 368 1 検出用データレジスタ (BSD1) ........................ 368 データレジスタ (IDAR2) の機能 ........................ 501 変化点検出用データレジスタ (BSDC) ..............369 データレジスタ x(x=0 ∼ 15) データレジスタ x(x=0 ∼ 15)(DTRx) .................. 461 デクリメントグレードレジスタ デクリメントグレードレジスタの機能 ............572 デバイス デバイス取扱い上の注意事項 ..............................70 デバイスの状態 ....................................................194 デマンド転送 DMA デマンド転送 ( ワード ) ............................363 デマンド転送 ........................................................ 353 転送 転送データフォーマット .................................... 608 転送要求の受付と転送の実行 ............................341 転送要求の設定 ....................................................332 転送カウント 転送カウントの制御 ............................................ 339 転送先アドレス設定レジスタ DMAC- チャネル 0,1,2,3,4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) ............... 327 転送元アドレス設定レジスタ DMAC- チャネル 0,1,2,3,4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) ............... 327 電力消費 電力消費 ................................................................ 703 857 と に 同期リセット 同期リセット .........................................................123 動作 サブクロックの動作 (SELCLK = 0) ....................687 受信動作 .................................................................467 シリアル I/O 動作 .................................................560 送信動作 .................................................................465 動作終了 / 停止 ......................................................343 動作モード .............................................................607 反転クロック動作 .................................................564 割込み動作 .............................................................564 動作概要 D/A コンバータの動作概要 .................................480 DMA コントローラの動作概要 ..........................330 動作初期化リセット 動作初期化リセット (RST) ..................................116 動作初期化リセット (RST) 状態 .........................197 動作初期化リセット端子 RSTX 端子 ( 動作初期化リセット端子 ) への入力 (MB91FV360GA のみ ) ...................................117 動作モード 各動作モード時のキャッシュの状態 .................139 動作モード .............................................................125 ワンショット動作モード .....................................395 動作初期化リセット 動作初期化リセット (RST) 解除シーケンス ..........................................................................120 トーンカウントレジスタ トーンカウントレジスタの機能 .........................573 特長 パワーダウンリセットモジュールの特長 ..........................................................................544 トグルビット トグルビット .........................................................752 トグルビットフラグ トグルビットフラグ (D22) ..................................737 トラップ EIT( 例外,割込み,トラップ ) の特長 .............103 トリガ 16 ビットリロードタイマのトリガを使用した 起動 ..................................................................400 EIT トリガ .............................................................103 取下げ要求 ホールド要求取下げ要求 (HRCL) ......................303 ホールド要求取下げ要求機能 (HRCL) の使用例 ..........................................................................305 入出力回路 入出力回路の種類 ..................................................63 な 内部 ROM 外部バスモード バスモード 1( 内部 ROM 外部バスモード ) ..........................................................................126 内部電圧変化 不調を避ける推奨対策 .........................................186 内部動作 外部端子,および内部動作のタイミング ..........................................................................345 内部パワーダウンリセット 内部パワーダウンリセット .................................117 858 は バースト転送 バースト転送 ........................................................ 352 ハードウェア ハードウェア構成 ........................................298, 314 ハードウェアシーケンス ハードウェアシーケンスフラグの使用例 ........739 ハードウェアシーケンスフラグリスト ............736 ハードウェアスタンバイ ハードウェアスタンバイ解除シーケンス ........120 ハードウェアスタンバイ状態 ............................196 ハードウェアスタンバイモード ................205, 208 ハードウェアリセットの入力 (INITX), ハードウェアスタンバイ (HSTX) ................ 747 ハードウェアスタンバイ端子 HSTX 端子 ( ハードウェアスタンバイ端子 ) への 入力 .................................................................. 118 ハードウェアリセット ハードウェアリセットの入力 (INITX), ハードウェアスタンバイ (HSTX) ................ 747 ハーフワードアクセス ハーフワードアクセス ........................................ 271 バイト バイトオーダリング .............................................. 89 バイトアクセス バイトアクセス ....................................................273 パイプライン演算 CPU パイプライン演算 .......................................... 79 バスアクセス ビッグエンディアン方式のバスアクセス ........263 バスコンバータ 32 ビット←→ 16 ビットバスコンバータ ........... 80 Harvard ←→ Princeton バスコンバータ ............... 80 バスステータスレジスタ バスステータスレジスタ (IBSR2) の機能 ......... 492 バスステータスレジスタ (IBSR2) のビット機能 ..........................................................................492 バス制御レジスタ バス制御レジスタ (IBCR2) の機能 .................... 488 バス制御レジスタ (IBCR2) のビット機能 ........488 バスモード バスモード 0( シングルチップモード ) ............. 126 バスモード 1( 内部 ROM 外部バスモード ) ........................................................................... 126 バスモード 2( 外部 ROM 外部バスモード ) ........................................................................... 126 パッケージ パッケージ外形寸法図 ............................................ 8 発振 発振が安定するまでの待機時間の選択 ............122 発振安定待ち 発振安定待ち実行状態 ........................................ 196 発振安定待ちの発生要因 .................................... 121 発振安定待ちリセット (RST) 状態 .................... 196 パリティ 停止ビット , エラー検出 , パリティ .................. 656 パワーダウンモード アラーム比較器パワーダウンモード .................542 パワーダウンリセット パワーダウンリセット制御レジスタ (PDRCR) ..........................................................................545 パワーダウンリセットモジュール パワーダウンリセットモジュールの特長 .........544 反転クロック 反転クロック動作 .................................................564 汎用制御レジスタ 1 汎用制御レジスタ 1(GCN10,GCN11) の ビット構成 ......................................................386 汎用制御レジスタ 2 汎用制御レジスタ 2(GCN20,GCN21) の ビット構成 ......................................................391 汎用レジスタ 汎用レジスタ ...........................................................81 汎用レジスタの構造 ...............................................82 ひ 比較命令 比較命令 .................................................................830 ビジー信号 レディ / ビジー信号 .............................................740 ビッグエンディアン方式 ビッグエンディアン方式のバスアクセス .........263 ビット ビットオーダリング ...............................................89 ビット 0 ビット [0]:INTEN - 割込み許可 ...........................699 ビット 1 ビット [1]:INT - 割込み ........................................699 ビット 4 ビット [4]:STRT - 補正開始 .................................698 ビット機能 GCN10 のビット機能 ...........................................386 GCN11 のビット機能 ...........................................388 バス制御レジスタ (IBCR2) のビット機能 .........488 ビット構成 A/D 禁止レジスタ (ADBL) のビット構成 .........413 A/D 制御ステータスレジスタ (ADCS) の ビット構成 ......................................................410 A/D チャネル設定レジスタ (ADCH) のビット構成 ..........................................................................405 A/D データレジスタ (ADCD) のビット構成 ..........................................................................412 A/D モードレジスタ (ADMD) のビット構成 ..........................................................................408 PPG 周期設定レジスタ (PCSR) のビット構成 ..........................................................................383 PPG タイマレジスタ (PTMR) のビット構成 ..........................................................................385 PPG デューティ設定レジスタ (PDUT) の ビット構成 ......................................................384 禁止レジスタ (PDBL0,PDBL1) のビット構成 ..........................................................................391 制御ステータスレジスタ (PCNH,PCNL) の ビット構成 ......................................................379 制御ステータスレジスタ (TMCSR) のビット構成 ..........................................................................420 送信,および受信エラーカウンタ (RTEC) の ビット構成 ......................................................444 汎用制御レジスタ 1(GCN10,GCN11) の ビット構成 ......................................................386 汎用制御レジスタ 2(GCN20,GCN21) の ビット構成 ......................................................391 ビットタイミングレジスタ (BTR) のビット構成 ........................................................................... 445 ビットサーチモジュール ビットサーチモジュールのブロックダイヤグラム ..........................................................................367 ビットサーチモジュールのレジスタ構成 ........367 ビット操作命令 ビット操作命令 ....................................................832 ビットタイミング ビットタイミングの設定 .................................... 470 ビットタイミングレジスタ ビットタイミングレジスタ (BTR) のビット構成 ..........................................................................445 ビットの機能 A/D 制御ステータスレジスタ (ADCS) の各ビット の機能 .............................................................. 410 A/D チャネル設定レジスタ (ADCH) の各ビットの 機能 .................................................................. 405 A/D モードレジスタ (ADMD) の各ビットの機能 ..........................................................................408 制御ステータスレジスタ (TMCSR) の各ビットの 機能 .................................................................. 420 非同期 通常 ( 非同期 ) リセット ...................................... 123 秒 / 分 / 時レジスタ 秒 / 分 / 時レジスタ (WTSR, WTMR, WTHR) ..........................................................................681 ふ フィックスベクタ フィックスベクタ ................................................129 ブート ブート状態のチェック ........................................ 146 ブートストラップローダ .................................... 147 ブートストラップローダの説明 ........................ 148 ブートストラップローダ ブートストラップローダ .................................... 147 ブートストラップローダの説明 ........................ 148 フライバイ転送 DMA フライバイ転送 ( バイト )[ I/O からメモリヘ ] .........................................362 DMA フライバイ転送 ( バイト ) [ メモリから I/O ヘ ] ...................................... 361 フライバイ転送のデータフロー ........................ 356 フラグ セクタ消去タイマフラグ (D19) .......................... 738 タイミングリミット超過フラグ (D21) ..............738 データポーリングフラグ (D23) .......................... 737 トグルビットフラグ (D22) ..................................737 フラグリスト ハードウェアシーケンスフラグリスト ............736 フラッシュ制御ステータスレジスタ フラッシュ制御ステータスレジスタ (FMCS) ..........................................................................720 859 フラッシュメモリ フラッシュメモリ .................................................706 フラッシュメモリにアクセスするプログラム ..........................................................................747 フラッシュメモリの制御信号 .............................713 フラッシュメモリのブロックダイヤグラム ..........................................................................707 フラッシュメモリのブロックダイヤグラム全体 ..........................................................................708 フラッシュメモリへの接続 .................................746 フラッシュメモリモード .....................................713 フラッシュメモリモード フラッシュメモリモードでの読出し / 書込み アクセス ..........................................................722 プリスケーラ シリアル I/O プリスケーラ .................................557 フレームフォーマット フレームフォーマットの設定 .............................470 プログラミング 高速プログラミング .............................................735 プログラムアクセス プログラムアクセス ...............................................90 プログラムステータスレジスタ プログラムステータスレジスタ (PS) の構造 ............................................................................85 ブロックダイヤグラム 16 ビット I/O タイマのブロックダイヤグラム ..........................................................................515 16 ビットリロードタイマのブロックダイヤグラ ム ......................................................................418 A/D コンバータのブロックダイヤグラム .........403 CAN コントローラのブロックダイヤグラム ..........................................................................431 CPU ブロックダイヤグラム ..................................76 D/A コンバータのブロックダイヤグラム .........476 DMA コントローラのブロックダイヤグラム ..........................................................................315 I2C インタフェースのブロックダイヤグラム ..........................................................................485 MB91360 シリーズデバイスの全体ブロック ダイヤグラム ....................................................12 UART のブロックダイヤグラム .........................597 U- タイマ (U-TIMER) のブロックダイヤグラム ..........................................................................588 アウトプットコンペアモジュールのブロック ダイヤグラム ..................................................522 アラーム比較器のブロックダイヤグラム .........538 インプットキャプチャモジュールのブロック ダイヤグラム ..................................................526 外部割込み,および NMI コントローラの ブロックダイヤグラム ..................................308 クロック生成制御ブロックのブロックダイヤ グラム ..............................................................162 サウンド生成器のブロックダイヤグラム .........566 ステッパモータコントローラのブロック ダイヤグラム ..................................................577 ビットサーチモジュールのブロックダイヤグラム ..........................................................................367 フラッシュメモリのブロックダイヤグラム ..........................................................................707 フラッシュメモリのブロックダイヤグラム全体 ..........................................................................708 ブロックダイヤグラム .................................298, 676 860 ポート基本ブロックダイヤグラム .................... 232 補正ユニットのブロックダイヤグラム ............693 ブロック転送 ブロック転送 ........................................................ 351 分岐命令 遅延スロットによる分岐命令 ............................100 へ ベース ベースクロックの生成 ........................................ 155 ベースクロック ベースクロックの生成 ........................................ 155 ベースクロック分周設定レジスタ 0 ベースクロック分周設定レジスタ 0 ................. 177 ベースクロック分周設定レジスタ 1 ベースクロック分周設定レジスタ 1 ................. 180 ベクタ 割込みベクタ ........................................................ 816 変化点検出 変化点検出 ............................................................ 371 変化点検出用データレジスタ 変化点検出用データレジスタ (BSDC) ..............369 変換動作 変換動作 ................................................................ 415 ほ ポート機能レジスタ ポート機能レジスタ (PFR) の機能と初期値 ..........................................................................237 ポーリングモード ポーリングモード (IEN=0) ..................................541 ホールド機能 ホールド機能 ........................................................ 747 ホールド調停 ホールド調停 ........................................................ 341 ホールド要求 ホールド要求取下げ要求 (HRCL) ...................... 303 ホールド要求取下げ要求機能 (HRCL) の使用例 ..........................................................................305 ボーレート 算出例 ....................................................................650 入力キャプチャ・ユニットを用いたボーレートの 検出 .................................................................. 673 ボーレートと U-TIMER のリロード値の設定例 ........................................................................... 615 ボーレートの計算 ................................................593 ボーレートの計算方法 ........................................ 650 マシン速度とボーレートに応じた推奨分割比 ..........................................................................650 補正 補正の精度 ............................................................ 703 補正開始 ビット [4]:STRT - 補正開始 ................................698 補正ユニット 補正ユニットの説明 ............................................ 692 補正ユニット制御レジスタ 補正ユニット制御レジスタ (CUCR) ..........696, 698 補正ユニットブロックダイヤグラム 補正ユニットのブロックダイヤグラム ............693 ま マスク不可割込み マスク不可割込み (NMI:Non-Maskable Interrupt) ...........................................................................303 待ち時間 待ち時間 .................................................................157 マルチマスタ動作 調停 / マルチマスタ動作 .....................................508 み 未定義命令 未定義命令の例外の動作 .....................................114 め 命令 20 ビット遅延分岐マクロ命令 ............................840 20 ビット通常分岐マクロ命令 ............................839 32 ビット遅延分岐マクロ命令 ............................842 32 ビット通常分岐マクロ命令 ............................841 基本命令 ...................................................................95 シフト命令 .............................................................833 乗除算命令 .............................................................832 即値セット /16 ビット /32 ビット即値転送命令 ..........................................................................834 その他の命令 .........................................................838 ダイレクトアドレッシング命令 .........................843 遅延分岐命令 .........................................................837 通常分岐命令 ( 遅延なし ) ...................................836 特長 ...........................................................................93 比較命令 .................................................................830 ビット操作命令 .....................................................832 命令の概要 ...............................................................94 メモリストア命令 .................................................835 メモリロード命令 .................................................834 リソース命令 .........................................................843 レジスタ間転送命令 .............................................835 論理演算命令 .........................................................831 命令キャッシュ 命令キャッシュ .......................................................79 命令キャッシュの概要 .........................................132 命令キャッシュのキャッシュ可能領域 .............141 命令キャッシュメモリ本体の構成 .....................133 メッセージバッファ メッセージバッファ .............................................434 メッセージバッファ (x) による受信手順 ..........472 メッセージバッファ (x) による送信手順 ..........471 メッセージバッファの機能 .................................458 メッセージバッファ制御レジスタ メッセージバッファ制御レジスタの種類 .........447 メッセージバッファ有効レジスタ メッセージバッファ有効レジスタ (BVALR) ..........................................................................447 メモリストア命令 メモリストア命令 .................................................835 メモリ動作モード データバスとメモリ動作モード .........................820 メモリマップ FR50 ファミリ共通メモリマップ .........................92 MB91360 シリーズのメモリマップ .....................69 MB91360 シリーズメモリマップ .........................91 メモリロード命令 メモリロード命令 ................................................834 も モード CPU モード ............................................................ 713 高速モード ............................................................ 735 実行モード ............................................................ 546 シフトクロックのモード .................................... 559 低電力モード ........................................................ 546 フラッシュメモリモード .................................... 713 モード 0 モード 0 で受信するときの割込みフラグの 設定タイミング .............................................. 610 モード 0,モード 1,モード 2 モード 0,モード 1,モード 2 で送信するときの 割込みフラグの設定タイミング .................. 612 モード 1 モード 1 で受信するときの割込みフラグの 設定タイミング .............................................. 611 モード 1 を使用するときの通信フローチャート ..........................................................................613 モード 2 モード 2 で受信するときの割込みフラグの 設定タイミング .............................................. 611 モード端子 モード端子 ............................................................ 127 モードレジスタ モードレジスタ (MODR) .....................................127 モードレジスタ (MODR):MODe Register ..........262 ゆ ユーザ割込み ユーザ割込みと NMI の動作 ............................... 112 優先順位判定 優先順位判定 ........................................................ 303 よ 用語 端子状態の表で使用する用語 ............................820 読出し / 書込みアクセス CPU 読出しアクセス , フラッシュウェイト制御 レジスタ (FMWT) .......................................... 723 フラッシュメモリモードでの読出し / 書込み アクセス .......................................................... 722 読出し / リセットコマンド 読出し / リセットコマンド ................................. 730 読出しアクセス 読出しアクセス ....................................................755 読出しアクセスによるデータ読出し ................ 748 り リアルタイムクロック リアルタイムクロックのレジスタ一覧 ............677 861 リアルタイムクロックモジュール リアルタイムクロックモジュールの使用方法 ..........................................................................689 リセット リセット .................................................................115 リセットコマンド 読出し / リセットコマンド .................................730 リセット要因レジスタ リセット要因レジスタ,ウォッチドッグタイマ 制御レジスタ(RSRR)..................................164 リソースクロック リソースクロック (CLKP) ...................................159 リソース命令 リソース命令 .........................................................843 リモートフレーム受信待ちレジスタ リモートフレーム受信待ちレジスタ (RFWTR) ..........................................................................450 リモート要求受信レジスタ リモート要求受信レジスタ (RRTRR) ................453 領域選択レジスタ 領域選択レジスタ (ASR0 ∼ ASR7) ...................250 領域マスクレジスタ 領域マスクレジスタ (AMR0 ∼ AMR7) .............251 領域モードレジスタ 領域モードレジスタ (AMD0 ∼ AMD7) ............253 リロード 16 ビットリロードタイマの機能 ........................418 16 ビットリロードタイマのトリガを使用した 起動 ..................................................................400 16 ビットリロードタイマのブロックダイヤグラ ム ......................................................................418 16 ビットリロードタイマのレジスタ構成 ..........................................................................419 リロードカウンタ カウント例 .............................................................651 リロード値 ボーレートと U-TIMER のリロード値の設定例 ..........................................................................615 リロードレジスタ U- タイマリロードレジスタ (UTIMR) ...............590 れ 例外 EIT( 例外,割込み,トラップ ) の特長 .............103 レジスタ クロック生成制御ブロックのレジスタ .............163 構成レジスタ .........................................................150 スタンバイ制御レジスタ .....................................167 専用レジスタ ...........................................................81 専用レジスタの構造 ...............................................83 専用レジスタの種類 ...............................................83 チャネル 0 ∼ 3 の PPG タイマのレジスタ ..........................................................................377 チャネル 4 ∼ 7 の PPG タイマのレジスタ ..........................................................................378 汎用レジスタ ...........................................................81 汎用レジスタの構造 ...............................................82 レジスタの構成と機能 .........................................232 レジスタの設定に関する注意 .............................318 レジスタ一覧 16 ビット I/O タイマのレジスタ一覧 ................516 862 A/D コンバータのレジスタ一覧 ........................ 404 D/A コンバータのレジスタ一覧 ........................ 477 DMA コントローラのレジスタ一覧 .................. 316 I2C インタフェース (400kHz) のレジスタ一覧 ..........................................................................486 サウンド生成器のレジスタ一覧 ........................ 567 シリアル I/O インタフェース (SIO) の レジスタ一覧 ..................................................550 ステッパモータコントローラのレジスタ一覧 ..........................................................................578 リアルタイムクロックのレジスタ一覧 ............677 割込みコントローラのレジスタ一覧 ................ 299 レジスタ間転送命令 レジスタ間転送命令 ............................................ 835 レジスタ機能 16 ビットフリーランタイマのレジスタ機能 ..........................................................................518 アウトプットコンペアモジュールのレジスタ機能 ..........................................................................523 インプットキャプチャモジュールのレジスタ機能 ..........................................................................527 レジスタ構成 16 ビットリロードタイマのレジスタ構成 ..........................................................................419 UART のレジスタ構成 ........................................ 598 U- タイマ (U-TIMER) のレジスタ構成 ..............589 外部割込み,および NMI コントローラの レジスタ構成 ..................................................308 ビットサーチモジュールのレジスタ構成 ........................................................................... 367 レディ / ビジー信号 レディ / ビジー信号 .............................................740 レベルマスク 割込み /NMI に対するレベルマスク ................. 105 ろ 論理演算命令 論理演算命令 ........................................................ 831 わ ワードアクセス ワードアクセス ....................................................270 ワード形式 FR50 ファミリ命令のワード形式 ...................... 829 割込み EIT( 例外,割込み,トラップ ) の特長 ............103 USART の割込み ..................................................643 ビット [1]:INT - 割込み ........................................ 699 割込み /NMI に対するレベルマスク ................. 105 割込み動作 ............................................................ 564 割込みレベル ........................................................ 104 割込み許可 ビット [0]:INTEN - 割込み許可 .......................... 699 割込み許可レジスタ (ENIR) ............................... 309 割込み許可レジスタ 割込み許可レジスタ (ENIR) ............................... 309 割込みコントローラ 割込みコントローラのレジスタ一覧 ................ 299 割込み制御 DMAC の割込み制御 ...........................................343 割込み制御レジスタ ICR( 割込み制御レジスタ ) .................................105 割込み動作 割込み動作 .............................................................397 割込みハンドラ 割込みハンドラの例 .............................................511 割込みフラグ モード 0 で受信するときの割込みフラグの設定タ イミング ..........................................................610 モード 0,モード 1,モード 2 で送信するときの 割込みフラグの設定タイミング ..................612 モード 1 で受信するときの割込みフラグの 設定タイミング .............................................. 611 モード 2 で受信するときの割込みフラグの 設定タイミング .............................................. 611 割込みモード 割込みモード (IEN=1) .......................................... 541 割込みレベルマスクレジスタ ILM( 割込みレベルマスクレジスタ ) ................ 105 割込みレベルマスクレジスタ (ILM) ................... 88 ワンショット動作モード ワンショット動作モード .................................... 395 863 864 CM71-10104-8 富士通マイクロエレクトロニクス • CONTROLLER MANUAL FR50 32 ビット・マイクロコントローラ MB91360 Series ハードウェアマニュアル 2008 年 10 月 第 8 版発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 ビジネス推進部