本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。 富士通マイクロエレクトロニクス CONTROLLER MANUAL CM71-10149-2 FR60 32 ビットマイクロコントローラ MB91460N Series ハードウェアマニュアル FR60 32 ビットマイクロコントローラ MB91460N Series ハードウェアマニュアル 富士通マイクロエレクトロニクスのマイコンを効率的に開発するための情報を下記 URL にてご紹介いたします。 ご採用を検討中 , またはご採用いただいたお客様に有益な情報を公開しています。 開発における最新の注意事項に関しては , 「デザインレビューシート」を参照してください。 「デザインレビューシート」はシステム開発において , 問題を未然に防ぐことを目的として , 最低限必要と思わ れるチェック項目をリストにしたものです。 http://edevice.fujitsu.com/micom/jp-support/ 富士通マイクロエレクトロニクス株式会社 内容 ■ 目的および対象読者 MB91460N シリーズは民生機器や車載システムなどの高速リアルタイム処理が要求される組込み 制御用途向けに設計された , 富士通マイクロエレクトロニクス製汎用 32 ビット RISC マイクロコン トローラです。CPU には , FR ファミリと互換の FR60 を使用しています。 本シリーズは LIN-USART および CAN コントローラを内蔵しています。 ■ 商標 FR は , FUJITSU RISC controller の略で , 富士通マイクロエレクトロニクス株式会社の製品です。 社名および製品名などの記載されている固有名詞は , 各社の商標または登録商標です。 i • • • • • • • 本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認ください。 本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので , 実際に 使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあたってはお客様 の責任において機器の設計を行ってください。これらの使用に起因する損害などについては , 当社はその責任を 負いません。 本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的財産権 やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用について , 第 三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。したがって , これらの 使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任を負いません。 本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用されるこ とを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力施設における核反応制 御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生命維持のための医療機器 , 兵器 システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性が要求される用途(海底中継器 , 宇宙 衛星をいう)に使用されるよう設計・製造されたものではありません。したがって , これらの用途にご使用をお 考えのお客様は , 必ず事前に営業部門までご相談ください。ご相談なく使用されたことにより発生した損害など については , 責任を負いかねますのでご了承ください。 半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 , 火災事 故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策設計 , 誤動作 防止設計などの安全設計をお願いします。 本資料に記載された製品を輸出または提供する場合は, 外国為替及び外国貿易法および米国輸出管理関連法規等 の規制をご確認の上 , 必要な手続きをおとりください。 本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。 Copyright ©2009 FUJITSU MICROELECTRONICS LIMITED All rights reserved ii 目次 第1章 1.1 1.2 1.3 1.4 第2章 2.1 2.2 2.3 2.4 第3章 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 第4章 はじめに.................................................................................................... 1 デバイスの取扱いについて.................................................................................................... 使用上の注意 ......................................................................................................................... 注意:デバッグ関連項目 ....................................................................................................... 本書の読み方 ......................................................................................................................... 1 4 6 7 MB91460N シリーズ概要........................................................................ 13 概要 ..................................................................................................................................... 特長 ..................................................................................................................................... MB91460N シリーズ品種構成 ............................................................................................. ブロックダイヤグラム......................................................................................................... 13 13 15 17 MB91460N シリーズ基本情報 ................................................................ 19 メモリ空間........................................................................................................................... I/O マップ ............................................................................................................................ 割込み要因のテーブル......................................................................................................... パッケージ・外形寸法図 ..................................................................................................... 端子配列図........................................................................................................................... 端子機能説明 ....................................................................................................................... 入出力回路形式 ................................................................................................................... 端子状態一覧表 ................................................................................................................... 19 21 44 50 51 52 56 62 CPU および制御部 .................................................................................. 67 4.1 4.2 4.3 概要 ..................................................................................................................................... 67 特長 ..................................................................................................................................... 68 CPU ..................................................................................................................................... 69 4.4 4.5 4.6 4.7 4.8 4.9 32 ビット /16 ビットバスコンバータ .................................................................................. ハーバード / プリンストンバスコンバータ ......................................................................... 命令概要 .............................................................................................................................. データ構造........................................................................................................................... ワードアライメント ............................................................................................................ アドレッシング ................................................................................................................... 第5章 69 69 70 71 72 73 CPU レジスタ ......................................................................................... 75 5.1 汎用レジスタ ....................................................................................................................... 5.2 専用レジスタ ....................................................................................................................... 5.2.1 PC: プログラムカウンタ ........................................................................................... 5.2.2 プログラムステータス (PS) ...................................................................................... 5.2.3 テーブルベースレジスタ (TBR) ................................................................................ 5.2.4 リターンポインタ (RP) ............................................................................................. 5.2.5 システムスタックポインタ (SSP)............................................................................. 5.2.6 ユーザスタックポインタ (USP) ................................................................................ 5.2.7 乗除算レジスタ (Multiply & Divided register) ............................................................ iii 75 75 76 76 81 81 81 82 82 第6章 EIT:例外 , 割込み , トラップ................................................................. 83 6.1 概要 ..................................................................................................................................... 6.2 特長 ..................................................................................................................................... 6.3 EIT 要因 ............................................................................................................................... 6.4 EIT からの復帰 .................................................................................................................... 6.5 EIT の割込みレベル ............................................................................................................. 6.6 EIT ベクタテーブル ............................................................................................................. 6.7 多重 EIT 処理 ....................................................................................................................... 6.8 動作説明 .............................................................................................................................. 6.8.1 ユーザ割込みの動作 .................................................................................................. 6.8.2 INT 命令の動作.......................................................................................................... 6.8.3 INTE 命令の動作 ....................................................................................................... 6.8.4 ステップトレーストラップの動作............................................................................. 6.8.5 未定義命令例外の動作 .............................................................................................. 6.8.6 コプロセッサ不在トラップ ....................................................................................... 6.8.7 コプロセッサエラートラップ.................................................................................... 6.8.8 RETI 命令の動作 ....................................................................................................... 6.9 注意事項 .............................................................................................................................. 第7章 分岐命令.................................................................................................. 91 7.1 遅延スロット付き分岐命令.................................................................................................. 7.2 遅延スロット付き分岐命令の動作....................................................................................... 7.3 実行例 ( 遅延スロット付き ) ................................................................................................ 7.3.1 JMP:D @Ri / CALL:D @Ri 命令 ................................................................................ 7.3.2 RET:D 命令................................................................................................................ 7.3.3 BC:D rel 命令............................................................................................................. 7.3.4 CALL:D 命令.............................................................................................................. 7.4 遅延スロット付き分岐命令の制限事項................................................................................ 7.4.1 遅延スロットで使用可能な命令 ................................................................................ 7.4.2 ステップトレーストラップ ....................................................................................... 7.4.3 割込み........................................................................................................................ 7.4.4 未定義命令例外 ......................................................................................................... 7.5 遅延スロットなし分岐命令.................................................................................................. 7.6 遅延スロットなし分岐命令の動作....................................................................................... 第8章 83 83 83 83 84 84 85 87 87 88 88 89 89 90 90 90 90 91 91 92 92 92 92 92 93 93 93 93 93 93 94 デバイス状態遷移 ................................................................................... 95 8.1 概要 ..................................................................................................................................... 8.2 特長 ..................................................................................................................................... 8.3 状態遷移図........................................................................................................................... 8.3.1 RUN ( 通常動作 ) ....................................................................................................... 8.3.2 スリープ .................................................................................................................... 8.3.3 ストップ .................................................................................................................... 8.3.4 発振安定待ち RUN .................................................................................................... 8.3.5 発振安定待ちリセット .............................................................................................. 8.3.6 動作初期化リセット (RST)........................................................................................ 8.3.7 設定初期化リセット (INIT) ........................................................................................ 8.3.8 各状態遷移要求の優先順位 ....................................................................................... iv 95 95 96 96 96 97 97 98 98 98 98 第9章 リセット.................................................................................................. 99 9.1 概要 ..................................................................................................................................... 99 9.2 特長 ................................................................................................................................... 100 9.3 構成 ................................................................................................................................... 101 9.4 レジスタ ............................................................................................................................ 102 9.4.1 RSRR:リセット要因レジスタ............................................................................... 102 9.4.2 STCR:スタンバイ制御レジスタ............................................................................ 104 9.4.3 MD:モード端子 ..................................................................................................... 105 9.4.4 モードベクタ ........................................................................................................... 105 9.4.5 リセットベクタ ....................................................................................................... 106 9.4.6 デバイスモードの概要 ............................................................................................ 106 9.5 INITX 端子入力 (INIT:設定初期化リセット ) ................................................................... 107 9.5.1 発生要因 .................................................................................................................. 107 9.5.2 リセット要求の解除 ................................................................................................ 107 9.5.3 フラグ...................................................................................................................... 107 9.5.4 リセットレベル ....................................................................................................... 107 9.5.5 INITX 端子入力 (INIT) によって発生する初期化 ..................................................... 107 9.5.6 リセット解除シーケンス ......................................................................................... 107 9.6 ウォッチドッグリセット (INIT:設定初期化リセット ) .................................................... 108 9.6.1 発生要因 .................................................................................................................. 108 9.6.2 リセット要求の解除 ................................................................................................ 108 9.6.3 フラグ...................................................................................................................... 108 9.6.4 リセットレベル ....................................................................................................... 108 9.6.5 ウォッチドッグリセット (INIT) によって発生する初期化 ...................................... 108 9.6.6 リセット解除シーケンス ......................................................................................... 108 9.7 ソフトウェアリセット (RST:動作初期化リセット ) ....................................................... 109 9.7.1 発生要因 .................................................................................................................. 109 9.7.2 リセット要求の解除 ................................................................................................ 109 9.7.3 フラグ...................................................................................................................... 109 9.7.4 リセットレベル ....................................................................................................... 109 9.7.5 動作リセット (RST) により初期化される項目........................................................ 109 9.7.6 リセット解除シーケンス ......................................................................................... 109 9.8 リセット動作モード .......................................................................................................... 110 9.8.1 通常 ( 非同期 ) リセットモード ............................................................................... 110 9.8.2 同期リセット動作.................................................................................................... 110 9.9 MCU 動作モード................................................................................................................ 111 9.9.1 バスモードとアクセスモード.................................................................................. 111 9.10 注意事項 ............................................................................................................................ 112 第 10 章 スタンバイ ............................................................................................ 113 10.1 概要 ................................................................................................................................... 10.2 特長 ................................................................................................................................... 10.3 構成 ................................................................................................................................... 10.4 レジスタ ............................................................................................................................ 10.4.1 STCR:スタンバイ制御レジスタ............................................................................ 10.4.2 TBCR:タイムベースタイマ制御レジスタ ............................................................. 10.5 動作説明 ............................................................................................................................ 10.5.1 スリープモード ....................................................................................................... 10.5.2 ストップモード ....................................................................................................... v 113 113 114 115 115 116 118 118 119 10.6 設定 ................................................................................................................................... 120 10.7 Q & A ................................................................................................................................. 121 10.7.1 スリープモードへの変更方法.................................................................................. 10.7.2 ストップモードへの変更方法.................................................................................. 10.7.3 ストップモード中に端子をハイインピーダンス (Hi-z) に設定する方法 ................. 10.7.4 ストップモード中にメインクロック発振を途中停止する方法 ............................... 10.7.5 スリープモードからの復帰方法 .............................................................................. 10.7.6 ストップモードからの復帰方法 .............................................................................. 10.8 注意事項 ............................................................................................................................ 第 11 章 メモリコントローラ.............................................................................. 125 11.1 概要 ................................................................................................................................... 11.2 FLASH インタフェース ..................................................................................................... 11.3 汎用 RAM........................................................................................................................... 11.4 FLASH 用命令キャッシュ ................................................................................................. 11.4.1 アルゴリズム ........................................................................................................... 11.4.2 プリフェッチミスキャッシュ.................................................................................. 11.4.3 非キャッシュ領域指定 ............................................................................................ 11.4.4 キャッシュフラッシュ ............................................................................................ 11.4.5 グローバルロック.................................................................................................... 11.5 FLASH アクセスタイミング設定....................................................................................... 11.5.1 FLASH 読み出しアクセスサイクル......................................................................... 11.5.2 読み出し制御信号の仕様 ......................................................................................... 11.6 レジスタ ............................................................................................................................ 11.6.1 一覧と注意事項 ....................................................................................................... 11.6.2 FLASH メモリ制御ステータスレジスタ (FMCS) .................................................... 11.6.3 FLASH メモリ制御ステータスレジスタ (FMCR) .................................................... 11.6.4 FLASH キャッシュ制御レジスタ (FCHCR) ............................................................ 11.6.5 FLASH メモリウェイトタイミングレジスタ (FMWT) ............................................ 11.6.6 FLASH メモリアドレスチェックレジスタ (FMAC) ................................................ 11.6.7 非キャッシュ領域定義レジスタ (FCHA1/0) ............................................................ 11.6.8 フラッシュメモリコントローラ設定 ....................................................................... 第 12 章 125 125 126 126 126 127 127 128 128 129 129 129 130 130 130 132 133 135 137 137 137 クロック制御......................................................................................... 139 12.1 概要 ................................................................................................................................... 12.2 特長 ................................................................................................................................... 12.3 構成 ................................................................................................................................... 12.4 レジスタ ............................................................................................................................ 12.4.1 CLKR:クロックソース制御レジスタ..................................................................... 12.4.2 DIVR0:クロック分周設定レジスタ 0 .................................................................... 12.4.3 DIVR1:クロック分周設定レジスタ 1 .................................................................... 12.4.4 CSCFG:クロックソース構成レジスタ.................................................................. 12.5 操作 ................................................................................................................................... 12.5.1 クロック設定の手順 ( 例 ) ....................................................................................... 12.5.2 注意事項 .................................................................................................................. 12.6 設定 ................................................................................................................................... 12.7 Q & A ................................................................................................................................. 12.7.1 12.7.2 121 121 122 122 122 122 123 139 139 140 141 141 143 144 145 147 147 148 149 150 クロック動作を許可または禁止するには ?............................................................. 150 メイン PLL 逓倍率を選択するには ?....................................................................... 150 vi 12.7.3 動作クロックソースを選択するには ? .................................................................... 150 12.7.4 動作クロック分周比を設定するには ? .................................................................... 151 12.8 注意事項 ............................................................................................................................ 152 第 13 章 PLL インタフェース ............................................................................. 153 13.1 概要 ................................................................................................................................... 13.2 特長 ................................................................................................................................... 13.3 周波数計算......................................................................................................................... 13.4 レジスタ ............................................................................................................................ 13.4.1 PLL 制御レジスタ.................................................................................................... 13.5 推奨設定 ............................................................................................................................ 13.6 クロック自動ギアのアップダウン..................................................................................... 13.7 注意事項 ............................................................................................................................ 第 14 章 CAN クロックプリスケーラ.................................................................. 163 14.1 概要 ................................................................................................................................... 14.2 特長 ................................................................................................................................... 14.3 レジスタ ............................................................................................................................ 14.3.1 CAN クロック制御レジスタ .................................................................................... 第 15 章 153 153 153 154 154 159 160 162 163 164 164 164 クロックモジュレータ .......................................................................... 167 15.1 概要 ................................................................................................................................... 167 15.2 クロックモジュレータレジスタ ........................................................................................ 168 15.3 アプリケーションノート ................................................................................................... 180 第 16 章 タイムベースカウンタ .......................................................................... 183 16.1 概要 ................................................................................................................................... 16.2 特長 ................................................................................................................................... 16.2.1 タイムベースカウンタ ( 発振安定待ちを生成するために使用する場合 ) ............... 16.2.2 発振安定待ちをよび出すイベント........................................................................... 16.3 構成 ................................................................................................................................... 16.4 レジスタ ............................................................................................................................ 16.4.1 STCR:スタンバイ制御レジスタ............................................................................ 16.4.2 CLKR:クロックソース制御レジスタ..................................................................... 16.5 動作 ................................................................................................................................... 16.5.1 INITX 端子入力 ........................................................................................................ 16.5.2 ウォッチドッグリセット ( 指定した発振安定待ち時間が自動的に生成されます ).......................................... 16.5.3 割込みによるストップモードからの復帰................................................................ 16.5.4 メイン PLL のロック待ち時間は , ソフトウェアによって生成される 必要があります。..................................................................................................... 16.5.5 選択したメイン PLL の異常状態から復帰する場合 ................................................ 16.5.6 発振安定待ちの種類 ................................................................................................ 16.5.7 各状態遷移における安定待ちが必要かどうか......................................................... 16.6 設定 ................................................................................................................................... 16.7 Q & A ................................................................................................................................. 16.7.1 16.7.2 16.7.3 183 183 183 184 185 186 186 187 189 189 190 190 191 191 192 193 195 196 自動的に生成される発振安定待ち時間を設定するには ? ....................................... 196 発振安定待ち時間を自動的に生成せずに設定するには ? ....................................... 197 タイムベースカウンタのクリアのタイミングは ? .................................................. 197 vii 16.8 注意事項 ............................................................................................................................ 198 第 17 章 タイムベースタイマ.............................................................................. 199 17.1 概要 ................................................................................................................................... 17.2 特長 ................................................................................................................................... 17.3 構成 ................................................................................................................................... 17.4 レジスタ ............................................................................................................................ 17.4.1 TBCR:タイムベースタイマ制御レジスタ ............................................................. 17.4.2 CTBR:タイムベースカウンタクリアレジスタ ...................................................... 17.5 動作 ................................................................................................................................... 17.5.1 タイムベースタイマ割込みの例 ( メイン PLL ロック待ち ) .................................... 17.6 設定 ................................................................................................................................... 17.7 Q & A ................................................................................................................................. 199 199 200 201 201 203 204 204 205 206 タイムベースタイマ ( およびタイムベースタイマで使用される タイムベースカウンタ ) で使用されるインターバル時間の種類と 選択方法は ?............................................................................................................ 17.7.2 タイムベースカウンタのカウントクロックは ?...................................................... 17.7.3 タイムベースタイマを動作させるには ? ................................................................ 17.7.4 タイムベースタイマ (= タイムベースカウンタ ) の動作を停止するには ? ............. 17.7.5 タイムベースカウンタ (= タイムベースタイマ ) をクリアするには ? .................... 17.7.6 割込み関連レジスタは ?.......................................................................................... 17.7.7 割込みの種類は ? .................................................................................................... 17.7.8 割込みを許可するには ?.......................................................................................... 17.8 注意事項 ............................................................................................................................ 206 206 206 206 206 207 207 207 208 17.7.1 第 18 章 ウォッチドッグタイマ .......................................................................... 209 18.1 概要 ................................................................................................................................... 18.2 特長 ................................................................................................................................... 18.3 構成 ................................................................................................................................... 18.4 レジスタ ............................................................................................................................ 18.4.1 RSRR:ウォッチドッグタイマ制御レジスタ ......................................................... 18.4.2 WPR:ウォッチドッグリセット発生遅延レジスタ ................................................ 18.4.3 CTBR:タイムベースカウンタクリアレジスタ ...................................................... 18.5 動作説明 ............................................................................................................................ 18.5.1 ウォッチドッグ ( 暴走の検出 ) ................................................................................ 18.5.2 ウォッチドッグタイマの起動およびウォッチドッグタイマ期間の設定 ................. 18.5.3 ウォッチドッグリセットの発生の延期 ................................................................... 18.5.4 ウォッチドッグリセット発生の確認 ....................................................................... 18.5.5 一時的に停止されたウォッチドッグタイマ ( 自動発生遅延 ) ................................. 18.5.6 ウォッチドッグタイマの停止.................................................................................. 18.6 設定 ................................................................................................................................... 18.7 Q & A ................................................................................................................................. 209 209 210 211 211 213 213 214 214 215 215 215 215 215 216 217 18.7.1 ウォッチドッグインターバル時間の種類と選択方法は ? ....................................... 18.7.2 ウォッチドッグ動作を開始するには ( 有効に設定 ) ?............................................. 18.7.3 ウォッチドッグリセットが発生したことを確認するには ?.................................... 18.7.4 ウォッチドッグ動作の停止方法は ?........................................................................ 18.7.5 ウォッチドッグタイマ (1 ビットカウンタ ) をクリアするには ? ........................... 18.8 注意事項 ............................................................................................................................ 217 217 217 217 217 218 viii 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ ....................... 219 19.1 概要 ................................................................................................................................... 19.2 構成 ................................................................................................................................... 19.3 レジスタ ............................................................................................................................ 19.3.1 ハードウェアウォッチドッグタイマ制御およびステータスレジスタ..................... 19.3.2 ハードウェアウォッチドッグタイマ期間レジスタ ................................................. 19.4 機能 ................................................................................................................................... 19.5 注意事項 ............................................................................................................................ 第 20 章 219 220 221 221 222 223 224 メイン発振安定待ちタイマ ................................................................... 225 20.1 概要 ................................................................................................................................... 20.2 特長 ................................................................................................................................... 20.3 構成 ................................................................................................................................... 20.4 レジスタ ............................................................................................................................ 20.4.1 OSCRH:メインクロック発振安定待ちタイマ制御レジスタ................................. 20.5 動作 ................................................................................................................................... 20.5.1 インターバル割込み ................................................................................................ 20.6 設定 ................................................................................................................................... 20.7 Q & A ................................................................................................................................. 225 225 226 227 227 229 229 230 231 インターバル時間 ( 待ち時間 ) の種類と選択方法は ?............................................ カウントクロックを選択するには ?........................................................................ メインクロック発振安定待ちタイマのカウント動作を許可または 禁止するには ? ........................................................................................................ 20.7.4 メインクロック発振安定待ちタイマをクリアするには ? ....................................... 20.7.5 割込み関連レジスタとは ? ...................................................................................... 20.7.6 割込みの種類は ? .................................................................................................... 20.7.7 割込みを許可するには ?.......................................................................................... 20.7.8 メインクロック発振安定待ちタイマでカウントを停止するには ?......................... 20.8 注意事項 ............................................................................................................................ 231 231 20.7.1 20.7.2 20.7.3 第 21 章 231 231 232 232 232 232 233 割込み制御 ............................................................................................ 235 21.1 概要 ................................................................................................................................... 21.2 特長 ................................................................................................................................... 21.3 構成 ................................................................................................................................... 21.4 レジスタ ............................................................................................................................ 21.4.1 ICR: 割込み制御レジスタ ........................................................................................ 21.4.2 割込みベクタ ........................................................................................................... 21.5 動作 ................................................................................................................................... 21.6 設定 ................................................................................................................................... 21.7 Q & A ................................................................................................................................. 235 235 236 237 237 241 242 243 243 21.7.1 割込みレベルを設定するには ?............................................................................... 21.7.2 割込みを許可するには ?.......................................................................................... 21.7.3 割込みを禁止するには ?.......................................................................................... 21.7.4 I フラグを設定するには ? ....................................................................................... 21.8 注意事項 ............................................................................................................................ 243 243 244 244 244 第 22 章 外部割込み ............................................................................................ 245 22.1 概要 ................................................................................................................................... 245 22.2 特長 ................................................................................................................................... 245 ix 22.3 構成 ................................................................................................................................... 22.4 レジスタ ............................................................................................................................ 22.4.1 ELVR:外部割込み要求レベルレジスタ ................................................................. 22.4.2 EIRR:外部割込み要因レジスタ............................................................................. 22.4.3 ENIR:外部割込み要求許可レジスタ...................................................................... 22.5 動作説明 ............................................................................................................................ 22.6 設定 ................................................................................................................................... 22.7 Q & A ................................................................................................................................. 245 248 248 249 250 251 252 252 22.7.1 検出レベルの種類および設定手順とは ? ................................................................ 22.7.2 INT 端子を入力に設定するには ?............................................................................ 22.7.3 割込み関連レジスタは ?.......................................................................................... 22.7.4 割込みの種類 ........................................................................................................... 22.7.5 割込みを許可 , 禁止 , およびクリアするには ? ....................................................... 22.8 注意事項 ............................................................................................................................ 252 253 254 254 255 255 第 23 章 DMA コントローラ................................................................................ 257 23.1 DMA コントローラ (DMAC) の概要 .................................................................................. 23.2 DMA コントローラ (DMAC) レジスタ............................................................................... 23.2.1 制御ステータスレジスタ A (DMACA0 ∼ DMACA4)............................................... 23.2.2 制御ステータスレジスタ B (DMACB0 ∼ DMACB4)............................................... 23.2.3 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4)....................................................... 23.2.4 DMAC 全チャネル制御レジスタ (DMACR)............................................................. 23.3 DMA コントローラ (DMAC) の動作 .................................................................................. 23.3.1 転送要求の設定 ....................................................................................................... 23.3.2 転送シーケンス ....................................................................................................... 23.3.3 DMA 転送の概要...................................................................................................... 23.3.4 アドレッシングモード ............................................................................................ 23.3.5 データタイプ ........................................................................................................... 23.3.6 転送回数制御 ........................................................................................................... 23.3.7 CPU 制御................................................................................................................. 23.3.8 開始から終了 / 停止までの動作 ............................................................................... 23.3.9 DMAC 割込み制御 ................................................................................................... 23.3.10 チャネルの選択および制御 ..................................................................................... 23.3.11 内部動作タイミングに関する補足........................................................................... 23.4 動作フローチャート .......................................................................................................... 23.5 データバス......................................................................................................................... 第 24 章 273 274 276 277 278 280 281 282 282 283 284 287 288 289 290 292 遅延割込み ............................................................................................ 293 24.1 概要 ................................................................................................................................... 24.2 特長 ................................................................................................................................... 24.3 構成 ................................................................................................................................... 24.4 レジスタ ............................................................................................................................ 24.4.1 DICR:遅延割込み制御レジスタ............................................................................. 24.5 動作 ................................................................................................................................... 24.6 設定 ................................................................................................................................... 24.7 Q & A ................................................................................................................................. 24.7.1 24.7.2 257 259 260 267 293 293 293 294 294 294 295 295 割込み関連レジスタとは ? ...................................................................................... 295 割込み要求の発生および解除を行うには ?............................................................. 295 x 24.8 注意事項 ............................................................................................................................ 295 第 25 章 ビットサーチ......................................................................................... 297 25.1 概要 ................................................................................................................................... 25.2 特長 ................................................................................................................................... 25.3 構成 ................................................................................................................................... 25.4 レジスタ ............................................................................................................................ 25.4.1 BSD0:0 検出レジスタ /BSD1:1 検出レジスタ / BSDC:変化点検出データレジスタ........................................................................ 25.4.2 BSRR:検出結果レジスタ ...................................................................................... 25.5 動作説明 ............................................................................................................................ 25.5.1 0 検出 ...................................................................................................................... 25.5.2 1 検出 ...................................................................................................................... 25.5.3 変化点検出 .............................................................................................................. 25.6 設定 ................................................................................................................................... 25.7 Q&A ................................................................................................................................... 297 297 297 298 25.7.1 データの書込み方法は ?.......................................................................................... 25.7.2 スキャンの開始方法は ?.......................................................................................... 25.7.3 結果の読出し方法は ? ............................................................................................. 25.7.4 前のビットサーチ状態の復帰方法は ? .................................................................... 25.8 注意事項 ............................................................................................................................ 303 303 303 303 303 第 26 章 MPU / EDSU ......................................................................................... 305 26.1 概要 ................................................................................................................................... 26.2 特長 ................................................................................................................................... 26.3 ブレーク機能 ..................................................................................................................... 26.3.1 命令アドレスブレーク ............................................................................................ 26.3.2 オペランドアドレスブレーク.................................................................................. 26.3.3 データ値ブレーク.................................................................................................... 26.3.4 データブレークでのオペランドの使用 ................................................................... 26.3.5 メモリ保護 .............................................................................................................. 26.3.6 ブレーク要因 ........................................................................................................... 26.4 レジスタ ............................................................................................................................ 26.4.1 EDSU レジスタ一覧 ................................................................................................ 26.4.2 レジスタの説明 ....................................................................................................... 26.5 クイックリファレンス....................................................................................................... 第 27 章 298 299 300 300 300 301 302 303 305 306 307 307 309 311 313 314 315 316 316 319 338 I/O ポート.............................................................................................. 341 27.1 I/O ポート機能 ................................................................................................................... 27.2 ポートレジスタの設定....................................................................................................... 27.2.1 一般規則 .................................................................................................................. 27.2.2 I/O ポートブロックダイヤグラム ............................................................................ 27.2.3 ポート入力許可レジスタ ......................................................................................... 27.2.4 ポート機能レジスタ設定 ......................................................................................... 27.2.5 ポート入力レベル選択 ............................................................................................ 27.2.6 プログラマブルプルアップ / プルダウン抵抗 ......................................................... 27.2.7 プログラマブルポート出力ドライブ ....................................................................... xi 341 345 345 347 348 348 357 359 361 第 28 章 LIN-USART........................................................................................... 363 28.1 概要 ................................................................................................................................... 28.2 LIN-USART の構成 ............................................................................................................ 28.3 LIN-USART 端子................................................................................................................ 28.4 LIN-USART レジスタ ........................................................................................................ 28.4.1 シリアル制御レジスタ (SCR).................................................................................. 28.4.2 シリアルモードレジスタ (SMR).............................................................................. 28.4.3 シリアルステータスレジスタ (SSR) ....................................................................... 28.4.4 受信および送信データレジスタ (RDR/TDR)........................................................... 28.4.5 拡張ステータス / コントロールレジスタ (ESCR) ................................................... 28.4.6 拡張通信制御レジスタ (ECCR) ............................................................................... 28.4.7 ボーレート / リロードカウンタレジスタ 0 および 1 (BGR0 / BGR1) ..................... 28.5 LIN-USART の割込み ........................................................................................................ 28.5.1 受信割込みの発生とフラグセットのタイミング ..................................................... 28.5.2 送信割込みの発生とフラグセットのタイミング ..................................................... 28.6 LIN-USART ボーレート..................................................................................................... 28.6.1 ボーレートの設定.................................................................................................... 28.6.2 リロードカウンタ.................................................................................................... 28.7 LIN-USART の動作 ............................................................................................................ 28.7.1 非同期モード ( 動作モード 0 および 1) での動作.................................................... 28.7.2 同期モード ( 動作モード 2) の動作.......................................................................... 28.7.3 LIN 機能の動作 ( モード 3) ...................................................................................... 28.7.4 シリアル端子への直接アクセス .............................................................................. 28.7.5 双方向通信機能 ( ノーマルモード ) ......................................................................... 28.7.6 マスタ / スレーブ型通信機能 ( マルチプロセッサモード )...................................... 28.7.7 LIN 通信機能............................................................................................................ 28.7.8 LIN 通信における LIN-USART フローチャート例 ( 動作モード 3).......................... 28.8 LIN-USART 使用時の注意点.............................................................................................. 第 29 章 I2C コントローラ................................................................................... 427 29.1 概要 ................................................................................................................................... 29.2 I2C インタフェースレジスタ ............................................................................................. 29.2.1 バス制御レジスタ (IBCR)........................................................................................ 29.2.2 バスステータスレジスタ (IBSR) ............................................................................. 29.2.3 10 ビットスレーブアドレスレジスタ (ITBA) .......................................................... 29.2.4 10 ビットスレーブアドレスマスクレジスタ (ITMK)............................................... 29.2.5 7 ビットスレーブアドレスレジスタ (ISBA) ............................................................ 29.2.6 7 ビットスレーブアドレスマスクレジスタ (ISMK)................................................. 29.2.7 データレジスタ (IDAR) ........................................................................................... 29.2.8 クロック制御レジスタ (ICCR) ................................................................................ 29.3 I2C インタフェース動作 .................................................................................................... 29.4 プログラミングフローチャート ........................................................................................ 第 30 章 363 366 371 372 373 376 379 382 383 386 389 390 393 394 395 397 400 402 403 407 411 414 415 417 420 421 423 427 429 431 435 438 439 440 441 441 442 445 447 CAN コントローラ ................................................................................ 451 30.1 概要 ................................................................................................................................... 30.2 CAN のブロックダイヤグラム........................................................................................... 30.3 CAN のレジスタ ................................................................................................................ 30.4 CAN レジスタ機能............................................................................................................. 30.4.1 全体コントロールレジスタ ..................................................................................... xii 451 452 453 458 459 30.4.2 メッセージインタフェースレジスタ ....................................................................... 30.4.3 メッセージオブジェクト ......................................................................................... 30.4.4 メッセージハンドラレジスタ.................................................................................. 30.5 CAN 機能 ........................................................................................................................... 30.5.1 メッセージオブジェクト ......................................................................................... 30.5.2 メッセージ送信動作 ................................................................................................ 30.5.3 メッセージ受信動作 ................................................................................................ 30.5.4 FIFO バッファ機能.................................................................................................. 30.5.5 割込み機能 .............................................................................................................. 30.5.6 ビットタイミング.................................................................................................... 30.5.7 テストモード ........................................................................................................... 30.5.8 ソフトウェア初期化 ................................................................................................ 第 31 章 473 484 490 499 499 501 503 506 508 509 512 516 フリーランタイマ ................................................................................. 517 31.1 概要 ................................................................................................................................... 31.2 特長 ................................................................................................................................... 31.3 構成図 ................................................................................................................................ 31.4 レジスタ ............................................................................................................................ 31.4.1 TCCS:フリーランタイマ制御レジスタ................................................................. 31.4.2 TCDT: フリーランタイマデータレジスタ ............................................................... 31.5 動作説明 ............................................................................................................................ 31.5.1 フリーランタイマのカウント動作説明 ................................................................... 31.5.2 フリーランタイマのクリア動作 .............................................................................. 31.6 設定 ................................................................................................................................... 31.7 Q & A ................................................................................................................................. 517 517 518 519 519 521 522 522 523 524 525 31.7.1 内部クロックの種類と選択方法は ?........................................................................ 31.7.2 外部クロックを選択するには ?............................................................................... 31.7.3 フリーランタイマのカウント動作を許可 / 禁止するには ? .................................... 31.7.4 フリーランタイマをクリアするには ? .................................................................... 31.7.5 使用される割込みレジスタは ?............................................................................... 31.7.6 割込みの種類 ........................................................................................................... 31.7.7 割込みを許可するには ?.......................................................................................... 31.7.8 フリーランタイマを停止するには ?........................................................................ 31.7.9 ICU および OCU に割り当てられたフリーランタイマは ?..................................... 31.8 注意事項 ............................................................................................................................ 525 525 525 526 526 526 526 527 527 528 第 32 章 インプットキャプチャ .......................................................................... 529 32.1 概要 ................................................................................................................................... 32.2 特長 ................................................................................................................................... 32.3 構成 ................................................................................................................................... 32.4 レジスタ ............................................................................................................................ 32.4.1 IPCP:インプットキャプチャデータレジスタ ....................................................... 32.4.2 ICS:インプットキャプチャ制御レジスタ ............................................................. 32.5 動作説明 ............................................................................................................................ 32.5.1 キャプチャタイミング , 割込みタイミング............................................................. 32.5.2 インプットキャプチャエッジの仕様と動作 ............................................................ 32.6 設定 ................................................................................................................................... 32.7 Q & A ................................................................................................................................. 32.7.1 529 529 530 531 531 531 534 534 535 536 537 外部入力のアクティブエッジ極性の種類は ? 選択するには ?................................ 537 xiii 32.7.2 外部入力端子 (ICU0 ∼ ICU3) の設定は ? ............................................................... 32.7.3 割込み関連レジスタは ?.......................................................................................... 32.7.4 割込みの種類は ? .................................................................................................... 32.7.5 割込みを許可するには ?.......................................................................................... 32.7.6 入力信号のパルス幅を測定するには ? .................................................................... 32.8 注意事項 ............................................................................................................................ 第 33 章 537 538 538 538 539 540 アウトプットコンペア .......................................................................... 541 33.1 概要 ................................................................................................................................... 33.2 特長 ................................................................................................................................... 33.3 構成図 ................................................................................................................................ 33.4 レジスタ ............................................................................................................................ 33.4.1 OCS:アウトプットコンペア制御レジスタ............................................................ 33.4.2 OCCP:コンペアレジスタ...................................................................................... 33.5 動作 ................................................................................................................................... 33.5.1 アウトプットコンペア出力 ( 独立反転 ) CMOD=0.................................................. 33.5.2 アウトプットコンペア出力 ( 組合せ反転 ) CMOD=1 .............................................. 33.6 設定 ................................................................................................................................... 33.7 Q & A ................................................................................................................................. 541 541 542 543 543 546 547 547 548 549 550 コンペア値を設定するには ? .................................................................................. コンペアモードを設定するには ? (OCU1, OCU3 出力に対して ) .......................... コンペア動作を許可 / 禁止するには ?..................................................................... コンペア端子出力の初期レベルを設定するには ? .................................................. コンペア端子 OCU0 ∼ OCU3 に出力を設定するには ?......................................... フリーランタイマをクリアするには ? .................................................................... コンペア動作を許可するには ?............................................................................... フリーランタイマの値とコンペアレジスタの値を比較し , これらの値が 一致するときにフリーランタイマをクリアするには ?........................................... 33.7.9 割込み関連レジスタとは ? ...................................................................................... 33.7.10 割込みの種類は ? .................................................................................................... 33.7.11 割込みを許可するには ?.......................................................................................... 33.7.12 コンペア値の計算手順 ............................................................................................ 33.8 注意事項 ............................................................................................................................ 550 550 551 552 553 553 553 33.7.1 33.7.2 33.7.3 33.7.4 33.7.5 33.7.6 33.7.7 33.7.8 第 34 章 553 554 554 554 555 556 リロードタイマ ..................................................................................... 557 34.1 概要 ................................................................................................................................... 34.2 特長 ................................................................................................................................... 34.3 構成 ................................................................................................................................... 34.4 レジスタ ............................................................................................................................ 34.4.1 TMCSR:リロードタイマ制御ステータスレジスタ ............................................... 34.4.2 TMR:タイマレジスタ ............................................................................................ 34.4.3 TMRLR:リロードレジスタ.................................................................................... 34.5 動作 ................................................................................................................................... 34.5.1 内部クロック / リロードモード ............................................................................... 34.5.2 内部クロック / ワンショットモード........................................................................ 34.5.3 外部イベントクロックリロードモード ................................................................... 34.5.4 外部イベントクロック / ワンショットモード ......................................................... 34.5.5 リセット中の動作.................................................................................................... 34.5.6 スリープモード中の動作 ......................................................................................... xiv 557 557 558 560 560 563 563 564 564 565 566 567 567 567 34.5.7 ストップモード中の動作 ......................................................................................... 34.5.8 ストップモードからの復帰時の動作 ....................................................................... 34.5.9 状態遷移 .................................................................................................................. 34.6 設定 ................................................................................................................................... 34.7 Q & A ................................................................................................................................. 568 568 568 569 571 34.7.1 リロード値設定 ( 書換え ) 手順とは ? ..................................................................... 34.7.2 カウントクロックの種類と選択方法は ? ................................................................ 34.7.3 リロードタイマのカウント動作を許可 / 禁止するには ? ........................................ 34.7.4 リロードタイマモード ( リロード / ワンショット ) を設定するには ? ................... 34.7.5 出力レベルを反転するには ? .................................................................................. 34.7.6 トリガの種類と選択方法は ? .................................................................................. 34.7.7 外部イベントクロックアクティブエッジの種類と選択方法は ? ............................ 34.7.8 端子を TOT 出力端子にするには ? ......................................................................... 34.7.9 TIN 端子を外部イベント入力端子または外部トリガ入力端子にするには ? ........... 34.7.10 起動トリガを生成するには ? .................................................................................. 34.7.11 割込み関連レジスタとは ? ...................................................................................... 34.7.12 割込みを許可するには ?.......................................................................................... 34.7.13 リロードタイマを停止するには ? ........................................................................... 34.8 注意事項 ............................................................................................................................ 571 571 571 572 572 573 573 573 574 574 575 575 575 576 第 35 章 プログラマブルパルスジェネレータ..................................................... 577 35.1 概要 ................................................................................................................................... 35.2 特長 ................................................................................................................................... 35.3 構成 ................................................................................................................................... 35.4 レジスタ ............................................................................................................................ 35.4.1 PCSR:PPG 周期設定レジスタ.............................................................................. 35.4.2 PDUT:PPG デューティ設定レジスタ ................................................................... 35.4.3 PCN:PPG 制御ステータスレジスタ ..................................................................... 35.4.4 GCN1:汎用制御レジスタ 1 ................................................................................... 35.4.5 GCN2:汎用制御レジスタ 2 ................................................................................... 35.4.6 PTMR:PPG タイマレジスタ ................................................................................. 35.5 動作 ................................................................................................................................... 35.5.1 PWM 動作................................................................................................................ 35.5.2 ワンショット動作.................................................................................................... 35.5.3 再起動時の動作 ....................................................................................................... 35.6 設定 ................................................................................................................................... 35.7 Q & A ................................................................................................................................. 577 577 579 581 581 582 583 587 589 590 591 591 592 593 594 596 サイクルおよびデューティを設定 ( 書換え ) するには ? ........................................ PPG 動作を許可 / 禁止するには ?........................................................................... PPG 動作モード (PWM 動作 / ワンショット動作 ) を設定するには ? .................... 再起動するには ? .................................................................................................... カウントクロックの種類と選択方法は ? ................................................................ PPG 端子出力レベルを固定するには ?................................................................... 選択可能な起動トリガと選択方法は ? .................................................................... 出力極性を反転するには ? ...................................................................................... 端子を PPG 出力端子にするには ? ......................................................................... 起動トリガを生成するには ? .................................................................................. PPG 動作を停止するには ?..................................................................................... 割込み関連レジスタは ?.......................................................................................... 596 596 596 596 597 597 598 600 600 601 601 602 35.7.1 35.7.2 35.7.3 35.7.4 35.7.5 35.7.6 35.7.7 35.7.8 35.7.9 35.7.10 35.7.11 35.7.12 xv 35.7.13 割込みの種類と選択方法は ? .................................................................................. 603 35.7.14 割込みを許可 / 禁止 / クリアするには ? .................................................................. 603 35.8 注意事項 ............................................................................................................................ 604 第 36 章 アップダウンカウンタ .......................................................................... 607 36.1 概要 ................................................................................................................................... 36.2 特長 ................................................................................................................................... 36.3 構成 ................................................................................................................................... 36.4 レジスタ ............................................................................................................................ 36.4.1 UDCC:カウンタ制御レジスタ............................................................................... 36.4.2 UDCS:カウントステータスレジスタ .................................................................... 36.4.3 UDCR:アップダウンカウンタレジスタ ................................................................ 36.4.4 UDRC:アップダウンリロード / コンペアレジスタ ............................................... 36.5 動作 ................................................................................................................................... 36.5.1 タイマモード CMS1, CMS0=00 .............................................................................. 36.5.2 アップダウンカウントモード CMS1, CMS0=01 .................................................. 36.5.3 アップダウンカウントモード CMS1, CMS0=01 .................................................. 36.5.4 位相差カウントモード CMS1, CMS0=10................................................................ 36.5.5 位相差カウントモード (4 逓倍 ) CMS1, CMS0=11 ................................................. 36.5.6 クリアタイミング.................................................................................................... 36.5.7 リロードタイミング ................................................................................................ 36.5.8 カウンタへの値の書込み ......................................................................................... 36.6 設定 ................................................................................................................................... 36.7 Q & A ................................................................................................................................. 607 607 608 611 611 614 616 617 619 619 620 621 622 623 624 625 625 626 628 アップダウンカウンタのビット長 (8 または 16) を選択するには ? ....................... 628 カウントモードの種類と設定方法は ? .................................................................... 628 タイマモードで実行されているアップダウンカウンタのカウントソースを 選択するには ? ........................................................................................................ 628 36.7.4 アップダウンカウントモードで実行されているアップダウンカウンタが入力信号 (AIN または BIN) を検出するエッジを選択するには ?............................................ 628 36.7.5 アップダウンカウンタに値を設定するには ? ......................................................... 629 36.7.6 アップダウンカウンタのカウントアップ値が , コンペア値と一致する場合 (RCR[0:1]), カウンタの次回のカウントアップ時にアップダウンカウンタのクリアを 許可するには ? ........................................................................................................ 629 36.7.7 アップダウンカウンタにアンダフローが存在する場合にアップダウンカウンタへの リロード値 (RCR[1:0]) のリロードを許可するには ? ............................................. 629 36.7.8 アップダウンカウンタをクリアするには ?............................................................. 629 36.7.9 ZIN 端子を使用してアップダウンカウンタをクリアするには ? ............................. 630 36.7.10 ZIN 端子を使用してアップダウンカウンタのカウント動作を制御するには ? ....... 630 36.7.11 アップダウンカウンタのカウント動作を許可 / 禁止するには ? ............................. 630 36.7.12 直前のカウント方向 ( 現在の回転方向 ) を確認するには ?..................................... 631 36.7.13 カウント方向転換を確認するには ?........................................................................ 631 36.7.14 コンペア一致が発生したことを確認するには ?...................................................... 631 36.7.15 オーバフローまたはアンダフローが発生したことを確認するには ? ..................... 631 36.7.16 リロード / コンペア値を設定するには ? ................................................................. 631 36.7.17 割込み関連レジスタとは ? ...................................................................................... 632 36.7.18 割込みの種類と選択方法は ? .................................................................................. 632 36.7.19 割込みを許可 ( 選択 ), 禁止 , またはクリアするには ?............................................ 633 36.8 注意事項 ............................................................................................................................ 634 36.7.1 36.7.2 36.7.3 xvi 第 37 章 A/D コンバータ ..................................................................................... 635 37.1 A/D コンバータの概要 ....................................................................................................... 37.2 A/D コンバータのブロックダイヤグラム .......................................................................... 37.3 A/D コンバータのレジスタ................................................................................................ 37.3.1 A/D 許可レジスタ (ADER)....................................................................................... 37.3.2 A/D 制御ステータスレジスタ (ADCS)..................................................................... 37.3.3 データレジスタ (ADCR1, ADCR0).......................................................................... 37.3.4 サンプリングタイマ設定レジスタ (ADCT) ............................................................. 37.3.5 A/D チャネル設定レジスタ (ADSCH, ADECH) ....................................................... 37.4 A/D コンバータの動作 ....................................................................................................... 37.4.1 シングルショット変換モード.................................................................................. 37.4.2 スキャン変換モード ................................................................................................ 37.5 設定 ................................................................................................................................... 37.6 Q & A ................................................................................................................................. 635 636 637 639 640 644 645 646 648 649 650 651 653 37.6.1 変換モードの種類と選択方法は ? ........................................................................... 37.6.2 ビット長を指定するには ? ...................................................................................... 37.6.3 変換時間を設定するには ? ...................................................................................... 37.6.4 アナログ端子入力を許可するには ?........................................................................ 37.6.5 A/D コンバータの起動方法の選択........................................................................... 37.6.6 A/D コンバータの起動方法...................................................................................... 37.6.7 変換終了の確認方法 ................................................................................................ 37.6.8 変換値を読み出すには ?.......................................................................................... 37.6.9 A/D 変換動作を強制停止するには ? ........................................................................ 37.6.10 割込み関連レジスタは ?.......................................................................................... 37.6.11 使用可能な割込みは ? ............................................................................................. 37.6.12 割込みを許可 / 禁止 / クリアするには ? .................................................................. 37.7 注意事項 ............................................................................................................................ 653 653 654 655 655 656 657 657 657 657 657 658 658 第 38 章 クロックモニタ ..................................................................................... 661 38.1 概要 ................................................................................................................................... 38.2 特長 ................................................................................................................................... 38.3 構成 ................................................................................................................................... 38.4 レジスタ ............................................................................................................................ 38.4.1 クロックモニタ構成レジスタ.................................................................................. 38.5 動作説明 ............................................................................................................................ 38.6 設定 ................................................................................................................................... 38.7 Q & A ................................................................................................................................. 661 661 662 663 663 665 666 666 38.7.1 出力端子 (MONCLK) を設定するには ? .................................................................. 38.7.2 出力周波数を選択するには ? .................................................................................. 38.7.3 クロックモニタ出力を許可または禁止するには ? .................................................. 38.8 注意事項 ............................................................................................................................ 666 666 667 668 第 39 章 リアルタイムクロック .......................................................................... 669 39.1 概要 ................................................................................................................................... 39.2 特長 ................................................................................................................................... 39.3 構成 ................................................................................................................................... 39.4 レジスタ ............................................................................................................................ 39.4.1 WTCR:RTC 制御レジスタ .................................................................................... 39.4.2 WTBR:サブセカンドレジスタ .............................................................................. xvii 669 669 670 671 671 675 39.4.3 WTHR/WTMR/WTSR:時 / 分 / 秒レジスタ............................................................ 39.5 動作 ................................................................................................................................... 39.6 設定 ................................................................................................................................... 39.7 Q & A ................................................................................................................................. 676 677 679 680 39.7.1 1 秒のカウント周期を設定するには ?..................................................................... 39.7.2 リアルタイムクロックを初期化するには ?............................................................. 39.7.3 時間 ( 時 / 分 / 秒 ) を設定または更新するには ?..................................................... 39.7.4 リアルタイムクロックのカウントを開始または停止するには ? ............................ 39.7.5 リアルタイムクロックがアクティブであることを確認するには ?......................... 39.7.6 時間を取得するには ? ............................................................................................. 39.7.7 リアルタイムクロックを停止するには ? ................................................................ 39.7.8 割込み関連レジスタとは ? ...................................................................................... 39.7.9 割込みの種類と選択方法は ? .................................................................................. 39.7.10 割込みを許可するには ?.......................................................................................... 39.8 注意事項 ............................................................................................................................ 680 680 680 680 680 680 680 681 681 681 682 第 40 章 低電圧リセット / 割込み ....................................................................... 685 40.1 概要 ................................................................................................................................... 40.2 特長 ................................................................................................................................... 40.3 レジスタ ............................................................................................................................ 40.3.1 低電圧検出制御レジスタ ......................................................................................... 第 41 章 685 685 685 685 固定モード・リセットベクタ / Boot-ROM........................................... 689 41.1 概要 ................................................................................................................................... 689 第 42 章 フラッシュメモリ ................................................................................. 691 42.1 概要 ................................................................................................................................... 42.2 特長 ................................................................................................................................... 42.3 構成 ................................................................................................................................... 42.3.1 CPU モードでの構成............................................................................................... 42.3.2 CPU モードからフラッシュプログラミングモードへのアドレス変換 ................... 42.4 レジスタ ............................................................................................................................ 42.5 アクセスモード ................................................................................................................. 42.5.1 CPU からのアクセス............................................................................................... 42.6 フラッシュメモリモード ................................................................................................... 42.7 自動アルゴリズム .............................................................................................................. 42.7.1 コマンド動作 ........................................................................................................... 42.7.2 自動アルゴリズムのコマンド.................................................................................. 42.7.3 ハードウェアシーケンスフラグ .............................................................................. 42.7.4 FLCR:ハードウェアシーケンスフラグ ................................................................. 42.7.5 ハードウェアシーケンスフラグの使用例................................................................ 42.8 注意事項 ............................................................................................................................ 42.9 データポーリングフラグ (DQ7) の制約事項と回避方法.................................................... 第 43 章 691 691 692 693 699 700 700 700 701 702 702 704 707 708 710 711 712 フラッシュセキュリティ....................................................................... 715 43.1 概要 ................................................................................................................................... 43.2 フラッシュセキュリティベクタ ........................................................................................ 43.2.1 ベクタアドレス ....................................................................................................... 43.2.2 セキュリティベクタ (FSV1, FSV2)......................................................................... xviii 715 716 716 717 43.3 セキュリティベクタ再フェッチ ........................................................................................ 720 43.4 レジスタ ............................................................................................................................ 721 43.4.1 フラッシュセキュリティ制御レジスタ (FSCR0) .................................................... 721 xix xx MB91460N シリーズ 本版での主な変更内容 ページ 687 変更内容 ( 詳細は本文を参照してください。) 第 40 章 低電圧リセット / 割込み 40.30.1 低電圧検出制御レジスタ 「[bit7 ∼ bit4]」の表のトリガレベルを 変更 ( ± 0.1V → ± 0.15V) 「[bit3 ∼ bit0]」の表を 変更 (MB91F463NC の桁を追加 ) 691 第 42 章 フラッシュメモリ 42.2 特長 694 第 42 章 フラッシュメモリ 42.3.1 CPU モードでの構成 「(1) 32 ビット CPU モード :」の説明を訂正 読み出し , 書き込み , 実行します。→ 読み出し , 実行します。 表 42.3-2 を追加 (MB91F463NC のアドレスマップを追加 ) 図 42.3-3 を追加 (MB91F463NC のアドレスマップを追加 ) 696 699 第 42 章 フラッシュメモリ 42.3.2 CPU モードからフラッシュ プログラミングモードへの アドレス変換 「・ MB91F463NC の場合」を追加 (MB91F463NC のアドレス変換式を追加 ) 700 タイトルと説明文を訂正 第 42 章 フラッシュメモリ ( 読出し / 書込み / 実行 ) → ( 読出し / 実行 ) 42.5.1 CPU からのアクセス ■ 32 ビット CPU モード ( 読出し / 実 「このモードでは , データ消去 / 書込みが可能です。」の文を削 除 行) フラッシュへの書込みや消去が行われている場合は , フラッ シュメモリでプログラムを実行できません。 → フラッシュメモリへのデータ書込みや消去は行えません。 自動アルゴリズムに関する文を削除。 703 第 42 章 フラッシュメモリ 42.7.1 コマンド動作 711 第 42 章 フラッシュメモリ 42.8 注意事項 712 ∼ 714 第 42 章 フラッシュメモリ 「42.9 データポーリングフラグ (DQ7) の制約事項と回避方法」 42.9 データポーリングフラグ (DQ7) を追加 の制約事項と回避方法 716 第 43 章 フラッシュセキュリティ 43.2.1 ベクタアドレス 表 42.7-2 を追加 (MB91F463NC のコマンドの一覧を追加 ) 「・ データポーリングフラグ (DQ7) の制約事項」を追加 図 43.2-2 を追加 (MB91F463NC のセキュリティベクタアドレスを追加 ) 変更箇所は , 本文中のページ左側の│によって示しています。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED xxi MB91460N シリーズ xxii FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 1 章 はじめに 1.1 デバイスの取扱いについて MB91460N シリーズ 第1章 はじめに 1.1 デバイスの取扱いについて 半導体デバイスは , ある確率で故障します。また , 半導体デバイスの故障は , 使用される条件 ( 回路条件 , 環境 条件など ) によっても大きく左右されます。 以下に半導体デバイスをより信頼性の高い状態で使用していただくために , 注意・配慮しなければならない事 項について説明します。 ■ 設計上の注意事項 ここでは , 半導体デバイスを使用して電子機器の設計を行う際に注意すべき事項について述べます。 ● 絶対最大定格の遵守 絶対最大定格を超えるストレス ( 電圧 , 電流 , 温度など ) の印加は , 半導体デバイスを破壊する可能性があります。し たがって , 定格を一項目でも超えることのないようご注意ください。 ● 推奨動作条件の遵守 推奨動作条件は , 半導体デバイスの正常な動作を保証する条件です。電気的特性の規格値は , すべてこの条件の範囲内 で保証されます。常に推奨動作条件下で使用してください。この条件を超えて使用すると , 信頼性に悪影響を及ぼす ことがあります。 データシートに記載されていない項目 , 使用条件 , 論理の組合せでの使用は , 保証していません。記載されている以外 の条件での使用をお考えの場合は , 必ず事前に営業部門までご相談ください。 ● 端子の処理と保護 半導体デバイスには , 電源および各種入出力端子があります。これらに対して以下の注意が必要です。 • 過電圧・過電流の防止 各端子に最大定格を越える電圧・電流が印加されるとデバイスの内部に劣化が生じ , 著しい場合には破壊 に至ります。機器の設計の際には , このような過電圧・過電流の発生を防止してください。 • 出力端子の保護 出力端子を電源端子またはほかの出力端子とショートしたり, 大きな容量負荷を接続すると大電流が流れ る場合があります。この状態が長時間続くとデバイスが劣化しますので , このような接続はしないように してください。 • 未使用入力端子の処理 インピーダンスの非常に高い入力端子は , オープン状態で使用すると動作が不安定になる場合がありま す。適切な抵抗を介して電源端子やグランド端子に接続してください。 ● ラッチアップ 半導体デバイスは , 基板上に P 型と N 型の領域を形成することにより構成されます。外部から異常な電圧が加えられ た場合 , 内部の寄生 PNPN 接合 ( サイリスタ構造 ) が導通して , 数百 mA を超える大電流が電源端子に流れ続けること があります。これをラッチアップとよびます。この現象が起きるとデバイスの信頼性を損ねるだけでなく , 破壊に至 り発熱・発煙・発火の恐れもあります。これを防止するために , 以下の点にご注意ください。 • 最大定格以上の電圧が端子に加わることが無いようにしてください。異常なノイズ , サージなどにも注意 してください。 • 電源投入シーケンスを考慮し , 異常な電流が流れないようにしてください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 1 第 1 章 はじめに 1.1 デバイスの取扱いについて MB91460N シリーズ ● 安全などの規制と規格の遵守 世界各国では , 安全や電磁妨害などの各種規制と規格が設けられています。お客様が機器を設計するに際しては , これ らの規制と規格に適合するようお願いします。 ● フェイル・セーフ設計 半導体デバイスは , ある確率で故障が発生します。半導体デバイスが故障しても , 結果的に人身事故 , 火災事故 , 社会 的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止設計 , 誤動作防止設計などの安 全設計をお願いします。 ● 用途に関する注意 当社半導体デバイスは , 標準用途 ( コンピュータ /OA などの事務用機器 , 産業 / 通信 / 計測用の関連機器 , パーソナル / 家庭用の機器など ) に使用されることを意図しています。その故障や誤動作が直接人命を脅かしたり , 人体に危害が及 ぶ恐れのある , または極めて高い信頼性が要求される特別用途 ( 航空・宇宙用 , 原子力制御用 , 海底中継器 , 走行制御 用 , 生命維持のための医療用など ) にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。ご相談な く使用されて発生した損害などについては , 責任を負いかねますのでご了承ください。 ■ パッケージ実装上の注意事項 パッケージには , リード挿入形と表面実装形があります。いずれの場合も , はんだ付け時の耐熱性に関する品 質保証は , 当社の推奨する条件での実装に対してのみ適用されます。実装条件の詳細については営業部門まで お問い合わせください。 ● リード挿入形 リード挿入形パッケージのプリント板への実装方法は , プリント板へ直接はんだ付けする方法とソケットを使用して プリント板に実装する方法とがあります。 プリント板へ直接はんだ付けする場合は , プリント板のスルーホールにリード挿入後 , 噴流はんだによるフローはんだ 方法 ( ウェーブソルダリング法 ) が一般的に使用されます。この場合 , はんだ付け実装時には , 通常最大定格の保存温 度を上回る熱ストレスがリード部分に加わります。当社の実装推奨条件で実装してください。 ソケット実装方法でご使用になる場合 , ソケットの接点の表面処理と IC のリードの表面処理が異なるとき , 長時間経 過後 , 接触不良を起こすことがあります。このため , ソケットの接点の表面処理と IC のリードの表面処理の状態を確 認してから実装することをお勧めします。 ● 表面実装形 表面実装形パッケージは , リード挿入形と比較して , リードが細く薄いため , リードが変形し易い性質をもっていま す。また , パッケージの多ピン化に伴い , リードピッチも狭く , リード変形によるオープン不良や , はんだブリッジに よるショート不良が発生しやすいため , 適切な実装技術が必要となります。当社ははんだリフロー方法を推奨し , 製品 ごとに実装条件のランク分類を実施しています。当社推奨のランク分類に従って実装してください。 ● 半導体デバイスの保管について プラスチックパッケージは樹脂でできているため , 自然の環境に放置することにより吸湿します。吸湿したパッケー ジに実装時の熱が加わった場合 , 界面剥離発生による耐湿性の低下やパッケージクラックが発生することがあります。 以下の点にご注意ください。 • 急激な温度変化のある所では製品に水分の結露が起こります。このような環境を避けて , 温度変化の少な い場所に保管してください。 • 製品の保管にはドライボックスの使用を推奨します。相対湿度 70%RH 以下 , 温度+ 5 °C ∼+ 30 °C で 保管をお願いします。 • 当社では必要に応じて半導体デバイスの梱包材として防湿性の高いアルミラミネート袋を用い, 乾燥剤と してシリカゲルを使用しております。半導体デバイスはアルミラミネート袋に入れて密封して保管してく ださい。 2 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 1 章 はじめに 1.1 デバイスの取扱いについて MB91460N シリーズ • 腐食性ガスの発生する場所や塵埃の多い場所は避けてください。 ● ベーキングについて 吸湿したパッケージはベーキング ( 加熱乾燥 ) を実施することにより除湿することが可能です。ベーキングは , 当社の 推奨する条件で実施してください。 ● 静電気 半導体デバイスは静電気による破壊を起こしやすいため , 以下の点についてご注意ください。 • 作業環境の相対湿度は 40%∼ 70%RH にしてください。除電装置 ( イオン発生装置 ) の使用なども必要に 応じて検討してください。 • 使用するコンベア , 半田槽 , 半田ゴテ , 及び周辺付帯設備は大地に接地してください。 • 人体の帯電防止のため , 指輪又は腕輪などから高抵抗 (1 MΩ 程度 ) で大地に接地したり , 導電性の衣服・ 靴を着用し , 床に導電マットを敷くなど帯電電荷を最小限に保つようにしてください。 • 治具 , 計器類は , 接地または帯電防止化を実施してください。 • 組立完了基板の収納時 , 発泡スチロールなどの帯電し易い材料の使用は避けてください。 ■ 使用環境に関する注意事項 半導体デバイスの信頼性は , 前述のとおり周囲温度とそれ以外の環境条件にも依存します。ご使用にあたって は , 以下の点にご注意ください。 • 湿度環境 高湿度環境下での長期の使用は , デバイス自身だけでなくプリント基板などにもリーク性の不具合が発生す る場合があります。高湿度が想定される場合は , 防湿処理を施すなどの配慮をお願いします。 • 静電気放電 半導体デバイスの直近に高電圧に帯電したものが存在すると , 放電が発生し誤動作の原因となることがあり ます。 このような場合 , 帯電の防止または , 放電の防止の処置をお願いします。 • 腐食性ガス , 塵埃 , 油 腐食性ガス雰囲気中や塵埃 , 油などがデバイスに付着した状態で使用すると , 化学反応によりデバイスに悪 影響を及ぼす場合があります。このような環境下でご使用の場合は , 防止策についてご検討ください。 • 放射線・宇宙線 一般のデバイスは , 設計上 , 放射線 , 宇宙線にさらされる環境を想定しておりません。従って , これらを遮蔽 してご使用ください。 • 発煙・発火 樹脂モールド型のデバイスは , 不燃性ではありません。発火物の近くでは , ご使用にならないでください。 発煙・発火しますと , その際に毒性を持ったガスが発生する恐れがあります。 その他 , 特殊な環境下でのご使用をお考えの場合は , 営業部門にご相談ください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 3 第 1 章 はじめに 1.2 使用上の注意 MB91460N シリーズ 1.2 使用上の注意 ■ 電源端子について VCC 端子・VSS 端子が複数ある場合 , デバイス設計上はラッチアップなどの誤動作を防止するためにデバイス 内部で同電位にすべきもの同士を接続してありますが , 不要輻射の低減・グラウンドレベルの上昇によるスト ローブ信号の誤動作の防止・総出力電流規格を遵守などのために , 必ずそれらすべてを外部で電源およびグラ ンドに接続してください。また , 電流供給源から出来るかぎり低インピーダンスで本デバイスの VCC 端子 , VSS 端子に接続するような配慮をお願いします。 さらに , 本デバイスの近くで , VCC と VSS の間に 0.1 μF 程度のセラミックコンデンサをバイパスコンデンサと して接続することをお勧めします。 ■ 水晶発振回路について X0, X1 端子の近辺のノイズは本デバイスの誤動作のもととなります。X0, X1 端子および水晶発振子 ( あるいは セラミック発振子 ) さらにグラウンドへのバイパスコンデンサは出来るかぎり近くに配置するようにプリント 板を設計してください。 また , X0, X1 端子の回りをグラウンドで囲むようなプリント板アートワークは安定した動作を期待できますの で , 強くお勧めします。 各量産品において , 使用される発振子のメーカに発信評価依頼を行ってください。 ■ モード設定端子 (MD0 ∼ MD3) について これらの端子は , VCC または VSS に直接つないで使用することを推奨します。ノイズにより誤ってテストモー ドに 入ってしまうことを防ぐために , プリント板上の各モード端子と VCC または VSS 間のパターン長をでき る限り短くし , これらを低インピーダンスで接続してください。 これらの端子をプルダウンして使用する場合には , ノイズの乗りにくい設計にし , 抵抗値を 1 kΩ 以下にしてく ださい。また十分評価をし , 問題ないことを確認の上ご使用ください。 ■ 電源投入時について 電源投入時は ,INITX 端子を “L” レベルにしてください。 また , 電源投入直後は , 発振回路の発振安定待ち時間を確保するため , INITX 端子への “L” レベル入力を発振回 路の要求する安定待ち時間の間持続してください。 ■ 電源投入時の原振入力について 電源投入時は , 必ず発振安定待ちが解除されるまでの間クロックを入力してください。 ■ 内蔵レギュレータについて 本シリーズは降圧レギュレータを内蔵しています。C 端子にはレギュレータ用に 4.7 μF 以上のバイパスコンデ ンサを必ず接続してください。 ■ 電源投入順序について 電源投入 / 切断はすべての電源端子を同時に供給 / 切断するか下記の順序に従ってください。 投入時 :VCC → AVCC, AVRH 切断時 :AVCC, AVRH → VCC 4 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 1 章 はじめに 1.2 使用上の注意 MB91460N シリーズ ■ STOP モード時の注意事項 STCR レジスタのビット 0 (OSCD1) を “1” に設定し , STOP モードに遷移する場合に , レギュレータは , スタン バイ用 ( 低消費電流用 ) のレギュレータに切り替わります。 このとき, 駆動可能な電流値に制限があるため, STOPモードに移行する前に必ずA/Dコンバータの動作, Flash に対するアクセス ( 書き込み , 消去など ) を停止させてください。 ■ シリアル通信について シリアル通信においては , ノイズなどにより間違ったデータを受信する可能性があります。そのため , ノイズ を抑えるボードの設計をしてください。 また , 万が一ノイズなどの影響により , 誤ったデータを受信した場合を考慮して最後にデータのチェックサム などを付加してエラーが発生した場合には再送を行うなどの処理をしてください。 ■ 外部クロック使用時の注意 外部クロックを使用する際には , 原則として X0 端子と X1 端子を同時に供給してください。また , X1 端子に は X0 と逆相のクロックを供給してください。ただし , この場合には STOP モード ( 発振停止モード ) は使用 しないでください。 図 1.2-1 外部クロック使用例 X0 X1 ( 注意事項 ) STOP モード ( 発振停止モード ) は使用できません。 ■ PLL クロックモード動作中の注意について 本マイクロコントローラで PLL クロックを選択しているときに発振子が外れたり , クロック入力が停止した場 合には PLL 内部の自励発振回路の自走周波数で動作を継続し続ける場合があります。この動作は保証外の動作 です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 5 第 1 章 はじめに 1.3 注意:デバッグ関連項目 MB91460N シリーズ 1.3 注意:デバッグ関連項目 ■ RETI 命令のステップ実行 ステップ実行する際 , 割込みが頻繁に発生する環境下では , 該当割込み処理ルーチンだけを繰り返して実行し ます。その結果 , メインルーチンや割込みレベルの低いプログラムの実行が行われなくなります ( 例えば , タ イムベースタイマの割込みを許可していた場合 , RETI をステップ実行すると , 必ずタイムベースのルーチンの 先頭でブレークすることになります ) 。 該当割込み処理ルーチンのデバッグが不要になった段階で , 該当割込みを禁止してください。 ■ ブレーク機能 ハードウェアブレーク ( イベントブレーク含む ) の対象アドレスが現在のシステムスタックポインタのアドレ スやスタックポインタを含む領域に設定されていると , ユーザプログラムに実際のデータアクセス命令がない にもかかわらず , 1 命令実行後にブレークしてしまいます。 このブレークを回避するために , システムスタックポインタのアドレスを含む領域に対する ( ワード ) アクセ スを , ハードウェアブレーク ( イベントブレーク含む ) の対象に設定しないでください。 ■ オペランドブレークについて DSU のオペランドブレークとして設定している領域にスタックポインタがあると誤動作の原因となります。シ ステムスタックポインタのアドレスを含む領域に対するアクセスを , データイベントブレークの対象にしない でください。 ■ PS レジスタに関する注意事項 一部の命令で PS レジスタを先行処理しているため例外動作により , デバッガ使用時に割込み処理ルーチンで ブレークしたり , PS レジスタ内のフラグの表示内容が更新されたりする場合があります。いずれの場合も , EIT から復帰後以降に , 正しく再処理を行うように設計されているので , EIT 前後の動作は仕様どおりの処理を行 います。 • DIV0U/DIV0S 命令の直前の命令では , ユーザ割込み・NMI を受付けた場合 , ステップ実行を行った場合 , データイベントまたはエミュレータメニューにてブレークした場合 , 以下の動作を行う場合があります。 • D0, D1 フラグが , 先行して更新されます。 • EIT 処理ルーチン ( ユーザ割込み・NMI, またはエミュレータ ) を実行します。 • EIT から復帰後 , DIV0U/DIV0S 命令が実行され , D0, D1 フラグが 1) と同じ値に更新されます。 • ユーザ割込み・NMI 要因が発生している状態で , 割込みを許可するために OR CCR/ST ILM/MOV Ri, PS の 各命令が実行されると , 以下のような動作を行います。 • PS レジスタが , 先行して更新されます。 • EIT 処理ルーチン ( ユーザ割込み・NMI, またはエミュレータ ) を実行します。 • EIT から復帰後 , 上記命令が実行され , PS レジスタが 1) と同じ値に更新されます。 6 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 1 章 はじめに 1.4 本書の読み方 MB91460N シリーズ 1.4 本書の読み方 ■ 主な用語 用語集:FR60 用の主なる用語を以下に示します。 用語 意味 I バス 内部命令のための 30 ビット幅バス FR60 シリーズは , 内部ハーバードアーキテクチャ を採用しているため , 命令とデータは独立したバス。I-bus に対して , ハーバード / プ リンストンバスコンバータが接続されています。 D バス 内部 32 ビット幅データバス D バスには , ビットサーチモジュール , ハーバード / プリ ンストンバスコンバータ , R バスインタフェース(32 ビット ↔ 16 ビットコンバータ) , と CAN モジュールが接続されます。 F バス 内部 32 ビット幅バス F バスは , 内蔵 Flash/ROM および内蔵 RAM に接続されます。 R バス 内部 16 ビット幅データバス R バスは , R バスコンバータを介して D バスに接続されます。R バスには , 周辺機能 , I/O, クロックジェネレータと割込みコントローラが接続されます。 X バス 32ビット幅アドレスおよびデータバス外部バスへのバスコンバータを介して, 外部バ スにアクセスします。 メインクロック (FCL-MAIN) 高速側発振によりトリガーされた LSI 動作の基準点として働くクロックです。本ク ロックは , メインクロック発振安定化タイマーとクロックジェネレータに接続されま す。 サブクロック (FCL-SUB) 低速側発振によりトリガーされた LSI 動作の基準点として働くクロックです。本ク ロックは , サブクロック発振安定化タイマー , リアルタイムクロックとクロックジェ ネレータに接続されます。MB91460N シリーズでは使用できません。 ベースクロック (φ) 最高速で , ベースクロックはソース発振と同じ周期となります。クロックジェネレー タの PLL では , ベースクロックは , 1,2,3,4,5, 6,7, および 8 逓倍 , あるいは 2 分 周 さ れ た ク ロ ッ ク で す。ベ ー ス ク ロ ッ ク は , ク ロ ッ ク ジ ェ ネ レ ー タ に お い て CLBK,CLKP, および CKLT を発生する基本クロックです。 CPU クロック (CLKB) CPU, 内蔵 ROM, 内蔵 RAM, ビットサーチモジュールや内部バス(I バス , D バス , F バス , X バス)動作により参照されるクロックです。クロックジェネレータのベー スクロックより生成されます。 周辺クロック (CLKP) R バス,クロックコントローラ,I/O ポート , および外部割込み入力動作に接続され た各周辺機能(ビットサーチモジュールと CAN を除く周辺機能)により参照されま す。クロックジェネレータのベースクロックより生成されます。 外部バスクロック (CLKT) X-Busに接続された外部拡張バスインタフェースや外部クロック出力動作により参照 されるクロックです。クロックジェネレータのベースクロックより生成されます。 CAN クロック (CLKCAN) CAN モジュールにより参照されるクロックです。CAN ネットワーク発振許容誤差範 囲内での動作を保障するために非変調 PLL 出力クロックより生成されます。 メインクロック モード CM71-10149-1 メインクロックに基づいて動作するモード。このメインクロックモードには , メイン ラン , メインスリープ , メインストップ , 発振安定化待ちラン , 発振安定化待ちランリ セットおよびプログラムリセットの状態があります。 FUJITSU MICROELECTRONICS LIMITED 7 第 1 章 はじめに 1.4 本書の読み方 MB91460N シリーズ 用語 意味 サブクロック モード サブクロックに基づいて動作するモード。このサブクロックモードには , サブラン , サブスリープ , サブストップ , サブクロック発振安定化待ちランおよびプログラムリ セットの状態があります。MB91460N シリーズでは使用できません。 メインラン メインクロックモードでかつすべての回路が動作可能な状態です。 サブラン サブクロックモードでかつすべての回路が動作可能な状態です。MB91460N シリーズ では使用できません。 発振安定化時間 リセット(INITX, RST), 停止からの復帰 , PLL 異常動作からの復帰 , ウォッチドッグ タイマの生成時 , およびメインクロック停止時において , メインクロックに対して発 振安定化時間を要します。 メインクロック発 振安定化時間 サブクロックモードにおいてメインクロック停止後メインクロックが発振するまで の待ち時間。メインクロック発振安定化待ちタイマーが計時します。 ■ アクセス単位およびアドレス位置 オフセット アドレス レジスター名 書込みのみ 読出しのみ アドレスオフセットバリュー / レジスター名 ブロック +0 +1 +2 +3 0000B0H RCR1 [W] B, H, W 00000000 RCR0 [W] B, H, W 00000000 UDCR1 [R] B, H, W 00000000 UDCR0 [R] B, H, W 00000000 0000B4H CCRH0 [R/W] B, H, W 00000000 CCRL0 [R/W] B, H, W 00001000 ⎯ CSR0 [R/W] B, H, W 00000000 0000B8H CCRH1 [R/W] B, H, W 00000000 CCRL1 [R/W] B, H, W 00001000 ⎯ CCR1 [R/W] B, H, W 00000000 書込み / 読出し アップ / ダウン カウンター 0, 1 初期値 バイトアクセス , ハーフワードアクセス , およびワードアクセス可能 三種類のアクセス方法(バイトアクセス , ハーフワードアクセス , およびワードアクセス)が可能です。しかし ながら,アクセスを制限しているレジスターもありますので注意してください。詳細については,"3.2 I/O マップ " あるいは , 各章のレジスターの詳細を参照してください。 B, H, W :バイトアクセス , ハーフワードアクセス , およびワードアクセス可能 8 B :バイトアクセス(必ず , バイト単位でアクセスしてください。) H :ハーフワードアクセス(必ず , ハーフワード単位でアクセスしてください。) W :ワードアクセス(必ず , ワード単位でアクセスしてください。) B, H :バイトアクセス , およびハーフワードアクセスのみ可(ワードアクセスは禁止) H, W :ハーフワードアクセス , およびワードアクセスのみ可(バイトアクセスは禁止) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 1 章 はじめに 1.4 本書の読み方 MB91460N シリーズ < 注意事項 > 以下に , アクセスすべきアドレス位置を記載します。 • ワードアクセスでは , アドレスは , 4逓倍の数となる。(下位二桁は , 強制的に "00" となります。) • ハーフワードアクセスでは , アドレスは , 2 逓倍の数となる。 (下位一桁は , 強制的に "0" となりま す。) • バイトアクセスでは , アドレスは変更されません。 したがって,たとえば , RCR0 レジスターをハーフワードアクセスに使用すれば , アドレス 0B0H アドレスについて , RCR1+ RCR0 レジスターがアクセスされます (アドレスオフセットが , +1 あるいは +2 である場合 , (たとえば , RCR0+UDCR1)ハーフワードア クセスは禁止されます。 ■ アクセス単位および bit 位置 レジスター名 ターゲット周辺装置 アドレス アクセスサイズ ビット位置 (1) カウンター制御レジスター(上位バイト) アップ / ダウンカウンター動作の制御を行うレジスター(上位バイト) CCRH0 ( アップ / ダウンカウンター0): アドレス 00B4H ( アクセス:バイト , ハーフワード , ワード ) CCRH1 ( アップ / ダウンカウンター1): アドレス 00B8H ( アクセス:バイト , ハーフワード , ワード ) 15 M16E/ 予約 0 R/W 14 CDCF 0 R/W 13 CFIE 0 R/W 12 CLKS 0 R/W 11 CMS1 0 R/W 10 CMS0 0 R/W 9 CES1 0 R/W 8 CES0 0 R/W ビット 初期値 属性 ビット 15:16 ビットモードを許可する M16E (CCRH0) のみ 16- ビットモードを許可 0 8- ビット× 2- チャネルモード (8- ビットモード ) 1 16- ビット× 1- チャネルモード (16- ビットモード ) *: CCRH1: 予約 , 常に "0" を書き込む。読出し値は不定。 アクセスサイズが変わると , ビット位置も変わる。 • アドレスオフセット値が "+1" の場合 ( 例 : CCRH0 レジスター ) アクセスサイズ アドレス バイト 0B4H+0H 07 06 05 04 03 02 01 00 ハーフワード 0B4H+0H 15 14 13 12 11 10 09 08 ワード 0B4H+0H 31 30 29 28 27 26 25 24 M16E CDCF CFIE CLKS CMS1 CMS0 CES1 CES0 ビット名 CM71-10149-1 ビット位置 FUJITSU MICROELECTRONICS LIMITED 9 第 1 章 はじめに 1.4 本書の読み方 MB91460N シリーズ • アドレスオフセット値が "+1" の場合 ( 例 : CCRL0 レジスター ) アクセスサイズ アドレス バイト 0B4H+1H 07 06 05 04 03 02 01 00 ハーフワード 0B4H+0H 07 06 05 04 03 02 01 00 ワード 0B4H+0H 23 22 21 20 19 18 17 16 予約 CTUT UCRE RLDE UDCC CGSC CGE1 CGE0 ビット名 ビット位置 • アドレスオフセット値が "+2" の場合 ( 例 : UDCR1 レジスター ) アクセスサイズ アドレス バイト 0B0H+2H 07 06 05 04 03 02 01 00 ハーフワード 0B0H+2H 15 14 13 12 11 10 09 08 ワード 0B0H+0H 15 14 13 12 11 10 09 08 D15 D14 D13 D12 D11 D10 D9 D8 ビット名 ビット位置 • アドレスオフセット値が "+3" の場合 ( 例 : UDCR1 レジスター ) アクセスサイズ アドレス バイト 0B0H+3H 07 06 05 04 03 02 01 00 ハーフワード 0B0H+2H 07 06 05 04 03 02 01 00 ワード 0B0H+0H 07 06 05 04 03 02 01 00 D7 D6 D5 D4 D3 D2 D1 D0 ビット名 ビット位置 ■ ビット属性シンボルの意味 10 • R : 読取り可能です。 • W : 書込み可能です。 • RM : 読取り / 修正 / 書込み動作中の読取り動作です。 "/"( スラッシュ )R/W: 読取りおよび書込みが可能です。( 読取り値は , 書込み値と同じです。)", "( コンマ )R,W: 読取り値と書込み値が異なります。( 読取り値が書込み値と異なります。) • R0 : 読取り値が 0 です。 • R1 : 読取り値が 1 です。 • W0 : 常に 0 を書込みます。 • W1 : 常に 1 を書込みます。 • (RM0) : 読取り / 修正 / 書込み動作での読取り値が , 0 です。 • (RM1) : 読取り / 修正 / 書込み動作での読取り値が , 1 です。 • RX : 読取り値が , 不定です。( 予約ビットあるいは未定義ビット ) • WX : 書込みが動作に影響しません。( 未定義ビット ) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 1 章 はじめに 1.4 本書の読み方 MB91460N シリーズ • R/W 使用例 • R/W : 読取りおよび書込み可能です ( 書込み値は , 読取り値と同じです。) • R,W : 読取りおよび書込み可能です ( 書込み値と読取り値が異なります。) • R,RM/W : 読取りおよび書込み可能です ( 書込み値と読取り値が異なります。読込み / 修正 / 書込み命 令は , 書込み値を読込みます。) 例:ポートデータレジスター • R(RM1),W : 読取りおよび書込み可能です ( 書込み値と読取り値が異なります。読込み / 修正 / 書込み命 令は , "1" を読込みます。) 例 : 割込み要求フラッグ • R/MX : 読取りのみ可能です ( 読取のみ。書込みを行っても動作に影響しません。) • R1,W : 書込みのみ可能です ( 書込みのみ。 読取り値は , 1 です。) • R0,W : 書込みのみ可能です ( 書込みのみ。 読取り値は , 0 です。) • RX,W : 書込みのみ可能です ( 書込みのみ。 読取り値は , 未定です。) • R/W0 : 予約ビット ( 書込み値 , 0 です。読込み値は , 書込み値と同じです。) • R0/W0 : 予約ビット ( 書込み値 , 0 です。読込み値は , 0 です。) • R1,W0 : 予約ビット ( 書込み値 , 0 です。読込み値は , 1 です。) • RX,W0 : 予約ビット ( 書込み値 , 0 です。読込み値は , 未定です。) • R/W1 : 予約ビット ( 書込み値 , 1 です。読込み値は , 書込み値と同じです。) • R1/W1 : 予約ビット ( 書込み値 , 1 です。読込み値は , 1 です。) • R0,W1 : 予約ビット ( 書込み値 , 1 です。読込み値は , 0 です。) • RX,W1 : 予約ビット ( 書込み値 , 1 です。読込み値は , 未定です。) • RX,WX : 未定義ビット ( 読込み値は , 未定です。書込みを行っても動作に影響しません。) • R0,WX : 未定義ビット ( 読込み値は , 0 です。書込みを行っても動作に影響しません。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 11 第 1 章 はじめに 1.4 本書の読み方 12 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 2 章 MB91460N シリーズ概要 2.1 概要 MB91460N シリーズ 第2章 MB91460N シリーズ概要 2.1 概要 MB91460N シリーズは民生機器や車載システムなどの高速リアルタイム処理が要求される組込み制御用途向 けに設計された , 汎用の 32 ビット RISC マイクロコントローラです。 CPU には , FR ファミリ*と互換の FR60 を使用しています。 本シリーズは , LIN-USART および CAN コントローラを内蔵しています。 ※ FR は , FUJITSU RISC controller の略で , 富士通マイクロエレクトロニクス株式会社の製品です。 <注意事項> MB91F463NB は MB91F463NA の特性改善版になります。 新たに開発する場合は , MB91F463NB をご使用ください。 2.2 特長 • FR60 CPU • 32 ビット RISC, ロード / ストアアーキテクチャ , パイプライン 5 段 • 最大動作周波数: 80 MHz ( 原発振 4 MHz, 原発振 20 逓倍 (PLL クロック逓倍方式 ) ) • 16 ビット固定長命令 ( 基本命令 ) • 命令実行速度: 1 命令 /1 サイクル • メモリ−メモリ間転送命令 , ビット処理命令 , バレルシフト命令など:組込み用途に適した命令 • 関数入口 / 出口命令 , レジスタ内容のマルチロードストア命令: C 言語対応命令 • レジスタのインタロック機能:アセンブラ記述も容易に可能 • 乗算器の内蔵 / 命令レベルでのサポート 符号付き 32 ビット乗算 : 5 サイクル 符号付き 16 ビット乗算 : 3 サイクル • 割込み (PC/PS 退避 ) : 6 サイクル (16 プライオリティレベル ) • ハーバードアーキテクチャにより , プログラムアクセスとデータアクセスを同時に実行可能 • FR ファミリとの命令互換 • 内蔵周辺機能 • フラッシュメモリ容量: 288 K バイト • 内蔵 RAM 容量 : 8 K バイト ( データ RAM) + 2 K バイト ( 命令 / データ RAM) • 汎用ポート:最大 48 本 • DMAC (DMA コントローラ ) 同時に最大 5 チャネルの動作が可能 2 つの転送要因 ( 内部ペリフェラル / ソフトウェア ) 起動要因はソフトウェアにて選択可能 アドレシングモード 32 ビットフルアドレス指定 ( 増加 / 減少 / 固定 ) 転送モード ( バースト転送 / ステップ転送 / ブロック転送 ) 転送データサイズは 8/16/32 ビットから選択可能 多バイト転送可 ( ソフトウェアにて決定 ) DMAC デスクリプタは I/O 領域 (200H ∼ 240H, 1000H ∼ 1024H) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 13 第 2 章 MB91460N シリーズ概要 2.2 特長 14 MB91460N シリーズ • A/D コンバータ ( 逐次比較型 ) 10 ビット分解能: 8 チャネル 変換時間: 1 μs (5 V 使用時 ) , 3 μs (3.3 V 使用時 ) • 外部割込み入力: 10 チャネル • ビットサーチモジュール (REALOS 使用 ) 1 ワード中の MSB ( 上位ビット ) から最初の “0” データ /“1” データ / 変化ビット位置をサーチする機能 • LIN-USART ( 全二重ダブルバッファ方式 ) : 4 チャネル クロック同期 / 非同期の選択可 Sync-break 検出 専用ボーレートジェネレータ内蔵 • I2C バスインタフェース (400 kbps 対応 ) : 2 チャネル マスタ / スレーブ送受信 アービトレーション機能 , クロック同期化機能 • CAN コントローラ (C-CAN) : 2 チャネル 転送速度 最大 1Mbps 32 送受信メッセージバッファ • 16 ビット PPG タイマ: 8 チャネル • 16 ビットリロードタイマ: 4 チャネル+ 1 チャネル (A/D コンバータ専用 ) • 16 ビットフリーランタイマ: 4 チャネル • インプットキャプチャ: 4 チャネル • アウトプットコンペア: 4 チャネル • 8/16 ビット アップダウンカウンタ: 2 チャネル /1 チャネル • ウォッチドッグタイマ • リアルタイムクロック • 低消費電力モード:スリープモード /STOP モード • パッケージ LQFP-64 (FPT-64P-M23) • CMOS 0.18 μm テクノロジ • 3.3 V 単一および 5 V 単一電源 • 動作温度: − 40 ℃∼+ 85 ℃ (5 V 使用時 ) − 40 ℃∼+ 105 ℃ (3.3 V 使用時 ) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 2 章 MB91460N シリーズ概要 2.3 MB91460N シリーズ品種構成 MB91460N シリーズ 2.3 MB91460N シリーズ品種構成 表 2.3-1 MB91460N シリーズ品種構成 (1 / 2) MB91V460A MB91F463N コアの周波数 80 MHz 80 MHz リソースの周波数 40 MHz 40 MHz テクノロジ 0.35 μm 0.18μm あり あり 特長 ウォッチドッグ ウォッチドッグ (CR 発振に基づく ) あり ( 解放可能 ) あり ビットサーチ あり あり リセット入力 (INITX) あり あり クロックモジュレータ あり あり 低消費電力モード DMA MAC (DSP) MMU/MPU フラッシュ あり あり 5 チャネル 5 チャネル なし なし MPU *(16ch) MPU *(4ch) エミュレーション機能用 SRAM 256K + 32K バイト 適用なし あり D バス RAM 64K バイト 8K バイト I/D バス RAM 64K バイト 2K バイト フラッシュ(命令)キャッシュ 16K バイト 4K バイト Boot-ROM/BI-ROM 4K バイト 4K バイト( BI-ROM ) リアルタイムクロック (RTC) 1 チャネル 1 チャネル フリーランタイマ 8 チャネル 4 チャネル ICU 8 チャネル 4 チャネル フラッシュプロテクト OCU 8 チャネル 4 チャネル リロードタイマ 8 チャネル 5 チャネル PPG 16 ビット 16 チャネル 8 チャネル PFM 16 ビット 1 チャネル なし サウンドジェネレータ アップダウンカウンタ (8/16 ビット ) C_CAN LIN-USART I2C (400k) FR 外部バス CM71-10149-1 1 チャネル なし 4 チャネル (8 ビット ) / 2 チャネル (16 ビット ) 2 チャネル (8 ビット ) / 1 チャネル (16 ビット ) 6 チャネル (128msg) 2 チャネル (32msg) 4 チャネル+ 4 チャネル FIFO + 8 チャネル 4 チャネル 4 チャネル 2 チャネル あり (32bit addr, 32bit data) なし FUJITSU MICROELECTRONICS LIMITED 15 第 2 章 MB91460N シリーズ概要 2.3 MB91460N シリーズ品種構成 MB91460N シリーズ 表 2.3-1 MB91460N シリーズ品種構成 (2 / 2) MB91V460A MB91F463N 外部割込み 16 チャネル 10 チャネル NMI 割込み 1 チャネル なし SMC 6 チャネル なし LCD コントローラ (40 × 4) 1 チャネル なし ADC (10 ビット ) 32 チャネル 8 チャネル アラームコンパレータ 2 チャネル なし 電源スーパバイザ あり なし クロックスーパバイザ あり なし メインクロック発振器 4 MHz 4 MHz サブクロック発振器 32 kHz なし CR 発振器 100 kHz 100 kHz / 2 MHz PLL × 25 × 16 DSU4 あり なし EDSU あり (32BP) あり (16BP) 3V / 5V 3V / 5V あり あり 適用なし <1W 温度範囲 (Ta) 0 ∼ 70 ℃ − 40 ∼ 105 ℃ (85 ℃ 5.0V 使用時 ) パッケージ PGA/BGA LQFP64 電源投入から PLL 実行までの所要時間 < 20 ms − フラッシュダウンロード所要時間 適用なし − I2S なし なし Media LB (MOST インタフェース ) なし なし USB なし なし Flex Ray なし なし 特長 電源電圧 レギュレータ 消費電力 *: メモリ保護ユニット (MPU) は EDSU 機能の一部です。 16 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 2 章 MB91460N シリーズ概要 2.4 ブロックダイ ヤ グラム MB91460N シリーズ 2.4 ブロックダイ ヤ グラム FR60 CPU コア データ RAM 8 K バイト フラッシュ‐命令 キャッシュ 4 K バイト ビットサーチ I-bus 32 フラッシュ メモリ 288 K バイト 命令 / データ RAM 2 K バイト D-bus 32 クロック 制御 TTG0~TTG3 PPG0~PPG7 PPG 8 チャネル TIN0~TIN3 TOT0~TOT3 リロードタイマ 4 チャネル+ 1 チャネル (A/D 専用 ) CM71-10149-1 フリーランタイマ 4 チャネル ICU0~ICU3 インプットキャプチャ 4 チャネル OCU0~OCU3 アウトプットコンペア 4 チャネル AIN0,AIN1 BIN0,BIN1 ZIN0,ZIN1 RX4,RX5 TX4,TX5 32 ↔ 16 バスアダプタ バスコンバータ DMAC 5 チャネル CK0~CK3 CAN 2 チャネル R-bus 16 割込み コントローラ 外部割込み 10 チャネル INT0~INT7 INT12,INT13 LIN-USART 4 チャネル SIN0~SIN3 SOT0~SOT3 SCK0~SCK3 I2C 2 チャネル SDA2,SDA3 SCL2,SCL3 A/D コンバータ 8 チャネル AN0~AN7 アップダウンカウンタ 2 チャネル FUJITSU MICROELECTRONICS LIMITED 17 第 2 章 MB91460N シリーズ概要 2.4 ブロックダイ ヤ グラム 18 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.1 メモリ空間 MB91460N シリーズ 第3章 MB91460N シリーズ基本情報 この章では , メモリマップ , I/O マップ , 割込みベクタ表 , 端子機能表 , 回路形式 , 各デバイス モードの端子状態一覧表など , MB91460N シリーズ の基本情報について説明します。 3.1 メモリ空間 ■ メモリ空間 FR ファミリの論理アドレス空間は 4 G バイト (232 番地 ) あり , CPU はリニアにアクセスします。 • ダイレクトアドレシング領域 アドレス空間の下記の領域は I/O 用に使用されます。 この領域をダイレクトアドレッシング領域とよび , 命令中で直接オペランドのアドレスを指定できます。 ダイレクト領域は , アクセスするデータのサイズにより , 以下のように異なります。 バイトデータアクセス:000H ∼ 0FFH ハーフワードアクセス:000H ∼ 1FFH ワードデータアクセス:000H ∼ 3FFH CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 19 第 3 章 MB91460N シリーズ基本情報 3.1 メモリ空間 MB91460N シリーズ ■ メモリマップ 00000000H I/O ダイレクトアドレッシング領域 「■I/O マップ」を参照してください。 00000400H I/O 00001000H 0002E000H データ RAM (8 K バイト ) 00030000H 命令 / データ RAM (2 K バイト ) 00030800H 000C0000H フラッシュメモリ 256 K バイト 00100000H 00148000H フラッシュメモリ 32 K バイト 00150000H FFFFFFFFH 20 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ 3.2 I/O マップ • 表の見方 アドレス 000000H +0 PDR0 [R/W] XXXXXXXX レジスタ +1 +2 PDR1 [R/W] PDR2 [R/W] XXXXXXXX XXXXXXXX ブロック +3 T-unit PDR3 [R/W] XXXXXXXX ポートデータレジスタ リード/ライト属性 リセット後のレジスタ初期値 レジスタ名 (1コラムのレジスタが4n番地, 2コラムが4n+1番地…) 最左のレジスタ番地 (ワードでアクセスした際は, 1コラム目のレジスタが データのMSB側となる。) <注意事項> レジスタのビット値は , 以下のように初期値を表します。 • "1" : 初期値 "1" • "0" : 初期値 "0" • "X" : 初期値 " 不定 " • "-" : その位置に物理的にレジスタが存在しない。 記述されていないデータアクセス属性によるアクセスは禁止です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 21 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 PDR14 [R/W] ----XXXX PDR15 [R/W] ----XXXX 000000H ∼ 000008H 予約 00000CH 予約 000010H 予約 PDR17 [R/W] XXXXXXXX 000014H PDR20 [R/W] -XXX-XXX PDR21 [R/W] -XXX-XXX 000018H PDR24 [R/W] XXXXXXXX 00001CH 予約 予約 PDR22 [R/W] ----XXXX 予約 R-bus ポートデータ レジスタ 予約 PDR29 [R/W] XXXXXXXX 000020H 予約 予約 000024H ∼ 00002CH 予約 予約 000030H EIRR0 [R/W] 00000000 ENIR0 [R/W] 00000000 ELVR0 [R/W] 00000000 00000000 外部割込み 0 ∼ 7 000034H EIRR1 [R/W] 00000000 ENIR1 [R/W] 00000000 ELVR1 [R/W] 00000000 00000000 外部割込み 12, 13 000038H DICR [R/W] -------0 HRCL [R/W] 0 - - 11111 予約 遅延割込み 00003CH 予約 000040H SCR00 [R/W, W] 00000000 SMR00 [R/W, W] 00000000 000044H ESCR00 [R/W] 00000X00 ECCR00 [R/W, R, W] 000000XX 000048H SCR01 [R/W, W] 00000000 SMR01 [R/W, W] 00000000 00004CH ESCR01 [R/W] 00000X00 ECCR01 [R/W, R, W] 000000XX 予約 SSR00 [R/W, R] 00001000 RDR00/TDR00 [R/W] 00000000 LIN-USART0 予約 SSR01 [R/W, R] 00001000 RDR01/TDR01 [R/W] 00000000 LIN-USART1 22 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 000050H SCR02 [R/W, W] 00000000 SMR02 [R/W, W] 00000000 SSR02 [R/W, R] 00001000 RDR02/TDR02 [R/W] 00000000 000054H ESCR02 [R/W] 00000X00 ECCR02 [R/W, R, W] 000000XX 000058H SCR03 [R/W, W] 00000000 SMR03 [R/W, W] 00000000 00005CH ESCR03 [R/W] 00000X00 ECCR03 [R/W, R, W] 000000XX LIN-USART2 予約 SSR03 [R/W, R] 00001000 RDR03/TDR03 [R/W] 00000000 LIN-USART3 予約 000060H ∼ 00007CH 予約 予約 000080H BGR100 [R/W] 00000000 BGR000 [R/W] 00000000 BGR101 [R/W] 00000000 BGR001 [R/W] 00000000 000084H BGR102 [R/W] 00000000 BGR002 [R/W] 00000000 BGR103 [R/W] 00000000 BGR003 [R/W] 00000000 000088H, 00008CH ボーレート ジェネレータ LIN-USART 0∼3 予約 000090H ∼ 0000FCH 予約 予約 000100H GCN10 [R/W] 00110010 00010000 予約 GCN20 [R/W] - - - - 0000 PPG コントロール 0∼3 000104H GCN11 [R/W] 00110010 00010000 予約 GCN21 [R/W] - - - - 0000 PPG コントロール 4∼7 000108H 予約 000110H PTMR00 [R] 11111111 11111111 000114H PDUT00 [W] XXXXXXXX XXXXXXXX 000118H PTMR01 [R] 11111111 11111111 00011CH PDUT01 [W] XXXXXXXX XXXXXXXX CM71-10149-1 予約 PCSR00 [W] XXXXXXXX XXXXXXXX PCNH00 [R/W] 0000000 - PCNL00 [R/W] 000000 - 0 PPG0 PCSR01 [W] XXXXXXXX XXXXXXXX PCNH01 [R/W] 0000000 - PCNL01 [R/W] 000000 - 0 FUJITSU MICROELECTRONICS LIMITED PPG1 23 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 000120H PTMR02 [R] 11111111 11111111 000124H PDUT02 [W] XXXXXXXX XXXXXXXX 000128H PTMR03 [R] 11111111 11111111 00012CH PDUT03 [W] XXXXXXXX XXXXXXXX 000130H PTMR04 [R] 11111111 11111111 000134H PDUT04 [W] XXXXXXXX XXXXXXXX 000138H PTMR05 [R] 11111111 11111111 00013CH PDUT05 [W] XXXXXXXX XXXXXXXX 000140H PTMR06 [R] 11111111 11111111 000144H PDUT06 [W] XXXXXXXX XXXXXXXX 000148H PTMR07 [R] 11111111 11111111 00014CH PDUT07 [W] XXXXXXXX XXXXXXXX +2 +3 PCSR02 [W] XXXXXXXX XXXXXXXX PCNH02 [R/W] 0000000 - PCNL02 [R/W] 000000 - 0 PPG2 PCSR03 [W] XXXXXXXX XXXXXXXX PCNH03 [R/W] 0000000 - PCNL03 [R/W] 000000 - 0 PPG3 PCSR04 [W] XXXXXXXX XXXXXXXX PCNH04 [R/W] 0000000 - PCNL04 [R/W] 000000 - 0 PPG4 PCSR05 [W] XXXXXXXX XXXXXXXX PCNH05 [R/W] BH 0000000 - PCNL05 [R/W] BH 000000 - 0 PPG5 PCSR06 [W] XXXXXXXX XXXXXXXX PCNH06 [R/W] 0000000 - PCNL06 [R/W] 000000 - 0 PPG6 PCSR07 [W] XXXXXXXX XXXXXXXX PCNH07 [R/W] 0000000 - PCNL07 [R/W] 000000 - 0 PPG7 000150H ∼ 00017CH 予約 ICS01 [R/W] 00000000 予約 ICS23 [R/W] 00000000 000180H 予約 000184H IPCP0 [R] XXXXXXXX XXXXXXXX IPCP1 [R] XXXXXXXX XXXXXXXX 000188H IPCP2 [R] XXXXXXXX XXXXXXXX IPCP3 [R] XXXXXXXX XXXXXXXX 24 予約 FUJITSU MICROELECTRONICS LIMITED インプット キャプチャ 0∼3 CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00018CH OCS01 [R/W] - - - 0 - - 00 0000 - - 00 OCS23 [R/W] - - - 0 - - 00 0000 - - 00 000190H OCCP0 [R/W] XXXXXXXX XXXXXXXX OCCP1 [R/W] XXXXXXXX XXXXXXXX 000194H OCCP2 [R/W] XXXXXXXX XXXXXXXX OCCP3 [R/W] XXXXXXXX XXXXXXXX 000198H, 00019CH 予約 0001A0H 予約 ADERL [R/W] 00000000 予約 0001A4H ADCS1 [R/W] 00000000 ADCS0 [R/W] 00000000 ADCR1 [R] 000000XX ADCR0 [R] XXXXXXXX 0001A8H ADCT1 [R/W] 00010000 ADCT0 [R/W] 00101100 ADSCH [R/W] - - - 00000 ADECH [R/W] - - - 00000 0001ACH 0001B0H 予約 TMRLR0 [W] XXXXXXXX XXXXXXXX 予約 0001B8H TMRLR1 [W] XXXXXXXX XXXXXXXX 予約 0001C0H TMRLR2 [W] XXXXXXXX XXXXXXXX 予約 0001C8H TMRLR3 [W] XXXXXXXX XXXXXXXX TMCSRL0 [R/W] 0 - 000000 リロードタイマ 0 (PPG0, PPG1) TMR1 [R] XXXXXXXX XXXXXXXX TMCSRL1 [R/W] 0 - 000000 リロードタイマ 1 (PPG2, PPG3) TMR2 [R] XXXXXXXX XXXXXXXX TMCSRH2 [R/W] - - - 00000 0001C4H 0001CCH TMR0 [R] XXXXXXXX XXXXXXXX TMCSRH1 [R/W] - - - 00000 0001BCH A/D コンバータ 予約 TMCSRH0 [R/W] - - - 00000 0001B4H アウトプット コンペア 0∼3 TMCSRL2 [R/W] 0 - 000000 リロードタイマ 2 (PPG4, PPG5) TMR3 [R] XXXXXXXX XXXXXXXX TMCSRH3 [R/W] - - - 00000 予約 TMCSRL3 [R/W] 0 - 000000 リロードタイマ 3 (PPG6, PPG7) 0001D0H ∼ 0001E7H CM71-10149-1 予約 FUJITSU MICROELECTRONICS LIMITED 予約 25 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 0001E8H +1 +2 TMRLR7 [W] XXXXXXXX XXXXXXXX +3 TMR7 [R] XXXXXXXX XXXXXXXX 0001ECH 予約 0001F0H TCDT0 [R/W] XXXXXXXX XXXXXXXX 予約 TCCS0 [R/W] 00000000 フリーランタイマ 0 (ICU0, ICU1) 0001F4H TCDT1 [R/W] XXXXXXXX XXXXXXXX 予約 TCCS1 [R/W] 00000000 フリーランタイマ 1 (ICU2, ICU3) 0001F8H TCDT2 [R/W] XXXXXXXX XXXXXXXX 予約 TCCS2 [R/W] 00000000 フリーランタイマ 2 (OCU0, OCU1) 0001FCH TCDT3 [R/W] XXXXXXXX XXXXXXXX 予約 TCCS3 [R/W] 00000000 フリーランタイマ 3 (OCU2, OCU3) 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 TMCSRL7 [R/W] 0 - 000000 リロードタイマ 7 (A/D コンバータ ) TMCSRH7 [R/W] - - - 00000 DMAC DMAC 000228H ∼ 00023CH 000240H 26 予約 DMACR [R/W] 0 - - - 0000 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 000244H ∼ 0002FCH 予約 予約 000300H UDRC1 [W] 00000000 UDRC0 [W] 00000000 UDCR1 [R] 00000000 UDCR0 [R] 00000000 000304H UDCCH0 [R/W] 00000000 UDCCL0 [R/W] 00001000 予約 UDCS0 [R/W] 00000000 000308H UDCCH1 [R/W] 00000000 UDCCL1 [R/W] 00001000 予約 UDCS1 [R/W] 00000000 アップ / ダウン カウンタ 0, 1 00030CH ∼ 000364H 予約 予約 000368H IBCR2 [R/W] 00000000 IBSR2 [R] 00000000 ITBAH2 [R/W] - - - - - - 00 ITBAL2 [R/W] 00000000 00036CH ITMKH2 [R/W] 00 - - - - 11 ITMKL2 [R/W] 11111111 ISMK2 [R/W] 01111111 ISBA2 [R/W] - 0000000 000370H 予約 IDAR2 [R/W] 00000000 ICCR2 [R/W] - 0011111 予約 000374H IBCR3 [R/W] 00000000 IBSR3 [R] 00000000 ITBAH3 [R/W] - - - - - - 00 ITBAL3 [R/W] 00000000 000378H ITMKH3 [R/W] 00 - - - - 11 ITMKL3 [R/W] 11111111 ISMK3 [R/W] 01111111 ISBA3 [R/W] - 0000000 00037CH 予約 IDAR3 [R/W] 00000000 ICCR3 [R/W] - 0011111 予約 I2C 2 I2C 3 000380H ∼ 00038CH 000390H 予約 ROMS [R] 11111111 01001111 予約 予約 ROM 選択 レジスタ 000394H ∼ 0003ECH CM71-10149-1 予約 FUJITSU MICROELECTRONICS LIMITED 予約 27 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 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 +3 ビットサーチ モジュール 000400H ∼ 00043CH 予約 予約 000440H ICR00 [R/W] ---11111 ICR01 [R/W] ---11111 ICR02 [R/W] ---11111 ICR03 [R/W] ---11111 000444H ICR04 [R/W] ---11111 ICR05 [R/W] ---11111 ICR06 [R/W] ---11111 ICR07 [R/W] ---11111 000448H ICR08 [R/W] ---11111 ICR09 [R/W] ---11111 ICR10 [R/W] ---11111 ICR11 [R/W] ---11111 00044CH ICR12 [R/W] ---11111 ICR13 [R/W] ---11111 ICR14 [R/W] ---11111 ICR15 [R/W] ---11111 000450H ICR16 [R/W] ---11111 ICR17 [R/W] ---11111 ICR18 [R/W] ---11111 ICR19 [R/W] ---11111 000454H ICR20 [R/W] ---11111 ICR21 [R/W] ---11111 ICR22 [R/W] ---11111 ICR23 [R/W] ---11111 000458H ICR24 [R/W] ---11111 ICR25 [R/W] ---11111 ICR26 [R/W] ---11111 ICR27 [R/W] ---11111 00045CH ICR28 [R/W] ---11111 ICR29 [R/W] ---11111 ICR30 [R/W] ---11111 ICR31 [R/W] ---11111 000460H ICR32 [R/W] ---11111 ICR33 [R/W] ---11111 ICR34 [R/W] ---11111 ICR35 [R/W] ---11111 000464H ICR36 [R/W] ---11111 ICR37 [R/W] ---11111 ICR38 [R/W] ---11111 ICR39 [R/W] ---11111 000468H ICR40 [R/W] ---11111 ICR41 [R/W] ---11111 ICR42 [R/W] ---11111 ICR43 [R/W] ---11111 00046CH ICR44 [R/W] ---11111 ICR45 [R/W] ---11111 ICR46 [R/W] ---11111 ICR47 [R/W] ---11111 000470H ICR48 [R/W] ---11111 ICR49 [R/W] ---11111 ICR50 [R/W] ---11111 ICR51 [R/W] ---11111 000474H ICR52 [R/W] ---11111 ICR53 [R/W] ---11111 ICR54 [R/W] ---11111 ICR55 [R/W] ---11111 28 FUJITSU MICROELECTRONICS LIMITED 割込み制御 ユニット CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 ICR56 [R/W] ---11111 ICR57 [R/W] ---11111 ICR58 [R/W] ---11111 ICR59 [R/W] ---11111 00047CH ICR60 [R/W] ---11111 ICR61 [R/W] ---11111 ICR62 [R/W] ---11111 ICR63 [R/W] ---11111 000480H RSRR [R/W] 10000000 STCR [R/W] 001100-1 TBCR [R/W] 00XXXX00 CTBR [W] XXXXXXXX CLKR [R/W] -----000 WPR [W] XXXXXXXX DIVR0 [R/W] 00000011 DIVR1 [R/W] 00000000 000478H 000484H 000488H 00048CH 000490H 予約 PLLDIVM [R/W] - - - - 0000 PLLDIVN [R/W] - - 000000 予約 PORTEN [R/W] - - - - - - 00 ポート 入力許可制御 予約 0004A0H 予約 0004A4H 予約 0004A8H WTHR [R/W] - - - 00000 0004ACH PLL クロック ギアユニット 予約 予約 00049CH WTCER [R/W] - - - - - - 00 予約 WTCR [R/W] 00000000 000 - 00 - 0 WTBR [R/W] - - - XXXXX XXXXXXXX XXXXXXXX WTMR [R/W] - - 000000 予約 0004B0H, 0004B4H WTSR [R/W] - - 000000 予約 CSCFG [R/W] 0X000000 CMCFG [R/W] 00000000 予約 0004B8H CMPR [R/W] - - 000010 11111101 0004BCH CMT1 [R/W] 00000000 1 - - - 0000 0004C0H CANPRE [R/W] 00000000 CANCKD [R/W] - - 00 - - - - 0004C4H 予約 LVDET [R/W] 00000 - 00 CM71-10149-1 PLLMULG [R/W] 00000000 予約 000494H 000498H クロック制御 ユニット 予約 PLLDIVG [R/W] - - - - 0000 PLLCTRL [R/W] - - - - 0000 割込み制御 ユニット リアルタイム クロック ( ウォッチタイマ ) クロックモニタ 予約 CMCR [R/W] - 001 - - 00 予約 CMT2 [R/W] - - 000000 - - 000000 予約 HWWDE [R/W] - - - - - - 00 HWWD [R/W, W] 00011000 FUJITSU MICROELECTRONICS LIMITED クロック モジュレータ CAN クロック 制御 低電圧検出 29 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス 0004C8H ブロック +0 +1 OSCRH [R/W] 000 - - 001 OSCRL [R/W] - - - - - 000 0004CCH +2 +3 予約 メイン発振安定 タイマ 予約 0004D0H ∼ 0007F8H 0007FCH 予約 予約 MODR [W] XXXXXXXX 予約 予約 モードレジスタ 000800H ∼ 000CFCH 予約 予約 000D00H ∼ 000D08H 予約 000D0CH PDRD14 [R] ----XXXX 予約 000D10H 予約 PDRD17 [R] XXXXXXXX 000D14H PDRD20 [R] -XXX-XXX PDRD21 [R] -XXX-XXX 000D18H PDRD24 [R] XXXXXXXX 000D1CH 予約 000D20H PDRD15 [R] ----XXXX 予約 PDRD22 [R] ----XXXX 予約 R-bus ポートデータ ダイレクトリード レジスタ 予約 PDRD29 [R] XXXXXXXX 予約 予約 000D24H ∼ 000D3CH 30 予約 FUJITSU MICROELECTRONICS LIMITED 予約 CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 DDR14 [R/W] ----0000 DDR15 [R/W] ----0000 000D40H ∼ 000D48H 予約 000D4CH 予約 000D50H 予約 DDR17 [R/W] 00000000 000D54H DDR20 [R/W] -000-000 DDR21 [R/W] -000-000 000D58H DDR24 [R/W] 00000000 000D5CH 予約 予約 DDR22 [R/W] ----0000 予約 R-bus ポート方向 レジスタ 予約 DDR29 [R/W] 00000000 000D60H 予約 予約 000D64H ∼ 000D7CH 予約 予約 000D80H ∼ 000D88H 予約 000D8CH PFR14 [R/W] ----0000 予約 000D90H 予約 PFR17 [R/W] 00000000 000D94H PFR20 [R/W] -000-000 PFR21 [R/W] -000-000 000D98H PFR24 [R/W] 00000000 000D9CH 予約 000DA0H PFR15 [R/W] ----0000 予約 PFR22 [R/W] ----0000 予約 R-bus ポートファンクション レジスタ 予約 PFR29 [R/W] 00000000 予約 予約 000DA4H ∼ 000DBCH CM71-10149-1 予約 FUJITSU MICROELECTRONICS LIMITED 予約 31 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 EPFR14 [R/W] ----0000 EPFR15 [R/W] ----0000 000DC0H ∼ 000DC8H 予約 000DCCH 予約 000DD0H 予約 000DD4H EPFR20 [R/W] - 000 - 000 000DD8H EPFR24 [R/W] -------- 000DDCH 予約 EPFR21 [R/W] -0---0-- EPFR22 [R/W] -------- 予約 R-bus 拡張ポート ファンクション レジスタ 予約 EPFR29 [R/W] -------- 000DE0H 予約 予約 000DE4H ∼ 000DFCH 予約 予約 000E00H ∼ 000E08H 予約 000E0CH PODR14 [R/W] ----0000 予約 000E10H 予約 PODR17 [R/W] 00000000 000E14H PODR20 [R/W] -000-000 PODR21 [R/W] -000-000 000E18H PODR24 [R/W] 00000000 000E1CH 予約 000E20H PODR15 [R/W] ----0000 予約 PODR22 [R/W] ----0000 予約 R-bus ポート 出力ドライブ選択 レジスタ 予約 PODR29 [R/W] 00000000 予約 予約 000E24H ∼ 000E3CH 32 予約 FUJITSU MICROELECTRONICS LIMITED 予約 CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 PILR14 [R/W] ----0000 PILR15 [R/W] ----0000 000E40H ∼ 000E48H 予約 000E4CH 予約 000E50H 予約 PILR17 [R/W] 00000000 000E54H PILR20 [R/W] -000-000 PILR21 [R/W] -000-000 000E58H PILR24 [R/W] 00000000 000E5CH R-bus 端子 入力レベル選択 レジスタ 予約 PILR22 [R/W] ----0000 予約 予約 PILR29 [R/W] 00000000 予約 000E60H R-bus 端子 入力レベル選択 レジスタ 予約 予約 000E64H ∼ 000E7CH 予約 予約 000E80H ∼ 000E88H 予約 000E8CH EPILR14 [R/W] ----0000 予約 000E90H 予約 EPILR17 [R/W] 00000000 000E94H EPILR20 [R/W] -000-000 EPILR21 [R/W] -000-000 000E98H EPILR24 [R/W] 00000000 EPILR15 [R/W] ----0000 予約 EPILR22 [R/W] ----0000 予約 R-bus ポート エクストラ入力 レベル選択 レジスタ 予約 000E9CH ∼ 000EA0H 予約 000EA4H ∼ 000EBCH CM71-10149-1 予約 FUJITSU MICROELECTRONICS LIMITED 予約 33 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 PPER14 [R/W] ----0000 PPER15 [R/W] ----0000 000EC0H ∼ 000EC8H 予約 000ECCH 予約 000ED0H 予約 PPER17 [R/W] 00000000 000ED4H PPER20 [R/W] -000-000 PPER21 [R/W] -000-000 000ED8H PPER24 [R/W] 00000000 000EDCH 予約 予約 PPER22 [R/W] ----0000 予約 R-bus ポート プルアップ / ダウン許可 レジスタ 予約 PPER29 [R/W] 00000000 000EE0H 予約 予約 000EE4H ∼ 000EFCH 予約 予約 000F00H ∼ 000F08H 予約 000F0CH PPCR14 [R/W] ----1111 予約 000F10H 予約 PPCR17 [R/W] 11111111 000F14H PPCR20 [R/W] -111-111 PPCR21 [R/W] -111-111 000F18H PPCR24 [R/W] 11111111 000F1CH 予約 000F20H PPCR15 [R/W] ----1111 予約 PPCR22 [R/W] ----1111 予約 R-bus ポート プルアップ / ダウン制御 レジスタ 予約 PPCR29 [R/W] 11111111 予約 予約 000F24H ∼ 000F3CH 34 予約 FUJITSU MICROELECTRONICS LIMITED 予約 CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 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 +3 DMAC 001028H ∼ 006FFCH 007000H 007004H 予約 FMCS [R/W] 01101000 FMCR [R/W] - - - - 0000 予約 FCHCR [R/W] - - - - - - 00 10000011 FMWT [R/W] 11111111 01011101 FMWT2 [R/W] - 101 - - - - FMPS [R/W] - - - - - 000 フラッシュ メモリ / I キャッシュ 制御レジスタ 007008H FMAC [R] - - - - - - - - - - - 00000 00000000 00000000 00700CH FCHA0 [R/W] - - - - - - - - - 0000000 00000000 00000000 007010H FCHA1 [R/W] - - - - - - - - - 0000000 00000000 00000000 I キャッシュ 非キャッシュ 領域設定 レジスタ ∼ 00AFFCH 予約 予約 00B000H MB91F463NA Boot-ROM サイズ 4 K バイト:00B000H ∼ 00BFFFH ∼ 00BFFCH ( 命令アクセスは 0 ウェイトサイクル , データアクセスは 1 ウェイトサイクル ) 007014H CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED ブート ROM 4 K バイト 35 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00C000H ∼ 00C3FCH 予約 予約 00C400H CTRLR4 [R/W] 00000000 00000001 STATR4 [R/W] 00000000 00000000 00C404H ERRCNT4 [R] 00000000 00000000 BTR4 [R/W] 00100011 00000001 00C408H INTR4 [R] 00000000 00000000 TESTR4 [R/W] 00000000 X0000000 00C40CH BRPE4 [R/W] 00000000 00000000 予約 00C410H IF1CREQ4 [R/W] 00000000 00000001 IF1CMSK4 [R/W] 00000000 00000000 00C414H IF1MSK24 [R/W] 11111111 11111111 IF1MSK14 [R/W] 11111111 11111111 00C418H IF1ARB24 [R/W] 00000000 00000000 IF1ARB14 [R/W] 00000000 00000000 00C41CH IF1MCTR4 [R/W] 00000000 00000000 予約 00C420H IF1DTA14 [R/W] 00000000 00000000 IF1DTA24 [R/W] 00000000 00000000 00C424H IF1DTB14 [R/W] 00000000 00000000 IF1DTB24 [R/W] 00000000 00000000 00C428H, 00C42CH IF1DTA24 [R/W] 00000000 00000000 IF1DTA14 [R/W] 00000000 00000000 00C434H IF1DTB24 [R/W] 00000000 00000000 IF1DTB14 [R/W] 00000000 00000000 36 CAN 4 IF1 レジスタ 予約 00C430H 00C438H, 00C43CH CAN 4 制御レジスタ 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00C440H IF2CREQ4 [R/W] 00000000 00000001 IF2CMSK4 [R/W] 00000000 00000000 00C444H IF2MSK24 [R/W] 11111111 11111111 IF2MSK14 [R/W] 11111111 11111111 00C448H IF2ARB24 [R/W] 00000000 00000000 IF2ARB14 [R/W] 00000000 00000000 00C44CH IF2MCTR4 [R/W] 00000000 00000000 予約 00C450H IF2DTA14 [R/W] 00000000 00000000 IF2DTA24 [R/W] 00000000 00000000 00C454H IF2DTB14 [R/W] 00000000 00000000 IF2DTB24 [R/W] 00000000 00000000 00C458H, 00C45CH CAN 4 IF2 レジスタ 予約 00C460H IF2DTA24 [R/W] 00000000 00000000 IF2DTA14 [R/W] 00000000 00000000 00C464H IF2DTB24 [R/W] 00000000 00000000 IF2DTB14 [R/W] 00000000 00000000 00C468H ∼ 00C47CH CM71-10149-1 予約 FUJITSU MICROELECTRONICS LIMITED 37 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00C480H TREQR24 [R] 00000000 00000000 TREQR14 [R] 00000000 00000000 00C484H TREQR44 [R] 00000000 00000000 TREQR34 [R] 00000000 00000000 00C488H TREQR64 [R] 00000000 00000000 TREQR54 [R] 00000000 00000000 00C48CH TREQR84 [R] 00000000 00000000 TREQR74 [R] 00000000 00000000 00C490H NEWDT24 [R] 00000000 00000000 NEWDT14 [R] 00000000 00000000 00C494H NEWDT44 [R] 00000000 00000000 NEWDT34 [R] 00000000 00000000 00C498H NEWDT64 [R] 00000000 00000000 NEWDT54 [R] 00000000 00000000 00C49CH NEWDT84 [R] 00000000 00000000 NEWDT74 [R] 00000000 00000000 00C4A0H INTPND24 [R] 00000000 00000000 INTPND14 [R] 00000000 00000000 00C4A4H INTPND44 [R] 00000000 00000000 INTPND34 [R] 00000000 00000000 00C4A8H INTPND64 [R] 00000000 00000000 INTPND54 [R] 00000000 00000000 00C4ACH INTPND84 [R] 00000000 00000000 INTPND74 [R] 00000000 00000000 00C4B0H MSGVAL24 [R] 00000000 00000000 MSGVAL14 [R] 00000000 00000000 00C4B4H MSGVAL44 [R] 00000000 00000000 MSGVAL34 [R] 00000000 00000000 00C4B8H MSGVAL64 [R] 00000000 00000000 MSGVAL54 [R] 00000000 00000000 00C4BCH MSGVAL84 [R] 00000000 00000000 MSGVAL74 [R] 00000000 00000000 CAN 4 ステータスフラグ 00C4C0H ∼ 00C4FCH 38 予約 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00C500H CTRLR5 [R/W] 00000000 00000001 STATR5 [R/W] 00000000 00000000 00C504H ERRCNT5 [R] 00000000 00000000 BTR5 [R/W] 00100011 00000001 00C508H INTR5 [R] 00000000 00000000 TESTR5 [R/W] 00000000 X0000000 00C50CH BRPE5 [R/W] 00000000 00000000 予約 00C510H IF1CREQ5 [R/W] 00000000 00000001 IF1CMSK5 [R/W] 00000000 00000000 00C514H IF1MSK25 [R/W] 11111111 11111111 IF1MSK15 [R/W] 11111111 11111111 00C518H IF1ARB25 [R/W] 00000000 00000000 IF1ARB15 [R/W] 00000000 00000000 00C51CH IF1MCTR5 [R/W] 00000000 00000000 予約 00C520H IF1DTA15 [R/W] 00000000 00000000 IF1DTA25 [R/W] 00000000 00000000 00C524H IF1DTB15 [R/W] 00000000 00000000 IF1DTB25 [R/W] 00000000 00000000 00C528H, 00C52CH IF1DTA25 [R/W] 00000000 00000000 IF1DTA15 [R/W] 00000000 00000000 00C534H IF1DTB25 [R/W] 00000000 00000000 IF1DTB15 [R/W] 00000000 00000000 CM71-10149-1 CAN 5 IF1 レジスタ 予約 00C530H 00C538H, 00C53CH CAN 5 制御レジスタ 予約 FUJITSU MICROELECTRONICS LIMITED 39 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00C540H IF2CREQ5 [R/W] 00000000 00000001 IF2CMSK5 [R/W] 00000000 00000000 00C544H IF2MSK25 [R/W] 11111111 11111111 IF2MSK15 [R/W] 11111111 11111111 00C548H IF2ARB25 [R/W] 00000000 00000000 IF2ARB15 [R/W] 00000000 00000000 00C54CH IF2MCTR5 [R/W] 00000000 00000000 予約 00C550H IF2DTA15 [R/W] 00000000 00000000 IF2DTA25 [R/W] 00000000 00000000 00C554H IF2DTB15 [R/W] 00000000 00000000 IF2DTB25 [R/W] 00000000 00000000 00C558H, 00C55CH CAN 5 IF2 レジスタ 予約 00C560H IF2DTA25 [R/W] 00000000 00000000 IF2DTA15 [R/W] 00000000 00000000 00C564H IF2DTB25 [R/W] 00000000 00000000 IF2DTB15 [R/W] 00000000 00000000 00C568H ∼ 00C57CH 予約 00C580H TREQR25 [R] 00000000 00000000 TREQR15 [R] 00000000 00000000 00C584H TREQR45 [R] 00000000 00000000 TREQR35 [R] 00000000 00000000 00C588H TREQR65 [R] 00000000 00000000 TREQR55 [R] 00000000 00000000 00C58CH TREQR85 [R] 00000000 00000000 TREQR75 [R] 00000000 00000000 00C590H NEWDT25 [R] 00000000 00000000 NEWDT15 [R] 00000000 00000000 00C594H NEWDT45 [R] 00000000 00000000 NEWDT35 [R] 00000000 00000000 00C598H NEWDT65 [R] 00000000 00000000 NEWDT55 [R] 00000000 00000000 00C59CH NEWDT85 [R] 00000000 00000000 NEWDT75 [R] 00000000 00000000 40 FUJITSU MICROELECTRONICS LIMITED CAN 5 ステータスフラグ CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00C5A0H INTPND25 [R] 00000000 00000000 INTPND15 [R] 00000000 00000000 00C5A4H INTPND45 [R] 00000000 00000000 INTPND35 [R] 00000000 00000000 00C5A8H INTPND65 [R] 00000000 00000000 INTPND55 [R] 00000000 00000000 00C5ACH INTPND85 [R] 00000000 00000000 INTPND75 [R] 00000000 00000000 00C5B0H MSGVAL25 [R] 00000000 00000000 MSGVAL15 [R] 00000000 00000000 00C5B4H MSGVAL45 [R] 00000000 00000000 MSGVAL35 [R] 00000000 00000000 00C5B8H MSGVAL65 [R] 00000000 00000000 MSGVAL55 [R] 00000000 00000000 00C5BCH MSGVAL85 [R] 00000000 00000000 MSGVAL75 [R] 00000000 00000000 CAN 5 ステータスフラグ 00C5C0H ∼ 00EFFCH 予約 00F000H BCTRL [R/W] - - - - - - - - - - - - - - - - 11111100 00000000 00F004H BSTAT [R/W] - - - - - - - - - - - - - 000 00000000 10 - - 0000 00F008H BIAC [R] 00000000 00000000 00000000 00000000 00F00CH BOAC [R] 00000000 00000000 00000000 00000000 00F010H BIRQ [R/W] 00000000 00000000 00000000 00000000 EDSU / MPU 00F014H ∼ 00F01CH 予約 00F020H BCR0 [R/W] - - - - - - - - 00000000 00000000 00000000 00F024H BCR1 [R/W] - - - - - - - - 00000000 00000000 00000000 00F028H BCR2 [R/W] - - - - - - - - 00000000 00000000 00000000 00F02CH BCR3 [R/W] - - - - - - - - 00000000 00000000 00000000 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 41 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00F030H ∼ 00F03CH 予約 EDSU / MPU 予約 予約 00F040H ∼ 00F07CH 00F080H BAD0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F084H BAD1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F088H BAD2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F08CH BAD3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F090H BAD4 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F094H BAD5 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F098H BAD6 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F09CH BAD7 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0A0H BAD8 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0A4H BAD9 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0A8H BAD10 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0ACH BAD11 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0B0H BAD12 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0B4H BAD13 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0B8H BAD14 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 00F0BCH BAD15 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX EDSU / MPU 42 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.2 I/O マップ MB91460N シリーズ レジスタ アドレス ブロック +0 +1 +2 +3 00F0C0H ∼ 00F0FCH 予約 EDSU / MPU 予約 予約 MB91F463NA データ RAM サイズ 8 K バイト:02E000H ∼ 02FFFFH D-RAM 8 K バイト 00F100H ∼ 02DFFCH 02E000H ∼ 02FFFCH 030000H ∼ 0307FCH ( データアクセスは 0 ウェイトサイクル ) MB91F463NA 命令 / データ RAM サイズ 2 K バイト:030000H ∼ 0307FFH ( 命令アクセスは 0 ウェイトサイクル , データアクセスは 1 ウェイトサイクル ) I/D-RAM 2 K バイト 予約 予約 030800H ∼ 0BFFFCH 0C0000H ∼ 0DFFFCH ROMS04 領域 (128 K バイト ) フラッシュメモリ 256 K バイト 0E0000H ∼ 0FFFF4H 0FFFF8H 0FFFFCH ROMS05 領域 (128 K バイト ) FMV [R] XXXXXXXXH FRV [R] XXXXXXXXH リセット / モードベクタ 100000H ∼ 147FFCH 予約 予約 ROMS07 領域 (32 K バイト ) フラッシュメモリ 32 K バイト 予約 予約 148000H ∼ 14FFFCH 180000H ∼ 4FFFFCH ※:DMACA0 ∼ DMACA4 の下位 16 ビット (DTC15 ∼ DTC0) は , バイトのアクセスはできません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 43 第 3 章 MB91460N シリーズ基本情報 3.3 割込み要因のテーブル MB91460N シリーズ 3.3 割込み要因のテーブル 割込み番号 割込み 割込みレベル 割込みベクタ 10 進 16 進 リセット 0 00 ⎯ ⎯ 3FCH 000FFFFCH ⎯ モードベクタ 1 01 ⎯ ⎯ 3F8H 000FFFF8H ⎯ システム予約 2 02 ⎯ ⎯ 3F4H 000FFFF4H ⎯ システム予約 3 03 ⎯ ⎯ 3F0H 000FFFF0H ⎯ システム予約 4 04 ⎯ ⎯ 3ECH 000FFFECH ⎯ CPU 監視モード (INT #5 命令 ) * 2 5 05 ⎯ ⎯ 3E8H 000FFFE8H ⎯ メモリ保護例外* 2 6 06 ⎯ ⎯ 3E4H 000FFFE4H ⎯ システム予約 7 07 ⎯ ⎯ 3E0H 000FFFE0H ⎯ システム予約 8 08 ⎯ ⎯ 3DCH 000FFFDCH ⎯ システム予約 9 09 ⎯ ⎯ 3D8H 000FFFD8H ⎯ システム予約 10 0A ⎯ ⎯ 3D4H 000FFFD4H ⎯ システム予約 11 0B ⎯ ⎯ 3D0H 000FFFD0H ⎯ システム予約 12 0C ⎯ ⎯ 3CCH 000FFFCCH ⎯ システム予約 13 0D ⎯ ⎯ 3C8H 000FFFC8H ⎯ 未定義命令例外 14 0E ⎯ ⎯ 3C4H 000FFFC4H ⎯ NMI 要求 15 0F 3C0H 000FFFC0H ⎯ 外部割込み 0 16 10 3BCH 000FFFBCH 0, 16 3B8H 000FFFB8H 1, 17 3B4H 000FFFB4H 2, 18 3B0H 000FFFB0H 3, 19 3ACH 000FFFACH 20 3A8H 000FFFA8H 21 3A4H 000FFFA4H 22 3A0H 000FFFA0H 23 39CH 000FFF9CH ⎯ 398H 000FFF98H ⎯ 17 11 外部割込み 2 18 12 ICR01 外部割込み 3 19 13 外部割込み 4 20 14 ICR02 外部割込み 5 21 15 外部割込み 6 22 16 ICR03 外部割込み 7 23 17 システム予約 24 18 ICR04 システム予約 44 25 オフ セット デフォルトベクタの アドレス FH 固定 ICR00 外部割込み 1 レジスタ アドレス リソース 番号 *1 設定 レジスタ 440H 441H 442H 443H 444H 19 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.3 割込み要因のテーブル MB91460N シリーズ 割込み番号 割込み システム予約 10 進 16 進 26 1A システム予約 27 1B 外部割込み 12 28 1C 割込みレベル 設定 レジスタ レジスタ アドレス ICR05 445H ICR06 外部割込み 13 29 1D システム予約 30 1E ICR07 システム予約 31 1F リロードタイマ 0 32 20 ICR08 リロードタイマ 1 33 21 リロードタイマ 2 34 22 ICR09 リロードタイマ 3 35 23 システム予約 36 24 ICR10 システム予約 37 25 システム予約 38 26 ICR11 リロードタイマ 7 39 27 フリーランタイマ 0 40 28 ICR12 フリーランタイマ 1 41 29 フリーランタイマ 2 42 2A ICR13 フリーランタイマ 3 43 2B システム予約 44 2C ICR14 システム予約 45 2D システム予約 46 2E ICR15 システム予約 47 2F システム予約 48 30 ICR16 システム予約 49 31 システム予約 50 32 ICR17 システム予約 51 33 CAN 4 52 34 ICR18 CAN 5 CM71-10149-1 53 35 割込みベクタ リソース 番号 *1 オフ セット デフォルトベクタの アドレス 394H 000FFF94H ⎯ 390H 000FFF90H ⎯ 38CH 000FFF8CH ⎯ 388H 000FFF88H ⎯ 384H 000FFF84H ⎯ 380H 000FFF80H ⎯ 37CH 000FFF7CH 4, 32 378H 000FFF78H 5, 33 374H 000FFF74H 34 370H 000FFF70H 35 36CH 000FFF6CH 36 368H 000FFF68H 37 364H 000FFF64H 38 360H 000FFF60H 39 35CH 000FFF5CH 40 358H 000FFF58H 41 354H 000FFF54H 42 350H 000FFF50H 43 34CH 000FFF4CH 44 348H 000FFF48H 45 344H 000FFF44H 46 340H 000FFF40H 47 33CH 000FFF3CH ⎯ 338H 000FFF38H ⎯ 334H 000FFF34H ⎯ 330H 000FFF30H ⎯ 32CH 000FFF2CH ⎯ 328H 000FFF28H ⎯ 446H 447H 448H 449H 44AH 44BH 44CH 44DH 44EH 44FH 450H 451H 452H FUJITSU MICROELECTRONICS LIMITED 45 第 3 章 MB91460N シリーズ基本情報 3.3 割込み要因のテーブル MB91460N シリーズ 割込み番号 割込み LIN-USART0 RX 10 進 16 進 54 36 LIN-USART0 TX 55 37 LIN-USART1 RX 56 38 割込みレベル 設定 レジスタ レジスタ アドレス ICR19 453H ICR20 LIN-USART1 TX 57 39 LIN-USART2 RX 58 3A ICR21 LIN-USART2 TX 59 3B LIN-USART3 RX 60 3C ICR22 LIN-USART3 TX 61 3D システム予約 62 3E 遅延割込み 63 3F システム予約 * 4 64 40 ICR23 *3 (ICR24) システム予約 * 4 65 41 システム予約 66 42 ICR25 システム予約 67 43 システム予約 68 44 ICR26 システム予約 69 45 システム予約 70 46 ICR27 システム予約 71 47 システム予約 72 48 ICR28 システム予約 73 49 I2C 2 74 4A ICR29 I2C 3 75 4B システム予約 76 4C ICR30 システム予約 77 4D システム予約 78 4E ICR31 システム予約 79 4F システム予約 80 50 ICR32 システム予約 46 81 割込みベクタ リソース 番号 *1 オフ セット デフォルトベクタの アドレス 324H 000FFF24H 6, 48 320H 000FFF20H 7, 49 31CH 000FFF1CH 8, 50 318H 000FFF18H 9, 51 314H 000FFF14H 52 310H 000FFF10H 53 30CH 000FFF0CH 54 308H 000FFF08H 55 304H 000FFF04H ⎯ 300H 000FFF00H ⎯ 2FCH 000FFEFCH ⎯ 2F8H 000FFEF8H ⎯ 2F4H 000FFEF4H 10, 56 2F0H 000FFEF0H 11, 57 2ECH 000FFEECH 12, 58 2E8H 000FFEE8H 13, 59 2E4H 000FFEE4H 60 2E0H 000FFEE0H 61 2DCH 000FFEDCH 62 2D8H 000FFED8H 63 2D4H 000FFED4H ⎯ 2D0H 000FFED0H ⎯ 2CCH 000FFECCH 64 2C8H 000FFEC8H 65 2C4H 000FFEC4H 66 2C0H 000FFEC0H 67 2BCH 000FFEBCH 68 2B8H 000FFEB8H 69 454H 455H 456H 457H (458H) 459H 45AH 45BH 45CH 45DH 45EH 45FH 460H 51 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.3 割込み要因のテーブル MB91460N シリーズ 割込み番号 割込み システム予約 10 進 16 進 82 52 システム予約 83 53 システム予約 84 54 割込みレベル 設定 レジスタ レジスタ アドレス ICR33 461H ICR34 システム予約 85 55 システム予約 86 56 ICR35 システム予約 87 57 システム予約 88 58 ICR36 システム予約 89 59 システム予約 90 5A ICR37 システム予約 91 5B インプットキャプチャ 0 92 5C ICR38 インプットキャプチャ 1 93 5D インプットキャプチャ 2 94 5E ICR39 インプットキャプチャ 3 95 5F システム予約 96 60 ICR40 システム予約 97 61 システム予約 98 62 ICR41 システム予約 99 63 アウトプットコンペア 0 100 64 ICR42 アウトプットコンペア 1 101 65 アウトプットコンペア 2 102 66 ICR43 アウトプットコンペア 3 103 67 システム予約 104 68 ICR44 システム予約 105 69 システム予約 106 6A ICR45 システム予約 107 6B システム予約 108 6C ICR46 フェーズ周波数モジュレータ CM71-10149-1 109 6D 割込みベクタ リソース 番号 *1 オフ セット デフォルトベクタの アドレス 2B4H 000FFEB4H 70 2B0H 000FFEB0H 71 2ACH 000FFEACH 72 2A8H 000FFEA8H 73 2A4H 000FFEA4H 74 2A0H 000FFEA0H 75 29CH 000FFE9CH 76 298H 000FFE98H 77 294H 000FFE94H 78 290H 000FFE90H 79 28CH 000FFE8CH 80 288H 000FFE88H 81 284H 000FFE84H 82 280H 000FFE80H 83 27CH 000FFE7CH 84 278H 000FFE78H 85 274H 000FFE74H 86 270H 000FFE70H 87 26CH 000FFE6CH 88 268H 000FFE68H 89 264H 000FFE64H 90 260H 000FFE60H 91 25CH 000FFE5CH 92 258H 000FFE58H 93 254H 000FFE54H 94 250H 000FFE50H 95 24CH 000FFE4CH ⎯ 248H 000FFE48H ⎯ 462H 463H 464H 465H 466H 467H 468H 469H 46AH 46BH 46CH 46DH 46EH FUJITSU MICROELECTRONICS LIMITED 47 第 3 章 MB91460N シリーズ基本情報 3.3 割込み要因のテーブル MB91460N シリーズ 割込み番号 割込み 10 進 16 進 システム予約 110 6E システム予約 111 6F PPG0 112 70 割込みレベル 設定 レジスタ レジスタ アドレス ICR47 46FH *4 ICR48 PPG1 113 71 PPG2 114 72 ICR49 PPG3 115 73 PPG4 116 74 ICR50 PPG5 117 75 PPG6 118 76 ICR51 PPG7 119 77 システム予約 120 78 ICR52 システム予約 121 79 システム予約 122 7A ICR53 システム予約 123 7B システム予約 124 7C ICR54 システム予約 125 7D システム予約 126 7E ICR55 システム予約 127 7F アップダウンカウンタ 0 128 80 ICR56 アップダウンカウンタ 1 129 81 システム予約 130 82 ICR57 システム予約 131 83 リアルタイムクロック 132 84 ICR58 キャリブレーションユニット 133 85 A/D コンバータ 0 134 86 ICR59 システム予約 135 87 システム予約 136 88 ICR60 システム予約 48 137 割込みベクタ リソース 番号 *1 オフ セット デフォルトベクタの アドレス 244H 000FFE44H ⎯ 240H 000FFE40H ⎯ 23CH 000FFE3CH 15, 96 238H 000FFE38H 97 234H 000FFE34H 98 230H 000FFE30H 99 22CH 000FFE2CH 100 228H 000FFE28H 101 224H 000FFE24H 102 220H 000FFE20H 103 21CH 000FFE1CH 104 218H 000FFE18H 105 214H 000FFE14H 106 210H 000FFE10H 107 20CH 000FFE0CH 108 208H 000FFE08H 109 204H 000FFE04H 110 200H 000FFE00H 111 1FCH 000FFDFCH ⎯ 1F8H 000FFDF8H ⎯ 1F4H 000FFDF4H ⎯ 1F0H 000FFDF0H ⎯ 1ECH 000FFDECH ⎯ 1E8H 000FFDE8H ⎯ 1E4H 000FFDE4H 14, 112 1E0H 000FFDE0H ⎯ 1DCH 000FFDDCH ⎯ 1D8H 000FFDD8H ⎯ 470H 471H 472H 473H 474H 475H 476H 477H 478H 479H 47AH 47BH 47CH 89 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.3 割込み要因のテーブル MB91460N シリーズ 割込み番号 割込み 低電圧検出 10 進 16 進 138 8A システム予約 139 8B タイムベースオーバフロー 140 8C 割込みレベル 設定 レジスタ レジスタ アドレス ICR61 47DH ICR62 PLL クロックギア 141 8D DMA コントローラ 142 8E ICR63 割込みベクタ オフ セット 1D4H 000FFDD4H ⎯ 1D0H 000FFDD0H ⎯ 1CCH 000FFDCCH ⎯ 1C8H 000FFDC8H ⎯ 1C4H 000FFDC4H ⎯ 1C0H 000FFDC0H ⎯ 1BCH 000FFDBCH ⎯ 47EH 47FH メイン OSC 安定待ち 143 8F システム予約 144 90 ⎯ ⎯ INT 命令で使用 145 ∼ 255 91 ∼ FF ⎯ ⎯ リソース 番号 *1 デフォルトベクタの アドレス 1B8H 000FFDB8H ∼ 000H ∼ 000FFC00H ⎯ *1:RN ( リソース番号 ) の割り当てられている周辺リソースは DMA 転送の起動要因にもなります。 また , リソース番号は DMAC のチャネル制御レジスタ A (DMACA0 ∼ DMACA4) の IS (Input Source) と 1 対 1 に対応しており , RN を 2 進数表記して先頭に “1” を付け加えると IS (Input Source) が得られます。 *2:メモリ保護ユニット (MPU) サポート *3:ICR23 と ICR47 は REALOS 互換ビット (0C03H 番地 ISO[0]) をセットすることにより入れ替えられます。 *4:REALOS で使用します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 49 第 3 章 MB91460N シリーズ基本情報 3.4 パッケージ・外形寸法図 MB91460N シリーズ 3.4 パッケージ・外形寸法図 プラスチック・LQFP, 64 ピン リードピッチ 0.65mm パッケージ幅× パッケージ長さ 12.0 × 12.0mm リード形状 ガルウィング 封止方法 プラスチックモールド 取付け高さ 1.70mm MAX コード(参考) P-LFQFP64-12×12-0.65 (FPT-64P-M23) プラスチック・LQFP, 64 ピン (FPT-64P-M23) 注 1)* 印寸法はレジン残りを含まず。 注 2)端子幅および端子厚さはメッキ厚を含む。 注 3)端子幅はタイバ切断残りを含まず。 14.00±0.20(.551±.008)SQ 0.145±0.055 (.0057±.0022) *12.00±0.10(.472±.004)SQ 48 33 49 32 0.10(.004) Details of "A" part +0.20 1.50 –0.10 +.008 (Mounting height) .059 –.004 0.25(.010) INDEX 0~8˚ 64 17 1 "A" 16 0.65(.026) 0.32±0.05 (.013±.002) 0.13(.005) 0.50±0.20 (.020±.008) 0.60±0.15 (.024±.006) 0.10±0.10 (.004±.004) (Stand off) M ©2003-2008 FUJITSU MICROELECTRONICS LIMITED F64034S-c-1-2 C 2003 FUJITSU LIMITED F64034S-c-1-1 単位:mm (inches) 注意:括弧内の値は参考値です。 最新の外形寸法図については , 下記 URL にてご確認ください。 http://edevice.fujitsu.com/package/jp-search/ 50 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 CM71-10149-1 26 27 28 29 30 31 32 P20_4/SIN3/AIN1 P20_5/SOT3/BIN1 P20_6/SCK3/CK3/ZIN1 P15_0/OCU0/TOT0 P15_1/OCU1/TOT1 25 P20_0/SIN2/AIN0 P20_1/SOT2/BIN0 24 P20_2/SCK2/CK2/ZIN0 23 P22_3/TX5 21 P22_0/RX4/INT12 P22_2/RX5/INT13 20 P24_7/INT7/SCL3 22 19 P22_1/TX4 18 C 17 P24_6/INT6/SDA3 VSS AVSS AVRH P14_0/ICU0/TIN0/TTG0 P14_1/ICU1/TIN1/TTG1 P14_2/ICU2/TIN2/TTG2 P14_3/ICU3/TIN3/TTG3 P21_0/SIN0 P21_1/SOT0 P21_2/SCK0/CK0 P21_4/SIN1 P21_5/SOT1 P21_6/SCK1/CK1 P17_0/PPG0 P17_1/PPG1 P17_2/PPG2 VSS 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 MB91460N シリーズ 第 3 章 MB91460N シリーズ基本情報 3.5 端子配列図 3.5 端子配列図 (TOP VIEW) AVCC 1 48 VCC P29_0/AN0 2 47 P17_3/PPG3 P29_1/AN1 3 46 P17_4/PPG4 P29_2/AN2 4 45 P17_5/PPG5 P29_3/AN3 5 44 P17_6/PPG6 P29_4/AN4 6 43 P17_7/PPG7 P29_5/AN5 7 42 P15_3/OCU3/TOT3 P29_6/AN6 8 41 P15_2/OCU2/TOT2 P29_7/AN7 9 40 INITX P24_0/INT0 10 39 MD0 P24_1/INT1 11 38 MD1 LQFP-64 P24_2/INT2 12 37 MD2 P24_3/INT3/MONCLK 13 36 MD3 P24_4/INT4/SDA2 14 35 X1 P24_5/INT5/SCL2 15 34 X0 VCC 16 33 VSS (FPT-64P-M23) FUJITSU MICROELECTRONICS LIMITED 51 第 3 章 MB91460N シリーズ基本情報 3.6 端子機能説明 MB91460N シリーズ 3.6 端子機能説明 端子番号 端子名 入出力 入出力 回路形式* I/O B P29_0 ∼ P29_7 2∼9 AN0 ∼ AN7 I/O A INT0 ∼ INT2 INT3 汎用入出力ポートです。 I/O A MONCLK 15 19 20 21 INT4 汎用入出力ポートです。 I/O C I2C バスデータ入出力端子です。 P24_5 汎用入出力ポートです。 INT5 I/O C 外部割込み入力端子です。 SCL2 I2C バスクロック入出力端子です。 P24_6 汎用入出力ポートです。 INT6 I/O C 外部割込み入力端子です。 SDA3 I2C バスデータ入出力端子です。 P24_7 汎用入出力ポートです。 INT7 I/O C 外部割込み入力端子です。 SCL3 I2C バスクロック入出力端子です。 P22_0 汎用入出力ポートです。 RX4 I/O A 汎用入出力ポートです。 I/O A TX4 CAN4 の TX 出力端子です。 P22_2 RX5 汎用入出力ポートです。 I/O A INT13 I/O TX5 CAN5 の RX 入力端子です。 外部割込み入力端子です。 P22_3 24 CAN4 の RX 入力端子です。 外部割込み入力端子です。 P22_1 22 52 外部割込み入力端子です。 SDA2 INT12 23 外部割込み入力端子です。 クロックモニタ出力端子です。 P24_4 14 汎用入出力ポートです。 外部割込み入力端子です。 P24_3 13 汎用入出力ポートです。 A/D コンバータ用アナログ入力端子です。 P24_0 ∼ P24_2 10 ∼ 12 機能 A 汎用入出力ポートです。 CAN5 の TX 出力端子です。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.6 端子機能説明 MB91460N シリーズ 端子番号 端子名 入出力 入出力 回路形式* P20_0 25 SIN2 汎用入出力ポートです。 I/O A AIN0 SOT2 汎用入出力ポートです。 I/O A BIN0 汎用入出力ポートです。 SCK2 LIN-USART2 のクロック入出力端子です。 I/O A CK2 フリーランタイマの入力端子です。 ZIN0 アップダウンカウンタ用入力端子です。 P20_4 28 SIN3 汎用入出力ポートです。 I/O A AIN1 SOT3 汎用入出力ポートです。 I/O A BIN1 汎用入出力ポートです。 SCK3 I/O A 32 LIN-USART3 のクロック入出力端子です。 CK3 フリーランタイマの入力端子です。 ZIN1 アップダウンカウンタ用入力端子です。 P15_0 31 LIN-USART3 のデータ出力端子です。 アップダウンカウンタの入力端子です。 P20_6 30 LIN-USART3 のデータ入力端子です。 アップダウンカウンタ用入力端子です。 P20_5 29 LIN-USART2 のデータ出力端子です。 アップダウンカウンタ用入力端子です。 P20_2 27 LIN-USART2 のデータ入力端子です。 アップダウンカウンタ用入力端子です。 P20_1 26 機能 OCU0 汎用入出力ポートです。 I/O A アウトプットコンペア出力端子です。 TOT0 リロードタイマ出力端子です。 P15_1 汎用入出力ポートです。 OCU1 I/O A TOT1 アウトプットコンペア出力端子です。 リロードタイマ出力端子です。 34 X0 ⎯ J クロック ( 発振 ) 入力です。 35 X1 ⎯ J クロック ( 発振 ) 出力です。 36 MD3 I I モード設定端子です。 37 MD2 I G モード設定端子です。 38 MD1 I G モード設定端子です。 39 MD0 I G モード設定端子です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 53 第 3 章 MB91460N シリーズ基本情報 3.6 端子機能説明 MB91460N シリーズ 端子番号 端子名 入出力 入出力 回路形式* 40 INITX I H P15_2 41 42 OCU2 I/O A リロードタイマ出力端子です。 P15_3 汎用入出力ポートです。 OCU3 I/O A P17_7 ∼ P17_0 汎用入出力ポートです。 I/O A PPG7 ∼ PPG0 SCK1 PPG タイマ出力端子です。 汎用入出力ポートです。 I/O A I/O A SOT1 I/O A SIN1 汎用入出力ポートです。 I/O A CK0 汎用入出力ポートです。 I/O A SOT0 LIN-USART0 のデータ出力端子です。 P21_0 58 I/O A SIN0 汎用入出力ポートです。 ICU3 インプットキャプチャ入力端子です。 I/O A TIN3 リロードタイマの外部トリガ入力端子です。 TTG3 PPG タイマ入力端子です。 P14_2 汎用入出力ポートです。 ICU2 60 54 汎用入出力ポートです。 LIN-USART0 のデータ入力端子です。 P14_3 59 LIN-USART0 のクロック入出力端子です。 フリーランタイマの入力端子です。 P21_1 57 汎用入出力ポートです。 LIN-USART1 のデータ入力端子です。 P21_2 SCK0 汎用入出力ポートです。 LIN-USART1 のデータ出力端子です。 P21_4 55 LIN-USART1 のクロック入出力端子です。 フリーランタイマの入力端子です。 P21_5 54 アウトプットコンペア出力端子です。 リロードタイマ出力端子です。 CK1 56 アウトプットコンペア出力端子です。 TOT2 P21_6 53 外部リセット入力です。 汎用入出力ポートです。 TOT3 43 ∼ 47, 50 ∼ 52 機能 I/O A インプットキャプチャ入力端子です。 TIN2 リロードタイマの外部トリガ入力端子です。 TTG2 PPG タイマ入力端子です。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.6 端子機能説明 MB91460N シリーズ 端子番号 端子名 入出力 回路形式* 入出力 P14_1 機能 汎用入出力ポートです。 ICU1 インプットキャプチャ入力端子です。 61 I/O A TIN1 リロードタイマの外部トリガ入力端子です。 TTG1 PPG タイマ入力端子です。 P14_0 汎用入出力ポートです。 ICU0 62 I/O A インプットキャプチャ入力端子です。 TIN0 リロードタイマの外部トリガ入力端子です。 TTG0 PPG タイマ入力端子です。 *:入出力回路形式については , 「■入出力回路形式」を参照してください。 [ 電源・GND 端子 ] 端子番号 端子名 17, 33, 49 VSS GND 端子です。 16, 48 VCC 3.3 V / 5 V 電源端子です。 64 AVSS 1 AVCC A/D コンバータ用 3.3 V / 5 V 電源端子です。 63 AVRH A/D コンバータ用基準電源端子です。 18 C CM71-10149-1 入出力 ⎯ 機能 A/D コンバータ用アナログ GND 端子です。 内部レギュレータ用のコンデンサ接続端子です。 FUJITSU MICROELECTRONICS LIMITED 55 第 3 章 MB91460N シリーズ基本情報 3.7 入出力回路形式 MB91460N シリーズ 3.7 入出力回路形式 分類 回路形式 A 備考 プルアップ制御 ドライバ強度制御 P-ch P-ch データライン N-ch N-ch プルダウン制御 •CMOS レベル出力 ( プログラマブル IOL = 5mA, IOH =− 5mA, IOL = 2mA, IOH =− 2mA) • 入力シャットダウン機能付き 2 種類の CMOS ヒス テリシス入力 • 入力シャットダウン機能付き オートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ R CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 56 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.7 入出力回路形式 MB91460N シリーズ 分類 回路形式 B 備考 プルアップ制御 ドライバ強度制御 P-ch P-ch データライン N-ch N-ch プルダウン制御 • CMOS レベル出力 ( プログラマブル IOL = 5 mA, IOH =− 5 mA, IOL = 2 mA, IOH =− 2 mA) • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ • アナログ入力 R CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 アナログ入力 C プルアップ制御 P-ch P-ch データライン N-ch N-ch • CMOS レベル出力 (IOL = 3 mA, IOH =− 3 mA) • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ プルダウン制御 R CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 57 第 3 章 MB91460N シリーズ基本情報 3.7 入出力回路形式 分類 MB91460N シリーズ 回路形式 D 備考 プルアップ制御 P-ch P-ch データライン N-ch N-ch • CMOS レベル出力 (IOL = 3 mA, IOH =− 3 mA) • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ • アナログ入力 プルダウン制御 R CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 アナログ入力 E プルアップ制御 ドライバ強度制御 P-ch IOL = 2 mA, IOH =− 2 mA, IOL = 30 mA, IOH =− 30 mA) P-ch データライン N-ch • CMOS レベル出力 ( プログラマブル IOL = 5 mA, IOH =− 5 mA, N-ch プルダウン制御 • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ R CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 58 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.7 入出力回路形式 MB91460N シリーズ 分類 回路形式 F 備考 プルアップ制御 ドライバ強度制御 P-ch IOL = 2 mA, IOH =− 2 mA,IOL = 30 mA, IOH =− 30 mA) P-ch データライン N-ch • CMOS レベル出力 ( プログラマブル IOL = 5 mA, IOH =− 5 mA, N-ch プルダウン制御 R • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ • アナログ入力 CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 アナログ入力 G R CMOS 入力 H • マスク ROM および評価デバイス : CMOS 入力端子 • フラッシュデバイス: - CMOS 入力端子 - 12 V 耐圧 (MD[2:0] 用 ) • CMOS ヒステリシス入力端子 • プルアップ抵抗値:約 50 kΩ プルアップ抵抗 R ヒステリシス 入力 I R ヒステリシス 入力 • CMOS ヒステリシス入力端子 • プルダウン抵抗値:約 50 kΩ プルダウン抵抗 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 59 第 3 章 MB91460N シリーズ基本情報 3.7 入出力回路形式 分類 MB91460N シリーズ 回路形式 備考 J 発振回路 X1 Xout X0 スタンバイ制御信号 K プルアップ制御 ドライバ強度制御 P-ch P-ch データライン N-ch N-ch プルダウン制御 • CMOS レベル出力 ( プログラマブル IOL = 5 mA, IOH =− 5 mA, IOL = 2 mA, IOH =− 2 mA) • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ • LCD SEG/COM 出力 R CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 LCD SEG/COM 60 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.7 入出力回路形式 MB91460N シリーズ 分類 回路形式 L 備考 プルアップ制御 ドライバ強度制御 P-ch P-ch データライン N-ch N-ch プルダウン制御 R • CMOS レベル出力 ( プログラマブル IOL = 5 mA, IOH =− 5 mA, IOL = 2 mA, IOH =− 2 mA) • 入力シャットダウン機能付き 2 種類の CMOS ヒ ステリシス入力 • 入力シャットダウン機能付きオートモーティブ入 力 • 入力シャットダウン機能付き TTL 入力 • プログラマブル プルアップ抵抗:約 50 kΩ • アナログ入力 • LCD 電圧入力 CMOS ヒステリシス タイプ 1 CMOS ヒステリシス タイプ 2 オートモーティブ入力 TTL 入力 入力シャットダウン用 スタンバイ制御 VLCD M P-ch Tri-state 制御 CMOS レベルの TRI-STATE 出力 (IOL = 5 mA, IOH =− 5 mA) データライン N-ch N アナログ入力端子 ( 保護機能付き ) P-ch N-ch CM71-10149-1 アナログ入力 ライン FUJITSU MICROELECTRONICS LIMITED 61 第 3 章 MB91460N シリーズ基本情報 3.8 端子状態一覧表 MB91460N シリーズ 3.8 端子状態一覧表 選択したモードに対応する端子状態一覧表で使用される語句の意味を説明します。 • 入力可 : 信号をデバイスに入力可能です。 • 入力固定 : 入力の変動によるリークを防ぐため , 入力レベルは内部で "0" に固定されます。 • Hi-Z : 端子はハイインピーダンス状態になります。 • 状態を保持 : 状態が変化する直前の端子の状態 ( 入力 / 出力 ) を保持します。出力の場合 , 端子の出力値が 保持されます。 表 3.8-1 端子状態一覧表 (1 / 4) 端子番号 端子名 入出力 入出力 回路形式 リセット時 (INIT, RST) リセットとベク タフェッチ後 スリープ モード時 STOP 時 HIZ=0 STOP 時 HIZ=1 I/O B 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 I/O A I/O C I/O C 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 P29_0 ∼ P29_7 2∼9 AN0 ∼ AN7 備考 P24_0 ∼ P24_3 10 ∼ 13 INT0 ∼ INT3 P24_4 14 INT4 SDA2 P24_5 15 INT5 SCL2 STOP:INT* 設定時 , 入力可 (外部割込み 用) P24_6 19 INT6 I/O C I/O C I/O A I/O A SDA3 P24_7 20 INT7 SCL3 P22_0 21 RX4 STOP:INT* 設定時 , 入力可 (外部割込み 用) INT12 P22_1 22 TX4 出力 HiZ, 入力 固定 P22_2 23 RX5 I/O A I/O A 出力 HiZ, 入力 固定 状態保持 INT13 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 STOP:INT* 設定時 , 入力可 (外部割込み 用) P22_3 24 TX5 62 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.8 端子状態一覧表 MB91460N シリーズ 表 3.8-1 端子状態一覧表 (2 / 4) 端子番号 端子名 入出力 入出力 回路形式 I/O A I/O A I/O A リセット時 (INIT, RST) リセットとベク タフェッチ後 スリープ モード時 STOP 時 HIZ=0 STOP 時 HIZ=1 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 発振子 ON 発振子 ON 発振子 ON OSCD1 の 設定時 , 発 振子 STOP OSCD1 の 設定時 , 発 振子 STOP 備考 P20_0 25 SIN2 AIN0 P20_1 26 SOT2 BIN0 P20_2 SCK2 27 CK2 ZIN0 P20_4 28 SIN3 I/O A I/O A I/O A I/O A AIN1 P20_5 29 SOT3 BIN1 P20_6 SCK3 30 CK3 ZIN1 P15_0 31 OCU0 TOT0 P15_1 32 OCU1 I/O A - J TOT1 34 X0 35 X1 - J 36 MD3 I I 37 MD2 I G 38 MD1 I G 39 MD0 I G 40 INITX I H CM71-10149-1 入力可 FUJITSU MICROELECTRONICS LIMITED 63 第 3 章 MB91460N シリーズ基本情報 3.8 端子状態一覧表 MB91460N シリーズ 表 3.8-1 端子状態一覧表 (3 / 4) 端子番号 端子名 入出力 入出力 回路形式 I/O A リセット時 (INIT, RST) リセットとベク タフェッチ後 スリープ モード時 STOP 時 HIZ=0 STOP 時 HIZ=1 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 備考 P15_2 41 OCU2 TOT2 P15_3 42 OCU3 I/O A I/O A I/O A I/O A I/O A I/O A TOT3 43 ∼ 47, 50 ∼ 52 P17_7 ∼ P17_0 PPG7 ∼ PPG0 P21_6 53 SCK1 CK1 P21_5 54 SOT1 P21_4 55 SIN1 P21_2 56 SCK0 CK0 P21_1 57 I/O A I/O A I/O A SOT0 P21_0 58 SIN0 P14_3 ICU3 59 TIN3 TTG3 64 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 3 章 MB91460N シリーズ基本情報 3.8 端子状態一覧表 MB91460N シリーズ 表 3.8-1 端子状態一覧表 (4 / 4) 端子番号 端子名 入出力 入出力 回路形式 I/O A I/O A I/O A リセット時 (INIT, RST) リセットとベク タフェッチ後 スリープ モード時 STOP 時 HIZ=0 STOP 時 HIZ=1 出力 HiZ, 入力 固定 出力 HiZ, 入力 固定 状態保持 出力:状態 保持 , 入力 固定 出力:HiZ, 入力固定 備考 P14_2 ICU2 60 TIN2 TTG2 P14_1 ICU1 61 TIN1 TTG1 P14_0 ICU0 62 TIN0 TTG0 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 65 第 3 章 MB91460N シリーズ基本情報 3.8 端子状態一覧表 66 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 4 章 CPU および制御部 4.1 概要 MB91460N シリーズ 第4章 CPU および制御部 この章では , FR60 ファミリ CPU のアーキテクチャについて説明します。 4.1 概要 FR60 ファミリ CPU は RISC アーキテクチャを採用し , 組み込みアプリケーションの拡張機能命令に対応して います。 FR60 ファミリの CPU では , 命令バスとデータバスが独立しているハーバードアーキテクチャが採用されてい ます。"32 ビット /16 ビットバスコンバータ " によって , CPU と周辺機能間のインタフェースが実現されます。 " ハーバード / プリンストンバスコンバータ " によって , I バスと D バスの両方の接続が行われ , CPU とバスコ ントローラ間のインタフェースが実現されます。 図 4.1-1 内部アーキテクチャの接続図 FR CPU I バス 内蔵 内蔵 I キャッシュ Flash または ROM 内蔵 RAM 32 D バス 32 32 内蔵 RAM 32 32 F バス 32 ハーバード / プリンストン バスコンバータ M バス 32 ビット リソース DMA 32 32 バスコンバータ 32 32 ↔ 16 コントローラ R バス X バス 13 バスコンバータ 16 16 ビット リソース 32 32 32 ビット リソース T バス 32 32 外部バス CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 67 第 4 章 CPU および制御部 4.2 特長 MB91460N シリーズ 4.2 特長 ■ 内部アーキテクチャの特長 •RISC アーキテクチャ •基本命令:1 命令 /1 サイクル •32 ビットアーキテクチャ •汎用レジスタ:32 ビット× 16 •4G バイトのリニアメモリ空間 •乗算器内蔵 •32 ビット× 32 ビット乗算:5 サイクル •16 ビット× 16 ビット乗算:3 サイクル •強力な割込み処理機能 •高速応答 (6 サイクル ) •複数割込みサポート •レベルマスク機能 (16 レベル ) •I/O 動作の高度な命令 •メモリ - メモリ転送命令 •ビット処理命令 •高度に効率的なコード •基本命令語長:16 ビット •スタンバイモード ( 低消費電力モード ) •スリープ / ストップ •クロック分周比の設定機能 68 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 4 章 CPU および制御部 4.3 CPU MB91460N シリーズ 4.3 CPU CPU によって , 32 ビット RISC FR アーキテクチャのコンパクトな実装が実現されます。 CPU では , 1 命令 /1 サイクルを実行するために 5 段命令パイプライン方式が採用されています。 このパイプラインは , 以下のステージで構成されています。 • 命令フェッチ (IF) :命令アドレスを出力し , 命令をフェッチします。 • 命令デコード (ID) :フェッチした命令をデコードし , レジスタを読み出します。 • 実行 (EX) :演算を実行します。 • メモリアクセス (MA) :メモリにデータをロードしたり , 格納されているデータにアクセスします。 • レジスタへのライトバック (WB) :レジスタにデータをライトバックします。 図 4.3-1 命令パイプライン CLK 命令1 WB 命令2 MA WB 命令3 EX MA WB 命令4 ID EX MA WB 命令5 IF ID EX MA WB IF ID EX MA 命令6 WB 命令は順不同で実行されることはありません。命令 A が命令 B の前にパイプラインに入ると , 命令 A は必ず命 令 B より前にライトバックステージに達します。 命令の実行は , 1 サイクルあたり 1 命令の速度で行われます。 ただし , メモリウェイトを伴うロード / ストア命令 , 遅延スロットを持たない分岐命令 , 複数サイクル命令では , 命令の実行に複数のサイクルが必要となります。また , 命令の供給が遅い場合も命令の実行速度が低下します。 4.4 32 ビット /16 ビットバスコンバータ このコンバータは , 32 ビットの高速アクセスを実行する D バスと 16 ビットアクセスを行う R バスの間の インタフェースを生成し , CPU から周辺機能へのデータアクセスを実現します。 CPU から 32 ビットアクセスが行われると , このコンバータによって , アクセスが R バスへの 2 つの 16 ビット アクセスに変換されます。一部の周辺機能には , アクセス幅に制限があります。 4.5 ハーバード / プリンストンバスコンバータ このコンバータでは , CPU の命令アクセスとデータアクセスの間のインタフェースが生成され , 外部バスとの スムーズなインタフェースが実現されます。 CPU では , 命令バスとデータバスが独立したハーバードアーキテクチャが採用される一方で , 外部バスの制御 を行うバスコントローラには単一バスのプリンストンアーキテクチャが採用されています。このバスコンバー タにより CPU の命令アクセスとデータアクセスに優先度が付けられ , バスコントローラへのアクセスの制御 が行われます。これにより , 外部バスへのアクセス順序が常に最適化されたものになります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 69 第 4 章 CPU および制御部 4.6 命令概要 MB91460N シリーズ 4.6 命令概要 FR60 ファミリでは , 一般的な RISC の命令体系に加えて , 組込み用途用に最適化された論理演算 , ビット演算 , およびダイレクトアドレッシング命令がサポートされています。命令セットの一覧については , 付録を参照して ください。各命令は 16 ビット長 ( 一部の命令は 32 ビット長または 48 ビット長 ) であるため , コンパクトなプ ログラムコードを生成することができます。 命令セットは以下の機能グループに分けることができます。 ■ 算術演算 このグループは , 標準の算術演算命令 ( 加算 , 減算 , および比較 ), およびシフト命令 ( 論理シフトおよび算術演 算シフト ) で構成されています。加算と減算については , 多ワード長演算で使用するキャリ付演算 , およびア ドレス計算に便利なフラグ値を変化させない演算が可能です。 さらに , 32 ビット× 32 ビット , 16 ビット× 16 ビットの乗算命令 , および 32 ビット / 32 ビットのステップ除 算命令も含まれます。 また , レジスタに即値をセットする即値転送命令 , およびレジスタ間転送命令も備えています。 すべての算術演算命令は , CPU 内の汎用レジスタおよび乗除算レジスタを使用して演算されます。 ■ ロードとストア ロード / ストアとはメモリに対して読出しと書込みを行う命令のことです。また , チップ内の周辺機能 (I/O) へ の読み書きにも使用されます。 ロードとストアはバイト , ハーフワード , およびワードの 3 種類のアクセス長で構成されています。一般的な レジスタ間接のメモリアドレッシング以外にも , 一部の命令では , ディスプレースメント付きレジスタ間接や レジスタインクリメント / デクリメント付きレジスタ間接のメモリアドレッシングが可能です。 ■ 分岐 分岐とは , 分岐 , コール , 割込み , および復帰の命令のことです。分岐命令には , 遅延スロットを持つ命令と持 たない命令があります。分岐命令については , 「第 7 章 分岐命令」を参照してください。 ■ 論理演算およびビット演算 論理演算命令では , 汎用レジスタ間 , または汎用レジスタとメモリ ( および I/O) 間で AND, OR, EOR の論理演 算を行うことができます。ビット演算命令では , メモリ ( および I/O) のデータを直接操作することができます。 メモリアドレッシングは一般的なレジスタ間接です。 ■ ダイレクトアドレッシング ダイレクトアドレッシング命令は I/O と汎用レジスタ間 , または I/O とメモリ間のアクセスに使用する命令で す。I/O のアドレスをレジスタ間接ではなく直接命令することによって , 高速かつ効率の高いアクセスが可能 になります。一部の命令では , レジスタインクリメント / デクリメント付きレジスタ間接のメモリアドレッシ ングが可能です。 ■ その他 PS レジスタ内のフラグ設定 , スタック操作 , 符号 / ゼロ拡張などを行う命令です。また , 高級言語対応の関数入 口 / 出口 , レジスタマルチロード / ストア命令も備えています。 70 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 4 章 CPU および制御部 4.7 データ構造 MB91460N シリーズ 4.7 データ構造 FR60 には , 以下に示すように 2 つのデータ配置があります。 ■ ビットオーダリング FR60 では , ビットオーダリングとしてリトルエンディアンが採用されています。 図 4.7-1 ビットオーダリングのビット構造 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 bit LSB MSB ■ バイトオーダリング FR60 では , バイトオーダリングとしてビッグエンディアンが採用されています。 図 4.7-2 バイトオーダリングのビット構造 MSB bit31 メモリ 23 15 7 LSB 0 10101010 11001100 11111111 00010001 bit 7 CM71-10149-1 0 n 番地 10101010 (n+1) 番地 11001100 (n+2) 番地 11111111 (n+3) 番地 00010001 FUJITSU MICROELECTRONICS LIMITED 71 第 4 章 CPU および制御部 4.8 ワードアライメント MB91460N シリーズ 4.8 ワードアライメント 命令とデータにはバイトによりアクセスするため , 配置されるアドレスは命令長またはデータ幅によって異な ります。 ■ プログラムアクセス FR60 のプログラムは , 2 で乗算したアドレスに配置する必要があります。 PC の bit0 は , 命令の実行に伴う PC の更新時にクリアされます。 (PC の bit0 が "0" になる可能性があるのは , 分岐先アドレスとして奇数番地が指定されている場合のみです。ただし , そ の場合でもbit0は無効です。 命令は2で乗算したアドレスに配置する必要があるため, 奇数アドレスの例外はありません。 ) ■ データアクセス FR60 では , データアクセスを実行する場合 , そのデータ幅に応じて以下のようなアラインメントがアドレスに対して 行われます。 •ワードアクセス :アドレスは "4" で乗算されます。( 最下位 2 ビットは強制的に "00" になります。) •ハーフワードアクセス:アドレスは "2" で乗算されます。( 最下位ビットは強制的に "0" になります。) :アドレスは "1" で乗算されます。 •バイトアクセス ワードアクセスおよびハーフワードデータアクセス時, 実効アドレスの計算結果に対して一部のビットが強制的 に "0" になります。たとえば , @(R13,Ri) のアドレッシングモードの場合 , 加算前のレジスタは ( 最下位ビット が 1 の場合も ) そのまま計算に使用され , 加算結果の下位ビットがマスクされます。計算前のレジスタがマスク されるわけではありません。 【例】LD @(R13, R2), R0 R13 00002222H R2 00000003H +) 加算結果 アドレス端子 72 00002225H 00002224H 下位2ビットは強制的に マスクされます。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 4 章 CPU および制御部 4.9 アドレッシング MB91460N シリーズ 4.9 アドレッシング アドレス空間は 32 ビットリニアです。 ■ マップ 図 4.9-1 マップ 0000 0000H バイトデータ 0000 0100H ハーフワードデータ ダイレクトアドレッシング領域 0000 0200H ワードデータ 0000 0400H 000F FC00H ベクタテーブル 000F FFFFH FFFF FFFFH FR60 の論理アドレス空間は 4G バイト (232 番地 ) あり , CPU はリニアにデータのアクセスを行います。 ■ ダイレクトアドレッシング領域 以下の領域が I/O に使用されます。 これらの領域はダイレクトアドレッシング領域とよばれ , 命令中で直接オペランドのアドレスを指定できます。 これらのダイレクト領域はアクセスするデータのサイズによって異なります。 • バイトアクセス :000H ∼ 0FFH • ハーフワードアクセス :000H ∼ 1FFH • ワードアクセス CM71-10149-1 :000H ∼ 3FFH FUJITSU MICROELECTRONICS LIMITED 73 第 4 章 CPU および制御部 4.9 アドレッシング 74 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 5 章 CPU レジスタ 5.1 汎用レジスタ MB91460N シリーズ 第5章 CPU レジスタ 5.1 汎用レジスタ レジスタ R0 ∼ R15 は汎用レジスタです。これらのレジスタは , 各種演算におけるアキュムレータおよび メモリアクセスのポインタとして使用されます。 図 5.1-1 汎用レジスタ 32ビット [初期値] R0 R1 ... ... ... ... R12 R13 R14 R15 AC FP SP XXXX XXXXH ... ... ... ... XXXX XXXXH 0000 0000H 16 個のレジスタのうち , 以下のレジスタは特別な用途に予約されています。 • R13:仮想アキュムレータ • R14:フレームポインタ • R15:スタックポインタ R0 ∼ R14 の場合 , リセットによる初期値は不定です。R15 の場合 , リセットによる初期値は 00000000H (SSP 値 ) です。 5.2 専用レジスタ 専用レジスタは , プログラムカウンタ (PC), プログラムステータス (PS), テーブルベースレジスタ (TBR), リ ターンポインタ (RP), システムスタックポインタ (SSP), ユーザスタックポインタ (USP), 乗除算レジスタ (MDH/MDL) から構成されます。 図 5.2-1 専用レジスタ プログラムカウンタ (PC) プログラムステータス (PS) テーブルベースレジスタ (TBR) リターンポインタ (RP) ⎯ ILM ⎯ SCR CCR システムスタックポインタ (SSP) CM71-10149-1 ユーザスタックポインタ (USP) 乗除算レジスタ (MDH) (MDL) FUJITSU MICROELECTRONICS LIMITED 75 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ 5.2.1 PC: プログラムカウンタ プログラムカウンタ (PC) は 32 ビットで構成されます。 図 5.2-2 プログラムカウンタ (PC) のレジスタ構成 [初期値] 0 bit 31 PC XXXXXXXXH プログラムカウンタ (PC) は現在の命令アドレスを示します。 命令が実行されるとプログラムカウンタ (PC) の bit0 はクリアされます。 5.2.2 プログラムステータス (PS) プログラムステータス (PS) は , プログラム状態を保持するレジスタで , ILM と SCR, CCR の 3 つのパートに 分かれています。 未定義のビットはすべて予約ビットです。読出し時 , 常に "0" が読み出されます。 書込みは無効です。 プログラムステータス (PS) のレジスタ構成は , 以下のとおりです。 図 5.2-3 プログラムステータス (PS) のレジスタ構成 bit 31 20 16 10 87 SCR ILM 0 CCR ■ コンディションコードレジスタ (CCR) 図 5.2-4 コンディションコードレジスタ (CCR) のレジスタ構成 bit 7 6 5 4 3 2 1 0 [初期値] - SV S I N Z V C -000XXXXB [bit6] SV: スーパバイザフラグ CPU/MPU のスーパバイザモードを設定します。 SV 内容 0 ユーザモード 1 スーパバイザモード リセットにより "0" にクリアされます。 SVMODE 信号を EDSU/MPU に送信する (SV フラグを設定し , INT#5 ISR を実行する )。 INT#5 命令あるいは ORCCR を使用することにより , トリガされて , SV フラグ をクリアする ANDCCR を各々設定で きます。INT#5 命令実行によるハードウェアの動作は , SV フラグが設定されている場合を除いて , 他の割込み命令に よるものと同様です。メモリ保護ユニット (MPU) に関しては , 「第 26 章 MPU / EDSU」を参照してください。 76 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ [bit5] S:スタックフラグ R15 として使用されるスタックポインタを指定します。 S 内 容 0 R15 が SSP として使用されます。 EIT 発生時 , 自動的に "0" となります。 ( ただし , スタックに退避される値はクリアされる前の値です。) 1 R15 が USP として使用されます。 リセットにより "0" にクリアされます。 R15 を USP として使用した後は , RETI 命令実行時は "0" に設定してください。 [bit4] I:割込み許可フラグ ユーザ割込み要求の許可・禁止を制御します。 I 内 容 0 ユーザ割込みを禁止。割込み命令実行時 , "0" にクリアされます。 ( ただし , スタック退避される値はクリアされる前の値です。) 1 ユーザ割込みを許可。ユーザ割込み要求のマスク処理は , ILM の保持する値により制御さ れます。 リセットにより "0" にクリアされます。 [bit3] N:ネガティブフラグ 演算結果を 2 の補数で表現された整数とみなしたときの符号を示します。 N 内 容 0 演算結果が正の値であったことを示します。 1 演算結果が負の値であったことを示します。 [bit2] Z:ゼロフラグ 演算結果が "0" であったかどうかを示します。 Z 内 容 0 演算結果が "0" 以外であったことを示します。 1 演算結果が "0" であったことを示します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 77 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ [bit1] V:オーバフローフラグ 演算に用いたオペランドを 2 の補数で表現される整数であるとみなし , 演算の結果 , オーバフローが生じたかどうかを 示します。 V 内 容 0 演算の結果 , オーバフローは生じていないことを示します。 1 演算の結果 , オーバフローが生じたことを示します。 [bit0] C:キャリフラグ 演算により , 最上位ビットからのキャリまたは , ボローが発生したかどうかを示します。 C 78 内 容 0 キャリもボローも発生していないことを示します。 1 キャリまたはボローが発生したことを示します。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ ■ システムコンディションコードレジスタ (SCR) 図 5.2-5 システムコンディションコードレジスタ (SCR) のレジスタ構成 bit 10 9 D1 D0 8 [初期値] T XX0B 本項では , システムコンディションコードレジスタ (SCR) の各ビット構成を示します。 [bit10, bit9] D1, D0 : ステップ除算用フラグ D1 および D0 ビットはステップ除算実行時の中間データを保持します。 除算処理の実行途中は , 変更しないでください。ステップ除算実行途中にほかの処理を行う場合は , PS レジスタの値を 退避・復帰することによりステップ除算の再開が保証されます。 リセットによる初期状態は不定です。 DIV0S 命令の実行により被除数と除数を参照して設定されます。 DIV0U 命令の実行により , 強制的にクリアされます。 [bit8] T : ステップトレーストラップフラグ ステップトレーストラップを有効にするかどうかを指定するフラグです。 T 内 容 0 ステップトレーストラップ無効 1 ステップトレーストラップ有効 このとき , ユーザ割込みがすべて割込み禁止となります。 リセットにより "0" に初期化されます。 ステップトレーストラップの機能はエミュレータが使用します。エミュレータ使用時 , ユーザプログラム中で使用する ことはできません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 79 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ ■ 割込みレベルマスクレジスタ (ILM) 図 5.2-6 割込みレベルマスクレジスタ (ILM) のレジスタ構成 bit 20 19 18 17 16 [初期値] ILM4 ILM3 ILM2 ILM1 ILM0 01111B 割込みレベルマスク値を保持するレジスタで , この割込みレベルマスクレジスタ (ILM) の保持する値が レベルマスクとして使用されます。 CPU に入力される割込み要求の中で , 対応する割込みレベルが , この割込みレベルマスクレジスタ (ILM) で示 されるレベルよりも強い場合にのみ割込み要求が受け付けられます。 レベル値は , 0 (00000B) が最強で , 31 (11111B) が最弱です。 プログラムから設定可能な値には制限があります。 元の値が 16 ∼ 31 のとき: 新たな値として設定できるのは 16 ∼ 31 です。0 ∼ 15 を設定する命令を実行すると , ( 指定した値+ 16) という値が転 送されます。 元の値が 0 ∼ 15 のとき: 0 ∼ 31 の任意の値が設定可能です。 リセットにより , 15 (01111B) に初期化されます。 ■ 注意 :PC レジスタ 一部のコマンドで PS レジスタを先行処理しているため , 以下の例外動作 ((1) および (2)) によって , デバッガの使用時 に割込み処理ルーチンでブレークしたり , PS フラグの表示データが更新されることがあります。 いずれの場合も , 復帰後に正しく再処理を行うように設計されているため , EIT 前後の動作では仕様どおりの処理が行 われます。 • DIV0U/DIV0S 命令の直前に以下のことが行われた場合 : • ユーザ割込みが行われた場合 • ステップ実行が行われた場合 • データイベントまたはエミュレータメニューにおいてブレークした場合 このような場合は , 以下の動作が行われる場合があります。 1. D0 または D1 フラグが先行して更新されます。 2. EIT 処理ルーチン ( ユーザ割込みまたはエミュレータ ) が実行されます。 3. EIT から復帰した後 , DIV0U/DIV0S 命令が実行され , D0 または D1 フラグが 1 と同じ値に更新されます。 • ユーザ割込みによる割込みが発生している状態で , 割込みを許可するために ORCCR, STILM, MOV Ri, また は PS の各命令が実行されると , 以下の動作が行われます。 1. PS レジスタが先行して更新されます。 2. EIT 処理ルーチン ( ユーザ割込み ) が実行されます。 3. EIT から復帰した後 , 上記の命令が実行され , PS レジスタが 1 と同じ値に更新されます。 注意 : EIT については「第 6 章 EIT:例外 , 割込み , トラップ」を参照してください。 80 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ 5.2.3 テーブルベースレジスタ (TBR) テーブルベースレジスタ (TBR) は 32 ビットで構成されます。 図 5.2-7 テーブルベースレジスタ (TBR) のレジスタ構成 bit 31 0 TBR [初期値] 000FFC00H テーブルベースレジスタで , EIT 処理の際に使用されるベクタテーブルの先頭アドレスを保持します。 ベクターアドレスは , TBR および EIT 各々で規定されたオフセット値を加えて生成されます。 5.2.4 リターンポインタ (RP) リターンポインタ (RP) は 32 ビットで構成されます。 図 5.2-8 リターンポインタ (RP) のレジスタ構成 bit 31 [初期値] 0 RP XXXXXXXXH リターンポインタで , サブルーチンから復帰するアドレスを保持します。 CALL 命令実行時 , PC の値がこの RP に転送されます。 RET 命令実行時 , RP の内容が PC に転送されます。 5.2.5 システムスタックポインタ (SSP) システムスタックポインタ (SSP) は EIT 受信ポインタや復帰処理のデータ格納 / 復帰用スタックポインタとして使用し ます。 システムスタックポインタ (SSP) は 32 ビットで構成されます。 図 5.2-9 システムスタックポインタ (SSP) のレジスタ構成 0 bit 31 SSP [初期値] 00000000H S フラグが "0" のとき , R15 として機能します。 SSP は明示的に指定することも可能です。 また , EIT 発生時に , PS と PC を退避するスタックを指定するスタックポインタとしても使用されます。 EIT 処理時 , 本ポインタは , 値を "8" 減算し , EIT 処理より復帰する際 RETI 命令を実行することで値を "8" 加算します。 CCR 内の S フラグが 0 のとき , SSP は , 汎用レジスタ R15 として機能します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 81 第 5 章 CPU レジスタ 5.2 専用レジスタ MB91460N シリーズ 5.2.6 ユーザスタックポインタ (USP) ユーザスタックポインタ (USP) は 32 ビットで構成されます。 図 5.2-10 ユーザスタックポインタ (USP) のレジスタ構成 bit 31 0 USP [初期値] 00000000H S フラグが "1" のとき , R15 として機能します。 USP は明示的に指定することも可能です。 RETI 命令で使用することはできません。 このポインタはシステムスタックポインタ (SSP) で示す PC や PS のアドレスを格納 / 復帰します。命令実行後は , SSP に示したアドレスに PC が , (SSP + 4) に示したアドレス PS が格納されます。 図 5.2-11 割込みスタック [命令実行前] [例] 80000000H SSP [命令実行後] SSP 7FFFFFF8H Memory 80000000H 7FFFFFFCH 7FFFFFF8H 80000000H 7FFFFFFCH 7FFFFFF8H PS PC 5.2.7 乗除算レジスタ (Multiply & Divided register) 乗除算レジスタ (MDH/MDL) は 32 ビットで構成されます。 図 5.2-12 乗除算レジスタ (Multiply & Devided register) のレジスタ構成 bit 31 0 MDH MDL 乗除算用のレジスタで , 各々 32 ビット長です。 リセットによる初期値は不定です。 乗算実行時: 32 ビット× 32 ビットの乗算のとき , 64 ビット長の演算結果は , 以下の配置で乗除算結果格納レジスタに格納されます。 MDH .. 上位 32 ビット MDL... 下位 32 ビット 16 ビット× 16 ビットの乗算のときは , 以下のように結果が格納されます。 MDH .. 不定 MDL... 結果 32 ビット 除算実行時: 計算開始時 , 被除数を MDL に格納します。 DIV0S/DIV0U, DIV1, DIV2, DIV3, DIV4S 命令の実行により除算を計算すると , 結果が MDL と MDH に格納されます。 MDH .. 剰余 MDL... 商 82 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 6 章 EIT:例外 , 割込み , トラップ 6.1 概要 MB91460N シリーズ 第6章 EIT:例外 , 割込み , トラップ 6.1 概要 EIT とは , イベントが現在のプログラムに割り込んでほかのプログラムを実行することです。EIT は , 例外 (Exception), 割込み (Interrupt), トラップ (Trap) を意味します。 • 例外とは アクティブなコンテキストに関連して生成されるイベント。例外をトリガした命令に戻ります。 • 割込みとは アクティブなコンテキストに関係なく生成されるイベント。割込みは , ハードウェアによってトリガされます。 • トラップとは アクティブなコンテキストに関連して生成されるイベント。システムコールのようにプログラムで指示されるトラップ もあります。トラップをトリガした命令の次の命令に戻ります。 6.2 特長 • 多重割込みのサポート • 割込みのレベルマスク機能 ( ユーザは 15 レベルを使用可能 ) • トラップ命令 (INT) • エミュレータ起動用 EIT ( ハードウェア / ソフトウェア ) 6.3 EIT 要因 • リセット • ユーザ割込み ( 周辺機能と外部割込み ) • 遅延割込み • 未定義命令例外 • トラップ命令 (INT) • トラップ命令 (INTE) • • • • ステップトレーストラップ コプロセッサ不在トラップ コプロセッサエラートラップ CPU スーパバイザモード • メモリ保護違反 6.4 EIT からの復帰 EIT から復帰するには , RETI 命令を使用します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 83 第 6 章 EIT:例外 , 割込み , トラップ 6.5 EIT の割込みレベル MB91460N シリーズ 6.5 EIT の割込みレベル 割込みレベルは 0 ∼ 31 で , 5 ビットで管理されます。 表 6.5-1 EIT の割込みレベル レベル 意味 2進 10 進 00000 ... ... 00011 0 ... ... 3 ( システム予約 ) ... ... ( システム予約 ) 00100 4 INTE 命令 ステップトレーストラップ 00101 ... ... 01110 5 ... ... 14 ( システム予約 ) ... ... ( システム予約 ) 01111 15 NMI ( ユーザ ) 10000 10001 ... ... 11110 11111 16 17 ... ... 30 31 割込み 割込み ... ... 割込み N/A 備考 ILM の元の値が 16 ∼ 31 の場合 , これらの値を プログラムで ILM に設定することはできません。 ILM が設定されている場合 , ユーザ割込みは禁止さ れます。 ICR が設定されている場合 , 割込みは禁止されます。 16 ∼ 31 のレベルのみ操作可能です。 未定義命令例外 , コプロセッサ不在トラップ , コプロセッサエラートラップ , INT 命令は , 割込みレベルの 影響を受けません。また , ILM は割込みレベルによって変更されません。 6.6 EIT ベクタテーブル EIT ベクタテーブルについては , 「3.3 割込み要因のテーブル」の章を参照してください。 EIT のベクタは , テーブルベースレジスタ [TBR] が示すアドレスから 1K バイトの領域にあります。 そのサイズは , 1 ベクタにつき 4 バイトです。ベクタ番号 / ベクタアドレス / トリガについては , 「3.3 割込み 要因のテーブル」を参照してください。 アドレス演算は以下のとおりです。 ベクタアドレス = [TBR] +オフセット値 = [TBR] + {03FCH − 4 ×ベクタ番号 } 加算結果の下位 2 ビットは , 常に "00" として扱われます。 000FFC00H ∼ 000FFFFFH の領域は , リセットによるベクタテーブルの初期値です。 TBR 値を書き換える場合 , モードベクタおよびリセットベクタでは常に 000FFFF8H, 000FFFFCH の固定 アドレスが使用されます。 84 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 6 章 EIT:例外 , 割込み , トラップ 6.7 多重 EIT 処理 MB91460N シリーズ 6.7 多重 EIT 処理 複数の EIT が同時に発生した場合 , CPU では , 1 つの EIT を選択して受理し , EIT シーケンスを実行した後 , 再 び EIT を検出するという動作が繰り返されます。EIT の検出時に受理する EIT がない場合 , CPU では最後に受 理した EIT ハンドラの命令が実行されます。そのため , 複数の EIT が同時に発生した場合 , 各 EIT ハンドラの 実行順序は , 次の 2 つのパラメータにより決定されます。 ■ EIT 要因受理の優先度 EIT 要因受理の優先度とは , PC を更新するために PS および PC を退避し , 必要に応じてほかの要因をマスクす ることにより実行する EIT 要因を選択する順序を意味します。 EIT は , 必ずしも先入れ先出しハンドラを意味するわけではありません。 表 6.7-1 EIT 要因受理の優先度とほかの要因のマスク EIT EIT 要因受理の優先順位 ほかの EIT 要因のマスク 1 リセット すべての EIT がクリアされます。 2 命令ブレーク ほかの EIT がキャンセルされます (ILM = 4) 。 3 INTE 命令 ほかの EIT がキャンセルされます (ILM = 4) 。 4 未定義命令例外 ほかの EIT がキャンセルされます (I フラグ = 0) 。 5 INT 命令 / コプロセッサ例外 I フラグ = 0 6 メモリ保護違反 I フラグ = 0 7 ユーザ割込み ILM = 受け入れられた INT のレベル 8 NMI ( ユーザ ) ILM = 15 9 NMI ( エミュレータ ) ほかの EIT がキャンセルされます (ILM = 4) 。 10 ステップトレーストラップ ほかの EIT がキャンセルされます (ILM = 4) 。 11 オペランドブレーク ほかの EIT がキャンセルされます (ILM = 4) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 85 第 6 章 EIT:例外 , 割込み , トラップ 6.7 多重 EIT 処理 MB91460N シリーズ ■ 受理時のほかの要因のマスク方法 EIT 要因の受理時にほかのトリガのマスク処理を考慮する場合 , 同時に発生した複数の EIT 要因の各ハンドラの 実行順序は以下のとおりです。 表 6.7-2 EIT ハンドラの実行順序 EIT ハンドラ実行の優先順位 ほかの EIT のマスク 1 リセット すべての EIT がクリアされます。 2 未定義命令例外 ほかの EIT がキャンセルされます (I フラグ = 0) 。 3 命令ブレーク ほかの EIT がキャンセルされます (ILM = 4) 。 4 INTE 命令 ほかの EIT がキャンセルされます (ILM = 4) 。 5 NMI ( エミュレータ ) ほかの EIT がキャンセルされます (ILM = 4) 。 6 ステップトレーストラップ ほかの EIT がキャンセルされます (ILM = 4) 。 7 オペランドブレーク ほかの EIT がキャンセルされます (ILM = 4) 。 8 NMI ( ユーザ ) ILM = 15 9 メモリ保護違反 I フラグ = 0 10 INT 命令 / コプロセッサ例外 I フラグ = 0 11 ユーザ割込み ILM = 受け入れられた INT のレベル 図 6.7-1 複数の EIT 処理 NMIハンドラ メインルーチン INT命令 ハンドラ 優先順位 (1)最初の実行 ユーザ割込み ハンドラ (高)NMIの生成 (2)2回目の実行 (中)INT命令の実行 (低)ユーザ割込みの実行 (3)3回目の実行 86 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 6 章 EIT:例外 , 割込み , トラップ 6.8 動作説明 MB91460N シリーズ 6.8 動作説明 以下のセクションでは , ソース「PC」は各 EIT 要因を検出した命令アドレスを意味することに注意して ください。 同様に , 「次の命令のアドレス」は , EIT を検出した命令に基づいて以下のアドレスを意味します。 • LDI が 32 の場合:PC + 6 • LDI が 20 で , それが COPOP, COPLD, COPST, または COPSV の場合:PC + 4 • その他の命令の場合:PC + 2 6.8.1 ユーザ割込みの動作 ユーザ割込み要求が発生した場合は , その要求を受理するかどうかが以下の順序で決定されます。 ■ 割込み要求を受理するかどうかの決定方法 1. 同時に発生した割込み要求のレベルを比較して , 最高の優先度 ( 最小の数値 ) を保持する割込みを選択しま す。 比較するレベルについては , マスク可能割込みに対応する ICR に保持される値が使用されます。 2. 同じ優先度を持つ割込み要求が複数発生した場合は , 最も早い割込み番号を持つ割込み要求を選択します。 3. 「割込みレベル> 「割込みレベル < レベ = レベルマスク値」の場合 , 割込み要求は受理されずにマスクされます。 ルマスク値」の場合は , 手順 4 に進みます。 4. 選択した割込み要求がマスク可能割込みの場合 , I フラグが "0" であればその割込み要求が受理されずにマ スクされ , I フラグが "1" であれば手順 5 に進みます。 5. 上記の条件が満たされた場合は , 命令処理の間に割込み要求が受理されます。 EIT 要求の検出時にユーザ割込み要求が受理された場合 , CPU は , 受理した割込み要求の割込み番号に従って 以下のように動作します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 次の命令のアドレスがシステムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. 受け付けた割込みの値 ( レベル ) が ILM に格納されます。 5. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 6. 受理した割込みのベクタアドレスがプログラムカウンタ (PC) に格納されます。 割込みシーケンス後 , メインプログラムハンドラの命令が実行される前に , EIT が再び確認されます。この時点で 受理可能な EIT が発生している場合 , CPU は EIT 処理シーケンスに進みます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 87 第 6 章 EIT:例外 , 割込み , トラップ 6.8 動作説明 MB91460N シリーズ 6.8.2 INT 命令の動作 INT 番号 u8 命令は以下のように動作します。 u8 で指定されたベクタの割込みハンドラに分岐します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 次の命令のアドレスがシステムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の I フラグに "0" が書き込まれます。 5. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 6. 値 "TBR + 3FCH − 4 × u8" がプログラムカウンタ (PC) に格納されます。 6.8.3 INTE 命令の動作 INTE 命令は以下のように動作します。 ベクタ番号 9 のベクタ割込みハンドラに分岐します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 次の命令のアドレスがシステムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. 値 ( レベル ) "4" が ILM に格納されます。 5. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 6. 値 "TBR + 3D8H" がプログラムカウンタ (PC) に格納されます。 ステップの実行中 , INTE による EIT の発生はありません。 INTE 命令はデバッグサポートユニット (DSU) に使用されるため , これを使用しないでください。 88 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 6 章 EIT:例外 , 割込み , トラップ 6.8 動作説明 MB91460N シリーズ 6.8.4 ステップトレーストラップの動作 PS 内の SCR で T フラグを設定し , ステップトレーストラップ機能を許可した場合 , 命令を実行するたびに ステップトレーストラップが発生します。 ■ ステップトレーストラップの検出の条件 T フラグ = 1 命令が遅延分岐コマンド以外 INTE 命令以外の命令またはステップトレーストラップ処理ルーチンの実行中 上記の条件が満たされた場合は , 命令動作の間で中断します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 次の命令のアドレスがシステムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. 値 ( レベル ) "4" が ILM に格納されます。 5. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 6. 値 "TBR + 3CCH" がプログラムカウンタ (PC) に格納されます。 T フラグを設定してステップトレーストラップを許可した場合は , ユーザ割込みが禁止されます。 また , INTE 命令による EIT の発生がなくなります。 FR60 では , T フラグを設定した命令の次の命令からトラップが発生します。 6.8.5 未定義命令例外の動作 命令のデコード時に未定義命令が検出された場合は , 未定義命令例外が発生します。 ■ 未定義命令例外の検出条件 • 命令のデコード時に未定義命令が検出された。 • 遅延スロット外にある ( 遅延分岐命令の直後の命令ではない ) 。 上記条件が満たされた場合は , 未定義命令例外が発生します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 未定義命令例外の原因となった命令のアドレスが , システムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 5. 値 "TBR + 3C4H" がプログラムカウンタ (PC) に格納されます。 未定義命令例外を検出した命令のアドレスが PC として保存されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 89 第 6 章 EIT:例外 , 割込み , トラップ 6.9 注意事項 MB91460N シリーズ 6.8.6 コプロセッサ不在トラップ 実装していないコプロセッサに対してコプロセッサ命令を実行した場合は , コプロセッサ不在トラップが発生 します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 未定義命令例外の原因となった命令のアドレスが , システムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 5. 値 "TBR + 3E0H" がプログラムカウンタ (PC) に格納されます。 6.8.7 コプロセッサエラートラップ コプロセッサの使用中にエラーが発生した場合は , 次にそのコプロセッサを操作するコプロセッサ命令を実行 したときに , コプロセッサエラートラップが発生します。 ■ 動作説明 1. プログラムステータス (PS) の内容がシステムスタックに保存されます。 2. 未定義命令例外の原因となった命令のアドレスが , システムスタックに保存されます。 3. システムスタックポインタ (SSP) の値が 8 減らされます。 4. プログラムステータス (PS) のコンディションコードレジスタ (CCR) の S フラグに "0" が書き込まれます。 5. 値 "TBR + 3DCH" がプログラムカウンタ (PC) に格納されます。 6.8.8 RETI 命令の動作 RETI 命令は , EIT 処理ルーチンから復帰する命令です。 ■ 動作説明 1. (R15) * で示されるスタックからプログラムカウンタ (PC) にデータをロードします。 2. R15 + 4 をインクリメントし , R15 に格納します。 3. (R15) * で示されるスタックからプログラムステータス (PS) にデータをロードします。 4. R15 + 4 をインクリメントし , R15 に格納します。 RETI 命令は , S フラグを "0" にして実行する必要があります。 6.9 注意事項 • INTE 命令はデバッグサポートユニット (DSU) に使用されるため , アプリケーションではこれを使用しない でください。 • 分岐命令の遅延スロットは , EIT に対して制限があります。 「第 7 章 分岐命令」を参照してください。 90 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 7 章 分岐命令 7.1 遅延スロット付き分岐命令 MB91460N シリーズ 第7章 分岐命令 FR60 では , 分岐命令に対して遅延スロット付きの動作および遅延スロットなしの動作を指定 できます。 7.1 遅延スロット付き分岐命令 • 遅延スロット付き分岐命令 JMP:D @Ri CALL:D label12 CALL:D @Ri RET:D BRA:D label9 BNO:D label9 BEQ:D BNE:D label9 BC:D label9 BNC:D label9 BN:D label9 BP:D BV:D label9 BNV:D label9 BLT:D label9 BGE:D label9 BLE:D label9 BGT:D label9 BLS:D label9 BHI:D label9 label9 label9 7.2 遅延スロット付き分岐命令の動作 遅延スロット付きの動作では , 分岐先の命令を実行する前に , 分岐命令の直後のアドレス ( 遅延スロットとよ びます ) にある命令が実行されてから分岐します。 分岐動作の前に遅延スロットの命令が実行されるため , 見かけ上の実行速度が 1 サイクルとなります。その代 わり , 遅延スロットに有効な命令がない場合は , NOP 命令を置く必要があります。 • 例 命令の順序 ADD R1, R2 ; BRA:D LABEL ; 分岐命令 MOV R2, R3 ; 遅延スロット…分岐前に実行 ... LABEL: ST R3, @R4 ; 分岐先の命令 ; 条件分岐命令では, 分岐パラメータが承認されるかどうかに関係なく, 遅延スロットにある命令が実行されます。 遅延分岐命令では , 一部の命令の実行順序が反転するように見えますが , これは PC の更新処理にのみ適用さ れます。その他の動作 ( レジスタの更新 / 参照 ) は記述された順序で実行されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 91 第 7 章 分岐命令 7.3 実行例 ( 遅延スロット付き ) MB91460N シリーズ 7.3 実行例 ( 遅延スロット付き ) 7.3.1 JMP:D @Ri / CALL:D @Ri 命令 JMP:D @Ri / CALL:D @Ri 命令で参照される Ri は , 遅延スロット内の命令により Ri が更新された場合も変化 しません。 • 例 LDI:32 JMP:D LDI:8 ... #Label, @R0 #0, R0 R0 ; Labelに分岐 ; 分岐先アドレスの影響を受けない 7.3.2 RET:D 命令 RET:D 命令で参照される RP は , 遅延スロット内の命令により RP が更新された場合も変化しません。 • 例 RET:D MOV ... R8, RP ; RPで前に指定したアドレスに分岐 ; 復帰操作の影響を受けない 7.3.3 BC:D rel 命令 BC:D rel 命令で参照されるフラグも , 遅延スロット内の命令の影響を受けません。 • 例 ADD #1, R0 BC:D Overflow AND CCR #0 ... ; フラグの変更 ; 上記命令の実行結果に従って分岐 ; このフラグ更新は上記分岐命令で参照されない 7.3.4 CALL:D 命令 CALL:D 命令の遅延スロット内の命令を使用して RP が参照される場合 , CALL:D 命令により更新されたデータ が読み出されます • 例 CALL:D Label MOV RP, ... 92 R0 ; RPの更新により分岐 ; 上記CALL: Dの実行結果に基づいてRPを転送 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 7 章 分岐命令 7.4 遅延スロット付き分岐命令の制限事項 MB91460N シリーズ 7.4 遅延スロット付き分岐命令の制限事項 7.4.1 遅延スロットで使用可能な命令 遅延スロット内で実行できるのは , 以下の要件を満たす命令のみです。 • 1 サイクル命令 • 非分岐命令 • 順序が変化した場合でも動作に影響しない命令 "1 サイクル命令 " とは , 命令一覧表中でサイクル数の欄が "1", "a", "b", "c", または "d" と記載された命令です。 7.4.2 ステップトレーストラップ 遅延スロット付き分岐命令の実行と遅延スロットの間では , ステップトレーストラップは発生しません。 7.4.3 割込み 遅延スロット付き分岐命令の実行と遅延スロットの間では , 割込みを受け付けられません。 7.4.4 未定義命令例外 遅延スロットに未定義命令が存在する場合 , 未定義命令例外は発生しません。この場合 , 未定義命令は NOP 命 令として動作します。 7.5 遅延スロットなし分岐命令 • 遅延スロットなし分岐命令 JMP @Ri CALL label12 CALL @Ri RET BRA label9 BNO label9 BEQ label9 BNE label9 BC label9 BNC label9 BN BP BV label9 BNV label9 BLT label9 BGE label9 BLE label9 BGT label9 BLS label9 BHI label9 CM71-10149-1 label9 label9 FUJITSU MICROELECTRONICS LIMITED 93 第 7 章 分岐命令 7.6 遅延スロットなし分岐命令の動作 MB91460N シリーズ 7.6 遅延スロットなし分岐命令の動作 遅延スロットなしの動作では , 命令が並びの順に実行されます。分岐命令の次のアドレスにある命令が分岐前に 実行されることはありません。 • 例 命令の順序 ADD R1, R2 ; BRA:D LABEL ; 分岐命令 (遅延スロットなし) MOV R2, R3 ; 実行されない ... LABEL: ST R3, @R4 ; 分岐先の命令 ; 遅延スロットなしの分岐命令の実行サイクル数は , 分岐する場合は 2 サイクル , 分岐しない場合は 1 サイクル となります。 適切な命令を入れることができないために NOP が記述される遅延スロット付き分岐命令とは異なり , 遅延ス ロットなし分岐命令は , 命令コード効率を上げることができます。 遅延スロットに有効な命令を設定できる場合は , 遅延スロット付きの動作を選択します。設定できない場合は , 遅延スロットなしの動作を選択します。この選択により , FR60 は実行速度とコード効率の両方を満足させる ことができます。 94 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 8 章 デバイス状態遷移 8.1 概要 MB91460N シリーズ 第8章 デバイス状態遷移 8.1 概要 MB91460N シリーズには , 基本的に以下に示すデバイス状態およびフローがあります。 詳細は , 「8.3 状態遷移図」を参照してください。 図 8.1-1 状態遷移 パワーオン ウォッチドッグリセット INITX-端子入力 設定初期化リセット 発振安定待ちリセット 動作初期化リセット ソフトウェアリセット命令 RUN 割込み要求 発振安定待ちRUN ストップ 割込み要求 スリープ 8.2 特長 ■ デバイス状態 • RUN ( 通常動作 ) :プログラムが実行されている状態です。 • スリープ:プログラムが停止している状態です ( 周辺回路は動作しています ) 。 • ストップ:デバイスが停止している状態です。 • 発振安定待ち RUN:ストップ状態から RUN 状態に復帰する状態です ( クロック発振が安定するまで待機し ます ) 。 • 発振安定待ちリセット:INIT 後にクロック発振が安定するまで待機している状態です。 • 動作初期化リセット (RST) :プログラムが初期化されている状態です。 • 設定初期化リセット (INIT) :すべての設定が初期化されている状態です。 ■ スタンバイモード ( 低消費電力モード ) 上記のスリープおよびストップはスタンバイモードです。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 95 第 8 章 デバイス状態遷移 8.3 状態遷移図 MB91460N シリーズ 8.3 状態遷移図 このセクションでは , 状態遷移について説明します。 図 8.3-1 MB91460N シリーズの状態遷移 1 2 3 4 5 6 7 8 9 10 INITX 端子 = 0 (INIT) INITX 端子 = 1 (INIT解除) 発振安定待ち終了 リセット(RST)解除 ソフトウェアリセット(RST) スリープ(命令書込み) ストップ(命令書込み) 割込み クロックを必要としない外部割込み ウォッチドッグリセット(INIT) 最高 パワーオン 1 最低 遷移要求の優先順位 設定初期化リセット(INIT) 発振安定待ち終了 動作初期化リセット(RST) 割込み要求 ストップ スリープ 設定初期化 (INIT) 2 メインクロックモード 1 メインストップ 発振安定待ちリセット 9 1 3 1 プログラムリセット (RST) 発振安定待ちRUN 3 7 1 6 メインスリープ 5 メインRUN 1 4 10 1 8 8.3.1 RUN ( 通常動作 ) プログラムが実行され , すべてのクロックおよびすべての回路が有効な状態です。 この状態には , 状態遷移のさまざまなパスがあります。ただし , 同期リセットモードが選択されている場合は , 一部の要求の状態遷移動作が通常リセットモードとは異なります。詳細は , 「第 9 章 リセット」を参照して ください。 8.3.2 スリープ CPU のプログラム実行のみ停止し , 周辺回路は動作している状態です。内蔵メモリおよび内部バスは , DMA コ ントローラで要求されない限り停止しています。ソフトウェアで設定することで , この状態になります。 • 有効な割込み要求が生成されると , スリープ状態が解除され , RUN モード ( 通常動作 ) になります。 • 外部 INITX 端子で設定初期化リセット要求が生成されると , 設定初期化リセット状態 (INIT) になります。 • 動作初期化リセット要求 ( ソフトウェアリセット ) が生成されると , 動作初期化リセット状態 (RST) になりま す。 96 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 8 章 デバイス状態遷移 8.3 状態遷移図 MB91460N シリーズ 8.3.3 ストップ すべての内部回路が停止し , すべての内部クロックおよび PLL が停止します。関連レジスタを設定すると , メ イン発振および RC 発振 ( リアルタイムクロック (RTC) に接続可能 ) を停止できます。ソフトウェアで設定 することで , この状態になります。 また , 関連レジスタを設定すると , 外部端子をハイインピーダンスにすることができます。 • 特定の有効な割込み ( クロックを必要としない ) 要求 , 動作許可されている発振タイマ割込み要求 , または メインクロック発振安定タイマ割込み要求が生成されると , 発振安定待ち RUN 状態になります。 • 外部 INITX 端子で設定初期化リセット要求が生成されると , 設定初期化リセット状態 (INIT) になります。 • 動作初期化リセット要求 ( ソフトウェアリセット ) が生成されると , 動作初期化リセット状態 (RST) になり ます。 発振禁止の制御ビット (STCR レジスタの OSCDx) が禁止に設定されている場合は , ストップモードでリアル タイムクロック (RTC) にメイン発振クロックを供給できます。 8.3.4 発振安定待ち RUN クロック発生制御部 ( タイムベースカウンタおよびデバイス状態制御部 ) を除くすべての内部回路が停止します。 すべての内部クロックが停止しますが , 発振回路および有効なメイン PLL は動作しています。ストップからの復 帰後に , 自動的にこの状態になります。 • ストップによる外部端子のハイインピーダンス制御が解除されます。 • 設定された発振安定待ち時間が経過すると , RUN ( 通常動作 ) 状態になります。 • 外部 INITX 端子で設定初期化リセット要求が生成されると , 設定初期化リセット状態 (INIT) になります。 • 動作初期化リセット要求 ( ソフトウェアリセット ) が生成されると , 動作初期化リセット状態 (RST) になりま す。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 97 第 8 章 デバイス状態遷移 8.3 状態遷移図 MB91460N シリーズ 8.3.5 発振安定待ちリセット デバイスが停止している状態です。設定初期化リセット (INIT) によってこの状態になります。 クロック発生制御部 (タイムベースカウンタおよびデバイス状態制御部) を除くすべての内部回路が停止します。 すべての内部クロックが停止しますが , 発振回路およびメイン PLL ( 有効な場合 ) は動作しています。 • ストップによる外部端子のハイインピーダンス制御が解除されます。 • 内部回路では , この状態は動作初期化リセット (RST) を出力します。 • 設定された発振安定待ち時間が経過すると , 発振安定待ちリセット状態になります。 • 外部 INITX 端子で設定初期化リセット要求が生成されると , 設定初期化リセット状態 (INIT) になります。 • 発振安定待ち時間については , 「第 17 章 タイムベースタイマ」を参照してください。 8.3.6 動作初期化リセット (RST) プログラム実行が初期化されている状態です。動作初期化リセット ( ソフトウェアリセット ) 要求を受け付け るか , 発振安定待ちリセット (RST) が終了すると , この状態がアクティブになります。 CPU のプログラムが停止し , プログラムカウンタが初期化されます。周辺回路は , 一部を除きすべて初期化さ れます。内部クロック , 発振回路 , 有効なメイン PLL はすべて動作しています。 • 内部回路では , この状態は動作初期化リセット (RST) をアサートします。 • 動作初期化リセット (RST) の要求がクリアされると , この状態は RUN ( 通常動作 ) 状態へ遷移し , 動作初 期化リセットシーケンスが実行されます。設定初期化リセット (INIT) から復帰すると , 設定初期化リセットシー ケンスが実行されます。 • 外部 INITX 端子で設定初期化リセット要求が生成されると , 設定初期化リセット状態 (INIT) になります。 8.3.7 設定初期化リセット (INIT) すべての設定が初期化されている状態です。設定初期化リセット (INIT) の要求を受け付けると , この状態がア クティブになります。 CPU のプログラムが停止し , プログラムカウンタが初期化されます。すべての周辺回路が初期化されます。発 振回路は動作していますが , メイン PLL は停止しています。"L" レベルが外部 INITX 端子に入力されている場 合を除き , すべての内部クロックは動作しています。 • 内部回路では, この状態は設定初期化リセット (INIT) および動作初期化リセット (RST) をアサートします。 • 設定初期化リセット (INIT) 要求がクリアされると , 設定初期化リセット状態が解除されてから , 発振安定待 ちリセット状態になります。その後 , 動作初期化リセットシーケンスが実行されます。 8.3.8 各状態遷移要求の優先順位 どの状態においても , 各状態遷移要求は以下の優先順位に従います。 [最高 優先順位] [最低 優先順位] 98 設定初期化リセット(INIT)要求 発振安定待ちの終了(発振安定待ちリセットおよび発振安定待ち RUN 状態でのみ発生) 動作初期化リセット(RST)要求 有効な割込み要求( RUN、スリープまたはストップ状態でのみ発生) ストップモード要求(レジスタ書込み)(RUN 状態でのみ発生) スリープモード要求(レジスタ書込み)(RUN 状態でのみ発生) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.1 概要 MB91460N シリーズ 第9章 リセット 9.1 概要 リセットが発生すると , デバイスはプログラムおよびすべてのハードウェア動作を途中停止し , すべての状態 を初期化します。この状態をリセットとよびます。 リセットトリガ条件が消失すると , デバイスはこの初期状態から遷移して , プログラムおよびハードウェア動 作を再開します。リセット条件の消失から動作開始までの一連の手順をリセット解除シーケンスとよびます。 図 9.1-1 リセット動作のフロー パワーオン INITX端子入力 任意の状態 設定初期化リセット ウォッチドッグタイムアウト 発振安定待ち リセット 動作初期化 リセット RUN CM71-10149-1 ソフトウェアリセット命令 FUJITSU MICROELECTRONICS LIMITED 99 第 9 章 リセット 9.2 特長 MB91460N シリーズ 9.2 特長 • リセットの種類 • INITX 端子入力 :設定初期化リセット (INIT) • ウォッチドッグリセット :設定初期化リセット (INIT) * • ソフトウェアリセット :動作初期化リセット (RST) • 低電圧リセット :設定初期化リセット (INIT) *: ウォッチドッグリセットにより INITX 端子入力と同じ設定初期化リセット (INIT) が発生しますが , 発振安定時 間選択ビット (OS[1:0]) およびリセット要因フラグ (INIT, WDOG, SRST, LINIT) は初期化されません。 • リセット要因の判断 • 直前のリセットの要因は, RSRRレジスタの一連のフラグ (INIT, WDOG, SRST, LINIT) に格納されていま す。 • リセット条件が消失した後の動作 • 動作モード:モード端子およびモードデータにより決定されます。 • 設定初期化リセット (INIT) の後 , 発振安定時間の経過後に動作リセット (RST) が発生します。 100 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.3 構成 MB91460N シリーズ 9.3 構成 図 9.3-1 構成図 状態遷移制御回路(リセット関連) MD_0 MD_1 MD_2 STCR: bit6 0 1 スリープモードに変更しない スリープモードに変更 STOP STCR: bit7 0 1 停止モードに変更しない 停止モードに変更 STCR: bit1 OSCD1 0 1 SLEEP スリープ信号 停止信号 メインクロックは停止モード中も動作を継続 メインクロックは停止モード中に停止 クロック制御 状態遷移 制御回路 HIZ STCR: bit5 0 1 停止モード中も端子状態を維持 停止モード中は端子をハイインピーダンスに設定 端子制御 内部割込み、外部割込み STCR: bit bit44 SRST 0 1 初期化リセット(INIT) ソフトウェアリセットをトリガ ソフトウェアリセットをトリガしない INITX 動作リセット(RST) RSRR: RSRR: bit bit77 INIT 0 1 カウンタを クリアして 発振安定 待ちを開始 RSRR: RSRR:bit bit3 SRST 0 1 発振安定待ち終了 INITX端子入力なし INITX端子入力が発生 ソフトウェアリセット(RST)なし RST) ソフトウェアリセット(RST)が発生 RST) タイムベースカウンタ (発振安定待ち) ウォッチドッグタイマ WDOG RSRR: RSRR: bit bit55 0 1 ウォッチドッグタイムアウトなし ウォッチドッグタイムアウト(INIT)が発生 (INIT) 図 9.3-2 レジスタ一覧 RSRR/STCR アドレス 00480H bit7 INIT 6 − 5 WDOG 4 − 3 SRST 2 LINIT 1 WT1 00481H bit7 STOP 6 SLEEP 5 HIZ 4 SRST 3 OS1 2 OS0 1 − CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 0 WT0 RSRR (リセット要因) 0 STCR OSCD1 (スタンバイ制御) 101 第 9 章 リセット 9.4 レジスタ MB91460N シリーズ 9.4 レジスタ 9.4.1 RSRR:リセット要因レジスタ 直前のリセットの要因を格納し , ウォッチドッグタイマの周期および起動制御を設定します。 • RSRR:アドレス 000480H ( アクセス:バイト , ハーフワード ) bit 7 INIT 6 5 4 3 2 1 0 − WDOG − SRST LINIT WT1 WT0 1 0 0 0 0 0 0 0 初期値 (INIT 入力 ) − − − X X − 0 0 初期値 ( ウォッチドッグリセット ) X X X − − X 0 0 初期値 ( ソフトウェアリセット ) R/WX R/WX R/WX R/WX R/WX R/WX R/W R/W 属性 注意 : 属性の詳細については , 「ビット属性シンボルの意味」を参照してください。 リセット要因レジスタを読み出すと , リセット要因フラグが返されてから , フラグの値が "0" にクリアされます。 レジスタを読み出す前に複数のリセットが発生した場合 , 結果のフラグ値には各リセットのフラグのビット単 位の OR が格納されます。つまり , 複数のフラグが "1" に設定されることがあります。 [bit7] INIT ( 初期化リセット発生フラグ ) INITX 入力端子によってリセット (INIX) 要求が発生したかどうかを示します。 INIT 内容 0 INITX 入力端子による INIT 要求は発生していません。 1 INITX 入力端子による INIT 要求が発生しました。 読出し後 , 初期化リセット発生フラグ (INIT) は "0" にクリアされます。 詳細は , 「第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ」を参照してください。 [bit6] 予約 [bit5] WDOG ( ウォッチドッグリセット発生フラグ ) ウォッチドッグタイマによってリセット (INIT) 要求が発生したかどうかを示します。 WDOG 内容 0 ウォッチドッグタイマによる INIT 要求は発生していません。 1 ウォッチドッグタイマによる INIT 要求が発生しました。 読出し後 , ウォッチドッグリセット発生フラグ (WDOG) は "0" にクリアされます。 [bit4] 予約 102 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.4 レジスタ MB91460N シリーズ [bit3] SRST ( ソフトウェアリセット発生フラグ ) ソフトウェアリセットビット (STCR:SRST) への書込みによってソフトウェアリセット要求が発生したかどうかを示 します。 SRST 内容 0 ソフトウェアリセットによる RST 要求は発生していません。 1 ソフトウェアリセットによる RST 要求が発生しました。 読出し後 , ソフトウェアリセット発生フラグ (SRST) は "0" にクリアされます。 [bit2] LINIT ( 低電圧リセット発生フラグ ) 低電圧検出によってリセット (INIT) 要求が発生したかどうかを示します。 LINIT 内容 0 低電圧検出による INIT 要求は発生していません。 1 低電圧検出による INIT 要求が発生しました。 読出し後 , 低電圧リセット発生フラグ (LINIT) は "0" にクリアされます。 [bit1, bit0] WT1, WT0 ( ウォッチドッグ周期選択 ) ウォッチドッグ周期選択ビット (WT[1:0]) では , ウォッチドッグタイマの周期を以下のように設定できます。 (F x 220 ∼ 221, F x 222 ∼ 223, F x 224 ∼ 225, F x 226 ∼ 227) 詳細は , 「第 18 章 ウォッチドッグタイマ」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 103 第 9 章 リセット 9.4 レジスタ MB91460N シリーズ 9.4.2 STCR:スタンバイ制御レジスタ このレジスタは , ソフトウェアリセット制御 ( スタンバイモードへの変更 , ストップモードでの端子制御 , ス トップモードでのクロック発振の途中停止 ) に使用され , 発振安定待ち時間を設定します。 ( 注意事項 )「第 10 章 スタンバイ」を参照してください。 • STCR:アドレス 000481H ( アクセス:バイト , ハーフワード ) bit 7 STOP 6 5 4 3 2 1 0 SLEEP HIZ SRST OS1 OS0 − OSCD1 0 0 1 1 0 0 1 1 初期値 (INIT 入力 ) 0 0 1 1 X X 1 1 初期値 ( ウォッチドッグリセット ) 0 0 X 1 X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R1,W R/W R/W RX/WX R/W 属性 属性の詳細については , 「ビット属性シンボルの意味」を参照してください。 [bit7] STOP ( ストップモード ) ストップモードビット (STOP) に "1" を書き込むことにより , ストップモードに変わります。 詳細は , 「第 10 章 スタンバイ」を参照してください。 [bit6] SLEEP ( スリープモード ) スリープモードビット (SLEEP) に "1" を書き込むことにより , スリープモードに変わります。 詳細は , 「第 10 章 スタンバイ」を参照してください。 [bit5] HIZ ( ハイインピーダンスモード ) ハイインピーダンスモードビット (HIZ) に "1" を書き込むことにより , ストップモード中に端子をハイインピーダンス (Hi-Z) に設定します。 詳細は , 「第 10 章 スタンバイ」を参照してください。 [bit4] SRST ( ソフトウェアリセット ) ソフトウェアリセットビットに "0" を書き込むことにより , ソフトウェアリセットを発生します。 SRST 動作説明 0 ソフトウェアリセット要求を発生します。 1 ソフトウェアリセット要求しません。 • 負論理が使用されます。 • 読出し値は常に "1" です。 [bit3, bit2] OS1, OS0 ( 発振安定待ち時間 ) 発振安定待ち時間ビット (OS[1:0]) では , 発振安定待ち時間を以下のように設定します。 (F2 x 21, F2 x 211, F2 x 216, F2 x 222) カウントは , タイムベースカウンタで行なわれます。 INITX 入力によってリセット (INIT) が発生すると , "00" (F2 x 21, メインクロック ) に初期化されます。 詳細は , 「第 17 章 タイムベースタイマ」を参照してください。 [bit1] 予約 [bit0] OSCD1 ( メインクロック発振途中停止 ) メインクロック発振停止ビット (OSCD1) に "1" を書き込むことにより , ストップモード中にメインクロックの発振を 停止します。 104 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.4 レジスタ MB91460N シリーズ 9.4.3 MD:モード端子 これらの端子では , MCU のリセット後に読み出されるモードベクタおよびリセットベクタの位置を指定します。 モード端子 モード名 リセットベクタ アクセス領域 0 内部 ROM モードベクタ 内部 1 外部 ROM モードベクタ 外部 MD_2 MD_1 MD_0 0 0 0 0 備考 設定禁止 9.4.4 モードベクタ モードベクタフェッチ操作によりモードレジスタ (MODR) に書き込まれるデータは, モードデータとよばれま す。( モードレジスタは内部レジスタであり , 直接には読み書きできません。) モードレジスタが設定された後 , MCU はこのレジスタに設定されているモード ( バスモードおよびアクセス モード ) に従って動作します。 モードデータはすべての種類のリセットにより設定されます。モードデータをユーザプログラムから設定する ことはできません。 必ず ”00000111B” を設定してください。“00000111B” 以外の値を設定したときの動作は保証できません。 • モードベクタ:アドレス 0FFFF8H ( アクセス:バイト , ハーフワード , ワード ) bit31 0 30 0 29 0 28 0 27 0 26 ROMA 25 WTH1 24 WTH0 動作モード設定ビット [bit31 ∼ bit27] 予約ビット これらのビットは常に "00000B" に設定します。 "00000B" 以外の値が設定されている場合 , MCU の動作は保証されません。 [bit26] ROMA ( 内部 ROM 有効 ) 内部 ROM 領域を有効にするかどうかを指定します。 ROMA 機能 備考 0 外部 ROM モード 外部 ROM 領域を有効にします。 1 内部 ROM モード 内部 ROM 領域を有効にします。 常に "1" に設定します。 [bit25, bit24] WTH1, WTH0 ( バス幅設定 ) 外部バスモードのバス幅を設定します。 WTH1 WTH0 0 0 8 ビットバス幅 0 1 16 ビットバス幅 1 0 32 ビットバス幅 1 1 シングルチップモード 機能 [bit23 ∼ bit0] 未定義ビット CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 105 第 9 章 リセット 9.4 レジスタ MB91460N シリーズ 9.4.5 リセットベクタ MCU は , モードベクタで指定されたアドレスからプログラム実行を開始します。 PC にロードする初期値です。 アドレス 0007FDH MODR 0FFFF8 H 0FFFFC H モード XXXXXXXX ベクタ リセット ベクタ XXXXXXXX XXXXXXXX PC 9.4.6 デバイスモードの概要 以下の表に , MB91460N シリーズでサポートされるデバイスモードの組合せを示します。 モード端子 MD_2 MD_1 MD_0 モード / リセット ベクタアクセス 領域 ROMA 0 0 0 0 0 0 1 内部 外部 外部 1 備考: 外部 内部 1 0 ROM アクセス 領域 内部 WTH [1:0] バス幅 備考 00 8 ビット 未サポート 01 16 ビット 未サポート 10 32 ビット 未サポート 11 シングル 未サポート 00 8 ビット 未サポート 01 16 ビット 未サポート 10 32 ビット 未サポート 11 シングル 00 8 ビット 未サポート 01 16 ビット 未サポート 10 32 ビット 未サポート 11 シングル 未サポート 00 8 ビット 未サポート 01 16 ビット 未サポート 10 32 ビット 未サポート 11 シングル 未サポート MB91460N シリーズでは , ROM 領域は 000C0000H から 000FFFFFH, 00148000H から 0014FFFFH までです。 106 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.5 INITX 端子入力 (INIT:設定初期化リセット ) MB91460N シリーズ 9.5 INITX 端子入力 (INIT:設定初期化リセット ) 9.5.1 発生要因 INITX 端子は設定初期化リセットを発生するために使用されます。 設定初期化リセット (INIT) 要求は , 端子が "L" レベルの間はアクティブとなります。メイン発振安定待ち時間 が経過するまで , "L" レベルを維持してください。 9.5.2 リセット要求の解除 メイン発振安定待ち時間後に"H"レベルを端子に入力すると, 設定初期化リセット (INIT) 要求が解除されます。 9.5.3 フラグ 端子要求によって設定初期化リセット (INIT) が発生すると , 設定初期化リセットフラグ (RSRR: INIT) が "1" に 設定されます。 9.5.4 リセットレベル このリセットは最大リセットレベルになっており , すべての設定を初期化します。この種類のリセットを設定 初期化リセット (INIT) とよびます。 INITX 端子入力によって要求された設定初期化リセット (INIT) の優先度は , すべてのリセットの中で最高で , ほかのすべての入力 , 操作 , 状態よりも高くなります。 設定初期化リセット (INIT) が発生すると , 発振安定時間が経過した後に動作リセット (RST) が続きます。 9.5.5 INITX 端子入力 (INIT) によって発生する初期化 • デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) • すべての内部クロック関連設定 ( クロックソース選択 , メイン PLL 制御 , 分周設定 ) • 端子状態に関連するその他のすべての設定 • 動作リセット (RST) により初期化されるすべての領域 • プログラム動作 • CPU および内部バス • 周辺回路レジスタの内容 • I/O ポート設定 • デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) 9.5.6 リセット解除シーケンス 設定初期化リセット ( 外部 INITX 端子 ) 要求の解除後 , デバイスは以下の操作の順序で実行します。 1. 設定初期化リセット (INIT) の解除 2. 動作リセット (RST) 状態の設定および内部クロックの供給開始 3. 動作リセット (RST) 解除および通常動作 (RUN) への変更 4. 0FFFF8H アドレスからのモードベクタの読出し 5. MODR ( モードレジスタ ) へのモードベクタの書込み 6. 0FFFFCH アドレスからのリセットベクタの読出し 7. PC ( プログラムカウンタ ) へのリセットベクタの書込み PC ( プログラムカウンタ ) の示すアドレスからのプログラム実行開始 詳細は , 「16.5 動作」の説明を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 107 第 9 章 リセット 9.6 ウォッチドッグリセット (INIT:設定初期化リセット ) MB91460N シリーズ 9.6 ウォッチドッグリセット (INIT:設定初期化リセット ) 9.6.1 発生要因 ウォッチドッグタイマ制御レジスタ (RSRR) に書き込むことにより , ウォッチドッグタイマを開始します。開 始後 , ウォッチドッグ周期選択ビット (RSRR: WT[1:0]) で指定された時間内に "A5H" および "5AH" がウォッチ ドッグリセット延期レジスタ (WPR) に書き込まれない限り , ウォッチドッグリセット要求が生成されます。 9.6.2 リセット要求の解除 ウォッチドッグリセット要求は , 設定初期化リセット (INIT) を発生します。ウォッチドッグリセット要求は , 要求が受信されて設定初期化リセット (INIT) が発生した後 , または動作リセット (RST) の発生時に解除され ます。 9.6.3 フラグ ウォッチドッグリセット要求によって設定初期化リセット (INIT) が要求されると , ウォッチドッグタイムアウ トフラグ (RSRR: WDOG) が "1" に設定されます。 9.6.4 リセットレベル このリセットは最大リセットレベルになっており , すべての設定を初期化します。この種類のリセットを設定 初期化リセット (INIT) とよびます。 設定初期化リセット (INIT) が発生すると , 発振安定時間が経過した後に動作リセット (RST) が続きます。 9.6.5 ウォッチドッグリセット (INIT) によって発生する初期化 INITX 端子入力によってトリガされるリセットと同じです。 ただし , 発振安定時間選択ビット (STCR: OS[1:0]) およびリセット要因フラグ (INIT, WDOG, SRST) は初期化 されません。 9.6.6 リセット解除シーケンス INITX 端子入力と同じです。 ( 詳細は , 「第 18 章 ウォッチドッグタイマ」を参照してください。) 108 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.7 ソフトウェアリセット (RST:動作初期化リセット ) MB91460N シリーズ 9.7 ソフトウェアリセット (RST:動作初期化リセット ) 9.7.1 発生要因 ソフトウェアリセットビット (STCR: SRST) に "0" を書き込むことにより , ソフトウェアリセット要求を生成 します。 ソフトウェアリセットは , 動作リセット (RST) を発生します。 9.7.2 リセット要求の解除 ソフトウェアリセット要求は , 要求が受信されて動作リセット (RST) が発生した後に解除されます。 9.7.3 フラグ ソフトウェアリセット要求によって動作リセット (RST) が発生すると , ソフトウェアリセットフラグ (RSRR: SRST) が "1" に設定されます。 9.7.4 リセットレベル これは , プログラムの初期化のみ行う通常レベルリセットであり , 動作リセット (RST) とよばれます。 以下のセクションに , 動作リセット (RST) によって初期化される主な項目の一覧を示します。 9.7.5 動作リセット (RST) により初期化される項目 • プログラム動作 • CPU および内部バス • 周辺回路内のレジスタの内容 • I/O ポート設定 • デバイスの動作モード ( バスモードおよび外部バス幅の設定 ) 9.7.6 リセット解除シーケンス 動作リセット (RST) 要求の解除 ( 消去 ) 後 , デバイスは以下の操作を示されている順序で実行します。 1. 動作リセット (RST) の解除および RUN 状態への変更 2. 0FFFF8H アドレスからのモードベクタの読出し 3. MODR ( モードレジスタ ) へのモードベクタの書込み 4. 0FFFFCH アドレスからのリセットベクタの読出し 5. PC ( プログラムカウンタ ) へのリセットベクタの書込み 6. PC ( プログラムカウンタ ) の示すアドレスからのプログラム実行開始 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 109 第 9 章 リセット 9.8 リセット動作モード MB91460N シリーズ 9.8 リセット動作モード 以下の 2 つのモードを動作リセット (RST) に使用できます。 • 通常 ( 非同期 ) リセットモード • 同期リセットモード どちらのモードを使用するかは , 同期リセット動作許可ビット (TBCR: SYNCR) で指定されます。 端子入力リセットおよびウォッチドッグリセットでは , 常に通常リセットモードが使用されます。 ソフトウェアリセットの場合は , 通常リセットモードまたは同期リセットモードを選択できます。 9.8.1 通常 ( 非同期 ) リセットモード 通常リセット動作は , 動作リセット (RST) 要求の発生直後にデバイスが動作リセット (RST) 状態になるモー ドを意味します。 通常リセットでは , デバイスは , 内部バスアクセスの現在の状態に関係なく , リセット (RST) 要求の受信直後 にリセット (RST) 状態に変わります。 通常リセットモードでは , デバイスの状態が変化した時点で実行中のバス動作の結果は保証されません。ただ し , 動作リセット (RST) 要求の受付けは保証されます。 同期リセット動作許可ビット (TBCR: SYNCR) を "0" に設定して , 通常リセットモードを指定します。 通常リセットモードは , 設定初期化リセット (INIT) 後のデフォルト設定です。 9.8.2 同期リセット動作 同期リセット動作は , 動作リセット (RST) 要求後 , すべてのバスアクセスが途中停止するまでデバイスが動作 リセット (RST) 状態にならないモードを意味します。 同期リセットモードでは , 内部バスアクセスがまだ進行中の場合 , デバイスはリセット (RST) 要求の受け付け 時にリセット (RST) 状態になりません。 このようなリセット要求が受け付けられると , スリープ要求が内部バスに発行されます。デバイスは , すべてのバ スが動作を停止し , スリープモードに変わるまで , 動作リセット (RST) 状態になりません。 同期リセットモードでは , すべてのバスアクセスが途中停止するまでデバイスの状態が変化しないため , バス 動作の結果が保証されます。 ただし , 何らかの理由でバスアクセスを途中停止しない必要がある場合 , バス動作の継続中は要求を受信でき ません。このような場合でも , INITX 端子入力による設定初期化リセット (INIT) は受け付け可能です。 110 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 9 章 リセット 9.9 MCU 動作モード MB91460N シリーズ 9.9 MCU 動作モード リセットの解除後 , MCU はモード端子およびモードデータで指定されたモードで動作を開始します。 MB91460N シリーズでは , シングルチップモードにしか対応しておりません。 以下は FR60 が対応しているモードの説明となります。 操作モード バスモード シングルチップモード 内部 ROM/ 外部バスモード 外部 ROM/ 外部バスモード アクセスモード 32 ビットバス幅 16 ビットバス幅 8 ビットバス幅 9.9.1 バスモードとアクセスモード 通常リセット動作は , 動作リセット (RST) 要求の発生直後にデバイスが動作リセット (RST) 状態になるモー ドを意味します。 ■ バスモード バスモードは , 内部 ROM 動作および外部アクセス機能を制御します。バスモードは , モード設定端子 (MD_2, MD_1, MD_0) および内部 ROM 許可ビット ( モードベクタの ROMA) で指定されます。 FR60 には , 以下の 3 つのバスモードがあります。 ● シングルチップモード このモードでは , 内部 I/O, 内部 RAM, 内部 ROM を使用できますが , その他の領域へのアクセスは禁止され ます。外部端子は , 周辺機能によって , または汎用ポートとして使用されます。端子をバス端子として使用 することはできません。 ● 内部 ROM, 外部バスモード このモードでは , 内部 I/O, 内部 RAM, 内部 ROM を使用できます。外部アクセスが許可されている領域にア クセスすると外部領域にアクセスします。一部の外部端子はバス端子として機能します。 ● 外部 ROM, 外部バスモード このモードでは , 内部 I/O および内部 RAM を使用できますが , 内部 ROM へのアクセスは禁止されます。 内 部 ROM 領域および外部アクセスが許可されている領域にアクセスすると , 外部領域にアクセスします。一 部の外部端子はバス端子として機能します。 ■ アクセスモード アクセスモードは , 外部データバスの幅を制御し , モードデータの WTH[1:0] ビットにより設定されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 111 第 9 章 リセット 9.10 注意事項 MB91460N シリーズ 9.10 注意事項 • INITX 端子入力 電源投入時は , 必ず設定初期化リセット (INIT) が要求されるように , この端子には "L" レベルを入力してく ださい。 電源投入後は , 要求される時間 "L" レベルを入力し続けて , 発振回路の安定待ち時間をとってください。 注意:設定初期化リセットは , 発振安定待ち時間を最小値に初期化するので , INITX 端子に "L" 入力し続け ることで発振安定待ち時間を確保する必要があります。 • ウォッチドッグリセット ウォッチドッグリセット要求により設定初期化リセット (INIT) が発生した場合, 発振安定待ち時間は初期化 されません。また , メイン RUN 時では , メインクロックが停止していない場合 , ウォッチドッグリセットは 発生しても 発振安定待ち時間は取られません。 • ソフトウェアリセット 同期リセット動作許可ビット (TBCR: SYNCR) に "1" ( 同期リセットモード ) が設定されている場合 , 動作リ セット (RST) がソフトウェアリセット要求により発生しても , 動作リセット (RST) はすべてのバスアクセ スが途中停止するまで発生しません。このため , バスの使用方法によっては , 動作リセット (RST) の発生前 に長い遅延が生じることがあります。 • 設定初期化リセット (INIT) 設定初期化リセット (INIT) は , 発振安定待ち時間が経過した後に動作リセット (RST) をよび出します。 • リセット要因フラグ (INIT), (WDOG), (SRST), (LINIT) • リセット要因レジスタを読み出すと , すべてのリセット要因フラグが "0" にクリアされます。 • リセット要因レジスタが読み出される前に複数のリセットが発生した場合は , フラグ値の OR が取られ , 複数のフラグが "1" に設定されることがあります。 • リセットモード 設定初期化リセット (INIT) は , リセットモードを通常リセットモードに初期化します。 • DMA コントローラ DMA コントローラは要求が受信されると転送を途中停止するため , デバイス状態の変更は遅延しません。 • リセット時の端子状態 リセット時の端子状態の詳細は , 「3.8 端子状態一覧表」を参照してください。 112 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 10 章 スタンバイ 10.1 概要 MB91460N シリーズ 第 10 章 スタンバイ 10.1 概要 2 つのスタンバイモード ( 低消費電力モード ) が使用可能です。 • スリープモード:プログラムを停止します。 • ストップモード:デバイスを停止します。 ( 注意事項 ) ストップモードではリアルタイムクロックをアクティブのままにすることができます (「第 39 章 リアル タイムクロック」を参照してください ) 。 10.2 特長 ■ スリープモード • スリープモードでのデバイスの状態: • プログラムを停止します。 • CPU プログラムの実行のみ停止します。周辺機能は動作を継続できます。 • 内部メモリおよび内部バスが停止します。 • スリープモードへの遷移: • スリープモードはプログラムによりよび出されます。 • スリープモードからの復帰: • 有効な割込み要求の生成により , スリープモードが解除されます ( 通常動作に復帰します ) 。 • INIT 端子入力またはウォッチドッグリセットの生成によりスリープモードが解除され , 初期化リセット (INIT) に続いて動作リセット (RST) がよび出されます。 ■ ストップモード • ストップモードでのデバイスの状態: • デバイス全体が停止します。 • 内部回路が停止します ( 一部例外があります ) 。 • 内部クロック信号が停止します ( 一部例外があります ) 。 • 発振回路が停止するかどうかは , 設定によって制御されます ( プログラム可能 ) 。 • すべての外部端子をハイインピーダンスに設定できます ( プログラム可能で , 一部の端子を除きます ) 。 • ストップモードへの遷移: • ストップモードはプログラムによりよび出されます。 • ストップモードからの復帰: • 以下の 3 つの割込み要求は , デバイスを発振安定待ち状態に変更します。 •外部レベル検出またはエッジ検出割込み •発振が停止していないときにメインクロックの発振安定待ちタイマにより生成される割込み •発振が停止していないときのリアルタイムクロック割込み • INITX端子への入力によりストップモードが解除され, 初期化リセット (INIT), および動作リセット (RST) がよび出されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 113 第 10 章 スタンバイ 10.3 構成 MB91460N シリーズ 10.3 構成 図 10.3-1 構成図 状態遷移制御回路 (スタンバイモード) 0 1 STCR: ビット7 SLEEP TBCR: ビット0 設定禁止 同期スタンバイ SYNCS 0 1 OSCD1 STCR: ビット0 0 1 停止モード中にメインクロック発振を停止しません。 スリープモードに変更しません。 スリープ信号 スリープモードに変更します。 停止信号 STOP STCR: ビット7 0 1 停止モードに変更しません。 停止モードに変更します。 クロック信号 停止モード中にメインクロック発振を停止します。 HIZ STCR: ビット5 0 1 停止モード中に同じ状態を維持します。 停止モード中に端子をハイインピーダンスに設定します。 状態遷移 制御回路 端子制御 内部割込み、 外部割込み SRST STCR: ビット4 0 1 ソフトウェアリセットを生成します。 ソフトウェアリセットを生成しません。 設定初期化(INIT) INITX 動作初期化(RST) INIT RSRR: ビット7 0 1 INIT端子入力なし SRST RSRR: ビット3 0 1 ソフトウェアリセット(RST)なし ソフトウェアリセット(RST)発生 0 1 タイムベースカウンタ (発振安定待ち) ウォッチドッグタイマ RSRR: ビット5 WDOG 発振安定待ち終了 カウンタが クリアされ、 発振安定待ち INIT端子入力発生(INIT) ウォッチドッグタイムアウトなし ウォッチドッグタイムアウト(INIT)発生 図 10.3-2 レジスタ一覧 スタンバイ制御 6 アドレス bit 7 000481H STOP SLEEP 000482H 114 TBIF TBIE 5 HIZ 4 SRST 3 OS1 TBC2 TBC1 TBC0 2 OS0 − 1 − 0 STCR (スタンバイ制御) TBCR SYNCR SYNCS (タイムベースカウンタ制御) OSCD1 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 10 章 スタンバイ 10.4 レジスタ MB91460N シリーズ 10.4 レジスタ 10.4.1 STCR:スタンバイ制御レジスタ ストップおよびスリープスタンバイモードへの遷移の制御 , 端子状態の指定 , ストップモード中に発振を停止 するかどうかに使用されます。 「第 9 章 リセット」を参照してください。 • STCR:アドレス 000481H ( アクセス:バイト ) bit 7 STOP 6 5 4 3 2 1 0 SLEEP HIZ SRST OS1 OS0 − OSCD1 0 0 1 1 0 0 1 1 初期値 (INIT 入力 ) 0 0 1 1 X X 1 1 初期値 ( ウォッチドッグリセット ) 0 0 X 1 X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R1, W R/W R/W R/W R/W 属性 属性の詳細については「ビット属性シンボルの意味」を参照してください。 [bit7] STOP ( ストップモード ) STOP 動作説明 0 ストップモードへの遷移は行いません。 1 ストップモードに遷移します。 • リセット (INITX 端子入力またはソフトウェアリセット ) の発生時 , またはストップモードからの復帰時に "0" になります。 • メイン PLL 動作からストップモードへの直接遷移は禁止されています (「第 10, 8 節 注意」を参照してく ださい。)。 [bit6] SLEEP ( スリープモード ) SLEEP 動作説明 0 スリープモードへの遷移は行いません。 1 スリープモードに遷移します。 • このビットとストップモードビット (STOP) が同時に "1" に設定されると , デバイスはストップモードにな ります。 • リセット (INITX 端子入力またはソフトウェアリセット ) の発生時 , またはスリープモードからの復帰時に "0" になります。 [bit5] HIZ ( ハイインピーダンスモード ) HIZ 動作説明 0 ストップモードへの遷移時に端子状態を維持します。 1 ストップモード中に端子出力をハイインピーダンス (Hi-Z) にします。 デフォルト設定は , ハイインピーダンス (Hi-Z) です。 [bit4] SRST ( ソフトウェアリセット ) • このビットを "0" に設定すると , ソフトウェアリセットがよび出されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 115 第 10 章 スタンバイ 10.4 レジスタ MB91460N シリーズ [bit3, bit2] OS1, OS0 ( 発振安定時間選択 ) • これらのビットを "00" ∼ "11" の範囲に設定すると , ストップモードからの復帰後に使用する発振安定時 間が設定されます。 INITX 端子入力リセットまたはウォッチドッグリセットによってこの設定が初期値に初期化されます (「第 16 章 タイムベースカウンタ」を参照してください。) 。 [bit1] 予約 [bit0] OSCD1 ( メインクロック発振停止 ) OSCD1 ストップモード中のメインクロックの動作 0 発振継続 1 発振停止 10.4.2 TBCR:タイムベースタイマ制御レジスタ このレジスタは , タイムベースタイマ割込みと , リセットおよびスタンバイ動作のオプションを制御します。 注意事項 :「第 17 章 タイムベースタイマ」を参照してください。 • TBCR:アドレス 000482H ( アクセス:バイト ) bit 7 TBIF 6 5 4 3 2 1 0 TBIE TBC2 TBC1 TBC0 SYNCS 0 X X X − X SYNCR 0 0 0 初期値 (INIT, ウォッチドッグ ) 0 0 X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R R/W R/W 属性 属性の詳細については「ビット属性シンボル」を参照してください。 [bit7] TBIF ( タイムベースタイマの割込み要求フラグ ) • タイムベースタイマ割込み要求の発生時に , このフラグが "1" になります。 [bit6] TBIE ( タイムベースタイマの割込み要求許可 ) • このビットに "1" を書き込むと , タイムベースタイマ割込み要求が許可されます。 [bit5 ∼ bit3] TBC2 ∼ TBC0 ( タイムベースタイマのインターバル時間選択 ) • これらのビットに "000" ∼ "111" を範囲に設定すると , タイムベースタイマのインターバル時間を選択されます。 (F x 211, x 212, x 213, x 222, x 223, x 224, x 225, x 226) [bit2] 予約ビット 書込みによる動作への影響はありません。読出し値は未定義です。 [bit1] SYNCR ( 同期リセット動作許可 ) • 通常リセット "0" または同期リセット "1" を選択します。 [bit0] SYNCS ( 同期スタンバイ動作許可 ) SYNCS 116 動作説明 0 通常リセット動作 ( 設定禁止 ) 1 同期スタンバイ動作許可 ( スタンバイモードに変更する前に必ずこの値に設定 ) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 10 章 スタンバイ 10.4 レジスタ MB91460N シリーズ 同期スタンバイ動作時は , STOP ビットへの書込みが行なわれただけでは遷移しません。STCR レジスタを読 み出して初めて遷移します。 • 同期スタンバイ動作について スタンバイ制御レジスタへの書き込みは , 複数のバスを経由して行なわれます。 そのため , スタンバイ制御レジスタへの書き込み命令が発行された後 , 複数のバスを経由しているうちに , 以 降の命令が実行されてしまう可能性があります。 これを防止するために , 同期スタンバイモードを使用してください。 同期スタンバイモードでは , スタンバイ制御レジスタへの書き込み後 , 同レジスタを読み出すことでスタンバ イに遷移します。 読み出しも複数のバスを経由して行なわれますが , 読み出し命令の場合は , データが CPU に戻ってくるまで , 以降の命令が実行されることはありません。 そのため , スタンバイ遷移命令が実行された時点で , CPU をスタンバイモードに遷移させることが可能です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 117 第 10 章 スタンバイ 10.5 動作説明 MB91460N シリーズ 10.5 動作説明 10.5.1 スリープモード ■ スリープモードへの遷移 スリープモードビット (STCR: SLEEP) に "1" を書き込むことにより , スリープモードに変わります。デバイス をスリープモードからウェイクアップするイベントが発生するまで , デバイスはこのモードのままになります (「10.8 注意事項」を参照してください。)。 ■ スリープモードでのデバイスの状態 • プログラムの実行が停止します ( 周辺機能は動作を継続します。) 。 • 内部メモリおよび内部バスが停止します。 • スリープモード中に停止する回路 • ビットサーチモジュール • すべての内部メモリ (I キャッシュを含む ) • 内部 / 外部バス • スリープモード中に停止しない回路 • 発振回路 , メイン PLL ( 有効になっている場合 ) • クロック生成制御回路 • 割込みコントローラ • 外部割込み • DMA • 周辺 ■ 復帰およびその他の項目 • 許可されている割込み要求の生成により , デバイスが RUN モードに復帰します ( 通常動作に復帰します。)。 • INITX 端子入力またはウォッチドッグリセットの生成により解除され , 初期化リセット (INIT) に続いて動作 リセット (RST) がよび出されます。 118 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 10 章 スタンバイ 10.5 動作説明 MB91460N シリーズ 10.5.2 ストップモード ■ ストップモードへの遷移 ストップモードビット (STCR:STOP) に "1" を書き込むことにより , ストップモードに変わります。 デバイスをストップモードからウェイクアップするイベントが発生するまで , デバイスはこのモードのままに なります。 ■ ストップモードでのデバイスの状態 • デバイス全体が停止します ( 内部回路停止および内部クロック信号停止 ) 。 • ストップモード中に停止する回路 下記以外のすべての内部回路 • ストップモード中に停止しない回路 • 停止するように指定されていない発振回路 • メインクロックの発振回路 ( 無効になっていない場合 ) • メインクロックの発振回路 , PLL 回路 , およびメインレギュレータが有効になっている場合は , メイン PLL 回路 • 発振により直接駆動される周辺機能および停止するように指定されていない周辺機能 • リアルタイムクロック ( 無効になっていない場合 ) で , RTC クロックソースが有効に設定されている。 • 端子状態 ( ハイインピーダンスまたは前の状態を維持 ) • 端子出力がストップモード中にハイインピーダンスになるように設定されている場合 • ハイインピーダンス出力:汎用ポートとして設定された端子 , および周辺機能で使用するために選択 された端子。 • 端子出力がストップモード中に前の状態を維持するように設定されている場合 • 前の状態を維持:汎用ポートとして設定された端子 , および周辺機能で使用するために選択された 端子。 • 外部割込みとして設定されている場合 • 入力可能状態: 外部割込み入力として設定されている端子。 ( 端子出力がハイインピーダンスもしくは状態維持のどちらに設定されていても関係ありません。) ■ 復帰およびその他の項目 • 以下のいずれかの割込み要求によって , デバイスが発振安定待ち RUN 状態になってから , 発振安定時間の 経過後 ( 通常動作への復帰後 ) に RUN モードに戻る原因となります。 • レベル検出あるいは端面検出に設定され , 特定のクロックを必要としない外部割込み • リアルタイムクロック割込み ( 動作している場合 ) • INITX 端子入力またはウォッチドッグリセットの生成により , 発振安定時間の経過後に初期化リセット (INIT) に続いて動作リセット (RST) がよび出されます。 • メインクロックの発振を停止している状態から , INITX 入力によって復帰する場合は , 発振安定待ち時間が 経過するまで , INITX に "L" を入力し続ける必要があります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 119 第 10 章 スタンバイ 10.6 設定 MB91460N シリーズ 10.6 設定 表 10.6-1 スリープモードへの変更に必要な設定 設定 設定レジスタ 設定手順* 割込み設定 ( 各周辺機能の章を参照してください。) 同期スタンバイ設定 タイムベースタイマ制御レジスタ (TBCR) 第 10.7.1 項 スリープモードへの変更 スタンバイ制御レジスタ (STCR) 第 10.7.1 項 動作制限 (「10.8 注意事項」を参照してください。) ― ― * 設定手順については , 「設定手順」欄に示された項を参照してください。 表 10.6-2 ストップモードへの変更に必要な設定 設定レジスタ 設定手順* 発振安定待ち時間の選択 (「第 16 章 タイムベースカウンタ」を参照してください。) ― 割込み設定 ( 各周辺機能の章を参照してください。) ― 同期スタンバイ設定 タイムベースタイマ制御レジスタ (TBCR) 第 10.7.2 項 ストップモードへの変更 スタンバイ制御レジスタ (STCR) 第 10.7.2 項 動作制限 (「10.8 注意事項」を参照してください。) 設定 ― * 設定手順については , 「設定手順」欄に示された項を参照してください。 120 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 10 章 スタンバイ 10.7 Q & A MB91460N シリーズ 10.7 Q & A 10.7.1 スリープモードへの変更方法 スリープモードに変更する前に , 同期スタンバイ動作許可ビット (TBCR: SYNCS) を設定する必要がありま す。 同期スタンバイ動作許可ビット (SYNCS) 動作説明 同期スタンバイ動作を許可するには "1" に設定します。 <注意事項> 設定 (SYSNCS=0) は禁止されています。 スリープモードビット (STCR: SLEEP) を使用して設定します。 スリープモードビット (SLEEP) 動作説明 スリープモードに変更しない場合 "0" に設定します。 スリープモードに変更するには "1" に設定します。 <注意事項> スリープモードに変更する場合に適用される制限事項があります。詳細は , 「10.8 注意事項」を参照して ください。 10.7.2 ストップモードへの変更方法 • メイン PLL クロックで動作している場合は , 動作クロックを発振の 2 分周に設定する必要があります。 動作クロックの変更の詳細については , 「12.7.3 動作クロックソースを選択するには ?」を参照してくださ い。 • ストップモードに変更する前に , 同期スタンバイ動作許可ビット (TBCR: SYNCS) を設定する必要がありま す。第 10.7.1 項を参照してください。 • ストップモードビット (STCR: STOP) を使用して設定します。 動作説明 ストップモードビット (STOP) ストップモードに変更しない場合 "0" に設定します。 ストップモードに変更するには "1" に設定します。 <注意事項> ストップモードに変更する場合に適用される制限事項があります。詳細は , 「10.8 注意事項」を参照して ください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 121 第 10 章 スタンバイ 10.7 Q & A MB91460N シリーズ 10.7.3 ストップモード中に端子をハイインピーダンス (Hi-z) に設定する方法 ハイインピーダンスモードビット (STCR: HIZ) を使用して設定します。 動作説明 ハイインピーダンスモードビット (HIZ) ストップモード中に端子をハイインピーダンスに設定しない場合 "0" に設定します。 ストップモード中に端子をハイインピーダンスに設定するには "1" に設定します。 <注意事項> 一定の状況下でハイインピーダンスにならないポートもあります (「10.5.2 ストップモード」を参照して ください。) 。 10.7.4 ストップモード中にメインクロック発振を途中停止する方法 メインクロック発振停止ビット (STCR: OSCD1) を使用します。 動作説明 メインクロック発振停止ビット (OSCD1) ストップモード中にメインクロック発振を途中停止しない場合 "0" に設定します。 ストップモード中にメインクロック発振を停止するには "1" に設定します。 10.7.5 スリープモードからの復帰方法 スリープモードから復帰するために使用できる方法は 2 つあります。 • 許可されている割込み要求の生成により , RUN モードに復帰します ( 通常動作に復帰します ) 。 割込み処理を使用している場合は , I フラグ (I), 割込みレベルマスクレジスタ (ILM), 割込み制御レジスタ (ICR) を設定します。 • INIT 端子入力またはウォッチドッグリセットの生成により , 初期化リセット (INIT) に続いて動作リセット (RST) がよび出されます。 10.7.6 ストップモードからの復帰方法 以下のイベントによりストップモードから復帰します。 • 以下の 3 つの割込みは , デバイスを発振安定待ち状態に変更します。 • 外部割込み • 発振が停止していないときのメインクロックの発振安定待ちタイマ • 発振が停止していないときのリアルタイムクロック 割込み処理を使用している場合は , I フラグ (I), 割込みレベルマスクレジスタ (ILM), 割込み制御レジスタ (ICR) を設定します。 • INITX 端子への入力により , 初期化リセット (INIT) に続いて発振安定待ち , さらに動作リセット (RST) がよ び出されます。 INIT 端子入力の場合 , INITX 端子入力の幅によっては発振安定待ちが必要です。 「第 12 章 クロック制御」および「第 16 章 タイムベースカウンタ」を参照してください。 122 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 10 章 スタンバイ 10.8 注意事項 MB91460N シリーズ 10.8 注意事項 • スリープモードに遷移する場合の注意点 スリープモードに遷移する場合は , 同期スタンバイ動作許可ビット (TBCR: SYNCS= 1) を設定します。 また , 同期スタンバイ動作を有効にしてスリープモードに遷移するには , SLEEP ビットに書き込んだ後に STCR レジスタを読み取る必要があります。常に下記の順序で行います。 (LDI (LDI STB LDUB LDUB NOP NOP NOP NOP NOP #value_of_sleep, R0) ; value_of_sleepにはSTCRの書込みデータが含まれます。 #_STCR, R12) ; _STCRはSTCRのアドレスです(481H)。 R0, @R12 ; スタンバイ制御レジスタ(STCR)に書き込みます。 @R12, R0 ; 同期スタンバイではSTCRの読取りが必要です。 @R12, R0 ; STCRへの2回目のダミーリード ; タイミング用にNOP×5が必要です。 • ストップモードに遷移する場合の注意点 スリープモードに遷移する場合は , 同期スタンバイ動作許可ビット (TBCR: SYNCS= 1) を設定します。 また , 同期スタンバイ動作を有効にしてストップモードに遷移するには , STOP ビットに書き込んだ後に STCR レジスタを読み取る必要があります。常に下記の順序で行います。 (LDI (LDI STB LDUB LDUB NOP NOP NOP NOP NOP #value_of_stop, R0) ; value_of_stopにはSTCRの書込みデータが含まれます。 #_STCR, R12) ; _STCRはSTCRのアドレスです(481H)。 R0, @R12 ; スタンバイ制御レジスタ(STCR)に書き込みます。 @R12, R0 ; 同期スタンバイではSTCRの読取りが必要です。 @R12, R0 ; STCRへの2回目のダミーリード ; タイミング用にNOP×5が必要です。 • メイン PLL が動作クロックソースとして選択されている場合 メイン PLL が動作クロックソースとして選択されている場合は , ストップモードに遷移する前に , 動作ク ロックソース選択をメインクロックの 2 分周に変更します。 詳細は , 「第 12 章 クロック制御」を参照してください。 クロック分周比設定に適用される制限事項は , 通常動作の場合と同じです。また , 必ずしも PLL 発振を停 止する必要はありません。 • 割込み制御レジスタで割込みが禁止されている場合 (ICR=00011111B), 割込みが発生してもデバイスはストッ プモードまたはスリープモードから復帰しません。 • ストップモードでの端子ハイインピーダンス制御 ハイインピーダンスビット (STCR: HIZ) を "1" に設定することにより , ストップモード中に端子出力をハ イインピーダンスに設定します。ハイインピーダンスビット (STCR: HIZ) が "0" に設定されている場合 , 端子はストップモードに入る前の状態を保持します。 特定の端子の動作などの詳細は , 「3.8 端子状態一覧表」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 123 第 10 章 スタンバイ 10.8 注意事項 124 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.1 概要 MB91460N シリーズ 第 11 章 メモリコントローラ 11.1 概要 メモリコントローラは , FLASH メモリおよび汎用 RAM(I/D-RAM) を制御します。 FLASH メモリおよび汎用 RAM からのコードフェッチは , I バス経由で行なわれます。 FLASH メモリおよび汎用 RAM からのデータアクセスは , F バス経由で行なわれます。 FLASH メモリには , FLASH メモリ用命令キャッシュが搭載されています。 FLASH メモリは , プリフェッチ機能を用いてアクセス可能で , コードのリニアアクセス時にはコードフェッ チ遅延を小さくすることができます。 11.2 FLASH インタフェース • タイミング制御 FLASH アクセス時のウェイトタイミングを制御できます。 FLASH アクセス時の制御信号を独立して制御できます。 上記により , CPU のクロック周波数に合わせて , 最適な FLASH メモリアクセスを行なうことができます。 詳細は , 「11.5 FLASH アクセスタイミング設定」を参照してください。 • アクセスモード 読み出しモードを 16bit, 32bit モードに変更できます。 書込みモードを 16bit, 32bit モードに変更できます。 16bit 読み出しモードは , プログラム実行には使用できません。 FLASH メモリから命令 , もしくはデータの読み出し中に , これらのモードを変更することは禁止です。 必ず , I-RAM にプログラムを展開して行なってください。 <注意事項> FLASH メモリは , アクセスモードが変更された後 , 100ns の遷移時間が必要です。 モードを変更した場合は , 100ns 待ってから読み出しを行なってください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 125 第 11 章 メモリコントローラ 11.3 汎用 RAM MB91460N シリーズ • プリフェッチ リニアコード実行時 , プリフェッチによってフェッチ遅延を小さくできます。 プリフェッチが成功したかどうかは , プリフェッチアドレスと , CPU からの命令アクセスのアドレスが一致 するかどうかで決まります。 命令フェッチ間に時間が空いてしまっても , プリフェッチされた命令は , プリフェッチバッファに蓄えられ ます。 プリフェッチバッファは , キャッシュメモリを使いますので , キャッシュが禁止になっていると , プリフェッ チバッファは使用されません。 プリフェッチに失敗した場合 , プリフェッチ動作は即時解除されます。 命令フェッチ , データフェッチの区別はありません。 リニアコード実行中であっても , 途中に異なるアドレスへのデータアクセスが発生した場合は , 解除されて しまいます。 11.3 汎用 RAM コードおよびデータに使える 2KB の RAM です。 コードアクセスは , 0wait で可能です。データアクセスは , 1wait で行なわれます。 11.4 FLASH 用命令キャッシュ 4KB の FLASH 用命令キャッシュです。 <注意事項> データの整合性を保つために , FLASH メモリへの書込みおよび消去中は , 命令キャッシュを禁止し , FLASH メモリへの書込み / 消去が終了したら , キャッシュをフラッシュしてください。 11.4.1 アルゴリズム ワードエントリの , ダイレクトマップキャッシュです。 FLASH 用命令キャッシュは , FLASH からのコードフェッチを順次貯めていく標準的なキャッシュアルゴリズ ムです。 キャッシュがヒットしているかの判定と FLASH メモリへのアクセスは平行して行なわれるので , キャッシュ ミスが起こっても , キャッシュを禁止にしている場合と比べてペナルティはありません。 126 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.4 FLASH 用命令キャッシュ MB91460N シリーズ 11.4.2 プリフェッチミスキャッシュ キャッシュアルゴリズムを , プリフェッチミスしたときのみキャッシュするアルゴリズムに変更することがで きます。 FLASH メモリアクセスが CPU クロック 2 サイクル以内に収まれば , リニアコード実行時 , CPU はプリフェッ チ機能のみで , FLASH メモリに待たされることなくコードをフェッチしていくことが可能です。 この場合 , キャッシュ機能は意味を持ちません。 ただし , 分岐等でプリフェッチミスが起こるとパフォーマンスが落ちます。 そのため , プリフェッチミスした直後のコードのみをキャッシュすることで , 分岐等によるパフォーマンス低 下のみを改善できます。 このアルゴリズムは , 限られたキャッシュメモリを効率よく使用することができます。 FLASH へのアクセスを 2 サイクル以内に収めることができるかは , CPU クロックと FMWT レジスタの設定に 依存します。詳細は , FMWT レジスタの項を参照してください。 11.4.3 非キャッシュ領域指定 キャッシュ対象外にする領域をFCHA0/1レジスタで設定できます。初期値は, キャッシュ対象外領域なしです。 指定の方法は , アドレスマスク方式とアドレス範囲指定方式の 2 種類あります。 • アドレスマスク方式 FCHCR:REN ビットを "0" に設定するとこの方式が用いられます。 このとき , FCHA0 レジスタで指定されたアドレスが対象外領域となります。アドレス比較は , FCHA1 で指 定されているビットをマスクして行なわれるので , 領域を指定することができます。 例)FCHA0 = #0x000F:A300 FCHA1 = #0x0000:FFFF の場合 , キャッシュ対象外領域は , 0x000F:0000 ∼ 0x000F:FFFF となります。 下位 16 ビットがマスクされるので , 上位 16 ビットのみの比較判定が行なわれます。 • アドレス範囲方式 FCHCR:REN ビットを "1" に設定するとこの方式が用いられます。 FCHA0 で指定されたアドレスから FCHA1 で指定されたアドレスまでがキャッシュ対象外領域になります。 例)FCHA0 = #0x000F:A300 FCHA1 = #0x000F:F7FF の場合 , キャッシュ対象外領域は , 0x000F:A300 ∼ 0x000F:F7FF となります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 127 第 11 章 メモリコントローラ 11.4 FLASH 用命令キャッシュ MB91460N シリーズ 11.4.4 キャッシュフラッシュ FCHCR:FLUSH ビットに "1" を書き込むことで , 命令キャッシュのエントリフラッシュが開始されます。 フラッシュしている間 , キャッシュは禁止されます。 初期化が実行されるには , 1 エントリあたり CPU クロック 1 サイクルが必要です。 すべてのエントリがフラッシュされると , FCHCR:FLUSH ビットは "0" にクリアされるので , キャッシュフラッ シュの終了を知ることができます。 FCHCR:FLUSH ビットの初期値は "1" なので , リセット後 , 最初にキャッシュを許可したときに必ずキャッシュ エントリはフラッシュされます。 キャッシュフラッシュ時には , キャッシュ容量が正しく設定されている必要があるので , FCHCR.SIZE1/0 を正 しく設定してからキャッシュを許可するようにしてください。 <注意事項> FCHCR:FLUSH に "1" を書き込んでキャッシュをフラッシュする場合 , FCHCR:SIZE1/0 の書き換えと同時 に行なってはいけません。 かならず , FCHCR:SIZE1/0 を設定してから起動してください。 11.4.5 グローバルロック キャッシュ済みのエントリをロックすることで , エントリの書込み / 更新を禁止することができます。 全キャッシュエントリに対して , ロックが効きます。 128 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.5 FLASH アクセスタイミング設定 MB91460N シリーズ 11.5 FLASH アクセスタイミング設定 11.5.1 FLASH 読み出しアクセスサイクル FLASH アクセスサイクルの例を示します。 レジスタ設定で , tATD, tALEH, tEQ, tWTC をそれぞれ個別に設定できます。 flash_start FMA valid ATDIN EQIN flash_wait DO valid tATD tALEH tEQ tWTC tRC 上記波形の設定値例を示します。 長さ 設定 tATD 1.5 CPU サイクル FMWT:ATD = 2 tALEH 1.5 CPU サイクル FMWT2:ALEH = 2 tEQ 3 CPU サイクル FMWT:EQ = 2 tWTC 6 CPU サイクル FMWT:WTC = 2 tRC 7 CPU サイクル FMWT:WTC + 1 = 3 読み出し / 書き込みタイミング設定については , 各品種のデータシートを参照願います。 11.5.2 読み出し制御信号の仕様 各制御信号の実時間は , FMWT レジスタで設定され , 以下のように計算されます。 tATD : (FMWT:ATD + 1) × 0.5 [CPU サイクル ] tALEH : (FMWT2:ALEH + 1) × 0.5 [CPU サイクル ] tEQ : [CPU サイクル ] tWTC : (FMWT:EQ + 1) × 0.5 FMWT:WTC tRC : FMWT:WTC + 1 [CPU サイクル ] CM71-10149-1 [CPU サイクル ] FUJITSU MICROELECTRONICS LIMITED 129 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ 11.6 レジスタ 11.6.1 一覧と注意事項 11.6.1.1 一覧 表 11.6-1 レジスタ一覧 レジスタ アドレス 007000H +0 +1 +2 FMCS [R/W] 01101000 FMCR [R/W] ----0000 FMWT [R/W] 11111111 01011101 007004H ブロック +3 FCHCR [R/W] ------00 1000011 FMWT2[R/W] -101---- 007008H FMAC [R] -------- ---00000 00000000 00000000 00700CH FCHA0 -------- -0000000 00000000 00000000 007010H FCHA1 -------- -0000000 00000000 00000000 FMPS [R/W] -----000 フラッシュメモリ キャッシュコントロール レジスタ I- キャッシュ ノンキャブルエリア設定 レジスタ 11.6.1.2 注意事項 すべてのレジスタに対する読出し / 書込みアクセスは , バイト , ハーフワード , およびワードになります。 11.6.2 FLASH メモリ制御ステータスレジスタ (FMCS) FMCS bit 31 アドレス:007000H 読出し / 書込み → 初期値 → 30 29 28 27 26 25 24 予約 予約 予約 RDYEG RDY 予約 RW16 予約 R/W 0 R/W 1 R/W 1 R 0 R 1 R/W 0 R/W 0 R/W 0 [bit31-29] : 予約 常に "011" を書いてください。リード時 , "011" が読めます。 130 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ [bit28] : RDY ステータス保留 / 終了レジスタ (RDYEG) RDYEG 内容 0 自動アルゴリズムが , 完了していない。( 初期値 ) 1 自動アルゴリズムが , 完了している。 初期値は "0" です。 このビットは , FMCS:RDY が "0" から "1" に変化すると , "1" にセットされます。 リードすると , "0" にクリアされます。 このビットは , FLASH がレディであるか , またはレディであった(自動アルゴリズムが完了した)ことを 示します。 FMCS:RDY が "0" から "1" に変化したときにセットされることに注意してください。 本ビットを読み出して "0" にクリアする前に , 再度 , 自動アルゴリズムが起動しても , "0" には戻りません。 [bit27] : 自動アルゴリズムの FLASH レディ (RDY) FLASH への書込み / 消去などで自動アルゴリズムが開始された場合 , FLASH はビジー状態になります。 本ビットで FLASH のレディ / ビジー状態を読み出すことができます。 RDY が "1" に戻った場合 , 自動アルゴリズムは完了しています。 RDY ビットは , 読出し専用のステータス情報です。 [bit26] : 予約 常に "0" を書いてください。リード時 , "0" が読めます。 [bit25] : 16bit アクセス許可ビット (RW16) RW16 内容 0 32bit アクセスが許可されています。( 初期値 ) 1 16bit アクセスが許可されています。 初期値は "0" です。 <注意事項> MB91F463N では , FLASH メモリに書込みを行なう場合 , RW16 ビットを "1" に設定してください。 [bit24] : 予約 常に "0" を書いてください。リード時 , "0" が読めます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 131 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ 11.6.3 FLASH メモリ制御ステータスレジスタ (FMCR) FMCR bit 23 22 21 20 19 18 17 16 − − − − LOCK 予約 PF2I RD64 − − − − X X X X R/W 0 R/W 0 R/W 0 R/W 0 アドレス:007001H 読出し / 書込み → 初期値 → [bit23-20] : 予約 不定値が読めます。書込みは無視されます。 [bit19] : ALEH 自動更新ロック (LOCK) LOCK 内容 0 ALEH 設定自動更新が許可されています ( 初期値 ) 1 ALEH 設定自動更新は禁止されています 初期値は "0" です。 このビットを "0" に設定すると , FMWT:ATD ビットに書き込むことにより , FMWT2:ALEH が自動的に同じ 設定に更新されます。 このビットを "1" に設定することで , 自動更新が行われないようにすることができます。 [bit18] : 予約 常に "0" を書いてください。リード時 , "0" が読めます。 [bit17] : 32 ビットプリフェッチ設定ビット (PF2I)) PF2I 内容 0 64bit プリフェッチモード ( 初期値 ) 1 32bit プリフェッチモード 初期値は "0" です。 読み出しモードが 64bit のときに , 本ビットを "1" に設定すると , プリフェッチは 32bit 単位で行なわれま す。 MB91F463N では , この設定は使用できません。 132 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ [bit16] : 64 ビット読み出しモード許可ビット (RD64) RD64 内容 0 64bit 読み出しモード禁止 ( 初期値 ) 1 64bit 読み出しモード許可 初期値は "0" です。 本ビットを "1" に設定すると , FLASH メモリからの読み出しを 64bit 単位で行ないます。 MB91F463N では , この設定は使用できません。 11.6.4 FLASH キャッシュ制御レジスタ (FCHCR) FCHCR アドレス:007002H 読出し / 書込み → 初期値 → bit 15 14 13 12 11 10 9 8 − − − − − − REN 予約 − − − − − − X X X X X X R/W 0 R/W 0 5 4 1 0 bit 7 アドレス:007003H 読出し / 書込み → 初期値 → FLSH R(RM0)/W 1 6 予約 R/W 0 3 2 PFEN PFMC LOCK ENAB SIZE1 SIZE0 R/W 0 R/W 0 R/W 0 R/W 1 R/W 0 R/W 1 [bit15-10] : 予約 不定値が読めます。書込みは無視されます。 [bit9] : 非キャッシュ領域指定許可 (REN) REN 内容 0 非キャッシュ領域指定をアドレスマスク方式で行ないます。 ( 初期値 ) 1 非キャッシュ領域指定をアドレス範囲指定方式で行ないます。 初期値は "0" です。 [bit8] : 予約 常に "0" を書いてください。リード時 , "0" が読めます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 133 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ [bit7] : 命令キャッシュエントリのフラッシュ (FLUSH) FLUSH 内容 0 フラッシュは完了しています。 1 フラッシュ中です。 (初期値) 初期値は "1" です。 フラッシュ起動を FCHCR:SIZE1/0 の書き換えと同時に行なってはいけません。 かならず , FCHCR:SIZE1/0 の設定を行なってからフラッシュするようにしてください。 フラッシュが終了すると "0" にクリアされます。 "0" 書込みは無視されます。 リード・モディファイ・ライト命令のリード時は , "0" が読めます。 [bit6] : 予約 常に "0" を書いてください。リード時 , "0" が読めます。 [bit5] : プリフェッチ許可 (PFEN) PFEN 内容 0 命令のプリフェッチを禁止。 (初期値) 1 命令のプリフェッチを許可。 初期値は "0" です。 [bit4] : プリフェッチミスキャッシュ許可 (PFMC) FLUSH 内容 0 プリフェッチミスキャッシュ禁止。 (初期値) 1 プリフェッチミスキャッシュ許可。 初期値は "0" です。 [bit3] : キャッシュエントリのグローバルロック (LOCK) LOCK 内容 0 キャッシュエントリの書込み許可。 (初期値) 1 キャッシュエントリの書込み禁止。 初期値は "0" です。 134 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ [bit2] : 命令キャッシュ許可 (ENAB) ENAB 内容 0 命令キャッシュ禁止。 (初期値) 1 命令キャッシュ許可。 初期値は "0" です。 [bit1] : キャッシュ容量構成 (SIZE1/0) SIZE1/0 内容 00 0KB - キャッシュ禁止 01 4KB (1024 エントリ ) 10 8KB (2048 エントリ ) 11 16KB (4096 エントリ ) (初期値) 初期値は "11" です。 キャッシュを許可する前に設定してください。 キャッシュフラッシュ起動と同時に書き換えることは禁止です。 MB91F463N は命令キャッシュが 4KB ですので , "01" を設定してください。 11.6.5 FLASH メモリウェイトタイミングレジスタ (FMWT) FMWT bit 31 アドレス:007004H 読出し / 書込み → 初期値 → 予約 予約 R/W 1 R/W 1 bit 23 アドレス:007005H 読出し / 書込み → 初期値 → FMWT2 読出し / 書込み → 初期値 → FMPS 読出し / 書込み → 初期値 → CM71-10149-1 28 27 26 WEXH1 WEXH0 WTC3 WTC2 R/W 1 R/W 1 R/W 1 R/W 1 25 24 WTC1 WTC0 R/W 1 R/W 1 22 21 20 19 18 17 16 ATD2 ATD1 ATD0 EQ3 EQ2 EQ1 EQ0 R/W 0 R/W 1 R/W 0 R/W 1 R/W 1 R/W 1 R/W 0 R/W 1 14 13 12 11 10 9 8 − − − − − ALEH2 ALEH1 ALEH0 R/W 1 R/W 0 R/W 1 − − − − X X X X 6 5 4 3 2 1 0 − − − − − 予約 予約 予約 − − − − − X X X X X R/W 0 R/W 0 R/W 0 − X bit 7 アドレス:007007H 29 予約 bit 15 アドレス:007006H 30 FUJITSU MICROELECTRONICS LIMITED 135 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ [bit31,30] : 予約 常に "11" を書いてください。リード時 , "11" が読めます。 [bit29,28] : WEX の Hi 幅設定ビット (WEXH) 初期値 3 です。 WEX の Hi 幅は , レジスタ値 +2 となりますので , 初期値では , 5 サイクルです。 [bit27-24] : FLASH メモリアクセスウェイトサイクル (WTC) 初期値 15 です。 FLASH の総アクセスサイクルは , WTC+1 サイクルになります。 [bit23] : 予約 常に "0" を書いてください。リード時 , "0" が読めます。 [bit22:20] : FLASH メモリアクセス制御信号 ATDIN サイクル (ATD) MB91460N シリーズでは , 初期値 5 です。MB91V460A では , 初期値は 7 となります。 [bit19-16] : FLASH メモリアクセス制御信号 EQIN サイクル (EQ) MB91460N シリーズでは , 初期値 13 です。MB91V460A では , 初期値は 15 となります。 [bit15] : 予約 不定値が読めます。書込みは無視されます。 [bit14-12] : FLASH メモリアクセス制御信号 ALEH サイクル (ALEH) MB91460N シリーズでは , 初期値 5 です。MB91V460A では , 使用不可となります。 [bit11-3] : 予約 不定値が読めます。書込みは無視されます。 [bit2-0] : 予約 常に "000" を書いてください。リード時 , "000" が読めます。 <注意事項> ATD および EQ ビットについて MB91V460A では , これらのビットを設定しても動作に影響ありませんが , MB91460N シリーズの動作 周波数に合わせて設定し , 使用してください。 136 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ 11.6.6 FLASH メモリアドレスチェックレジスタ (FMAC) FMAC bit 31 0 アドレス:007008H FMAC 読出し / 書込み → 初期値 → R -------- -0000000 00000000 00000000 このレジスタは , テスト用です。FLASH アクセスサイクルが始まったときのアドレスを , 常に取り込みま す。 11.6.7 非キャッシュ領域定義レジスタ (FCHA1/0) FCHA0 bit 31 0 アドレス:00700CH FCHA0 読出し / 書込み → 初期値 → FCHA1 R -------- -0000000 00000000 00000000 bit 31 0 アドレス:007010H FCHA1 読出し / 書込み → 初期値 → R -------- -0000000 00000000 00000000 FLASH 用キャッシュの非対象領域を設定するためのレジスタです。 初期値では , 非対象領域は存在しません。 <注意事項> ATD 及び EQ ビットについて , MB91V460A では , これらのビットを設定しても動作に影響ありませんが , MB91460N シリーズの動作周波数に合わせて設定して使用してください。 11.6.8 フラッシュメモリコントローラ設定 • フラッシュアクセスタイミング設定 フラッシュメモリでのプログラム実行時には ,CPU クロック (CLKB) の周波数により下記の設定を適用して ください。下記の設定はフラッシュメモリへのアクセスが最速となる推奨設定です。 表 11.6-2 フラッシュメモリリード動作時 CPU クロック (CLKB) ATD ALEH EQ WEXH WTC ∼ 24 MHz 0 0 0 0 1 ∼ 48 MHz 0 0 1 0 2 ∼ 96 MHz 1 1 3 0 4 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 137 第 11 章 メモリコントローラ 11.6 レジスタ MB91460N シリーズ 表 11.6-3 フラッシュメモリ書込み動作時 138 CPU クロック (CLKB) ATD ALEH EQ WEXH WTC ∼ 32 MHz 1 0 1 0 4 ∼ 48 MHz 1 0 3 0 5 ∼ 64 MHz 1 1 3 0 6 ∼ 96 MHz 1 1 3 0 7 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.1 概要 MB91460N シリーズ 第 12 章 クロック制御 12.1 概要 クロック制御回路は , 原発振部 , ベースクロック発生部 , 動作クロック発生部で構成されています。 クロック制御回路では , 高速クロック ( 最大 80MHz) から低速クロック (2MHz) まで , 広範なクロック速度がサ ポートされています。 メインクロック原発振 2分周 セレクタ デバイダ CPUクロック(CLKB) デバイダ 周辺クロック(CLKP) PLL ベースクロック セレクタ デバイダ CANクロック 12.2 特長 ■ 原発振 • メインクロック (FCL-MAIN) :4MHz X0/X1 端子から入力され , 高速クロックとして使用されます。 ■ ベースクロック (F) :2 種類のクロックから選択可能 • メイン PLL ( プログラマブル ):FCL-MAN x N • メインクロックの 2 分周:FCL-MAIN の 2 分周 ■ 動作クロック:16 種類の速度から選択可能 • CPU クロック (CLKB) :F/1, /2, /3, /4, /5, /6, /7, /8, ..., /16 CPU, 内部メモリ , 内部バスにより使用されるクロックです。このクロックを使用する回路は , 以下のとお りです。 • CPU, 内部 RAM, 内部 ROM, ビット検索モジュール • I バス , D バス , F バス , X バス • 周辺クロック (CLKP) :F/1, /2, /3, /4, /5, /6, /7, /8, ..., /16 周辺機能および周辺バスにより使用されるクロックです。このクロックを使用する回路は , 以下のとおりで す。 • 周辺バス • クロックコントローラ ( バスインタフェースユニットのみ ) • 割込みコントローラ • 入出力ポート • 外部割込み入力 , LIN-USART, 16 ビットタイマ , および類似する周辺機能 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 139 第 12 章 クロック制御 12.3 構成 MB91460N シリーズ 12.3 構成 図 12.3-1 構成図 PLL1EN 0 1 OSCD1 STCR: bit0 0 ストップモードで 発振継続 1 ストップモードで 発振停止 PLL停止 PLL許可(開始) OSCCR: bit0 0 メインクロックはサブ クロックモードで実行を続行 1 メインクロックはサブ クロックモードで停止 メインクロック ソース (FCLK-MAIN ) PLLDIVG: bit3~bit0 PLLMULG: bit7~bit0 2分周 OSCD0 0 1 B3-B0 0000 0001 0010 0011 0100 0101 0110 0111 DIVR0: bit7~bit4 分周なし 2分周 3分周 4分周 5分周 6分周 7分周 8分周 1000~1110 9-15分周 16分周 1111 デバイダ PLL セレクタ X1 PLLDIVM: bit3~bit0 PLLDIVN: bit5~bit0 PLL自動ギアの設定 OSCDS1 X0 PLL逓倍数 CLKR: bit2 CLKS1CLKS0 STCR: bit0 停止モードで発振を続行 00 停止モードで発振を停止 01 10 11 CPUクロック (FCLKB) デバイダ ベース クロック (φ) 周辺クロック (FCLKP) ベースクロック (φ) CLKR: bit6~bit4 許可変更 メインクロックの2分周 00=>01, 10 (メインクロックモード) メインクロックの2分周 01=>00 (メインクロックモード) メインPLL 10=>00 (メインクロックモード) 設定不可 設定不可 P3-P0 0000 0001 0010 0011 0100 0101 0110 0111 DIVR1: bit3~bit0 分周なし 2分周 3分周 4分周 5分周 6分周 7分周 8分周 9-15分周 1000~1110 16分周 1111 図 12.3-2 レジスタ一覧 クロック制御 アドレス bit 000486H 7 B3 6 B2 5 B1 4 B0 000487H --- --- --- --- 000484H --- --- --- --- 00048AH --- --- --- --- HIZ SRST 000481H STOP SLEEP 140 3 P3 2 P2 1 P1 0 P0 DIVR0 (クロック分周設定レジスタ0) DIVR1 --------- (クロック分周設定レジスタ1) CLKR --- PLL1EN CLKS1 CLKS0 (クロックソース制御レジスタ) OSCCR --- OSCDS1 (発振制御レジスタ) ----STCR OS1 OS0 OSCD1 (スタンバイ制御レジスタ) --- FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.4 レジスタ MB91460N シリーズ 12.4 レジスタ 12.4.1 CLKR:クロックソース制御レジスタ MCU の動作および PLL の制御に使用されるベースクロックのクロックソースを選択します。 • CLKR:アドレス 000484H ( アクセス:バイト ) bit 7 6 5 4 3 2 1 0 − − − − − PLL1EN CLKS1 CLKS0 X X X X 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit4] 予約 : 予約ビット このビットには , 常に "0" を書き込んでください。書き込まれた値が読出し値になります。 [bit3] 予約:予約ビット このビットには , 常に "0" が書き込んでください。 [bit2] PLL1EN ( メイン PLL 動作許可 ) PLL1EN 機能 0 メイン PLL 停止 ( 初期値 ) 1 メイン PLL 動作許可 • メイン PLL がクロックソースとして選択されている (CLKS[1:0]=10) ときにメイン PLL 動作許可ビット (PLL1EN) を変更することは禁止されています。 • クロック自動ギア機能がアクティブ ( ギアアップまたはギアダウン ) のときにメイン PLL 動作許可ビット (PLL1EN) を変更することは禁止されています。PLL 状態を変更する前に , 必ずギアステータスフラグを確 認してください (「13.6 クロック自動ギアのアップダウン」を参照 ) 。 • メインクロック発振が停止している場合 (STCR: OSCD1=1), PLL 許可ビット (PLL1EN) が "1" に設定さ れていても , ストップモード中メイン PLL は停止します。メイン PLL 動作が許可されている場合 (PLL1EN=1), メインクロックは , ストップモードからの復帰後に PLL を使用して動作します。 ( クロックソースの変更については , クロックソース選択ビット (bit1, bit0) の説明を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 141 第 12 章 クロック制御 12.4 レジスタ MB91460N シリーズ [bit1, bit0] CLKS1, CLKS0 ( クロックソース選択 ) CLKS1 CLKS0 0 0 X0/X1 からのメインクロック入力の 2 分周 ( 初期値 ) メインクロックモード 0 1 X0/X1 からのメインクロック入力の 2 分周 メインクロックモード 1 0 メイン PLL メインクロックモード 1 1 設定禁止 クロックソース設定 モード − • クロックモードを変更する場合 , CLKS1 が "1" のときに CLKS0 ビットの値を変更することはできません。 以下の表に , CLKS1 ビットおよび CLKS0 ビットが変更される場合を示します。 表 12.4-1 CLKS1 ビットおよび CLKS0 ビットの変更が許可される場合と許可されない場合 142 変更が許可される場合 変更が許可されない場合 "00B" → "01B" または "10B" "00B" → "11B" "01B" → "00B" "01B" → "10B" または "11B" "10B" → "00B" "10B" → "01B" または "11B" FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.4 レジスタ MB91460N シリーズ 12.4.2 DIVR0:クロック分周設定レジスタ 0 内部デバイス動作に使用されるクロックの分周比を設定します。 DIVR0:アドレス 000486H ( アクセス:バイト , ハーフワード ) bit 7 B3 6 5 4 3 2 1 0 B2 B1 B0 P3 P2 P1 P0 0 0 0 0 0 0 1 1 初期値 (INIT 端子入力 , ウォッチドッグリセット ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 • CPU および内部バスのクロック (CLKB) と , 周辺回路および周辺バスのクロック (CLKP) を設定します。 [bit7 ∼ bit4] B3 ∼ B0 (CLKB 分周選択 ) B3 ∼ B0 CPU クロック (CLKB) 分周比 0000 φ/1 ( 初期値 ) 0001 φ/2 0010 φ/3 0011 φ/4 0100 φ/5 0101 φ/6 0110 φ/7 0111 φ/8 1000 φ/9 1001 φ/10 1010 φ/11 1011 φ/12 1100 φ/13 1101 φ/14 1110 φ/15 1111 φ/16 • CLKB が 80MHz 以上の場合 , B3 ∼ B0 で分周比を変えないでください。 • CPU, 内部メモリ , 内部バスにより使用されるクロック (CLKB) のクロック分周比を設定します。 表に示されている 16 のオプションが使用可能です。 • デバイスの最大動作周波数を超える分周比は設定しないでください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 143 第 12 章 クロック制御 12.4 レジスタ MB91460N シリーズ [bit3 ∼ bit0] P3 ∼ P0 (CLKP 分周選択 ) P3 ∼ P0 周辺クロック (CLKP) 分周比 0000 φ/1 0001 φ/2 0010 φ/3 0011 φ/4 ( 初期値 ) 0100 φ/5 0101 φ/6 0110 φ/7 0111 φ/8 1000 φ/9 1001 φ/10 1010 φ/11 1011 φ/12 1100 φ/13 1101 φ/14 1110 φ/15 1111 φ/16 • 周辺回路および周辺バスにより使用されるクロック (CLKP) のクロック分周比を設定します。 表に示されている 16 のオプションが使用可能です。 • MCU の最大動作周波数を超える分周比は設定しないでください。 12.4.3 DIVR1:クロック分周設定レジスタ 1 内部デバイス動作に使用されるクロックの分周比を設定します。 • DIVR1:アドレス 000487H ( アクセス:バイト , ハーフワード ) bit 7 6 5 4 3 2 1 0 − 0 − 0 − 0 − 0 − 0 − 0 − 0 − 0 初期値 (INITX 端子入力 , ウォッチドッグリセット ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 属性の詳細については , 「ビット属性シンボルの意味」を参照してください。 [bit7 ∼ bit4] 予約ビット このビットには , 常に "0" を書き込んでください。書き込まれた値が読出し値になります。 [bit3 ∼ bit0] 予約ビット このビットには , 常に "0" を書き込んでください。書き込まれた値が読出し値になります。 144 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.4 レジスタ MB91460N シリーズ 12.4.4 CSCFG:クロックソース構成レジスタ このレジスタは , クロックソースの設定をします。 • CSCFG:アドレス 0004AEH ( アクセス:バイト ) bit 7 6 EDSUEN PLLLOCK 5 - 4 MONCKI 3 - 2 - 1 CSC1 0 CSC0 0 X 0 0 0 0 0 0 初期値 (INITX 端子入力 , ウォッチドッグリセット) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性シンボルの意味」を参照してください。) [bit7] EDSUEN (EDSU/MPU 許可 ) EDSUEN 機能 0 EDSU/MPU のクロック停止中 [ 初期値 ] 1 EDSU/MPU のクロック動作許可中 [bit6] PLLLOCK (PLL ロック ) PLLLOCK 機能 0 PLL がロックしていない状態 1 PLL がロックした状態 [bit5] RCSEL (CR 発振器セレクタ ) RCSEL 機能 0 CR 発振は 100kHz に設定 [ 初期値 ] 1 CR 発振は 2MHz に設定 選択した発振周波数は , フラッシュセキュリティユニット (CRC 生成の速度を上げる場合は発振を 2MHz (typ.) に変更 ), およびリアルタイムクロックに適用されます。ハードウェアウォッチドッグ (CR ベースのウォッチドッグ ) には , この 設定にかかわらず , 常に 100kHz (typ.) が適用されます。 [bit4] MONCKI ( クロックモニタ MONCLK 反転出力 ) MONCKI 機能 0 MONCLK マークレベルが "L" レベル [ 初期値 ] 1 MONCLK マークレベルが "H" レベル この機能については , 「第 38 章 クロックモニタ」の章を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 145 第 12 章 クロック制御 12.4 レジスタ MB91460N シリーズ [bit1, bit0] CSC1, CSC0 ( クロックソース選択 ) CSC1, CSC0 機能 00 リアルタイムクロックのソースはメイン発振 01 設定禁止 10 リアルタイムクロックのソースは CR 発振 11 設定禁止 [bit3, bit2] このビットには常に "0" を書き込んでください。書き込まれた値が読出し値になります。 146 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.5 操作 MB91460N シリーズ 12.5 操作 このセクションでは , クロックの設定および切換えの方法について説明します。 12.5.1 クロック設定の手順 ( 例 ) 図 12.5-1 クロック設定の手順 ( 例 ) (1) メインクロック発振安定 (2) 初期値を使用して動作(メインクロックの2分周) 動作 クロック 設定 (2) 動作クロックの分周比の設定(CLKB、CLKP) (3) PLL逓倍数の設定(PLLS[2:0]) (4) メインPLL動作許可(PLL1EN) (4) メインPLLのロック待機(発振安定待ちの章を参照) ベース クロック 設定 (5) クロックソースの選択(CLKS[1:0]) メインクロックモード(2分周) ("00") メインクロックモード(2分周) ("01") メインPLLモード ("10") CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 147 第 12 章 クロック制御 12.5 操作 MB91460N シリーズ 12.5.2 注意事項 ■ メイン PLL 制御 初期化後 , メイン PLL 発振は停止します。停止中にメイン PLL の出力をクロックソースとして選択すること はできません。 プログラム開始後 , まずクロックソースとして使用するメイン PLL の逓倍数を設定し , メイン PLL がロックさ れるまで待機してから , クロックソースを変更します。メイン PLL がロックされるまで待機する場合は , タイ ムベースタイマ割込みを使用することをお勧めします。 メイン PLL の出力がクロックソースとして選択されている場合は , メイン PLL を停止できません。 レジスタへの書込みによる影響はありません。ストップモードに変更する場合など , メイン PLL を停止しよう とする場合は , まずクロックソースとしてメインクロックの 2 分周を選択してから , メイン PLL を停止します。 メインクロック発振停止ビットによってストップモード中にメインクロック発振が停止するように設定され ている場合 (STCR: OSCD1=1), MCU がストップモードに変更されるとメイン PLL は自動的に停止するため , あらかじめメイン PLL を停止する (CLKR: PLL1EN=0) 必要はありません。ストップモードから復帰すると , メ イン PLL も自動的に再開します。ストップモード中に発振が停止するように設定されていない場合 (STCR: OSCD1=0), メイン PLL は自動的に停止しません。この場合は , ストップモードへの変更前にメイン PLL を停 止してください (CLKR: PLL1EN=0) 。 ■ メイン PLL 逓倍数 メイン PLL 逓倍数設定を初期値以外の値に変更する場合 , プログラム実行開始後 , メイン PLL を許可する前ま たはそれと同時に , これを設定します。逓倍数設定を変更した後 , メイン PLL ロック時間を待機してからクロッ クソースを切り換えます。メイン PLL がロックされるまで待機する場合は , タイムベースタイマ割込みを使用 することをお勧めします。 通常動作中のメイン PLL 逓倍数設定を変更するには , まずクロックソースをメイン PLL 以外に変更します。 上 記の場合と同様に , 逓倍数設定を変更した後 , メイン PLL ロック時間を待機してからクロックソースを変更し ます。 メイン PLL 逓倍数設定は , メイン PLL の使用中に変更できます。この場合 , 逓倍数設定の変更後に MCU は自 動的に発振安定待ち状態に入り , プログラム実行は発振安定待ち時間として指定された時間停止します。メイ ン PLL 以外のクロックソースに変更する場合 , プログラム実行は停止しません。 ■ クロック分周 デバイスの内部動作に使用されるクロックでは , ベースクロックに対する分周比をクロックごとに個別に設定 できます。この機能によって , 回路ごとに最適な動作周波数を選択することが可能になります。 分周比は , 動作クロック分周設定レジスタ (DIVR0 および DIVR1) で設定します。これらのレジスタには , ク ロックごとの分周比を指定する 4 ビットの設定が含まれます。ベースクロックに対する分周比は , ( レジスタ 値+ 1) です。奇数の分周比が設定されている場合でも , デューティ比は常に 50% になります。 設定が変更された場合 , 新しい設定はクロックの次の立上りエッジから適用されます。 分周比の設定は動作リセット (RST) では初期化されず , リセット前の設定が保持されます。分周比の設定は , 設 定初期化リセット (INIT) によってのみ初期化されます。クロックソースを初期設定から高速クロックに変更す る場合は , 必ず最初に分周比を設定してください。 クロックソース選択 , メイン PLL 逓倍数設定 , および分周比設定の結果 , 許容されている最大周波数を超えた 場合 , デバイスの動作は保証されません。これらの設定は慎重に行ってください ( 特に , クロックソース設定 を変更する順序には注意してください。) 。 148 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.6 設定 MB91460N シリーズ 12.6 設定 表 12.6-1 メインクロックの 2 分周で動作する場合の設定 設定 クロックソース選択 設定レジスタ クロックソース制御レジスタ (CLKR) 設定手順* 13.7.3 * 設定手順については , 記載された各項を参照してください。 表 12.6-2 メイン PLL を使用して動作する場合の設定 設定 設定レジスタ 設定手順* 12.7.1 メイン PLL 動作許可 クロックソース制御レジスタ (CLKR) 12.7.3 クロックソース選択 * 設定手順については , 記載された各項を参照してください。 表 12.6-3 動作クロックの分周比を選択する場合の設定 設定 設定レジスタ 設定手順* クロックソース選択 クロックソース制御レジスタ (CLKR) 12.7.3 動作クロック分周比選択 クロック分周設定レジスタ (DIVR0, DIVR1) 12.7.4 * 設定手順については , 記載された各項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 149 第 12 章 クロック制御 12.7 Q & A MB91460N シリーズ 12.7 Q & A 12.7.1 クロック動作を許可または禁止するには ? • メインクロックに対する動作許可ビットはありません。メインクロック動作は常に許可されています。 ( ストップモードでの発振停止は , 別に取り扱います。) • メイン PLL の動作は , メイン PLL 動作許可ビット (CLKR: PLL1EN) によって許可します。 動作 メイン PLL 動作許可ビット (PLL1EN) メイン PLL を停止 "0" に設定します。 メイン PLL の動作を許可 "1" に設定します。 リセット時 , PLL は停止しています。このため , PLL 逓倍数を設定した後 , PLL 動作を許可し , PLL 動作を 開始する必要があります。 12.7.2 メイン PLL 逓倍率を選択するには ? • PLL 逓倍数は , PLL インタフェースレジスタ PLLDIVM および PLLDIVN を使用して設定できます 「第 ( 13 章 PLL インタフェース」を参照 ) 。 12.7.3 動作クロックソースを選択するには ? クロックソース選択ビット(CLKR: CLKS[1:0])を使用して,動作クロックソースとしてメインクロックの2分周, メイン PLL を選択します。 動作クロックソース 150 クロックソース選択ビット (CLKS[1:0]) 初期値からメインクロックの 2 分周に変更 初期値 "00B" または "01B" を設定します。 初期値からメイン PLL に変更 初期値 "00B" から "10B" に変更します。 メイン PLL からメインクロックの 2 分周に変更 "10B" から "00B" に変更します。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 12 章 クロック制御 12.7 Q & A MB91460N シリーズ 12.7.4 動作クロック分周比を設定するには ? • CPU クロック設定 CPU クロック設定は , CLKB 分周比選択ビット (DIVR0: B[3:0]) を使用して設定します。 周波数例 PLL 逓倍率 CLKB 分周比選択ビット (B[3:0]) 分周なし Fφ= 32MHz の場合 Fφ= 16MHz の場合 "0000B" に設定します。 FCLKB = 32.0MHz FCLKB = 16.0MHz 2 分周 "0001B" に設定します。 FCLKB = 16.0MHz FCLKB = 8.00MHz 3 分周 "0010B" に設定します。 FCLKB = 10.6MHz FCLKB = 5.33MHz 4 分周 "0011B" に設定します。 FCLKB = 8.00MHz FCLKB = 4.00MHz 5 分周 "0100B" に設定します。 FCLKB = 6.40MHz FCLKB = 3.20MHz 6 分周 "0101B" に設定します。 FCLKB = 5.33MHz FCLKB = 2.66MHz 7 分周 "0110B" に設定します。 FCLKB = 4.57MHz FCLKB = 2.28MHz 8 分周 "0111B" に設定します。 FCLKB = 4.00MHz FCLKB = 2.00MHz 16 分周 "1111B" に設定します。 FCLKB = 2.00MHz FCLKB = 1.00MHz • 周辺クロック設定 周辺クロック設定は , CLKP 分周比選択ビット (DIVR0: P[3:0]) を使用して設定します。 周波数例 PLL 逓倍率 CLKP 分周比選択ビット (P[3:0]) 分周なし Fφ= 32MHz の場合 Fφ= 16MHz の場合 "0000B" に設定します。 FCLKP = 32.0MHz FCLKP = 16.0MHz 2 分周 "0001B" に設定します。 FCLKP = 16.0MHz FCLKP = 8.00MHz 3 分周 "0010B" に設定します。 FCLKP = 10.6MHz FCLKP = 5.33MHz 4 分周 "0011B" に設定します。 FCLKP = 8.00MHz FCLKP = 4.00MHz 5 分周 "0100B" に設定します。 FCLKP = 6.40MHz FCLKP = 3.20MHz 6 分周 "0101B" に設定します。 FCLKP = 5.33MHz FCLKP = 2.66MHz 7 分周 "0110B" に設定します。 FCLKP = 4.57MHz FCLKP = 2.28MHz 8 分周 "0111B" に設定します。 FCLKP = 4.00MHz FCLKP = 2.00MHz 16 分周 "1111B" に設定します。 FCLKP = 2.00MHz FCLKP = 1.00MHz CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 151 第 12 章 クロック制御 12.8 注意事項 MB91460N シリーズ 12.8 注意事項 • クロックソース選択 , メイン PLL 逓倍数設定 , および分周比設定の結果 , 周波数が最大値を超えた場合 , 動作 は保証されません。 • クロックソース選択を設定または変更する場合の順序に注意してください。 • メインクロック発振が停止しているときに (OSCDS1 = 1), リセット (INIT) によってクロックソースがメイ ンクロックに切り換わる場合は , ( メインクロックの ) 発振安定待ち時間も必要となります。この場合 , 発振 安定待ち時間選択ビット (STCR: OS[1:0]) で設定されている待ち時間がメインクロックの発振安定待ち時間 の要件を満たしていないと , リセット後の動作は保証されません。 発振安定待ち時間選択ビット (STCR: OS[1:0]) は , 必ずメインクロックの適切な発振安定待ち時間を提供す る値に設定してください。 INITX 端子による INIT リセットの場合は , "L" レベル入力を , メインクロック発振が安定するのに必要な時間 保持する必要があります。 発振安定待ちについては , 「第 16 章 タイムベースカウンタ」および「第 20 章 メイン発振安定待ちタイマ」 を参照してください。 • ストップモードに変更する場合 , メイン PLL を停止または選択解除する必要があります。メインクロック発 振停止ビット (STCR: OSCD1 = 1) を設定して自動的に停止するか , または動作クロックをメインクロック の 2 分周に変更してから , ストップモードに変更します。 152 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 13 章 PLL インタフェース 13.1 概要 MB91460N シリーズ 第 13 章 PLL インタフェース 13.1 概要 このブロック図は , PLL と PLL インタフェース , および逓倍制御回路を示しています ( 基本逓倍は 1/M, 1/N, ク ロック自動ギアは 1/G) 。 図 13.1-1 ブロックダイヤグラム ( 簡易版 ) クロック ユニット XIN1 CPU コア 周辺外部バス PLL PLLIN インタフェース PLL X 1/G 1/M CK メイン発振 位相補正 M U X FB 1/N クロックツリー CLKB CLKP CLKT M U X FB1 遅延 13.2 特長 • 自由に設定できる M 分周カウンタ ( 範囲 1 ∼ 16) • 自由に設定できる N 分周カウンタ ( 範囲 1 ∼ 64) • 電圧降下および電圧サージを防ぐためのクロック自動ギアのアップダウン機能 13.3 周波数計算 • CLKB 周波数 : f(CLKB)=[ Main-Osc × (PLLDIVM_DVM + 1) × (PLLDIVN_DVN + 1)] / [(PLLDIVM_DVM + 1) × (DIVR0_B + 1)] • CLKP 周波数 : f(CLKP)=[ Main-Osc × (PLLDIVM_DVM + 1) × (PLLDIVN_DVN + 1)] / [(PLLDIVM_DVM + 1) × (DIVR0_P + 1)] • CLKT 周波数 : f(CLKT)=[ Main-Osc × (PLLDIVM_DVM + 1) × (PLLDIVN_DVN + 1)] / [(PLLDIVM_DVM + 1) × (DIVR0_T + 1)] CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 153 第 13 章 PLL インタフェース 13.4 レジスタ MB91460N シリーズ 13.4 レジスタ 13.4.1 PLL 制御レジスタ PLL 逓倍率 (M 分周と N 分周 ) および自動クロックギアのアップダウン機能を制御します。 • PLLDIVM: アドレス 00048CH ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 − − − − 3 DVM3 2 DVM2 1 DVM1 0 DVM0 0 0 0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) 0 0 0 0 X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7 ∼ bit4] 予約ビット これらのビットには常に "0" を書き込みます。 [bit3 ∼ bit0] DVM3 ∼ DVM0 (PLL の M 分周選択 ) DVM3 ∼ DVM0 PLL 出力 M 分周 ( 生成 φ:ベースクロック ) 0000B ソース (FCL-PLL) :1 ( 分周なし ) 0001B ソース (FCL-PLL) :2 (2 分周 ) 0010B ソース (FCL-PLL) :3 (3 分周 ) 0011B ソース (FCL-PLL) :4 (4 分周 ) 0100B ソース (FCL-PLL) :5 (5 分周 ) 0101B ソース (FCL-PLL) :6 (6 分周 ) 0110B ソース (FCL-PLL) :7 (7 分周 ) 0111B ソース (FCL-PLL) :8 (8 分周 ) ...... ..... 1111B ソース (FCL-PLL) :16 (16 分周 ) <注意事項> • M 分周カウンタに対して分周なし (:1) を選択できますが , これは推奨値ではありません。生成される出 力クロックは , 奇数のクロックデューティ比になります (PLL 直接出力 ) 。1 以上の分周比および偶数の 分周比 (:2, :4, :6 など ) を常に選択してください。 • M分周カウンタに対して奇数の分周比 (:3, :5, :7など) を選択できますが, これは推奨値ではありません。 生成される出力クロックは , 奇数のクロックデューティ比になります。デューティ比を 50% とするには 偶数の分周比 (:2, :4, :6 など ) を常に選択してください。 。 • クロックソースとして PLL を選択すると , レジスタ値は変更できません (CLKS[1:0]=10) 。 • PLLDIVM および PLLDIVN レジスタを変更する場合は , PLL (CLKR: PLL1EN=0) を禁止し , 後で PLL (CLKR: PLL1EN=1) を許可することをお勧めします。 154 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 13 章 PLL インタフェース 13.4 レジスタ MB91460N シリーズ • PLLDIVN: アドレス 00048DH ( アクセス:バイト , ハーフワード , ワード ) x bit 7 6 5 4 3 2 1 0 − − DVN5 DVN4 DVN3 DVN2 DVN1 DVN0 0 0 0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) 0 0 X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7, bit6] 予約ビット 読出し値は常に "0" です。 [bit5 ∼ bit0] DVN5 ∼ DVN0 (PLL の N 分周選択 ) DVN5 ∼ DVN0 φ:ベースクロックの N 分周 (PLL へのフィードバック ) 000000B ベースクロック (FCL-MAIN) :1 ( 分周なし ) 000001B ベースクロック (FCL-MAIN) :2 (2 分周 ) 000010B ベースクロック (FCL-MAIN) :3 (3 分周 ) 000011B ベースクロック (FCL-MAIN) :4 (4 分周 ) 000100B ベースクロック (FCL-MAIN) :5 (5 分周 ) 000101B ベースクロック (FCL-MAIN) :6 (6 分周 ) 000110B ベースクロック (FCL-MAIN) :7 (7 分周 ) 000111B ベースクロック (FCL-MAIN) :8 (8 分周 ) ...... 111111B ..... ベースクロック (FCL-MAIN) :64 (64 分周 ) <注意事項> • クロックソースとして PLL を選択すると , レジスタ値は変更できません (CLKS[1:0]= 10B) 。 • PLLDIVM および PLLDIVN レジスタを変更する場合は , PLL を禁止 (CLKR: PLL1EN=0) し , 後で PLL を 許可 (CLKR: PLL1EN=1) することをお勧めします。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 155 第 13 章 PLL インタフェース 13.4 レジスタ MB91460N シリーズ • PLLDIVG: アドレス 00048EH ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 DVG2 DVG1 DVG0 − − − − DVG3 0 0 0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) 0 0 0 0 X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7 ∼ bit4] 予約ビット これらのビットには常に "0" を書き込みます。 [bit3 ∼ bit0] DVG3 ∼ DVG0 (PLL 自動ギアの開始 / 終了 G 分周選択 ) DVG3 ∼ DVG0 PLL 出力 G 分周の開始 / 終了周波数 ( 生成 φ:ベースクロック ) 0000B 自動ギア禁止 ( 初期値 ) 0001B ソース (FCL-PLL) :2 (2 分周 ) 0010B ソース (FCL-PLL) :3 (3 分周 ) 0011B ソース (FCL-PLL) :4 (4 分周 ) 0100B ソース (FCL-PLL) :5 (5 分周 ) 0101B ソース (FCL-PLL) :6 (6 分周 ) 0110B ソース (FCL-PLL) :7 (7 分周 ) 0111B ソース (FCL-PLL) :8 (8 分周 ) ...... ..... 1111B ソース (FCL-PLL) :16 (16 分周 ) <注意事項> • この機能の使用方法の詳細については ,「13.6 クロック自動ギアのアップダウン」を参照してください。 • G 分周カウンタに対して奇数の分周比 (:3, :5, :7 など ) を選択できますが , これは推奨値ではありません。 偶数の分周比 (:2, :4, :6 など ) を常に選択してください。 • クロックソースとして PLL を選択すると , レジスタ値は変更できません (CLKS[1:0]=10) 。 156 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 13 章 PLL インタフェース 13.4 レジスタ MB91460N シリーズ • PLLMULG: アドレス 00048FH ( アクセス:バイト , ハーフワード , ワード ) bit 7 MLG7 6 MLG6 5 MLG5 4 MLG4 3 MLG3 2 MLG2 1 MLG1 0 MLG0 0 0 0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7 ∼ bit0] MLG5 ∼ MLG0 (PLL 自動ギア G 分周のステップ逓倍率選択 ) MLG7 ∼ MLG0 G 分周のステップ逓倍率 000000B G 分周ステップ× 1 (1 で乗算 ) 000001B G 分周ステップ× 2 (2 で乗算 ) 000010B G 分周ステップ× 3 (3 で乗算 ) 000011B G 分周ステップ× 4 (4 で乗算 ) 000100B G 分周ステップ× 5 (5 で乗算 ) 000101B G 分周ステップ× 6 (6 で乗算 ) 000110B G 分周ステップ× 7 (7 で乗算 ) 000111B G 分周ステップ× 8 (8 で乗算 ) ...... ..... 111111B G 分周ステップ× 256 (256 で乗算 ) <注意事項> • この機能の使用方法の詳細については ,「13.6 クロック自動ギアのアップダウン」を参照してください。 • クロックソースとして PLL を選択すると , レジスタ値は変更できません (CLKS[1:0]=10B) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 157 第 13 章 PLL インタフェース 13.4 レジスタ MB91460N シリーズ • PLLCTRL: アドレス 000490H ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 − − − − IEDN GRDN IEUP GRUP 0 0 0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) 0 0 0 0 X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7 ∼ bit4] 予約ビット 読出し値は常に "0000B" です。 [bit3] IEDN ( 割込み許可ギアダウン ) IEDN 機能 0 ギアダウン割込み禁止 ( 初期値 ) 1 ギアダウン割込み許可 [bit2] GRDN ( 割込みフラグギアダウン ) GRDN 機能 0 ギアダウン割込み要因なし ( 初期値 ) 1 ギアダウン割込み要因あり • G 分周カウンタがプログラムされた終了値に達すると , クロックソース PLL からクロックソース発振に 切り換わるときにこのフラグが設定されます。 • リードモディファイライト系命令では , このビットからは "1" が読み出されます。 "1" を書き込んでも影響 はありません。 [bit1] IEUP ( 割込み許可ギアアップ ) IEUP 機能 0 ギアアップ割込み禁止 ( 初期値 ) 1 ギアアップ割込み許可 [bit0] GRUP ( 割込みフラグギアアップ ) GRUP 機能 0 ギアアップ割込み要因なし ( 初期値 ) 1 ギアアップ割込み要因あり • G 分周カウンタが M 分周カウンタで定義されている終了値に達すると , クロックソース発振からクロック ソース PLL に切り換わるときにこのフラグが設定されます。 • リードモディファイライト系命令では , このビットからは "1" が読み出されます。 "1" を書き込んでも影響 はありません。 158 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 13 章 PLL インタフェース 13.5 推奨設定 MB91460N シリーズ 13.5 推奨設定 PLL 入力 (CK) [MHz] 周波数 パラメータ クロックギア パラメータ PLL 出力 (X) [MHz] コアベースクロック [MHz] DIVM DIVN DIVG MULG 4 2 20 16 20 152 80 4 2 19 16 20 152 76 4 2 18 16 20 144 72 4 2 17 16 16 136 68 4 2 16 16 16 128 64 4 2 15 16 16 120 60 4 2 14 16 16 112 56 4 2 13 16 12 104 52 4 2 12 16 12 96 48 4 2 11 16 12 88 44 4 4 10 16 24 160 40 4 4 9 16 24 144 36 4 4 8 16 24 128 32 4 4 7 16 24 112 28 4 6 6 16 24 144 24 4 8 5 16 28 160 20 4 10 4 16 32 160 16 4 12 3 16 32 144 12 <注意事項> 各クロックドメイン (CLKB, CLKP) の許容最大周波数についてデータシートを参照してください。 MB91V460A を使用する場合は , PLL 出力は 80MHz ∼ 170MHz の範囲で使用してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 159 第 13 章 PLL インタフェース 13.6 クロック自動ギアのアップダウン MB91460N シリーズ 13.6 クロック自動ギアのアップダウン クロックソースを発振から高周波数 PLL/DLL 出力に切り換える ( またはその逆 ) ときに電圧の降下やサー ジを回避するために , PLL インタフェースにはクロックをスムーズにギアアップおよびギアダウンする 回路が搭載されています。 主な機能は , 2 つの分周カウンタ (M 分周カウンタと G 分周カウンタ ) を使用して行なっています。M 分 周カウンタでは , PLL フィードバックにターゲットの周波数が指定されます。もう一方の G 分周カウン タでは , G 分周設定 (DIVG) で指定されているプログラマブルな分周から , M 分周設定 (DIVM) で指定さ れているターゲットの周波数に上昇し , M 分周設定 (DIVM) からプログラマブルな終了周波数 (DIVG) ま で周波数が低下します。 システムクロックを低周波数から高周波数に変えたり ( ギアアップ ), 高周波数から低周波数に変える ( ギアダウン ) 場合は , DIVG > DIVM 設定のみが , 有効なクロックギア仕様になります。 周波数ステップは , 以下のように PLL 出力周波数の逓倍で実行されます。発振器 = 4 MHz, M = 2, N = 20 ( つまり , PLL 出力 = 160 MHz, C ユニットへの周波数出力 = 80 MHz とすると , M × N = 40 という周波数逓 倍になります ) 。 ギアデバイダは , 任意の偶数デバイダに設定できます。この例では G=20 であり , 発振から PLL に切り 換わるときに以下のギアアップが行われます。 1. ステップ:1 サイクルの 8.0 MHz (8.0 MHz は , 20 サイクルの PLL 出力になります ) 2. ステップ:2 サイクルの 8.4 MHz (8.4 MHz は , 19 サイクルの PLL 出力になります ) 3. ステップ:3 サイクルの 8.8 MHz (8.8 MHz は , 18 サイクルの PLL 出力になります ) : 17. ステップ:17 サイクルの 40.0 MHz (40.0 MHz は , 4 サイクルの PLL 出力になります ) 18. ステップ:18 サイクルの 53.3 MHz (53.3 MHz は , 3 サイクルの PLL 出力になります ) 19. ステップ:19 サイクルの 80.0 MHz (80.0 MHz は , 2 サイクルの PLL 出力になります ) → 最終ステップへの遷移で到達したターゲットの周波数 ( ここでは 18. から 19.) ギア逓倍率レジスタ内で逓倍値を設定すると , 各ステップが逓倍されます。開始周波数を生成してから ターゲットの周波数に達するまでの時間は , 以下の式で計算できます。 i ⎛ i ⎞ ⎜ duration = mul ⋅ t ⋅ ∑ k ⋅ ( i – k + 1 ) – ∑ k ⋅ ( i – k + 1 )⎟ ⎜ ⎟ ⎝k = 1 ⎠ k = j+1 160 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 13 章 PLL インタフェース 13.6 クロック自動ギアのアップダウン MB91460N シリーズ この式は , 以下の式と同じです ( 最初の和の項の有限の算術級数は , 以下に帰着します ) 。 i ⎛ ⎞ i ⋅ ( i + 1 ) ⋅ ( i + 2 ) ⎜ duration = mul ⋅ t ⋅ ⎜ ------------------------------------------ – ∑ k ⋅ ( i – k + 1 )⎟⎟ 6 ⎝ ⎠ k = j+1 i = G, j = G − M, mul = MULG, t = 1/f (PLLOUT) 上記の設定では , 開始周波数からターゲット周波数までの時間が 9262500ps ( 約 9.3 μs) である 1483PLL 出力クロックサイクルと同じになります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 161 第 13 章 PLL インタフェース 13.7 注意事項 MB91460N シリーズ 13.7 注意事項 クロック自動ギア機能を使用する場合は , ギアアップおよびギアダウンのフラグ (PLLCTRL: GRUP, PLLCTRL: GRDN) を使用して , この機能の現在の状態を確認することをお勧めします。これにより , 完 了前の設定変更によって発生するクロックシステム内での誤動作を防ぐことができます。 手順例: • 選択した周波数とギア時間に従って PLL インタフェースレジスタ (PLLDIVN, PLLDIVM, PLLDIVG, PLLMULG) を設定します。 • PLL を ON にします (CLKR:PLL1EN=1) 。 • ギアをアップまたはダウンに切り換えた後に割込みを受信した場合は , 対応する割込み許可も許可します (PLLCTRL:IEUP, PLLCTRL:IEDN)。 • PLL 安定待ち時間まで待機します。 • ベースクロック分周レジスタを設定します (DIVR0, DIVR1) 。 • クロックソースを PLL に切り換えます (CLKR:CLKS1, CLKS0 "00" → "10") 。 • クロックソースを発振に戻す前に PLLCTRL:GRUP ギアアップフラグ ( ポーリングまたは割込み ) まで待機 するか , または CLKR レジスタ内のビットを変更する前に PLLCTRL:GRUP=1 の設定を確定します。 • クロックソースを発振に切り換えます (CLKR:CLKS1, CLKS0 "10" → "00") 。 • クロックソースを PLL に戻す前に PLLCTRL:GRDN ギアダウンフラグ ( ポーリングまたは割込み ) まで待機 するか , または CLKR レジスタ内のビットを変更する前に PLLCTRL:GRDN=1 の設定を確定します。 • PLL を OFF にします (CLKR:PLL1EN=0) 。 162 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 14 章 CAN クロックプリスケーラ 14.1 概要 MB91460N シリーズ 第 14 章 CAN クロックプリスケーラ 14.1 概要 このブロック図は , CAN と CAN インタフェース , および CAN クロックプリスケーラロジック (1/C) とクロッ クソースセレクタ回路を示しています。 図 14.1-1 ブロックダイヤグラム ( 簡易版 ) CAN クロックプリスケーラ PLL メイン発振 M U X X CLKCAN 1/C CAN コント ローラ RX/TX CK FB CLKCAN クロックユニット CLKB CAN インタ CLKB フェース CLKB D-bus <注意事項> CLKCAN のソースクロックとしてメイン発振または PLL クロック出力が選択された場合 , CAN のクロック はクロックモジュレーションの影響を受けません。CLKCAN のソースクロックがコアクロックの CLKB を 選択した場合 , CAN のクロックはモジュレートされます ( ただし , クロックモジュレータが使用可能な場 合 )。 <注意事項> CAN クロックプリスケーラで使用される PLL クロックは , ベースクロックを生成する PLL と共用です。 そのため , CAN プリスケーラのクロックを PLL クロックに切り替える場合は , 必ず PLL の発振を許可し , 発振安定待ち時間経過後に行なうようにしてください ( 第 13 章 / 第 14 章参照 )。 <注意事項> CAN クロックプリスケーラで使用される PLL クロックは , ベースクロックを生成する PLL と共用です。 そのため , CAN プリスケーラのクロックとして PLL クロックを選択したままで , ベースクロック生成用の PLL 発振停止や逓倍数変更を行なってはいけません ( 第 13 章 / 第 14 章参照 )。 <注意事項> CAN クロックプリスケーラによる供給クロックの変更は , CAN 動作中に行なってはいけません。 そのため , 供給クロックの設定変更は , 必ず CAN 制御レジスタの INIT ビットが "1" に設定されている状態 で行なってください ( 第 34 章参照 )。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 163 第 14 章 CAN クロックプリスケーラ 14.2 特長 MB91460N シリーズ 14.2 特長 • メイン発振 , CLKB, および PLL 出力から選択可能な CAN クロックソース • 自由に設定できる C 分周カウンタ ( 範囲 1 ∼ 16) • CAN コントローラごとの個別クロック禁止機能 14.3 レジスタ 14.3.1 CAN クロック制御レジスタ CAN クロックソース , クロック分周比 , およびクロック禁止を制御します。 • CANPRE: アドレス 0004C0H ( アクセス:バイト ) bit 7 6 − − 0 0 0 0 0 R0/W0 R0/W0 5 4 3 2 1 0 DVC3 DVC2 DVC1 DVC0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W 属性 CPCKS1 CPCKS0 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7, bit6] 予約ビット これらのレジスタビットには常に "0" を書き込みます。 [bit5, bit4] CPCKS1, CPCKS0 (CAN プリスケーラクロック選択 ) CPCKS1, CPCKS0 プリスケーラクロックソース 00B CLKB, コアクロック ( 初期値 ) 01B PLL 出力 10B 予約 11B メイン発振 [bit3 ∼ bit0] DVC3 ∼ DVC0 ( ソースクロック C 分周選択 ) 164 DVC3 ∼ DVC0 ソースクロック C 分周 (CLKCAN を生成 ) 0000B ソースクロック:1 ( 分周なし ) ( 初期値 ) 0001B ソースクロック:2 (2 分周 ) 0010B ソースクロック:3 (3 分周 ) 0011B ソースクロック:4 (4 分周 ) 0100B ソースクロック:5 (5 分周 ) 0101B ソースクロック:6 (6 分周 ) 0110B ソースクロック:7 (7 分周 ) 0111B ソースクロック:8 (8 分周 ) ...... ..... 1111B ソースクロック:16 (16 分周 ) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 14 章 CAN クロックプリスケーラ 14.3 レジスタ MB91460N シリーズ <注意事項> • • 上限を超えるプリスケーラ値を設定したり , 事前にプリスケーラ値を高分周比に切り換えずにプリスケー ラクロックソースを高周波数クロックに切り換えることによって , CLKCAN の上限周波数 (20 MHz) を 超えないようにしてください。 PLL 出力に対してプリスケーラソースが選択されている場合は , 以下のようになります。 C 分周カウンタに対して分周なし ( ソースクロック :1) を選択できますが , これは推奨値ではありませ ん。生成される出力クロックは , 奇数のクロックデューティ比になります。少なくとも 1 以上の分周比 を常に選択してください。 デューティ比を 50% とするには , 偶数分周比 ( ソースクロック : 2, : 4, : 6 など ) を選択してください。 • CANCKD: アドレス 0004C1H ( アクセス:バイト ) bit 7 6 5 4 CANCKD5 CANCKD4 3 2 1 0 − − − − − − 0 0 0 0 0 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) 0 0 0 0 X X X X 初期値 ( ソフトウェアリセット ) R/W0 R/W0 R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性のシンボルの意味」を参照してください。) [bit7, bit6] 予約ビット これらのビットには常に "0" を書き込みます。 [bit5,bit4] CANCKD5,CANCKD4 CANCKD5 機能 0-----B CAN コントローラ 5 のクロック供給許可 1-----B CAN コントローラ 5 のクロック供給禁止 CANCKD4 機能 -0----B CAN コントローラ 4 のクロック供給許可 -1----B CAN コントローラ 4 のクロック供給禁止 [bit3 bit0] 予約ビット これらのビットには常に "0" を書き込みます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 165 第 14 章 CAN クロックプリスケーラ 14.3 レジスタ 166 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 15 章 クロックモジュレータ 15.1 概要 MB91460N シリーズ 第 15 章 クロックモジュレータ クロックモジュレータの概要とその機能について説明します。ここでは , レジスタ構成およびク ロックモジュレータの動作について説明します。 15.1 概要 クロックモジュレータは , クロック信号のスペクトラムを広範囲の周波数に拡散することにより , 電磁波障害 (EMI) を低減します。 このモジュールは , 内部の PLL 回路から出力される標準クロック周波数 F0 ( 非変調 ) をランダム信号によって 変調し EMI ノイズを低減させるものです。 なお , 変調クロックの平均周波数は , 標準クロックの周波数 F0 です。 図 15.1-1 変調クロックの周波数スペクトラム ( 基本波のみ ) 変調範囲 周波数 Fmin F0 Fmax ● 周波数変調モードでの変調度および周波数分解能 変調クロックの最大周波数および最小周波数 (Fmax および Fmin) は , 変調度パラメータによって定義されます。 また , 変調範囲の分解能は , low (1) ∼ high (7) の 7 段階から選択できます。高い分解能では , 変調クロックス ペクトラムの拡散周波数の粒度が細くなりますが , 利用できる変調度が制限されます。 通常 , 設定可能な最大周波数分解能と最大変調度の組み合わせによって , 最大の EMI 低減効果が得られます。 ただし , 変調度が低いほうが良好な EMI 動作が得られる場合もあります。表 15.2-4 の使用可能な設定の表を 参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 167 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 15.2 クロックモジュレータレジスタ このセクションでは , クロックモジュレータレジスタを一覧表示し , 各レジスタの機能について詳しく説明しま す。 ● クロックモジュレータレジスタ 図 15.2-1 クロックモジュレータレジスタ bit 7 アドレス: 6 5 4 3 2 1 0 MP7 MP6 MP5 MP4 MP3 MP2 MP1 MP0 0004B9H R/W R/W R/W R/W R/W R/W R/W R/W bit15 0004B8H 168 13 12 11 10 9 8 − − MP13 MP12 MP11 MP10 MP9 MP8 − − R/W R/W R/W R/W R/W R/W bit 7 0004BBH 14 6 5 4 3 2 1 0 − FMOD PDX − R/W R/W − 予約 予約 予約 FMOD RUN − R/W R/W R/W R CMPRL (下位) 初期値 1 1 1 1 1 1 0 1B CMPRH (上位) 初期値 X X 0 0 0 0 1 0B CMCR 初期値 X 0 0 1 0 X 0 0B FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ ● クロックモジュレータ制御レジスタ (CMCR) クロックモジュレータ制御レジスタ (CMCR) には , 以下の機能があります。 • モジュレータを電源切断モードに設定 • 周波数変調モードでのモジュレータ許可 / 禁止 • モジュレータのステータス表示 図 15.2-2 クロックモジュレータ制御レジスタ (CMCR) の構成 bit 7 - 0004BBH 6 5 4 3 予約 予約 予約 FMOD RUN - R/W R/W R/W R 2 1 0 - FMOD PDX - R/W R/W CMCR 初期値 X 0 0 1 0 X 0 0B bit0 電源切断ビット PDX 0 電源切断モード 1 電源投入 bit1 FMOD 周波数変調許可ビット 0 周波数変調モード禁止 1 周波数変調モード許可 bit3 FMOD RUN 周波数変調モードでのモジュレータステータスビット 0 クロック周波数非変調 1 クロック周波数変調 bit4~bit6 予約 R/W R X - : : : : リード/ライト可能 リードオンリ 不定値 未定義 : 初期値 bit4 このビットには常に"1"を書き込んでください。 bit5, bit6 このビットには常に"0"を書き込んでください。 FMOD および PDX ビットは , 周波数変調モードのステータスを切り替え , FMODRUN ビットは , 同ステータスを 表します。周波数変調モードで使用する場合は , 変調パラメータ設定 (CMPR レジスタ ) が必要になります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 169 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ ● クロックモジュレータ制御レジスタの内容 表 15.2-1 クロックモジュレータ制御レジスタの各ビットの機能 (1 / 2) ビット名 bit7 未定義 機能 − bit6, bit5 予約 このビットには , 常に "0" を書き込んでください。 bit4 予約 このビットには , 常に "1" を書き込んでください。 bit3 "0":MCU は非変調クロックを使用して動作しています。 "1":MCU は周波数変調クロックを使用して動作しています。 • FMODRUN ビットは , 周波数変調モード (FMOD=1) でのモジュレータ出力ク ロックのステータスを示します。出力クロックが周波数変調クロックの場合 , FMODRUN は "1" に設定されます。それ以外の場合 , FMODRUN ビットは "0" に設 定されます。 • FMOD ビットを "1" に設定して周波数変調モードを許可した後 , モジュレータが キャリブレートされます。この時間クロックは非変調クロックになります。こ FMOD RUN: のため , 出力クロックが変調クロックに切り替わり , FMODRUN ビットが "1" 周波数変調 に設定されるまでに数 μs かかります。キャリブレーション時間は , 発振器の モードでの 周波数によって異なります。発振器 (Fc) が 4MHz の場合 , キャリブレーショ モジュレー ン時間は 64.00μs ( キャリブレーション時間 = 256/Fc) になります。 タステー • 通常動作中は , キャリブレーションの完了後に , クロックが再び非変調クロッ タスビット クに切り換わることはありません。 • FMOD 信号の同期化および非変調クロックへの同期切換えのため , FMODRUN ビットが "0" に変更され , モジュレータの禁止後にクロックが非変調クロック に切り換わるまでに , 9 × T0 ( 入力クロック周期 ) 未満かかります。 • FMODRUN ビットは読出し専用です。FMODRUN ビットに書き込んでも影響 はありません。 • クロック変調パラメータレジスタ (CMPR) を変更する前に , モジュレータを禁 止しておく必要があります (FMOD=0 および FMODRUN=0) 。 bit2 未定義 170 − FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 表 15.2-1 クロックモジュレータ制御レジスタの各ビットの機能 (2 / 2) ビット名 bit1 bit0 機能 FMOD: 周波数変調 許可ビット "0":周波数変調禁止 "1":周波数変調許可 • 周波数変調モードでモジュレータを許可するには , FMOD ビットを "1" に設定 する必要があります。 • PLL からの標準クロック信号が安定した後 (PLL ロック時間の経過後 ) でない と , モジュレータは許可できません。 • 周波数変調モードに指定されている PLL 周波数範囲は , 15MHz ∼ 25MHz です。 • 各 PLL 出力周波数には , 使用可能なモジュレーションパラメータのセットがあ ります。選択された設定 (CMPR レジスタ ) と PLL 周波数が一致している必要 があります。 CMPR レジスタの説明を参照してください。 • PLL 出力周波数の変更 , または ( 電源切断モードなどで ) PLL を OFF にする場 合は , FMOD=0 および FMODRUN=0 に変化する前に , モジュレータを禁止す る必要があります。 • モジュレータを許可するには , PDX ビットを "1" に設定することにより , モ ジュレータを電源切断モードからアクティブモードに切り換えておく必要があ ります。また , 起動時間として 6μs 待つ必要があります。 推奨の起動順序の説明は , アプリケーションノートを参照してください。 • 周波数変調モードでモジュレータを許可するには , パラメータレジスタ CMPR を使用して適切な設定を選択しておく必要があります。 • FMOD ビットを "1" に設定して周波数変調モードを許可した後 , モジュレータ がキャリブレートされます。この時間クロックは非変調クロックになります。 このため , 出力クロックはすぐに変調クロックに切り換わりません。クロック のステータス ( 周波数変調 / 非変調 ) は , FMODRUN ビットで示されます。 FMODRUN ビットの説明を参照してください。 • FMOD 信号の同期化および非変調クロックへの同期切換えのため , モジュレー タの禁止後にクロックが非変調クロックに切り替わるまでに , 9 × T0 ( 入力ク ロック周期 ) 未満かかります。モジュレータは , いつでも禁止できます。 • クロック変調パラメータレジスタ (CMPR) を変更する前に , モジュレータを禁 止しておく必要があります (FMOD=0 および FMODRUN=0) 。 PDX: 電源切断 ビット "0":電源切断モード "1":電源投入 • PDX はモジュレータの電源切断信号です。周波数変調モードを許可するには , あらかじめこのビットを "1" に設定し , 起動時間として 6μs 待つ必要があります。 推奨の起動順序の説明は , アプリケーションノートを参照してください。 • 電源切断モード (PDX=0) に切り換える前に , モジュレータを禁止しておく必 要があります (FMOD=0 および FMODRUN=0) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 171 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 以下の表に , モジュレータの状態の要約を示します。 表 15.2-2 モジュレータの状態 FMOD PDX FMODRUN ( 読出し専用 ) モジュレータ禁止 0 0 0 モジュレータ電源投入 , モジュレータ起動時間待ち (> 6μs) 0 1 0 周波数変調モードでモジュレータ許可 , モジュレータはキャリブレート中 , 変調はアクティブで ない 1 1 0 周波数変調モードでモジュレータが動作中 , 変調はアクティブ 1 1 1 これ以外は設定不可 ● クロック変調パラメータレジスタ (CMPR) クロック変調パラメータレジスタ (CMPR) は , 周波数変調モードでの変調度を決定します。 図 15.2-3 クロック変調パラメータレジスタ アドレス: 0004B9H bit 7 6 5 4 3 2 1 0 MP7 MP6 MP5 MP4 MP3 MP2 MP1 MP0 R/W R/W R/W R/W R/W R/W R/W R/W bit15 0004B8H R/W X 14 13 12 11 10 9 8 − − MP13 MP12 MP11 MP10 MP9 MP8 − − R/W R/W R/W R/W R/W R/W CMPRL (下位) 初期値 1 1 1 1 1 1 0 1B CMPRH (上位) 初期値 X X 0 0 0 0 1 0B : リード/ライト可能 : 不定値 : 未定義 • 変調パラメータは , 変調度 , 変調クロックでの実際の最小周波数および最大周波数を決定します。最適な設定を 選択する方法については , アプリケーションノートを参照してください。 • 使用可能な変調パラメータの各セットは , それぞれ特定の PLL 周波数を参照します。PLL 周波数と , 選択された パラメータは一致している必要があります。以下の使用可能な設定の表を参照してください。 • 変調パラメータは , 周波数変調モードのみに影響を与えます。 <注意事項> • 変調パラメータの変更は , モジュレータが禁止されており , (FMOD=0, FMODRUN=0) にのみ行ってください。 RUN フラグが "0" になっている場合 • クロックモジュレータを使用する場合は , MB91V460A では動作周波数の上限が 24MHz までとなります。 172 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ ● クロック変調パラメータレジスタの内容 表 15.2-3 クロック変調パラメータレジスタ (CMPR) の各ビットの機能 ビット名 機能 bit15, bit14 未定義 bit13 ∼ bit0 MP13 ∼ MP0: PLL 周波数に応じて , 以下の変調パラメータ設定が使用可能です。対応する 変調パラメータ CMPR レジスタ値は , 一番右の列に示されます。 ビット − F0: 非変調入力クロックの周波数 (PLL 周波数 ) 。 T0: 非変調入力クロックの周期 (PLL クロック周期 ) 。 分解能: 変調クロックの周波数の分解能。低 (1) ∼高 (7) 。 Fmin: 周波数変調クロックでの実際の最小周波数。 Fmax: 周波数変調クロックでの実際の最大周波数。 位相スキュー: 非変調標準クロックに対する変調クロックの最大位相シフト ( 非変調 クロックのクロック周期 ) 。 例:位相スキュー =1.44 最悪の場合 , 変調クロックの n 周期のシーケンスが , 非変調標準クロック の n 周期よりも 1.44 × T0 短くなるか , または 1.44 × T0 長くなることが あります。 位相スキュー 50: n<= 50 周期でのシーケンスの位相スキュー。 CMPR: CMPR レジスタのレジスタ設定。 n 周期 標準クロック + 位相スキュー n 周期 変調クロック n 周期 <注意事項> MCU の実際の最大許容クロック周波数を考慮してください。 ( 各製品のデータシートを参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 173 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ MCU クロックと変調パラメータの推奨設定値を下の表に示します。 表 15.2-4 クロックモジュレータ設定 (1 / 6) 174 変調度 (k) 内部パラメータ (N) CMPR [hex] ベースクロック [MHz] Fmin [MHz] Fmax [MHz] 1 3 026F 80 72.6 89.1 1 3 026F 76 69.1 84.5 1 5 02AE 76 65.3 90.8 2 3 046E 76 65.3 90.8 1 3 026F 72 65.5 79.9 1 5 02AE 72 62 85.8 1 7 02ED 72 58.8 92.7 2 3 046E 72 62 85.8 1 3 026F 68 62 75.3 1 5 02AE 68 58.7 80.9 1 7 02ED 68 55.7 87.3 1 9 032C 68 53 95 2 3 046E 68 58.7 80.9 2 5 04AC 68 53 95 3 3 066D 68 55.7 87.3 4 3 086C 68 53 95 1 3 026F 64 58.5 70.7 1 5 02AE 64 55.3 75.9 1 7 02ED 64 52.5 82 1 9 032C 64 49.9 89.1 2 3 046E 64 55.3 75.9 2 5 04AC 64 49.9 89.1 3 3 066D 64 52.5 82 4 3 086C 64 49.9 89.1 1 3 026F 60 54.9 66.1 1 5 02AE 60 51.9 71 1 7 02ED 60 49.3 76.7 1 9 032C 60 46.9 83.3 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 表 15.2-4 クロックモジュレータ設定 (2 / 6) 変調度 (k) 内部パラメータ (N) CMPR [hex] ベースクロック [MHz] Fmin [MHz] Fmax [MHz] 2 3 046E 60 51.9 71 2 5 04AC 60 46.9 83.3 3 3 066D 60 49.3 76.7 4 3 086C 60 46.9 83.3 5 3 0A6B 60 44.7 91.3 1 3 026F 56 51.4 61.6 1 5 02AE 56 48.6 66.1 1 7 02ED 56 46.1 71.4 1 9 032C 56 43.8 77.6 1 11 036B 56 41.8 84.9 1 13 03AA 56 39.9 93.8 2 3 046E 56 48.6 66.1 2 5 04AC 56 43.8 77.6 2 7 04EA 56 39.9 93.8 3 3 066D 56 46.1 71.4 4 3 086C 56 43.8 77.6 5 3 0A6B 56 41.8 84.9 1 3 026F 52 47.8 57 1 5 02AE 52 45.2 61.2 1 7 02ED 52 42.9 66.1 1 9 032C 52 40.8 71.8 1 11 036B 52 38.8 78.6 1 13 03AA 52 37.1 86.8 2 3 046E 52 45.2 61.2 2 5 04AC 52 40.8 71.8 2 7 04EA 52 37.1 86.8 3 3 066D 52 42.9 66.1 3 5 06AA 52 37.1 86.8 4 3 086C 52 40.8 71.8 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 175 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 表 15.2-4 クロックモジュレータ設定 (3 / 6) 176 変調度 (k) 内部パラメータ (N) CMPR [hex] ベースクロック [MHz] Fmin [MHz] Fmax [MHz] 5 3 0A6B 52 38.8 78.6 6 3 0C6A 52 37.1 86.8 1 3 026F 48 44.2 52.5 1 5 02AE 48 41.8 56.4 1 7 02ED 48 39.6 60.9 1 9 032C 48 37.7 66.1 1 11 036B 48 35.9 72.3 1 13 03AA 48 34.3 79.9 1 15 03E9 48 32.8 89.1 2 3 046E 48 41.8 56.4 2 5 04AC 48 37.7 66.1 2 7 04EA 48 34.3 79.9 3 3 066D 48 39.6 60.9 3 5 06AA 48 34.3 79.9 4 3 086C 48 37.7 66.1 5 3 0A6B 48 35.9 72.3 6 3 0C6A 48 34.3 79.9 7 3 0E69 48 32.8 89.1 1 3 026F 44 40.6 48.1 1 5 02AE 44 38.4 51.6 1 7 02ED 44 36.4 55.7 1 9 032C 44 34.6 60.4 1 11 036B 44 33 66.1 1 13 03AA 44 31.5 73 1 15 03E9 44 30.1 81.4 2 3 046E 44 38.4 51.6 2 5 04AC 44 34.6 60.4 2 7 04EA 44 31.5 73 3 3 066D 44 36.4 55.7 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 表 15.2-4 クロックモジュレータ設定 (4 / 6) 変調度 (k) 内部パラメータ (N) CMPR [hex] ベースクロック [MHz] Fmin [MHz] Fmax [MHz] 3 5 06AA 44 31.5 73 4 3 086C 44 34.6 60.4 4 5 08A8 44 28.9 92.1 5 3 0A6B 44 33 66.1 6 3 0C6A 44 31.5 73 7 3 0E69 44 30.1 81.4 1 3 026F 40 37 43.6 1 5 02AE 40 34.9 46.8 1 7 02ED 40 33.1 50.5 1 9 032C 40 31.5 54.8 1 11 036B 40 30 59.9 1 13 03AA 40 28.7 66.1 1 15 03E9 40 27.4 73.7 2 3 046E 40 34.9 46.8 2 5 04AC 40 31.5 54.8 2 7 04EA 40 28.7 66.1 2 9 0528 40 26.3 83.3 3 3 066D 40 33.1 50.5 3 5 06AA 40 28.7 66.1 3 7 06E7 40 25.3 95.8 4 3 086C 40 31.5 54.8 4 5 08A8 40 26.3 83.3 5 3 0A6B 40 30 59.9 6 3 0C6A 40 28.7 66.1 7 3 0E69 40 27.4 73.7 8 3 1068 40 26.3 83.3 1 3 026F 36 33.3 39.2 1 5 02AE 36 31.5 42 1 7 02ED 36 29.9 45.3 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 177 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 表 15.2-4 クロックモジュレータ設定 (5 / 6) 178 変調度 (k) 内部パラメータ (N) CMPR [hex] ベースクロック [MHz] Fmin [MHz] Fmax [MHz] 1 9 032C 36 28.4 49.2 1 11 036B 36 27.1 53.8 1 13 03AA 36 25.8 59.3 1 15 03E9 36 24.7 66.1 2 3 046E 36 31.5 42 2 5 04AC 36 28.4 49.2 2 7 04EA 36 25.8 59.3 2 9 0528 36 23.7 74.7 3 3 066D 36 29.9 45.3 3 5 06AA 36 25.8 59.3 3 7 06E7 36 22.8 85.8 4 3 086C 36 28.4 49.2 4 5 08A8 36 23.7 74.7 5 3 0A6B 36 27.1 53.8 6 3 0C6A 36 25.8 59.3 7 3 0E69 36 24.7 66.1 8 3 1068 36 23.7 74.7 9 3 1267 36 22.8 85.8 1 3 026F 32 29.7 34.7 1 5 02AE 32 28 37.3 1 7 02ED 32 26.6 40.2 1 9 032C 32 25.3 43.6 1 11 036B 32 24.1 47.7 1 13 03AA 32 23 52.5 1 15 03E9 32 22 58.6 2 3 046E 32 28 37.3 2 5 04AC 32 25.3 43.6 2 7 04EA 32 23 52.5 2 9 0528 32 21.1 66.1 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.2 クロックモジュレータレジスタ MB91460N シリーズ 表 15.2-4 クロックモジュレータ設定 (6 / 6) 変調度 (k) 内部パラメータ (N) CMPR [hex] ベースクロック [MHz] Fmin [MHz] Fmax [MHz] 2 11 0566 32 19.5 89.1 3 3 066D 32 26.6 40.2 3 5 06AA 32 23 52.5 3 7 06E7 32 20.3 75.9 4 3 086C 32 25.3 43.6 4 5 08A8 32 21.1 66.1 5 3 0A6B 32 24.1 47.7 5 5 0AA6 32 19.5 89.1 6 3 0C6A 32 23 52.5 7 3 0E69 32 22 58.6 8 3 1068 32 21.1 66.1 9 3 1267 32 20.3 75.9 10 3 1466 32 19.5 89.1 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 179 第 15 章 クロックモジュレータ 15.3 アプリケーションノート MB91460N シリーズ 15.3 アプリケーションノート 周波数変調モードの起動 / 停止順序 周波数変調モードの変調パラメータ ● 周波数変調モードの推奨の起動順序 起動 1. モジュレータを電源切断モードから電源投入モードに切り換えます (PDX=1) 。 2. PLL を ON に切り換えます。 3. PLL ロック時間を待機します (「第 12 章 クロック制御」で MCM フラグの説明を参 照してください ) 。同時に , モジュレータが起動されます。 4. CMPR レジスタを適切な値に設定します。 5. 周波数変調モードを許可します (FMOD=1) 。 キャリブレーション完了後 , クロックが非変調クロックから変調クロックに切り換わり , FMODRUN フラグが "1" に変更されます。 ... 動作中 ... 停止 6. モジュレータを禁止します (FMOD=0) 。 7. FMODRUN が "0" に変更されるまで待ちます。 8. 電源切断モードに切り換えます (PDX=0) 。 9. PLL の禁止 , 電源切断モードへの切換えなどを行います。 <注意事項> PLL ロック時間の経過前にモジュレータを許可しないでください。モジュレータの動作中は PLL を禁止しない でください。 180 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 15 章 クロックモジュレータ 15.3 アプリケーションノート MB91460N シリーズ ● 周波数変調モードの変調パラメータ 特定の EMI 低減効果を得るためには , 実際の用途 , システム全体 , 要件によって異なります。 周波数変調モードでの最適な変調パラメータを調べるには , 以下の方法をお勧めします。 1. 性能のニーズに基づいて , 必要な PLL 周波数を定義します。 例:16MHz 2. 許容される MCU の最大クロック周波数を決定します。 例:32MHz 3. 最大分解能および最大変調度での設定を選択します。最大周波 数は , 許容される MCU の最大クロック周波数未満にします。 例:分解能:7, 変調度:2, CMPR=05F2H (Fmax= 30.34MHz) 4. EMI 測定を実行します。 5. EMI 測定が要件を満たさなかった場合は , 以下のいずれかを実 行できます。 6. 同じ周波数分解能で変調度を下げます。 ( これにより , >100MHz の上位周波数帯域の低下は改善される可 能性がありますが , <100MHz の基本帯域の低下は悪化します。) 例:分解能:7, 変調度:1, CMPR=03F9H または 周波数分解能を下げて変調度を上げます。 ( これにより , <100MHz の基本帯域の低下は改善される可能性 がありますが , >100MHz の上位周波数帯域の低下は悪化しま す。) または 例:分解能:5, 変調度:3, CMPR=0771H 新しい設定を用いて最良の設定が得られるまで 3) を繰り返しま す。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 181 第 15 章 クロックモジュレータ 15.3 アプリケーションノート 182 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.1 概要 MB91460N シリーズ 第 16 章 タイムベースカウンタ 16.1 概要 タイムベースカウンタは , メインクロックの 2 分周をカウントする 26 ビットのアップ カウンタです。 MCU の選択したクロックソースが停止していたか , または停止していた可能性がある状態から復帰する場合 , 発振子からの不安定な出力を回避するために MCU は自動的に発振安定化待ち状態になります。 発振安定待ち時間の間 , 内部クロックおよび外部クロックの供給は停止し , タイムベースカウンタのみが , 発振安定待ち時間設定によって設定された時間が経過するまで動作し続けます。 図 16.1-1 タイムベースカウンタ ( 概略図 ) 一時停止要因 タイムベースカウンタ ウォッチドッグタイマ選択 ウォッチドッグリセット ベースクロックφ 26ビットアップカウンタ タイムベースタイマ選択 タイムベースタイマ割込み 発振安定待ち時間選択 発振安定待ち制御信号 上図に , 概念図を示します。詳細な説明は該当する各章を参照してください。 タイムベースカウンタ , タイムベースタイマ , ウォッチドッグタイマは , まとめてウォッチドッグ制御ユニットとよば れます。 図 16.1-2 発振安定待ち生成時のタイムベースカウンタ 発振安定待ち時間選択 ベースクロックφ 26ビットアップカウンタ 発振安定待ち 制御信号 セレクタ エッジ検出 16.2 特長 16.2.1 タイムベースカウンタ ( 発振安定待ちを生成するために使用する場合 ) タイプ : 26 ビットアップカウンタ 番号 :1 クロックソース : ベースクロック (CLKR レジスタで選択されたクロックソース , Fmain-CL/2, メイン PLL によ る) クリア CM71-10149-1 :発振安定待ち状態への移行時に自動的にクリアされます。 FUJITSU MICROELECTRONICS LIMITED 183 第 16 章 タイムベースカウンタ 16.2 特長 MB91460N シリーズ 16.2.2 発振安定待ちをよび出すイベント ■ タイムベースカウンタを使用して発振安定待ちをよび出すイベント ● 設定初期化後の待ち時間:自動呼出し ( タイムベースカウンタ ) • INITX 端子入力後の初期発振安定待ち • ウォッチドッグリセット • メインクロック発振が停止されていない場合:発振安定待ち時間は不要 • メインクロック発振が停止された場合:発振安定待ち時間は必要 ● ストップモードからの復帰後の待ち時間:自動呼出し ( タイムベースカウンタ ) • クロック発振回路が停止したストップモードの場合: • 対象の発振回路の発振安定待ち時間が必要 • メイン PLL がロックするための待ち時間が必要 ( メイン PLL が使用されている場合 ) •クロック発振回路が停止していないストップモードの場合: クロック発振 ( メイン /PLL) が停止していない場合 , 発振安定待ちは必要ありません。 ● 選択したメイン PLL の異常状態から復帰する場合 メイン PLL がロックする時間を取るため , 自動的に発振安定待ち状態になります。 ■ タイムベースカウンタ以外を使用して発振安定待ちをよび出すイベント ● 電源投入後の待ち時間:端子入力によって指定 ● メインクロック発振停止から復帰する場合:メインクロック発振許可および発振の安定待ちが 必要です。 ● ( メインクロック動作の ) メイン PLL ロック待ち時間:タイムベースタイマ割込みを使用して 時間を発生させることをお勧めします。 • メイン PLL 動作の許可後に待ち時間が必要です。 • メイン PLL 逓倍率設定の変更後に待ち時間が必要です。 184 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.3 構成 MB91460N シリーズ 16.3 構成 図 16.3-1 発振安定待ち時間生成に使用されるタイムベースタイマの構成図 発振安定待ち時間部分 OS1, OS0 0 1 1 0 1 1 0 1 0 メインPLL 1 1 設定禁止 STCR: bit3, bit2 φ2 x 21 φ2 x 211 φ2 x 216 φ2 x 222 エッジ検出 CLKR : bit1, bit0 0 0 1 0 セレクタ CKS1, CKS0 0 発振安定待ち 制御信号 F CL-MAIN /2 タイムベースカウンタ (26ビットカウンタ) 0 F CL-MAIN /2 メインPLL 1 2 3 9 21 22 23 24 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 ベースクロック (φ2) タイマのクリア (自動制御) -INITX端子入力 -ウォッチドッグリセット - STOP 図 16.3-2 レジスタ一覧 タイムベースカウンタ アドレス bit 7 6 000481H STOP SLEEP 5 HIZ 4 SRST 3 OS1 5 --- 4 --- 3 --- 2 OS0 1 --- OSCD1 2 1 0 0 STCR (スタンバイ制御レジスタ) クロック制御 アドレス bit 7 000484H --- CM71-10149-1 6 --- PLL1EN CLKS1 CLKS0 CLKR (クロックソース制御レジスタ) FUJITSU MICROELECTRONICS LIMITED 185 第 16 章 タイムベースカウンタ 16.4 レジスタ MB91460N シリーズ 16.4 レジスタ 16.4.1 STCR:スタンバイ制御レジスタ スタンバイモードへの移行 , ストップモード中の端子状態 , ストップモード中にクロックを停止するかどうか , 発振安定待ち時間 , ソフトウェアリセットを制御します。 ( 注意事項 ) 「第 10 章 スタンバイ」および「第 18 章 ウォッチドッグタイマ」の章を参照してください。 • STCR:アドレス 000481H ( アクセス:バイト ) bit 7 6 STOP SLEEP 5 4 3 2 1 0 HIZ SRST OS1 OS0 − OSCD1 0 0 1 1 0 0 1 1 初期値 (INIT 端子入力 ) 0 0 1 1 X X 1 1 初期値 ( ウォッチドッグリセット ) 0 0 X 1 X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) [bit7] STOP ( ストップモード ) "1" に設定した場合 , ストップモードに移行します。 [bit6] SLEEP ( スリープモード ) • "1" に設定した場合 , スリープモードに移行します。 • このビットとストップモードビット (STOP) が同時に "1" に設定されると , デバイスはストップモードにな ります。 [bit5] HIZ ( ハイインピーダンスモード ) • "0" に設定した場合 , 端子はストップモードへの移行時と同じ状態を保持します。 • "1" に設定した場合 , 端子出力はストップモード中にハイインピーダンス (Hi-Z) になります。 [bit4] SRST ( ソフトウェアリセット ) • "0" に設定した場合 , ソフトウェアリセットが発生します。 • 負論理が使用されます。 [bit3, bit2] OS1, OS0 ( 発振安定時間選択 ) リセット (INIT) またはストップモードからの復帰時の発振安定待ち時間。 OS[1:0] 発振安定 待ち時間 メインクロックを使用する場合 (4.0MHz メインクロックの場合 ) 00 φ2 × 21 1.00μs 01 φ2 × 211 1.0ms 10 φ2 × 216 32ms 11 φ2 × 222 2s • φ2:メインクロックの 2 分周 • INIT端子入力によってリセットがトリガされた場合は, "00B"が設定されたものとして動作します (φ2 x 21, メ インクロック ) 。 186 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.4 レジスタ MB91460N シリーズ • その他のリセットまたはストップモードからの復帰時の場合は , 指定したクロック ( メイン ) および発振 安定待ち時間 (OS[1:0]) が使用されます。 • カウントは , タイムベースカウンタで行われます。 [bit1] 予約ビット このビットには , 常に "0" を書き込んでください。 [bit0] OSCD1 ( メインクロック発振停止 ) "1" に設定した場合 , メインクロック発振はストップモードで停止します。 「18.8 注意事項」を参照してください。 16.4.2 CLKR:クロックソース制御レジスタ MCU の動作および PLL の制御に使用されるベースクロックのクロックソースを選択します。 ( 注意事項 ) 「第 12 章 クロック制御」を参照してください。 • CLKR:アドレス 000484H ( アクセス:バイト ) bit 7 6 5 4 3 2 1 0 − − − − − PLL1EN CLKS1 CLKS0 X X X X 0 0 0 0 初期値 (INIT 端子入力 ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性の詳細については , 「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit4] 予約ビット このビットには , 常に "0" を書き込んでください。読出し値は書き込んだ値です。 [bit3] 予約ビット このビットには , 常に ”0” を書き込んでください。 [bit2] PLL1EN ( メイン PLL 動作許可 ) このビットを "1" に設定した場合 , メイン PLL 動作が開始されます。メイン PLL がロックした後 , メイン PLL を動作クロックとして選択できます。 [bit1, bit0] CLKS1, CLKS0 ( クロックソース選択 ) CLKS1 CLKS0 0 0 X0/X1 からのメインクロック入力の 2 分周 ( 初期値 ) メインクロックモード 0 1 X0/X1 からのメインクロック入力の 2 分周 メインクロックモード 1 0 メイン PLL メインクロックモード 1 1 設定禁止 CM71-10149-1 クロックソース設定 モード 設定禁止 FUJITSU MICROELECTRONICS LIMITED 187 第 16 章 タイムベースカウンタ 16.4 レジスタ MB91460N シリーズ クロックモードを変更するとき , CLKS1 が "1" の場合 , CLKS0 の値は変更できません。 CLKS1 ビットおよび CLKS0 ビットの変更が許可される場合と許可されない場合を以下に示します。 表 16.4-1 CLKS1 ビットおよび CLKS0 ビットの変更が許可される場合と許可されない場合 変更が許可される場合 変更が許可されない場合 "00B" → "01B" または "10B" "00B" → "11B" "01B" → "00B" "01B" → "10B" または "11B" "10B" → "00B" "10B" → "01B" または "11B" 発振安定待ち時間中のタイムベースカウンタのクロックソースは , クロックソース選択ビットによって設定されます。 188 CLKS1 CLKS0 0 0 0 1 1 0 1 1 発振安定待ち時間中の タイムベースカウンタのクロックソース モード X0/X1 からのメインクロック入力の 2 分周 ( 初期値 ) メインクロックモード 設定禁止 設定禁止 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.5 動作 MB91460N シリーズ 16.5 動作 発振安定待ちをトリガするイベントおよびそれぞれの場合の動作について説明します。 16.5.1 INITX 端子入力 電源投入後に発振安定待ちが必要です。初期化されたタイムベースカウンタによって提供される待ち時間は非 常に短いため , INITX 端子入力は "L" レベルに保持する必要があります。 図 16.5-1 発振安定待ち時間を提供する端子入力の幅の使用 リセットをトリガし、メインクロックの 発振安定待ち時間を指定する場合の INITX端子入力の使用 (1) パワーオンVccの例 (3) メインクロック開始の例 タイムベース カウンタカウント 十分な発振安定待ち 時間を指定 (5) 21 時間 000H 21 (ビット0出力) INITX端子入力 (4) (5) (2) 状態遷移 未定義 発振安定待ち時間の初期値が 短すぎる (6) (2) (7) メインRUN 発振安定待ちリセット 設定初期化 (INIT) (8) 動作初期化 (SRST) リセット解除シーケンス (1) 電源投入 (2) INITX 端子入力開始 ( 初期化リセット設定 ) (3) メインクロック発振開始 (4) INITX 端子入力 ( メインクロック発振が安定するのに十分な時間を提供 ) (5) INITX 端子入力削除。タイムベースカウンタが初期化され , カウントを開始します。 (6) タイムベースタイマ / カウンタによって提供される発振安定待ち時間 ( 初期値 = 最小値 ) (INITX 端子入力 (4) が保持されない場合 , 待ち時間は非常に短くなります。) (7) 動作初期化リセット , リセット解除シーケンス (8) メイン RUN ■ メインクロック実行時の INITX 端子入力 最小発振安定待ち時間の経過後 , デバイスは自動的に動作初期化リセット (RST) 状態になります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 189 第 16 章 タイムベースカウンタ 16.5 動作 MB91460N シリーズ 16.5.2 ウォッチドッグリセット ( 指定した発振安定待ち時間が自動的に生成されます ) ■ メインクロック動作時のウォッチドッグリセット この場合発振安定待ちは必要ありませんが , 指定した待ち時間が自動的に生成されます。 16.5.3 割込みによるストップモードからの復帰 ■ メインクロック発振が停止しているときにメイン PLL 動作からストップモードに移行する場合 (STCR:OSCD[2:1]=11B) : メイン発振回路は , 選択された発振安定時間を自動的に生成します。 図 16.5-2 メインクロックが停止しているストップモードから メイン PLL 動作への割込みによる復帰 メインクロック/メインPLL発振安定待ち時間の生成にタイムベースカウンタを使用 (4) メインクロック開始の例 メインPLLロックの例 タイムベースタイマ カウンタカウント 十分な発振安定待ち 時間を指定 222 (4) (1) 時間 000H 222 (ビット21出力) 外部割込み(レベル検出) クロックタイマ割込み リアルタイムクロック割込み (4) (1) 内部リセット信号 (5) (3) 状態遷移 メインクロック発振安定待ち 停止のメインSTOPモード 発振安定待ち/PLLロック待ち メインPLL動作 (1) 割込み許可が生成されます ( ストップモード終了 ) 。 (2) タイムベースカウンタが自動的にクリアされ , その後カウントを開始します。 (3) 発振安定待ち時間 ( 指定した時間 ) 。 ( 十分な発振安定待ち時間を指定するために事前にインターバル時間を設定しておきます。) (4) タイムベースカウンタのインターバル時間。 (5) メイン PLL 動作。 190 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.5 動作 MB91460N シリーズ ■ クロック発振回路を停止せずにストップモードに変更する場合 ( メイン PLL/ メイン ) : この場合発振安定待ちは必要ありませんが , 自動的に待ち時間が生成されます。このため , ストップモードに 変更する前にインターバル時間を最小値に設定することをお勧めします。 • ストップモードから復帰する場合 , デバイスはストップモードが解除された直後に発振安定待ち状態に なります。 • 発振安定待ち終了後の次の状態は , ストップモードからの復帰の要因によって異なります。 • 許可された外部割込み , メイン発振安定待ちタイマ割込みによって復帰が発生した場合 , デバイスは通常 の動作状態 (RUN) になります。 <注意事項> メイン PLL がストップモードで動作し続ける場合 , メイン PLL クロックをクロックソースとしてストップ モードへの変更は許可していません。必ず事前にクロックソースをメインクロックの 2 分周に設定してく ださい。 16.5.4 メイン PLL のロック待ち時間は , ソフトウェアによって生成される必要があります。 ■ メイン PLL 動作許可後の待ち時間: タイムベースタイマ割込みを使用することをお勧めします。 ただし , メイン PLL はクロックソースとして選択しないようにしてください。 ■ メイン PLL 逓倍率変更後の待ち時間: タイムベースタイマ割込みを使用することをお勧めします。 ただし , メイン PLL はクロックソースとして選択しないようにしてください。 詳細は , 「第 17 章 タイムベースタイマ」を参照してください。 16.5.5 選択したメイン PLL の異常状態から復帰する場合 メイン PLL がクロックソースとして設定されているときに , メイン PLL 制御に何らかの問題が発生した場合 ( 逓倍率設定が変更された , メイン PLL 動作中にメイン PLL 許可ビットが変更されたなど ), デバイスは自動的 に発振安定待ち状態になり , メイン PLL ロック時間が提供されます。発振安定待ち時間の経過後 , デバイスは通 常の動作モードになります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 191 第 16 章 タイムベースカウンタ 16.5 動作 MB91460N シリーズ 16.5.6 発振安定待ちの種類 ■ タイムベースカウンタ 発振安定待ち時間を自動的にカウントします。 デバイスを発振安定待ち状態に変更するトリガが発生した場合 , タイムベースカウンタはクリアされ , 指定した 発振安定待ち時間のカウントが開始されます。 ■ INITX 端子への "L" レベル入力 発振の停止中に INITX 端子への "L" レベル入力によってデバイスの動作が再開された場合 ( 以下に 3 つの例を 示します ), "L" レベル入力の幅によって発振回路に必要な安定待ち時間が提供されます。 • 電源投入後の INITX 端子入力 • ストップモード中に発振が停止している場合の INITX 端子入力 ■ タイムベースタイマ タイムベースタイマを使用してメイン PLL ロック時間を確保することをお勧めします。 詳細は , 「第 18 章 ウォッチドッグタイマ」を参照してください。 ■ メイン発振安定待ちタイマ 詳細は , 「第 20 章 メイン発振安定待ちタイマ」を参照してください。 192 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.5 動作 MB91460N シリーズ 16.5.7 各状態遷移における安定待ちが必要かどうか 以下の図を参照してください。 表 16.5-1 INITX 端子入力によるリセット 状態 電源投入後の待ち時間 メインクロックが動作中 ( つまり , メインクロック 発振が動作中 ) メイン PLL が動作中 ( つまり , メイン PLL 発振が動作中 ) メインストップ ( つまり , メインクロック / メイン PLL 発振が動作中 ) メインクロック (1/2) が動作中 からメインストップへ ( メインクロック停止 ) メイン PLL が動作中から メインストップへ ( メイン クロック停止 ) メインクロック発振安定 待ち進行中 PLL メイン x x x O O O O/x O x x x x x x INIT 信号入力 後の動作 初期値を使用した動作 ( メインクロック (1/2) ) 発振安定待ちが 必要かどうか ? INITX 端子入力の幅を指 自動発振安定待ち 定する必要があります。 ( 最小値 ) は短すぎます。 初期値を使用した動作 ( メインクロック (1/2) ) 発振安定待ち 時間は不要 備考 自動発振安定待ち ( 初期値 = 最小値 ) を 使用します。 初期値を使用した動作 ( メインクロック (1/2) ) 自動発振安定待ち INITX 端子入力の幅を指 ( 初期値 = 最小値 ) は 定する必要があります。 短すぎます。 表 16.5-2 ウォッチドッグリセット 状態 PLL メイン ウォッチドッグリセット 後の動作 メインクロックが動作中 ( つまり , メインクロック 発振が動作中 ) x メイン PLL が動作中 ( つまり , メイン PLL 発振が動作中 ) O CM71-10149-1 O 初期値を使用した動作 ( メインクロック (1/2) ) 発振安定待ちが 必要かどうか ? 備考 発振安定待ち時間は不要 自動発振安定待ちが使 用されます。( 発振安定待 ち時間は初期化されませ ん。) O FUJITSU MICROELECTRONICS LIMITED 193 第 16 章 タイムベースカウンタ 16.5 動作 MB91460N シリーズ 表 16.5-3 割込みによるストップモードからの復帰 状態 PLL メイン 割込みによる ストップモードからの 復帰後の動作 発振安定待ちが 必要かどうか ? 備考 メインストップ ( ストップ モード中にメインクロック発 振が継続 , メイン PLL が動作 中)* O O 以前の動作状態 ( メイン クロック (1/2) ) 自動発振安定待ちが使用さ 復帰後にメイン PLL に変 れます。待ち時間設定を 更する場合 , メイン PLL OS[1:0]=11 に設定してメイ ロック待ち時間が必要で ン PLL ロック待ち時間を す。 指定します。 メインストップ ( ストップ モード中にメインクロック発 振が継続 , メイン PLL が停止 ) x O 以前の動作状態 ( メイン クロック (1/2) ) 発振安定待ち時間は不要 自動発振安定待ちが使用さ れます。待ち時間に最小値 を設定してください。 メインストップ ( ストップ モード中にメインクロック発 振が停止 ( 自動 ) ) x x 以前の動作状態 ( メイン クロック (1/2) ) メインクロック発振 およびメイン PLL ロック待ちが必要です。 自動発振安定待ちが使用さ れます。適切な待ち時間設 定を行ってください。 * ストップに変更する前にアクティブなクロックをメインクロックの 2 分周に設定する必要があります。 表 16.5-4 メイン PLL 発振許可 状態 メインクロック (1/2) が 動作中 PLL メイン x O メイン PLL 発振許可 メインクロック発振開始 / PLL 逓倍率設定変更 発振安定待ちが 必要かどうか ? メイン PLL ロック待ちが 必要となります。 備考 タイムベースタイマを使用 してメイン PLL ロック待 ち時間を発生させる ことをお勧めします。 O:発振動作中 , x:発振停止 194 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.6 設定 MB91460N シリーズ 16.6 設定 表 16.6-1 発振安定待ち時間を指定するために必要な設定 設定 設定レジスタ 発振安定待ち時間設定 スタンバイ制御レジスタ (STCR) 設定手順 16.7.1 設定の手順については , 番号で指示された項を参照してください。 表 16.6-2 INITX 端子リセットを設定するために必要な設定 設定 INITX 端子入力 設定項目 データシートの発振子パラメータおよび リセットパラメータを参照してください。 設定手順 ― • メインクロックの発振安定待ち時間を指定するために必要な設定 「第 20 章 メイン発振安定待ちタイマ」を参照してください。 • PLL ロック待ち時間を指定するために必要な設定 「第 17 章 タイムベースタイマ」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 195 第 16 章 タイムベースカウンタ 16.7 Q & A MB91460N シリーズ 16.7 Q & A 16.7.1 自動的に生成される発振安定待ち時間を設定するには ? 発振安定待ち時間選択ビット (STCR:OS[1:0]) を使用します。( 以下に可能性のあるシナリオおよび必要な 設定を示します。) 発振安定待ち時間 選択ビット (OS[1:0]) ケース 発振安定待ち時間の例 リセット後 (INIT) または ストップモードからの復帰時 発振安定 待ち時間 4.0MHz メインクロック 動作中 ストップモード中にメイン PLL または発振子を 停止させないためには ( 発振安定待ち時間は必要ありません。) "00" に設定します。 φ2 × 21 1.00μs 外部クロック入力またはストップモード中に発 振子を停止させないためには ( メイン PLL ロック待ち時間 ) "01" に設定します。 φ2 × 211 1.0ms セラミック振動子などの高速安定待ち時間と ともに発振子を使用する場合 ( 発振安定待ち時間 ( 中 ) ) "10" に設定します。 φ2 × 216 32ms 標準の水晶発振子を使用する場合 ( 発振安定待ち時間 ( 長 ) ) "11" に設定します。 φ2 × 222 2s • φ2:メインクロックの 2 分周 • INITX 端子入力の場合は , "00B" が設定されたものとして動作します (φ2 × 21= メインクロックの 4 分周 ) 。 • その他のリセットおよびストップモードからの復帰時の場合 , 動作は , 指定したクロック ( メイン ) およ び発振安定待ち時間 (OS[1:0]) 設定に従います。 • カウントは , タイムベースカウンタで行われます。 • 時間の選択後は , 外部 INITX 端子による設定初期化以外では初期化されません。 196 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 16 章 タイムベースカウンタ 16.7 Q & A MB91460N シリーズ 16.7.2 発振安定待ち時間を自動的に生成せずに設定するには ? 以下に説明するさまざまな場合の設定が必要です。 発振 状態 ( 遷移前 ) PLL メイン 電源投入後の待ち 時間 × × メインクロック発振安 定待ち × × 状態 ( 遷移前 ) メインクロック (1/2) が動作中 発振 PLL × 状態 ( 遷移後 ) 発振安定 待ちが必要か どうか ? 発振安定待ち時間の設定 INIT 信号入力後の動 作はメイン クロック (1/2) ( 初期 値 ) になります メインクロック発 振安定待ちが必要 となります。 自動発振安定待ち ( 最小値 ) は 非常に短いため , INITX 端子の幅は安定時間を指定す るのに十分である必要があり ます。 状態 ( 遷移後 ) 発振安定待ちが必 要かどうか ? 発振安定待ち時間の設定 メイン PLL ロック待ちが 必要となります。 タイムベースタイマを使用し てメイン PLL ロック待ち時間 を発生させることをお勧めし ます。 メイン O メイン PLL 発振 開始 /PLL 逓倍率 設定変更 O:発振動作中 , ×:発振停止 16.7.3 タイムベースカウンタのクリアのタイミングは ? • タイムベースカウンタは , INITX 端子入力によってのみ自動的にクリアされます。 タイムベースカウンタは , クリアされた後自動的にカウントを開始します。 • タイムベースカウンタはソフトウェアによってクリアすることもできます。 詳細は , 「第 17 章 タイムベースタイマ」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 197 第 16 章 タイムベースカウンタ 16.8 注意事項 MB91460N シリーズ 16.8 注意事項 • クロックソース クロックソースとして選択したクロックが不安定な場合は , 発振安定待ち時間が必要となります。 • 発振安定待ち時間 発振安定待ち時間選択ビット (STCR:OS[1:0]) で設定された待ち時間は , 外部 INITX 端子入力 , CR 発振の ウォッチドッグによってトリガされたリセット以外のいずれのリセットによっても初期化されません。設定 初期化リセット ( タイムベースカウンタベースのウォッチドッグリセット ) を含むその他のリセットおよび動作 初期化リセット (RST) では , リセット前の待ち時間設定が使用されます。 • ウォッチドッグリセット ( タイムベースカウンタベースのウォッチドッグ ) メインクロックの動作中 ( メイン ) にウォッチドッグリセットが発生した場合 , 発振安定待ち時間は必要あり ませんが, 自動的に待ち時間が生成されます。 この場合, 発振安定待ち時間 (STCR:OS[1:0]) は初期化されません。 • INITX 端子への "L" レベル入力 INITX 端子入力によって初期化がトリガされた場合 , 発振安定待ち時間は最小値に初期化されるため , この場 合の待ち時間は非常に短くなります。INITX 端子入力幅を発振安定待ち時間を指定するのに十分な長さにし てください。 以下の 3 つの場合には , INITX 端子入力を , 発振回路に必要な発振安定待ち時間を指定するのに十分な長さの "L" レベルに保持します。 • 電源投入後の INITX 端子入力 • ストップモードで発振が停止した後の INITX 端子入力 • メイン PLL ロック待ち プログラム実行開始後に停止状態からメイン PLL を許可する場合は , メイン PLL がロックするのに十分な時 間が経過するまでメイン PLL を使用しないでください。 同様に , PLL の動作中にメイン PLL の逓倍率設定を変更する場合 , メイン PLL がロックするのに十分な時間 が経過するまで新しいメイン PLL クロックを使用しないでください。 タイムベースタイマ割込みを使用してメイン PLL ロック待ち時間を発生させることをお勧めします。 • メインクロック発振安定待ちが必要ない場合 メインクロック発振が停止していない場合にメインストップから割込みによって復帰するときに発振安定待 ちは必要ありませんが , 自動的に発振安定待ちが生成されます。ストップモードに入る前に待ち時間を最小値 に設定することをお勧めします。 198 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 17 章 タイムベースタイマ 17.1 概要 MB91460N シリーズ 第 17 章 タイムベースタイマ 17.1 概要 タイムベースタイマは , ベースクロック (φ) を使用して 26 ビットタイムベースカウンタからの出力を使用しま す。 タイムベースタイマは , メイン PLL ロック待ち時間の確保および長時間のカウントに使用されるインターバル 割込み生成タイマです。 図 17.1-1 タイムベースカウンタ ( 概略図 ) 一時停止要因 タイムベースカウンタ ウォッチドッグタイマ選択 ウォッチドッグリセット ベースクロックφ 26ビットアップカウンタ タイムベースタイマ選択 タイムベースタイマ割込み 発振安定待ち時間選択 発振安定待ち制御信号 上図に概念図を示します。詳細な説明は該当する各章を参照してください。 タイムベースカウンタ , タイムベースタイマ , ウォッチドッグタイマは , まとめてウォッチドッグ制御ユニッ トとよばれます。 図 17.1-2 タイムベースタイマ割込み生成時のタイムベースカウンタ ベースクロックφ タイムベースカウンタ タイムベースタイマ選択 26ビットアップカウンタ セレクタ タイムベースタイマ 割込み(#46) タイムベース タイマカウンタ 17.2 特長 ■ タイムベースタイマ (TBT) • タイプ • 個数 :タイムベースタイマビット出力の検出およびインターバル割込みの生成を行います。 :1 • インターバル時間:8 種類 ( タイムベースタイマビット出力 ) 周期 = 211/Fφ, 212/Fφ, 213/Fφ, 222/Fφ, 223/Fφ, 224/Fφ, 225/Fφ, 226/Fφ • 動作開始 / 停止:常に動作中 ( 割込み要求許可制御によって置き換えられます ) • タイムベースカウンタクリア:ソフトウェアでタイムベースカウンタクリアレジスタ CTBR に "A5H""5AH" を継続的に書き込みます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 199 第 17 章 タイムベースタイマ 17.3 構成 MB91460N シリーズ 17.3 構成 図 17.3-1 構成図 インターバル時間 タイムベースタイマ部 TBC2~TBC0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 TBCR: bit5~bit3 φ x 211 φ x 212 φ x 213 φ x 222 φ x 223 φ x 224 φ x 225 φ x 226 タイムベースタイマ制御部 TBIE 0 1 TBCR: bit6 割込み禁止 割込み許可 0 セレクタ エッジ検出 TBIF 0 1 TBCR: bit7 割込み要求なし 割込み要求あり 書込み; 0:フラグクリア タイムベース 1 タイマ割込み (#46) タイムベースカウンタ (26ビットカウンタ) ベースクロック (φ) 0 1 2 3 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 21 22 23 24 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 タイマクリア CTBR "A5H"の次に"5AH"を 書き込んだ後に カウンタをクリア 図 17.3-2 レジスタ一覧 タイムベースタイマ アドレス 000482H bit 7 TBIF 6 TBIE 5 4 3 TBC2 TBC1 TBC0 2 --- 1 0 SYNCR SYNCS 000483H D7 D6 D5 D4 D3 D2 D1 D0 00045FH --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 0FFF40H 200 TBCR (タイムベータイマ制御レジスタ) CTBR (タイムベースカウンタクリアレジスタ) ICR31 (割込みレベルレジスタ) 32ビット FUJITSU MICROELECTRONICS LIMITED (割込み ベクタ #47) CM71-10149-1 第 17 章 タイムベースタイマ 17.4 レジスタ MB91460N シリーズ 17.4 レジスタ 17.4.1 TBCR:タイムベースタイマ制御レジスタ このレジスタは , タイムベースタイマ割込み制御 , リセット / スタンバイ動作オプションなどを設定する場合に使 用します。 注意 :「第 10 章 スタンバイ」を参照してください。 • TBCR:アドレス 000482H ( アクセス:バイト ) bit 7 TBIF 6 TBIE 5 TBC2 4 TBC1 3 TBC0 0 0 X X 0 0 X R(RM1),W R/W R/W 2 − 1 SYNCR 0 SYNCS X X 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W RX/WX RX/WX R/W 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) [bit7] TBIF ( タイムベースタイマ割込み要求フラグ ) 動作説明 TBIF 読出し 書込み 0 割込み要求なし フラグはクリアされます 1 割込み要求あり ( タイムベースタイマによって設定された インターバル時間が経過 ) 動作への影響はありません タイムベースタイマ割込み要求許可ビットが "1" で , タイムベースタイマ割込み要求フラグが "1" の場合 , 割 込み要求が生成されます。 [bit6] TBIE ( タイムベースタイマ割込み要求許可 ) TBIE 動作説明 0 タイムベースタイマ割込み要求禁止 1 タイムベースタイマ割込み要求許可 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 201 第 17 章 タイムベースタイマ 17.4 レジスタ MB91460N シリーズ [bit5 ∼ bit3] TBC2 ∼ TBC0 ( タイムベースタイマインターバル時間の選択 ) 例 TBC2 ∼ TBC0 インターバル時間 メインクロックの動作中 (4.0MHz, PLL8 逓倍 ) 000B φ × 211 64.0μs 001B φ × 212 128μs 010B φ × 213 256μs 011B φ × 222 131ms 100B φ × 223 262ms 101B φ × 224 524ms 110B φ × 225 1048ms 111B φ × 226 2097ms 割込み前にインターバル時間を設定してください。 ( 割込みが原因で行われた停止に復帰する場合は , 発振安定待ち時間が使用されます ) [bit2] 予約ビット 書込みによる動作への影響はありません。読出し値は不定です。 [bit1] SYNCR ( 同期リセット動作許可 ) SYNCR 動作説明 0 通常のリセット動作 1 同期リセット動作許可 通常の動作リセット:動作初期化リセット (RST) 要求が生成された場合は , 直ちに動作初期化を リセットします。 同期リセット:バスへのすべてのアクセスが停止した後に動作初期化をリセットします。 詳細は「9.8.2 同期リセット動作」を参照願います。 [bit0] SYNCS ( 同期スタンバイ動作許可 ) SYNCS 動作説明 0 通常リセット ( 設定禁止 ) 1 同期スタンバイ動作許可 ( スタンバイに移行する前に設定してください ) 同期スタンバイ動作の詳細は「10.4.2 TBCR:タイムベースタイマ制御レジスタ」を参照願います。 202 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 17 章 タイムベースタイマ 17.4 レジスタ MB91460N シリーズ 17.4.2 CTBR:タイムベースカウンタクリアレジスタ このレジスタは , タイムベースカウンタを初期化する場合に使用されます。 • CTBR:アドレス 00000483H ( アクセス:バイト ) bit 7 D7 X RX/W 6 5 4 3 2 1 0 D6 X RX/W D5 X RX/W D4 X RX/W D3 X RX/W D2 X RX/W D1 X RX/W D0 X RX/W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • タイムベースカウンタクリアレジスタに "A5H", "5AH" を連続で書き込むと , "5AH" の書込み直後にタイムベー スカウンタがクリアされます。( すべてのビットは "0" です ) "A5H" と "5AH" の間に時間制限はありませんが , "A5H" の後に "5AH" 以外を書き込んだ場合は , 再度 "A5H" を 書き込む必要があります。再度書き込まない場合は , "5AH" が書き込まれた場合でもタイムベースカウンタはク リアされません。 • 読出し値は不定です。 • タイムベースカウンタクリアレジスタを使用してタイムベースカウンタをクリアすると , 以下に示す関連機 能に影響をおよぼします。 • 発振安定待ち時間 • ウォッチドッグタイマ期間 • タイムベースタイマ期間 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 203 第 17 章 タイムベースタイマ 17.5 動作 MB91460N シリーズ 17.5 動作 タイムベースタイマの動作について説明します。 17.5.1 タイムベースタイマ割込みの例 ( メイン PLL ロック待ち ) 図 17.5-1 タイムベースタイマ割込みの例 ( メイン PLL ロック待ち ) タイムベースタイマによる メインPLLロック待ち (8) (5) メインPLL 発振の例 600 μsec.以上 (1) (1) 211 タイムベース カウンタ カウント (4) 000H (3) “A5 “A5” H” タイムベースカウンタの (CTBR) クリア メインPLL許可 (PLL1EN) 時間 “5A”H” (5) タイムベースタイマ割込み 要求許可 (PLL1EN) (7) タイムベースタイマ割込み 要求 (PLL1EN) ((2) メインPLL値 (6) (9) “111 ”, “111111B” “111” B 設定/切替 (PLLDIVM[2:0], PLLDIVN[5:0]) (10) クロック切替 (CLKS[1:0]) “10 “10”B” “00 “00” B” 2分周メインクロックによる動作 PLLクロックによる動作 (1) タイムベースタイマでのインターバル値の選択。 (2) メイン PLL 値の選択 ( 設定 / 切替 ) 。 (3) "A5H""5AH" の順番でのタイムベースカウンタクリアレジスタへのデータの書込み。 (4) 上記 (3) で "5AH" を書き込むタイミングでタイムベースカウンタがクリアされ , カウントが "0" から開始されます。 (5) メイン PLL が動作することを許可します。 (6) ソフトウェアを使用してタイムベースタイマ割込み要求をクリアします。 (7) タイムベースタイマ割込み要求許可ビットの "1" への設定。 (8) メイン PLL がロックします。 (9) タイムベースタイマインターバル時間が経過するとタイムベースタイマ割込みが発生します。 (10) メイン PLL の動作クロックへの設定がされます。 204 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 17 章 タイムベースタイマ 17.6 設定 MB91460N シリーズ 17.6 設定 表 17.6-1 タイムベースタイマに必要な設定 設定 設定レジスタ 設定手順 インターバル時間の設定 タイマベースタイマ制御 レジスタの制御レジスタ (TBCR) 17.7.1 参照 タイムベースカウンタクリア タイムベースカウンタクリア レジスタ (CTBR) 17.7.5 参照 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 17.6-2 タイムベースタイマの割込みに必要な設定 設定 設定レジスタ タイムベースタイマ割込みベクタおよび 割込みレベルの設定 メインクロック発振安定待ちタイマ割込みの設定 割込み要求クリア 割込み要求の許可 「第 21 章 割込み制御」を参照 タイマベースタイマ制御 レジスタの制御レジスタ (TBCR) 設定手順 17.7.6 参照 17.7.7 参照 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 205 第 17 章 タイムベースタイマ 17.7 Q & A MB91460N シリーズ 17.7 Q & A 17.7.1 タイムベースタイマ ( およびタイムベースタイマで使用されるタイムベースカウンタ ) で 使用されるインターバル時間の種類と選択方法は ? 8 種類のインターバル時間があり , インターバル選択ビットを使用して設定します (TBCR:TBC[2:0]) 。 インターバル時間の例 タイムベースタイマ インターバル時間 インターバル選択ビット (TBC[2:0]) F =2MHz F =32MHz φ × 211 を選択するには ? 値を "000B" に設定します 1.024ms 64μs φ × 212 を選択するには ? 値を "001B" に設定します 2.048ms 128μs φ × 213 を選択するには ? 値を "010B" に設定します 4.096ms 256μs φ × 222 を選択するには ? 値を "011B" に設定します 2.097s 131ms φ × 223 を選択するには ? 値を "100B" に設定します 4.194s 262ms φ × 224 を選択するには ? 値を "101B" に設定します 8.388s 524ms φ × 225 を選択するには ? 値を "110B" に設定します 16.77s 1.04s φ × 226 を選択するには ? 値を "111B" に設定します 33.55s 2.09s F:ベースクロックです。(「第 12 章 クロック制御」を参照してください。) 17.7.2 タイムベースカウンタのカウントクロックは ? カウントクロックはベースクロックです。「第 12 章 クロック制御」を参照してください。 17.7.3 タイムベースタイマを動作させるには ? タイムベースタイマは常に動作しています ( 設定する必要はありません。)。 ただし , インターバル割込みを使用するには , 割込み設定が必要です。 17.7.4 タイムベースタイマ (= タイムベースカウンタ ) の動作を停止するには ? 停止することはできません。 17.7.5 タイムベースカウンタ (= タイムベースタイマ ) をクリアするには ? {A5H} と {5AH} をタイムベースカウンタクリアレジスタ CTBR に続けて書き込むと , タイムベースカウンタは {5AH} の直後にクリアされます ( すべてのビットは "0" になります ) 。 ただし , タイムベースカウンタをクリアした場合 , ウォッチドッグタイマに影響を与えます (「17.8 注意事項」 を参照してください ) 。 206 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 17 章 タイムベースタイマ 17.7 Q & A MB91460N シリーズ 17.7.6 割込み関連レジスタは ? タイムベースタイマの割込みベクタおよび割込みレベルの設定 割込みレベルとベクタの関係を下表に示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 割込みベクタ ( デフォルト ) 割込みレベル設定ビット (ICR[4:0]) #140 アドレス:0FFDCCH 割込みレベルレジスタ (ICR62) アドレス:00047EH 割込み要求フラグ (TBCR:TBIF) は自動的にクリアされません。この結果 , 割込みからの復帰前にソフトウェア によってクリアします ( 割込み要求フラグ (TBIF) に "0" を書き込みます。) 。 17.7.7 割込みの種類は ? 1 種類の割込みが使用できます。割込みは , インターバル選択ビット (TBCR:TBC[2:0]) を使用して設定されるイ ンターバル時間が経過すると生成されます ( 選択する必要はありません。) 。 17.7.8 割込みを許可するには ? 割込み要求の許可および割込み要求フラグ 割込み許可の設定は , 割込み要求許可ビット (TBCR:TBIE) を使用して実行されます。 割込み要求許可ビット (TBIE) 割込み禁止 値を "0" に設定します 割込み許可 値を "1" に設定します 割込み要求のクリアは , 割込み要求ビット (TBCR:TBIF) を使用して実行されます。 割込み要求ビット (TBIF) 割込み要求クリア CM71-10149-1 "0" を書き込んでください。 FUJITSU MICROELECTRONICS LIMITED 207 第 17 章 タイムベースタイマ 17.8 注意事項 MB91460N シリーズ 17.8 注意事項 • メイン PLL では , 動作の許可後および逓倍率の変更後に PLL ロック待ち時間が必要となります。 タイムベース割込みを使用してこのメイン PLL ロック待ち時間を確保することをお勧めします。 PLLのロック待ち時間は約600μsですのでPLLロック待ち時間を600μs以上に値に設定する必要があります。 • インターバル設定について • タイムベースタイマインターバル時間を変更する場合は , 割込みを禁止する前に , 割込み要求許可ビット (TBIE) を "0" に設定します。 • タイムベースカウンタは常に動作しています。タイムベースタイマを使用して正確なインターバル割込み 時間を確保するには , 割込みを許可する前にタイムベースカウンタをクリアします。 ( クリアしない場合は , 割込み許可の直後に割込み要求が生成されることがあります。) • プログラムを使用したタイムベースカウンタのクリアについて • {A5H}, {5AH} の順序でをタイムベースカウンタクリアレジスタ CTBR にデータを書き込むと , タイムベースカ ウンタは {5AH} の書込みの直後にクリアされます ( すべてのビットは "0" です。) 。 • "A5H"と"5AH"の書込みのタイミングに制限はありませんが, "A5H"の後に"5AH"以外を書き込んだ場合, "A5H" を再度書き込まない限り , "5AH" を書き込んでもクリア動作は実行されません。 • タイムベースカウンタがクリアされた場合 , ウォッチドッグへのリセット信号は 1 回遅れて生成されま す。 • ハードウェアによるタイムベースカウンタのクリアについて タイムベースカウンタは , ストップモードおよび初期化リセットの設定 (INITX 端子入力 , ウォッチドッグ リセット ) によってクリアされます ( すべてのビットは "0" です。)。 • ストップモードでは ストップから割込みに復帰する場合 , クロック発振安定待ち時間を確保するためにタイムベースカウンタが 使用されます。この結果 , 意図せずにタイムベースタイマのインターバル割込みが生成される可能性が あります。このため , 停止を設定する前にタイムベースタイマが使用されないように , タイムベースタイマ割 込みを禁止します。 208 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 18 章 ウォッチドッグタイマ 18.1 概要 MB91460N シリーズ 第 18 章 ウォッチドッグタイマ 18.1 概要 ウォッチドッグタイマは , ベースクロック (φ) および 1 ビットカウンタを使用して 26 ビットタイムベース カウンタからの出力を使用するセレクタで構成されています。 プログラム暴走などの問題によって遅延動作リセット ( インターバルウォッチドッグリセット ) が禁止されな かった場合 , ウォッチドッグタイマはウォッチドッグリセット ( 初期設定リセット ) を生成します。 図 18.1-1 タイムベースカウンタ ( 概略図 ) 一時停止要因 タイムベースカウンタ ウォッチドッグタイマ選択 ウォッチドッグリセット ベースクロック(φ) 26ビットアップカウンタ タイムベースタイマ選択 タイムベースタイマ割込み 発振安定待ち時間選択 発振安定待ち制御信号 図 18.1-2 発振安定待ち生成時のタイムベースカウンタ 一時停止要因 ベースクロック(φ) タイムベース カウンタ セレクタ 26ビットアップカウンタ ウォッチドッグ 検出制御レジスタ ウォッチドッグ リセット タイムベースタイマ選択 18.2 特長 ■ ウォッチドッグタイマ • タイプ :1 ビットカウンタからのオーバフローでウォッチドッグリセット (INIT) を生成 • 個数 :1 • カウントクロック ( インターバル時間 ) :タイムベースタイマからのビット出力 4 種類 220/Fφ, 222/Fφ, 224/Fφ, 226/Fφ ( リセット (RST) 後に 1 回だけ設定できます。) • 1 ビットカウンタのクリア: ソフトウェアによってウォッチドッグリセット発生遅延レジスタ WPR に "A5H""5AH" を連続して書き込みま す。 • 動作開始 / 停止:このタイマは , リセット (RST) 後にウォッチドッグ制御レジスタ RSRR に最初にデータを書 き込んだ後 , 動作を開始します。このタイマはリセット (RST) によってのみ停止します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 209 第 18 章 ウォッチドッグタイマ 18.3 構成 MB91460N シリーズ 18.3 構成 図 18.3-1 構成図 -スリープ -停止 -発振安定待ちRUN -一時停止 タイムベースカウンタ (26ビットカウンタ) 0 3 13 14 15 16 17 18 19 20 21 22 23 24 25 21 22 23 24 214 215 216 217 218 219 220 221 222 223 224 225 226 ベースクロック (φ) 1 2 WT1, WT0 0 0 0 1 1 0 1 1 CTBR "A5H"の次に"5AH"を 書き込んだ後に カウンタをクリア ウォッチドッグ検出の場合 エッジ検出 セレクタ ウォッチドッグタイマ タイマクリア RSRR: bit2, bit1 φ x 2 20 φ x 2 22 φ x 2 24 φ x 2 26 WIF WIF 1ビット カウンタ OSCR: bit7 00 割込み要求なし 11 割込み要求あり 書込み; 0:フラグクリア ウォッチドッグ リセット リセット 回路へ WPR "A5H"の次に"5AH"を 書き込んだ後に カウンタをクリア ウォッチドッグ検出 制御部 図 18.3-2 レジスタ一覧 ウォッチドッグタイマ アドレス 000480H bit 7 INIT 6 − 5 WDOG 4 − 3 2 SRST LINIT 1 WT1 0 WT0 RSRR(ウォッチドッグタイマ制御レジスタ) 000485H D7 D6 D5 D4 D3 D2 D1 D0 WPR(ウォッチドッグリセット発生遅延レジスタ) 000483H D7 D6 D5 D4 D3 D2 D1 D0 CTBR(タイムベースカウンタクリアレジスタ) 210 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 18 章 ウォッチドッグタイマ 18.4 レジスタ MB91460N シリーズ 18.4 レジスタ 18.4.1 RSRR:ウォッチドッグタイマ制御レジスタ このレジスタは , ウォッチドッグタイマ期間 , 起動制御を行う場合に使用します。 ( このレジスタは , 以前に生成されたリセット要因を格納するリセット要因レジスタとしても機能します。) ( 注意事項 ) 「第 9 章 リセット」を参照してください。 • RSRR:アドレス 000480H ( アクセス:バイト , ハーフワード ) bit 7 INIT 6 5 4 3 2 1 0 − WDOG − SRST LINIT WT1 WT0 1 0 0 0 0 0 0 0 初期値 (INTX 端子入力 ) − X − X − X X X 0 初期値 ( ウォッチドッグリセット ) 0 0 初期値 ( ソフトウェアリセット ) R/WX R/WX R/WX − R/WX − X 0 − R/WX R/WX R/W R/W 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) ウォッチドッグタイマは , ウォッチドッグタイマ制御レジスタに書込みを行うと起動します。 [bit7] INIT ( 初期化リセット発生フラグ ) INITX 入力端子によってリセット (INIT) 要求が発生したかどうかを示します。 INIT 動作 0 INITX 入力端子によって INIT 要求が発生していません。 1 INITX 入力端子によって INIT 要求が発生しました。 読出し後に , 初期化リセット発生フラグ (INIT) は "0" にクリアされます。 [bit6] 予約ビット [bit5] WDOG ( ウォッチドッグリセット発生フラグ ) ウォッチドッグタイマによってリセット (INIT) 要求が発生したかどうかを示します。 WDOG 動作 0 ウォッチドッグタイマによって INIT 要求が発生していません。 1 ウォッチドッグタイマによって INIT 要求が発生しました。 読出し後に , ウォッチドッグリセット発生フラグ (WDOG) は "0" にクリアされます。 [bit4] 予約ビット [bit3] SRST ( ソフトウェアリセット発生フラグ ) ソフトウェアリセットビット (STCR: SRST) への書込みによってソフトウェアリセット要求が発生したかどうかを示 しています。 SRST 動作 0 ソフトウェアリセットによって RST 要求が発生していません。 1 ソフトウェアリセットによって RST 要求が発生しました。 読出し後に , ソフトウェアリセット発生フラグ (SRST) は "0" にクリアされます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 211 第 18 章 ウォッチドッグタイマ 18.4 レジスタ MB91460N シリーズ [bit2] LINIT ( 低電圧リセット発生フラグ ) 低電圧検出によってリセット (INIT) 要求が発生したかどうかを示します。 LINIT 動作 0 低電圧検出によって INIT 要求が発生していません。 1 低電圧検出によって INIT 要求が発生しました。 読出し後に , 低電圧リセット発生フラグ (LINIT) は "0" にクリアされます。 [bit1, bit0] WT1, WT0 ( ウォッチドッグインターバル時間選択 ) WT1 WT0 ウォッチドッグタイマがリセットされないため に WPR に必要な最小書込みインターバル時間 WPR が最後に 5AH で書き込まれた時間とウォッチ ドッグがリセットされた時間の間のインターバル時間 ( タイムベースカウンタ 選択ビットのインターバル時間 ) ( ウォッチドッグインターバル時間 ) 0 0 φ × 220 ( 初期値 ) φ × 220 ∼ φ × 221 0 1 φ × 222 φ × 222 ∼ φ × 223 1 0 φ × 224 φ × 224 ∼ φ × 225 1 1 φ × 226 φ × 226 ∼ φ × 227 φ:ベースクロック • 合計 4 つのウォッチドッグインターバル時間を選択できます。 • リセット後最初に書き込まれたデータのみが有効です。ほかのデータ設定は無効です。 • ウォッチドッグインターバル時間選択ビットを読み出すと , 設定値を知ることができます。 <注意事項> ウォッチドッグタイマ以外のタイマに使用されるビットについては , 「第 9 章 リセット」を参照してくだ さい。 212 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 18 章 ウォッチドッグタイマ 18.4 レジスタ MB91460N シリーズ 18.4.2 WPR:ウォッチドッグリセット発生遅延レジスタ このレジスタは , ウォッチドッグリセットの発生を遅延する場合に使用されます。 • WPR:アドレス 000485H ( アクセス:バイト ) bit 7 D7 6 5 4 3 2 1 0 D6 D5 D4 D3 D2 D1 D0 X X X X X X X X 初期値 (INIT) X X X X X X X X 初期値 (RST) RX,W RX,W RX,W RX/W RX,W RX,W RX,W RX,W 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • ウォッチドッグリセット発生遅延レジスタに "A5H" と "5AH" が連続して書き込まれた場合 , "5AH" の書込 みの直後にウォッチドッグの検出に使用される 1 ビットカウンタが "0" に設定され , ウォッチドッグリ セットの発生が遅延します。 "A5H" と "5AH" の書込みのタイミングに制限はありませんが , "A5H" と "5AH" 以外の値が書き込まれた場 合 , "A5H" を再度書き込む必要があります。再度書き込まない場合 , "5AH" を書き込んでも 1 ビットカウ ンタは "0" に設定されません。 • 読出し値は不定です。 • ウォッチドッグリセットが発生するのを防ぐには , "A5H" と "5AH" の両方を以下に示す指定したインター バル内に書き込む必要があります。下表に , ウォッチドッグインターバル時間選択ビット (RSRR:WT[1:0]) に応じたインターバルを示します。 WT1 WT0 WPR へのデータ書込みに必要な最小インターバル時間 0 0 φ × 220 ( 初期値 ) 以内 0 1 φ × 222 以内 1 0 φ × 224 以内 1 1 φ × 226 以内 18.4.3 CTBR:タイムベースカウンタクリアレジスタ このレジスタは , タイムベースカウンタを初期化する場合に使用されます。 • CTBR:アドレス 000483H ( アクセス:バイト ) 詳細は , 「第 17 章 タイムベースタイマ」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 213 第 18 章 ウォッチドッグタイマ 18.5 動作説明 MB91460N シリーズ 18.5 動作説明 ウォッチドッグの動作について説明します。 18.5.1 ウォッチドッグ ( 暴走の検出 ) 図 18.5-1 タイマカウンタの カウント値 (11) (8) (1) インターバル 期間選択 RSRRレジスタからの 読込み WPRレジスタへの "A5H"と"5AH"の定期的 書込み (3) ウォッチドッグ (3) 開始 (8) (6) (3) タイマカウンタの ビット出力 (bit15、bit17、bit19、bit21) ウォッチドッグタイマ (6) (12) ランナウェイ (4) (5) (7) (8) (6) 検出 (2) (4) (5) ソフトウェア によるクリア ソフトウェア によるクリア (7) ソフトウェア によるクリア WDOGビット (10) クリア なし 設定初期化リセット (INIT) (12) (13) 通常の動作 (9) ランナウェイ リセット (1) インターバル時間の設定 (2) ウォッチドッグ起動 ( ウォッチドッグタイマクリア ) (3) タイムベースカウンタからのインターバル信号出力。ウォッチドッグタイマカウント。 (4) インターバル時間内に , ソフトウェア周期によって WPR レジスタへの "A5H" と "5AH" の書込みが行われます。 ウォッチドッグタイマクリア。 (5) インターバル時間内に , ソフトウェア周期によって WPR レジスタへの "A5H" と "5AH" の書込みが行われます。 ウォッチドッグタイマクリア。 (6) タイムベースカウンタからのインターバル信号出力。ウォッチドッグタイマカウント。 (7) インターバル時間内に , ソフトウェア周期によって WPR レジスタへの "A5H" と "5AH" の書込みが行われます。 ウォッチドッグタイマクリア。 (8) タイムベースカウンタからのインターバル信号出力。ウォッチドッグタイマカウント。 (9) MCU が暴走します (MCU の暴走が想定されます ) 。 (10) インターバル時間内に , ソフトウェアによって WPR レジスタへの "A5H" と "5AH" の書込みが行われません。 (11) タイムベースカウンタからのインターバル信号出力。ウォッチドッグタイマカウント。 (12) ランナウェイが検出され , WDOG フラグが "1" に変更されます。 (13) ウォッチドッグリセット (INIT) が生成されます。 214 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 18 章 ウォッチドッグタイマ 18.5 動作説明 MB91460N シリーズ 18.5.2 ウォッチドッグタイマの起動およびウォッチドッグタイマ期間の設定 ウォッチドッグタイマは , リセット (RST) 後に RSRR ( リセット要因レジスタ / ウォッチドッグタイマ制御レジス タ ) に最初にデータを書き込んだ後 , 起動します。このとき , bit1 および bit0 (WT1 および WT0 ビット ) によって ウォッチドッグタイマインターバル時間が設定されます。リセット後に最初に実行されたインターバル時間の設 定のみが有効です。後に実行されたその他の設定は無効です。 18.5.3 ウォッチドッグリセットの発生の延期 ウォッチドッグタイマの起動後は , ソフトウェアによって WPR ( ウォッチドッグリセット発生遅延レジスタ ) に {A5H} および {5AH} を定期的に書き込む必要があります。この動作は , ウォッチドッグリセット検出用の 1 ビット カウンタを "0" に設定する場合に使用されます。 18.5.4 ウォッチドッグリセット発生の確認 ウォッチドッグリセット検出用の 1 ビットカウンタは , インターバルが設定されるタイムベースカウンタの出 力の立下りエッジで設定されます。また , 1 ビットカウンタの設定中に 2 番目の立下りエッジが検出された 場合 , 設定初期化リセット (INIT) の要求がウォッチドッグリセットとして生成されます。 18.5.5 一時的に停止されたウォッチドッグタイマ ( 自動発生遅延 ) ウォッチドッグタイマは , CPU プログラムの動作が停止している間に , ウォッチドッグリセットの検出に使用 される 1 ビットカウンタを初期化として "0" にリセットします。この状態では , ウォッチドッグリセットの発 生は遅延されます。プログラムが実行を停止する状態を以下に具体的に示します。 • スリープ • ストップ • 発振安定待ち RUN • 内蔵デバッグサポートユニットの使用時はブレーク (EDSU および EMMODE が有効な場合のみ ) また , タイムベースカウンタをクリアすると , ウォッチドッグリセットの検出に使用される 1 ビットカウンタが 初期化され , ウォッチドッグのリセットのタイミングが遅延します。 18.5.6 ウォッチドッグタイマの停止 ウォッチドッグタイマを起動すると , 初期化リセット (RST) が発生するまでウォッチドッグタイマの動作を停 止することはできません。 ウォッチドッグタイマは , 動作初期化リセット (RST) が発生する以下に示す状態で停止し , ソフトウェアによっ て再起動します。 • 動作初期化リセット (RST) • 設定初期化リセット (INIT) • 発振安定待ちリセット CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 215 第 18 章 ウォッチドッグタイマ 18.6 設定 MB91460N シリーズ 18.6 設定 表 18.6-1 ウォッチドッグタイマの使用に必要な設定 設定 設定レジスタ 設定手順* 18.7.1 参照 インターバル時間の設定 ウォッチドッグタイマ制御レジスタ (RSRR) 18.7.2 参照 ウォッチドッグの起動 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 18.6-2 ウォッチドッグの発生を遅らせるために必要な設定 設定 設定レジスタ ウォッチドッグリセットの発生を遅らせる ために必要な設定 ウォッチドッグリセット発生遅延レジスタ (WPR) 設定手順* 18.7.3 参照 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 18.6-3 ウォッチドッグの発生を確認するために必要な設定 設定 ウォッチドッグ発生チェック 設定レジスタ ウォッチドッグタイマ制御レジスタ (RSRR) 設定手順* 18.7.5 参照 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 216 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 18 章 ウォッチドッグタイマ 18.7 Q & A MB91460N シリーズ 18.7 Q & A 18.7.1 ウォッチドッグインターバル時間の種類と選択方法は ? 4 種類のインターバル期間があり , インターバル選択ビットを使用して設定します (RSRR:WT[1:0]) 。 ウォッチドッグ インターバル時間 φ × 220 を選択するには φ × 222 を選択するには φ × 224 を選択するには φ × 226 を選択するには インターバル選択ビッ ト (WT[1:0]) F =80.0MHz F =2.00MHz 値を "00B" に 13.1ms 0.524 s 52.4 ms 2.097 s 209.7 ms 8.388 s 838.8 ms 33.554 s インターバル時間の例 設定します 値を "01B" に 設定します 値を "10B" に 設定します 値を "11B" に 設定します ( 注意事項 ) • φ:ベースクロック。(「第 12 章 クロック制御」を参照してください。) • リセット (INITX 端子入力 , ウォッチドッグリセット , ソフトウェアリセット ) 後に最初に書き込ま れたデータセットのみが有効です。その他のデータセットは無効です。 18.7.2 ウォッチドッグ動作を開始するには ( 有効に設定 ) ? ウォッチドッグタイマ制御レジスタ RSRR にデータを書き込むと , ウォッチドッグタイマが起動されます ( 有 効に設定 ) 。インターバル選択ビット (RSRR:WT[1:0]) にデータを書き込むと , ウォッチドッグ動作が開始さ れます。 18.7.3 ウォッチドッグリセットが発生したことを確認するには ? ウォッチドッグリセットフラグ (RSRR:WDOG) が "1" に設定されている場合 , ウォッチドッグリセットが発生 します。 18.7.4 ウォッチドッグ動作の停止方法は ? ウォッチドッグをソフトウェアによって停止することはできません。 ウォッチドッグをリセット (INITX端子入力, ウォッチドッグリセット) によってのみ停止することができます。 18.7.5 ウォッチドッグタイマ (1 ビットカウンタ ) をクリアするには ? ウォッチドッグリセット発生遅延レジスタ WPR に "A5H" と "5AH" を続けて書き込むと , ウォッチドッグ動作 の検出に使用される 1 ビットカウンタは "5AH" の書込み直後にクリアされます。この状態では , ウォッチドッ グ動作のリセットのタイミングは遅延されます。 また , タイムベースタイマがクリアされた場合 , ウォッチドッグ動作の検出に使用される 1 ビットカウンタは 同時にリセットされます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 217 第 18 章 ウォッチドッグタイマ 18.8 注意事項 MB91460N シリーズ 18.8 注意事項 • ウォッチドッグインターバル時間はウォッチドッグ 1 ビットカウンタの 2 分の 1 の長さに対応しますが , ウォッチドッグタイマクリア動作では , ウォッチドッグ動作の検出に使用される 1 ビットカウンタのみがク リアされます。この結果 , ウォッチドッグタイマをクリアする時間マージンは , インターバル時間と異なり ます。 表 18.8-1 ウォッチドッグインターバル時間選択 WT1, WT0 ウォッチドッグタイマをクリアする時間マージン ウォッチドッグリセットが発生する インターバル時間 00B φ × 220 ( 初期値 ) φ × 220 ∼ φ × 221 01B φ × 222 φ × 222 ∼ φ × 223 10B φ × 224 φ × 224 ∼ φ × 225 11B φ × 226 φ × 226 ∼ φ × 227 • ウォッチドッグタイマは , ウォッチドッグタイマ制御レジスタにデータが書き込まれると起動します。 • ウォッチドッグタイマ制御レジスタは , リセット要因レジスタでもあり , 読み込まれるときに状態 (INIT, WDOG, SRST, LINIT) は "0" に設定されます。 • ウォッチドッグリセットでは , 発振安定待ち時間が確保されます。 (「第 16 章 タイムベースカウンタ」を参照してください。) • メインクロック発振中のメイン RUNからのウォッチドッグリセットでは , メインクロックが発振中であるた め , 発振安定待ち時間を指定することはできません。 • ウォッチドッグタイマのカウントソースであるタイムベースカウンタのクリア方法については ,「第 17 章 タ イムベースタイマ」を参照してください。 • タイムベースカウンタをクリアすると , ウォッチドッグリセットタイミングを 1 回遅延します。 218 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.1 概要 MB91460N シリーズ 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.1 概要 ハードウェアウォッチドッグタイマ (CR 発振ベース ) は , 内部ウォッチドッグタイマが抑止期間内にクリアさ れない場合にシステムリセットを提供します。 ● ハードウェアウォッチドッグタイマ このウォッチドッグタイマは , 設定初期化リセット (INIT) 後 , 自動的にカウントを開始します。アプリケーショ ンを継続して実行するには , 抑止期間内にカウンタをクリアする必要があります。抑止期間内にカウンタをクリ アしない場合 ( アプリケーション内で無限ループに陥った場合など ) は , リセット信号 ( 初期化リセット , INIT) が発行されます。この信号の幅は , 通常は 20μs( 通常 100kHz の CR クロックサイクル 2 周期分 ) です。 CPU が以下のようなスタンバイモードの場合 , このウォッチドッグタイマは停止します。 • スリープモード:CPU 停止 , 周辺回路動作 • ストップモード:CPU および周辺回路停止 • RTC モード:CPU および RTC モジュールを除く周辺回路停止 , 発振子動作 以下の条件のいずれかが満たされると , ウォッチドッグカウンタはクリアされます。 • HWWD レジスタの CL ビットへの "0" 書込み • 初期化リセット (INIT) • 動作リセット (RST) • 発振停止 • スリープ /RTC/ ストップのいずれかのモードへの遷移 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 219 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.2 構成 MB91460N シリーズ 19.2 構成 ハードウェアウォッチドッグタイマは , 以下の 2 つのサブブロックで構成されています。 • ウォッチドッグタイマ • タイマ制御およびステータスレジスタ ● ハードウェアウォッチドッグタイマのブロックダイヤグラム 図 19.2-1 ハードウェアウォッチドッグタイマのブロックダイヤグラム CR カウンタ リセット信号 FF クリア - - - - CL - - CPUF 内部バス ウォッチドッグタイマ CPU 動作を監視するためのタイマです。このカウンタは , リセット解除後に定期的にクリアする必要がありま す。 ハードウェアウォッチドッグタイマ制御ステータスレジスタ このレジスタには , リセットフラグとカウンタのクリアビットがあります。 ウォッチドッグリセットの発行 カウンタが定期的にクリアされない場合 , このモジュールによって設定初期化リセット (INIT) が発行されます。 内部リセット信号の幅は , システムベースクロックの 63 倍になります。ウォッチドッグリセットが発行され た後 , 通常のシステムリセット手順が開始されます。本手順の詳細は , 各製品の状態説明の対応する項目を参 照してください。 220 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.3 レジスタ MB91460N シリーズ 19.3 レジスタ 19.3.1 ハードウェアウォッチドッグタイマ制御およびステータスレジスタ ハードウェアウォッチドッグタイマ制御ステータスレジスタです ( リセットフラグとクリアビットを含む ) 。 • HWWD: アドレス 0004C7H ( アクセス:バイト ) bit 7 6 5 4 3 2 1 0 − − − − CL − − CPUF 0 0 0 1 1 0 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) 0 0 0 1 1 0 0 X 初期値 ( ソフトウェアリセット ) R/W0 R/W0 R/W0 R/W1 W R/W0 R/W0 R/W 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit5] 予約ビット これらのビットには常に "0" を書き込みます。 [bit4] 予約ビット このビットには常に "1" を書き込みます。 [bit3] CL ( カウンタクリア ) CL 機能 0 "0" を書き込むと , ウォッチドッグタイマがクリアされます。 1 "1" 書込みは無効です。 このビットは書込み専用であり , 常に "1" として読み出されます。 [bit2, bit1] 予約ビット これらのビットには常に "0" を書き込みます。 [bit0] CPUF (CPU リセットフラグ ) CPUF 機能 0 ウォッチドッグリセットはトリガされません。 1 ウォッチドッグリセットがトリガされます ( ウォッチドッグタイマのオバフロー が発生します ) 。 このビットは , 外部リセット入力 (INITX) によって初期化されますが , 内部リセットによっては初期化されま せん。 "0" 書込みによってこのビットはリセットされます。"1" 書込みは無効です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 221 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.3 レジスタ MB91460N シリーズ 19.3.2 ハードウェアウォッチドッグタイマ期間レジスタ ハードウェアウォッチドッグタイマ期間レジスタです ( トリガ期間の延長 ) 。 • HWWDE:アドレス 0004C6H ( アクセス:バイト ) bit 7 6 5 4 3 2 1 0 ED0 − − − − − − ED1 − − − − − − 0 0 初期値 (INIT 端子入力 , ウォッチドッグリセット ) − − − − − − 0 0 初期値 ( ソフトウェアリセット ) RX/W0 RX/W0 RX/W0 RX/W0 RX/W0 RX/W0 R/W R/W 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit2] 予約ビット これらのビットには常に "0" を書き込みます。 [bit1, bit0] ED1, ED0 ( ウォッチドッグ期間の遅延 ) ED1, ED0 機能 00B ウォッチドッグ周期は , 216 CR クロックサイクルです ( 初期値 ) 。 01B ウォッチドッグ周期は , 217 CR クロックサイクルです。* 10B ウォッチドッグ周期は , 218 CR クロックサイクルです。* 11B ウォッチドッグ周期は , 219 CR クロックサイクルです。* <注意事項> MB91V460A は , ウォッチドッグ周期の変更ができません。 222 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.4 機能 MB91460N シリーズ 19.4 機能 ウォッチドッグタイマが定期的にクリアされない場合は , 設定初期化リセット (INIT) が発行されます。この場 合 , CPU のレジスタ値は保障されません。 ● ハードウェアウォッチドッグタイマの機能 外部INITX端子を解除した後, 安定時間を待たずにハードウェアウォッチドッグタイマは直ちに開始されます。 タイマが定期的にクリアされない場合は , 設定初期化リセット (INIT) が発行されます。 ● ハードウェアウォッチドッグタイマの周期 タイマの幅は 16 ビットです。ハードウェアウォッチドッグタイマのクロックソースとして CR 発振器が使用 されるため , タイマの周期は CR 発振器の精度に応じて変化します。 ED1, ED0 最小 通常 最大 5 μs 10 μs 20 μs 00B 327.68 ms 655.36 ms 1310.72 ms 01B 655.36 ms 1310.72 ms 2621.44 ms 10B 1310.72 ms 2621.44 ms 5242.88 ms 11B 2621.44 ms 5242.88 ms 10485.76 ms CR 発振サイクル ウォッチドッグ期間 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 223 第 19 章 ハードウェア (CR 発振ベース ) ウォッチドッグタイマ 19.5 注意事項 MB91460N シリーズ 19.5 注意事項 ● ソフトウェアでの停止不可 ウォッチドッグタイマは , リセット (INITX の解除 ) 後直ちにカウントを開始します。ソフトウェアではカウン トを停止することはできません。 ● リセット抑止 ウォッチドッグリセットを抑止するには , ウォッチドッグタイマをクリアする必要があります。レジスタの CL ビットが "0" に設定されると ( 最小書き込み制限なし ), タイマがクリアされます。リセットの発行が抑止され ます。CL ビットを "0" に設定しないでレジスタへの書き込みのみを行っても , タイマはクリアされません。 ● タイマの停止とクリア CPU が動作しないモード ( スリープモード , ストップモード , または RTC モード ) では , タイマがクリアされ た後にカウントが停止します。 ● DMA 転送中 D バスモジュール間での DMA 転送中は , CL ビットへの "0" 書込みを行うことはできません。したがって , 転 送時間が 328ms ( 最短時間として CR 発振器の最速周波数使用時で計算 ) よりも長い場合は , リセットが発行さ れます。 ● CR クロック周波数 CR クロック周波数を 2MHz に変えることができます。その場合でも , ウォッチドッグタイマは常に 100kHz(10μs) の周波数で動作します。 224 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 20 章 メイン発振安定待ちタイマ 20.1 概要 MB91460N シリーズ 第 20 章 メイン発振安定待ちタイマ 20.1 概要 メインクロック発振安定待ちタイマは , メインクロックをカウントする 23 ビットカウンタです。このタイ マは , MCU/ 分周設定で動作するクロックソースの選択に影響を与えません。 サブクロックの動作中にメインクロック発振が停止した場合のメインクロック発振安定待ちのタイマとして 用意されているが, MB91460Nシリーズではサブクロックを搭載していないため, この用途では使用しません。 しかしながら , このタイマは , インターバル時間またはリアルタイム OS のシステムクロックに最適です。 図 20.1-1 メイン発振安定待ちタイマ ( 概略図 ) メインクロック (原発振) アップカウンタ セレクタ 割込み 20.2 特長 • タイプ :23 ビットフリーランカウンタ • 個数 :1 • クロックソース :メインクロック ( 原発振 ) --- 期間 = 1/FCL-MAIN • インターバル時間 :3 タイプ 期間 = 212/FCL-MAIN, 217/FCL-MAIN, 223/FCL-MAIN, (1.0ms, 32.7ms, 2s / メインクロック 4MHz) • タイマクリア要因 :ソフトウェア , オーバフロー , リセット (INIT) • 動作開始 / 停止 :ソフトウェアによって動作および停止可能 • 割込み :メインクロック発振安定待ち割込み ( インターバル割込み ) • カウント値 :読出し / 書込み不可 ( クリアのみ ) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 225 第 20 章 メイン発振安定待ちタイマ 20.3 構成 MB91460N シリーズ 20.3 構成 図 20.3-1 構成図 メインクロック発振安定待ちタイマ インターバル時間 WS1, WS0 0 0 0 1 1 0 1 1 0 1 動作停止 動作許可 エッジ検出 OSCR:bit5 設定禁止 212 / FCL-MAIN 217 / FCL-MAIN 223 / FCL-MAIN セレクタ タイマ動作許可 WEN OSCR:bit2, bit1 WIE 0 1 OSCR:bit6 割込み禁止 割込み許可 0 WIF OSCR:bit7 0 1 割込み要求なし メインクロック 読出し 0 1 割込み要求あり 書込み フラグクリア 1 発振安定待ち 割込み (#46) 影響なし 23ビットフリーランタイマ 0 メインクロック (原発振) 1 1 2 2 2 3 3 4 2 2 2 4 5 5 6 2 2 6 7 7 8 2 2 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 210 211 212 213 214 215 216 217 218 219 220 221 222 223 9 タイマクリア WCL OSCR:bit0 0 タイマクリア 1 動作への影響なし 図 20.3-2 レジスタ一覧 メインクロック発振安定待ちタイマ アドレス 0004C8H 00047FH アドレス 0FFDC0H bit 7 WIF --- 6 WIE 5 WEN 4 --- 3 --- 2 WS1 1 WS0 0 WCL --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR63(割込みレベルレジスタ) OSCRH (メインクロック発振安定待ち制御タイマレジスタ) 32ビット (割込みベクタ#143) ( 注意事項 ) ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 226 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 20 章 メイン発振安定待ちタイマ 20.4 レジスタ MB91460N シリーズ 20.4 レジスタ 20.4.1 OSCRH:メインクロック発振安定待ちタイマ制御レジスタ このレジスタは , インターバル時間の選択 , タイマのクリア , 割込みの制御 , 停止などのタイマの制御 , タイマの 状態確認を行う場合に使用します。 • OSCRH:アドレス 0004C8H ( アクセス:バイト ) bit 7 WIF 6 5 4 3 2 1 0 WIE WEN − − WS1 WS0 WCL 0 0 0 X X 0 0 1 初期値 (INIT 端子入力 , ウォッチドッグリセット ) X X X R(RM1),W R/W R/W X X RX/W0 RX/W0 X X X 初期値 ( ソフトウェアリセット ) R/W R/W R1, W 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit7] WIF ( タイマ割込み要求フラグ ) WIF 読出し動作 書込み動作 0 割込み要求なし 割込み要求フラグのクリア 1 割込み要求あり 書込みによる動作への影響なし タイマ割込み要求フラグビットは , 選択したインターバル周期出力の立下りエッジで "1" に設定されます。 [bit6] WIE ( 割込み要求許可 ) WIE 動作 0 割込み要求禁止 1 割込み要求許可 タイマ割込み要求フラグが WIF が "1" であり , 割込み要求許可ビット (WIE) が "1" に設定されている場合は , 割込み要求が直ちに生成されます。 [bit5] WEN ( タイマ動作許可 ) WEN 動作 0 タイマ動作停止 1 タイマ動作許可 [bit4, bit3] 予約ビット "0" を書き込んでください。読出し値は "0" です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 227 第 20 章 メイン発振安定待ちタイマ 20.4 レジスタ MB91460N シリーズ [bit2, bit1] WS1, WS0 ( インターバル時間の選択 ) WS1 WS0 0 0 設定禁止 0 1 212/FCL-MAIN (2.0ms) 1 0 217/FCL-MAIN (65.4ms) 1 1 223/FCL-MAIN (4.0s) インターバル時間 (4MHz) リセットは初期化されません。スタートアップ後に設定するようにしてください。 [bit0] WCL ( タイマクリア ) WCL 動作 0 メインクロック発振安定待ちタイマのクリア 1 書込みによる動作への影響なし タイマは , INITX 端子入力およびウォッチドッグリセットによってもクリアされます。 (「20.8 注意事項」を参照してください。) 228 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 20 章 メイン発振安定待ちタイマ 20.5 動作 MB91460N シリーズ 20.5 動作 このセクションでは , メインクロック発振安定待ちタイマの動作について説明します。 20.5.1 インターバル割込み 図 20.5-1 タイマでのカウント (4) 040000H (3) (4) 020000H (3) 000000H (2) 時間 (1) 217 (bit16) WEN WCL (4) (4) (2) (2) WIF (2) WIE (2) (4) (6) (4) (6) (1) インターバル時間を選択します (WS[1:0]) ( この例では , 217/FCL-MAIC が選択されています。) 。 (2) ソフトウェアによるタイマクリア (WCL=0), フラグクリア (WIF=0), 割込み要求許可 (WIE=1), タイマカウント許 可 (WEN=1) を設定します。 (3) このタイマは , メインクロック ( 原発振 ) を使用してカウントアップします。 (4) 選択したインターバル時間でインターバル割込みを生成します (217 分周の立下り ) 。 (5) 割込みによって生じる処理 ( ソフトウェア ) :割込み要求クリア (WIF=0) 。 (6) 項目 (3) ∼ (5) を繰り返します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 229 第 20 章 メイン発振安定待ちタイマ 20.6 設定 MB91460N シリーズ 20.6 設定 表 20.6-1 メインクロック発振安定待ちタイマを使用する場合に必要となる設定 設定 設定レジスタ 設定手順* 20.7.1 インターバル時間の設定 メインクロック発振安定待ちタイマ制御レジスタ (OSCRH) カウントクリア 20.7.4 20.7.3 カウント動作開始 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 20.6-2 メインクロック発振安定待ちタイマ割込みを許可する場合に必要となる設定 設定 設定レジスタ 設定手順* メインクロック発振安定待ちタイマの設定 「第 21 章 割込み制御」を参照してください。 割込みベクタの設定 フリーランタイマ割込みレベルの設定 20.7.5 メインクロック発振安定待ちタイマ割込み の設定 割込み要求のクリア 割込み要求の許可 20.7.7 メインクロック発振安定待ちタイマ制御レジスタ (OSCRH) * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 20.6-3 メインクロック発振安定待ちタイマを停止する場合に必要となる設定 設定 設定レジスタ メインクロック発振安定待ちタイマの停止 設定 メインクロック発振安定待ちタイマ制御レジスタ (OSCRH) 設定手順* 20.7.8 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 230 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 20 章 メイン発振安定待ちタイマ 20.7 Q & A MB91460N シリーズ 20.7 Q & A 20.7.1 インターバル時間 ( 待ち時間 ) の種類と選択方法は ? インターバル時間には 3 種類あり , インターバル選択ビット (OSCRH:WS[0:1]) を使用して設定します。 カウント周期 インターバル ( 待ち時間 ) の例 インターバル選択ビット (WS[1:0]) FCLKP = 4.00MHz 値を 212/FCL-MAIN に設定する場合 値を "01B" に設定します 2.0ms 値を 217/FCL-MAIN に設定する場合 値を "10B" に設定します 65.4ms 値を 223/FCL-MAIN に設定する場合 値を "11B" に設定します 4.0 s インターバル時間 ( 注意事項 ) 設定 (WS[1:0]=00) は禁止されています。 20.7.2 カウントクロックを選択するには ? カウントクロックとは , メインクロック ( 原発振 ) のことです ( 選択できません ) 。 20.7.3 メインクロック発振安定待ちタイマのカウント動作を許可または禁止するには ? タイマ動作許可ビット (OSCRH:WEN) で設定します。 タイマ動作許可ビット (WEN) 動作 メインクロック発振安定待ちタイマを停止する場合 値を "0" に設定します メインクロック発振安定待ちタイマを開始する場合 値を "1" に設定します 20.7.4 メインクロック発振安定待ちタイマをクリアするには ? 以下の方法は , メインクロック発振安定待ちタイマをクリアする場合に使用します。 • クリアビット (OSCRH:WCL) を設定します。 クリアビット (WCL) 動作 メインクロック発振安定待ちタイマをクリアする場合 "1" を書き込みます。 • リセットを行います。 動作初期化リセット (INIT 端子入力 , ウォッチドッグリセット ) でフリーランタイマをクリアします。 ( ソフトウェアリセットが実行された場合でも , 値はクリアされずに保持されます。) • メインクロック発振安定待ちタイマのオーバフロー ("FFFFFFH" の次 ) によって , カウント値が "000000H" にリ セットされます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 231 第 20 章 メイン発振安定待ちタイマ 20.7 Q & A MB91460N シリーズ 20.7.5 割込み関連レジスタとは ? メインクロック発振安定待ちタイマの割込みベクタおよび割込みレベルの設定 以下の表に , 割込みレベルと割込みベクタの関係を示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 割込みベクタ ( デフォルト ) 割込みレベル設定ビット (ICR4 ∼ ICR0) #143 アドレス: 0FFDC0H 割込みレベルレジスタ (ICR63) アドレス: 00047FH 割込み要求フラグ (OSCRH:WIF) は自動的にはクリアされないため , ソフトウェアによる割込み処理に戻る前 にクリアしてください。(WIF ビットに "0" を書き込みます。) 20.7.6 割込みの種類は ? メインクロック発振安定待ちタイマ割込みをよび出す割込みは 1 種類です。 ( 選択する必要はありません。) 20.7.7 割込みを許可するには ? 割込み要求の許可および割込み要求フラグ 割込み許可は , 割込み要求許可ビット (OSCRH:WIE) を使用して設定します。 割込み要求許可ビット (WIE) 割込み禁止 値を "0" に設定します 割込み許可 値を "1" に設定します 割込み要求は , 割込み要求ビット (OSCRH:WIF) を使用してクリアされます。 割込み要求ビット (WIF) 割込み要求クリア "0" を書き込みます。 20.7.8 メインクロック発振安定待ちタイマでカウントを停止するには ? タイマ動作許可ビット (OSCRH:WEN) で設定します。22.7.3 を参照してください。 232 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 MB91460N シリーズ 第 20 章 メイン発振安定待ちタイマ 20.8 注意事項 20.8 注意事項 • 発振開始直後にはメインクロック発振の発振周期が不安定なため , 発振安定待ち時間の値は見積り値になり ます。 • メインクロック発振が停止すると , メインクロック発振安定待ちタイマが停止するため , メインクロック発 振安定待ち割込み ( インターバル割込み ) は生成されません。メインクロック発振を再開する場合は , メイ ンクロック発振安定待ち割込み ( インターバル割込み ) を使用してください。 • タイマ割込み要求 (WIF=1), およびソフトウェアによって "0" がフラグに書き込まれる書込み動作を同時に設 定する場合 , フラグは "1" ( フラグ設定優先 ) に設定されます。 • メインクロックを使用して , メインクロック発振安定待ちタイマでカウントアップが行われます。このため , 以下の状態の場合 , メインクロック発振を停止する場合に使用されるタイマのカウントも停止します。 - タイマ動作許可ビット (OSCRH:WEN) が "0" になると , タイマでカウントが停止します。 - ストップモードでメインクロックが停止すると (STCR:OSCD1=1), ストップモードがアクティブになっ た後すぐにタイマでカウントが停止します。 • リセットが解除された後に割込み要求が許可された (WIE=1) 場合 , およびインターバル時間が変更された場 合は , 事前に割込み要求フラグ (WIF) とクリアビット (WCL) に同時に "0" を設定してください。 • 設定初期化リセット (INIT 端子入力 , ウォッチドッグリセット ) を使用すると , タイマ割込み要求ビット (WIF), タイマ割込み要求許可ビット (WIE), タイマ許可ビット (WEN), およびタイマクリアビット (WCL) が 初期化されます。 • ソフトウェアによるスタートアップ後 ( 初期化リセットを設定した後 ) にインターバル選択ビット (WS[1:0]) を設定してください。 • メインクロック発振安定待ちタイマ制御レジスタは , 設定初期化リセット (INITX 端子入力 , ウォッチドッグ リセット ) でのみ ( 初期値を設定するために ) 初期化する必要があります。これは , ソフトウェアリセットで はこのレジスタが初期化されず , 現在の値が維持されるためです。 • カウンタクリア (WPCR:WCL=0) および選択したビットのオーバフローが同時に発生する場合 , 割込み要求 フラグ (WIF) は "1" に設定されません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 233 第 20 章 メイン発振安定待ちタイマ 20.8 注意事項 234 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 21 章 割込み制御 21.1 概要 MB91460N シリーズ 第 21 章 割込み制御 21.1 概要 割込み制御では , 割込みの受信とアービトレーションが管理されます。 図 21.1-1 割込み制御の概略図 NMI ウェイクアップ 優先順位判別回路 割込みレベル/ 割込みベクタ ジェネレータ NMI 処理 HLDREQ 解除要求 割込み 優先順位 判別回路 割込み要求 (周辺機能、 INT命令、および 遅延割込み) レベル HALT CPUへ ベクタ番号 21.2 特長 • 機能 • 割込み要求の検出 • 優先順位の決定 ( レベルと番号に基づいて決定 ) • CPU に対する優先順位要素の割込みレベル伝播 • CPU に対する優先順位要素の割込み番号伝播 • 有効な割込み ( ウェイクアップ ) によるストップモードから戻るための (CPU に対する ) 要求 • 割込みレベル • システム予約 :レベル 0 ∼ 14 • NMI :レベル15 (ただし, MB91460Nシリーズには搭載されておりませんので, 非対応です。) • 割込み :レベル 16 ∼ 31 • 割込み禁止 :レベル 32 ( 割込みレベルが上がると , 番号は下がります ) • 割込み要求の数 • NMI : 1 ( ただし , MB91460N シリーズには搭載されておりませんので , 非対 応です。) • 周辺機能からの割込み : 128 ( 内 63 はシステム予約 ) • 遅延割込み :1 • システム予約 (REALOS 用 ) :2 • INT 命令 : 111 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 235 第 21 章 割込み制御 21.3 構成 MB91460N シリーズ 21.3 構成 図 21.3-1 構成図 優先順位判別回路 許可割込み要求 NMI ウェークアップ 割込み 要求許可 ビット 割込み 要因 NMI処理 NMI 処理 割込み 割込み 要求 要求 フラグ レベル 割込みレベル/ 割込み番号 ジェネレータ 割込み優先 順位判別回路 CPUへ HLDREQ 解除要求 HALT 番号 割込み制御レジスタ ICR4 to ICR0 00000 設定不可 01111 10000 高い割込み 11110 低い割込み 11111 割込み禁止 図 21.3-2 構成図 RAM 割込み制御(CPU側) (PS, PC) CPUの内部 割込みレベルマスクレジスタ ILM (4-0) -0) CPU内のILMレジスタ 00000 l 01111 システム処理 10000 l 11110 割込み処理 11111 初期レベル Iフラグ 優先順位付け 割込みレベル [ICRxx: ICR (4-0)] 割込み 制御 回路 SSP 書換え 0 禁止 1 許可 PS PC テーブルベースレジスタ TBR 割込み番号 (#) 初期値: FFC00 割込み番号 (#) x 4 + TBR アドレス 236 FUJITSU MICROELECTRONICS LIMITED ベクタテーブル (1k バイト) CM71-10149-1 第 21 章 割込み制御 21.4 レジスタ MB91460N シリーズ 21.4 レジスタ 21.4.1 ICR: 割込み制御レジスタ 割込み要求の割込みレベルを規定するレジスタ ICR00 ICR01 ICR02 ICR03 ICR04 ICR05 ICR06 ICR07 ICR08 ICR09 ICR10 ICR11 ICR12 ICR13 ICR14 ICR15 ICR16 ICR17 ICR18 ICR19 ICR20 ICR21 ICR22 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33 #34 #35 #36 #37 #38 #39 #40 #41 #42 #43 #44 #45 #46 #47 #48 #49 #50 #51 #52 #53 #54 #55 #56 #57 #58 #59 #60 #61 CM71-10149-1 外部割込み 0 外部割込み 1 外部割込み 2 外部割込み 3 外部割込み 4 外部割込み 5 外部割込み 6 外部割込み 7 システム予約 システム予約 システム予約 システム予約 外部割込み 12 外部割込み 13 システム予約 システム予約 リロードタイマ 0 リロードタイマ 1 リロードタイマ 2 リロードタイマ 3 システム予約 システム予約 システム予約 リロードタイマ 7 フリーランタイマ 0 フリーランタイマ 1 フリーランタイマ 2 フリーランタイマ 3 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 CAN 4 CAN 5 LIN-USART 0 RX LIN-USART 0 TX LIN-USART 1 RX LIN-USART 1 TX LIN-USART 2 RX LIN-USART 2 TX LIN-USART 3 RX LIN-USART 3 TX Address: 0440H (Access: Byte) Address: 0441H (Access: Byte) Address: 0442H (Access: Byte) Address: 0443H (Access: Byte) Address: 0444H (Access: Byte) Address: 0445H (Access: Byte) Address: 0446H (Access: Byte) Address: 0447H (Access: Byte) Address: 0448H (Access: Byte) Address: 0449H (Access: Byte) Address: 044AH (Access: Byte) Address: 044BH (Access: Byte) Address: 044CH (Access: Byte) Address: 044DH (Access: Byte) Address: 044EH (Access: Byte) Address: 044FH (Access: Byte) Address: 0450H (Access: Byte) Address: 0451H (Access: Byte) Address: 0452H (Access: Byte) Address: 0453H (Access: Byte) Address: 0454H (Access: Byte) Address: 0455H (Access: Byte) Address: 0456H (Access: Byte) FUJITSU MICROELECTRONICS LIMITED 237 第 21 章 割込み制御 21.4 レジスタ ICR23 ICR24 ICR25 ICR26 ICR27 ICR28 ICR29 ICR30 ICR31 ICR32 ICR33 ICR34 ICR35 ICR36 ICR37 ICR38 ICR39 ICR40 ICR41 ICR42 ICR43 ICR44 ICR45 ICR46 ICR47 ICR48 238 MB91460N シリーズ #62 #63 #64 #65 #66 #67 #68 #69 #70 #71 #72 #73 #74 システム予約 遅延割込み システム予約 (*1) システム予約 (*1) システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 I2C 2 #75 #76 #77 #78 #79 #80 #81 #82 #83 #84 #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 #110 #111 #112 #113 I2C 3 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 Input Capture 0 Input Capture 1 Input Capture 2 Input Capture 3 システム予約 システム予約 システム予約 システム予約 Output Compare 0 Output Compare 1 Output Compare 2 Output Compare 3 システム予約 システム予約 システム予約 システム予約 システム予約 Phase Frequ. Modulator システム予約 システム予約 Prog. Pulse Gen. 0 Prog. Pulse Gen. 1 Address: 0457H (*2) (Access: Byte) Address: 0458H (Access: Byte) Address: 0459H (Access: Byte) Address: 045AH (Access: Byte) Address: 045BH (Access: Byte) Address: 045CH (Access: Byte) Address: 045DH (Access: Byte) Address: 045EH (Access: Byte) Address: 045FH (Access: Byte) Address: 0460H (Access: Byte) Address: 0461H (Access: Byte) Address: 0462H (Access: Byte) Address: 0463H (Access: Byte) Address: 0464H (Access: Byte) Address: 0465H (Access: Byte) Address: 0466H (Access: Byte) Address: 0467H (Access: Byte) Address: 0468H (Access: Byte) Address: 0469H (Access: Byte) Address: 046AH (Access: Byte) Address: 046BH (Access: Byte) Address: 046CH (Access: Byte) Address: 046DH (Access: Byte) Address: 046EH (Access: Byte) Address: 046FH *2 (Access: Byte) Address: 0470H (Access: Byte) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 21 章 割込み制御 21.4 レジスタ MB91460N シリーズ ICR49 ICR50 ICR51 ICR52 ICR53 ICR54 ICR55 ICR56 ICR57 ICR58 ICR59 ICR60 ICR61 ICR62 ICR63 #114 #115 #116 #117 #118 #119 #120 #121 #122 #123 #124 #125 #126 #127 #128 #129 #130 #131 #132 #133 #134 #135 #136 #137 #138 #139 #140 #141 #142 #143 Prog. Pulse Gen. 2 Prog. Pulse Gen. 3 Prog. Pulse Gen. 4 Prog. Pulse Gen. 5 Prog. Pulse Gen. 6 Prog. Pulse Gen. 7 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 システム予約 Up/Down Counter 0 Up/Down Counter 1 システム予約 システム予約 Real Time Clock Calibration Unit A/D Converter 0 システム予約 システム予約 Low Voltage Detection システム予約 Timebase Overflow PLL Clock Gear DMA Controller Main OSC stability wait Address: 0471H (Access: Byte) Address: 0472H (Access: Byte) Address: 0473H (Access: Byte) Address: 0474H (Access: Byte) Address: 0475H (Access: Byte) Address: 0476H (Access: Byte) Address: 0477H (Access: Byte) Address: 0478H (Access: Byte) Address: 0479H (Access: Byte) Address: 047AH (Access: Byte) Address: 047BH (Access: Byte) Address: 047CH (Access: Byte) Address: 047DH (Access: Byte) Address: 047EH (Access: Byte) Address: 047FH (Access: Byte) (*1): REALOS により使用。 (*2): ICR23 と ICR47 は , REALOS 共有ビット (0C03H 番地 ISO[0]) を設定することにより相互交換可能です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 239 第 21 章 割込み制御 21.4 レジスタ MB91460N シリーズ ICR ( 割込み制御レジスタ ) は割込みコントローラ内のレジスタであり , 割込みの各要求に対する割込みレベルを 設定します。ICR は , 割込み要求入力に対応しています。また , ICR は I/O 空間にマップされます。 • ICR00 ∼ ICR63 bit 7 6 5 4 3 2 1 0 − − RX/WX − − RX/WX − − RX/WX ICR4 1 R/WX ICR3 1 R/W ICR2 1 R/W ICR1 1 R/W ICR0 1 R/W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit5] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は不定です。 [bit4 ∼ bit0] ICR4 ∼ ICR0 ( 割込みレベル設定ビット ) ICR4 ∼ ICR0 割込みレベル 意味 00000B ∼ 01110B 0 ∼ 14 システム予約 ( 設定不可 ) 01111B 15 NMI 10000B 16 最高レベル 10001B 17 (高) 10010B 18 10011B 19 10100B 20 10101B 21 10110B 22 10111B 23 11000B 24 11001B 25 11010B 26 11011B 27 11100B 28 11101B 29 (低) 11110B 30 最低レベル 11111B 31 割込み禁止 • 割込みレベル設定ビットで , 対応する割込み要求の割込みレベルを指定します。 • 割込み制御レジスタに設定した割込みレベルが CPU の ILM レジスタに設定されているレベルマスク値以 上の場合は , CPU 側で割込み要求がマスクされます。 240 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 21 章 割込み制御 21.4 レジスタ MB91460N シリーズ 21.4.2 割込みベクタ 0FFC00H ( 初期値 ) に対して設定されている TBR レジスタのベクタ番号 (#) に対応する割込みベクタです。 #00 : アドレス 0FFFBCH #01 : アドレス 0FFFB8H ~ ~ ~ #07 : アドレス 0FFFE0H ~ ~ ~ #63 : アドレス 0FFF00H ~ ~ ~ #143 : アドレス 0FFDC0H 32 ビット • 対応するベクタに対する各割込み処理ルーチンのアドレスを設定します。 • ベクタのアドレス = TBR ( テーブルベクタレジスタ ) + {3FCH − 4 ×ベクタ番号 (#) } • システムで使用される EIT (#0 ∼ #14) 割込み番号 割込みレベル ( 固定 ) #0 0 リセットベクタ #1 1 モードベクタ #2 ∼ #4 − システム予約 #5 5 CPU スーパバイザモード #6 6 メモリ保護例外 #7 7 コプロセッサ不在トラップ #8 8 コプロセッサエラートラップ #9 9 INTE 命令 #10 10 命令ブレーク例外 #11 11 オペランドブレークトラップ #12 12 ステップトレーストラップ #13 13 NMI 要求 (TOOL) #14 14 未定義命令例外 #15 15 NMI 要求 CM71-10149-1 要因 FUJITSU MICROELECTRONICS LIMITED 241 第 21 章 割込み制御 21.5 動作 MB91460N シリーズ 21.5 動作 以下のセクションでは , 割込み制御の優先順位決定動作について説明します。 図 21.5-1 割込み処理のフロー 割込み要因の生成 割込み要求フラグが"1"に設定されます。 NO CPU処理 NO 割込みレベル割込みマスクレベル よりも高いですか? (ICR) < (ILM) 割込み要求が許可されていますか? YES YES 優先順位の決定 割込み制御回路 割込みレベル = 31 割込み番号 = 不定 割込み要求が割込み制御回路に 送信されます。 対応する割込みが 禁止されていないですか? (ICR) < 31? NO 割込みは許可されていますか? Iフラグ = 1 YES 実行された命令が終了するまで待機します。 YES 割込み要求のうち最低レベルの 割込みはどれですか? 最低割込み 最低レベルの割込み要求のうち 最低の番号(#)を持つ割込み はどれですか? 割込みへの遷移処理 - システムスタックへの保存(PSおよびPC) - 割込みレベルをILMに設定 - システムスタック許可 - 割込みルーチンへの分岐 (PC<=割込みベクタ) 最低の番号の 割込み 割込みレベルと割込み番号が CPUに送信されます。 ■ 優先順位の決定 • 割込み制御回路では , 同時に発生している割込み要因の中で最も優先順位の高い要因が選択され , その要因 の割込みレベル (ICR) と割込み番号 (#) が CPU に出力されます。 • 以下の条件は , 割込みの優先順位レベルの基準です。 • "31" ではない割込みレベル値 ("31" は " 割込み禁止 ") • 最小割込みレベルを持つ要因 • 上記のうち , 最小の割込み番号を持つ要因 • 上記の基準に該当するレベルがない場合は , 割込みレベル "31" (11111B) が CPU に送信されます。この場合 , 割込み番号は不定です。 242 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 21 章 割込み制御 21.6 設定 MB91460N シリーズ 21.6 設定 表 21.6-1 割込みを使用する場合に必要な設定 設定 設定レジスタ 設定手順* 21.7.1 割込みレベルの設定 割込み制御レジスタ (ICR00 ∼ ICR63) 割込み要求フラグのクリア 各周辺機能の章を参照 ― 割込み要求の許可 各周辺機能の章を参照 ― I フラグの設定 CCR レジスタ 24.7.5 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 21.6-2 割込み処理内での設定が必要な設定 設定 設定レジスタ 割込み要求フラグのクリア 各周辺機能の章を参照 ― * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 21.7 Q & A 21.7.1 割込みレベルを設定するには ? 割込み制御レジスタ (ICR00 ∼ ICR63) に従って設定します。 該当する割込みの制御レジスタの設定を行う前に割込みレベルを設定する必要があります。 割込み制御レジスタ (ICR00 ∼ ICR63) 最高レベルの指定 "16" に設定します。 レベルの設定 任意のレベルを設定します ("16" ∼ "30") 。 最低レベルの指定 "30" に設定します。 割込みを使用しない場合 "31" に設定します ( 割込み禁止 ) 。 • 割込み制御レジスタのビット (ICR4) は "1" に固定されているため , レジスタに "0" ∼ "15" を設定することは できません。 21.7.2 割込みを許可するには ? 割込みを許可するには , 以下の 3 つの設定をすべて行う必要があります。 • 割込み制御レジスタ (ICR00 ∼ ICR63) 内の該当するレジスタに対して "16" ∼ "30" の値を設定します。 • 該当する周辺機能の割込み要求許可ビットを "1" ( 許可 ) に設定します ( 対応する周辺機能に関する章を 参照してください ) 。 • 割込み許可フラグ (I) を "1" に設定します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 243 第 21 章 割込み制御 21.8 注意事項 MB91460N シリーズ 21.7.3 割込みを禁止するには ? 割込みを禁止するには , 以下の 3 つの設定のうちのいずれかを行う必要があります。 • 割込み制御レジスタ (ICR00 ∼ ICR63) 内の該当するレジスタに対して値 31 を設定します。 • 該当する周辺機能の割込み要求許可ビットを "0" ( 禁止 ) に設定します。 • 割込み許可フラグ (I) を "0" に設定します ( すべての割込みを禁止 ) 。 21.7.4 I フラグを設定するには ? C 言語で , 以下の処理を行います。 __EI(); を書き込み , I フラグを "1" ( 割込み許可 ) に設定します。 __DI(); を書き込み , I フラグを "0" ( 割込み禁止 ) に設定します。 下線 2 つ 21.8 注意事項 割込み要求フラグは , 自動的にクリアされません。割込み処理でクリアする必要があります ( このフラグは , 割込み要求フラグのビットに "0" を書き込むとクリアされます。ただし , 周辺機能のタイプに応じていくつか の例外があります。各周辺機能の章を参照してください。)。 244 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 22 章 外部割込み 22.1 概要 MB91460N シリーズ 第 22 章 外部割込み 22.1 概要 外部割込みは , 外部割込み入力端子への信号入力を検出し , 割込み要求を生成するものです。 図 22.1-1 エッジ 検出 回路 端子 割込み要求 22.2 特長 • 個数:10(INT による入力 --10 チャネル:INT0 ∼ INT7,INT12,INT13) • 割込みレベル:4 レベル • "L" レベル • "H" レベル • 立上りエッジ • 立下りエッジ 22.3 構成 図 22.3-1 構成図 外部割込み0~7 検出レベル設定 外部割込み要求の許可フラグ LB0, LB1, LB2, LB3, LB4, LB5, LB6, LB7, INT0/P24.0 INT1/P24.1 INT2/P24.2 INT3/P24.3 INT4/SDA2/P24.4 INT5/SCL2/P24.5 INT6/SDA3/P24.6 INT7/SCL3/P24.7 LA0 LA1 LA2 LA3 LA4 LA5 LA6 LA7 ELVR0 : bit1-bit0, ELVR0 : bit3-bit2, ELVR0 : bit5-bit4, ELVR0 : bit7-bit6, ELVR0 : bit9-bit8, ELVR0 : bit11-bit10, ELVR0 : bit13-bit12, ELVR0 : bit15-bit14, 0 0 Lレベルで検出 0 1 1 0 Hレベルで検出 立上りエッジで検出 1 1 立下りエッジで検出 外部割込み要求フラグ 端子 ER0, ER1, ER2, ER3, ER4, ER5, ER6, ER7 EIRR0: bitn0 EIRR0: bitn1 EIRR0: bitn2 EIRR0: bitn3 EIRR0: bitn4 EIRR0: bitn5 EIRR0: bitn6 EIRR0: bitn7 0 1 割込み要求なし EN0, EN1, EN2, EN3, EN4, EN5, EN6, EN7 ENIR0 : bit0 ENIR0 : bit1 ENIR0 : bit2 ENIR0 : bit3 ENIR0 : bit4 ENIR0 : bit5 ENIR0 : bit6 ENIR0 : bit7 0 割込み禁止 割込み許可 1 0 割込み要求 (#16, #17, #18, #19, #20, #21, #22, #23) エッジ検出回路 1 割込み要求あり 0を書込み:フラグのクリア (ほかの周辺機能マクロの入力) ポートの読み出し 1 (ほかの周辺機能マクロの出力) ポートデータレジスタから 0 レジスタ番号 CM71-10149-1 SDA2 SCL2 SDA3 SCL3 PFR24: bit4 PFR24: bit5 PFR24: bit6 PFR24: bit7 0 1 汎用ポート 周辺 P24.0 P24.1 P24.2 P24.3 P24.4 P24.5 P24.6 P24.7 0 1 DDR24: bit0 DDR24: bit1 DDR24: bit2 DDR24: bit3 DDR24: bit4 DDR24: bit5 DDR24: bit6 DDR24: bit7 入力のみ 出力の許可 外部 割込み 外部割込み 要求レベル 設定ビット 0 1 LB0, LA0 LB1, LA1 LB2, LA2 LB3, LA3 LB4, LA4 LB5, LA5 LB6, LA6 LB7, LA7 2 3 4 5 6 7 外部割込み 外部割込み 要求ビット 要求許可 ER0 ER1 ER2 ER3 ER4 ER5 ER6 ER7 EN0 EN1 EN2 EN3 EN4 EN5 EN6 EN7 FUJITSU MICROELECTRONICS LIMITED 割込み 番号 #16 #17 #18 #19 #20 #21 #22 #23 データ 方向ビット P24.0 P24.1 P24.2 P24.3 P24.4 P24.5 P24.6 P24.7 ポート 機能 --------SDA2 SCL2 SDA3 SCL3 端子 INT0 INT1 INT2 INT3 INT4 INT5 INT6 INT7 245 第 22 章 外部割込み 22.3 構成 MB91460N シリーズ 図 22.3-2 構成図 外部割込み12, 13 検出レベル設定 ELVR1 : bit9,bit8, ELVR1 : bit11,bit10, LB12, LA12 LB13, LA13 0 0 Lレベルで検出 0 1 1 0 Hレベルで検出 立上りエッジで検出 1 1 立下りエッジで検出 外部割込み要求の許可フラグ EN4, EN5 ENIR1 : bit4 ENIR1 : bit5 0 割込み禁止 1 割込み許可 外部割込み要求フラグ 端子 INT12/RX4/P22.0 INT13/RX5/P22.2 ER4, EIRR1: bitn4 ER5 EIRR1: bitn5 0 割込み要求なし 1 割込み要求あり 0を書込み:フラグのクリア エッジ検出回路 (ほかの周辺機能マクロの入力) 割込み要求 (#24, #25, #26, #27 #28, #29, #30, #31) ポートの読出し 1 (ほかの周辺機能マクロの出力) ポートデータレジスタから 0 レジスタ番号 RX4 RX5 0 1 PFR22: bit0 PFR22: bit2 P22.0 P22.2 汎用ポート 0 1 周辺 DDR22: bit0 DDR22: bit2 入力のみ 出力の許可 外部 割込み 外部割込み 要求レベル 設定ビット 12 13 LB12, LA12 LB13, LA13 外部割込み 外部割込み 要求ビット 要求許可 ER12 ER13 EN12 EN13 割込み 番号 データ 方向ビット ポート 機能 端子 #28 #29 P22.0 P22.2 RX4 RX5 INT12 INT13 図 22.3-3 レジスタ一覧 外部割込み(0~7) アドレス 000030H bit 7 EN7 6 EN6 5 EN5 4 EN4 3 EN3 2 EN2 1 EN1 0 EN0 EIRR0 (外部割込み要因レジスタ0) 000031H EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 ENIR0 (外部割込み要求許可レジスタ0) 000032H bit 15 LB7 14 LA7 13 LB6 12 LA6 11 LB5 10 LA5 9 LB4 8 LA4 000D58H 6 5 4 3 2 1 0 bit 7 P24.7 P24.6 P24.5 P24.4 P24.3 P24.2 P24.1 P24.0 DDR24 (データ方向レジスタ) 000D98H P24.7 P24.6 P24.5 P24.4 P24.3 P24.2 P24.1 P24.0 PFR24 (ポート機能レジスタ) 7 LB3 6 LA3 5 LB2 4 LA2 3 LB1 000440H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR00 (割込みレベルレジスタ #16/#17) 000441H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR01 (割込みレベルレジスタ #18/#19) 000442H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR02 (割込みレベルレジスタ #20/#21) 000443H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR03 (割込みレベルレジスタ #22/#23) 2 LA1 1 LB0 0 LA0 ELVR0 (外部割込み要求 レベルレジスタ0) 0FFFBCH 32ビット (割込みベクタ #16) 0FFFB8H 32ビット (割込みベクタ #17) 0FFFB4H 32ビット (割込みベクタ #18) 0FFFB0H 32ビット (割込みベクタ #19) 0FFFACH 32ビット (割込みベクタ #20) 0FFFA8H 32ビット (割込みベクタ #21) 0FFFA4H 32ビット (割込みベクタ #22) 0FFFA0H 32ビット (割込みベクタ #23) ICR レジスタと割込みベクタについては「割込み制御」の章を参照してください。 246 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 22 章 外部割込み 22.3 構成 MB91460N シリーズ 図 22.3-4 レジスタ一覧 外部割込み(12,13) アドレス 000034H bit 7 --- 6 --- 5 EN5 4 EN4 3 --- 2 --- 1 --- 0 --- EIRR1 (外部割込み要因レジスタ1) 000035H --- --- EN5 EN4 --- --- --- --- ENIR1 (外部割込み要求許可レジスタ1) アドレス 000036H bit 15 --- 14 --- 13 --- 12 --- 11 LB5 10 LA5 9 LB4 8 LA4 アドレス 000D56H bit 7 --- 6 --- 5 --- 4 --- 3 --- 2 P22.2 1 --- 0 P22.0 DDR22 (データ方向レジスタ) 000D96H --- --- --- --- --- P22.2 --- P22.0 PFR22 (ポート機能レジスタ) 000446H --- --- --- ICR4 ICR3 ICR2 ICR1 7 --- 6 --- 5 --- 4 --- 3 --- 2 --- 1 --- 0 --- ELVR1 (外部割込み要求 レベルレジスタ1) ICR0 ICR06 (割込みレベルレジスタ #28/#29) アドレス 0FFF8CH 32ビット (割込みベクタ #28) 0FFF88H 32ビット (割込みベクタ #29) <注意事項> ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 247 第 22 章 外部割込み 22.4 レジスタ MB91460N シリーズ 22.4 レジスタ 22.4.1 ELVR:外部割込み要求レベルレジスタ 外部割込みの要求検出を選択するレジスタ。 • ELVR0 (INT0 ∼ INT7) :アドレス 000032H ( アクセス:ハーフワード , ワード ) bit 15 bit 14 13 12 11 10 9 8 LB7 LA7 LB6 LA6 LB5 LA5 LB4 LA4 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 7 6 5 4 3 2 1 0 LB3 LA3 LB2 LA2 LB1 LA1 LB0 LA0 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • ELVR1 (INT12, INT13) :アドレス 000036H ( アクセス:ハーフワード , ワード ) bit 15 14 13 12 11 10 9 8 − − − − LB13 LA13 LB12 LA12 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 7 6 5 4 3 2 1 0 − − − − − − − − 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W bit 初期値 属性 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) 割込み要求レベルビット (LBn, LAn) は , 要求検出を選択するレジスタです。 外部割込み INTn ごとに 2 ビット (LBn, LAn) が割り当てられています。 LBn* LAn* 0 0 "L" レベルを検出し , 割込み要求を生成します。 0 1 "H" レベルを検出し , 割込み要求を生成します。 1 0 立上りを検出し , 割込み要求を生成します。 1 1 立下りを検出し , 割込み要求を生成します。 意味 要求入力がレベル (LAn, LBn =00 または 01) であり , INTn 端子入力がその有効なレベルである場合には , 外部 割込み要求ビット (ERn) が "0" に設定されていても , 対応するビット (ERn) が "1" にリセットされます。 * : n=0 ∼ 15 248 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 22 章 外部割込み 22.4 レジスタ MB91460N シリーズ 22.4.2 EIRR:外部割込み要因レジスタ 外部割込み要因のステータスビット。 • EIRR0 (INT0 ∼ INT7) :アドレス 000030H ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 ER7 ER6 ER5 ER4 ER3 ER2 ER1 ER0 0 0 0 0 0 0 0 0 R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • EIRR1 (INT12, INT13) :アドレス 000034H ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 − − ER13 ER12 − − − − 0 0 0 0 0 0 0 0 R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W R(RM1),W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) 外部割込み要求ビット (ERn) は , 対応する外部割込み要求を示すものです。 意味 ERn* 読出し値 書込み値 0 外部割込み要求なし 外部割込み要因ビットをクリアします。 1 外部割込み要求あり 動作に影響を与えません。 * n=0 ∼ 15 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 249 第 22 章 外部割込み 22.4 レジスタ MB91460N シリーズ 22.4.3 ENIR:外部割込み要求許可レジスタ 外部割込み要求の許可ビット。 • ENIR0 (INT0 ∼ INT7) :アドレス 000031H ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 EN7 EN6 EN5 EN4 EN3 EN2 EN1 EN0 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • ENIR1 (INT12, INT13) :アドレス 000035H ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 − − EN13 EN12 − − − − 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) 外部割込み要求許可ビット (ENn) は , 対応する外部割込み要求を許可するものです。 ENn* 意味 0 外部割込み要求出力禁止 1 外部割込み要求出力許可 * n=0 ∼ 15 250 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 22 章 外部割込み 22.5 動作説明 MB91460N シリーズ 22.5 動作説明 レベル検出 (2) (1) INT (“H”) (“L”) (1) (2) (3) 有効なエッジ ソフトウェアによるクリア (4) 割込み要求 (ER) (5) エッジ検出 周辺クロック (CLKP) (2) INT (立上り) (立下り) エッジの前後以上のレベルを保持 する必要があります。 (2 × CLKP) (1) (1) (2) 有効なエッジ (3) 割込み要求 (ER) (4) ソフトウェアによるクリア (5) (1) 外部割込み信号 (INT) の入力 (2) 割込み信号 ( レベル / エッジ ) の検出 (3) 有効なエッジ信号 (2 × CLKP 以上が必要 ) (4) 割込み要求の生成 (5) ソフトウェアによる割込み要求のクリア 備考:エッジ検出を許可してストップモードから再開するときには , INT 信号要求の最低パルス幅 (>50ns) が 満たされている必要があります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 251 第 22 章 外部割込み 22.6 設定 MB91460N シリーズ 22.6 設定 表 22.6-1 外部割込みを使用するために必要な設定 設定 設定レジスタ 設定手順 検出レベルの設定 外部割込み要求レベル設定レジスタ (ELVR0, ELVR1) 22.7.1 項 INT 端子を入力に設定 データ方向レジスタ (DDR22, DDR24) ポート機能レジスタ (PFR22, PFR24) 22.7.2 項 外部割込み 外部より入力 → 信号を INT0 ∼ INT7, INT12, INT13 端子に入力します。 ( 注意 ) 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 22.7 Q & A 22.7.1 検出レベルの種類および設定手順とは ? 検出レベルには次の 4 種類があります。"L" レベル , "H" レベル , 立上り , および立下りです。 検出レベルビット (ELVR0:LBx, LAx) x = 0 ∼ 7, および (ELVR1:LBx, LAx) x = 12, 13 で行います。 252 動作モード 検出レベルビット (LBn, LAn) n = 0 ∼ 15 "L" レベル検出として使用 "00B" に設定します。 "H" レベル検出として使用 "01B" に設定します。 立上り検出として使用 "10B" に設定します。 立下り検出として使用 "11B" に設定します。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 22 章 外部割込み 22.7 Q & A MB91460N シリーズ 22.7.2 INT 端子を入力に設定するには ? データ方向レジスタ (DDR22, DDR24) を使用します。 ポート機能レジスタ (PFR22, PFR24) を使用します。 動作説明 データ方向ビット 設定 ポート機能ビット 設定 INT0 端子入力を使用するには DDR24:P24.0 "0" に設定します。 PFR24:P24.0 "1" に設定します。 INT1 端子入力を使用するには DDR24:P24.1 "0" に設定します。 PFR24:P24.1 "1" に設定します。 INT2 端子入力を使用するには DDR24:P24.2 "0" に設定します。 PFR24:P24.2 "1" に設定します。 INT3 端子入力を使用するには DDR24:P24.3 "0" に設定します。 PFR24:P24.3 "1" に設定します。 INT4 端子入力を使用するには DDR24:P24.4 "0" に設定します。 PFR24:P24.4 "1" に設定します。 INT5 端子入力を使用するには DDR24:P24.5 "0" に設定します。 PFR24:P24.5 "1" に設定します。 INT6 端子入力を使用するには DDR24:P24.6 "0" に設定します。 PFR24:P24.6 "1" に設定します。 INT7 端子入力を使用するには DDR24:P24.7 "0" に設定します。 PFR24:P24.7 "1" に設定します。 INT12 端子入力を使用するには DDR22:P22.0 "0" に設定します。 PFR22:P22.0 "1" に設定します。 INT13 端子入力を使用するには DDR22:P22.2 "0" に設定します。 PFR22:P22.2 "1" に設定します。 備考 :DDR=0 および PFR=0 ( 汎用ポート入力モード ) の設定でも外部割込みを使用できますが , HiZ でストップ モードを設定すると , 入力回線が禁止されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 253 第 22 章 外部割込み 22.7 Q & A MB91460N シリーズ 22.7.3 割込み関連レジスタは ? 外部割込みの割込みベクタ , および割込みレベルの設定 外部割込み番号 , 割込みレベル , およびベクタの三者間の関係は , 以下の表のとおりです。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照して ください。 割込みベクタ ( デフォルト ) INT0 #16 アドレス:0FFFBCH INT1 #17 アドレス:0FFFB8H INT2 #18 アドレス:0FFFB4H INT3 #19 アドレス:0FFFB0H INT4 #20 アドレス:0FFFACH INT5 #21 アドレス:0FFFA8H INT6 #22 アドレス:0FFFA4H INT7 #23 アドレス:0FFFA0H INT12 #28 アドレス:0FFF8CH INT13 #29 アドレス:0FFF88H 割込みレベル設定ビット (ICR[4:0]) 割込みレベルレジスタ (ICR00) アドレス:000440H 割込みレベルレジスタ (ICR01) アドレス:000441H 割込みレベルレジスタ (ICR02) アドレス:000442H 割込みレベルレジスタ (ICR03) アドレス:000443H 割込みレベルレジスタ (ICR06) アドレス:000446H 22.7.4 割込みの種類 割込み要因は外部割込みに制限されています。選択対象のビットはありません。 254 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 22 章 外部割込み 22.8 注意事項 MB91460N シリーズ 22.7.5 割込みを許可 , 禁止 , およびクリアするには ? 割込み要求の許可フラグ , 割込み要求フラグ 割込みを許可するには , 割込み許可ビット (ENIR0:ENx. x = 0 ∼ 7) および (ENIR1:ENx. x = 12, 13) を使用 します。 割込み許可ビット (ENn [n = 0 ∼ 7, 12, 13]) 割込み要求を禁止するには "0" に設定します。 割込み要求を許可するには "1" に設定します。 割込み要求をクリアするには , 割込み要求ビット (EIRR0:ERx. x = 0 ∼ 7) および (EIRR1:ERx. x = 12, 13) を使 用します。 割込み要求ビット (ERn [n = 0 ∼ 7, 12, 13]) 割込み要求をクリアするには "0" を書き込みます。 22.8 注意事項 • 要求入力がレベル (LAn, LBn = 00 または 01) であり , INT 端子入力がその有効なレベルである場合には , 外 部割込み要求ビット (ERn) が "0" に設定されていても , 対応するビット (ERn) が "1" にリセットされます。 • ENn = 1 で外部割込み要求を許可する前に , 外部割込み要求ビットをクリア (ERn を "0" に設定 ) して , 入力 要求が以前に一致したことによる割込み (IRQ フラグは ENn の設定とは独立して設定されています ) を回避 することをお勧めします。 • スタンバイ ( ストップモード ) に入る前に , 必ず未使用の外部割込みを禁止してください (ENn = 0) 。 • 要求レベルをエッジ要求に設定している場合 , エッジがあったことを検出するには , 最小 3 × CLKP のパルス 幅 ( 周辺クロック ) が必要です。 • エッジ検出を許可してストップモードから再開するときには , INT 信号トリガの最低パルス幅 (>50ns) が満 たされている必要があります。 • 外部割込み要求が外部割込み端子 INTn から入力され , その後取り下げられても , 割込み要求フラグ (ERn) が 存在するため , 割込みコントローラへの割込み要求がアクティブのままになります。割込みコントローラへの 割込み要求を取り下げるには , ソフトウェアで割込み要求フラグをクリアする (ERn= 0) 必要があります。 (「22.5 動作説明」の図を参照してください。) *: n=0 ∼ 7, 12, 13 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 255 第 22 章 外部割込み 22.8 注意事項 256 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.1 DMA コントローラ (DMAC) の概要 MB91460N シリーズ 第 23 章 DMA コントローラ 23.1 DMA コントローラ (DMAC) の概要 本製品には DMA(Direct Memory Access)コントローラ(DMAC)が搭載されています。DMAC は CPU の命 令実行を必要としない高速なデータ転送が可能なため , システムパフォーマンスをより高めることが可能で す。 ■ ハードウェア構成 DMA コントローラ (DMAC) は , 主に以下のブロックで構成されています。 5 つの独立した DMA チャネル • 5 チャネルの独立したアクセス制御回路 • 32 ビットアドレスレジスタ ( リロード指定可能 , チャネルごとに 2 つのレジスタ ) • 16 ビット転送カウントレジスタ ( リロード指定可能 , チャネルごとに 1 つのレジスタ ) • 4 ビットブロックカウントレジスタ ( チャネルごとに 1 つ ) • 最大 128 個の内部転送要求要因 • 外部転送要求入力端子:未搭載 • 外部転送要求受付出力端子:未搭載 • DMA 終了出力端子:未搭載 • フライバイ転送 ( メモリから I/O へ , および I/O からメモリへ ):未対応 • 2 サイクル転送 ■ 主要な機能 ここでは , DMA コントローラ (DMAC) によるデータ転送の主要な機能を示します。 複数のチャネル (5 チャネル ) を介してデータを転送できます。 ● 優先度 (ch.0>ch.1>ch.2>ch.3>ch.4) ● ch.0 と ch.1 の優先度を入れ換えることができます。 ● DMAC 開始要因 • 内蔵周辺機器の要求 ( 外部割込みをはじめとする共有割込み要求 ) • ソフトウェアの要求 ( レジスタへの書込み ) ● 転送モード • バースト転送 , ステップ転送 , およびブロック転送 • アドレッシングモード:32 ビットフルアドレス指定 ( インクリメント / デクリメント / 固定 ) アドレスのインクリメント / デクリメントの範囲は− 255 ∼+ 255 です。 • データタイプ:バイト , ハーフワード , およびワード長 • シングルショット / リロード選択可能 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 257 第 23 章 DMA コントローラ 23.1 DMA コントローラ (DMAC) の概要 MB91460N シリーズ ■ ブロックダイヤグラム 図 23.1-1 に , DMA コントローラ (DMAC) のブロックダイヤグラムを示します。 図 23.1-1 DMA コントローラ (DMAC) のブロックダイヤグラム カウンタ DMA起動 要因選択 回路 および 要求受付 制御 バスコントローラへの DMA転送要求 セレクタ ライトバック バッファ 周辺機器起動要求/停止入力 外部端子起動要求/停止入力 (未対応) DTC2ステージレジスタ DTCR カウンタ DSS[3:0] 書込み 258 BLKセレクタ セレクタ IRQ[4:0] 周辺機器割込みクリア MCLREQ TYPE.MOD,WS DMAコントローラ DSAD 2ステージレジスタ SADM, SASZ[7:0] SADR DDAD 2ステージレジスタ DADM, DASZ[7:0] DADR ライトバック セレクタ カウンタバッファ カウンタバッファ アドレス アドレスカウンタ アクセス 割込みコントローラへ ERIR,EDIR 状態遷移 回路 バスコントローラユニット バスコント ローラへ 読出し/書込み 制御 優先度回路 セレクタ Xバス 読出し バスコントローラユニット バッファ ライトバック FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ 23.2 DMA コントローラ (DMAC) レジスタ このセクションでは , DMA コントローラ (DMAC) で使用されるレジスタの構成および機能について説明します。 ■ DMA コントローラ (DMAC) レジスタ 図 23.2-1 に , DMA コントローラ (DMAC) のレジスタを示します。 図 23.2-1 DMA コントローラ (DMAC) レジスタ bit 31 0 ch.0 制御ステータスレジスタA (DMACA0) ch.0 制御ステータスレジスタB (DMACB0) ch.1 制御ステータスレジスタA (DMACA1) ch.1 制御ステータスレジスタB (DMACB1) ch.2 制御ステータスレジスタA (DMACA2) ch.2 制御ステータスレジスタB (DMACB2) ch.3 制御ステータスレジスタA (DMACA3) ch.3 制御ステータスレジスタB (DMACB3) ch.4 制御ステータスレジスタA (DMACA4) ch.4 制御ステータスレジスタB (DMACB4) 全チャネル制御レジスタ (DMACR) ch.0 転送元アドレスレジスタ (DMASA0) ch.0 転送先アドレスレジスタ (DMADA0) ch.1 転送元アドレスレジスタ (DMASA1) ch.1 転送先アドレスレジスタ (DMADA1) ch.2 転送元アドレスレジスタ (DMASA2) ch.2 転送先アドレスレジスタ (DMADA2) ch.3 転送元アドレスレジスタ (DMASA3) ch.3 転送先アドレスレジスタ (DMADA3) ch.4 転送元アドレスレジスタ (DMASA4) ch.4 転送先アドレスレジスタ (DMADA4) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 259 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ ■ 設定レジスタの注意事項 DMA コントローラ (DMAC) を設定する場合 , 一部のビットは DMA が停止しているときに設定する必要があり ます。DMA が動作しているとき ( 転送中 ) に設定すると , 正しい動作が保証されなくなります。 この後のビット機能の説明では , ビットにアスタリスクが付いていることがあります。これは , DMA 転送中に そのビットを設定すると , ビットの動作に影響を与えることを示しています。このようなビットは , DMA 転送が 停止しているとき ( 転送開始が禁止されているか , または一時的に停止しているとき ) に書き換えてください。 DMA 転送開始が禁止されているとき (DMACR の DMAE が "0", または DMACA の DENB が "0" のとき ) にビット を設定すると , 転送開始が許可された時点で設定が有効になります。 DMA 転送が一時的に停止しているとき (DMACR の DMAH[3:0] が "0000B" でない場合 , または DMACA の PAUS が "1" のとき ) にビットを設定すると , 一時停止が解除された時点で設定が有効になります。 23.2.1 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) は , DMAC チャネルの動作を制御するものです。チャネル ごとに独自のレジスタがあります。 このセクションでは , 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) の構成および機能について説明します。 ■ 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) のビット構成 図 23.2-2 に , 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) のビット構成を示します。 図 23.2-2 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) のビット構成 アドレス bit 31 000200H (ch.0) 000208H (ch.1) 000210H (ch.2) 000218H (ch.3) 000220H (ch.4) 30 29 28 27 bit 15 14 13 26 25 24 23 IS[4:0] DENB PAUS STRG 12 11 10 22 21 20 19 EIS[3:0] 9 8 7 6 5 18 17 16 BLK[3:0] 4 3 2 1 DTC[15:0] 初期値 000000000000XXXXB 0 XXXXXXXXXXXXXXXXB ■ 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) のビットの詳細 ここでは , 制御ステータスレジスタ A (DMACA0 ∼ DMACA4) のビットの機能について説明します。 [bit31] DENB (DMA 動作許可ビット ) DMA 転送チャネルに対応したビットであり , DMA 転送を許可および禁止する場合に使用します。 転送要求が発生して受付けられると , 起動されたチャネルが DMA 転送を開始します。 起動されていないチャネル向けに発生した転送要求は禁止されます。 起動されたチャネル向けの転送が指定のカウントに達すると , このビットが "0" に設定され , 転送が終了します。 このビットに "0" を書き込むと , 強制的に転送を終了できます。強制的に ("0" の書込み ) 転送を停止するときは , PAUS ビット (DMACA の bit30) を使用して DMA を一時的に停止してください。一時的に DMA を停止せずに 強制的に転送を停止すると , DMA は停止しますが , 転送データが保証されなくなります。DSS[2:0] ビット [DMACB の bit18 ∼ bit16] を使用して , DMA が停止しているかどうかを確認してください。 DENB 機能 0 対応するチャネルで DMA の動作を禁止します ( 初期値 ) 。 1 対応するチャネルで DMA の動作を許可します。 • リセット中に停止要求が受付けられた場合:"0" に初期化されます。 • このビットは , 読み書き可能です。 • DMAC 全チャネル制御レジスタ (DMACR) の bit15 (DMAE ビット ) ですべてのチャネルの動作を禁止すると , このビットに "1" を書き込むことが禁止され , 停止状態が保持されます。このビットで動作を許可していて も上記ビットで禁止すると , このビットに "0" が書き込まれ , 転送が停止します ( 強制停止 ) 。 260 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit30] PAUS ( 一時停止命令 ) このビットは , 対応するチャネルの DMA 転送を一時的に停止させるものです。このビットに "1" を設定すると , このビットがクリアされるまで DMA 転送は実行されません (DMA が停止している間は , DSS ビットが "1xxB" になります ) 。 開始前にこのビットに "1" を設定すると , DMA 転送は一時的に停止したままになります。 このビットに "1" が設定されている間に新たに転送要求が発生すると , この要求は受付けられますが , このビッ トがクリアされるまで転送は始まりません (「23.3.8 開始から終了 / 停止までの動作」を参照してください ) 。 PAUS 機能 0 対応するチャネルで DMA の動作を許可します ( 初期値 ) 。 1 対応するチャネルで DMA を一時的に停止します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 [bit29] STRG ( ソフトウェアトリガビット ) このビットは , 対応するチャネル向けに DMA 転送要求を発生させるものです。このビットに "1" が書き込まれ ると , レジスタへの書込み動作が完了し , かつ対応するチャネルでの転送が始まったときに , 転送要求が発生 します。 ただし , 対応するチャネルが起動されていない場合には , このビットに対する動作が禁止されます。 DMAE ビットへの書込み動作とこのビットによる転送要求とが同時に発生した場合には , 転送要求が許可され , 転送が始まります。 PAUS ビットへの "1" の書込みとこのビットによる転送要求とが同時に発生した場合には , 転 送要求が許可されますが , PAUS ビットに "0" が書き込まれるまで DMA 転送は始まりません。 STRG 機能 0 禁止 1 DMA 開始要求 • リセット時:"0" に初期化されます。 • 読出し値は常に "0" です。 • 書込み値は "1" のみが有効です。"0" が書き込まれても , 動作に影響はありません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 261 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit28 ∼ bit24] IS4 ∼ IS0 ( 転送要因の選択ビット ) この各ビットは転送要求の要因を選択するものであり , それぞれのビットの設定に関係なく , STRG ビットに よるソフトウェア転送要求が常に有効になります。表 23.2-1 を参照してください。 表 23.2-1 転送要求要因に関する設定 IS EIS RN 00000B − − ハードウェアによる起動の禁止 00001B ∼ 01101B − − 設定禁止 01110B − − 予約 01111B − − 予約 10000B 0000B 0 外部割込み 0 − 10001B 0000B 1 外部割込み 1 − 10010B 0000B 2 外部割込み 2 − 10011B 0000B 3 外部割込み 3 − 10100B 0000B 4 リロードタイマ 0 − 10101B 0000B 5 リロードタイマ 1 − 10110B 0000B 6 LIN-USART 0 RX 使用可 10111B 0000B 7 LIN-USART 0 TX − 11000B 0000B 8 LIN-USART 1 RX 使用可 11001B 0000B 9 LIN-USART 1 TX − 11010B 0000B 10 予約 − 11011B 0000B 11 予約 − 11100B 0000B 12 予約 − 11101B 0000B 13 予約 − 11110B 0000B 14 A/D コンバータ − 11111B 0000B 15 プログラマブルパルスジェネレータ (PPG) 0 − 機能 転送停止要求 使用不可 • リセット時:IS4 ∼ IS0 は "00000B" に初期化されます。 • リセット時:EIS3 ∼ EIS0 は "0000B" に初期化されます。 • この各ビットは , 読み書き可能です。 <注意事項> • 262 周辺機能の割込みによる DMA 開始を設定した場合 (IS が "1xxxxB") には , ICR レジスタでその周辺機能 の割込みを禁止してください。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit23 ∼ bit20] EIS3 ∼ EIS0 ( 拡張転送要因選択 ) この各ビットは転送要求の要因を選択するものであり , それぞれのビットの設定に関係なく , STRG ビット機 能によるソフトウェア転送要求が常に有効になります。表 23.2-2 を参照してください。 表 23.2-2 拡張転送要因選択に関する設定 (1 / 3) IS EIS 10000B 0001B 16 外部割込み 0 − 10001B 0001B 17 外部割込み 1 − 10010B 0001B 18 外部割込み 2 − 10011B 0001B 19 外部割込み 3 − 10100B 0001B 20 外部割込み 4 − 10101B 0001B 21 外部割込み 5 − 10110B 0001B 22 外部割込み 6 − 10111B 0001B 23 外部割込み 7 − 11000B 0001B 24 予約 − 11001B 0001B 25 予約 − 11010B 0001B 26 予約 − 11011B 0001B 27 予約 − 11100B 0001B 28 予約 − 11101B 0001B 29 予約 − 11110B 0001B 30 予約 − 11111B 0001B 31 予約 − 10000B 0010B 32 リロードタイマ 0 − 10001B 0010B 33 リロードタイマ 1 − 10010B 0010B 34 リロードタイマ 2 − 10011B 0010B 35 リロードタイマ 3 − 10100B 0010B 36 予約 − 10101B 0010B 37 予約 − 10110B 0010B 38 予約 − 10111B 0010B 39 リロードタイマ 7 − 11000B 0010B 40 フリーランタイマ 0 − 11001B 0010B 41 フリーランタイマ 1 − 11010B 0010B 42 フリーランタイマ 2 − 11011B 0010B 43 フリーランタイマ 3 − 11100B 0010B 44 予約 − 11101B 0010B 45 予約 − 11110B 0010B 46 予約 − 11111B 0010B 47 予約 − 10000B 0011B 48 LIN-USART 0 RX CM71-10149-1 RN 機能 FUJITSU MICROELECTRONICS LIMITED 転送停止要求 使用可 263 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ 表 23.2-2 拡張転送要因選択に関する設定 (2 / 3) IS EIS 10001B 0011B 49 LIN-USART 0 TX − 10010B 0011B 50 LIN-USART 1 RX 使用可 10011B 0011B 51 LIN-USART 1 TX − 10100B 0011B 52 LIN-USART 2 RX 使用可 10101B 0011B 53 LIN-USART 2 TX − 10110B 0011B 54 LIN-USART 3 RX 使用可 10111B 0011B 55 LIN-USART 3 TX − 11000B 0011B 56 予約 − 11001B 0011B 57 予約 − 11010B 0011B 58 予約 − 11011B 0011B 59 予約 − 11100B 0011B 60 予約 − 11101B 0011B 61 予約 − 11110B 0011B 62 予約 − 11111B 0011B 63 予約 − 10000B 0100B 64 予約 − 10001B 0100B 65 予約 − 10010B 0100B 66 予約 − 10011B 0100B 67 予約 − 10100B 0100B 68 予約 − 10101B 0100B 69 予約 − 10110B 0100B 70 予約 − 10111B 0100B 71 予約 − 11000B 0100B 72 予約 − 11001B 0100B 73 予約 − 11010B 0100B 74 予約 − 11011B 0100B 75 予約 − 11100B 0100B 76 予約 − 11101B 0100B 77 予約 − 11110B 0100B 78 予約 − 11111B 0100B 79 予約 − 10000B 0101B 80 インプットキャプチャ 0 − 10001B 0101B 81 インプットキャプチャ 1 − 10010B 0101B 82 インプットキャプチャ 2 − 10011B 0101B 83 インプットキャプチャ 3 − 10100B 0101B 84 予約 − 264 RN 機能 FUJITSU MICROELECTRONICS LIMITED 転送停止要求 CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ 表 23.2-2 拡張転送要因選択に関する設定 (3 / 3) IS EIS RN 10101B 0101B 85 予約 − 10110B 0101B 86 予約 − 10111B 0101B 87 予約 − 11000B 0101B 88 アウトプットコンペア 0 − 11001B 0101B 89 アウトプットコンペア 1 − 11010B 0101B 90 アウトプットコンペア 2 − 11011B 0101B 91 アウトプットコンペア 3 − 11100B 0101B 92 予約 − 11101B 0101B 93 予約 − 11110B 0101B 94 予約 − 11111B 0101B 95 予約 − 10000B 0110B 96 プログラマブルパルスジェネレータ 0 − 10001B 0110B 97 プログラマブルパルスジェネレータ 1 − 10010B 0110B 98 プログラマブルパルスジェネレータ 2 − 10011B 0110B 99 プログラマブルパルスジェネレータ 3 − 10100B 0110B 100 プログラマブルパルスジェネレータ 4 − 10101B 0110B 101 プログラマブルパルスジェネレータ 5 − 10110B 0110B 102 プログラマブルパルスジェネレータ 6 − 10111B 0110B 103 プログラマブルパルスジェネレータ 7 − 11000B 0110B 104 予約 − 11001B 0110B 105 予約 − 11010B 0110B 106 予約 − 11011B 0110B 107 予約 − 11100B 0110B 108 予約 − 11101B 0110B 109 予約 − 11110B 0110B 110 予約 − 11111B 0110B 111 予約 − 10000B 0111B 112 ADC 0 − 10001B 0111B 113 予約 − 10010B 0111B 114 予約 − 機能 転送停止要求 • リセット時:IS4 ∼ IS0 は "00000B" に初期化されます。 • リセット時:EIS3 ∼ EIS0 は "0000B" に初期化されます。 • この各ビットは , 読み書き可能です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 265 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit19 ∼ bit16] BLK3 ∼ BLK0 ( ブロックサイズ指定ビット ) この各ビットは , 対応するチャネルでブロック転送を行うときのブロックサイズを指定するものです。各ビッ トで指定した値が , 一度に転送されるワード数 ( 正確には , データ幅設定の繰返し数 ) になります。ブロック転 送を実行しない場合には , "01H" ( サイズ "1") を設定してください。 BLK XXXXB 機能 対応するチャネルのブロックサイズ • リセット時:初期化されません。 • この各ビットは , 読み書き可能です。 • 各ビットに "0" が指定されると , ブロックサイズが 16 ワードになります。 • 読出しでは , 常にブロックサイズが読み出されます ( リロード値 ) 。 [bit15 ∼ bit0] DTC ( 転送回数レジスタビット ) DTC レジスタには , 転送回数が格納されます。各レジスタは 16 ビット長です。 どのレジスタにも , 専用のリロードレジスタがあります。転送カウントレジスタのリロードが許可されている チャネルでこのレジスタを使用すると , 転送の完了時にレジスタに初期値が自動的に書き込まれます。 DTC XXXXH 機能 対応するチャネルの転送回数 DMA 転送が始まると , このレジスタのデータが DMA 専用転送カウンタのカウンタバッファに格納され , 1 回 の転送が終了するたびに "1" だけデクリメント ( 減算 ) されます。DMA 転送が完了すると , まずカウンタバッ ファの内容がこのレジスタに書き込まれ , その後 DMA が終了します。このため , DMA 動作中に転送カウント の値を読み出すことはできません。 • リセット時:初期化されません。 • この各ビットは , 読み書き可能です。常にハーフワード長またはワード長を使用して DTC にアクセスして ください。 • 読出しでは , カウント値が読み出されます。リロード値を読み出すことはできません。 266 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ 23.2.2 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) は , 各 DMAC チャネルの動作を制御し , チャネルごとに独自に 存在するものです。 このセクションでは , 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) の構成および機能について説明します。 ■ 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) のビット構成 図 23.2-3 に , 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) のビット構成を示します。 図 23.2-3 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) のビット構成 アドレス 000204H (ch.0) 00020CH (ch.1) 000214H (ch.2) 00021CH (ch.3) 000224H (ch.4) bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 TYPE[1:0] MOD[1:0] WS[1:0] SADM DADM DTCR SADR DADR ERIE EDIE bit 15 14 13 12 11 10 9 8 SASZ[7:0] 7 6 5 4 3 DASZ[7:0] 17 16 DSS[2:0] 2 1 初期値 0000000000000000B 0 XXXXXXXXXXXXXXXXB ■ 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) のビットの詳細 ここでは , 制御ステータスレジスタ B (DMACB0 ∼ DMACB4) のビットの機能について説明します。 [bit31, bit30] TYPE1, TYPE0 : ( 転送タイプ設定ビット ) この各ビットは転送タイプ設定ビットであり , 対応するチャネルの動作タイプを設定するものです。 • 2 サイクル転送モード:このモードでは , 転送元アドレス (DMASA) および転送先アドレス (DMADA) を設 定し , 転送カウントレジスタに指定された回数だけ読出し動作および書込み動作を繰り返すことによって , 転送が実行されます。どの領域でも , 転送元または転送先 (32 ビットアドレス ) として指定できます。 表 23.2-3 転送タイプの設定 TYPE1, TYPE0 機能 00B 2 サイクル転送 ( 初期値 ) 01B 設定禁止 10B 設定禁止 11B 設定禁止 • リセット時:"00B" に初期化されます。 • この各ビットは , 読み書き可能です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 267 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit29, bit28] MOD1, MOD0 : ( 転送モード設定ビット ) この各ビットは転送モード設定ビットであり , 対応するチャネルの動作モードを以下のように設定します。 表 23.2-4 転送モードの設定 MOD 機能 00B ブロック / ステップ転送モード ( 初期値 ) 01B バースト転送モード 10B 設定禁止 11B 設定禁止 • リセット時:"00B" に初期化されます。 • この各ビットは , 読み書き可能です。 [bit27, bit26] WS1, WS0 : ( 転送データ幅選択ビット ) この各ビットは転送データ幅選択ビットであり , 対応するチャネルの転送データ幅を選択する場合に使用され ます。転送動作は , このビットに指定したデータ幅単位で指定の回数だけ繰り返されます。 表 23.2-5 転送データ幅の選択 WS 機能 00B バイト幅転送 ( 初期値 ) 01B ハーフワード幅転送 10B ワード幅転送 11B 設定禁止 • リセット時:"00B" に初期化されます。 • この各ビットは , 読み書き可能です。 268 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit25] SADM ( 転送元アドレスカウントモード指定ビット ) このビットは , 転送動作ごとに対応するチャネルの転送元アドレスのアドレス処理を指定するものです。 転送動作が終了するたびに , 指定の転送元アドレスカウント幅 (SASZ) に応じて , アドレスインクリメントさ れたり , アドレスデクリメントされます。転送が完了すると , 次のアクセスアドレスが対応するアドレスレジ スタ (DMASA) に書き込まれます。 このため , DMA 転送が完了するまで , 転送元アドレスレジスタは更新されません。 アドレスを常に同じものにするには , このビットに "0" または "1" を指定し , アドレスカウント幅 (SAAZ ビット および DASZ ビット ) を "0" にします。 SADM 機能 0 転送元アドレスをインクリメントします ( 初期値 ) 。 1 転送元アドレスをデクリメントします。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 [bit24] DADM ( 転送先アドレスカウントモード指定ビット ) このビットは , 転送動作ごとに対応するチャネルの転送先アドレスのアドレス処理を指定するものです。 転送動作が終了するたびに , 指定の転送先アドレスカウント幅 (DASZ ビット ) に応じて , アドレスインクリメ ントが追加されたり , アドレスデクリメントが差し引かれます。転送が完了すると , 次のアクセスアドレスが 対応するアドレスレジスタ (DMADA) に書き込まれます。 このため , DMA 転送が完了するまで , 転送先アドレスレジスタは更新されません。 アドレスを常に同じものにするには , このビットに "0" または "1" を指定し , アドレスカウント幅 (SASZ ビット および DASZ ビット ) を "0" にします。 DADM 機能 0 転送元アドレスをインクリメントします ( 初期値 ) 。 1 転送元アドレスをデクリメントします。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 269 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit23] DTCR ( 転送回数レジスタリロード指定ビット ) このビットは , 対応するチャネルの転送回数レジスタのリロードを制御するものです。 このビットでリロード動作を許可すると , 転送の完了後転送回数レジスタが初期値に戻り , DMAC が停止して 新しい転送要求 (STRG 設定または IS 設定による起動要求 ) の開始を待機するようになります。このビットが "1" の場合 , DENB ビットはクリアされません。 転送を停止するには , DENB=0 または DMAE=0 を設定する必要があります。いずれの設定でも , 転送が強制的 に停止します。 回数カウンタのリロードが禁止されている場合には , シングルショット動作となります。シングルショット動 作では , アドレスレジスタでリロードが指定されていても , 転送が完了すると動作が停止します。この場合には , DENB ビットもクリアされます。 DTCR 機能 0 転送回数レジスタのリロードを禁止します ( 初期値 ) 。 1 転送回数レジスタのリロードを許可します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 [bit22] SADR ( 転送元アドレスレジスタリロード指定ビット ) このビットは , 対応するチャネルの転送元アドレスレジスタのリロードを制御するものです。 このビットでリロード動作を許可すると , 転送完了後 , 転送元アドレスレジスタ値が初期値に戻ります。 カウンタのリロードが禁止されている場合には , シングルショット動作となります。シングルショット動作で は , アドレスレジスタでリロードが指定されていても , 転送が完了すると動作が停止します。この場合には , 初 期値がリロードされている間 , アドレスレジスタ値も停止します。 このビットでリロード動作を禁止すると , 転送完了後 , 転送元アドレスレジスタ値が最終アドレスの次にアク セスされるアドレスになります。アドレスインクリメントが指定されている場合には , インクリメントされた アドレスが次のアドレスになります。 SADR 機能 0 転送元アドレスレジスタのリロードを禁止します ( 初期値 ) 。 1 転送元アドレスレジスタのリロードを許可します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 270 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit21] DADR ( 転送先アドレスレジスタリロード指定ビット ) このビットは , 対応するチャネルの転送先アドレスレジスタのリロードを制御するものです。 このビットでリロード動作を許可すると , 転送完了後 , 転送先アドレスレジスタ値が初期値に戻ります。 この他の機能の詳細は , bit22 (SADR) の説明と同じです。 DADR 機能 0 転送先アドレスレジスタのリロードを禁止します ( 初期値 ) 。 1 転送先アドレスレジスタのリロードを許可します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 [bit20] ERIE ( エラー割込み許可ビット ) このビットは , エラーが発生したら割込みを発生させて終了するかどうかを制御するものです。発生したエ ラーがどのような内容のものであるかは , DSS2 ∼ DSS0 によって示されます。割込みは特定の終了原因でのみ 発生し , どの終了原因でも発生するわけではありません (bit18 ∼ bit16 に相当する DSS2 ∼ DSS0 を参照して ください ) 。 ERIE 機能 0 エラー割込み要求出力を禁止します ( 初期値 ) 。 1 エラー割込み要求出力を許可します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 [bit19] EDIE ( 終了割込み許可ビット ) このビットは , 正常終了したら割込みを発生させるかどうかを制御するものです。 EDIE 機能 0 終了割込み要求出力を禁止します ( 初期値 ) 。 1 終了割込み要求出力を許可します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 271 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit18 ∼ bit16] DSS2 ∼ DSS0 ( 停止要因表示ビット ) この各ビットは , 対応するチャネルで DMA 転送が停止または終了した要因を示す 3 ビットのコード ( 終了 コード ) です。終了コードの一覧については , 表 23.2-6 を参照してください。 表 23.2-6 エンドコード DSS 機能 割込み 000B 初期値 なし x01B アドレスエラー ( アンダフロー / オーバフロー ) エラー x10B 転送停止要求 エラー x11B 正常終了 終了 1xxB DMA 一時停止 ( 例えば , DMAH, PAUS ビット , 割込みなどのため ) なし 転送停止要求は , DSTP 機能が使用されている周辺機器または外部端子から要求されたときにのみ設定されま す。 割込みの列は , 発生可能な割込みのタイプを示しています。 • リセット時:"000B" に初期化されます。 • この各ビットは , "000B" を書き込むことによってクリアできます。 • この各ビットは , 読み書き可能です。有効な書込み値は "000B" のみです。 [bit15 ∼ bit8] SASZ7 ∼ SASZ0 ( 転送元アドレスカウントサイズ指定ビット ) * この各ビットは , 転送動作ごとに対応するチャネルの転送元アドレス (DMASA) の増減幅 ( インクリメント幅 またはデクリメント幅 ) を指定します。各ビットによって設定された値は , 転送単位ごとのアドレス増減幅に なります。アドレス増減は , 転送元アドレスカウントモード (SADM) の指定に従います。 SASZ XXH 機能 転送元アドレスの増減幅を指定します。"0" ∼ "255" の範囲で指定します。 • リセット時:初期化されません。 • この各ビットは , 読み書き可能です。 [bit7 ∼ bit0] DASZ7 ∼ DASZ0 ( 転送先アドレスカウントサイズ指定 ) * この各ビットは , 転送動作ごとに対応するチャネルの転送先アドレス (DMADA) の増減幅 ( インクリメント幅 またはデクリメント幅 ) を指定します。各ビットによって設定された値は , 転送単位ごとのアドレス増減幅に なります。アドレス増減は , 転送先アドレスカウントモード (DADM) の指定に従います。 DASZ XXH 機能 転送先アドレスのイ増減幅を指定します。"0" ∼ "255" の範囲で指定します。 • リセット時:初期化されません。 • この各ビットは , 読み書き可能です。 272 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ 23.2.3 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) は , DMAC チャネルの動 作を制御するものです。チャネルごとに独自のレジスタがあります。 このセクションでは , 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) の 構成および機能について説明します。 ■ 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビット構成 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) は , 転送元 / 転送先アド レスを格納するレジスタグループです。各レジスタは 32 ビット長です。 図 23.2-4 に , 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビット構 成を示します。 図 23.2-4 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビット構成 アドレス 001000H (ch.0) 001008H (ch.1) 001010H (ch.2) 001018H (ch.3) 001020H (ch.4) アドレス 001004H (ch.0) 00100CH (ch.1) 001014H (ch.2) 00101CH (ch.3) 001024H (ch.4) bit bit 31 15 30 14 29 13 28 12 27 11 26 10 25 9 bit 31 30 29 28 27 26 25 bit 15 14 13 12 11 10 9 24 23 22 21 DMASA[31:16] 8 7 6 5 DMASA[15:0] 20 19 18 17 16 24 23 22 21 DMADA[31:16] 8 7 6 5 DMADA[16:0] 20 19 18 17 16 4 3 2 1 0 初期値 XXXXXXXXXXXXXXXXB 4 3 2 1 0 XXXXXXXXXXXXXXXXB 初期値 XXXXXXXXXXXXXXXXB XXXXXXXXXXXXXXXXB 転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビットの詳細 ここでは , 各転送元 / 転送先アドレス設定レジスタ (DMASA0 ∼ DMASA4/DMADA0 ∼ DMADA4) のビットの 機能について説明します。 [bit31 ∼ bit0] DMASA31 ∼ DMASA0 (DMA 転送元アドレス設定ビット ) * この各ビットは , 転送元アドレスを設定するものです。 [bit31 ∼ bit0] DMADA31 ∼ DMADA0 (DMA 転送先アドレス設定ビット ) * この各ビットは , 転送先アドレスを設定するものです。 DMA 転送が始まると , このレジスタのデータが DMA 専用アドレスカウンタのカウンタバッファに格納され , 転送動作の設定に応じてアドレスが計算されます。DMA 転送が完了すると , まずカウンタバッファの内容がこ のレジスタに書き込まれ , その後 DMA が終了します。このため , DMA 動作中にアドレスカウンタの値を読み出 すことはできません。 どのレジスタにも , 専用のリロードレジスタがあります。転送元 / 転送先アドレスレジスタのリロードが許可 されているチャネルでこのレジスタを使用すると , 転送の完了時にレジスタに初期値が自動的に書き込まれます。 ほかのアドレスレジスタはそのままです。 • リセット時:初期化されません。 • この各ビットは , 読み書き可能です。このレジスタでは , 32 ビットデータとして各ビットにアクセスしてく ださい。 • 転送中に各ビットを読み出すと , 転送前のアドレスが読み出されます。転送後に各ビットを読み出すと , 次 のアクセスアドレスが読み出されます。リロード値を読み出すことはできないため , リアルタイムに転送アド レスを読み出すことはできません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 273 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ <注意事項> 転送アドレスレジスタを使用して DMAC 自身のレジスタのアドレスを設定しないでください。DMAC 自身 のレジスタに DMA 転送を行うことはできません。 23.2.4 DMAC 全チャネル制御レジスタ (DMACR) DMAC 全チャネル制御レジスタ (DMACR) は , 全部で 5 つある DMAC チャネルの動作を制御するものです。 本 レジスタには , バイト長単位でアクセスしてください。 このセクションでは , DMAC 全チャネル制御レジスタ (DMACR) の構成および機能について説明します。 ■ DMAC 全チャネル制御レジスタ (DMACR) のビット構成 図 23.2-5 に , DMAC 全チャネル制御レジスタ (DMACR) のビット構成を示します。 図 23.2-5 DMAC 全チャネル制御レジスタ (DMACR) のビット構成 bit アドレス 000240H 31 DMAE bit 15 - 30 14 - 29 28 - PM01 13 12 - 27 26 25 DMAH[3:0] 11 10 9 - 24 8 - 23 7 - 22 6 - 21 5 - 20 4 - 19 3 - 18 2 - 17 1 - 16 0 - 初期値 0XX00000XXXXXXXXB XXXXXXXXXXXXXXXXB ■ DMAC 全チャネル制御レジスタ (DMACR) のビットの詳細 ここでは , DMAC 全チャネル制御レジスタ (DMACR) ビットの機能について説明します。 [bit31] DMAE (DMA 動作許可ビット ) このビットは , 全 DMA チャネルの動作を制御するものです。 このビットで DMA 動作を禁止すると , 各チャネルの開始 / 停止設定および動作状態に関係なく , 全チャネルで 転送動作が禁止されます。転送中のチャネルがある場合は , 要求がキャンセルされ , ブロック境界で転送が停 止します。禁止状態の各チャネルでは , どの開始動作も禁止されます。 このビットで DMA 動作を許可すると , 各チャネルの開始 / 停止動作が許可されます。単にこのビットで DMA 動作を許可するだけでは , 各チャネルは起動されません。 このビットに "0" を書き込むと , 強制的に DMA 動作を停止できます。ただし , 強制的に ("0" の書込み ) 停止す るときは , まず , DMAH3 ∼ DMAH0 ビット (DMACR の bit27 ∼ bit24) を使用して DMA を一時的に停止してく ださい。一時的に DMA を停止せずに強制的に停止を実行すると , DMA は停止しますが , 転送データが保証さ れなくなります。DSS2 ∼ DSS0 ビット (DMACB の bit18 ∼ bit16) を使用して , DMA が停止しているかどう かを確認してください。 DMAE 機能 0 全チャネルで DMA 転送を禁止します ( 初期値 ) 。 1 全チャネルで DMA 転送を許可します。 • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 274 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.2 DMA コントローラ (DMAC) レジスタ MB91460N シリーズ [bit28] PM01 ( チャネル優先度反転ビット ) このビットは , 各転送で ch.0 と ch.1 の優先度を入れ換えるために設定します。 PM01 機能 0 優先度を固定します。(ch.0 > ch.1) ( 初期値 ) 1 優先度を入れ換えます。(ch.1 > ch.0) • リセット時:"0" に初期化されます。 • このビットは , 読み書き可能です。 [bit27 ∼ bit24] DMAH3 ∼ DMAH0 (DMA 一時停止ビット ) この各ビットは , 全 DMA チャネルの一時停止を制御するものです。各ビットが設定されている場合 , それぞれ のビットがクリアされるまで , どのチャネルでも DMA 転送が実行されなくなります。 各ビットが設定された後で DMA 転送が起動されると , 全チャネルが一時的に停止したままになります。 各ビットが設定されているときに , DMA 転送が許可されている (DENB=1) チャネルで転送要求が発生すると , い ずれの要求も許可されます。この全ビットをクリアすると , 転送を開始できます。 DMAH 0000B 0000B 以外 機能 全チャネルで DMA 動作を許可します ( 初期値 ) 。 全チャネルで DMA 動作を一時的に停止します。 • リセット時:"0" に初期化されます。 • この各ビットは , 読み書き可能です。 [bit30, bit29, bit23 ∼ bit0] 未定義ビット • この各ビットは未使用です。 • 読出し値は不定です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 275 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3 DMA コントローラ (DMAC) の動作 FR ファミリの DMAC は , CPU 命令を使用せずに高速でデータ転送を制御する多機能 DMAC です。 DMAC の動作について説明します。 ■ 主要な動作 • 転送チャネルは独立に各種機能を設定できます。 • 各チャネルは転送開始を許可しても直ちに転送動作するわけではなく , 指定の転送要求が検出されて初めて転 送動作を開始します。 • 転送要求が検出されると , DMA 転送要求がバスコントローラに出力され , バスコントローラによりバス権 を取得して転送を開始します。 • 使用するチャネルに独自に設定されるモード設定に従って , 転送が連続して実行されます。 ■ 転送モード DMACB レジスタの MOD1, MOD0 ビットで設定した転送モードに従って , 各 DMA チャネルが転送を実行しま す。 ● ブロック / ステップ転送 1 回の転送要求に応えて , 1 つのブロック転送単位のみが転送されます。DMA はその後 , 次に転送要求を受け 取るまで , バスコントローラに対する転送要求を停止します。 ブロック転送単位は , 指定のブロックサイズ (DMACA の BLK3 ∼ BLK0 ビット ) になります。 ● バースト転送 1 回の転送要求に応えて , 指定の転送数だけ連続されます。 指定の転送回数は , 転送回数 (DMACA の BLK3 ∼ BLK0 ビットと DMACA の DTC15 ∼ DTC0 ビットを掛けた もの ) × ブロックサイズになります。 ■ 転送タイプ ● 2 サイクル転送 ( 通常の転送 ) 読出し動作および書込み動作を動作単位として , DMA コントローラが動作します。 データは , 転送元レジスタに格納されているアドレスから読み出され , 転送先レジスタに格納されている別の アドレスに書き込まれます。 ■ 転送アドレス 以下のアドレッシングが用意されており , チャネルの転送元および転送先ごとに独自に設定できます。 2 サイクル転送とフライバイ転送とでは , アドレス設定レジスタ (DMASA/DMADA) の指定方法が異なります。 ● 2 サイクル転送のアドレス指定 あらかじめアドレスを設定しているレジスタ (DMASA/DMADA) から読み出された値は , アクセス用のアドレス として使用されます。DMA は , 転送要求を受信すると , レジスタのアドレスを一時記憶バッファに格納してか ら転送を開始します。 転送 ( アクセス ) 動作のたびに , アドレスカウンタによって次のアクセスアドレスが作成され ( インクリメン ト / デクリメント / 固定を選択可能 ), 一時記憶バッファに書き込まれます。ブロック転送単位が完了するたび に一時記憶バッファの内容がレジスタ (DMASA/DMADA) に書き込まれるため , ブロック転送単位が完了するた びにアドレスレジスタ (DMASA/DMADA) 値が更新されます。このため , 転送中にアドレスを判別することは できません。 276 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ ■ 転送回数および転送終了 ● 転送回数 ブロック転送単位が完了するたびに , 転送回数レジスタがデクリメント ( − 1) されます。転送回数レジスタが "0" になると , 指定の転送に関するカウントが終了し , 終了コードが表示されて転送が停止するか , または転送 が再開されます *。 転送回数レジスタの値はアドレスレジスタと同じく , ブロック転送単位のたびに更新されます。 *: 転送回数レジスタのリロードが禁止されている場合には , 転送が終了します。リロードが許可されている場 合には , レジスタ値が初期化され , 転送を待機する状態になります (DMACB の DTCR) 。 ● 転送終了 転送終了の要因は以下のとおりです。転送が終了すると , 終了コードとして要因が示されます (DMACB の DSS2 ∼ DSS0 ビット ) 。 • 指定の転送回数の終了 (DMACA:BLK3 ∼ BLK0 ビット × DMACA:DTC15 ∼ DTC0 ビット ) => 正常終了 • 周辺回路または外部端子 (DSTP) からの転送停止要求の発生 => エラー • アドレスエラーの発生 => エラー • リセットの発生 => リセット 転送停止要因が示され (DSS), 終了要因による転送終了割込みまたはエラー割込みが発生します。 23.3.1 転送要求の設定 DMA 転送を起動にするため , 以下の 2 種類の転送要求が用意されています。 • 内蔵周辺機器の要求 • ソフトウェアの要求 ソフトウェアの要求は , ほかの要求の設定に関係なくいつでも使用できます。 ■ 内蔵周辺機器の要求 内蔵周辺回路からの割込みによって , 転送要求が発生します。 チャネルごとに, 転送要求を発生させる周辺機器の割込みを設定します (DMACAのIS4∼IS0ビットが"1xxxxB" の場合 ) 。 内蔵周辺機器の要求を外部転送要求と併用することはできません。 <注意事項> 転送要求で使用される割込み要求が CPU への割込み要求に似ているため , 割込みコントローラからの割込 みを禁止してください (ICR レジスタ ) 。 ■ ソフトウェアの要求 レジスタのトリガビット (DMACA の STRG ビット ) に書き込むことによって , 転送要求が発生します。 ソフトウェアの要求は , 外部転送要求端子および内蔵周辺機器の要求から独立しており , いつでも要因になり えます。 ソフトウェアの要求が開始 ( 転送許可 ) 要求と共に発生した場合には , DMA 転送要求がバスコントローラに直 接出力されると転送が始まります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 277 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3.2 転送シーケンス DMA 転送の開始後の動作シーケンスを決定づける転送タイプおよび転送モードをチャネルごとに独自に設定 できます (DMACB の TYPE1, TYPE0 ビットおよび MOD1, MOD0 ビットに関する設定 ) 。 ■ 転送シーケンスの選択 レジスタの設定では , 以下のシーケンスを選択できます。 • バースト 2 サイクル転送 • ブロック / ステップ 2 サイクル転送 ● バースト 2 サイクル転送 バースト 2 サイクル転送では , 転送回数レジスタに指定された回数の転送が転送元ごとに連続して実行されま す。2 サイクル転送の場合 , 転送元 / 転送先アドレスを使用して , どの 32 ビット領域でも指定できます。 周辺機器の転送要求 , ソフトウェアの転送要求 , または外部端子 (DREQ) エッジ入力検出要求を転送元として 選択できます。 表 23.3-1 指定可能な転送アドレス ( バースト 2 サイクル転送 ) 転送元アドレッシング 方向 転送先アドレッシング すべての 32 ビット領域が指定可能 → すべての 32 ビット領域が指定可能 バースト転送には , 以下のような特長があります。 1 回の転送要求が届くと , 転送回数レジスタが "0" になるまで , 転送が連続して実行されます。 転送回数は , 転送回数レジスタ値にブロックサイズを掛けたもの (DMACA の BLK3 ∼ BLK0 ビットと DMACA の DTC15 ∼ DTC0 ビットを掛けたもの ) になります。 転送中に発生したほかの要求は無視されます。 転送回数レジスタのリロード機能が許可されている場合には , 転送が終了すると , 次の要求が受付けられます。 優先度が高い別のチャネル向けの転送要求が転送中に届くと , ブロック転送単位の境界でそのチャネルに切り 換えられます。そのチャネル向けの転送要求がクリアされない限り , 処理は再開されません。 図 23.3-1 外部端子の立上りエッジ , ブロック数 1, および転送カウント 4 で開始されるバースト転送の例 転送要求( 立上りエッジ) バス動作 転送回数 CPU SA DA 4 SA DA 3 SA DA 2 SA DA 1 CPU 0 転送終了 278 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ ● ステップ / ブロック転送 2 サイクル転送 ステップ/ブロック転送 (転送要求ごとに指定のブロックカウントの回数だけ転送が実行されます) では, 転送元/ 転送先アドレスとして , どの 32 ビット領域でも指定できます。 表 23.3-2 指定可能な転送アドレス ( ステップ / ブロック転送 2 サイクル転送 ) 転送元アドレッシング 方向 転送先アドレッシング すべての 32 ビット領域が指定可能 → すべての 32 ビット領域が指定可能 [ ステップ転送 ] ブロックサイズとして "1" が設定されると , ステップ転送シーケンスが作成されます。 ステップ転送には , 以下のような特長があります。 • 転送要求が届くと , 1 回の転送動作後 , 要求がクリアされ , 転送が停止します ( バスコントローラへの DMA 転送要求がキャンセルされます ) 。 • 転送中に発生したほかの要求は無視されます。 • 優先度が高い別のチャネル向けの転送要求が転送中に届くと , いったん転送が停止してから再開した後 , そ のチャネルに切り換えられます。ステップ転送の優先度は , 転送要求がいくつか同時に発生した場合にのみ有 効になります。 [ ブロック転送 ] ブロックサイズとして "1" 以外の有効な値が指定されると , ブロック転送シーケンスが作成されます。 ブロック転送には , 以下のような特長があります。 • ブロック転送の特長はステップ転送と似ていますが , 1回の転送単位が複数の転送サイクル数 ( ブロック数 ) で構成されている点が異なります。 図 23.3-2 立上りエッジの外部端子 , ブロック数 2, および転送カウント 2 で開始されるブロック転送の例 転送要求( 立上りレベル) バス動作 ブロック数 転送回数 CPU SA DA SA 2 DA 1 CPU 0 2 SA DA SA 2 DA 1 1 転送終了 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 279 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3.3 DMA 転送の概要 DMA 転送のブロックサイズおよびリロード動作について説明します。 ■ ブロックサイズ • 転送データの単位およびインクリメントは , データのセット ( ブロックサイズ指定レジスタに設定されてい る数とデータ幅を掛けたもの ) です。 • データ幅として指定されている値によって 1 回の転送サイクルで転送されるデータ量が決まるため , 1 回の 転送単位は指定のブロックサイズで転送されるサイクルの数になります。 • 優先度の高い転送要求が転送中に届いた場合 , または転送の一時停止要求が発生した場合には , 転送がブロッ ク転送かどうかに関係なく , 転送単位の境界でのみ転送が停止します。このため , データを分割したり一時 停止することが望ましくない場合でもデータを確実に保護できます。ただし , ブロックサイズが大きい場合 には , 応答時間が遅くなります。 • リセットが発生したときにのみ , 転送データが保証されなくなるため転送が直ちに停止します。 ■ リロード動作 このモジュールでは , チャネルごとに以下の 3 種類のリロードを設定できます。 ● 転送回数レジスタのリロード 指定の回数だけ転送が実行されると , 転送回数レジスタに初期値が設定され , 開始要求を待機する状態になり ます。 転送シーケンス全体を繰り返し実行するときには , この種のリロードを設定してください。 リロードを指定しないと , 指定の回数だけ転送が実行された後転送回数レジスタ値が 0 のままになり , それ以 上転送が実行されなくなります。 ● 転送元アドレスレジスタのリロード 指定の回数だけ転送が実行されると , 転送元アドレスレジスタに初期値が設定されます。 転送元アドレス領域の固定領域から転送を繰り返すときには , この種のリロードを設定してください。 リロードを指定しないと , 指定の回数だけ転送が実行された後 , 転送元アドレスレジスタ値が次のアドレスに なります。アドレス領域が固定されていないときには , この種のリロードを使用してください。 ● 転送先アドレスレジスタのリロード 指定の回数だけ転送が実行されると , 転送先アドレスレジスタに初期値が設定されます。 転送先アドレス領域の固定領域に転送を繰り返すときには , この種のリロードを設定してください。 ( 以後の処理は上記の「転送元アドレスレジスタのリロード」の説明と同じです。) • 転送元 / 転送先レジスタのリロードのみが許可されている場合には , 指定の回数だけ転送が実行された後の 再開が実装されず , 各アドレスレジスタの値のみが設定されます。 280 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ ● 動作モードおよびリロード動作の特殊な例 • データ転送が終了したら処理を停止し , 再び入力が検出されたら処理を再開することが望ましい場合には , リロードを指定しないでください。 • バースト , ブロック , ステップの各転送モードの転送では , リロード後データ転送が終了すると転送が一時的 に停止します。新しい転送要求入力が検出されるまで , 転送は開始されません。 23.3.4 アドレッシングモード 転送チャネルごとに独自に転送先 / 転送元アドレスを指定してください。 ■ アドレスレジスタ指定 アドレスレジスタを指定する方法には , 以下の 2 つがあります。いずれの方法で指定するかは , 転送シーケンス によります。 • 2 サイクル転送モードでは , 転送元アドレス設定レジスタ (DMASA) に転送元アドレスを設定し , 転送先ア ドレス設定レジスタ (DMADA) に転送先アドレスを設定します。 ■ アドレスレジスタの特長 このレジスタは最大 32 ビット長です。32 ビット長の場合 , メモリマップの全空間にアクセスできます。 ■ アドレスレジスタの機能 • アクセス操作ごとにアドレスレジスタが読み出され , 読出し値がアドレスバスに送られます。 • それと同時に , 次のアクセス用のアドレスがアドレスカウンタで計算され , アドレスレジスタが計算後のア ドレスで更新されます。 • アドレスの計算では , チャネル , 転送先 , および転送元ごとに独自にインクリメントまたはデクリメントが 選択されます。アドレスインクリメント / デクリメントの幅は , アドレスカウントサイズレジスタ (DMACB の SASZ/DASZ) で指定します。 • リロードが禁止されている場合には , 転送が終了したとき , 最後に計算されたアドレスがアドレスレジスタ に残ります。 • リロードが許可されている場合には , アドレスの初期値がリロードされます。 <注意事項> • 32 ビット長フルアドレス計算の結果オーバフローまたはアンダフローが発生した場合には , アドレスエ ラーが検出され , エラー元のチャネルでの転送が停止します。終了コードに関する項目の説明を参照し てください。 DMAC のどのレジスタもアドレスレジスタに設定しないでください。 • DMAC のどのレジスタにもデータが転送されないようにしてください。 • CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 281 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3.5 データタイプ 1 回の転送動作で転送されるデータ長 ( データ幅 ) を以下の中から選択します。 • バイト • ハーフワード • ワード ■ データ長 ( データ幅 ) DMA 転送ではワード境界指定も監視されるため , 転送先 / 転送元アドレスにデータ長の異なるアドレスを指定 すると , 異なる下位ビットが無視されます。 • バイト:実際のアクセスアドレスおよびアドレッシングが一致します。 • ハーフワード:実際のアクセスアドレスは , 下位 1 ビットが "0" で始まる 2 バイト長になります。 • ワード:実際のアクセスアドレスは , 下位 2 ビットが "00" で始まる 4 バイト長になります。 転送元アドレスと転送先アドレスとで最下位ビットが異なる場合には , 両アドレスがセットになって内部アド レスバスに出力されます。ただし , 上記規則に従ってアドレスが修正されると , バス上のそれぞれの転送対象 がアクセスされます。 23.3.6 転送回数制御 転送回数は , 最大 16 ビット長の範囲内 ("1" ∼ "65536") で指定します。 ■ 転送回数制御 転送回数レジスタ (DMACA の DTC) に転送回数を設定します。 転送が始まり , 転送回数の分だけデクリメントされると , レジスタ値が一時記憶バッファに格納されます。転 送回数の値が "0" になると , 指定回数の転送終了が検出され , 通常はチャネルでの転送が終了しますが , リロード が指定されている場合には再開要求を待機する状態になります。 転送回数レジスタのグループには , 以下のような特長があります。 • 各レジスタは 16 ビット長です。 • どのレジスタにも , 専用のリロードレジスタがあります。 • レジスタ値が "0" になって転送が起動されると , 転送が 65536 回実行されます。 282 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 MB91460N シリーズ 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 ■ リロード動作 • リロード動作は , リロードを許可するレジスタでリロードが許可されている場合にのみ使用できます。 • 転送が起動されると , 転送回数レジスタの初期値がリロードレジスタに保存されます。 • 転送回数が 0 までカウントダウンされると , 転送の終了が通知され , 初期値がリロードレジスタから読み出 されて転送回数レジスタに書き込まれます。 23.3.7 CPU 制御 DMA 転送要求が受付けられると , DMA が転送要求をバスコントローラに発行します。 バスコントローラがバス動作の分岐で内部バスの使用権を DMA に渡し , DMA 転送が始まります。 ■ DMA 転送と割込み • 一般に , DMA 転送中は転送が終了するまで割込みが受付けられません。 • 割込み処理中に DMA 転送要求が発生した場合には , その転送要求が受付けられ , 転送が完了するまで割込 み処理が停止します。 • ただし , 割込みコントローラで設定されているホールド抑止レベルよりも高いレベルの NMI 要求または割 込み要求が発生した場合は例外であり , DMAC が転送単位境界 (1 ブロック ) でバスコントローラ経由の転送 要求を一時的にキャンセルして , 割込み要求がクリアされるまで一時的に転送を停止します。その間 , 転送 要求は内部で保持されます。割込み要求がクリアされると , DMAC は転送要求をバスコントローラに再発行 して , バスの使用権を取得し , DMA 転送を再開します。 ■ DMA の抑止 DMA 転送中に優先度の高い割込み要因が発生すると , FR ファミリデバイスが DMA 転送に割込み , 適切な割 込みルーチンに分岐します。この機能は , 何らかの割込み要求がある場合に限り有効に働きます。割込み要因 がすべてクリアされると , 抑止機能が働かなくなり , 割込み処理ルーチンによって DMA 転送が再開されます。 このため , 割込み要因処理ルーチンで割込み要因をクリアした後 , DMA 転送に割込むレベルで DMA 転送の再 開を抑止する場合には , DMA 抑止機能を使用してください。DMA 抑止機能を使用するには DMA 全チャネル 制御レジスタの DMAH3 ∼ DMAH0 ビットに "0" 以外の値を書き込み , DMA 抑止機能を停止するにはその同じ ビットに "0" を書き込みます。 この機能は , 主に割込み処理ルーチンで使用します。割込み処理ルーチンで割込み要因をクリアする前に , DMA 抑止レジスタを 1 だけインクリメントします。これを行うと , DMA 転送が実行されません。割込み処理が終了 したら , 戻る前に DMAH3 ∼ DMAH0 ビットを "1" だけデクリメントします。割込みがいくつか同時に発生した場 合には , DMAH3 ∼ DMAH0 ビットがまだ 0 ではないため , DMA 転送が抑止されたままになります。割込みが 1 つだけ発生した場合には , DMAH3 ∼ DMAH0 ビットが "0" になります。DMA 要求が直ちに許可されます。 <注意事項> • • このレジスタには 4 ビットしかないため , 15 レベルを超える複数の割込みにはこの機能を使用できませ ん。 ほかの割込みレベルよりも 15 レベル以上高いレベルで DMA タスクの優先度を割り当ててください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 283 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3.8 開始から終了 / 停止までの動作 DMA転送の開始はチャネルごとに独自に制御されますが, 転送が始まる前に全チャネルの動作を許可しておく 必要があります。このセクションでは , 開始から終了 / 停止までの動作について説明します。 ■ 動作開始 ● 全チャネルの動作の許可 各 DMAC チャネルを起動する前に , DMA 動作許可ビット (DMACR の DMAE ビット ) で全チャネルの動作を 許可しておく必要があります。動作を許可する前の開始設定および転送要求はすべて無効になります。 ● 転送開始 各チャネルに対応した制御レジスタの動作許可ビットによって , 転送動作を開始できます。起動されたチャネ ルへの転送要求が受付けられると , DMA 転送動作が指定のモードで始まります。 ● 一時停止からの開始 チャネル単位制御または全チャネル制御で始まる前に一時停止が発生した場合には , 転送動作が始まっていて も , 一時停止状態が保持されます。その間に転送要求が発生すると , そのいずれの要求も受付けられ , 保持さ れます。一時停止が解除されると , 転送が始まります。 ■ 転送要求の受付と転送 開始後 , チャネルごとに設定されている転送要求のサンプリングが始まります。 外部端子開始要因にエッジ検出が選択されており, かつ転送要求が検出されると, クリア条件が満たされる (ブ ロック転送 , ステップ転送 , またはバースト転送に外部端子開始要因が選択される ) まで , 要求が DMAC 内に 保持されます。 外部端子開始要因にレベル検出または周辺割込みが選択されていると , 転送要求がすべてクリアされるまで , 転送が連続して実行されます。要求がすべてクリアされると , 1 回の転送単位の後 , 転送が停止します ( 周辺割込 みが始まります ) 。 周辺割込みはレベル検出として処理されるため , DMA による割込みクリアを使用して処理してください。 転送要求は , ほかのチャネルの要求が受付けられ , 転送が実行されている間でも , 常に受付けられます。どの チャネルが転送に使用されるかは , 優先度がチェックされた後 , 転送単位ごとに決定されます。 ■ DMA による周辺割込みのクリア DMA には , 周辺割込みをクリアする機能があります。この機能は , 周辺割込みが DMA 開始要因として選択さ れているとき (IS4 ∼ IS0 ビットが "1xxxxB" のとき ) に働きます。 周辺割込みは設定された開始要因に関してのみクリアされます。つまり , IS4 ∼ IS0 ビットで設定された周辺 機能のみがクリアされます。 割込みをクリアするタイミングは , 転送モードによって異なります (「23.4 動作フローチャート」を参照してく ださい ) 。 • ブロック / ステップ転送:ブロック転送が選択されている場合には , 1 回のブロック ( ステップ ) 転送後に クリア信号が発生します。 • バースト転送:バースト転送が選択されている場合には , 指定の回数だけ転送が実行された後にクリア信号 が発生します。 284 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ ■ 一時停止 以下の場合には , DMA 転送が一時的に停止します。 ● 制御レジスタへの書込みによる一時停止の設定 (チャネルごとに独自に設定するか, または全チャ ネル同時に設定します ) 一時停止ビットによって一時停止が設定されると , 一時停止の解除が再度設定されるまで , 対応するチャネル で転送が停止します。DSS ビットをチェックすれば一時停止かどうかがわかります。 ● ホールド抑止レベル割込み処理 ホールド抑止レベルよりも高いレベルの割込み要求が発生すると , 転送を実行中の全チャネルが転送単位の境 界で一時的に停止し , 割込み処理に優先度を付与するためバス権が返されます。割込み処理中に受付けられた 転送要求は保持され , 割込み処理の完了を待機する状態になります。 割込み処理が完了すると , 要求が保持されているチャネルでは転送が再開されます。 ■ 動作終了 / 停止 DMA 転送の終了は , チャネルごとに独自に制御されます。また , 全チャネルの動作を一度にまとめて禁止する こともできます。 ● 転送終了 リロードが禁止されている場合には , 転送回数レジスタが "0" になると (DMACA の DENB ビットがクリアされ ます ), 転送が停止し , 終了コードとして「正常終了」が表示され , 転送要求がすべて禁止されます。 リロードが許可されている場合には , 転送回数レジスタが "0" になると (DMACA の DENB ビットがクリアされ ません ), 初期値がリロードされ , 終了コードとして「正常終了」が表示され , 転送要求を待機する状態になり ます。 ● 全チャネルの禁止 DMA 動作許可ビット DMAE で全チャネルの動作が禁止されている場合には , 起動しているチャネルの動作を 含めすべての DMAC 動作が停止します。その後 , 全チャネルの動作が再び許可されても , チャネルが再開され ない限り , 転送は実行されません。この場合 , どのようなことがあっても割込みは発生しません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 285 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ ■ エラーによる停止 指定の回数だけ転送が実行されて正常に終了するほか , さまざまなエラーおよび強制停止のために転送が停止 することもあります。 ● 周辺回路からの転送停止要求 エラー ( 例:通信系周辺機器からのデータの送受信時のエラー ) が検出されると , 転送要求を出力する周辺回路 に応じて , 転送停止要求が発行されます。 DMAC は , このような転送停止要求を受け取ると , 終了コードとして「転送停止要求」を表示し , 対応するチャ ネルで転送を停止します。 表 23.3-3 エラーによる停止 IS EIS 機能 転送停止要求 10110B 11000B 0000B 0000B LIN-USART 0 RX * LIN-USART 1 RX * あり あり 10000B 10010B 10100B 10110B 0011B 0011B 0011B 0011B LIN-USART 0 RX * LIN-USART 1 RX * LIN-USART 2 RX * LIN-USART 3 RX * あり あり あり あり その他 その他 なし * エラーが検出されると , 転送停止要求が発行されます。 転送停止要求が生成される条件の詳細については , 各周辺回路の仕様を参照してください。 ■ アドレスエラーの発生 以下のかっこに示されているように , アドレッシングモードで不適切なアドレッシングが発生すると , アドレ スエラーが検出されます (32 ビットアドレスを指定したときにアドレスカウンタでオーバフローまたはアンダ フローが発生した場合 ) 。 アドレスエラーが検出されると , 終了コードとして「アドレスエラーの発生」が表示され , 対応するチャネル で転送が停止します。 286 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3.9 DMAC 割込み制御 転送要求になる周辺割込みとは別に , DMAC チャネルごとに割込みを出力することもできます。 ■ DMAC 割込み制御 DMAC チャネルごとに以下の割込みを出力できます。 • 転送終了割込み:動作が正常に終了したときにのみ発生します。 • エラー割込み:周辺回路による転送停止要求 ( 周辺機器によるエラー ) • エラー割込み:アドレスエラーの発生 ( ソフトウェアによるエラー ) このような割込みはいずれも , 終了コードの意味に従って出力されます。 割込み要求は , DMACS の DSS2 ∼ DSS0 ( 終了コード ) に "000B" を書き込むことによってクリアできます。 再開する前に , 000B を書き込んで終了コードをクリアしてください。 リロードが許可されている場合には , 転送が自動的に再開します。ただし , この時点ではまだ終了コードがク リアされません。次の転送が終了して新しい終了コードが書き込まれるまで保持されます。 終了コードに表示できる終了要因は 1 つのみであるため , 要因がいくつか同時に発生した場合には優先度が考 慮されたうえで結果が表示されます。この時点で発生した割込みは , 表示された終了コードに準拠したものに なります。 終了コードを表示する優先度は以下のとおりです ( 優先度の高い順に並んでいます ) 。 • リセット • "000B" 書込みによるクリア • • • • 周辺機器停止要求 正常終了 アドレスエラー検出時の停止 チャネルの選択および制御 ■ スリープ中の DMA 転送 • DMAC は , スリープモードでも動作することができます。 • スリープモードでも動作させる場合には , 以下の点に注意してください。 • CPU が停止しているため , DMAC レジスタを書き換えることができません。スリープモードに入る前に設 定を行ってください。 • スリープモードは割込みがあると解除されます。このため , DMAC 開始要因として周辺割込みが選択されて いる場合には , 割込みコントローラで割込みを禁止する必要があります。 • DMAC 終了割込みでスリープモードを解除しないようにする場合には , このような割込みを禁止してくださ い。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 287 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ 23.3.10 チャネルの選択および制御 最大 5 つのチャネルを同時に転送チャネルに設定できます。一般に , チャネルごとに独自の機能を設定できま す。 ■ チャネル間の優先度 DMA 転送は一度に 1 つのチャネルでのみ可能であるため , 各チャネルに優先度を設定する必要があります。 優先度の設定として固定と循環の 2 つのモードが用意されており , チャネルグループ ( 後述 ) ごとにいずれか を選択できます。 ● 固定モード 優先度がチャネル番号で固定されています。ch.0 から ch.4 へと優先度が低くなっていきます。 (ch.0>ch.1>ch.2>ch.3>ch.4) 転送中に優先度の高い転送要求が届くと , 転送単位 ( ブロックサイズ指定レジスタに設定されている数にデー タ幅をかけたもの ) の転送が終了した時点で , 優先度の高いチャネルが転送チャネルになります。 優先度の高い転送が完了すると , 元のチャネルで転送が再開されます。 図 23.3-3 固定モードのタイミング例 ch.0転送要求 ch.1転送要求 バス動作 CPU SA 転送チャネル DA ch.1 SA DA ch.0 SA DA ch.0 SA DA CPU ch.1 ch.0転送終了 ch.1転送終了 ● 反転モード (ch.0 から ch.1 のみ ) 動作が許可されている場合 , 初期状態の優先度は固定モードと同じですが , 転送動作が終了するたびにチャネ ルの優先度が逆転します。このため , 複数の転送要求が同時に出力される場合には , 転送単位のたびにチャネ ルが切り換えられます。 反転モードは , 連続転送またはバースト転送が設定されているときに効果的です。 図 23.3-4 循環モードのタイミング例 ch.0転送要求 ch.1転送要求 バス動作 転送チャネル CPU SA DA ch.1 SA DA ch.0 SA DA ch.1 SA DA CPU ch.0 ch.0転送終了 ch.1転送終了 288 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.3 DMA コントローラ (DMAC) の動作 MB91460N シリーズ ■ チャネルグループ 優先度は , 下表のように設定されます。 モード 優先度 備考 固定 ch.0 > ch.1 − ch.0 > ch.1 初期状態は最上列です。 最上列の転送が発生すると , 優先度が逆転し ます。 反転 ch.0 < ch.1 23.3.11 内部動作タイミングに関する補足 このセクションでは , 内部動作タイミングに関する補足情報を示します。 ■ ブロック転送中に別の転送要求が発生した場合 指定のブロックの転送が完了する前に , 要求が検出されることはありません。完了前に受付けられた転送要求 はブロック境界で評価され , 優先度の高いチャネルで転送が実行されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 289 第 23 章 DMA コントローラ 23.4 動作フローチャート MB91460N シリーズ 23.4 動作フローチャート 以下の転送モードに関する動作フローチャートについて説明します。 • ブロック転送 • バースト転送 ■ ブロック転送 図 23.4-1 に , ブロック転送の動作フローチャートを示します。 図 23.4-1 ブロック転送の動作フローチャート DMAを停止する DENB→0 DENB=1 起動要求を待機する リロード許可 起動要求 初期アドレス, 転送回数, およびブロック数を ロードする 転送元アドレスアクセス用の アドレスを計算する フライバイでは1回のアクセス 転送先アドレスアクセス用の アドレスを計算する ブロック数 - 1 BLK=0 転送回数 - 1 アドレス, 転送回数, およびブロック数を 書込む 周辺割込み起動要因が 選択されているときのみ 割込みがクリアされる 割込みのクリア DTC=0 DMA転送が終了する DMA割込み ブロック転送 - どの起動要因でも起動することができます(選択)。 - どの領域にもアクセスできます。 - ブロック数を設定できます。 - 指定のブロック数の転送が完了すると, 割込みクリアが発行されます。 - 指定の回数だけ転送が完了すると, DMA割込みが発行されます。 290 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 23 章 DMA コントローラ 23.4 動作フローチャート MB91460N シリーズ ■ バースト転送 図 23.4-2 に , バースト転送の動作フローチャートを示します。 図 23.4-2 バースト転送の動作フローチャート DMAを停止する DENB→0 DENB=1 起動要求を待機する リロード許可 初期アドレス, 転送回数, およびブロック数を ロードする 転送元アドレスアクセス用の アドレスを計算する フライバイでは1回のアクセス 転送先アドレスアクセス用の アドレスを計算する ブロック数 - 1 BLK=0 転送回数 - 1 DTC=0 アドレス, 転送回数, およびブロック数を 書込む 割込みのクリア 周辺割込み起動要因が選択 されているときのみ 割込みがクリアされる DMA転送が終了する DMA割込み バースト転送 - どの起動要因でも起動することができます(選択)。 - どの領域にもアクセスできます。 - ブロック数を設定できます。 - 指定の回数だけ転送が完了すると, 割込みクリアおよび DMA割込みが発行されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 291 第 23 章 DMA コントローラ 23.5 データバス MB91460N シリーズ 23.5 データバス このセクションでは , 2 サイクル転送およびフライバイ転送時のデータの流れを示します。 ■ 2 サイクル転送時のデータの流れ 図 23.5-1 に , 2 サイクル転送時の 6 種類の転送の例を示します。 図 23.5-1 2 サイクル転送の例 内蔵I/O領域=>内部RAM領域転送 D-bus MB91460N シリーズ 書込みサイクル I-bus DMAC CPU CPU MB91460N シリーズ 読出しサイクル I-bus バスコントローラ データバッファ バスコントローラ D-bus データバッファ F-bus RAM DMAC F-bus I/O RAM I/O 内部RAM領域=>内蔵I/O領域転送 D-bus MB91460N シリーズ 書込みサイクル I-bus DMAC CPU CPU MB91460N シリーズ 読出しサイクル I-bus バスコントローラ データバッファ D-bus F-bus RAM 292 DMAC バスコントローラ データバッファ F-bus I/O FUJITSU MICROELECTRONICS LIMITED RAM I/O CM71-10149-1 第 24 章 遅延割込み 24.1 概要 MB91460N シリーズ 第 24 章 遅延割込み 24.1 概要 遅延割込み ( 遅延割込みモジュール ) は , タスク切換え用の割込みを発生させる場合に使用します。 遅延割込み 制御回路 割込み要求(#63) ソフトウェア要求 24.2 特長 • タイプ:割込み要求ビット ( 割込み要求許可ビットはありません ) • 個数: 1 • その他: • ソフトウェアによって割込み要求の発生および解除が行われます。 • リアルタイム OS では , タスク切換えに遅延割込みが使用されます。 24.3 構成 図 24.3-1 構成図 遅延割込み 遅延割込み制御ビット DICR: ビット0 DLYI 読出し 書込み 0 割込みなし 0 遅延割込み解除 1 割込みあり 1 遅延割込み要求 遅延割込み制御回路 割込み要求(#63) 図 24.3-2 レジスタ一覧 遅延割込み アドレス bit 00038H 7 --- 6 --- 5 --- 4 --- 3 --- 2 --- 1 --- 0 DLYI DICR(遅延割込み制御) 00457H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR23(割込みレベル) 0046FH --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR47(割込みレベル) またはIOS[0] := 1を設定 アドレス 0FFF00H CM71-10149-1 32ビット FUJITSU MICROELECTRONICS LIMITED (割込みベクタ#63) 293 第 24 章 遅延割込み 24.4 レジスタ MB91460N シリーズ 24.4 レジスタ 24.4.1 DICR:遅延割込み制御レジスタ このレジスタでは , 遅延割込みの発生 / 解除が制御されます。 • DICR:アドレス 000038H ( アクセス:バイト ) bit 7 − − RX/WX 6 5 4 3 2 1 0 − − RX/WX − − RX/WX − − RX/WX − − RX/WX − − RX/WX − − RX/WX DLYI 0 R/W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit1] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は不定です。 [bit0] DLYI: ( 遅延割込み制御ビット ) DLYI 読出し動作 書込み動作 0 遅延割込み要求なし 遅延割込み要求解除 1 遅延割込み要求あり 遅延割込み要求発生 24.5 動作 図 24.5-1 遅延割込み 優先割込み (4) 遅延 (5) 遅延割込み (6) タスクA OS (7) タスクB (1) タスクディスパッチ要求が生成されます。 (2) ディスパッチ先の設定(遅延リターン先) (3) 遅延割込み要求の設定(生成) (1) OS で , タスク B ディスパッチ要求が発生します。 (2) OS によって , 遅延割込みリターン先 ( ディスパッチ先 ) が設定されます。 (3) OS によって , 遅延割込み ( 遅延割込み発生 ) が設定されます。 (4) OS リターン時 , OS では割込みサービスが禁止されているため , 最優先シーケンスの割込みが発生します。 (5) 最優先の割込みが完了すると , 遅延割込みが発生します。 (6) 遅延割込みで , 遅延割込みが解除されます。 (7) 遅延割込みからのリターン ( タスク B へディスパッチ ) 294 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 24 章 遅延割込み 24.6 設定 MB91460N シリーズ 24.6 設定 遅延割込み発生 / 解除には , テーブル設定が必要となります。 表 24.6-1 遅延割込み発生 / 解除に必要な設定 設定 設定手順* 設定レジスタ 「第 21 章 割込み制御」を参照してください。 遅延割込みベクタ 遅延割込み設定 割込み要求の発生 / 割込み要求の解除 遅延割込み制御レジスタ (DICR) 24.7.1 項 24.7.2 項 * 設定手順については , 該当の項目を参照してください。 24.7 Q & A 24.7.1 割込み関連レジスタとは ? 遅延割込みベクタおよび割込みレベルの設定 以下の表に , 遅延割込みレベルと遅延割込みベクタの関係を示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 割込みベクタ ( デフォルト ) 割込みレベル設定ビット (ICR4 ∼ ICR0) #63 アドレス:0FFF00H 割込みレベルレジスタ (ICR23) アドレス:000457H 割込み要求ビット (DICR:DLYI) は自動的に解除できないため , 割込みサービスから戻る前にソフトウェアに よって解除される必要があります (DLYI ビットに "0" を書き込みます ) 。 備考:必要に応じて , REALOS 互換のために REALOS 互換性ビット ( アドレス 0C03H : IOS0) を設定し , ICR23 と ICR47 を交換できます。 24.7.2 割込み要求の発生および解除を行うには ? 遅延割込み要求ビット (DICR:DLYI) によって , この機能が実行されます。 遅延割込み制御ビット (DLYI) 割込み要求の解除 値を "0" に設定します。 割込み要求の発生 値を "1" に設定します。 遅延割込みには , ほかの周辺マクロ用に設計された割込み要求許可ビットがありません。 24.8 注意事項 • 遅延割込み要求ビットは , 汎用割込み要求フラグと同じです。タスクの切換えに加えて割込みルーチンの遅 延割込み要求ビットのクリアを行うには , 遅延割込み要求ビットを使用する必要があります。 • 遅延割込み機能では , リアルタイム OS (REALOS) を使用できます。このため , リアルタイム OS を使用す る場合 , ユーザソフトウェアの一部では遅延割込み機能が禁止されています。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 295 第 24 章 遅延割込み 24.8 注意事項 296 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 25 章 ビットサーチ 25.1 概要 MB91460N シリーズ 第 25 章 ビットサーチ 25.1 概要 ビットサーチモジュールは, 特定のレジスタに書き込まれたデータの0, 1, または変化点を検出する場合に使用 されます。 0ポイントレジスタ 検出回路 (0ポイント、 1ポイント、 変更ポイント) 1ポイントレジスタ 結果レジスタ 変化点レジスタ 25.2 特長 • 機能:データレジスタに書き込まれたデータを MSB から LSB にスキャンして , 最初の変更ポイントを検出 します。 • 0 検出 : 最初の "0" 変更ポイントを検出します。 • 1 検出 : 最初の "1" 変更ポイントを検出します。 • 変化点検出 : データが最初に変化した点を検出します。 • 個数: 1 • その他:内部データを読み出すことができます。 ( これは, 割込みサービスまたは割込み処理ルーチン中にビットサーチに使用される場合に , 前の状態を復帰 するために使用できます。) 25.3 構成 図 25.3-1 構成図 検出モード選択 ビットサーチ アドレスデコーダ 0-/1-/変更ポイント検出 データレジスタ 書込み専用 アドレスの下位 4ビット BSD0/BSD1/BSDCの 動作選択 0000 0100 0検出 1000 変化点検出 1検出 BSD0/ BSD1/ BSDC 検出結果 実行専用 検出データ (BSD1) 検出回路 (0-/1-/変更ポイント) BSRR 図 25.3-2 レジスタ一覧 ビットサーチ アドレス 0003F0H 32Bits BSD0(0検出レジスタ) 0003F4H 32Bits BSD1(1検出レジスタ) 0003F8H 32Bits BSDC(変更ポイント検出データレジスタ) 0003FCH 32Bits BSRR(検出結果レジスタ) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 297 第 25 章 ビットサーチ 25.4 レジスタ MB91460N シリーズ 25.4 レジスタ 25.4.1 BSD0:0 検出レジスタ /BSD1:1 検出レジスタ /BSDC:変化点検出データレジスタ これは , ビットサーチの検出データを設定するためのレジスタです。 • BSD0:アドレス 0003F0H ( アクセス:ワード ) • BSD1:アドレス 0003F4H ( アクセス:ワード ) • BSDC:アドレス 0003F8H ( アクセス:ワード ) bit 0 31 BSD0 不定 W bit 初期値 属性 0 31 BSD1 不定 R/W bit 初期値 属性 0 31 BSDC 不定 W 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • "0", "1", 変化点の検出に使用するデータを , それぞれレジスタ BSD0, BSD1, BSDC に書き込みます。 • 結果は , 検出結果レジスタ BSRR に格納されます。 • "0" 検出時に , MSB (bit31) ∼ LSB (bit0) の順番で , 最初に "0" が検出された位置が , データに格納されま す。 • "1" 検出時に , MSB (bit31) ∼ LSB (bit0) の順番で , 最初に "1" が検出された位置が , データに格納されま す。 • 変化点検出時に , bit30 ∼ LSB (bit0) の順番で , 最初に MSB (bit31) と異なる値が検出された位置が , データに 格納されます。 • "0" 検出に使用されるレジスタ BSD0 および変更ポイント検出に使用される BSRC レジスタは , 書込み専用で す。読出し動作時の値は不定です。 • ビットサーチで保存されるデータは , "1" 検出に使用されるレジスタ BSR1 が読み出される場合に読出し可能 です。 以前に読み出されたデータを "1" 検出に使用する BSR1 に再度書き込むと , 以前の検出結果を復帰できます。 これは , "0" 検出および変化点検出の処理に適用されます。この機能は , 割込み処理ルーチンなどの処理で ビットサーチを使用するときに , 特定の状態を復帰するために使用できます。 298 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 25 章 ビットサーチ 25.4 レジスタ MB91460N シリーズ 25.4.2 BSRR:検出結果レジスタ このレジスタは , ビットサーチ結果を読み出すために使用されます。 • BSRR:アドレス 0003FCH ( アクセス:ワード ) bit 0 31 BSRR 不定 R 初期値 属性 ( 属性については , 「ビット属性シンボルの意味」を参照してください。) • 0 検出レジスタ BSD0, 1 検出レジスタ BSD1, 変化点検出レジスタ BSDC に書き込まれたデータの検出結果 を読み出すことができます。最後に書き込まれたデータの読出しが可能です。ただし , 結果の種類は識別で きません。"0" 検出 , "1" 検出 , または変化点検出に関する情報は含まれていません。 "0" は検出位置 bit31 (MSB) で読み出すことができます。ビット "0" (LSB) に向かう次の位置で "1" を加える ことによって , 検出位置 bit0 (LSB) で "31" の読出しを続けます。検出されない場合は , 値 "32" が読み出され ます。 • 検出結果レジスタは読出し専用であり , 書込み動作は無効です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 299 第 25 章 ビットサーチ 25.5 動作説明 MB91460N シリーズ 25.5 動作説明 25.5.1 0 検出 図 25.5-1 11111111111 111 11 2 MSBからのbit位置 0123456 789ABCDEF0123456789ABCDEF 0 1111111 111 000 000 0000000000 000 000 データ スキャン >>>>>>>>>> 0 検出結果 AH (10) (1) MSB からの bit 位置 (2) 書き込まれたデータ ( データを書き込むとサーチを開始します。) (3) MSB からスキャンして , "0" を検出します。 (4) 検出した bit 位置 (5) 検出結果 "0" が存在しない場合 ( つまり , 数値が FFFFFFFFH), 検出結果として "32" が返されます。 • 実行例 書込みデータ 11111111111111111111000000000000B (FFFFF000H) 11111000010010011110000010101010B (F849E0AAH) 10000000000000101010101010101010B (8002AAAAH) 11111111111111111111111111111111B (FFFFFFFFH) → → → → 読出し値 (10 進表記法 ) 20 5 1 32 25.5.2 1 検出 図 25.5-2 MSBからのbit位置 データ 1111111111 111 111 2 0123456789ABCDEF0123456789ABCDEF 0 0000000000 000 000 001111111111 11 11 スキャン >>>>>>>>>>>>>>>>>>1 検出結果 12H (18) (1) MSB からの bit 位置 (2) 書き込まれたデータ ( データを書き込むと検出動作を開始します。) (3) MSB でスキャンを開始して , "1" を検出します。 (4) 検出した bit 位置 (5) 検出結果 "1" が存在しない場合 ( つまり , 数値が 00000000H の場合 ), 検出結果として値 "32" が返されます。 300 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 25 章 ビットサーチ 25.5 動作説明 MB91460N シリーズ • 実行例 書込みデータ 00100000000000000000000000000000B (20000000H) 00000001001000110100010101100111B (01234567H) 00000000000000111111111111111111B (0003FFFFH) 00000000000000000000000000000001B (00000001H) 00000000000000000000000000000000B (00000000H) → → → → → 読出し値 (10 進表記法 ) 2 7 14 31 32 25.5.3 変化点検出 MSBからのbit位置 データ スキャン 検出結果 11111111111 11 111 2 0123456789ABCDEF0123456789ABCDEF 0 0000000000 00 000 111000000000 00 000 >>>>>>>>>>>>>>>* FH (15) (1) MSB からの bit 位置 (2) 書き込まれたデータ ( データを書き込むと検出を開始します。) (3) MSB からスキャンして , 変更ポイントを検出します。 (4) 検出した bit 位置 (5) 検出結果 変化点が存在しない場合は , 検出結果として値 "32" が返されます。 変化点検出の検出結果として , 値 "0" は返されません。 • 実行例 書込みデータ 00100000000000000000000000000000B (20000000H) 00000001001000110100010101100111B (01234567H) 00000000000000111111111111111111B (0003FFFFH) 00000000000000000000000000000001B (00000001H) 00000000000000000000000000000000B (00000000H) 11111111111111111111000000000000B (FFFFF000H) 11111000010010011110000010101010B (F849E0AAH) 10000000000000101010101010101010B (8002AAAAH) 11111111111111111111111111111111B (FFFFFFFFH) CM71-10149-1 → → → → → → → → → 読出し値 (10 進表記法 ) 2 7 14 31 32 20 5 1 32 FUJITSU MICROELECTRONICS LIMITED 301 第 25 章 ビットサーチ 25.6 設定 MB91460N シリーズ 表 25.5-1 bit 位置と返される値 (10 進表記法 ) との関係 検出した bit 位置 返す値 検出した bit 位置 返す値 検出した bit 位置 返す値 検出した bit 位置 返す値 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 25.6 設定 表 25.6-1 0 ポイント検出に必要な設定 設定 設定レジスタ 設定手順* データ書込み & スキャン開始 0 ポイント検出データレジスタ (BSD0) 25.7.1 項 変換値の読出し 検出結果レジスタ (BSRR) 25.7.2 項 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 25.6-2 1 ポイント検出の使用に必要な設定 設定 設定レジスタ 設定手順* データ書込み & スキャン開始 1 ポイント検出データレジスタ (BSD1) 25.7.1 項 変換値の読出し 検出結果レジスタ (BSRR) 25.7.2 項 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 表 25.6-3 変化点検出の使用に必要な設定 設定 設定レジスタ 設定手順* データ書込み & スキャン開始 変更ポイント検出データレジスタ (BSDC) 25.7.1 項 変換値の読出し 検出結果レジスタ (BSRR) 25.7.2 項 * 設定手順の詳細は , 「設定手順」に記載された項を参照してください。 302 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 25 章 ビットサーチ 25.7 Q&A MB91460N シリーズ 25.7 Q&A 25.7.1 データの書込み方法は ? 検出データレジスタ (BSD0, BSD1, BSDC) を使用してデータを書き込みます。 動作モード 検出データレジスタ 0 ポイント検出の書込み データを (BSD0) に書込み 1 ポイント検出の書込み データを (BSD1) に書込み 変化点検出の書込み データを (BSDC) に書込み 25.7.2 スキャンの開始方法は ? 検出データレジスタ (BSD0, BSD1, BSDC) にデータが書き込まれると , スキャンが開始されます。 25.7.3 結果の読出し方法は ? 検出結果レジスタ (BSRR) が読み出されます。 25.7.4 前のビットサーチ状態の復帰方法は ? 以下の復帰処理が実行されます。 割込み処理ルーチンでビットサーチが実行された後 , 前のビットサーチ状態を復帰する必要がある場合。 1) 1 検出データレジスタからデータを読み出し , 内容を保存します ( 退避 )。 2) ビットサーチが使用されます。 3) 項目 1) で退避したデータを , 1 検出データレジスタに書き込みます ( 復帰 )。 上記の手順に従うと , 検出結果レジスタから次に読み出される値は , 1) またはそれよりも以前に実行された ビットサーチで書き込まれた値になります。 0 検出 , 1 検出 , または変化点検出データレジスタが最近書き込まれた場合でも , 上記の手順に従ってビット サーチ状態を正しく復帰できます。 25.8 注意事項 以下は , ビットサーチモジュールの使用に関する備考です。 • マクロは REALOS (OS) 用であり , ユーザは REALOS を使用するときにこのマクロを使用することはできま せん。 • 該当する検出が見つからない場合 , 検出結果として 32 (10 進 ) が返されます。 • 変化点検出で値 "0" は返されません。 • データレジスタ (0 検出 /1 検出 / 変更ポイント検出 ) は書込み専用であり , ワードでアクセスします。 ただし , 以前のビットサーチ状態を復帰できるように , 1 検出の読出しアドレスは復帰用の内部データレジス タに割り当てられます (「25.7.3 結果の読出し方法は ?」を参照してください。)。 • 0 検出レジスタ BSD0, 1 検出レジスタ BSD1, 変化点検出レジスタ BSDC は , 構成上は 1 つのレジスタに含 まれています。動作はアクセスアドレスの下位 4 ビットを使用して選択されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 303 第 25 章 ビットサーチ 25.8 注意事項 304 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.1 概要 MB91460N シリーズ 第 26 章 MPU / EDSU 26.1 概要 MB91460N シリーズ向けメモリ保護ユニット (MPU) および内蔵デバッグサポートユニット (EDSU) 。 備考:MPU/EDSU モジュールには , クロック無効化機能があります。MPU/EDSU モジュールを有効にするには , CSCFG レジスタの EDSUEN ビットを設定する必要があります。詳細については , 「12.4.4 CSCFG:ク ロックソース構成レジスタ」の節を参照してください。 " コンパレータグループ " 単位で拡張可能です。このグループは 2 つまで定義できます。コンパレータグループの 特長を以下に示します。 • 4 つのブレークポイントは , 以下のようにプログラムできます。 • 命令アドレスブレークポイント × 4 • オペランドアドレスブレークポイント × 4 ( データサイズおよびアクセスタイプでプログラム可能 ) • オペランドアドレスブレークポイント × 2 と命令アドレスブレークポイント × 2 の組合わせ • オペランドアドレスブレークポイント × 2 とデータ値ブレークポイント × 2 の組合わせ • 割当て可能なマスク × 2 ( ブレークポイントの数を減らします ) • 範囲機能 × 2 • リソース割込みでプログラム可能なブレークトリガ • MPU 機能 • ユーザおよびスーパバイザの読出し / 書込み / 実行の許可 • MCU アドレス全体でデフォルトに許可 • コンパレータグループごとに 2 つのアドレス範囲の設定可能 (2 グループで 4MPU チャネルとなる。) • D-bus およびリソースアドレス領域で DMA アクセスを検出可能 • レジスタセットはユーザモードでロック可能 • ダイナミック構造可 , INT#5 を割込み不可とした特別構造 • 許可違反による MPUPV トラップ発生 • 命令アドレスおよびオペランドアドレスのキャプチャレジスタ (MPU およびオペランドブレーク用 ) • MPU チャネルインデックス , DMA フラグ , オペランドサイズ , アクセスタイプのキャプチャ情報 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 305 第 26 章 MPU / EDSU 26.2 特長 MB91460N シリーズ 26.2 特長 1 つのコンパレータグループに最大 4 つのブレークポイントがあります。各コンパレータグループは下記特長を 備えた 2 つの範囲コンパレータで構成され , 2 つのポイントレジスタをマスク情報として使用するオプションがあ ります。 以下の特長を部分的に組み合わせることができます。 命令アドレスブレークポイント × 4 最大 4 つの命令アドレスブレークポイントを定義できます。 2 つの命令ブレークポイントをマスクできます。これにより , ほかの 2 つのレジスタはマスクレジスタとして動作し ます。2 つのポイントおよび 1 つのマスクレジスタで構成されているブレークアドレスもマスク可能です。 命令ブレークポイントの絶対アドレス 2 つは , 4 つの命令ブレークポイントレジスタのうちの 2 つまたは 4 つが アドレス内にある場合 , 定義できます。 オペランドアドレスブレークポイント × 4 最大 4 つのオペランドアドレスブレークポイントを定義できます。 2つのオペランドブレークポイントをマスクできます。これにより, ほかの2つのレジスタはマスクレジスタとして 動作します。2 つのポイントおよび 1 つのマスクレジスタで構成されているブレークアドレスもマスク可能です。 オペランドブレークポイントの絶対アドレス 2 つは , 4 つのオペランドブレークポイントレジスタのうちの 2 つま たは 4 つがアドレス内にある場合 , 定義できます。 オペランドブレークは , アクセスタイプ ( 読出し , リードモディファイライト , 書込み ) のデータサイズ ( バイト , ハーフワード , ワード ) に対して選択できます。 オペランドデータ値ブレークポイント × 2 最大 2 つのオペランドデータ値ブレークポイントを定義できます。 データ値の定義が可能です。 データ値ブレークポイントをマスクレジスタとして定義することによって , もう 1 つのポイントをマスクできます。 オペランドアドレスおよびデータ値ブレークポイントを , トリガ条件の組合せに切り換えることができます。 メモリ保護 メモリ保護モードで動作するように , 2 つのチャネル / アドレスを定義できます。 2 つのオペランドアドレス , 2 つの命令アドレス , または 1 つのオペランドアドレスと 1 つの命令アドレスの組合 せの保護が可能です。 通常のユーザモードおよびスーパバイザモードの両方について , 読出し / 書込みまたは実行許可をチャネルごとに 定義できます。 306 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 26.3 ブレーク機能 26.3.1 命令アドレスブレーク 命令アドレスポイントブレークは最も基本的なブレークであり , ブレークアドレスデータレジスタ (BAD3 ∼ BAD0) によって指定されたアドレスで命令がフェッチされたときに発生します。制御レジスタ BCR0 の CTC[1:0] ビットを "00" に設定すると , このモードになります。BCR0 の EP3 ∼ EP0 ビットでは , ブレークポイントが許可 されています。 ch.0 ∼ ch.3 の最大 4 つの命令ブレークポイントを設定できます。すべての命令ブレークイベントは , CPU への命令 ブレーク例外要求に OR されます。 ブレークアドレスレジスタのうちの 2 つは , フェッチされている命令アドレスをマスクするためのマスクレジス タ (BAD0, BAD2) として動作できます。マスクレジスタ BAD0 は BAD1 ( 同じチャネル ) または BAD2/BAD3 ( 反 対のチャネル ) に割り当てることができ , マスクレジスタ BAD2 は BAD3 または BAD0/BAD1 に割り当てることがで きます。 通常 , 命令ブレークアドレスとマスク情報は同じチャネルにあります。このため , BAD3 には命令ブレークアドレ スと BAD2 にはアドレスマスク情報が含まれます。チャネルは EP3 で有効化されます。チャネル BAD1 ( アドレス ), BAD0 ( マスク ), EP1 ( 有効化 ) についても同様です。 ただし , ポイント (EP2) またはアドレス (ER1) を有効化する必要がある場合があります。BAD2 は命令アドレス 情報を保持し , アドレスマスクをすることはできません。この場合 (EP2 または ER1 が設定されている場合 ), マス ク情報は反対の BAD0 レジスタから取得されます。EP0 および ER0 についても同様です。マスク 情報の取得に反対の BAD2 レジスタを使用できます。 例: CTC 00 タイプ:命令アドレスブレーク EP1 1 ブレークポイントアドレス BAD1 を許可します。 EM0 1 ブレークアドレス BAD1 のマスク BAD0 を設定します。 BAD1 12345678H ブレークアドレスを設定します。 BAD0 00000FFFH ブレークマスクを設定します。 12345000H ∼ 12345FFFH でブレークが発生します。 BAD3 ∼ BAD0 のブレークでは , ブレーク割込み要求レジスタ BIRQ の各フラグ (BD3 ∼ BD0 ビット ) が "1" に設 定されます。 これらのフラグは , 命令ブレークルーチンのソフトウェアリセットをする必要があります。 ch.0 および ch.1 (BAD0, BAD1) は , アドレス一致として機能するように設定できます。制御レジスタ BCR0 の ER0 ビットを "1" に設定すると , このモードになります。アドレス比較では , BAD0 が下位アドレスで , BAD1 が 上位アドレスです。このモードでは , EM0 = 1 によってマスク機能が許可されている場合 , マスクレジスタ BAD2 が ch.0 および ch.1 をマスクします。 また , ch.2 および ch.3 (BAD2, BAD3) をアドレス一致として機能するように設定することもできます。制御レジ スタ BCR0 の ER1 ビットを "1" に設定すると , このモードになります。アドレス比較では , BAD2 が下位アドレ スで , BAD3 が上位アドレスです。このモードでは , EM1 = 1 によってマスク機能が許可されている場合 , マスク レジスタ BAD0 が ch.2 および ch.3 をマスクします。 例: CM71-10149-1 CTC EP0 EP1 ER0 EM0 BAD0 BAD1 BAD2 00 1 1 1 1 12345200H 12345300H F0000000H タイプ:命令アドレスブレーク BAD0 のブレークポイントを許可します。 BAD1 のブレークポイントを許可します。 BAD0, BAD1 でのアドレス範囲機能を許可します。 BAD0, BAD1 でのアドレスマスク機能を許可します。 下位ブレークアドレスを設定します。 上位ブレークアドレスを設定します。 ブレークマスクを設定します。 FUJITSU MICROELECTRONICS LIMITED 307 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 次の場所でブレークが発生します:02345200H ∼ 02345300H, または 12345200H ∼ 12345300H, または 22345200H ∼ 22345300H など。 BD[1:0] 状態ビットの結果設定は , ブレークが発生した各領域を示しています。 表 26.3-1 命令ブレーク検出状態ビット (BD) BD1 BD0 0 1 1 0 1 1 ポイントで一致 ( 命令アドレス == 12345200H), または ポイントで一致 ( 命令アドレス == 22345200H) など ポイントで一致 ( 命令アドレス == 12345300H), または ポイントで一致 ( 命令アドレス == 22345300H) など 範囲で一致 (12345200H < 命令アドレス < 12345300H), または 範囲で一致 (22345200H < 命令アドレス < 22345300H) など 命令アドレスブレークモードでは , 以下の重要事項を考慮する必要があります。 ブレークが発生する命令アドレスを正確に判別するには , 命令ブレーク割込みルーチンへのエントリ中にスタック に保存された PC 値を使用します。 308 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 26.3.2 オペランドアドレスブレーク オペランドブレーク機能により , オペランドアドレスブレークレジスタ (BAD3 ∼ BAD0) で指定されたデータアク セスアドレスに対してブレークが発生します。制御レジスタ BCR0 の CTC1, CTC0 ビットを "01" に設定すると , このモードになります。BCR0 の EP3 ∼ EP0 ビットでは , ブレークポイントが許可されています。 ch.0 ∼ ch.3 の最大 4 つのブレークポイントを設定できます。すべてのオペランドブレークイベントは , CPU へのオペ ランドブレーク例外割込み要求に OR されます。 命令アドレスブレークについて「26.3.1 命令アドレスブレーク」に記述されていることは , アドレスマスク機能 についても同様です。 例: 01 タイプ:オペランドアドレスブレーク CTC EP1 1 ブレークポイントアドレス BAD1 を許可します。 EM0 1 ブレークアドレス BAD1 のマスク BAD0 を設定します。 BAD1 12345678H ブレークアドレスを設定します。 BAD0 00000FFFH ブレークマスクを設定します。 12345000H ∼ 12345FFFH でブレークが発生します。 BAD3 ∼ BAD0 のブレークでは , ブレーク割込み要求レジスタ BIRQ の各フラグ (BD3 ∼ BD0 ビット ) が "1" に設 定されます。これらのフラグは , オペランドブレーク例外ルーチンでソフトウェアリセットする必要があります。 ch.0 および ch.1 (BAD0, BAD1) は , アドレス一致として機能するように設定できます。制御レジスタ (BCR0) の ER0 ビットを "1" に設定すると , このモードになります。アドレス比較では , BAD0 が下位アドレスで , BAD1 が 上位アドレスです。このモードでは , EM0 = 1 によってマスク機能が許可されている場合 , マスクレジスタ BAD2 が ch.0 および ch.1 をマスクします。 また , ch.2 および ch.3 (BAD2, BAD3) をアドレス一致として機能するように設定することもできます。制御レジ スタ BCR0 の ER1 ビットを "1" に設定すると , このモードになります。アドレス比較では , BAD2 が下位アドレス で , BAD3 が上位アドレスです。このモードでは , EM1 = 1 によってマスク機能が許可されている場合 , マスクレジ スタ BAD0 が ch.2 および ch.3 をマスクします。 例: CTC 01 タイプ:オペランドアドレスブレーク EP0 1 BAD0 のブレークポイントを許可します。 EP1 1 BAD1 のブレークポイントを許可します。 ER0 EM0 1 BAD0, BAD1 でのアドレス範囲機能を許可します。 1 BAD0, BAD1 でのアドレスマスク機能を許可します。 BAD0 12345200H 下位ブレークアドレスを設定します。 BAD1 12345300H 上位ブレークアドレスを設定します。 BAD2 F0000000H ブレークマスクを設定します。 次の場所でブレークが発生します:02345200H ∼ 02345300H, または 12345200H ∼ 12345300H, または 22345200H ∼ 22345300H など。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 309 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ BD1, BD0 状態ビットの結果設定は , ブレークが発生した各領域を示しています。 表 26.3-2 オペランドブレーク検出状態ビット (BD) BD1 BD0 0 1 1 0 1 1 ポイントで一致 ( オペランドアドレス == 12345200H), または ポイントで一致 ( オペランドアドレス == 22345200H) など ポイントで一致 ( オペランドアドレス == 12345300H), または ポイントで一致 ( オペランドアドレス == 22345300H) など 範囲で一致 (12345200H < オペランドアドレス < 12345300H), または 範囲で一致 (22345200H < オペランドアドレス < 22345300H) など 制御レジスタ (BCR0) の OBS1, OBS0 ビットと OBT1, OBT0 ビットによって , アクセスデータ長および読出し / 書 込みブレーク属性を指定することもできます。EM1 = EM0 = 0 ( すべてのビットが有効 ) を設定することによってマ スク機能が無効になっている場合 , ブレークポイント設定とアクセスアドレスによるブレークとの関係を以下に示 します。 表 26.3-3 オペランドサイズとオペランドアドレスの関係 アクセス データ長 BOA0, BOA1 に設定されるアドレス アクセス アドレス 4n + 0 4n + 1 4n + 2 4n + 3 4n + 0 ヒット − − − 4n + 1 − ヒット − − 4n + 2 − − ヒット − 4n + 3 − − − ヒット 4n + 0 ヒット ヒット − − 4n + 1 ヒット ヒット − − 4n + 2 − − ヒット ヒット 4n + 3 − − ヒット ヒット 4n + 0 ヒット ヒット ヒット ヒット 4n + 1 ヒット ヒット ヒット ヒット 4n + 2 ヒット ヒット ヒット ヒット 4n + 3 ヒット ヒット ヒット ヒット 8 ビット 16 ビット 32 ビット オペランドアドレスブレークモードでは , ブレークを発生させたオペランドアドレスは BOAC レジスタに取り込 まれます。追加の BIAC は , ブレークによるデータ処理の 1 サイクル前に実行された命令の命令アドレスを保持し ます。これは通常 , データ転送の原因となった命令です。 310 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ オペランドアドレスブレークモードでは , 以下の重要事項を考慮する必要があります。 • FR ファミリアーキテクチャでは , データアクセスがミスアラインメントで実行された場合 , 下位アドレス ビット 0 はハーフワードで無視され , 下位アドレスビット 0 および 1 はワードアクセスで無視されます。そ れに応じてマスクレジスタをプログラムできます。 • EDSU オペランドブレークは , ブレークイベントを発生させる命令の実行完了直後に常に発生するわけでは ありません。 •「26.3.4 データブレークでのオペランドの使用」も参照してください。 26.3.3 データ値ブレーク CPU によって指定されたアドレスへのデータアクセスで , 指定されたデータが読み出されるか , または書き込 まれた場合 , データ値ブレークによってブレークが発生します。データは , データ値ブレークレジスタ (BAD0, BAD1) によって指定できます。制御レジスタ BCR0 の CTC1, CTC0 ビットを "11" に設定すると , このモードに なります。BCR0 のビット EP0 および EP1 によって , ブレーク条件は有効になります。 ch.0, ch.1 の最大 2 つのブレークポイントを設定できます。すべてのデータ値ブレークイベントは , CPU へのオペラ ンドブレーク例外に OR されます。 1 つのマスクレジスタ (BAD0) を (BAD1 に格納されている ) データ値のマスクに使用でき , もう 1 つのマスクレジスタ (BAD2) をアクセスされているオペランドアドレス (BAD3) のマスクに使用できます。マスクレジスタ BAD2 および BAD0 は , EM1 および EM0 によって有効化できます。 ブレークが実行されるデータは , バス上のデータマスクによってマスクされている必要があります。アドレスお よびデータ長を考慮すると , 32 ビット設定が必要です。( 以下の表を参照 ) 。これは , オペランドのバイト位置が オペランドアドレスに依存しているために必要となります。制御レジスタ (BCR0) の OBS1, OBS0 ビットのデー タ長の設定は , すべて無視で構成できます。データ長は , BAD0 レジスタに設定するマスクによって制御可能です。 BAD1, BAD0 のブレークでは , ブレーク割込み要求レジスタ BIRQ の各フラグ (BD1, BD0 ビット ) が "1" に設定さ れます。 これらのフラグは , オペランドブレーク例外ルーチンのソフトウェアリセットをする必要があります。 オペランドデータ値ブレークモードでは , ブレークを発生させたオペランドアドレスは BOAC レジスタに取り込 まれます。追加の BIAC は , ブレークによるデータ処理の 1 サイクル前に実行された命令の命令アドレスを保持し ます。これは通常 , データ転送の原因となった命令です。 データ値ブレークモードでは , 以下の重要事項を考慮する必要があります。 • データ値ブレークは , DMA 転送のマッチングに対しても実行されます。これは , 並列処理のために予期し ない動作につながる場合があります。専用の調査のためにフィルタビット FDMA および FCPU を設定でき ます。 • EDSU データブレークは , ブレークイベントを発生させる命令の実行完了直後に常に発生するわけでは ありません。 •「26.3.4 データブレークでのオペランドの使用」も参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 311 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 表 26.3-4 アクセス データ長 BAD3/BAD2 に設定され るアドレス BAD0 に設定される MASK BAD1/BAD0 の 有効なデータの位置 (* で示す ) 4n + 0 00FFFFFFH **-- ---- 4n + 1 FF00FFFFH --** ---- 4n + 2 FFFF00FFH ---- **-- 4n + 3 FFFFFF00H ---- --** 4n + 0 0000FFFFH **** ---- 4n + 1 0000FFFFH **** ---- 4n + 2 FFFF0000H ---- **** 4n + 3 FFFF0000H ---- **** 4n + 0 00000000H **** **** 4n + 1 00000000H **** **** 4n + 2 00000000H **** **** 4n + 3 00000000H **** **** 8 ビット 16 ビット 32 ビット 備考 アドレスビット 0 に対して BAD3 のアドレスマスクを 使用 アドレスビット 1 および 0 に 対して BAD3 のアドレスマス クを使用 データマスクは必要なく , 2 つのチャネルが使用可能 <注意事項> • • 312 表内の BAD0 レジスタのマスク値は , ビットの最小セットです。より多くのマスクビットを設定すると , 不要なマスクビットは転送データと比較されます。 "BAD1, BAD0 の有効なデータの位置 " は , 左側に MSB と右側に LSB を置いた 16 進法 8bit イメージで 表されます。BAD1, BAD0 レジスタ内の * で示されるビット位置のデータは , アクセスデータ長および アクセスアドレスに従って , データバス上のデータと比較されます。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 26.3.4 データブレークでのオペランドの使用 オペランドアドレスとデータ値ブレークを一緒に使用することは , EP3 と EP1 か EP2 と EP0 またはその両方を 設定し , CTC = 11 で設定されたデータ値ブレークモードのビット COMB = 1 を設定することによって有効になり ます。 つまり , BAD2 のオペランドアドレスの一致と BAD0 のデータ値の一致で , ch.0 でのブレークが発生します。 BAD3 のオペランドアドレスの一致と BAD1 のデータ値の一致で , ch.1 でのブレークが発生します。逆の場合は発生し ません。 ブレークで , BD0 と BD2 の両方 , それぞれの BD1 および BD3 が設定されます。これらのフラグは , オペランド ブレーク例外ルーチンでソフトウェアリセットする必要があります。 表 26.3-5 オペランドアドレスブレークとデータ値ブレークの組み合わせ EP3/EP2 EP1/EP0 COMB 0 0 0 ブレーク検出なし 0 1 0 独立したデータブレーク ( 任意のオペランドアドレスで値が一致 ) 1 0 0 独立したオペランドブレーク ( オペランドアドレスの一致 ) 1 1 0 独立したデータブレークおよびオペランドブレーク 0 0 1 ブレーク検出なし 0 1 1 ブレーク検出なし 1 0 1 ブレーク検出なし 1 1 1 データ値ブレーク ( オペランドアドレスと値の両方が一致 ) CM71-10149-1 機能 FUJITSU MICROELECTRONICS LIMITED 313 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 26.3.5 メモリ保護 オペランドアドレスおよび命令アドレスのアドレス範囲コンパレータは , メモリ保護ユニット (MPU) と同じコン パレータハードウェアを使用します。 以下の表に , メモリ保護に使用できるタイプ構成とその可能性を示します。ブレークポイントおよび MPU チャネ ルの数は , 2 コンパレータグループに設定可能です。 表 26.3-6 コンパレータタイプ構成 CTC CMP1 入力 CMP0 入力 00 IA IA 命令ブレーク × 8 実行許可がある範囲 × 4 01 OA OA オペランドブレーク × 8 読出し / 書込み許可がある範囲 × 4 10 OA IA 4 + 4 IA/OA ブレーク 読出し / 書込みおよび実行許可がある範囲 × 2 または 実行許可がある範囲 × 2 +読出し / 書込み許可がある 範囲 × 2 11 OA DT データ値ブレーク × 8 − 最大ブレークポイント (MPE=0) 最大 MPU チャネル (MPE=1) 指定されたハードウェアに加え , リードモディファイライトを含むオペランドブレークサイズおよびタイプ定義 OBS/OBT のバス対応定義のかわりに , 読出し , 書込み , 実行許可の適切な構成をユーザに提供するためのいくつ かの拡張を行っています。スーパバイザモードを導入することにより , ユーザおよびスーパバイザの許可設定が できます。 シンボルインデックスでの指定によって , コンパレータチャネル CMP1 および CMP0 に個別に許可を設定できます。 表 26.3-7 許可構成ビットの意味 シンボル データモード (OA) SRX[1:0] スーパバイザ読出し許可 SW[1:0] スーパバイザ書込み許可 URX[1:0] ユーザ読出し許可 UW[1:0] ユーザ書込み許可 命令モード (IA) スーパバイザ実行許可 − ユーザ実行許可 − 命令の実行またはオペランドへのアクセスが行われるたびに , 実際の有効な設定が判定されます。この判定は , オ ペランドアクセス (OA ベース ) とコード実行 (IA ベース ) に分けられます。 部分ごとに , 優先順位の最も高い領域ヒットが検索されます。最も大きいチャネル番号の優先順位 ( 優先順位厳正 枠組み ) が最も高くなります。チャネルヒットが見つかった場合 , このチャネルに対して定義されている設定が適 用されます。チャネルヒットが検出されなかった場合 , デフォルトの設定が適用されます。 実際の設定が判定された後 ( 実際のデータアクセス , もしあれば , 実際の命令に対して有効 ), 許可が確認されます。 実行許可が設定されていない場合 , または読出しまたは書込み許可が実際のアクセスの種類と合わない場合 , 保護 違反が示されます。これにより , メモリ保護違反 MPUPV 処理ルーチンへの CPU トラップが発生します。この場 合 , CPU はスーパバイザモードに直接切り換わります。 EDSU の構成レジスタ空間は , ユーザモードでのランダムアクセスに対して保護されます。スーパバイザモード またはエミュレーションモードでのみ , レジスタファイルは書込みアクセスを許可します。構成について , システ ム割込み INT #5 が定義されます。これは , スーパバイザモードで切換えを行います (INT #5-ISR の実行中 , SV ビットは設定されたままです ) 。エミュレータおよび NMI によるデバッガ割込みを除き , スーパバイザ ISR は割 込み不可です。 メモリ保護およびデバッグ用のブレークユニットによって発生する例外は , 分離されています。このため , メモリ 保護機能自体をデバッグできます。 314 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.3 ブレーク機能 MB91460N シリーズ 26.3.6 ブレーク要因 内部ブレーク要因および実行されるイベントの概要: 命令アドレスでのブレーク → 命令ブレークが発生します。 オペランドアドレスでのブレーク → オペランドブレークが発生します。 データ値でのブレーク → オペランドブレークが発生します。 リソース割込み (BREAK) → ツール NMI が発生します。 ステップトレーストラップ → ステップトレーストラップが発生します。 INTE 命令の実行 → INTE が発生します。 INT #5 の実行 → CPU スーパバイザモード メモリ保護例外 → MPUPV トラップが発生します。 ブレーク要因と対応する割込み番号および割込みベクタ: 表 26.3-8 ブレーク要因の割込み番号および割込みベクタ 割込み番号 割込み 割込みレベル 割込みベクタ 10 進 16 進 設定 レジスタ レジスタ アドレス オフセット デフォルトベクタ アドレス CPU スーパバイザ モード (INT #5 命令 ) 5 05 − − 3E8H 000FFFE8H メモリ保護例外 6 06 − − 3E4H 000FFFE4H INTE 命令 9 09 − − 3D8H 000FFFD8H 命令ブレーク 例外 10 0A − − 3D4H 000FFFD4H オペランドブレーク 例外 11 0B − − 3D0H 000FFFD0H ステップトレース トラップ 12 0C − − 3CCH 000FFFCCH NMI 割込み ( ツール ) 13 0D − − 3C8H 000FFFC8H CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 315 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ 26.4 レジスタ 26.4.1 EDSU レジスタ一覧 表 26.4-1 EDSU レジスタの概要 (1 / 3) レジスタ アドレス +0 +1 +2 0000F000H BCTRL [R/W] -------- -------- 11111100 00000000 0000F004H BSTAT [R/W0]* -------- -----000 00000000 10--0000 0000F008H BIAC [R] 00000000 00000000 00000000 00000000 0000F00CH BOAC [R] 00000000 00000000 00000000 00000000 0000F010H BIRQ [R/W] 00000000 00000000 00000000 00000000 0000F014H ∼ 0000F01FH reserved - 0000F020H BCR0 [R/W] -------- 00000000 00000000 00000000 0000F024H BCR1 [R/W] -------- 00000000 00000000 00000000 0000F028H BCR2 [R/W] -------- 00000000 00000000 00000000 0000F02CH BCR3 [R/W] -------- 00000000 00000000 00000000 +3 ブロック EDSU 0000F030H 0000F034H reserved 0000F038H 0000F03CH 0000F040H ∼ 0000F07FH 316 reserved - FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ 表 26.4-1 EDSU レジスタの概要 (2 / 3) レジスタ アドレス +0 +1 +2 0000F080H BAD0 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F084H BAD1 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F088H BAD2 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F08CH BAD3 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F090H BAD4 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F094H BAD5 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F098H BAD6 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F09CH BAD7 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0A0H BAD8 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0A4H BAD9 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0A8H BAD10 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0ACH BAD11 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0B0H BAD12 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0B4H BAD13 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0B8H BAD14 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 0000F0BCH BAD15 [R/W] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX +3 ブロック EDSU CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 317 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ 表 26.4-1 EDSU レジスタの概要 (3 / 3) レジスタ アドレス +0 +1 +2 +3 ブロック 0000F0C0H 0000F0C4H 0000F0C8H 0000F0CCH 0000F0D0H 0000F0D4H 0000F0D8H 0000F0DCH EDSU reserved 0000F0E0H 0000F0E4H 0000F0E8H 0000F0ECH 0000F0F0H 0000F0F4H 0000F0F8H 0000F0FCH * RMW - 読出しによってフラグごとに "1" が返されます。書出しのみの場合 , "0" ( クリア ) がサポートされます。 備考:すべてのレジスタに対する読出し / 書込みアクセスは , バイト , ハーフワード , およびワードになります。 318 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ 26.4.2 レジスタの説明 ● EDSU 制御レジスタ (BCTRL) EDSU 制御レジスタバイト 2 アドレス:00F002H bit 15 14 13 12 11 10 9 8 SR SW SX UR UW UX FCPU FDMA 読出し / 書込み → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (1) (1) (1) (1) (1) (1) (0) (0) 初期値 → EDSU 制御レジスタバイト 3 アドレス:00F003H 読出し / 書込み → 初期値 → bit 7 6 5 4 EEMM PFD SINT1SINT0 3 − 2 1 0 EINT0 EINTTEINTR (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) デフォルト許可ビット : デフォルト許可ビットによって , MCU のメモリ全体および I/O アドレス範囲の最低優先順位のアクセス許可が定 義されます。最低優先順位とは , MPU モードでの動作で , 専用チャネル構成の対象ではないすべてのアドレス領 域についてデフォルト許可が有効となることを意味します。スーパバイザモード (SV=1) および通常のユーザモー ド (SV=0) について , デフォルトの読出し , 書込み , 実行許可を定義できます。スーパバイザモード (SV) は , CPU の プログラムステータスワード内の CCR の bit6 によって示されます。INIT 条件の後で , すべての許可が設定されます ( 許可されたアクセス ) 。 [bit15] SR ( スーパバイザデフォルト読出し許可ビット ) 0 スーパバイザはデータの読出しを許可されません。 1 スーパバイザはデータの読出しを許可されます ( 初期値 ) 。 [bit14] SW ( スーパバイザデフォルト書込み許可ビット ) 0 スーパバイザはデータの書込みを許可されません。 1 スーパバイザはデータの書込みを許可されます ( 初期値 ) 。 [bit13] SX ( スーパバイザデフォルト実行許可ビット ) 0 スーパバイザはコードの実行を許可されません。 1 スーパバイザはコードの実行を許可されます ( 初期値 ) 。 [bit12] UR ( ユーザデフォルト読出し許可ビット ) 0 ユーザはデータの読出しを許可されません。 1 ユーザはデータの読出しを許可されます ( 初期値 ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 319 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit11] UW ( ユーザデフォルト書込み許可ビット ) 0 ユーザはデータの書込みを許可されません。 1 ユーザはデータの書込みを許可されます ( 初期値 ) 。 [bit10] UX ( ユーザデフォルト実行許可ビット ) 0 ユーザはコードの実行を許可されません。 1 ユーザはコードの実行を許可されます ( 初期値 ) 。 CPU および DMA フィルタオプションビット : [bit9] FCPU ( フィルタ CPU アクセスビット ) 0 CPU アクセスでトリガします ( 初期値 ) 。 1 CPU アクセスでトリガしません。 FCPU は , オペランドコンペアチャネル ( オペランドアドレスブレーク , データ値ブレーク , メモリデータ保護 ) に よってトリガされた CPU アクセスのフィルタ動作を制御します。 FCPU が "1" に設定された場合 , すべての CPU アクセスはマスクアウトされます。 "0" に設定された場合 , CPU ア クセスによってブレーク機能を発生させることができます。 [bit8] FDMA ( フィルタ DMA アクセスビット ) 0 DMA アクセスでトリガします ( 初期値 ) 。 1 DMA アクセスでトリガしません。 FDMA は , オペランドコンペアチャネル ( オペランドアドレスブレーク , データ値ブレーク , メモリデータ保護 ) に よってトリガされた DMA アクセスのフィルタ動作を制御します。 FDMA が "1" に設定された場合 , すべての DMA アクセスはマスクアウトされます。"0" に設定された場合 , DMA アクセスによってブレーク機能を発生させることができます。 <注意事項> D-bus 上の DMA アクセスのみが検出されます。明確な DMA トリガ条件のオペランドが , D-bus アドレス 領域に配置されている必要があります ( これは , MB91460N シリーズの D-busRAM, CAN, すべての R-bus リソースの場合です ) 。そうでない場合は , DMA 転送は EDSU によって認識されません。この機能は , 主 に DMA アクセスでのトリガを無効にする (DMA によるオペランド変更条件をフィルタアウトする ) ためにあ り , 完全にアドレス範囲の DMA トリガ条件はサポートされていません。 割込み許可ビット 320 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit7] EEMM ( エミュレーションモードの許可ビット ) 0 エミュレーションモードを禁止します ( 初期値 ) 。 1 エミュレーションモードを許可します。 EEMM が "1" に設定されている場合 , ステップトレースモードおよび EDSU 例外命令ブレーク , オペランドブレー ク , ツール NMI 中にエミュレーションモードに入ります。エミュレーションモード中は , ウォッチドッグタイマ (WDT) は無効になります。EDSU でトリガされたエミュレーションモードは , RETI 命令によって保持されます。 "0" を設定すると , エミュレーションモード機能は禁止されます。ステップトレースまたは EDSU 例外で WDT は 停止されません。 [bit6] PFD ( ファントムフィルタ禁止ビット ) 0 命令ブレーク検出によってファントムフィルタが使用されます ( 初期値 ) 。 1 ファントムフィルタは禁止されます。 ファントム割込みおよび追加で設定された誤った状態ビットをフィルタアウトするため , 初期値は "0" に設定され ています。 • RETI の実行後にフェッチされた命令は , 通常 , ブレークポイントが設定された命令です。フェッチは , ブレー クポイント処理 ISRの処理後とブレークポイント命令の実行前に繰り返されます。フィルタによって , ブレー ク条件のトリガの繰返しが回避されます。 • 以下の許可されない命令ブレーク例外はタイムオーバになります。 • プリフェッチされたが , 実行されていないコマンド • 遅延スロット命令後のコマンド • プリフェッチされた連続のブレーク条件は , フラグ設定が許可されません。ブレーク条件が初めて発生した 命令によってのみ , それに応じた状態ビットを設定できます。 • ネストされた命令ブレークは許可されません ( ブレーク処理 ISR 内のブレーク ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 321 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit5, bit4] SINT1, SINT0 ( リソース割込みソースの選択ビット ) SINT1, SINT0 MB91F463N リソース 00B 選択したソース 0 での割込みによるツール NMI ( 初期値 ) LIN-USART 0 RX / LIN-USART 0 TX 01B 選択したソース 1 での割込みによるツール NMI LIN-USART 1 RX / LIN-USART 1 TX 10B 選択したソース 2 での割込みによるツール NMI LIN-USART 3 RX / LIN-USART 3 TX 11B 選択したソース 3 での割込みによるツール NMI CAN4 / I2C2 SINT1 および SINT0 ビットでは , アクティブなリソース割込みソースが選択されます。 [bit3] EINT1 ( 拡張割込み 1 の許可ビット ) 0 拡張割込みソース 1 の禁止 ( 初期値 ) 1 拡張割込みソース 1 の許可 EINT1 を "1" に設定した場合 , ソースチャネル 1 での拡張割込みイベントでツール NMI が生成されます。"0" に 設定すると , この機能は禁止されます。 <注意事項> EINT1 割込みソースは , MB91460N シリーズでは , 利用できません。 [bit2] EINT0 ( 拡張割込み 0 の許可ビット ) 0 拡張割込みソース 0 の禁止 ( 初期値 ) 1 拡張割込みソース 0 の許可 EINT0 を "1" に設定した場合 , ソースチャネル 0 での拡張割込みイベントでツール NMI が生成されます。"0" に 設定すると , この機能は禁止されます。 <注意事項> EINT1 および EINT0 は , BREAK 機能生成に使用する信号線イベントを示すために使われます。これらの割 込みのソースは , MCU 内に物理的に組み込まれています。たとえば , 外部割込みポート , 汎用 I/O ポート端 子 , その他のリソースなどです。これは , 装置の仕様に定義する必要があります。 [bit1] EINTT ( 送信での割込み許可ビット ) 0 送信割込みソースチャネル 0 ∼ 3 を禁止します ( 初期値 ) 。 1 送信割込みソースチャネル 0 ∼ 3 を許可します。 EINTT ビットを "1" に設定した場合 , TXINT1, TXINT0 ビットによって設定されるソースチャネル 0 ∼ 3 での送信 割込みイベントでツール NMI が生成されます。EINTT ビットを "0" に設定すると , この機能は禁止されます。 322 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ <注意事項> SINT[1:0] が "11" に設定されている場合 , このビットは CAN の ch.1 の割込みを許可します (CAN には受信 および送信に対する割込み要求が 1 つあります ) 。 [bit0] EINTR ( 受信での割込み許可 ) 0 受信割込みソースチャネル 0 ∼ 3 を禁止します ( 初期値 ) 。 1 受信割込みソースチャネル 0 ∼ 3 を許可します。 EINTR ビットを "1" に設定した場合 , RXINT1, RXINT0 ビットによって設定されるソースチャネル 0 ∼ 3 での受 信割込みイベントでツール NMI が生成されます。EINTR ビットを "0" に設定すると , この機能は禁止されます。 <注意事項> SINT[1:0] が "11" に設定されている場合 , このビットは CAN の ch.0 の割込みを許可します (CAN には受信 および送信に対する割込み要求が 1 つあります ) 。 ● EDSU 状態レジスタ (BSTAT) EDSU 状態レジスタバイト 2 bit 15 アドレス:00F006H 読出し / 書込み → 初期値 → EDSU 状態レジスタバイト 3 アドレス:00F007H 読出し / 書込み → 初期値 → 14 13 12 11 10 9 8 IDX4 IDX3 IDX2 IDX1 IDX0 CDMA CSZ1 CSZ0 (R) (0) (R) (0) bit 7 6 (R) (0) 5 CRW1CRW0 (R) (0) (R ) (0) PV (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) 4 3 2 1 0 RST INT1 INT0 INTT INTR (R/W) (R/W) (R/W) (R/W) (0) (1) (0) (0) (R) (0) (R) (0) [bit15 ∼ bit11] IDX4 ∼ IDX0 (MPUPV トリガのチャネルインデックス指示ビット ) メモリ保護違反 (MPUPV) をトリガする場合 , トリガを発生させたチャネルペア 0 ∼ 15 のインデックスは IDX レジスタに保存されます。チャネルペアは通常 , 範囲コンパレータとして使用されます。 MPU チャネルによってそのアドレス範囲でヒットが検出されなかった場合 , デフォルトの許可が適用されます。 デフォルトの許可に違反した場合 , IDX は値 "16" ( オーバラン ) に設定されます。一致した MPU チャネルの許可に 違反した場合 , IDX によって該当するブレーク検出ビット BIRQ_BD31 ∼ BD0 のインデックスが示されます。 このコンパレータに属するブレーク検出ビットは , BD[2 × IDX] および BD[2 × IDX + 1] です。 範囲ヒットかトリガ条件またはその両方が複数ある場合 , 優先順位が最も高いトリガ条件のチャネルが IDX4 ∼ IDX0 ビットによって示されます。優先順位はチャネルインデックスと同じ順です。 IDX 0 ∼ 15 16 意味 最後の保護違反のチャネル番号を示します。 最後の保護違反は , デフォルトの許可の違反によって発生しました。 チャネルインデックス指示レジスタは読出し専用です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 323 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ アクセスタイプキャプチャビット : メモリ保護違反またはオペランド / データ値ブレーク条件によるトラップの場合 , 状態ビット (12 ∼ 8) によって , オペランドアクセスを発生させたブレークに関するタイプ情報が取り込まれます。実行許可の違反によるメモリ 保護異常の場合も , アクティブなオペランドアクセスがあったかどうかに関係なく , この情報が取り込まれます。 アクセスタイプキャプチャレジスタは読出し専用です。 [bit10] CDMA ( キャプチャ DMA 指示ビット ) 0 オペランドアクセスは CPU によって実行されました。 1 オペランドアクセスは DMA コントローラによって実行されました。 [bit9, bit8] CSZ1, CSZ0 ( キャプチャオペランドサイズビット ) 00B オペランドのビットサイズは "8" です。 01B オペランドのビットサイズは "16" です。 10B オペランドのビットサイズは "32" です。 11B 予約 [bit7, bit6] CRW1, CRW0 ( キャプチャオペランドアクセスタイプビット ) 324 00B オペランドは読み出されました。 01B オペランドは , リードモディファイライト系命令によって読み出されました。 10B オペランドは書き込まれました。 11B オペランドアクセスはありません。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit5] PV ( 保護違反検出ビット ) 0 読出し , 書込み , 実行許可の保護違反はありませんでした。 1 保護違反 (MPUPV) が発生しました。 保護違反の後でこのビットが設定された場合 , MPUPV トラップが CPU に示されます。保護違反の発生は , 定義 されたアドレス領域の許可されていない読出しまたは書込みアクセスがあったか , またはこのアドレス領域の実 行許可なしでコードが実行されたことを意味します。この結果 , CPU はスーパバイザモード (SV=1) に切り換わ り , 割込み番号 #6 の処理ルーチンをよび出します ( 表 26.3-8 を参照 ) 。 このビットは , MPUPV トラップ処理ルーチンで "0" を書き込むことによってクリアする必要があります。 [bit4] RST ( 動作初期化リセット (RST) 検出ビット ) FR ファミリのリセット動作は , 設定初期化リセット (INIT) と動作初期化リセット (RST) という 2 つのレベルに分けら れます。INIT が発生すると , RST が同時に発生します。 0 動作リセットは , 最後の BSTAT 読出しまたはクリア以降トリガされませんでした。 1 動作リセットは , 最後の BSTAT 読出しまたはクリア以降トリガされました。 RST ビットは読出し専用であり , このビットへの書込みアクセスは無視されます。RST ビットは , BSTAT が読み出 された後 (32 ビットワード内の任意のバイトアドレスからの読出し ) クリアされます。RST ビットは , 読出しお よびリードモディファイライトアクセスについて同じ動作をします。 RST ビットは , リセット検出に使用できます。動作初期化リセットがトリガされた場合に設定されます。デバッグ 監視ソフトウェアでは , これを使用して , 動作リセット後にデバッガのフロントエンドへの通信デバイスを再構成 する必要があるかどうかを検出できます。これは , ブート手順およびソフトリセット処理のデバッグにとって重 要です。EDSU ステータスワードの読出し後 , RST ビットは自動的にクリアされます。 ブレーク割込みビット : [bit3] INT1 ( 拡張ソース 1 での割込みビット ) 0 拡張ソースチャネル 1 での割込みの検出なし ( 初期値 ) 1 拡張ソースチャネル 1 での割込みの検出あり INT1 は , 拡張割込みソースチャネル 1 の状態を反映します。拡張割込み信号線で "H" レベルが発生した場合 , "1" に 設定されます。状態 "1" は , ソフトウェアでクリアされるまで格納されます。 "0" を書き込むと , INT1 ビットは "0" にリセットされます。このビットに "1" を書き込んでも無視されます。 リードモディファイライト系命令で , INT1 は "1" として読み出されます。 [bit2] INT0 ( 拡張ソース 0 での割込みビット ) 0 拡張ソースチャネル 0 での割込みの検出なし ( 初期値 ) 1 拡張ソースチャネル 0 での割込みの検出あり INT0 ビットは , 拡張割込みソースチャネル 0 の状態を反映します。拡張割込み信号線で "H" レベルが発生した場合 , "1" に設定されます。状態 "1" は , ソフトウェアでクリアされるまで格納されます。 "0" を書き込むと , INT0 ビットは "0" にリセットされます。このビットに "1" を書き込んでも無視されます。 リードモディファイライト系命令で , INT0 は "1" として読み出されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 325 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit1] INTT ( 送信ソースでの割込みビット ) 0 送信ソースでの割込みの検出なし ( 初期値 ) 1 送信ソースチャネルでの割込みの検出あり INTT は , 送信割込みソースチャネル 0 ∼ 3 (TXINT1, TXINT0 によって選択可能 ) の状態を反映します。送信割込 み信号線で H レベルが発生した場合に "1" に設定され , 信号線で L レベルが発生した場合に "0" に設定されます。 このビットは読出し専用です。選択したリソースの適切な割込みビットをクリアすると , "0" に設定できます。 備考:SINT[1:0] が "11" に設定されている場合 , このビットは CAN の ch.1 の割込みを示します (CAN には受信お よび送信に対する割込み要求が 1 つあります ) 。 [bit0] INTR ( 受信ソースでの割込みビット ) 0 受信ソースでの割込みの検出なし ( 初期値 ) 1 受信ソースチャネルでの割込みの検出あり INTR は , 受信割込みソースチャネル 0 ∼ 3 (RXINT1, RXINT0 によって選択可能 ) の状態を反映します。受信割込 み信号線で H レベルが発生した場合に "1" に設定され , 信号線で L レベルが発生した場合に "0" に設定されます。 このビットは読出し専用です。選択したリソースの適切な割込みビットをクリアすると , "0" に設定できます。 備考:SINT[1:0] が "11" に設定されている場合 , このビットは CAN の ch.1 の割込みを示します (CAN には受信お よび送信に対する割込み要求が 1 つあります ) 。 ● EDSU 命令アドレスキャプチャレジスタ (BIAC) BIAC アドレス 00F008H +0 00000000 [R] +1 +2 00000000 00000000 +3 00000000 このレジスタは , 保護違反またはオペランド / データ値ブレークを発生させた命令のアドレス (IA) を取り込みます。 このレジスタは読出し専用です。 ● EDSU オペランドアドレスキャプチャレジスタ (BOAC) BOAC [R] アドレス +0 +1 +2 +3 00F00CH 00000000 00000000 00000000 00000000 このレジスタは , 保護違反またはオペランド / データ値ブレークを発生させたオペランドアクセスのアドレス (OA) を取 り込みます。このレジスタは読出し専用です。 326 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ ● EDSU ブレーク検出割込み要求レジスタ (BIRQ) BIRQ [R/W] アドレス +0 +1 +2 +3 00F010H 00000000 00000000 00000000 00000000 BIRQ は , 各チャネルのタイプ構成に関係なく , すべてのチャネルのすべてのブレーク検出ビットを収集します。 実際は , チャネルの 8 つのグループ , つまり全体として 32 シングルポイントチャネルで構成されます。 チャネルの各グループは , 4 チャネルおよび BIRQ レジスタ内のブレーク検出用の 4 ビットで構成されます。各グ ループには , 2 つのコンパレータペアがあります。各ペアは , 範囲許可ビットを設定することによって範囲コンパ レータを構成できる 2 つのポイントコンパレータで構成されます。このような範囲コンパレータペアは , コンパ レータタイプ構成によって選択された , 命令アドレス , オペランドアドレス , またはデータ値情報に接続されます。 オペランドアドレスとデータ値ブレークの組合せを検出するために , このようなコンパレータペアが 2 つ組み合 わされます。両方の条件が同時に一致した場合にのみ , ブレーク検出 (BD) ビットが設定されます。 [bit31 ∼ bit0] BD31 ∼ BD0 ( ブレーク検出ビット ) 0 ブレーク要因の検出なし ( デフォルト ) 1 bit 位置 (bit31 ∼ bit0) に応じたチャネルでブレーク要因の検出あり BD31 ∼ BD0 ビットは , ブレーク検出の状態を反映します。BAD31 ∼ BAD0 との一致でそれぞれ "1" に設定され ます ( マスク条件が満たされた場合 , EM1/EM0 によって許可された場合 ) 。2 つのポイントを使用する範囲機能 が ER1/ER0 によって許可されている場合に , ビットペア [31:30], [29:28], ..., [1:0] について範囲一致が適用されま す。 ブレーク要因は以下のとおりです。 • 命令アドレスブレーク • オペランドアドレスブレーク • データ値ブレーク • オペランドアドレスブレークとデータ値ブレークの組合せ • メモリ保護違反 "0" を書き込むと , BD31 ∼ BD0 ビットは "0" にリセットされます。これらのビットに "1" を書き込んでも無視され ます。リードモディファイライト系命令で , すべての BD ビットは "1" として読み出されます。 許可されたアドレス範囲機能での BD1/BD0 設定 ( 隣接する BD ビットのほかのペアについても有効 ) : EP1 および EP0 を許可するポイント以外に ER0 でオペランドアドレス範囲機能が許可されている場合 , BD1 および BD0 検出ビットは以下のように設定されます。 表 26.4-2 スタート / エンドポイントまたは範囲での一致に関する BD コーディング BD1 BD0 0 0 一致なし ( デフォルト ) 0 1 ポイントで一致 ( コンペア値 == BAD0) 1 0 ポイントで一致 ( コンペア値 == BAD1) CM71-10149-1 コンペア値:命令 , オペランドアドレス , データ値 FUJITSU MICROELECTRONICS LIMITED 327 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ 表 26.4-2 スタート / エンドポイントまたは範囲での一致に関する BD コーディング BD1 BD0 1 1 コンペア値:命令 , オペランドアドレス , データ値 範囲で一致 (BAD0 < コンペア値 < BAD1) ● EDSU チャネル構成レジスタ (BCR0 ∼ BCR1) EDSU チャネル構成レジスタ 0, バイト 0 bit 31 30 29 28 27 26 25 24 − − − − − − − − アドレス:00F020H 読出し / 書込み → 初期値 → (−) (−) (−) (−) (−) (−) (−) (−) (X) (X) (X) (X) (X) (X) (X) (X) EDSU チャネル構成レジスタ 0, バイト 1 bit 23 アドレス:00F021H 22 21 20 19 18 17 16 SRX1 SW1 SRX0 SW0 URX1 UW1 URX0 UW0 読出し / 書込み → 初期値 → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) EDSU チャネル構成レジスタ 0, バイト 2 bit 15 アドレス:00F022H 14 13 12 11 10 9 8 MPE COMB CTC1 CTC0 OBS1 OBS0 OBT1 OBT0 読出し / 書込み → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値 → EDSU チャネル構成レジスタ 0, バイト 3 bit 7 アドレス:00F023H EP3 読出し / 書込み → 初期値 → 6 EP2 5 4 3 EP1 EP0 2 EM1 EM0 1 0 ER1 ER0 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 4 つのチャネルのグループごとに , チャネル構成レジスタ (BCR0 ∼ BCR7) が 12 実装されます。対応するチャネ ルのグループに対して設定された構成が含まれています。以下の表に , どのチャネル構成 , ブレークポイントアド レス / データレジスタ , ブレーク検出ビットが一緒になっているかという関係を示します。 表 26.4-3 BCR, BAD, BIRQ レジスタの関係 グループ構成 アドレス / データ BAD0 ポイント ポイント 0, マスク 0 EP0 BAD1 ポイント 1 EP1 BAD2 ポイント 2, マスク 1 EP2 BAD3 ポイント 3 EP3 BAD4 ポイント 0, マスク 0 EP0 BAD5 ポイント 1 EP1 BAD6 ポイント 2, マスク 1 EP2 ポイント 3 EP3 BCR0 BCR1 BAD7 328 BADx の使用 マスク EM0 EM1 EM0 EM1 FUJITSU MICROELECTRONICS LIMITED BIRQ 組合せ 範囲 0 ER0 範囲 1 ER1 範囲 0 ER0 範囲 1 ER1 OA0 BD0 OA1 BD1 DT0 BD2 DT1 BD3 OA0 BD4 OA1 BD5 DT0 BD6 DT1 BD7 CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ チャネルのグループ , 許可定義ビット : 許可定義ビットは , MPU モードで動作しているチャネルのグループにのみ有効です。これは , MPE が "1" に設定 されている場合に該当します。グループが MPU モードで動作していない場合 , 許可構成は必要ありません ( 無視 する ) 。 通常 , MPU チャネルはアドレス定義の範囲モードで動作します。 設定できる許可のタイプは , 各コンパレータペアのコンパレータタイプ構成 (CTC) によって異なります。MPU チャネルは , 命令アドレス (IA) またはオペランドアドレス (OA) を確認するために構成できます。IA 範囲は , 実行 許可を定義するために使用できます。OA 範囲は , 読出しおよび書込み許可を定義するために使用できます。 MPU 使用のコンパレータタイプは , 以下のように設定できます。 • CTC=0:両方の IA 範囲によって実行許可が定義されます。 • CTC=1:両方の OA 範囲によって読出し / 書込み許可が定義されます。 • CTC=2:IA 範囲 0 によって実行許可が定義され , OA 範囲 1 によって読出し / 書込み許可が定義されます。 CTC=3 を設定することによるデータ値 (DT) 検出は , MPU モードでは使用できません。 スーパバイザモードおよびユーザモードという 2 つの CPU モードの読出し , 書込み , 実行許可について , 許可 構成が存在します。スーパバイザ許可は SV=1 に有効であり , ユーザ許可は SV=0 に有効です。 [bit23] SRX1 ( 管理者のアドレス範囲 1 での読出し / 実行許可ビット ) CTC = 0 の有効な設定 ( 命令アドレス範囲コンパレータ ) : 0 スーパバイザに , アドレス範囲 1 の実行許可がありません ( 初期値 ) 。 1 スーパバイザに , アドレス範囲 1 の実行許可があります。 CTC = 1 または CTC = 2 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 スーパバイザに , アドレス範囲 1 の読出し許可がありません ( 初期値 ) 。 1 スーパバイザに , アドレス範囲 1 の読出し許可があります。 [bit22] SW1 ( 管理者のアドレス範囲 1 での書込み許可ビット ) CTC = 1 または CTC = 2 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 スーパバイザに , アドレス範囲 1 の書込み許可がありません ( 初期値 ) 。 1 スーパバイザに , アドレス範囲 1 の書込み許可があります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 329 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit21] SRX0 ( 管理者のアドレス範囲 0 での読出し / 実行許可ビット ) CTC = 0 または CTC = 2 の有効な設定 ( 命令アドレス範囲コンパレータ ) : 0 スーパバイザに , アドレス範囲 0 の実行許可がありません ( 初期値 ) 。 1 スーパバイザに , アドレス範囲 0 の実行許可があります。 CTC = 1 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 スーパバイザに , アドレス範囲 0 の読出し許可がありません ( 初期値 ) 。 1 スーパバイザに , アドレス範囲 0 の読出し許可があります。 [bit20] SW1 ( 管理者のアドレス範囲 0 での書込み許可ビット ) CTC = 1 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 スーパバイザに , アドレス範囲 0 の書込み許可がありません ( 初期値 ) 。 1 スーパバイザに , アドレス範囲 0 の書込み許可があります。 [bit19] URX1 ( ユーザのアドレス範囲 1 での読出し / 実行許可ビット ) CTC = 0 の有効な設定 ( 命令アドレス範囲コンパレータ ) : 0 ユーザに , アドレス範囲 1 の実行許可がありません ( 初期値 ) 。 1 ユーザに , アドレス範囲 1 の実行許可があります。 CTC = 1 または CTC = 2 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 ユーザに , アドレス範囲 1 の読出し許可がありません ( 初期値 ) 。 1 ユーザに , アドレス範囲 1 の読出し許可があります。 [bit18] UW1 ( ユーザのアドレス範囲 1 での書込み許可ビット ) CTC = 1 または CTC = 2 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 330 0 ユーザに , アドレス範囲 1 の書込み許可がありません ( 初期値 ) 。 1 ユーザに , アドレス範囲 1 の書込み許可があります。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit17] URX0 ( ユーザのアドレス範囲 0 での読出し / 実行許可ビット ) CTC = 0 または CTC = 2 の有効な設定 ( 命令アドレス範囲コンパレータ ) : 0 ユーザに , アドレス範囲 0 の実行許可がありません ( 初期値 ) 。 1 ユーザに , アドレス範囲 0 の実行許可があります。 CTC = 1 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 ユーザに , アドレス範囲 0 の読出し許可がありません ( 初期値 ) 。 1 ユーザに , アドレス範囲 0 の読出し許可があります。 [bit16] UW1 ( ユーザのアドレス範囲 0 での書込み許可ビット ) CTC = 1 の有効な設定 ( オペランドアドレス範囲コンパレータ ) : 0 ユーザに , アドレス範囲 0 の書込み許可がありません ( 初期値 ) 。 1 ユーザに , アドレス範囲 0 の書込み許可があります。 チャネルのグループ , モード構成ビット : [bit15] MPE ( メモリ保護許可ビット ) 0 チャネルのグループはデバッグインタフェースとして動作し , ブレークポイントを定 義します ( 初期値 ) 。 1 チャネルのグループは , メモリ保護モードで動作します。 MPE ビットの設定でいくつかの制限が適用されます。 MPE=0 ( ブレークユニット ) : • 許可レジスタは「無視する」です (BCR レジスタの bit23 ∼ bit16) 。 MPE=1 ( メモリ保護ユニット ) : • OBS および OBT ビットを "3" に設定する必要があります (BCR レジスタの bit11 ∼ bit8, 任意のサイズおよ び任意のタイプ ) 。 • CTC ビットを "3" に設定しないでください。(BCR レジスタの bit13, bit12 または , BCR:CTC1, CTC0, この モードではデータ値確認はサポートされません ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 331 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit14] COMB ( チャネル組合せ許可ビット ) 0 チャネル間の組合せなし ( 初期値 ) 1 チャネル間の組合せは有効です。 MPE 構成ビットに応じて , COMB 機能には異なる意味があります。 (A) COMB=1 および MPE=0 ( ブレークユニット , オペランドアドレスブレークとデータ値ブレークの組合せ ) BIRQ_BD ビットの設定およびオペランドブレーク条件の通知の前に , ブレーク検出条件が組み合わされます。 COMB ビットの設定は , 特定のオペランドアドレスでデータ値ブレークを定義するために必要です。COMB ビットが "1" に設定された場合 , オペランドアドレス (OA) の一致とデータ値 (DT) の一致の両方の条件が真 (true) であるこ とが必要です。COMB ビットの設定は , CTC=3 で定義される OA/DT モードでのみ意味を持ちます。 AND の組合せは , ch.3 (OA1) と ch.1 (DT1) の間および ch.2 (OA0) と ch.0 (DT0) の間でのみ有効です。範囲動作は定 義されていない (ER1=ER0=0) と想定されます。 BIRQ_BD3 = BIRQ_BD1 = BD3 && BD1; BIRQ_BD2 = BIRQ_BD0 = BD2 && BD0; ER1=1 を設定することによって ch.3 および ch.2 がオペランドアドレス範囲 (OA1:OA0) を定義するか , ER0=1 を設定 することによって ch.1 および ch.0 がデータ値範囲 (DT1:DT0) を定義する場合 , またはその両方の場合 , 各チャネ ルのブレーク検出ビットは反対の範囲コンパレータブレーク検出出力の OR されたチャネルと AND で組み合わさ れます。 BIRQ_BD3 = BD3 && (BD1 || BD0); BIRQ_BD2 = BD2 && (BD1 || BD0); BIRQ_BD1 = BD1 && (BD3 || BD2); BIRQ_BD0 = BD0 && (BD3 || BD2); これは , BIRQ ブレーク抽出ビット ( スタートポイント , 範囲 , またはエンドポイントでの一致のコーディングに ついては表 26.4-2 を参照 ) について , COMB=0 での範囲検出の場合と同じと解釈します。BD3 および BD2 はオペ ランドアドレス (OA) 一致のコーディングを保持し , BD1 および BD0 はデータ値 (DT) 一致のコーディングを保持し ます。COMB ビットを "1" に設定すると , 最終的に適切な BD ビットを設定するには両方の条件 (OA 一致および DT 一致 ) が真 (true) であることが必要です。 COMB ビットが "0" に設定された場合 , すべてのブレーク検出ビットは元々の形式で BIRQ レジスタに渡されます。 コンパレータチャネル一致条件は , 互いに独立しています。 (B) COMB=1 および MPE=1 ( メモリ保護ユニット , 1 つの範囲での読出し / 書込み / 実行許可の組合せ ) メモリ保護モードでは , COMB ビットは , 同じアドレス範囲に設定された , データ読出し / 書込みおよびコード実 行許可の組合せという意味を持ちます。設定は , モード CTC=2 で , ch.3 および ch.2 のオペランドアドレス (OA) コ ンパレータと ch.1 および ch.2 の命令アドレス (IA) コンパレータの組合せについてのみ意味を持ちます。 COMB ビットが "1" に設定された場合 , IA コンパレータ CMP0 によって OA コンパレータ CMP1 と同じ BADx ポ イント定義が使用されます。ポイント 3 およびポイント 2 によって , コンパレータ CMP0 および CMP1 両方の アドレス範囲が定義されます。これには , ポイント 0/ マスク 0 のエントリがポイント設定に対して割り当てられ ず , 一方または両方のコンパレータのマスクに使用できるという効果があります。この場合 , ポイント 1 エントリ は使用できません。 COMB ビットが "0" に設定された場合 , 両方のコンパレータは独立したアドレス構成を持ちます。コンパレータに よって , データ保護の読出し / 書込み許可を定義するか , またはコード保護の実行許可を定義できます。各コンパ レータでは , 2 つのポイントの間の範囲によって (ER=1), またはマスクを持つ 1 つのポイントによって (EM=1), アド レス領域を定義できます。 332 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit13, bit12] CTC1, CTC0 ( コンパレータタイプ構成ビット ) CTC CMP1 CMP0 0 IA IA 命令ブレークポイント x 4 コード保護の 2 領域 ( 実行許可 ) 1 OA OA オペランドブレークポイント x 4 データ保護の 2 領域 ( 読出し / 書込み許可 ) 命令ブレークポイント x 2 + オペランドブレークポイント x 2 コード保護の 1 領域 ( 実行許可 ) およびデー タ保護の 1 領域 ( 読出し / 書込み許可 ) また はコード保護とデータ保護の組合せの 1 領 域 ( 読出し / 書込み / 実行許可 ) オペランドブレークポイント x 2 + データ値ブレーク x 2, 通常は組合せ 該当なし 2 OA IA 3 OA DT ブレーク機能 MPU 機能 各チャネルのグループには , 2 つの範囲コンパレータブロックが含まれています。各コンパレータブロックによって , 2 つのポイント間の範囲ヒットまたは 2 つの独立したポイントヒットを検出できます。ポイント構成は , 各チャネル の専用の BADx レジスタに格納されます ( チャネルのグループごとに 4 つの BADx レジスタ ) 。 コンパレータタイプ構成 (CTC) によって , 2 つの範囲コンパレータブロック (CMP1 および CMP0) それぞれでコ ンペア値の入力マルチプレクスが制御されます。CMP1 によってブレーク検出 ch.3 と ch.2 が組み合わされます。 CMP1のコンペア値は , 命令アドレス (IA) またはオペランドアドレス (OA) に割り当てることができます。CMP0 によってブレーク検出 ch.1 と ch.0 が組み合わされます。CMP0 のコンペア値は , 命令アドレス (IA), オペランド アドレス (OA), またはデータ値 (DT) に割り当てることができます。上記の表は , CTC 設定に応じて , CMP1 および CMP0 の入力コンペア値を定義したものです。 さらに , 各コンパレータブロックのマスクを定義できます ( 後で説明する EM ビットの定義を参照 ) 。この場合は , BADx レジスタにマスク情報が含まれ , ポイント構成には使用できません。したがって , マスク機能の使用によって ポイントまたはチャネルの数 ( 総計で使用可能 ) は制限されます。 [bit11 ∼ bit8] OBS1, OBS0, OBT1, OBT0 ( オペランドブレークサイズ / オペランドブレークタイプビット 1) データサイズ OBS1 OBS0 0 0 0 アクセスタイプ OBT1 OBT0 バイト ( デフォルト ) 0 0 読出し ( デフォルト ) 1 ハーフワード 0 1 リードモディファイライト 1 0 ワード 1 0 書込み 1 1 すべて ( バイト , ハーフワー ド , ワード ) 1 1 すべて ( 読出し , リードモ ディファイライト , 書込み ) チャネルがオペランドアドレスブレークまたはデータ値ブレーク検出に構成されている場合 , オペランドブレー クサイズレジスタ OBS ビットによってデータサイズが構成され , オペランドブレークタイプレジスタ OBT ビッ トによってアクセスタイプが構成されます。 データサイズを " すべて " に設定すると , バイト , ハーフワード , ワードデータサイズの検出が行われます。 アクセスタイプを " すべて " に設定すると , 読出し , リードモディファイライト , 書込みアクセスタイプの検出が 行われます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 333 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ ブレークポイントビットの許可 : [bit7] EP3 ( ブレークポイント 3 ビットの許可ビット ) 0 ブレークポイント 3 ビットは無効です ( 初期値 ) 。 1 ブレークポイント 3 ビットは有効です。 EP3 ビットが有効な場合 , CMP1 の入力値はポイント 3 ビットの内容と比較されます (BAD インデックス = 3 + グループオフセット , グループ 0 ch.3 の場合 BAD3, グループ 1 ch.3 の場合 BAD7, ...) 。 EM1 ビットでマスク機能が有効になっている場合は , 入力値およびポイント値がマスクされます。コンペア一致 で , ブレーク例外が実行されます。入力値の選択とブレーク例外の種類を CTC および MPE が制御します。 [bit6] EP2 ( ブレークポイント 2 ビットの許可ビット ) 0 ブレークポイント 2 ビットは無効です ( 初期値 ) 。 1 ブレークポイント 2 ビットは有効です。 EP2 ビットが有効な場合 , CMP1 の入力値はポイント 2 ビットの内容と比較されます (BAD インデックス = 2 + グループオフセット , グループ 0 ch.2 の場合 BAD2, グループ 1 ch.2 の場合 BAD6, ...) 。 EM1 でマスク機能が有効になっている場合は , 入力値およびポイント値がマスクされます。コンペア一致で , ブ レーク例外が実行されます。入力値の選択とブレーク例外の種類を CTC および MPE が制御します。 EP2 ビットによって , ポイント 2 を有効にして割り当てる以外に , マスクビットの選択が制御されます。ポイント 2 は , CMP1 マスク値を格納するデフォルトの場所でもあります。ただし , ポイント 2 が有効な場合 , マスクをそこ に格納できず , CMP1 のマスク入力はポイント 0 ( 反対のコンパレータ ) に切り換わります。 [bit5] EP1 ( ブレークポイント 1 ビットの許可ビット ) 0 ブレークポイント 1 ビットは無効です ( 初期値 ) 。 1 ブレークポイント 1 ビットは有効です。 EP1 ビットが有効な場合 , CMP0 の入力値はポイント 1 ビットの内容と比較されます (BAD インデックス = 1 + グループオフセット , グループ 0 ch.1 の場合 BAD1, グループ 1 ch.1 の場合 BAD5, ...) 。 EM0 ビットでマスク機能が有効になっている場合は , 入力値およびポイント値がマスクされます。コンペア一致 で , ブレーク例外が実行されます。入力値の選択とブレーク例外の種類を CTC および MPE 制御します。 334 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit4] EP0 ( ブレークポイント 0 ビットの許可ビット ) 0 ブレークポイント 0 ビットは無効です ( 初期値 ) 。 1 ブレークポイント 0 ビットは有効です。 EP0 ビットが有効な場合 , CMP0 の入力値はポイント 0 ビットの内容と比較されます (BAD インデックス = 0 + グループオフセット , グループ 0 ch.0 の場合 BAD0, グループ 1 ch.0 の場合 BAD4, ...) 。 EM0 ビットでマスク機能が有効になっている場合は , 入力値およびポイント値がマスクされます。コンペア一致 で , ブレーク例外が実行されます。入力値の選択とブレーク例外の種類を CTC および MPE が制御します。 EP0 ビットによって , ポイント 0 を有効にして割り当てる以外に , マスクビットの選択が制御されます。ポイント 0 は , CMP0 マスク値を格納するデフォルトの場所でもあります。ただし , ポイント 0 が有効な場合 , マスクをそこ に格納できず , CMP0 のマスク入力はポイント 2 ( 反対のコンパレータ ) に切り換わります。 組合せビットセット (COMB=1) と共にメモリ保護が有効な場合 (MPE=1), アドレス範囲はポイント 3 およびポイ ント 2 によって定義され , コンパレータ COMB1 および COMB0 の両方に対して有効です。このため , ポイント 1 および 0 は CMP0 の範囲定義には必要なく , ポイントから独立して EP0 ビットおよび EP1 ビットを有効にします。 この場合 , これらは通常設定されます。したがって , ポイント 0 はコンパレータ CMP1 および CMP0 両方のマスク 値を格納するために使用でき , 上記の例外は適用されません。 マスクおよび範囲ビットの許可 : [bit3] EM1 (CMP1 のマスクの許可ビット ) 0 CMP1 のマスク機能は無効です ( 初期値 ) 。 1 CMP1 のマスク機能は有効です。 EM1 ビットが有効な場合 , コンパレータ CMP1 はこれらのビット位置のみと一致します。これらは "0" に設定されて おり , マスクレジスタによってマスクされていません。ポイントのすべての入力およびコンペア値自体は , マスク レジスタの値と OR で組み合わされます。コンペア動作ポイント一致または範囲検出は , これらの OR でマスク された値に基づいて派生します。 マスク値の適切な BADx レジスタ ( ポイント 2 または 0) の選択は , EP2 ビットおよび ER1 ビットによって異なりま す。両方のビットの少なくとも 1 つが有効な場合 , ポイント 2 の割当てが原因でマスク使用はポイント 0 に切り 換わります。そうではない場合は , ポイント 2 に格納されているデフォルトのマスクが CMP1 に適用されます。 [bit2] EM0 (CMP0 のマスクの許可ビット ) 0 CMP0 のマスク機能は無効です ( 初期値 ) 。 1 CMP0 のマスク機能は有効です。 EM0 ビットが有効な場合 , コンパレータ CMP0 はこれらのビット位置のみと一致します。これらは "0" に設定され ており , マスクレジスタによってマスクされていません。ポイントのすべての入力およびコンペア値自体は , マス クビットの値と OR で組み合わされます。コンペア動作ポイント一致または範囲検出は , これらの OR でマスクさ れた値に基づいて派生します。 マスク値の適切な BADx レジスタ ( ポイント 0 または 2) の選択は , EP0 ビットおよび ER0 ビットによって異なりま す。両方のビットの少なくとも 1 つが有効な場合 , ポイント 0 の割当てが原因でマスク使用はポイント 2 に切り 換わります。そうではない場合は , ポイント 0 に格納されているデフォルトのマスクが CMP0 に適用されます。 MPE=1 および COMB=1 の場合 , EP0 ビットおよび ER0 ビットの設定に関係なく , マスクはポイント 0 から取得 されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 335 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ [bit1] ER1 (CMP1 の範囲の許可ビット ) 0 範囲検出 CMP1 (ch.2, ch.3) は無効です ( 初期値 ) 。 1 範囲検出 CMP1 (ch.2, ch.3) は有効です。 ER1 ビットが有効な場合 , レジスタ BADx, ポイント 3, ポイント 2 が以下のように範囲の比較に使用されます。 ポイント 2 ≦コンペア値≦ポイント 3。 EM1 ビットによってマスクが設定されている場合 , 両方のポイントビットはマスクビットの内容によってマスク されます。 ポイント 3 およびポイント 2 は BAD[x + 3] および BAD[x + 2] から取得され , マスクはポイント 0, BAD[x + 0] に格納されます。 "x" はグループオフセットで , グループインデックスに 4 を掛けて計算します。 [bit0] ER0 (CMP0 の範囲の許可ビット ) 0 範囲検出 CMP0 (ch.0, ch.1) は無効です ( 初期値 ) 。 1 範囲検出 CMP0 (ch.0, ch.1) は有効です。 ER0 ビットが有効な場合 , レジスタ BADx, ポイント 1, ポイント 0 が以下のように範囲の比較に使用されます。 ポイント 0 ≦コンペア値≦ポイント 1。 EM0 ビットによってマスクが設定されている場合 , 両方のポイントレジスタはマスクビットの内容によってマス クされます。 MPE=1 かつ COMB=1 という特殊な場合 , ポイント 1 およびポイント 0 は反対のチャネル BAD[x + 3] および BAD[x + 2] から取得され , マスクはポイント 0, BAD[x + 0] に格納されます。それ以外の場合は , ポイント 1 およ びポイント 0 は BAD[x + 1] および BAD[x + 0] から取得され , マスクはポイント 2, BAD[x + 2] に格納されます。 "x" はグループオフセットで , グループインデックスに 4 を掛けて計算します。 ● ブレークアドレス / データレジスタ (BAD0 ∼ BAD31) BADx レジスタによって , 各チャネルのグループ 2 個に対して 8 個のブレークポイントアドレス , データ値 , またはマスク情報が定義されます。チャネルのグループごとに , 4 つの専用 BAD レジスタがあります。BAD0, BAD1, BAD2, BAD3 はグループ 0 に属し , BAD4, BAD5, BAD6, BAD7 はグループ 1 に属します。以降も同様です。 グループ 0 のレジスタについて以下で説明する機能は , ほかのすべてのグループについても当てはまります。BADx レジスタのインデックスは , 次のグループのインデックスについてはそれぞれ 4 加算する必要があります。 BAD(4n) n=0 to 1 アドレス +0 +1 +2 +3 00F080H XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX このレジスタでは , CMP0 のブレークポイント 0 の 32 ビット比較値を設定します。(ER0 で設定される ) 範囲モー ドでは , BAD0 のレジスタ値は下位アドレス制限として機能します。また , BAD0 はマスクレジスタとして 使用することもできます。 MPE=1 かつ COMB=1 という特殊な場合 , BAD0 はポイント定義に使用されません。この場合 , CMP0 はポイント構 成を BAD2 から取得します。 336 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 26 章 MPU / EDSU 26.4 レジスタ MB91460N シリーズ BAD(4n + 1) n=0 to 1 アドレス +0 +1 +2 +3 00F084H XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX このレジスタでは , CMP0 のブレークポイント 1 の 32 ビット比較値を設定します。(ER0 ビットで設定される ) 範 囲モードでは , BAD1 のレジスタ値は上位アドレス制限として機能します。 MPE=1 かつ COMB=1 という特殊な場合 , BAD1 はポイント定義に使用されません。この場合 , CMP0 はポイント構 成を BAD3 から取得します。 BAD(4n + 2) n=0 to 1 アドレス +0 +1 +2 +3 00F088H XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX このレジスタでは , CMP1 のブレークポイント 2 の 32 ビット比較値を設定します。(ER1 ビットで設定される ) 範 囲モードでは , BAD2 のレジスタ値は下位アドレス制限として機能します。また , BAD2 はマスクレジスタとして 使用することもできます。 BAD(4n + 3) n=0 to 1 アドレス +0 +1 +2 +3 00F08CH XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX このレジスタでは , CMP1 のブレークポイント 3 の 32 ビット比較値を設定します。(ER1 ビットで設定される ) 範 囲モードでは , BAD3 のレジスタ値は上位アドレス制限として機能します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 337 338 ro FUJITSU MICROELECTRONICS LIMITED F0BCH BAD15 F0B8H BAD14 F0B4H BAD13 F0B0H BAD12 ... F08CH BAD3 F088H BAD2 F084H BAD1 F080H BAD0 F02CH BCR3 ... F020H BCR0 F010H BIRQ F00CH BOAC F008H 16 IDX3 ro ro SW IDX4 SR 15 ro IDX2 SX ro IDX1 UR UW point 3 point 2 / mask 1 point 1 point 0 / mask 0 point 3 point 2 / mask 1 point 1 point 0 / mask 0 SRX1 SW1 SRX1 SW1 SRX0 SW0 URX1 UW1 URX0 UW0 SRX0 SW0 URX1 UW1 URX0 UW0 7 ro ro 0 BD8 ro MPE COMB CTC1 CTC0 OBS1 OBS0 OBT1 OBT0 CMP1: IA, OA, OA, OA8, 16, 32, alll r, rmw, w, all CMP0: IA, OA, IA, DT MPE COMB CTC1 CTC0 OBS1 OBS0 OBT1 OBT0 BD9 ro EP3 EP3 BD7 ro EP2 EP2 BD6 ro EP1 EP1 BD5 PV EP0 EP0 BD4 ro/ac RST EM1 EM1 BD3 INT1 EM0 EM0 BD2 INT0 LIN-USART0, 1, 2, CAN Device select (Rst) (Breakx) ER1 ER1 BD1 ro INTT ER0 ER0 BD0 ro INTR FCPU FDMA EEMM PFD SINT1 SINT0 EINT1 EINT0 EINTT EINTR 8 IDX0 CDMA CSZ1 CSZ0 CRW1 CRW0 UW BD31 BD30 BD29 BD28 BD27 BD26 BD25 BD24 BD23 BD22 BD21 BD20 BD19 BD18 BD17 BD16 BD15 BD14 BD13 BD12 BD11 BD10 ro ro: read only BIAC ac: auto clear 23 F004H 24 BSTAT F000H BCTRL 31 第 26 章 MPU / EDSU 26.5 クイックリファレンス MB91460N シリーズ 26.5 クイックリファレンス 図 26.5-1 レジスタのクイックリファレンス CM71-10149-1 第 26 章 MPU / EDSU 26.5 クイックリファレンス MB91460N シリーズ 図 26.5-2 コンパレータグループの構成 (2 つのグループについて説明 ) BCR1 BCR1 OBS1 OBS一致 BAD7 ポイント3 BAD6 ポイント2 IA/OA BD3 BD7 マスク1 CMP1 BD2 BD6 CTC IA OA 値 コンパレータグループ1 BAD5 ポイント1 BAD4 ポイント0 IA/OA/DT BD1 BD5 マスク0 CMP0 BD0 BD4 値 BCR0 BCR0 OBS0 OBS一致 BAD3 ポイント3 BAD2 ポイント2 IA/OA BD3 BD3 マスク1 CMP1 BD2 BD2 CTC IA OA ブレーク検出評価 CTC IA OA DT 値 コンパレータグループ0 ポイント1 BAD0 ポイント0 IA/OA/DT BD1 BD1 マスク0 CMP0 BD0 BD0 IA OA DT CM71-10149-1 CTC BAD1 値 FUJITSU MICROELECTRONICS LIMITED 339 第 26 章 MPU / EDSU 26.5 クイックリファレンス 340 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.1 I/O ポート機能 MB91460N シリーズ 第 27 章 I/O ポート 27.1 I/O ポート機能 リソース機能を許可する方法については , をご参照ください。 表 27.1-1 I/O ポート機能 (1 / 4) 端子番号 端子名 入出力 P29_0 ∼ P29_7 汎用入出力ポートです。 I/O 2∼9 AN0 ∼ AN7 A/D コンバータ用アナログ入力端子です。 P24_0 ∼ P24_2 汎用入出力ポートです。 I/O 10 ∼ 12 INT0 ∼ INT2 外部割込み入力端子です。 P24_3 13 INT3 汎用入出力ポートです。 I/O MONCLK 15 19 20 21 INT4 汎用入出力ポートです。 I/O 外部割込み入力端子です。 SDA2 I2C バスデータ入出力端子です。 P24_5 汎用入出力ポートです。 INT5 I/O 外部割込み入力端子です。 SCL2 I2C バスクロック入出力端子です。 P24_6 汎用入出力ポートです。 INT6 I/O 外部割込み入力端子です。 SDA3 I2C バスデータ入出力端子です。 P24_7 汎用入出力ポートです。 INT7 I/O 外部割込み入力端子です。 SCL3 I2C バスクロック入出力端子です。 P22_0 汎用入出力ポートです。 RX4 I/O INT12 CAN4 の RX 入力端子です。 外部割込み入力端子です。 P22_1 22 汎用入出力ポートです。 I/O TX4 CM71-10149-1 外部割込み入力端子です。 クロックモニタ出力端子です。 P24_4 14 機能 CAN4 の TX 出力端子です。 FUJITSU MICROELECTRONICS LIMITED 341 第 27 章 I/O ポート 27.1 I/O ポート機能 MB91460N シリーズ 表 27.1-1 I/O ポート機能 (2 / 4) 端子番号 端子名 入出力 P22_2 23 RX5 汎用入出力ポートです。 I/O INT13 汎用入出力ポートです。 I/O TX5 CAN5 の TX 出力端子です。 P20_0 25 SIN2 汎用入出力ポートです。 I/O AIN0 SOT2 汎用入出力ポートです。 I/O BIN0 汎用入出力ポートです。 SCK2 LIN-USART2 のクロック入出力端子です。 I/O CK2 フリーランタイマの入力端子です。 ZIN0 アップダウンカウンタ用入力端子です。 P20_4 28 SIN3 汎用入出力ポートです。 I/O AIN1 SOT3 汎用入出力ポートです。 I/O BIN1 汎用入出力ポートです。 SCK3 LIN-USART3 のクロック入出力端子です。 I/O CK3 フリーランタイマの入力端子です。 ZIN1 アップダウンカウンタ用入力端子です。 P15_0 31 OCU0 TOT0 342 LIN-USART3 のデータ出力端子です。 アップダウンカウンタの入力端子です。 P20_6 30 LIN-USART3 のデータ入力端子です。 アップダウンカウンタ用入力端子です。 P20_5 29 LIN-USART2 のデータ出力端子です。 アップダウンカウンタ用入力端子です。 P20_2 27 LIN-USART2 のデータ入力端子です。 アップダウンカウンタ用入力端子です。 P20_1 26 CAN5 の RX 入力端子です。 外部割込み入力端子です。 P22_3 24 機能 汎用入出力ポートです。 I/O アウトプットコンペア出力端子です。 リロードタイマ出力端子です。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.1 I/O ポート機能 MB91460N シリーズ 表 27.1-1 I/O ポート機能 (3 / 4) 端子番号 端子名 入出力 P15_1 32 OCU1 機能 汎用入出力ポートです。 I/O TOT1 アウトプットコンペア出力端子です。 リロードタイマ出力端子です。 34 X0 ⎯ クロック ( 発振 ) 入力です。 35 X1 ⎯ クロック ( 発振 ) 出力です。 36 MD3 I モード設定端子です。 37 MD2 I モード設定端子です。 38 MD1 I モード設定端子です。 39 MD0 I モード設定端子です。 40 INITX I 外部リセット入力です。 P15_2 41 42 OCU2 汎用入出力ポートです。 I/O TOT2 リロードタイマ出力端子です。 P15_3 汎用入出力ポートです。 OCU3 I/O TOT3 43 ∼ 47, 50 ∼ 52 P17_7 ∼ P17_0 汎用入出力ポートです。 I/O PPG7 ∼ PPG0 PPG タイマ出力端子です。 SCK1 汎用入出力ポートです。 I/O CK1 汎用入出力ポートです。 I/O SOT1 LIN-USART1 のデータ出力端子です。 P21_4 55 汎用入出力ポートです。 I/O SIN1 LIN-USART1 のデータ入力端子です。 P21_2 SCK0 CK0 CM71-10149-1 LIN-USART1 のクロック入出力端子です。 フリーランタイマの入力端子です。 P21_5 54 56 アウトプットコンペア出力端子です。 リロードタイマ出力端子です。 P21_6 53 アウトプットコンペア出力端子です。 汎用入出力ポートです。 I/O LIN-USART0 のクロック入出力端子です。 フリーランタイマの入力端子です。 FUJITSU MICROELECTRONICS LIMITED 343 第 27 章 I/O ポート 27.1 I/O ポート機能 MB91460N シリーズ 表 27.1-1 I/O ポート機能 (4 / 4) 端子番号 端子名 入出力 P21_1 57 汎用入出力ポートです。 I/O SOT0 LIN-USART0 のデータ出力端子です。 P21_0 58 汎用入出力ポートです。 I/O SIN0 LIN-USART0 のデータ入力端子です。 P14_3 汎用入出力ポートです。 ICU3 59 インプットキャプチャ入力端子です。 I/O TIN3 リロードタイマの外部トリガ入力端子です。 TTG3 PPG タイマ入力端子です。 P14_2 汎用入出力ポートです。 ICU2 60 インプットキャプチャ入力端子です。 I/O TIN2 リロードタイマの外部トリガ入力端子です。 TTG2 PPG タイマ入力端子です。 P14_1 汎用入出力ポートです。 ICU1 インプットキャプチャ入力端子です。 I/O 61 TIN1 リロードタイマの外部トリガ入力端子です。 TTG1 PPG タイマ入力端子です。 P14_0 汎用入出力ポートです。 ICU0 62 344 機能 インプットキャプチャ入力端子です。 I/O TIN0 リロードタイマの外部トリガ入力端子です。 TTG0 PPG タイマ入力端子です。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 27.2 ポートレジスタの設定 27.2.1 一般規則 すべてのポートに対して , 次の規則が適用されます。 1. ポートがソフトウェアで設定される前の段階で横断電流が変動するのを避けるために , ポート入力はすべ て , デフォルトで無効になっています。各ポート端子をその機能に応じて設定した後 , グローバルポート許可 (PORTEN:GPORTEN) でポート入力を許可する必要があります。 「27.2.3 ポート入力許可レジスタ 」を参照し てください。 2. ポートごとに , CLKP で端子データをサンプリングするポートデータレジスタ直接読出し (PDRD) がありま す。このレジスタはリードオンリーです。 3. ポートごとに , ポートの入力 / 出力方向を切換えるデータ方向レジスタ (DDR) があります。リセット後 , すべ てのポートは入力になります (DDR=00H)。 • ポート入力モード (PFR = 0 および DDR = 0) PDRD 読出し : サンプリングされた端子データが読み出されます。 PDR 読出し : サンプリングされた端子データが読み出されます。 PDR 書込み :PDR 設定値が書き込まれますが , 端子値に何も影響しません。 • ポート出力モード (PFR = 0 および DDR = 1) PDRD 読出し : サンプリングされた端子データが読み出されます。 PDR 読出し :PDR レジスタ値が読み出されます。 PDR 書込み :PDR 設定値が対応する外部端子に書き込まれます。 4. リードモディファイライト命令 ( ビット演算 ) では , データ方向レジスタ (DDR) の設定にかかわらず , PDR レジスタは常に読出しになります。 5. 特定のポートに , ポート機能レジスタ (PFR) およびエクストラポート機能レジスタ (EPFR) があります。 EPFR=1 により決定される機能を有効にするには , PFR=1も設定する必要があります。MB91V460A 上で は ,EPFR=1 および PFR=0 設定の動作は , ポート入力 / 出力モード ( 予約 ) と同じです。 6. ポートごとに , 入力レベル (CMOS ヒステリシス / Automotive [/ TTL]) をビット単位で入力するポート入 力レベルレジスタ (PILR) があります。デフォルト値は , ポートの機能によって異なります。 入力レベルは , どのデバイスモードでも設定できます。 「27.2.5 ポート入力レベル選択 」を参照してください。 7. 特定のポートには , 自身のプルアップ / プルダウン許可レジスタ (PPER) およびプルアップ / プルダウン制 御レ ジ ス タ (PPCR) に よ り ビ ッ ト 単 位 で 許 可 さ れ る プ ル ア ッ プ / プ ル ダ ウ ン (50 kΩ) が あ り ま す。 「27.2.6 プログラマブルプルアップ / プルダウン抵抗 」を参照してください。 8. ポートごとに, 1 つまたは 2 つのポート機能レジスタ, PFR およびエクストラ PFR (EPFR) (必要に応じて) 「27.2.4 ポート機能レジスタ があります。合わせて , 端子当たり最大 3 リソース I/O の役割を果たします。 設定 」を参照してください。 9. MD[2:0] 端子およびモードレジスタ MODR で制御されるポート設定は , ポートレジスタ内の設定を上書き します。例えば , 外部バスモードはポートレジスタの設定を上書きします。外部バス信号出力は , 端子の PFR をポートモード (PFR=0) に設定すると , 無効にできます。 10.リソース入力ラインは , 通常 , 端子に接続され , リソース内の適切な機能を設定すると有効になります。 「27.2.4 ポート機能レジスタ設定 」に示す例外があります。 11.外部割込み入力ラインは , 常に端子に接続され , 外部割込みユニットで有効になります。 12.(STCR:STOP が設定され , STCR:HIZ が設定されない ) STOP モードでは , すべての端子が自分の状態 (STOP モードになる前の設定により入力または出力 ) を維持し , 入力段階およびラインは横断電流を避ける ために内部で固定されます。対応する端子が PFR =1 の設定を使って設定され , 対応する外部割込みが ENIR0, ENIR1 レジスタで許可されている場合 , 外部割込み入力端子は , 固定されません。プルアップ およびプ ルダウンは許可されます。 13.(STCR:STOP および STCR:HIZ が設定される) STOP-HIZ モードでは, すべての端子が入力 (ハイインピー ダンス状態 ) に切換えられ , すべての入力段階およびラインは変動を避けるために内部で固定されます。対 応する端子が PFR =1 の設定を使って設定され , 対応する外部割込みが ENIR0, ENIR1 レジスタで許可さ れている場合 , 外部割込み入力端子は , 固定されません。プルアップ およびプルダウンは禁止されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 345 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 14.リソース出力ラインは , ポート内の対応する PFR / EPFR ビットを設定することにより有効になります。詳 細は , 「27.2.4 ポート機能レジスタ設定 」を参照してください。さらに , LIN-USART 制御内の SOE ビッ トを設定して , LIN-USART 出力 (SOT) も有効にする必要があります。 15.リソース双方向信号 (LIN-USART の SCK など ) は , ポート内の対応する PFR / EPFR ビットを設定することに より有効になります。 信号方向は , 出力許可ビットなど , リソースの設定により制御されます。 詳細は ,「27.2.4 ポート機能レジスタ設定 」を参照してください。 346 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 27.2.2 I/O ポートブロックダイヤグラム 図 27.2-1 I/O ポートブロックダイヤグラム ポートバス PILR EPILR 外部バスインタフェース入力 周辺入力 TTL PDRD 読出し & 0 CLKP PDRD Automotive ヒステリシス CMOS ヒステリシス & & 1 STOP または GPORTEN PDR 読出し PPER 50 kΩ プルアップ / ダウン 制御 PPCR P-ch 出力ドライバ 1. 周辺出力 2. 周辺出力 アウトプット MUX PDR 端子 N-ch 50 kΩ DDR ポート 方向 制御 PFR EPFR PODR PDR: PDRD: DDR: PFR: EPFR: PODR: PILR: EPILR: PPER: PPCR: CM71-10149-1 ポートデータレジスタ ポートデータダイレクトレジスタ データ方向レジスタ ポート機能レジスタ エクストラ PFR ポート機能レジスタ ポート出力ドライブレジスタ ポート入力レベル選択レジスタ ポート入力レベル選択レジスタ ポートプルアップ / ダウン許可レジスタ ポートプルアップ / ダウン制御レジスタ アドレス 000H + #port ( ポート00: 000H, ポート01: 001H など ) アドレス = PDR + D00H アドレス = PDR + D40H アドレス = PDR + D80H アドレス = PDR + DC0H 必要に応じて 必要に応じて アドレス = PDR + E00H アドレス = PDR + E40H 必要に応じて 必要に応じて アドレス = PDR + E80H 必要に応じて アドレス = PDR + EC0H アドレス = PDR + F00H 必要に応じて FUJITSU MICROELECTRONICS LIMITED 347 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 27.2.3 ポート入力許可レジスタ ポート入力許可機能について説明します。 ■ PORTEN: ポート入力許可レジスタ bit7 アドレス 000498H PORTEN 6 5 4 3 2 1 0 初期値 ---- --00B − − − − − − CPORTEN GPORTEN − − − − − − R/W R/W I/O 入力時およびサブシーケンス時の横断電流の変動を避けるために , ポート入力はすべて , デフォルトで無効に なっています。機能仕様 (入力レベル, 出力ドライブ, プルアップまたはプルダウン抵抗など) に従ってすべてのポー トを設定した後で , ポート入力許可ビットを設定して入力を許可する必要があります。 GPORTEN 0 : すべてのポートの入力が無効です。 1 : すべてのポートの入力が有効です。 CPORTEN 0 : ブートローダー通信ポートの入力が無効です。 1 : ブートローダー通信ポートの入力が有効です。 27.2.4 ポート機能レジスタ設定 各ポートのポート機能レジスタについて説明します。 ■ P14: ポート 14 の機能は PFR14 および EPFR14 で制御されます。 アドレス bit 7 6 5 4 3 2 1 0 初期値 PFR14 000D8EH − − − − PFR14.3 PFR14.2 PFR14.1 PFR14.0 0000 0000B EPFR14 000DCEH − − − − EPFR14.3 EPFR14.2 EPFR14.1 EPFR14.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W P14_3 ∼ P14_0 端子は , インプットキャプチャ入力 ICU3 ∼ ICU0, リロードタイマトリガ TIN3 ∼ TIN0, および PWM 入力 TTG3 ∼ TTG0 の入力 / 出力です。それ以外の場合 , ポートは汎用ポートとして使用されます。 PFR14.3 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は TIN3 および TTG3 入力 EPFR14.3 0 : リソース機能は ICU3 入力 1 : ICU3 は LIN-USART 3 の LSYN に内部で接続されます PFR14.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は TIN2 および TTG2 入力 EPFR14.2 0 : リソース機能は ICU2 入力 1 : ICU2 は LIN-USART 2 の LSYN に内部で接続されます 348 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ PFR14.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は TIN1 および TTG1 入力 EPFR14.1 0 : リソース機能は ICU1 入力 1 : ICU1 は LIN-USART 1 の LSYN に内部で接続されます PFR14.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は TIN0 および TTG0 入力 EPFR14.0 0 : リソース機能は ICU0 入力 1 : ICU0 は LIN-USART 0 の LSYN に内部で接続されます CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 349 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P15: ポート 15 の機能は PFR15 および EPFR15 で制御されます。 アドレス PFR15 000D8FH EPFR15 000DCFH bit 7 − 6 5 4 3 2 1 0 初期値 − − − PFR15.3 PFR15.2 PFR15.1 PFR15.0 0000 0000B 0000 0000B − − − − EPFR15.3 EPFR15.2 EPFR15.1 EPFR15.0 R/W R/W R/W R/W R/W R/W R/W R/W P15_3 ∼ P15_0 端子は , アウトプットキャプチャ出力 OCU3 ∼ OCU0 およびリロードタイマ出力 TOT3 ∼ TOT0 の入力 / 出力です。それ以外の場合 , ポートは汎用ポートとして使用されます。 PFR15.3 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR15.3 0 : リソース機能は OCU3 出力 1 : リソース機能は TOT3 出力 PFR15.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR15.2 0 : リソース機能は OCU2 出力 1 : リソース機能は TOT2 出力 PFR15.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR15.1 0 : リソース機能は OCU1 出力 1 : リソース機能は TOT1 出力 PFR15.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR15.0 0 : リソース機能は OCU0 出力 1 : リソース機能は TOT0 出力 350 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P17: ポート 17 の機能は PFR17 で制御されます。 アドレス PFR17 000D91H bit 7 6 5 4 3 2 1 0 初期値 PFR17.7 PFR17.6 PFR17.5 PFR17.4 PFR17.3 PFR17.2 PFR17.1 PFR17.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W P17_7 ∼ P17_0 端子は , プログラマブルパルスジェネレータ出力 PPG7 ∼ PPG0 の入力 / 出力です。それ以外の 場合 , ポートは汎用ポートとして使用されます。 PFR17.7 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG7 出力 PFR17.6 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG6 出力 PFR17.5 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG5 出力 PFR17.4 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG4 出力 PFR17.3 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG3 出力 PFR17.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG2 出力 PFR17.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG1 出力 PFR17.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は PPG0 出力 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 351 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P20: ポート 20 の機能は PFR20 および EPFR20 で制御されます。 アドレス bit 7 6 5 4 3 2 1 0 初期値 PFR20 000D94H − PFR20.6 PFR20.5 PFR20.4 − PFR20.2 PFR20.1 PFR20.0 -000 -000B EPFR20 000DD4H − EPFR20.6 EPFR20.5 − − EPFR20.2 EPFR20.1 − -00- -00-B R/W R/W R/W R/W R/W R/W R/W R/W P20_6 ∼ P20_4, P20_2 ∼ P20_0 端子は , ch.2 および ch.3 の LIN-USART シリアル通信信号 SCK, SOT, SIN, ch.0 お よび ch.1 のアップ / ダウンカウンタ入力 ZIN, BIN, AIN, および ch.2 および ch.3 のフリーランタイマ FRT 入力 CK の入力 / 出力です。それ以外の場合 , ポートは汎用ポートとして使用されます。 PFR20.6 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR20.6 0 : リソース機能は SCK3 入力 / 出力 1 : リソース機能は ZIN1 および CK3 入力 PFR20.5 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR20.5 0 : リソース機能は SOT3 出力 1 : リソース機能は BIN1 入力 PFR20.4 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SIN3 および AIN1 入力 PFR20.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR20.2 0 : リソース機能は SCK2 入力 / 出力 1 : リソース機能は ZIN0 および CK2 入力 PFR20.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR20.1 0 : リソース機能は SOT2 出力 1 : リソース機能は BIN0 入力 PFR20.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SIN2 および AIN0 入力 352 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P21: ポート 21 の機能は PFR21 および EPFR21 で制御されます。 アドレス bit 7 6 5 4 3 2 1 0 初期値 PFR21 000D95H − PFR21.6 PFR21.5 PFR21.4 − PFR21.2 PFR21.1 PFR21.0 -000 -000B EPFR21 000DD5H − EPFR21.6 − − − EPFR21.2 − − -0-- -0--B R/W R/W R/W R/W R/W R/W R/W R/W P21_6 ∼ P21_4, P21_2 ∼ P21_0 端子は , ch.0 および ch.1 の LIN-USART シリアル通信信号 SCK, SOT, SIN, ch.0 および ch.1 のフリーランタイマ FRT 入力 CK の入力 / 出力です。それ以外の場合 , ポートは汎用ポートとして使 用されます。 PFR21.6 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR21.6 0 : リソース機能は SCK1 入力 / 出力 1 : リソース機能は CK1 入力 PFR21.5 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SOT1 出力 PFR21.4 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SIN1 入力 PFR21.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 EPFR21.2 0 : リソース機能は SCK0 入力 / 出力 1 : リソース機能は CK0 入力 PFR21.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SOT0 出力 PFR21.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SIN0 入力 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 353 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P22: ポート 22 の機能は PFR22 で制御されます。 アドレス PFR22 000D96H bit 7 6 5 4 3 2 1 0 初期値 − − − − PFR22.3 PFR22.2 PFR22.1 PFR22.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W P22_3 ∼ P22_0 端子は ,ch.4 および ch.5 の CAN シリアル通信信号 TX, RX, および外部割込み要求 INT13 ∼ INT12 の入力 / 出力です。それ以外の場合 , ポートは汎用ポートとして使用されます。 PFR22.3 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は TX5 出力 PFR22.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は RX5 入力 , および INT13 入力 <注意事項> この端子は , STOP-HIZ モードからの外部割込みウェイクアップをサポートします。このため , PFR が "1" に設定されており , ENIR1:EN13 を "1" に設定して割込みが有効な場合 , 内部入力ラインは STOP-HIZ モー ドで強制的に "L" になりません。 PFR22.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は TX4 出力 PFR22.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は RX4 入力 , および INT12 入力 <注意事項> この端子は , STOP-HIZ モードからの外部割込みウェイクアップをサポートします。このため , PFR が "1" に設定されており , ENIR1:EN12 を "1" に設定して割込みが有効な場合 , 内部入力ラインは STOP-HIZ モー ドで強制的に "L" になりません。 <注意事項> 通常 , ポート I/O 入力モード (PFR=0 および DDR=0) においても , 入力のみのリソース機能 (INT, ICU, CAN.RX, LIN-USART.SIN など ) を使用できます。その場合には , 内部入力ラインは STOP-HIZ モードで強 制的に "L" になります。 354 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P24: ポート 24 の機能は PFR24 で制御されます。 アドレス PFR24 000D98H bit 7 6 5 4 3 2 1 0 初期値 PFR24.7 PFR24.6 PFR24.5 PFR24.4 PFR24.3 PFR24.2 PFR24.1 PFR24.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W P24_7 ∼ P24_0 端子は, ch.2 およびch.3 の I2C シリアル通信信号 SCL, SDA, および外部割込みトリガ INT7∼ INT0 の入力 / 出力です。それ以外の場合 , ポートは汎用ポートとして使用されます。 PFR24.7 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SCL3 オープンドレイン , および INT7 入力 PFR24.6 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SDA3 オープンドレイン , および INT6 入力 PFR24.5 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SCL2 オープンドレイン , および INT5 入力 PFR24.4 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は SDA2 オープンドレイン , および INT4 入力 PFR24.3 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は INT3 入力 , およびクロックモニタが有効のときは MONCLK 出力 PFR24.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は INT2 入力 PFR24.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は INT1 入力 PFR24.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は INT0 入力 <注意事項> この端子は , STOP-HIZ モードからの外部割込みウェイクアップをサポートします。このため , PFR が "1" に設定されており , 各 ENIR0:EN ビット を "1" に設定して割込みが有効な場合 , 内部入力ラインは STOPHIZ モードで強制的に "L" になりません。通常 , ポート I/O 入力モード (PFR=0 および DDR=0) において も , 入力のみのリソース機能 (INT, ICU, CAN.RX, LIN-USART.SIN など ) を使用できます。その場合には , 内部入力ラインは STOP-HIZ モードで強制的に "L" になります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 355 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ■ P29: ポート 29 の機能は PFR29 で制御されます。 アドレス PFR29 000D9DH bit 7 6 5 4 3 2 1 0 初期値 0000 0000B PFR29.7 PFR29.6 PFR29.5 PFR29.4 PFR29.3 PFR29.2 PFR29.1 PFR29.0 R/W R/W R/W R/W R/W R/W R/W R/W P29_7 ∼ P29_0 端子は , A/D コンバータアナログ入力 AN7 ∼ AN0 の入力 / 出力です。それ以外の場合 , ポート は汎用ポートとして使用されます。 PFR29.7 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN7 入力 PFR29.6 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN6 入力 PFR29.5 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN5 入力 PFR29.4 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN4 入力 PFR29.3 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN3 入力 PFR29.2 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN2 入力 PFR29.1 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN1 入力 PFR29.0 0 : ポートは汎用ポートモードです。 1 : ポートはリソース機能モードです。 リソース機能は AN0 入力 356 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 27.2.5 ポート入力レベル選択 各ポートの入力レベルは , CMOS ヒステリシスタイプ 1 および2, Automotive ヒステリシスおよび TTL レベル 間のプログラム可能なビット単位です。 表 27.2-1 入力電圧 VIL/VIH VIL VIH CMOS 入力 0.3 × VDD 0.7 × VDD CMOS ヒステリシスタイプ1入力 0.3 × VDD 0.7 × VDD CMOS ヒステリシスタイプ2入力 0.2 × VDD 0.8 × VDD Automotive ヒステリシス入力 0.5 × VDD 0.8 × VDD 0.8 2.0 入力レベル TTL 入力 設定には , 各ポートのポート入力レベルレジスタ (PILR, EPILR) が使用されます。 表 27.2-2 MB91460N シリーズの設定 (GP14 ∼ GP29) CM71-10149-1 PILRx.y EPILRx.y ポート入力レベル 0 ( 初期値 ) 0 ( 初期値 ) CMOS ヒステリシス A 1 0 Automotive ヒステリシス 0 1 TTL 1 1 CMOS ヒステリシス B FUJITSU MICROELECTRONICS LIMITED 357 第 27 章 I/O ポート 27.2 ポートレジスタの設定 アドレス bit MB91460N シリーズ 7 6 5 4 3 2 1 0 初期値 PILR14 000E4EH − − − − PILR14.3 PILR14.2 PILR14.1 PILR14.0 ---- 0000B PILR15 000E4FH − − − − PILR15.3 PILR15.2 PILR15.1 PILR15.0 ---- 0000B PILR17 000E51H PILR17.7 PILR17.6 PILR17.5 PILR17.4 PILR17.3 PILR17.2 PILR17.1 PILR17.0 0000 0000B PILR20 000E54H − PILR20.6 PILR20.5 PILR20.4 − PILR20.2 PILR20.1 PILR20.0 -000 -000B PILR21 000E55H − PILR21.6 PILR21.5 PILR21.4 − PILR21.2 PILR21.1 PILR21.0 -000 -000B PILR22 000E56H − − − − PILR22.3 PILR22.2 PILR22.1 PILR22.0 ---- 0000B PILR24 000E58H PILR24.7 PILR24.6 PILR24.5 PILR24.4 PILR24.3 PILR24.2 PILR24.1 PILR24.0 0000 0000B PILR29 000E5DH PILR29.7 PILR29.6 PILR29.5 PILR29.4 PILR29.3 PILR29.2 PILR29.1 PILR29.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W 3 2 1 0 アドレス bit 7 6 5 4 EPILR14 000E8EH − − − − EPILR14_3 EPILR14_2 EPILR14_1 EPILR14_0 ---- 0000B EPILR15 000E8FH − − − − EPILR15_3 EPILR15_2 EPILR15_1 EPILR15_0 ---- 0000B EPILR17 000E91H EPILR20 000E94H − EPILR20_6 EPILR20_5 EPILR20_4 − EPILR20_2 EPILR20_1 EPILR20_0 -000 -000B EPILR21 000E95H − EPILR21_6 EPILR21_5 EPILR21_4 − EPILR21_2 EPILR21_1 EPILR21_0 -000 -000B EPILR22 000E96H − EPILR22_3 EPILR22_2 EPILR22_1 EPILR22_0 ---- 0000B EPILR24 000E98H EPILR24_7 EPILR24_6 EPILR24_5 EPILR24_4 EPILR24_3 EPILR24_2 EPILR24_1 EPILR24_0 0000 0000B EPILR29 000E9DH EPILR29_7 EPILR29_6 EPILR29_5 EPILR29_4 EPILR29_3 EPILR29_2 EPILR29_1 EPILR29_0 0000 0000B EPILR17_7 EPILR17_6 EPILR17_5 EPILR17_4 EPILR17_3 EPILR17_2 EPILR17_1 EPILR17_0 R/W 358 − R/W − R/W − R/W R/W FUJITSU MICROELECTRONICS LIMITED R/W R/W 初期値 0000 0000B R/W CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 27.2.6 プログラマブルプルアップ / プルダウン抵抗 次の表に示したポートには , ビット単位で有効になる , 50 kΩ のプルアップ抵抗があります。機能は , ポートプ ル許可レジスタ (PPER) により有効になり , ポートプル制御レジスタ (PPCR) により制御されます。 PPCR により , プルアップまたはプルダウンが選択されます。STOP-HiZ モード (STCR:STOP および STCR:HIZ が設定される ) で , プルアップ / プルダウンは自動的に無効になります。 ポートプルアップ / プルダウン許可レジスタ ビット PPERx.y アドレス bit 0 ( 初期値 ) 1 プルアップ / ダウン禁止 プルアップ / ダウン許可 7 6 5 4 3 2 1 0 初期値 PPER14 000ECEH − − − − PPER14.3 PPER14.2 PPER14.1 PPER14.0 ---- 0000B PPER15 000ECFH − − − − PPER15.3 PPER15.2 PPER15.1 PPER15.0 ---- 0000B PPER17 000ED1H PPER17.7 PPER17.6 PPER17.5 PPER17.4 PPER17.3 PPER17.2 PPER17.1 PPER17.0 0000 0000B PPER20 000ED4H − PPER20.6 PPER20.5 PPER20.4 − PPER20.2 PPER20.1 PPER20.0 -000 -000B PPER21 000ED5H − PPER21.6 PPER21.5 PPER21.4 − PPER21.2 PPER21.1 PPER21.0 -000 -000B PPER22 000ED6H − − − − PPER22.3 PPER22.2 PPER22.1 PPER22.0 ---- 0000B PPER24 000ED8H PPER24.7 PPER24.6 PPER24.5 PPER24.4 PPER24.3 PPER24.2 PPER24.1 PPER24.0 0000 0000B PPER29 000EDDH PPER29.7 PPER29.6 PPER29.5 PPER29.4 PPER29.3 PPER29.2 PPER29.1 PPER29.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 359 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ ポートプルアップ / プルダウン制御レジスタ ビット PPCRx.y 0 1 ( 初期値 ) プルダウンが選択されます プルアップが選択されます アドレス bit 7 6 5 4 3 2 1 0 初期値 PPCR14 000F0EH − − − − PPCR14.3 PPCR14.2 PPCR14.1 PPCR14.0 ---- 1111B PPCR15 000F0FH − − − − PPCR15.3 PPCR15.2 PPCR15.1 PPCR15.0 ---- 1111B PPCR17 000F11H PPCR17.7 PPCR17.6 PPCR17.5 PPCR17.4 PPCR17.3 PPCR17.2 PPCR17.1 PPCR17.0 1111 1111B PPCR20 000F14H − PPCR20.6 PPCR20.5 PPCR20.4 − PPCR20.2 PPCR20.1 PPCR20.0 -111 -111B PPCR21 000F15H − PPCR21.6 PPCR21.5 PPCR21.4 − PPCR21.2 PPCR21.1 PPCR21.0 -111 -111B PPCR22 000F16H − − − − PPCR22.3 PPCR22.2 PPCR22.1 PPCR22.0 ---- 1111B PPCR24 000F18H PPCR24.7 PPCR24.6 PPCR24.5 PPCR24.4 PPCR24.3 PPCR24.2 PPCR24.1 PPCR24.0 1111 1111B PPCR29 000F1DH PPCR29.7 PPCR29.6 PPCR29.5 PPCR29.4 PPCR29.3 PPCR29.2 PPCR29.1 PPCR29.0 1111 1111B R/W R/W R/W R/W R/W R/W R/W R/W <注意事項> PPCR レジスタのビットは , 付加された PPER レジスタのビットが "L" ( 抵抗が無効 ) の場合 , 書込みのみ です。 360 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 27 章 I/O ポート 27.2 ポートレジスタの設定 MB91460N シリーズ 27.2.7 プログラマブルポート出力ドライブ 次の表に示したポートには , ビット単位で許可される , プログラマブルな出力ドライブオプションがあります。 機能はポート出力ドライブレジスタ (PODR) により有効になります。 ポート出力ドライブレジスタ ビット PODRx.y 0 ( 初期値 ) 1 5 mA 出力ドライブ 2 mA 出力ドライブ アドレス bit 7 6 5 4 PODR14 000E0EH − − − − PODR14.3 PODR14.2 PODR15 000E0FH − − − − PODR15.3 PODR17 000E11H PODR17.7 PODR17.6 PODR17.5 PODR17.4 PODR20 000E14H − PODR20.6 PODR20.5 PODR21 000E15H − PODR21.6 PODR22 000E16H − PODR24 000E18H PODR29 000E1DH CM71-10149-1 3 2 0 初期値 PODR14.1 PODR14.0 ---- 0000B PODR15.2 PODR15.1 PODR15.0 ---- 0000B PODR17.3 PODR17.2 PODR17.1 PODR17.0 0000 0000B PODR20.4 − PODR20.2 PODR20.1 PODR20.0 -000 -000B PODR21.5 PODR21.4 − PODR21.2 PODR21.1 PODR21.0 -000 -000B − − − PODR22.3 PODR22.2 PODR22.1 PODR22.0 ---- 0000B PODR24.7 PODR24.6 PODR24.5 PODR24.4 PODR24.3 PODR24.2 PODR24.1 PODR24.0 0000 0000B PODR29.7 PODR29.6 PODR29.5 PODR29.4 PODR29.3 PODR29.2 PODR29.1 PODR29.0 0000 0000B R/W R/W R/W R/W R/W R/W R/W R/W FUJITSU MICROELECTRONICS LIMITED 1 361 第 27 章 I/O ポート 27.2 ポートレジスタの設定 362 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.1 概要 MB91460N シリーズ 第 28 章 LIN-USART 28.1 概要 この章では , LIN-USART の機能および動作について説明します。LIN (Local Interconnect Network) 機能を搭載した LIN-USART は , 外部デバイスとの同期または非同期通信に使用する汎用シリアルデータ通信インタフェースで す。 LIN-USART には , 双方向通信機能 ( 通常モード ), マスタ / スレーブ型通信機能 ( マスタ / スレーブシステムで のマルチプロセッサモード ), および LIN バスシステム ( マスタまたはスレーブデバイスとして動作 ) 用の機能 が搭載されています。 ■ LIN-USART 機能 LIN-USART は , CPU や周辺機器とのシリアルデータの送受信に使用する汎用シリアルデータ通信用のインタ フェースです。表 28.1-1 に LIN-USART の機能一覧を示します。 表 28.1-1 LIN-USART 機能 (1 / 2) 機能 項目 搭載チャネル 4 チャネル データバッファ 全二重方式 シリアル入力 非同期モードでは , 5 回のオーバーサンプリングを行い , サンプリング値の多数決により 受信値を決定。 転送モード - クロック同期 ( スタート / ストップ同期 , およびスタート / ストップビット選択 ) - クロック非同期 ( スタートビット , ストップビットの使用 ) ボーレート - 15 ビットリロードカウンタ搭載の専用ボーレートジェネレータが内蔵されてい ます。 - 外部クロックを入力し , リロードカウンタで調整することもできます。 データ長 - 7 ビット ( 同期モードまたは LIN モード以外 ) - 8 ビット 信号方式 NRZ (Non Return to Zero) スタートビットタイミング 非同期モード時は , スタートビットの立下りエッジに同期 受信エラー検出 - フレーミングエラー - オーバランエラー - パリティエラー 割込み要求 - 受信割込み ( 受信完了 , 受信エラー検出 , バスアイドル , LIN break 検出 ) - 送信割込み ( 送信データエンプティ ) マスタ / スレーブ通信機能 ( マルチプロセッサモード ) 1 対 n 通信 (1 つのマスタ対 n 個のスレーブ ) ( マスタおよびスレーブシステムの両方をサポート ) 同期モード マスタ USART またはスレーブ USART としての機能 データ送受信端子 シリアル入出力端子の状態を直接読出し可能 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 363 第 28 章 LIN-USART 28.1 概要 MB91460N シリーズ 表 28.1-1 LIN-USART 機能 (2 / 2) 機能 項目 LIN バスオプション - マスタデバイス動作 - スレーブデバイス動作 - LIN break 生成 - LIN break 検出 - ICU0 および ICU2 に接続している LIN synch field のスタート / ストップエッジの 検出 同期シリアルクロック 同期通信時に , スタートビットとストップビットを使って通信するために , SCK の常時出力可能。 クロック遅延オプション クロック遅延用の特殊同期クロックモード (SPI 用 ) ■ LIN-USART の動作モード LIN-USART には , 4 種類の動作モードがあります ( シリアルモードレジスタ (SMR) の MD0 および MD1 ビット で決定 ) 。モード 0 および 2 は双方向シリアル通信 , モード 1 はマスタ / スレーブ間通信 , モード 3 は LIN マスタ / スレーブ間通信に使用します。 表 28.1-2 LIN-USART の動作モード 動作 モード 0 ノーマルモード 1 マルチプロセッサ 2 ノーマルモード 3 LIN モード データ長 パリティなし 7 または 8 + 1 *2 − 8 8 ストップ ビットの長さ 非同期 1 または 2 LSB ファースト または MSB ファースト 非同期 1 または 2 LSB ファースト または MSB ファースト 同期 0, 1, または 2 LSB ファースト または MSB ファースト 非同期 1 LSB ファースト パリティあり 7 または 8 − データ方向 *1 同期方式 *1: データビットのフォーマットを示しています。LSB または MSB ファースト。 *2: " + 1" は , マルチプロセッサモードでのアドレス / データ選択ビット (AD) です。 ( 注意事項 ) モード 1 は , マスタとスレーブ動作の両方でサポートしています。モード 3 では , 通信フォーマット が 8 ビットデータ , パリティなし , ストップビット 1, LSB ファーストに固定されます。 動作モードを変更すると , LIN-USART はすべての送受信を切断した後 , 次の通信開始待ち状態となります。 シリアルモードレジスタ (SMR) の MD1 および MD0 ビットによって , LIN-USART の動作モードが決定されます。 以下の表を参照してください。 364 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.1 概要 MB91460N シリーズ 表 28.1-3 モードビット設定 MD1 MD0 モード 意味 0 0 0 非同期 ( ノーマルモード ) 0 1 1 非同期 ( マルチプロセッサモード ) 1 0 2 同期 ( ノーマルモード ) 1 1 3 非同期 (LIN モード ) ■ LIN-USART の割込み 表 28.1-4 LIN-USART の割込み 割込み要因 割込み番号 割込み制御レジスタ 割込みベクタ レジスタ名 アドレス オフセット デフォルトアドレス LIN-USART0 受信割込み #54(36H) ICR19 000453H 324H 0FFF24H LIN-USART0 送信割込み #55(37H) ICR19 000453H 320H 0FFF20H LIN-USART1 受信割込み #56(38H) ICR20 000454H 31CH 0FFF1CH LIN-USART1 送信割込み #57(39H) ICR20 000454H 318H 0FFF18H LIN-USART2 受信割込み #58(3AH) ICR21 000455H 314H 0FFF14H LIN-USART2 送信割込み #59(3BH) ICR21 000455H 310H 0FFF10H LIN-USART3 受信割込み #60(3CH) ICR22 000456H 30CH 0FFF0CH LIN-USART3 送信割込み #61(3DH) ICR22 000456H 308H 0FFF08H CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 365 第 28 章 LIN-USART 28.2 LIN-USART の構成 MB91460N シリーズ 28.2 LIN-USART の構成 ■ LIN-USART は以下のブロックで構成されます。 • • • • • • • • • • • リロードカウンタ 受信制御回路 受信用シフトレジスタ 受信用データレジスタ 送信制御回路 送信用シフトレジスタ 送信用データレジスタ エラー検出回路 オーバサンプリングユニット 割込み生成回路 LIN Break 生成 • LIN Break/Synch field 検出 • バスアイドル検出回路 • シリアルモードレジスタ (SMR) • シリアル制御レジスタ (SCR) • シリアルステータスレジスタ (SSR) • 拡張通信コントロールレジスタ (ECCR) • 拡張ステータス / コントロールレジスタ (ESCR) 366 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.2 LIN-USART の構成 MB91460N シリーズ 図 28.2-1 LIN-USART ブロックダイヤグラム (OTO, EXT, REST) CLK PE ORE FRE TIE RIE LBIE LBD BIE RBI TBI 送信クロック リロード カウンタ SCK 送信 制御 回路 受信 制御 回路 端子 受信再開 リロードカウンタ SIN 割込み 生成 回路 受信クロック 端子 スタートビット 検出 回路 送信 スタート回路 受信 ビットカウンタ 送信 ビットカウンタ 受信 パリティカウンタ 送信 パリティカウンタ 受信 IRQ 送信 IRQ TDRE SOT オーバ サンプリング ユニット 端子 RDRF 受信 終了 SOT SIN LIN break/ Synch field 検出回路 ICU への信号 SIN 受信 シフトレジスタ 送信 シフトレジスタ LIN Break 生成 回路 送信 開始 バスアイドル 検出 回路 エラー 検出 DMA への信号 RDR (FIFO) PE ORE FRE LBR LBL1 LBL0 TDR (FIFO) RBI TBI LBD 内部データバス PE ORE FRE RDRF TDRE BDS RIE TIE CM71-10149-1 SSR レジスタ MD1 MD0 (OTO) (EXT) (REST) UPCL SCKE SOE SMR レジスタ PEN P SBL CL A/D CRE RXE TXE SCR レジスタ LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES ESCR レジスタ FUJITSU MICROELECTRONICS LIMITED LBR MS SCDE SSM BIE RBI TBI ECCR レジスタ 367 第 28 章 LIN-USART 28.2 LIN-USART の構成 MB91460N シリーズ ■ 各ブロックの説明 • リロードカウンタ リロードカウンタは , 専用のボーレートジェネレータとして機能します。クロックの送受信用に , 外部入力ク ロックまたは内部クロックを選択できます。リロードカウンタには , リロード値用の 15 ビットレジスタが内 蔵されています。BGR0/BGR1 レジスタを使用して , 送信リロードカウンタのカウント値を読み出すことがで きます。 • 受信制御回路 受信制御回路は , 受信ビットカウンタ , スタートビット検出回路および受信パリティカウンタで構成されます。 受信ビットカウンタは , 受信データビットをカウントします。指定データ長の受信が完了すると , 受信ビット カウンタによって受信データレジスタフルフラグがセットされます。FIFO が有効な場合は , FIFO にデータが 積まれ , データ段数がトリガレベルに達するとフラグがセットされます。スタートビット検出回路は , シリア ル入力信号からスタートビットを検出し , リロードカウンタへ信号を送信して , スタートビットの立下りエッ ジに信号を同期します。受信パリティカウンタは , 受信データのパリティを計算します。 • 受信用シフトレジスタ 受信シフトレジスタは , ビット単位でデータをシフトしながら , SIN 端子からの受信データを取り込みます。受 信が完了すると , 受信データは , 受信シフトレジスタによって RDR レジスタへ転送されます。 • 受信用データレジスタ このレジスタには , 受信データが格納されます。シリアル入力データは , 変換後 , このレジスタに格納されます。 • 送信制御回路 送信ビットカウンタ , 送信スタート回路 , および送信パリティカウンタから構成されています。 送信ビットカウンタは , 送信データビットをカウントして , 設定したデータ長分の 1 データを送信します。 送信が完了すると , 送信データエンプティフラグがセットされます。このとき , 送信割込みが許可されていれ ば送信割込み要求を発生します。送信スタート回路は , TDR のデータ書込みで送信動作を開始します。 FIFO バッファが有効な場合は , 送信が完了すると , FIFO バッファから次のデータを取り出して送信動作を開 始します。FIFO バッファに積まれたデータがなくなると , 送信データエンプティフラグがセットされ , 割り込 みが許可されている場合は , 割り込み要求を発生します。送信スタート回路は , FIFO バッファへデータが積ま れると , 送信動作を開始します。 送信パリティカウンタは , パリティありの場合 , 送信するデータのパリティビットを生成します。 • 送信用シフトレジスタ 送信シフトレジスタは , TDR レジスタに書き込まれたデータもしくは , FIFO につまれたデータを自身に転送 し , ビット単位でデータをシフトしながら , SOT 端子へ出力します。 • 送信用データレジスタ このレジスタには送信データをセットします。このレジスタに書き込まれたデータはシリアルデータに変換さ れ , 出力されます。 • エラー検出回路 エラー検出回路は , 受信エラーの有無を確認します。エラーが検出された場合は , 該当するエラーフラグがセッ トされます。 • オーバサンプリングユニット オーバサンプリングユニットは , 非同期モード時に SIN 端子からの受信データを 5 回オーバサンプルします。同 期モードでは停止します。 • 割込み生成回路 割込み生成回路は , すべての受信または送信割込みを管理します。該当するイネーブルフラグが設定されている 場合は , 割込み要因が発生すると , 直ちに割込みが発生します。 368 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.2 LIN-USART の構成 MB91460N シリーズ • LIN break/Synch field 検出回路 LIN break/Synch field 検出回路は , LIN マスタノードがメッセージヘッダを送信すると , LIN break を検出しま す。LIN break が検出されると , LBD フラグビットがセットされます。インプットキャプチャユニットにより , synch field の 1 番目と 5 番目の立下りエッジが検出され , マスタノードが送信した実際のシリアルクロック時 間が測定されます。 • LIN break 生成回路 LIN break 生成回路は , 一定長の LIN break を生成します。 • バスアイドル検出回路 バスアイドル検出回路は , 送信も受信も実行されていない状態を検出します。送受信が実行されていない場合 , この回路によって TBI, RBI フラグビットがセットされます。 • シリアルモードレジスタ このレジスタでは , 以下の設定を行います。 • LIN-USART の動作モードの選択 • クロック入力ソースの選択 • 外部クロックの「1 対 1」接続か , リロードカウンタ接続するかの選択 • LIN-USART のリセット ( レジスタの設定を保持 ) • シリアルデータ端子への出力許可 / 禁止設定 • クロック端子への出力許可 / 禁止設定 • シリアル制御レジスタ このレジスタでは , 以下の設定を行います。 • パリティビット有無の設定 • パリティビットの選択 • ストップビット長の指定 • データ長の指定 • モード 1 でのフレームデータ形式の指定 • エラーフラグのクリア • 送信許可 / 禁止 • 受信許可 / 禁止 • シリアルステータスレジスタ このレジスタでは , 以下の設定を行ないます。 • 送受信やエラーの状態確認 • 転送方向 LSB ファースト /MSB ファーストの選択 • 受信割込み許可 / 禁止 • 送信割込み許可 / 禁止 • 拡張ステータス / コントロールレジスタ このレジスタでは , 以下の設定を行ないます。 • LIN Break field 割込み許可 / 禁止 • LIN Break field 検出 • LIN Break field 長選択 • SIN, SOT 端子への直接アクセス • LIN-USART 同期クロックモードでの連続クロック出力設定 • サンプリングクロックエッジ選択 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 369 第 28 章 LIN-USART 28.2 LIN-USART の構成 MB91460N シリーズ • 拡張通信制御レジスタ このレジスタでは , 以下の設定を行ないます。 • バスアイドル検出 • 同期クロック設定 • LIN Break field 生成 370 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.3 LIN-USART 端子 MB91460N シリーズ 28.3 LIN-USART 端子 ■ LIN-USART 端子 LIN-USART 端子は汎用ポートとしても動作します。表 28.3-1 に , 端子機能 , 入出力形式 , および LIN-USART の 使用に必要な設定を示します。 表 28.3-1 LIN-USART 端子 端子名 端子機能 SIN ポート I/O または シリアルデータ 入力 SOT ポート I/O または シリアルデータ 出力 SCK 入出力形式 プルアップ プルダウン スタン バイ制御 端子を使用するために 必要な設定 PFR:bit0 = 1 EPFR:bit0 = 0 CMOS および CMOS ヒステリ シス , Automotive ヒステリシス TTL 入力 ポート I/O または クロック入力 / 出力 プログラム 可能 あり 出力許可モードに設定します。 SMR:SOE = 1 PFR:bit1 = 1 EPFR:bit1 = 0 PFR:bit2 = 1 EPFR:bit2 = 0 クロック出力時に出力許可モード に設定します。 SMR:SCKE = 1 図 28.3-1 LIN-USART 端子のブロックダイヤグラム ポートバス PDR 読出し 周辺入力 周辺出力 PDR 端子 PFR DDR CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 371 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4 LIN-USART レジスタ 以下の図に , LIN-USART0 ∼ LIN-USART3 用のレジスタを示します。 図 28.4-1 LIN-USART0 ∼ LIN-USART3 レジスタ 372 アドレス bit15 bit8 bit7 000040H, 000041H SCR0( シリアル制御レジスタ 0) SMR0( シリアルモードレジスタ 0) 000042H, 000043H SSR0( シリアルステータスレジスタ 0) RDR0/TDR0(Rx, Tx データレジスタ 0) 000044H, 000045H ESCR0( 拡張ステータス / コントロールレジ スタ 0) ECCR0( 拡張通信制御レジスタ 0) 000048H, 000049H SCR1( シリアル制御レジスタ 1) SMR1( シリアルモードレジスタ 1) 00004AH, 00004BH SSR1( シリアルステータスレジスタ 1) RDR1/TDR1(Rx, Tx データレジスタ 1) 00004CH, 00004DH ESCR1( 拡張ステータス / コントロールレジ スタ 1) ECCR1( 拡張通信制御レジスタ 1) 000050H, 000051H SCR2( シリアル制御レジスタ 2) SMR2( シリアルモードレジスタ 2) 000052H, 000053H SSR2( シリアルステータスレジスタ 2) RDR2/TDR2(Rx, Tx データレジスタ 2) 000054H, 000055H ESCR2( 拡張ステータス / コントロールレジ スタ 2) ECCR2( 拡張通信制御レジスタ 2) 000058H, 000059H SCR3( シリアル制御レジスタ 3) SMR3( シリアルモードレジスタ 3) 00005AH, 00005BH SSR3( シリアルステータスレジスタ 3) RDR3/TDR3(Rx, Tx データレジスタ 3) 00005CH, 00005DH ESCR3( 拡張ステータス / コントロールレジ スタ 3) ECCR3( 拡張通信制御レジスタ 3) 000080H, 000081H BGR100( ボーレートジェネレータレジスタ 100) BGR000( ボーレートジェネレータレジスタ 000) 000082H, 000083H BGR101( ボーレートジェネレータレジスタ 101) BGR001( ボーレートジェネレータレジスタ 001) 000084H, 000085H BGR102( ボーレートジェネレータレジスタ 102) BGR002( ボーレートジェネレータレジスタ 002) 000086H, 000087H BGR103( ボーレートジェネレータレジスタ 103) BGR003( ボーレートジェネレータレジスタ 003) FUJITSU MICROELECTRONICS LIMITED bit0 CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.1 シリアル制御レジスタ (SCR) このレジスタでは , パリティビットの指定 , ストップビットおよびデータ長の選択 , モード 1 でのフレームデー タ形式の選択 , 受信エラーフラグのクリア , 送受信許可または禁止の設定を行います。 図 28.4-2 シリアル制御レジスタ (SCR) bit 15 14 PEN P 13 12 11 10 9 SBL CL AD CRE RXE TXE 初期値 00000000B 8 R/W R/W R/W R/W R/W W R/W R/W bit8 TXE 送信許可 0 送信禁止 1 送信許可 bit9 RXE 受信許可 0 受信禁止 1 受信許可 bit10 受信エラーのクリア CRE 書込み 読出し 0 無視 1 すべての受信エラーの クリア (PE, FRE, ORE) 常に "0" が読出される bit11 AD アドレス / データビット 0 データビット 1 アドレスビット bit12 CL ( データフレーム ) 長のクリア 0 7 ビット 1 8 ビット bit13 SBL ストップビット長 0 ストップビット 1 1 ストップビット 2 bit14 P パリティ選択 0 偶数パリティ 1 奇数パリティ bit15 PEN CM71-10149-1 R/W : リード / ライト可能 W : ライトオンリ : 初期値 パリティ許可 0 パリティなし 1 パリティあり FUJITSU MICROELECTRONICS LIMITED 373 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-1 シリアル制御レジスタ (SCR) の各ビットの機能 (1 / 2) ビット名 PEN:パリティ許可 ビット このビットは , シリアル非同期モードでの送信中にパリティビットを付加する か , または受信中にパリティビットを検出するかを選択します。 パリティビットは , モード 0 およびモード 2 で ECCR の SSM ビットがセット されている場合にのみ付加されます。このビットは , モード 1 ( マルチプロ セッサモード ), モード 3 (LIN) では "0" ( パリティなし ) に固定されます。 P:パリティ選択 ビット パリティビットありに設定した場合 , このビットで偶数 (0) または奇数 (1) パリ ティを選択します。 SBL:ストップ ビット長選択ビット このビットは , 非同期データフレームのストップビット長を選択します。 ECCR レジスタの SSM ビットが "1" に設定されている場合は , 同期データフ レームでも本ビットの設定が有効です。 モード 3(LIN) では , "0" 固定になります。 CL:データ長選択 ビット このビットは , 送信または受信データ長を指定します。モード 2 および 3 では , このビットは "1" (8 ビット ) に固定されます。 AD:アドレス / データ選択ビット * モード 1( マルチプロセッサモード ) で , 送受信するフレームのデータ形式を指 定します。本ビットは , ライト時は送信のアドレス / データ選択設定を行い , リード時は最後に受信した AD ビットの値を返します。 マスタは本ビットへの書き込みを行い , スレーブは本ビットを読み出してくだ さい。 •"0" を設定した場合:データフレームに設定されます。 •"1" を設定した場合:アドレスデータのフレームに設定されます。 ( 注意事項 ) •リードモディファイライト(RMW)命令使用時の読み出し時には, 設定したAD ビット値が読み出され , 通常読出し時は最後に受信した AD ビット値が読み 出されます。(RMW 命令実行時 , 設定値が勝手に書き換わるのを防止しま す。) • 本ビットは , 送信データレジスタがシフトレジスタにロードされると同時に 参照されますので , 送信データを書き込む前に本ビットの設定を行なってく ださい。 CRE:受信エラー フラグビットの クリア シリアルステータスレジスタ (SSR) の FRE, ORE, PE フラグをクリアするビッ トです。受信エラー割り込み要因ビットもクリアします。 •"1" 書込みで , エラーフラグがクリアされます。 •"0" 書込みでは , 影響ありません。 読み出し値は , 常に "0" です。 ( 注意事項 ) 受信動作禁止 (RXE=0) 後に受信エラーフラグをクリアしてください。 本ビットへ "1" を書き込むと , その時点で一旦受信動作を停止し , 即 , 再開され ます。そのため , 受信動作を禁止しておかなければ , 正常なデータを受信できな くなる可能性があります。 bit15 bit14 bit13 bit12 bit11 bit10 374 機能 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-1 シリアル制御レジスタ (SCR) の各ビットの機能 (2 / 2) ビット名 機能 RXE:受信許可 ビット LIN-USART の受信動作を許可/禁止します。モード 3 での LIN-brreak 検出には 影響しません。 •"0" を設定した場合:受信動作が禁止されます。 •"1" を設定した場合:受信動作が許可されます。 ( 注意事項 ) 受信中に受信動作を禁止 (RXE=0) した場合には , 直ちに受信動作を停止します。 この場合データは保証されません。 TXE:送信許可 ビット LIN-USART の送信動作を許可/禁止します。 •"0" を設定した場合:送信動作が禁止されます。 •"1" を設定した場合:送信動作が許可されます。 ( 注意事項 ) 送信中に送信動作を禁止 (TXE=0) した場合には , 直ちに送信動作を停止します。 この場合のデータは保証されません。 bit9 bit8 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 375 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.2 シリアルモードレジスタ (SMR) このレジスタでは , 動作モードおよびボーレートクロックを選択し , 該当する端子へのシリアルデータおよび クロックの出力を有効にするか否かを指定します。 図 28.4-3 シリアルモードレジスタ (SMR) の構成 bit 7 6 5 4 3 2 1 0 MD1 MD0 OTO EXT REST UPCL SCKE SOE R/W R/W R/W R/W W W R/W R/W 初期値 00000000B bit0 SOE 0 1 bit1 SCKE 0 1 シリアル出力許可 SOT 端子 (Hi-Z) 出力禁止 SOT 端子 (Tx データ ) 出力許可 シリアルクロック出力許可 外部シリアルクロック入力 内部シリアルクロック出力 bit2 UPCL 0 1 LIN-USART プログラム可能クリア ( ソフトウェアリセット ) 書込み 影響なし LIN-USART のリセット 読出し 常に "0" bit3 REST 0 1 bit4 EXT 0 1 専用リロードカウンタの再スタート 書込み 読出し 影響なし 常に "0" カウンタの再スタート 外部シリアルクロックソースの選択 内部ボーレートジェネレータ ( リロードカウンタ ) の使用 外部シリアルクロックソースの使用 bit5 OTO ボーレートジェネレータ ( リロードカウンタ ) を使用 1 外部クロックを使用 bit6 MD0 0 R/W W 376 : リード / ライト可能 : ライトオンリ : 初期値 1 対 1 外部クロック入力の許可 0 bit7 MD1 0 動作モード設定 モード 0:非同期ノーマル 1 0 モード 1:非同期マルチプロセッサ 0 1 モード 2:同期 1 1 モード 3:非同期 LIN FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-2 シリアルモードレジスタ (SMR) のビット機能 (1 / 2) ビット名 MD1 および MD0:動作 モード選択ビット bit7, bit6 機能 動作モードを設定します。 MD1 MD0 0 0 モード 0:非同期ノーマルモード [ 初期値 ] 0 1 モード 1:非同期マルチプロセッサモード 1 0 モード 2:同期モード 1 1 モード 3:非同期 LIN モード 動作モード設定 ( 注意事項 ) 動作モードの設定は , LIN-USART の動作停止中にしてください。 送受信中に動作モード設定をした場合 , そのとき送受信されたデータは保 証されません。 OTO:1 対 1 外部クロック 選択ビット モード 2 のスレーブモード (ECCR:MS=1) 時に使用します。 送受信クロックとして外部クロックを直接使用するか , 内部ボーレート ジェネレータから生成したクロックを使用するかを選択します。 •"0" を設定した場合:内部ボーレートジェネレータから生成したクロッ クが選択されます。 •"1" を設定した場合:外部シリアルクロック (SCK)が選択されます。 本レジスタのビット 4, EXT ビットを "0" に設定した場合 , 本ビットは "0" となり , 書き込みは無視されます。 ( 注意事項 ) モード 2 のスレーブモード時以外は , "0" に設定してください。 EXT:外部クロック選択 ビット 内部ボーレートジェネレータ ( リロードカウンタ ) のクロックを選択し ます。 •"0" を設定した場合:リソースの動作クロックが選択されます。 •"1" を設定した場合:外部シリアルクロック(SCK)が選択されます。 ( 注意事項 ) モード 2 のスレーブモードでは , "1" に設定してください。 REST:送信リロード カウンタビットの再開 内部ボーレートジェネレータ ( リロードカウンタ ) に対し , 再スタート をかけます。 •"1" を書き込んだ場合:リロードカウンタはリセットされて再スタート します。 •"0" を書き込んだ場合:影響ありません。 常に "0" が読み出されます。 bit5 bit4 bit3 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 377 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-2 シリアルモードレジスタ (SMR) のビット機能 (2 / 2) ビット名 機能 UPCL:LIN-USART プロ グ ラム可能クリアビット ( ソフトウェアリセット ) LIN-USART 内部および内部ボーレートジェネレータの初期化を行いま す。 "1" を書くと , LIN-USART を即時リセット ( ソフトウェアリセット ) しま す。ただし , レジスタの設定は維持されます。その際 , 送受信は中断さ れます。 すべての送受信割込み要因 (TDRE, RDRF, LBD, PE, ORE, FRE) は初期 値になります。割込み禁止および送信禁止に設定した後 , LIN-USART の リセットを行ってください。受信データレジスタはクリア (RDR=00H) され , リロードカウンタは再スタートします。 "0" を書き込んでも , 影響ありません。 常に "0" が読み出されます。 ( 注意事項 ) 本ビットに "1" を書き込む場合 , かならず , シリアル制御レジスタ (SCR) の TXE ビットを "0" に設定してください。 SCKE:シリアルクロック 出力許可 シリアルクロックの入出力ポートを制御するビットです。 •"0" を設定した場合:SCK 端子はシリアルクロック入力端子になりま す。 •"1" を設定した場合:SCK 端子はシリアルクロック出力端子となり , モード 2 でシリアルクロックを出力します。 モード 2 のスレーブモード(ECCR: MS=1)の場合 , 本ビットは "0" と なり , 書込みを行ってもその書き込みは無視され , "0" の状態を保持しま す。 ( 注意事項 ) •SCK端子をシリアルクロック入出力端子として使用する場合は, 必ず該 当する PFR/EPFR の設定を SCK にしてください。 • 外部シリアルクロックソース選択ビットを , 外部クロック選択 (EXT=1) にしてください。 SOE:シリアルデータ 出力許可ビット シリアルデータの出力を許可 / 禁止するビットです。 •"0" の場合:マークレベルを出力し続けます。 •"1" の場合:シリアルデータ出力になります。 bit2 bit1 bit0 378 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.3 シリアルステータスレジスタ (SSR) このレジスタでは , 送信ステータス , 受信ステータス , およびエラーステータスをチェックし , 送信 / 受信割込 みの許可 / 禁止設定を行います。 図 28.4-4 シリアルステータスレジスタ (SSR) の構成 bit 15 14 13 12 11 10 9 PE ORE FRE RDRF TDRE BDS RIE R R R R 8 TIE 初期値 00001000B R R/W R/W R/W 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 PE CM71-10149-1 R/W : リード / ライト可能 R : リードオンリ , このビットへの 書き込みは無効 : 初期値 パリティエラー 0 パリティエラーなし 1 パリティエラーあり FUJITSU MICROELECTRONICS LIMITED 379 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-3 シリアルステータスレジスタ (SSR) の各ビットの機能 (1 / 2) ビット名 機能 PE:パリティ エラーフラグ ビット • パリティが許可されているとき (SCR:PEN=1) に , 受信パリティエラーが発 生すると "1" にセットされます。 • シリアル制御レジスタの受信エラークリアビット (SCR:CRE) に "1" を書き 込むと "0" にクリアされます。 •本レジスタのbit9, RIEビットが"1"のとき, 本ビットが"1"にセットされると 受信割込み要求を出力します。 • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデータは無 効です。 ORE:オーバラン エラーフラグビット • 受信時にオーバランが発生すると "1" にセットされます。 • シリアル制御レジスタの受信エラークリアビット (SCR:CRE) に "1" を書き 込むと "0" にクリアされます。 •本レジスタのbit9, RIEビットが"1"のとき, 本ビットが"1"にセットされると 受信割込み要求を出力します。 • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデータは無 効です。 FRE:フレーミング エラーフラグ ビット • 受信時にフレーミングエラーが発生すると "1" にセットされます。 • シリアル制御レジスタの受信エラークリアビット (SCR:CRE) に "1" を書き 込むと "0" にクリアされます。 •本レジスタのbit9, RIEビットが"1"のとき, 本ビットが"1"にセットされると 受信割込み要求を出力します。 • 本フラグがセットされた場合は , 受信データレジスタ (RDR) のデータは無 効です。 ( 注意事項 ) ストップビット長選択ビットでストップビットが 2 に設定されている (SCR:SBL=1) 場合 , どちらのストップビットでも本ビットは "1" にセット されます。そのため , ストップビットの 2 ビット目で , 受信データが有効か 無効かを判断する必要があります。 RDRF:受信データ フルフラグビット • 受信データレジスタ (RDR) の状態を示すフラグです。 •FIFO未使用の場合, RDRに受信データがロードされると, "1"にセットされ, 受信データレジスタ (RDR) を読み出すと "0" にクリアされます。 •FIFOを使用している場合は, FIFOに貯まった有効データ数がトリガレベル に達すると "1" にセットされ , 下回ると "0" にクリアされます。 •本レジスタのbit9, RIEビットが"1"のとき, 本ビットが"1"にセットされると 受信割込み要求を出力します。 bit15 bit14 bit13 bit12 380 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-3 シリアルステータスレジスタ (SSR) の各ビットの機能 (2 / 2) ビット名 機能 TDRE:送信データ フルエンプティ ビット • 送信データレジスタ (TDR) の状態を示すフラグです。 •FIFO未使用の場合, TDRに送信データを書き込むと"0"となり, TDRに有効 なデータが存在していることを示します。データが送信シフトレジスタに ロードされて送信が開始されると "1" にセットされ , TDR に有効なデータ が存在していないことを示します。 •FIFO を使用している場合は , FIFO バッファに 1 つでも有効なデータがある と "0" となり , FIFO バッファが空になると "1" にセットされます。 •本レジスタのbit8, TIEビットが"1"のとき, 本ビットが"1"にセットされると 送信割込み要求を出力します。 • 本ビットが "1" のとき , 拡張通信制御レジスタの LIN break 生成ビット (ECCR:LBR) に "1" をセットすると本ビットは "0" となり , LIN Break field を生成します。その後 , TDR に有効なデータが存在していない場合 , 本 ビットは "1" に設定されます。 ( 注意事項 ) 初期状態では , 本ビットは "1" になっています。 BDS:転送方向 選択ビット 転送シリアルデータを最下位ビット側から転送するか (LSB ファースト ), 最上位ビット側から転送するか (MSB ファースト ) を選択するビットです。 モード 3 に設定した場合 , 本ビットは "0" となり , 書込みを行っても , その 書き込みは無視され , "0" を保持します。 •"0" を設定した場合:LSB ファースト。 •"1" を設定した場合:MSB ファースト。 ( 注意事項 ) 受信データレジスタ (RDR) への受信データの書込みのときにそのデータの 上位側と下位側を入れ替えているため RDR への受信データの書き込み後 , BDS ビットを書き換えた場合 , RDR のデータは無効になります。 bit9 RIE:受信割込み 要求の許可ビット •CPU への受信割込み要求出力の許可 / 禁止をするビットです。 •本ビットと受信データフルフラグビット(RDRF) が"1"の場合, または1つ以 上のエラーフラグビット (PE, ORE, FRE) が "1" の場合 , 受信割込み要求 を出力します。 bit8 TIE:送信割込み要 求の許可ビット •CPU への送信割込み要求出力の許可 / 禁止をするビットです。 •本ビットと送信データエンプティフラグビット(TDRE)が"1"の場合, 送信割 込み要求を出力します。 bit11 bit10 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 381 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.4 受信および送信データレジスタ (RDR/TDR) 受信データレジスタ (RDR) は , 受信データを格納します。送信データレジスタ (TDR) は送信データを格納し ます。RDR と TDR レジスタは , 同一アドレスに配置されています。 ( 注意事項 ) TDR は書込み専用レジスタ , RDR は読出し専用レジスタです。これらのレジスタは同じアドレスに 位置しているため , 読出し値と書込み値は異なります。したがって , INC/DEC 命令などの , リードモ ディファイライト (RMW) 操作を実行する命令は使用できません。 図 28.4-5 受信および送信データレジスタ (RDR/TDR) bit 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 : データレジスタ 読出し 受信データレジスタからの読出し 書込み 送信データレジスタへの書込み リード / ライト可能 ■ 受信: RDR は受信データを格納するレジスタです。SIN 端子へ送信されたシリアルデータ信号は , シフトレジスタで変 換され , このレジスタに格納されます。データ長が 7 ビットの場合 , 最上位のビット (D7) には "0" が設定され ます。受信が完了すると , このレジスタにデータが格納され , 受信データフルフラグビット (SSR: RDRF) が "1" に設定されます。この段階で受信割込みが許可されている場合 (SSR4: RIE="1"), 受信割込みが発生します。 ステータスレジスタ (SSR) の RDRF ビットが "1" のとき , RDR を読み出してください。RDR が読み出される と , RDRF ビットは自動的に "0" にクリアされます。受信割込みが許可されていて , エラーが発生しなかった 場合は , 受信割込みがクリアされます。 受信エラーが発生した場合 (SSR: PE, ORE, または FRE = 1), RDR 内のデータは無効です。 ■ 送信: 送信が有効にされている場合 , 送信対象のデータが送信データレジスタに書き込まれると , データは , 送信シ フトレジスタに転送された後 , シリアルデータに変換され , シリアルデータ出力端子 (SOT 端子 ) から送信さ れます。データ長が 7 ビットの場合 , 最上位のビット (D7) は送信されません。 このレジスタに送信データが書き込まれると , 送信データエンプティフラグビット (SSR: TDRE) が "0" にクリ アされます。送信シフトレジスタへの転送が完了すると , ビットは "1" に設定されます。TDRE ビットが "1" の 場合 , 次の送信データを書き込めます。送信割込みが許可されている場合 , 送信割込みが発生します。送信割込 みが生成されるか , TDRE ビットが "1" になった場合に , 次の送信データを書き込んでください。 382 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.5 拡張ステータス / コントロールレジスタ (ESCR) 拡張ステータス制御レジスタ (ESCR4) には , LIN Break field 割込み許可 / 禁止 , LIN Break field 長選択 , LIN Break field 検出 , SIN, SOT 端子への直接アクセス , USART 同期クロックモードでの連続クロック出力 , サン プリングクロックエッジの設定があります。 図 28.4-6 拡張ステータス / コントロールレジスタ (ESCR) の構成 bit 15 14 13 12 11 10 9 初期値 00000100B 8 LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES R/W R/W R/W R/W R/W R/W R/W R/W bit8 SCES 0 1 bit9 CCO 0 1 サンプリングクロックのエッジ選択 ( モード 2) クロックの立上りエッジでサンプリング ( 通常 ) クロックの立下りエッジでサンプリング ( 反転クロック ) 連続クロック出力 ( モード 2) 連続クロック出力禁止 連続クロック出力許可 bit10 シリアル入力 / 出力端子アクセス SIOP 0 1 bit11 SOPE 0 1 bit12 LBL1 0 1 0 1 書込み (SOPE = 1 の 場合 ) 読出し SOT は , 強制的に "0" になります。 SOT は , 強制的に "1" になります。 SIN の実際の値の読出し シリアル出力端子への直接アクセス許可 シリアル出力端子への直接アクセス禁止 シリアル出力端子への直接アクセス許可 bit13 LBL0 0 0 1 1 LIN break 長 13 bit times 14 bit times 15 bit times 16 bit times bit14 LIN break 検出 LBD 0 1 bit15 LBIE R/W CM71-10149-1 : リード / ライト可能 : 初期値 書込み 読出し * LIN break 検出フラグの クリア 影響なし LIN break 検出なし LIN break 検出あり LIN break 検出割込み許可 0 LIN break 検出割込み禁止 1 LIN break 検出割込み許可 FUJITSU MICROELECTRONICS LIMITED 383 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-4 拡張ステータス / コントロールレジスタ (ESCR) の各ビットの機能 (1 / 2) bit15 ビット名 LBIE:LIN break field 検出割込みの許可 ビット LBD:LIN break field 検出フラグ bit14 LBL1/LBL0: LIN break field 長選択 bit13, bit12 SOPE:シリアル出 力端子への直接アク セス許可 bit11 SIOP:シリアル入力 / 出力端子への直接 アクセス bit10 384 機能 LIN Break field 検出割込みを許可 / 禁止するビットです。 本ビットが "1"( 割込み許可 ) のときに , 本レジスタ bit14 の LIN Break field 検出フラグビット (LBD) が "1" になると割込みが発生します。 モード 1, 2 に設定した場合 , 本ビットは "0" となり , 書込みを行っても , そ の書き込みは無視されます。 モード 3 で LIN Break field が検出されると "1" にセットされます。( シリア ル入力が 11 ビット幅以上 "L" になると検出 ) "0" を書き込むと本ビットは "0" にクリアされます ( 割り込みが許可されて いる場合は , 割り込みもクリアされます )。 リードモディファイライト (RMW) 命令では常に "1" が読み出されます。 ( 注意事項 ) RMW 命令で読み出される "1" は , LIN Break field の検出を意味しません。 LIN Break field 検出は , 受信禁止 (SCR4:RXE=0) 状態でも検出します。 送信する LIN Break Field の生成時間を設定します。単位は , シリアルビッ トになります。 Lin Break Field は常に 11 ビット長で検出されます。 LBL1 LBL0 0 0 13 ビット分 0 1 14 ビット分 1 0 15 ビット分 1 1 16 ビット分 LIN Break Field 長選択ビット シリアルデータの出力が許可 (SMR:SOE=1) されているときに本ビットに "1" を設定すると , SOT 端子への直接アクセスを許可します。 ( 注意事項 ) SCR:TXE=1 で , 送信中又はモード 2 のスレーブモード時は本ビットの設定 にかかわらず , SOT 端子への直接アクセスはできません。 本レジスタ bit10 の SIOP と合わせて , 仕様は表 28.4-6 を参照してくださ い。 通常の読出し命令は , 常に SIN 端子の値を返します。 シリアル出力端子直接アクセス許可 (ESCR:SOPE=1) のときに , 本ビット に書込みを行うと , 書き込まれた値が SOT 端子から出力されます。 ( 注意事項 ) リードモディファイライト (RMW) 命令の場合は , 本レジスタに書き込まれ ている SOT からの出力固定値が読み出されます。 ビット操作命令などで , 意図せず SOT4 端子からの出力値が変更されない ようにするためです。 本レジスタ bit10 の SIOP と合わせて , 仕様は表 28.4-6 を参照してくださ い。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-4 拡張ステータス / コントロールレジスタ (ESCR) の各ビットの機能 (2 / 2) ビット名 CCO:連続クロック 出力許可ビット bit9 SCES: サンプリング クロックエッジ 選択ビット bit8 機能 同期通信時に , SCK 端子からのシリアルクロックを常に出力することを許 可します。 "0" を設定した場合は , シリアルクロックは連続で出力されません。通信時 のみ出力されます。 "1" を設定した場合は , 通信していないときもシリアルクロックは連続で出 力されます。 ( 注意事項 ) SCK 端子をクロック出力設定にしてください (SMR:SCKE=1)。 本ビットに "1" を設定する場合 , スタート / ストップビット付加設定 (ECCR4:SSM=1) にします。クロックが常に出力されますので , スタート / ストップビットが無ければ , 正常な通信ができません。 モード 0, 1, 3 とモード 2 のスレーブ設定のときは , 本ビットを "0" 設定し て下さい。 モード 2 のスレーブ設定 (ECCR4:MS=1) のとき , 本ビットを "1" に設定す ると , サンプリングエッジが立上りエッジから立下りエッジへ切り換わり ます。 モード 2 のマスタ設定 (ECCR4:MS=0) で SCK 端子がクロック出力のとき , 内部シリアルクロックと出力クロック信号が反転します。 モード 0, 1, 3 に設定した場合 , 本ビットは "0" となり , 書込みを行っても , その書き込みは無視されます。 表 28.4-5 SOPE と SIOP の相互作用の説明: SOPE 設定値 SOT4 端子への出力 0 なし 1 あり 0 なし 1 あり CM71-10149-1 SIOP へのアクセス形式 書き込み時 通常読み出し / 書き込み リードモディファイライト 命令実行時 通常書き込み 可能 FUJITSU MICROELECTRONICS LIMITED 読み出し時 SIN の端子状 態が読める SIOP ビットの 値が読める 385 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.6 拡張通信制御レジスタ (ECCR) 拡張通信制御レジスタでは , バスアイドル検出の設定 , 同期クロックの設定 , および LIN break field の生成を行 います。 図 28.4-7 拡張通信制御レジスタ (ECCR) の構成 bit 7 6 5 4 3 2 INV LBR MS SCDE SSM BIE 1 0 RBI TBI R/W W R/W R/W R/W R/W R R 初期値 000000XXB bit0 TBI * 送信バスアイドル検出 0 送信実行中 1 送信動作なし bit1 RBI * 受信バスアイドル検出 0 受信実行中 1 受信動作なし bit2 BIE * バスアイドル割込みの許可 0 バスアイドル割込み禁止 1 バスアイドル割込み許可 bit3 SSM モード 2 のスタート / ストップビット 0 同期モード 2 のスタート / ストップビットなし 1 同期モード 2 のスタート / ストップビットあり bit4 SCDE モード 2 のシリアルクロック遅延許可 0 クロック遅延禁止 1 クロック遅延許可 bit5 MS モード 2 のマスタ / スレーブ機能 0 マスタモード ( シリアルクロックの生成 ) 1 スレーブモード ( 外部シリアルクロックの受信 ) bit6 LIN break 生成 LBR 書込み 0 影響なし 1 LIN break の生成 読出し 常に "0" が読み出されま す bit7 INV 386 R/W : リード / ライト可能 R : リードオンリ W : ライトオンリ X : 不定値 : 初期値 シリアルデータの反転 0 シリアルデータを反転しません (NRZ 形式 ) 。 1 シリアルデータを反転します (RZ 形式 ) 。 * モード 2 では使用しないでください。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-6 拡張通信制御レジスタ (ECCR) の各ビットの機能 (1 / 2) ビット名 機能 bit7 INV:シリアルデータ の反転 このビットを "1" に設定すると , SOT 端子から出力されるシリアルデータ が , 反転します。 また , SIN 端子から入力されるシリアルデータが , 反転しているものとして 扱います。 SCK4 端子への影響はありません。 bit6 LBR:LIN break 生成ビット モード 3 において , 本ビットに "1" を設定すると拡張ステータス / コント ロールレジスタの LIN break field 長選択ビット (ESCR:LBL0/1) で設定され た長さの LIN Break field を生成します。 モード 0 時は , "0" を設定してください。 読出し時は常に "0" が読み出されます。 bit5 MS:マスタ / スレー ブモード選択ビット モード 2 においてマスタまたはスレーブモードを選択できます。 • "0" を設定した場合:マスタモードになり , 同期クロックを生成します。 • "1" を設定した場合:スレーブモードになり , 外部シリアルクロックで動作 します。 モード 0,1,3 に設定した場合は , 本ビットは "0" となり , 書込みを行っても , その書き込みは無視されます。 本ビットを変更する場合は , 送信禁止中 (SCR:TXE=0) に行ってください。 ( 注意事項 ) スレーブモード選択時は , クロックソースを外部クロックに設定し , 外部ク ロック入力を許可 (SMR:SCKE=0,EXT=1,OTO=1) にする必要があります。 bit4 SCDE:シリアル クロック遅延許可 ビット モード 2 のマスタモード動作時に , SCDE ビットに "1" を設定すると図 28.7-2/ 図 28.7-3 に示すような遅延したシリアルクロックを出力します。本ビットは SPI 動作に有効です。 モード 0, 1, 3 に設定した場合 , 本ビットは "0" となり , 書込みを行っても , そ の書き込みは無視されます。 ( 注意事項 ) スレーブモード時は“0”で使用してください。 bit3 SSM:スタート / ストップビットモー ド許可 モード 2 で本ビットに "1" を設定すると , スタート / ストップビットが同期 データフォーマットに付加されます。 • "0" を設定した場合:スタート / ストップビットが付加されません。 • "1" を設定した場合:送信時 , スタート / ストップビットが付加され , 受信時 , スタートビットを検出して , 受信を開始します。ストップビットでフレー ミングエラーの検出を行います。 動作モード 0, 1, 3 に設定した場合 , 本ビットは "0" となり , 書込みを行って も , その書き込みは無視されます。 bit2 BIE:バスアイドル 割込みの許可 本ビットは , バスアイドル割り込みの許可 / 禁止を設定します。 本レジスタの bit1,0 の受信 / 送信バスアイドルフラグ両方に "1" がセットさ れたとき , 本ビットに "1" が設定されていると , バスアイドル割り込みを発 生します。 ( 注意事項 ) 本ビットは , モード 2 では "1" に設定しないでください。 bit1 RBI:受信バスアイ ドルフラグビット SIN 端子が受信動作をしていないときに "1" になります。 ( 注意事項 ) モード 2 時は本ビットを使用できません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 387 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 表 28.4-6 拡張通信制御レジスタ (ECCR) の各ビットの機能 (2 / 2) ビット名 bit0 388 TBI:送信バスアイ ドルフラグビット 機能 SOT 端子に送信動作がない場合は "1" になります。 ( 注意事項 ) モード 2 のスレーブモード時は本ビットを使用できません。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.4 LIN-USART レジスタ MB91460N シリーズ 28.4.7 ボーレート / リロードカウンタレジスタ 0 および 1 (BGR0 / BGR1) ボーレートジェネレータレジスタでは , シリアルクロックの分周比を設定します。また , 送信リロードカウン タのカウント値も読み出せます。 図 28.4-8 ボーレート / リロードカウンタレジスタ 0 および 1 (BGR0 / BGR1) bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 初期値 00000000B 00000000B 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 bit0 ∼ bit7 BGR0 ボーレートジェネレータレジスタ 1 書込み リロード値の bit0 ∼ bit7 をカウンタに書き込みま す。 読出し カウント値の bit0 ∼ bit7 を読み出します。 bit8 ∼ bit15 BGR1 R/W : ボーレートジェネレータレジスタ 0 書込み リロード値の bit8 ∼ bit15 をカウンタに書き込み ます。 読出し カウント値の bit8 ∼ bit15 を読み出します。 リード / ライト可能 s ボーレートジェネレータレジスタは , シリアルクロックの分周比を決定します。 これらのレジスタには , バイトまたはワードアクセスで読出し / 書込みが可能です。 BGR14 は上位ビット , BGR04 は下位ビットに対応し , カウンタのリロード値の書き込みと送信リロードカウ ンタ値の読出しが可能です。 ボーレートジェネレータレジスタに "0" 以外の値を書き込むと , 即リロードカウンタへレジスタの値がロード され , リロードカウンタはカウントを開始します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 389 第 28 章 LIN-USART 28.5 LIN-USART の割込み MB91460N シリーズ 28.5 LIN-USART の割込み LIN-USART には , 受信割込みと送信割込みがあり , 次に示す要因で割込み要求を発生させることができます。 • 受信データが受信データレジスタ (RDR) にセットされた場合 , または受信エラーが発生した場合。 • 送信データが送信データレジスタ (TDR) から送信用シフトレジスタに転送され , エンプティになった場合。 • LIN Break field が検出された場合。 • 送信 , 受信共にバス動作が停止している場合。 ■ LIN-USART の割込み 表 28.5-1 LIN-USART の割込み制御ビットと割込み原因 送受信 フラグ レジスタ 割込み要 求フラグ ビット 動作モード 0 1 2 3 SSR RDRF ○ ○ ○ ○ 受信データ の RDR 書込 み SSR ORE ○ ○ ○ ○ オーバラン エラー SSR FRE ○ ○ △ ○ フレーミン グエラー SSR PE ○ × △ × パリティエ ラー ESCR LBD × × × ○ LIN Break field 検出 ESCR: LBIE (ESCR:LBD) への "0" 書込み , プログラマブル リセットビット (SMR:UPCL) への "1" 書 込み SSR TDRE ○ ○ ○ ○ 送信レジス タが空 SSR:TIE 送信データの書込み , LIN Break field 生成ビッ ト (ECCR:LBR) への "1" 書込み ICS ICP ○ × × ○ LIN synch field の最初 の立下り エッジ ICS:ICE インプットキャプチャ割 り込み要求フラグ (ICS:ICE) のクリア。 ICS ICP ○ × × ○ LIN synch field の 5 回 目の立下り エッジ ICS:ICE インプットキャプチャ割 り込み要求フラグ (ICS:ICE) のクリア。 受信 送信 Input Capture Unit 割込み要因 割込み要因 許可ビット 割込み要求フラグの クリア SSR:RIE 受信データの読出し , プ ログラマブルリセット ビット (SMR:UPCL) へ の "1" 書込み 受信エラーフラグクリア ビット (SCR:CRE) へ の "1" 書込み , プログラ マブルリセットビット (SMR:UPCL) への "1" 書 込み ○: 使用ビット ×: 未使用ビット △: スタート / ストップビット付加時 (ECCR:SSM=1) のみ使用可能 390 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.5 LIN-USART の割込み MB91460N シリーズ ■ 受信割込み 受信モードで , 以下のいずれかのイベントが発生すると , シリアルステータスレジスタ (SSR) の該当するフラ グビットが "1" に設定されます。 • データの受信完了 ( 受信したデータがシリアル入力シフトレジスタから受信データレジスタ (RDR) へ転送 され , データが読出し可能な状態にある ) :RDRF • オーバランエラー (RDRF = 1 であるにもかかわらず , CPU によって RDR が読み出されなかった ) :ORE • フレーミングエラー ( 停止ビットを予期していたにもかかわらず , "0" ビットを受信した ) :FRE • パリティエラー ( 不正なパリティビットが検出された ) :PE 受信割込みが有効になっている場合 (SSR: RIE = 1), 上記のフラグビットの 1 つが "1" に設定されると , 受信割込み要求が生成されます。 受信データレジスタ (RDR) の読出しが実行されると , RDRF フラグは自動的に "0" にクリアされます。RDRF フラグをリセットするには , この方法以外ありません。FIFO が有効な場合は , トリガレベルを下回った時点で "0" にクリアされます。シリアルコントロールレジスタ (SCR) の受信エラー (CRE) フラグビットを "1" に設定 すると , エラーフラグが "0" にクリアされます。RDRF フラグが "1" で , エラービットがセットされていなけれ ば , RDR4 に含まれているデータは有効です。 CRE フラグは「書込み専用」であるため , このフラグを "1" に設定すると , CPU クロック 1 サイクル分 , "1" が ホールドされます。 ■ 送信割込み 送信データレジスタ (TDR) から送信シフトレジスタへ送信データが転送されると ( シフトレジスタが空になっ た場合に発生 ), シリアルステータスレジスタ (SSR) の送信データレジスタエンプティフラグビット (TDRE) が "1" に設定されます。このような場合 , SSR の送信割込みイネーブル (TIE) ビットが事前に "1" に設定されている と , 割込み要求が発生します。 TDRE の初期値 ( ハードウェアまたはソフトウェアリセット後 ) は "1" になっています。TIE フラグが "1" に なっている場合 , 割込みが直ちに発生することに注意してください。また , TDRE フラグをリセットするには , 送 信データレジスタ (TDR) にデータを書き込むか, LIN break field生成ビット(ECCR:LBR)に"1"を書き込みます。 ■ LIN break field 割込み この処理は , LIN-USART がモード 3 で動作している場合にのみ適用されます。 シリアル入力 の "L" ( ドミナント ) 状態が 11 ビットを超過すると , 拡張ステータス / コントロールレジスタ (ESCR) の LIN ブレーク検出 (LBD) フラグビットが "1" に設定されます。この場合 , 9 ビット後に受信エラーフ ラグが "1" に設定されるため , LIN break field のみを検出するには , RIE フラグまたは RXE フラグを "0" に設定す る必要があります。上記以外の場合は , まず受信エラー割込みが発生し , その後 , LBD = 1 になるまで , 割込みハ ンドラルーチンで待機する必要があります。 LBD フラグに "0" を書込むと , 割込みおよび LBD フラグがクリアされます。CPU が LIN break field を検出し たか否かは , これらの方法によって確認します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 391 第 28 章 LIN-USART 28.5 LIN-USART の割込み MB91460N シリーズ ■ LIN Synch field エッジ検出割込み LIN-USART が , モード 3 で動作している場合にのみ適用されます。 LIN break field が検出されると , LIN-USART はシリアル入力の次の立下りエッジを検出します。このとき , ICU に 入力されている信号が , 立ち上がります。 その後 , LIN-USART は , シリアル入力の 5 回目の立下りエッジを検出します。このとき , ICU に入力されている信 号が , 立ち下がります。 ICU を両エッジ検出に設定しておけば , ICU を使って LIN synch field の幅を得ることができます。この幅は , シリ アルクロックの 8 倍です。 幅はカウンタ値で得られます。この値をシリアルクロック数の 8 で割ると , 専用ボーレートジェネレータレジスタ への設定値が得られます。 スタートビットの立下りが検出されると , リロードカウンタは自動的にリセットされるので , 専用ボーレートジェ ネレータレジスタを更新した後に LIN-USART の再起動を行なう必要はありません。 ■ バスアイドル割込み SIN 端子で受信が行われていない場合 , ECCR の RBI フラグビットが "1" になります。同様に , データ送信が行 われていない場合は , TBI フラグビットが "1" になります。ECCR のバスアイドル割込みイネーブルビット (BIE) が設定されており, バスアイドルフラグビット (TBIおよびRBI) が両方とも"1"になると, 割込みが発生します。 <注意事項> • 拡張ステータス / コントロールレジスタの出力端子直接アクセス許可ビット (ECSR4:SOPE) が "1" のと き , 拡張ステータス / コントロールレジスタの SIOP ビットに "0" が書き込まれると , バス動作がない場 合でも , TBI フラグは "0" になります。 • TBI および RBI はモード 2 ( 同期通信 ) では使用できません。 図 28.5-1 に , バスアイドル割込みの発生プロセスを示します。 図 28.5-1 バスアイドル割込みの発生 送信 データ 受信 データ TBI RBI 受信 IRQ :スタートビット :ストップビット :データビット 392 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.5 LIN-USART の割込み MB91460N シリーズ 28.5.1 受信割込みの発生とフラグセットのタイミング 受信が完了した場合 (SSR: RDRF), 受信エラーが発生した場合 (SSR: PE, ORE, または FRE) に , 受信割込み が発生します。 ■ 受信割込みの発生とフラグセットのタイミング モード 0, 1, 2(ECCR:SSM=1), 3 で最初のストップビットの検出 , またはモード 2(ECCR:SSM=0) で最終デー タビットが検出されることにより , 受信データが受信データレジスタ (RDR) もしくは FIFO バッファに格納さ れます。 受信が完了したとき (SSR:RDRF=1), FIFO バッファのデータ数がトリガレベルを超えたとき , または受信エ ラーが発生 (SSR:PE, ORE,FRE=1) すると各フラグがセットされます。 そのとき , 受信割込みが許可 (SSR:RIE=1) されていると受信割込みが発生します。 <注意事項> 受信エラーが発生した場合は , いずれのモードでも , 受信データレジスタ (RDR) が獲得したデータは無効に なります。 図 28.5-2 受信処理とフラグセットのタイミング 受信データ ( モード 0/3) ST D0 D1 D2 .... 受信データ ( モード 1) ST D0 D1 D2 .... D6 D2 .... D4 受信データ ( モード 2) D0 D1 D5 D6 D7/P SP ST D7 AD SP ST D5 D6 D7 D0 PE*, FRE RDRF ORE * (RDRF = 1 の場合 ) * モード 1 または 3 では , PE フラグは常に "0" となります。 受信割込みの発生 * 受信データが読み出される前に , 次のデータが転送されるとオーバーランエラーが発生します。 ST:スタートビット SP:ストップビット AD:モード 1 ( マルチプロセッサ ) アドレス / データ選択ビット <注意事項> 図 28.5-2 はモード 0 におけるすべての受信動作を表しているわけではありません。 "7P1" と "8N1"(P=" 偶数パリティ " または " 奇数パリティ ") の例のみ示されています。 図 28.5-3 ORE の設定タイミング 受信 データ RDRF ORE * 受信データが読み出される前に , 次のデータが転送されるとオーバーランエラーが発生します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 393 第 28 章 LIN-USART 28.5 LIN-USART の割込み MB91460N シリーズ 28.5.2 送信割込みの発生とフラグセットのタイミング 送信割込みは , 送信データが送信データレジスタ (TDR) に転送され , 送信データレジスタが空になると発生し ます。 ■ 送信割込みの発生とフラグセットのタイミング 送信データレジスタ (TDR) に書き込まれたデータが送信シフトレジスタに転送され , 送信が開始されたとき , データエンプティ状態 (SSR:TDRE=1) になります。そのとき , 送信割込みが許可 (SSR:TIE=1) されている と , 送信割込みが発生します。 TDRE ビットは読み出し専用なので , 送信データレジスタ (TDR) へのデータ書込みにより "0" にクリアされま す。 LIN-USART の 4 とおりのモードでの送信処理とフラグセットのタイミングを下図に示します。 図 28.5-4 送信処理とフラグセットのタイミング 送信割込みの発生 送信割込みの発生 モード 0, 1, 2(SSM=1), または 3: TDR への書込み TDRE シリアル出力 ST D0 D1 D2 D3 D4 D5 D6 D7 送信割込みの発生 P SP ST D0 D1 D2 D3 D4 D5 D6 D7 P SP AD AD 送信割込みの発生 モード 2 (SSM = 0): TDR への書込み TDRE シリアル出力 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 ST:スタートビット D0 ∼ D7:データビット P:パリティ SP:ストップビット AD:アドレス / データ選択ビット ( モード 1) 注意 : 図 28.5-4 はモード 0 における送信動作の一例になります。"8bit, パリティ有り , ストップビット 1" " 偶数パ リティ " または " 奇数パリティ " について示されています。 パリティビットとアドレスデータ選択ビットは動作モード 3 の場合 , および動作モード 2 で SSM=0 の場合 には送信されません。 ■ 送信割込み要求の発生タイミング 送信割込みが許可されている場合 (SSR: TIE=1), TDRE フラグが "1" にセットされると , 送信割込み要求が発生 します。 TDRE ビットの初期値は "1" に設定されているため , 送信割込みが許可されると (TIE=1), 直ちに送信割込みが 発生します。TDRE は読出し専用ビットです。このビットをクリアするには , 送信データレジスタ (TDR) に新 規データを書き込む必要があります。送信割込み許可のタイミングには注意してください。 394 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ 28.6 LIN-USART ボーレート 以下の 1 つを LIN-USART シリアルクロックソースとして選択できます。 • 周辺クロック (CLKP) を専用ボーレートジェネレータ ( リロードカウンタ ) に入力 • 外部クロック (SCK 端子へのクロック入力 ) • 外部クロックを専用ボーレートジェネレータ ( リロードカウンタ ) に入力 ■ LIN-USART ボーレート選択 ボーレート選択回路を , 図 28.6-1 に示します。ボーレートの選択には , 以下の 3 とおりの方法があります。 • 専用ボーレートジェネレータ ( リロードカウンタ ) で周辺クロックを分周して得られるボーレート LIN-USART には , 送信および受信シリアルクロック用に , 2 つの独立した内部リロードカウンタがあります。ボー レートジェネレータレジスタ 0 および 1 (BGR0/BGR1) によって決定された 15 ビットリロード値を介して , ボーレー トを選択できます。 リロードカウンタは , ボーレートジェネレータレジスタ 0 および 1 の設定値で , 周辺クロックを分周します。 送受信シリアルクロックは非同期モード , 同期モード ( マスタ ) 時に使用されます。 クロックソースの設定は , 内部クロックとボーレートジェネレータクロックを選択 (SMR:EXT=0, OTO=0) してくだ さい。 • 外部クロック (1 対 1 モード ) によるボーレート LIN-USART クロック入力端子 (SCK) からのクロック入力が , そのまま使用されます ( 同期 ) 。周辺クロックの 4 分周 以上を外部クロックとして入力してください。 同期モード ( スレーブ ) 時に使用します。 クロックソースの設定は , 外部クロックと外部クロック直接使用を選択 (SMR:EXT=1,OTO=1) してください。 • 専用ボーレートジェネレータで外部クロックを分周して得られるボーレート 外部クロックソースは , リロードカウンタに内部接続することもできます。このモードでは , 内部周辺クロックの代わ りに使用されます。この回路は , 特殊な周波数を持つ発振器を接続して , その周波数を分周できるように設計されてい ます。 非同期モード時に使用します。 クロックソースの設定は , 外部クロックと外部クロック直接使用を選択 (SMR:EXT=1,OTO=1) してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 395 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ 図 28.6-1 ボーレート選択回路 ( リロードカウンタ ) REST 検出されたスタート ビットの立下 りエッジ リロード値:v Rxc = 0? 受信 15 ビットリロードカウンタ 設定 FF リロード Rxc = v/2? 0 受信 クロック リセット 1 リロード値:v CLKP ( 周辺 クロック ) SCK ( 外部 クロック 入力 ) 0 EXT 送信 15 ビットリロードカウンタ Txc = 0? 1 カウント値:Txc 設定 Txc = v/2? OTO FF リロード 0 リセット 1 送信 クロック 内部データバス EXT REST OTO 396 SMR レジスタ BGR14 BGR13 BGR12 BGR11 BGR10 BGR9 BGR8 BGR1 レジスタ BGR7 BGR6 BGR5 BGR4 BGR3 BGR2 BGR1 BGR0 FUJITSU MICROELECTRONICS LIMITED BGR0 レジスタ CM71-10149-1 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ 28.6.1 ボーレートの設定 ボーレートの設定方法 , およびシリアルクロック周波数の計算方法について , 示します。 ■ ボーレートの計算方法 2 つの 15 ビットリロードカウンタは , ボーレートジェネレータレジスタ 1 および 0 (BGR1/BGR0) によって設 定できます。次の方程式を用いて , 目的のボーレートを設定します。 リロード値: v = [F / b] − 1 ここで , F は周辺クロック (CLKP) もしくは外部クロック , b はボーレート , [ ] はガウス括弧 ( 数学的丸め関数 ) です。 ■ 計算例 周辺クロックが 16 MHz 内部クロックを使用し , 目的のボーレートが 19200 の場合のリロード値 v: v = [16 × 106 / 19200] − 1 = 832 正確なボーレートを再計算できます。bexact = F / (v + 1) より 16 × 106 / 833 = 19207.6831 <注意事項> • リロード値を 0 に設定すると , リロードカウンタが停止します。そのため , 最低分周比は 2 となります。 • 非同期通信モード ( モード 0, 1, および 3) 時 , オーバサンプリングして受信するため , 推奨最小分周比は 4 ( リロード値が 3) です。 ■ マシン速度とボーレートに応じた推奨分割比 以下の設定は , 周辺クロック速度とボーレートに応じた推奨リロード値です。 表 28.6-1 周辺クロックとボーレートに応じた推奨リロード値 (1 / 2) Baud rate 8 MHz 10 MHz 16 MHz 20 MHz 24 MHz 32 MHz 40 MHz 50 MHz 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 4000000 1 0.00 2 16.67 3 0.00 4 0.00 5 0.00 7 0.00 9 0.00 12 3.85 2000000 3 0.00 4 0.00 7 0.00 9 0.00 11 0.00 15 0.00 19 0.00 24 0.00 1000000 7 0.00 9 0.00 15 0.00 19 0.00 23 0.00 31 0.00 39 0.00 49 0.00 500000 15 0.00 19 0.00 31 0.00 39 0.00 47 0.00 63 0.00 79 0.00 99 0.00 460800 16 -2.12 21 1.36 34 0.79 42 -0.94 51 -0.16 68 -0.64 86 0.22 108 0.45 250000 31 0.00 39 0.00 63 0.00 79 0.00 95 0.00 127 0.00 159 0.00 199 0.00 230400 34 0.79 42 -0.94 68 -0.64 86 0.22 103 -0.16 138 0.08 173 0.22 216 <0.01 153600 51 -0.16 64 -0.16 103 -0.16 129 -0.16 155 -0.16 207 -0.16 259 -0.16 325 0.15 125000 63 0.00 79 0.00 127 0.00 159 0.00 191 0.00 255 0.00 319 0.00 399 0.00 115200 68 -0.64 86 0.22 138 0.08 173 0.22 207 -0.16 277 0.08 346 -0.06 433 <0.01 76800 103 -0.16 129 -0.16 207 -0.16 259 -0.16 312 0.16 416 0.08 520 0.03 650 <0.01 57600 138 0.08 173 0.22 277 0.08 346 -0.06 416 0.08 555 0.08 693 -0.06 867 <0.01 38400 207 -0.16 259 -0.16 416 0.08 520 0.03 624 0.00 832 -0.04 1041 0.03 1301 <0.01 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 397 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ 表 28.6-1 周辺クロックとボーレートに応じた推奨リロード値 (2 / 2) Baud rate 8 MHz 10 MHz 16 MHz 20 MHz 24 MHz 32 MHz 40 MHz 50 MHz 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 値 誤差 28800 277 0.08 346 -0.06 555 0.08 693 -0.06 832 -0.04 1110 -0.01 1388 <0.01 1735 <0.01 19200 416 0.08 520 0.03 832 -0.04 1041 0.03 1249 0.00 1666 0.02 2082 -0.02 2603 <0.01 10417 767 <0.01 959 <0.01 1535 <0.01 1919 <0.01 2303 <0.01 3071 <0.01 3839 <0.01 4799 <0.01 9600 832 -0.04 1041 0.03 0.00 3332 -0.01 4166 <0.01 5207 <0.01 7200 1110 -0.01 1388 <0.01 2221 -0.01 2777 <0.01 3332 -0.01 4443 -0.01 5555 <0.01 6943 <0.01 4800 1666 2082 -0.02 3332 -0.01 4166 <0.01 4999 0.00 6666 <0.01 8332 <0.01 10416 <0.01 2400 3332 -0.01 4166 <0.01 6666 <0.01 8332 <0.01 9999 0.00 13332 <0.01 16666 <0.01 20832 <0.01 1200 6666 <0.01 8332 <0.01 13332 <0.01 16666 <0.01 19999 0.00 26666 <0.01 33332 <0.01 41666 <0.01 600 13332 <0.01 16666 <0.01 26666 <0.01 33332 <0.01 39999 0.00 53332 <0.01 66666 <0.01 83332 <0.01 300 26666 <0.01 33332 <0.01 53332 <0.01 66666 <0.01 79999 0.00 106666 <0.01 133332 <0.01 166666 <0.01 0.02 1666 0.02 2082 -0.02 2499 ※周波数偏差の単位は % です。 ※グレーの設定は , 「設定不可」もしくは , 偏差が大きすぎるため推奨できない設定です。 <注意事項> 同期モード時の最大ボーレートは , LIN-USART の動作クロックの 6 分の 1( 値 =5) です。 ■ 外部クロック LIN-USART シリアルモードレジスタ (SMR4) の EXT ビットに "1" を設定すると , 外部クロックが選択されま す。ボーレートジェネレータで外部クロックは内部クロックと同じように使用できます。 モード 2 でスレーブ動作を使用する際に , 1 対 1 外部クロック入力モード (SMR4:OTO=1) を選択します。こ のモードでは , SCK4 に入力された外部クロックを LIN-USART のシリアルクロックに直接入力します。 <注意事項> 外部クロック信号は LIN-USART で内部クロックに同期します。したがって , 同期化不可能な外部クロック の場合 , LIN-USART は動作が不安定になります。 398 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ ■ カウント例 リロード値が 832 であるとします。図 28.6-2 に , 2 つのリロードカウンタの動作を示します。 図 28.6-2 リロードカウンタのカウント例 送信 / 受信クロック リロード カウント 001 000 832 831 830 829 828 827 413 412 411 410 リロードカウント値 送信 / 受信クロック リロード カウント 417 416 415 414 <注意事項> シリアルクロック信号の立下りエッジは , リロード値を 2 で割った値 | (v + 1) / 2 | をカウントした後に発 生します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 399 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ 28.6.2 リロードカウンタ リロードカウンタについて示します。 ■ リロードカウンタの機能 リロードカウンタには , 送信リロードカウンタと受信リロードカウンタがあり , 専用ボーレートジェネレータ として機能します。 リロード値のための 15 ビットレジスタから構成されており , 外部クロックまたは内部クロックより送受信ク ロックを生成します。 また , 送信リロードカウンタのカウント値をボーレートジェネレータレジスタ (BGR1, BGR0) より読み出すこ とができます。 ● カウントの開始 ボーレートジェネレータレジスタ (BGR1, BGR0) に "0" 以外のリロード値を書き込むとリロードカウンタ はカウントを開始します。 ● 再スタート リロードカウンタは下記の条件で再スタートされます。 - 送信 / 受信リロードカウンタ共通 • プログラマブルリセット (SMR:UPCL ビット ) • リロードカウンタ再スタート (SMR:REST ビット ) • ボーレートジェネレータレジスタへの書込み - 受信リロードカウンタ • 非同期モードでのスタートビット立下りエッジ検出 ユーザによってシリアルモードレジスタ (SMR) の REST ビットがセットされると , 次のクロックサイクルで 両方のリロードカウンタがリスタートされます。この機能により , 送信リロードカウンタを簡易的なタイマと して使用できます。 この機能の使用方法を下図に示します ( リロード値が 100 の場合 ) 。 図 28.6-3 リロードカウンタのリスタート例 MCU クロック リロード カウンタ クロック 出力 REST リロード 値 37 36 35 100 99 98 97 96 95 94 93 92 91 90 89 88 87 BGR0/BGR1 の 読出し データ バス 90 : dont care 400 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.6 LIN-USART ボーレート MB91460N シリーズ この例で , REST 後の周辺クロックサイクル数 (cyc) は次のように計算します。 cyc = v − c + 1 = 100 − 90 + 1 = 11 v はリロード値 , c は読出しカウンタ値です。 注意 : SMR:UPCL の設定により LIN-USART がリセットされると , リロードカウンタもリスタートされます。 <注意事項> 送受信中はリロードカウンタを再スタートさせないでください。 ■ 自動リスタート ( 受信リロードカウンタのみ ) 非同期 USART モードで , スタートビットの立下りエッジが検出されると , 受信リロードカウンタがリスター トされます。これにより , シリアル入力シフタを受信シリアルデータに同期させます。 ● カウンタのクリア リセットによりボーレートジェネレータレジスタ (BGR14, BGR04) のリロード値とリロードカウンタが "00h" にクリアされ , リロードカウンタは停止します。 プログラマブルリセット (SMR4:UPCL への "1" 書込み ) でカウンタ値は一時 "00H" にクリアされますが , リロード値は保持されていますのでリロードカウンタは再スタートします。 再スタートの設定 (SMR4:REST への "1" 書込み ) ではカウンタ値は "00H" にクリアされずに再スタートし ます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 401 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7 LIN-USART の動作 LIN-USART は , 動作モード 0 で通常の双方向シリアル通信を行います。モード 2 および 3 では双方向通信の マスタまたはスレーブとして動作し , モード 1 ではマルチプロセッサ通信のマスタまたはスレーブとして動作し ます。 ■ LIN-USART の動作 • 動作モード LIN-USART には , モード 0 ∼ 3 の 4 種類の動作モードがあります。接続方法およびデータ転送モードに応じて , 動作モードを選択できます ( 表 28.7-1 参照 ) 。 表 28.7-1 LIN-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 は , マスタまたはスレーブ動作の両方でサポートされます。モード 3 での LIN-USART 機能は 8 ビットデータ , パリティなし , ストップビット 1, LSB ファーストに固定されます。 動作モードを変更すると , LIN-USART はすべての送受信を切断した後 , 次の動作待ち状態になります。 ■ 接続方法 外部クロックの 1 対 1 接続 ( ノーマルモード ) およびマスタ / スレーブ接続 ( マルチプロセッサモード ) を選択 できます。いずれの接続方法も , すべてのノードで , データ長 , パリティの有無 , 同期方式が一致していなけれ ばなりません。以下の手順で動作モードを選択します。 • 1 対 1 接続の場合 , 2 つのノードを動作モード 0 または 2 で使用します。非同期転送モードの場合はモード 0, 同期転送モードの場合はモード 2 を選択します。 同期モード 2 では , 1 つのノードをマスタ , もう 1 つをスレーブに設定します。 • マスタ / スレーブ接続の場合は , 動作モード 1 を選択し , マスタまたはスレーブシステムとして使用します。 ■ 同期方式 非同期動作では , 受信したスタートビットの立下りエッジに LIN-USART 受信クロックが自動同期します。 同期モードでは , マスタデバイスのクロック信号 , または自身がマスタとして動作している場合は LIN-USART 自身のクロック信号によって , 同期が実行されます。 402 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ■ 信号モード NRZ(Non Return Zere) 形式です。 ■ 動作許可ビット LIN-USART では , 送信 (SCR: TXE) および受信 (SCR: RXE) 用の動作許可ビットを用いて , 送受信が制御され ます。送信または受信を禁止する場合は , 下記のように行ってください。 • 受信を禁止する場合 , 受信動作中であれば , 受信が終了するのを待ち , 受信データレジスタ RDR を読み出 してから SCR:RXE ビットに "0" を設定してください。 • 送信を禁止する場合 , 送信動作中であれば , 送信動作が終了するのを待ってから SCR:TXE ビットに "0" を 設定してください。 28.7.1 非同期モード ( 動作モード 0 および 1) での動作 LIN-USART がモード 0 ( 通常モード ) またはモード 1 ( マルチプロセッサモード ) で動作している場合は , 非 同期転送モードが選択されます。 ■ 転送データフォーマット 送受信データは必ずスタートビット ("L" レベル ) から始まり , 指定されたデータビット長の送受信が行われ , 最低 1 ビットのストップビット ("H" レベル ) で終了します。 ビット転送方向 (LSB ファーストまたは MSB ファースト ) はシリアルステータスレジスタ (SSR) の BDS ビッ トで決定されます。パリティありの場合 , パリティビットは常に最終データビットと最初のストップビットの 間に置かれます。 動作モード 0 では , データ長は 7 ビットまたは 8 ビットで , パリティは , あり / なしの選択ができます。 ストッ プビット長 (1 または 2) が選択可能です。 動作モード 1 では , データ長は 7 または 8 ビットで , パリティは付加されず , アドレス / データビットが付加 されます。ストップビット長 (1 または 2) を選択可能です。 送受信フレームのビット長計算式は , 以下のようになります。 長さ = 1 + d + p + s (d= データビット数 [7 または 8], p= パリティ [0 または 1], s= ストップビットの数 [1 または 2]) 図 28.7-1 に , 非同期モードの場合の送受信データフォーマットを示します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 403 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 図 28.7-1 転送データフォーマット ( 動作モード 0 および 1) [ 動作モード0 ] ST D0 D1 D2 D3 D4 D5 D6 D7 SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 D7 SP1 ST D0 D1 D2 D3 D4 D5 D6 D7 P SP1 ST D0 D1 D2 D3 D4 D5 D6 D7 P SP1 ST D0 D1 D2 D3 D4 D5 D6 SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 SP1 ST D0 D1 D2 D3 D4 D5 D6 P SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 P SP1 ST D0 D1 D2 D3 D4 D5 D6 D7 A/D SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 D7 A/D SP1 ST D0 D1 D2 D3 D4 D5 D6 A/D SP1 SP2 ST D0 D1 D2 D3 D4 D5 D6 A/D SP1 Pなし データ8 bit SP2 Pあり Pなし データ7 bit Pあり [ 動作モード1 ] データ8 bit データ7 bit ST SP P A/D : スタートビット : ストップビット : パリティビット : アドレス/データビット <注意事項> シリアルステータスレジスタ (SSR) の BDS ビットが "1" (MSB ファースト ) に設定されている場合 , ビッ トストリームの処理順序は , D7, D6, ... , D1, D0, (P) となります。 404 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 受信中 , 2 つのストップビットが検出されます ( 選択されている場合 ) 。ただし , 受信データレジスタフル (RDRF) フラグは , 最初のストップビットで "1" に設定されます。スタートビットが検出されずに , 2 番目のス トップビットが検出されると , バスアイドルフラグ (ECCR の RBI) が "1" になります。(2 番目のストップビッ トは , マークレベルとして「バス処理」に属します。) ■ 送信処理 シリアルステータスレジスタ (SSR) の送信データレジスタエンプティ (TDRE) フラグビットが "1" になると , 送信データレジスタ (TDR) への送信データの書込みが許可されます。データが書き込まれると , TDRE フラグ が "0" になります。シリアルコントロールレジスタ (SCR) の TXE ビットで送信が有効 ("1") にされている場合 は , 送信シフトレジスタの次にデータが書き込まれ , シリアルクロックの次のクロックサイクルで , スタート ビットにより送信が開始されます。これにより TDRE フラグが "1" になり , TDR4 への新規データの書込みが可 能になります。 送信割込みが有効になっている場合 (TIE = 1), TDRE フラグによって割込みが発生します。TDRE フラグの初 期値は "1" であるため , TIE を "1" にすると , 割込みが直ちに発生することに注意してください。 データ長が 7 ビットに設定 (CL=0) されている場合 , 転送方向選択ビット (BDS) の設定 (LSB ファーストまた は MSB ファースト ) にかかわらず , TDR4 の MSB が未使用ビットになります。 ■ 受信処理 受信処理は , SCR の受信許可 (RXE) フラグビットが "1" にされていると受信動作が行われます。スタートビッ トが検出されると , SCR での指定フォーマットに応じて , データフレームが受信されます。エラーが発生する と , 該当するエラーフラグ (PE, ORE, FRE) が設定されます。データフレームが受信されると , データはシリア ルシフトレジスタから受信データレジスタ (RDR) へ転送され , SSR の受信データレジスタフル (RDRF) フラ グビットが設定されます。その後 , CPU によるデータの読出しが必要です。データの読出しにより , RDRF フ ラグがクリアされます。受信割込みが許可されている場合 (RIE = 1), RDRF によって割込みが発生します。 受信データを読み出す際には , 1 フレームデータの受信完了後に , エラーフラグの状態を確認し , 正常に受信が 行われていれば受信データレジスタ (RDR4) から受信データを読み出してください。 受信エラーが発生している場合には , エラー処理を行ってください。 データ長が 7 ビットに設定 (CL=0) されている場合 , 転送方向選択ビット (BDS) の設定 (LSB ファーストまた は MSB ファースト ) にかかわらず , RDR4 の MSB が "0" になります。 <注意事項> RDRF フラグビットがセットされて , エラーが発生しなかった場合にのみ , 受信データレジスタ (RDR) の データは有効となります。 ● 使用クロック 内部クロックまたは外部クロックを使用します (SMR4:EXT="1" もしくは "0")。 ボーレート生成のために , ボーレートジェネレータを選択 (SMR4:OTO="0") してください。 ● ストップビット 送信時に , 1 ビットまたは 2 ビットのストップビットを選択できます。 最初のストップビットが検出されると受信完了と判断されます。その後スタートビットが検出されない場 合 , 受信バスアイドルフラグ (ECCR:RBI) が "1" になり , 受信動作がないことを示します。 ● エラー検出 動作モード 0 では , パリティエラー , オーバーランエラー , フレーミングエラーが検出できます。 動作モード 1 では , オーバーラン , フレーミングエラーが検出できます。パリティエラーは検出できません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 405 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ● パリティ パリティビットの付加 ( 送信時 ), 検出 ( 受信時 ) を設定できます。 パリティ許可ビット (SCR:PEN) でパリティの有無を , パリティ選択ビット (SCR:P) で偶数 / 奇数パリティ を選択できます。 動作モード 1 では , パリティを使用できません。 図 28.7-2 にパリティ付加時のデータ構成を示します。 図 28.7-2 パリティ有効時の送受信データ ( 動作モード 0) SIN ST SP 1 SOT 1 1 0 0 0 0 0 ST 1 SOT 0 0 1 1 0 0 0 0 0 1 1 0 0 データ 0 0 SP 偶数パリティの送信 (SCR: P=0) SP 奇数パリティの送信 (SCR: P=1) 1 ST 1 偶数パリティにて受信時 パリティエラー発生 (SCR: P=0) 0 パリティ ST: スタートビット SP: ストップビット パリティあり (PEN=1) の場合 (注意事項)動作モード 1 では , パリティは 使用できません。 ● データ信号方式 NRZ データフォーマットです。 ● データ転送方法 データビット転送方法を LSB または MSB ファーストに選択できます。 406 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.2 同期モード ( 動作モード 2) の動作 LIN-USART を動作モード 2( ノーマルモード ) で使用する場合 , 転送方式はクロック同期となります。 ■ 同期モード ( モード 2) の動作 ● 送受信データフォーマット 同期モードでは , 8 ビットデータを送受信し , スタートビット , ストップビットの有無を選択 (ECCR:SSM) できます。 またスタート / ストップ有 (ECCR4:SSM="1") のとき , パリティビットの有無を選択 (SCR4:PEN) できます。 図 28.7-3 に同期モード使用時のデータフォーマットを示します。 図 28.7-3 送受信データフォーマット ( 動作モード 2) 送受信データ (ECCR4:SSM=0, SCR4:PEN=0) D0 D1 D2 D3 D4 D5 D6 D7 * 送受信データ (ECCR4:SSM=1, SCR4:PEN=0) ST D0 D1 D2 D3 D4 D5 D6 D7 SP SP * 送受信データ (ECCR4:SSM=1, SCR4:PEN=1) ST D0 D1 D2 D3 D4 D5 D6 D7 P SP SP *:2 ストップビットに設定 (SCR4: SBL=1) した場合 ST: スタートビット SP: ストップビット P: パリティビット LSB ファーストの場合 ● クロック反転 ( サンプリングクロックエッジ選択 ) 機能 拡張ステータス制御レジスタ ESCR の SCES ビットが "1" の場合 , シリアルクロックは反転します。 スレーブモードでは LIN-USART は受信したシリアルクロックの立下りエッジでデータをサンプリングしま す。 マスタモードでは SCES ビットが "1" のとき , シリアルクロックのマークレベルが "0" になることにご注意 ください。 図 28.7-4 クロック反転時の送信データフォーマット マークレベル 受信または送信クロック (SCES = 0, CCO = 0): 受信または送信クロック (SCES = 1, CCO = 0): データストリーム (SSM = 1) ( ここでは , パリティなし , ストップビット 1 つ ) マークレベル ST SP データフレーム ● スタート / ストップビット 拡張通信制御レジスタ ECCR の SSM ビットが "1" の場合 , 非同期モードのようにスタートビットとストッ プビットが付加されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 407 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ● クロック供給 クロック同期モード ( ノーマルモード ) では , 送受信ビット数はクロックサイクル数と同じでなければなり ません。スタート / ストップビットが許可されている場合は追加されたスタート / ストップビット分まで一 致している必要があります。 マスタモード (ECCR:MS=0) でシリアルクロック出力許可 (SMR4:SCKE=1) を設定した場合 , 送受信時には 同期クロックが自動的に出力されます。 スレーブモード (ECCR4:MS=1) またはシリアルクロック出力禁止 (SMR4:SCKE=0) を設定した場合には , 送受信データの各ビット分のクロックが外部から供給される必要があります。また , 送受信動作に関係ない 場合にはクロック信号はマークレベルに保たれる必要があります。 • シリアルクロック遅延許可ビット機能 ECCR4:SCDE ECCR4 の SCDE ビットに "1" を設定すると , 図 28.7-5 に示すような遅延した送受信クロックを出力します。本機能 は , 受信側のデバイスが , クロックの立上りエッジ , または立下りエッジでデータをサンプリングする場合に使用しま す。 図 28.7-5 遅延送信クロック信号(SCDE=1) 送信データ書込み マークレベル 送受信クロック(通常) マークレベル 送信クロック (SCDE=1) マークレベル 送受信データ 0 1 1 LSB 0 1 0 0 データ 1 MSB <注意事項> 同期モードのスレーブモード (ECCR4:MS="1") で使用する場合は , シリアルクロック遅延許可ビット (ECCR4:SCDE) は "0" にしてください。 • サンプリングクロックエッジ選択ビット機能 ESCR4:SCES 拡張ステータスレジスタ ESCR4 の SCES ビットが "1" の場合 , LIN-USART のクロックは反転し , 受信データをク ロックの立下りエッジでサンプリングします。このとき , シリアルデータがクロック立下りタイミングで有効な値に なる必要があります。 • 連続クロック出力許可ビット機能 ESCR4:CCO ESCR4 の CCO ビットが "1" の場合 , マスタモードでは , SCK4 端子のシリアルクロック出力は連続出力されます。こ のモードでは , データフレームの開始と終了を明確にするために , スタートビット / ストップビットを付加してくださ い (ESCR4:SSM = 1)。図 28.7-6 は本機能の動作を示しています。 408 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 図 28.7-6 継続クロック出力(動作モード 2) 送受信クロック (SCES=0, CCO=1): 送受信クロック (SCES=1, CCO=1): 送受信データ (SSM=1) ( パリティなし , 1 ストップビット ) ST SP データフレーム <注意事項> スレーブモード (ECCR4:MS="1") で使用する場合は , CCO=0 で使用してください。 ■ エラーの検出 スタート / ストップビットが選択されていない場合 (ECCR: SSM = 0) は , オーバランエラーのみが検出されます。 ■ 通信 同期モードの初期化には , 以下の設定が必要です。 • ボーレートジェネレータレジスタ (BGR0/1) 専用ボーレートリロードカウンタに必要なリロード値を設定してください。 • シリアルモードレジスタ (SMR) • MD1, MD0: "10" ( 動作モード 2) を設定 • SCKE: "1" ・・・専用ボーレートリロードカウンタを使用 "0" ・・・外部クロックを入力 • SOE: "1" ・・・送受信許可 "0" ・・・受信のみ許可 • シリアル制御レジスタ (SCR) • RXE, TXE: 受信 , 送信時に "1" を設定 • AD: アドレス / データ選択機能は使用されないため , 本ビットの値は無効です。 • CL: 自動的に 8 ビット長に設定されるため , 本ビットの値は無効です。 • CRE: "1" を設定すると受信エラーフラグはクリアされ , 受信は中断されます。 • PEN, P, SEL: --- ECR:SSM=0( スタート / ストップビットなし ) の場合 PEN,P,SBL :パリティビット , ストップビットは使用されないため , 無効です。 --- ECCR:SSM=1 ( スタート / ストップビットあり ) の場合 PEN: "1"・・・パリティビット付加 / 検出 "0"・・・パリティビット未使用 P: "0"・・・偶数パリティ設定 "1"・・・奇数パリティ設定 SBL: "1"・・・ストップビット長 2 "0"・・・ストップビット長 1 • シリアルステータスレジスタ (SSR) • BDS: "0"・・・LSB ファースト "1"・・・MSB ファースト • RIE: "1"・・・受信割込み許可 "0"・・・受信割込み禁止 • TIE: "1"・・・送信割込み許可 "0"・・・送信割込み禁止 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 409 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ • 拡張通信制御レジスタ (ECCR) • SSM: "0" ・・・スタートビット / ストップビットなし ( 通常 ) , "1" ・・・スタートビット / ストップビットあり ( 拡張機能 ) • MS: "0" ・・・マスタモード ( シリアルクロック出力 ) , "1" ・・・スレーブモード ( マスタデバイスからシリアルクロックを入力 ) • ポート制御レジスタ (PFR/EPFR) 該当ポートの PFR/EPFR を LIN-USART に設定してください。 <注意事項> 通信を開始するには , 送信データレジスタ (TDR) にデータを書き込みます。 データの受信のみを行うには , SMR のシリアル出力イネーブル (SOE) ビットを無効にし , TDR にダミーデー タを書き込みます。 連続クロックおよびスタート / ストップビットモードを設定すると , 非同期モードのような双方向の送受信 が可能になります。 410 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.3 LIN 機能の動作 ( モード 3) LIN-USART は , LIN マスタデバイスとしても LIN スレーブデバイスとしても使用できます。動作モード 3 は , この LIN 機能に対応しています。LIN-USART をモード 3 に設定すると , データフォーマットは , 8 ビットデー タ , パリティなし , ストップビット 1, LSB ファーストに設定されます。 転送方式はクロック非同期となります。 ■ LIN マスタとしての LIN-USART LIN マスタモードでは , マスタがバス全体のボーレートを決定します。したがって , スレーブデバイスがマス タに同期すると共に , 初期化後もマスタはボーレートが固定されている必要があります。初期設定後に LIN マ スタがフレームヘッダを送信し LIN スレーブがこのボーレートを追従することでボーレートが固定されます。 拡張ステータス / 通信レジスタ (ECCR) の LBR ビットを "1" に設定すると , SOT 端子で 13 ∼ 16 ビットのローレ ベルが生成されます。これは , LIN break および LIN メッセージの開始を意味します。これにより , シリアルス テータスレジスタ (SSR) の TDRE フラグが "0" になり , ブレーク後 "1" にリセットされることにより , CPU へ の送信割込みが生成されます (SSR の TIE が "1" の場合 ) 。 送信対象の break 長を決定するには , ESCR の LBL1/LBL0 ビットを次のように設定します。 表 28.7-2 LIN break 長 LBL1 LBL0 break 長 0 0 13 ビット 0 1 14 ビット 1 0 15 ビット 1 1 16 ビット LIN break の後に , Synch field を 55H バイトデータとして送信します。送信割込みを回避するには , LBR ビッ トを "1" に設定した後 TDRE フラグが "0" になった場合 , TDR に 55H と書き込みます (TDRE フラグは "0") 。内部 送信シフタは , LIN break の完了後 , TDR 値をシフトレジスタに転送します。この場合 , LIN break の後 , スタート ビットの前に , 割込みは発生しません。 ■ LIN スレーブとしての LIN-USART LIN スレーブモードの場合 , LIN-USART をマスタのボーレートに同期させる必要があります。受信が無効になっ ていても (RXE = 0), LIN break 割込みが有効になっている場合 (LBIE = 1), LIN マスタの break が検出されると , LIN-USART によって受信割込みが生成されます (ESCR の LBD フラグが "1" となります ) 。このビットを "0" にする と , 割込みがクリアされます。 • インプットキャプチャ ( フリーランタイマー ) によるボーレートの算定 LIN-USART は , インプットキャプチャを接続しボーレートを算出します。そのために , ボーレート算出用の信号が , チップ内部で LIN-USART からインプットキャプチャへ接続されています。 LIN Synch field の最初の立下りエッジを LIN-USART が検出すると , インプットキャプチャ (ICU) への内部信号を "H" にします。5 番目の立ち下がりエッジで "L" になります。 ICU は , この信号の両エッジを検知することで , エッジ間のクロック数を得ることができます。 ICU は , LIN-USART 信号入力モードにする必要があります (ICE)。また , ICU の割込みをイネーブルにし , 両エッジを 検出する必要があります (ICS)。エッジ検出した内部信号の "H" の時間がボーレートを 8 倍した値となります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 411 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ボーレート設定値は , 下式で算出できます。 フリーランタイマがオーバーフローしていない場合:BGR 値 = { (b - a) ・Fe /(8 × φ) } -1 フリーランタイマがオーバーフローした場合 :BGR 値 = { (max + b - a) ・ Fe /(8 × φ) } -1 max : フリーランタイマの最大値 a: 1 度目の割込み後の ICU データレジスタ値 b: 2 度目の割込み後の ICU データレジスタ値 φ: LIN-USART 動作クロック周波数 (MHz) Fe: 外部シリアルクロックソース周波数 (MHz) ※内部ボーレートジェネレータ使用時 (EXT=0), Fe=φ として計算 <注意事項> 上記のように LIN スレーブモード時 , Synch field で新たに計算された BGR 値がボーレートの± 14% 以上 の誤差が生じた場合は , ボーレートの設定は行わないでください。 ● LIN Break field 検出割込みとフラグ LIN モードにおいて LIN Break field が検出されると ESCR4 の LIN Break field 検出フラグ (LBD) が "1" にな ります。 LIN Break field 割込みがイネーブルの場合 (LBIE=1) は割込みが発生します。 図 28.7-7 LIN Break field 検出とフラグセットタイミング 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 シリアルクロック シリアル入力 (LINバス) FRE(RXE=1) LBD <注意事項> SSR4 のデータフレーミングエラー (FRE) フラグビットは LIN Break field 割込みよりも 1 ビット早く受信 割込みを発生させますので (8N1 の場合 ), LIN Break field を使用する場合には RXE=0 に設定してください。 LIN Break field 検出は動作モード 3 のみ機能します。 412 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 図 28.7-8 LIN モードでのスレーブ LIN-USART の動作 シリアル クロック シリアル 入力 (LIN バス ) CPU よる LBR のクリア LBD 内部 ICU 信号 break field ( 例:14T ビット ) Synch field ■ LIN バスタイミング 図 28.7-9 LIN バスタイミングおよび LIN-USART 信号 前回のシリアルクロック 使用されているクロックなし ( キャリブレーションフレーム ) 新しい ( キャリブレートされた ) シリアルクロック ICU カウント LIN バス (SIN) RXE LBD (IRQ0) LBIE ICU への 内部 信号 ICU からの IRQ RDRF (IRQ0) RIE CPU による RDR の 読出し 受信割込み許可 LIN break 開始 LIN break 検出および割込み CBLE 禁止 CPU によってクリアされた IRQ (LBD → 0) ICU から IRQ クリアされた IRQ:インプットキャプチャの開始 ICU から IRQ クリアされた IRQ:新規ボーレートの計算と設定 受信許可 受信データを RDR に保存 スタートビットの立下りエッジ CPU による RDR の読出し CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 413 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.4 シリアル端子への直接アクセス LIN-USART の送信端子 (SOT) または受信端子 (SIN) をユーザが直接アクセスできます。 ■ LIN-USART の端子への直接アクセス LIN-USART のシリアル入力または出力端子に直接アクセスできます。ソフトウェアを用いて , ESCR の SIOP ビットを読み出し , 受信シリアルデータを常に監視できます。ESCR のシリアル出力端子直接アクセスイネー ブル (SOPE) ビットを "1" にすることにより , ソフトウェアを用いて , SOT 端子を必要な値に保持できます。 このアクセスは , 送信シフトレジスタが空 ( 送信処理が実行されていない ) の場合にのみ可能です。 LIN モードでは , 送信データの読み出しや , または物理的に LIN バス線信号が間違っていたときのエラー処理 に使用できます。 <注意事項> • 送信動作中ではない ( 送信シフトレジスタが空 ) 場合のみ直接アクセス可能です。 • SOPE ビットを "1" に設定する前にシリアル出力端子直接アクセスビット (ESCR:SIOP) へ値を書き込 んでください。これは SIOP ビットが以前の値を保持しているため , 期待しないレベルの信号が出力さ れることを防ぐためです。 通常のリードで SIN 端子の値が読み出されますが , リードモディファイ命令 (RMW) では SIOP ビット は SOT 端子の値が読み出されます。これは RMW 命令実行時に SIOP ビットに予期せぬ値が書き込まれ るのを防止するためです。 SCR4:TXE=1で, 送信中又は動作モード2のスレーブモードのときは本ビットの設定にかかわらず, SOT 端子への直接アクセスはできません。 • • 414 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.5 双方向通信機能 ( ノーマルモード ) モード 0 または 2 では , 通常のシリアル双方向通信が可能です。非同期通信の場合は動作モード 0, 同期通信の場 合は動作モード 2 を選択します。 ■ 双方向通信機能 LIN-USART をノーマルモード ( 動作モード 0 または 2) で動作させるには , 図 28.7-10 の設定が必要です。 図 28.7-10 LIN-USART の設定 ( 動作モード 0 および 2) bit 15 14 SCR, SMR PEN P モード 0 モード 2(MS=0) モード 2(MS=1) SSR, TDR/RDR 13 SBL 12 CL + + 11 AD x x x 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 1 0 0 1 1 0 1 1 0 PE ORE FRE RDRF TDRE BDS RIE TIE 送信データ設定 ( 書込み時 )/ 受信データ保持 ( 読出し時 ) モード 0 モード 2(MS=0) モード 2(MS=1) ESCR,ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES 予約 LBR MS SCDE SSM x x x x + 0 0 + + + モード 0 x x x x 0 + 0 モード 2 + x x x 0 0 + 1 0 モード 2 + BIE RBI TBI x x x :ビットが使用されている x:ビットが使用されていない 1:"1" を設定 0:"0" を設定 :SSM = 1 の場合 , ビットが使用される ( 同期スタート / ストップビット ) +:自動的に正しく設定されるビット CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 415 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ■ CPU 間接続 2 つの CPU を LIN-USART モード 2 で内部接続します ( 図 28.7-11 参照 ) 。 図 28.7-11 LIN-USART の接続例 ( モード 2 双方向通信 ) SOT SOT SIN SIN 入力 出力 SCK SCK CPU-1 ( マスタ ) CPU-2 ( スレーブ ) ■ 通信手順 通信は , 送信データが準備できたときに送信側から任意なタイミングで開始します。受信側で送信データを受 け取ると , 定期的に ANS( 例では 1 バイトごと ) を返します。図 28.7-12 に双方向通信フローチャートの一例 を示します。 図 28.7-12 双方向通信フローチャートの例 (送信側) (受信側) スタート スタート 動作モード設定 (0, 2 いずれか) 動作モード設定 (送信側と合わす) TDR1 に 1 バイトデータを セットして通信 データ送信 受信データあり NO YES 受信データあり 受信データ読出しと 処理 NO YES 受信データ読出しと 処理 416 データ送信 (ANS) 1 バイトデータ送信 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.6 マスタ / スレーブ型通信機能 ( マルチプロセッサモード ) LIN-USART は , マスタシステムまたはスレーブシステムに対応し , マスタ / スレーブモードで接続されている 複数の CPU と通信できます。 ■ マスタ / スレーブ型通信機能 LIN-USART をマルチプロセッサモード ( 動作モード 1) で動作させるには , 図 28.7-13 の設定が必要です。 図 28.7-13 LIN-USART の設定 ( 動作モード 1) bit 15 14 PEN P x モード 1 + SCR, SMR SSR, TDR/RDR 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 0 0 PE ORE FRE RDRF TDRE BDS RIE モード 1 TIE 送信データ設定 ( 書込み時 )/ 受信データ保持 ( 読出し時 ) x ESCR,ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES 予約 LBR MS SCDE SSM x x x x + 0 x + + + モード 1 + BIE RBI TBI :ビットが使用されている x:ビットが使用されていない 1:"1" を設定 0:"0" を設定 :SSM = 1 の場合 , ビットが使用される ( 同期スタート / ストップビット ) +:自動的に正しく設定されるビット CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 417 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ■ CPU 間接続 1 つの通信システムは , 1 台のマスタ CPU と , 2 本の通信ケーブルに接続された複数のスレーブ CPU で構成さ れます ( 図 28.7-14 参照 ) 。LIN-USART は , マスタ CPU としてもスレーブとしても使用できます。 図 28.7-14 LIN-USART の接続例 ( マスタ / スレーブ型通信 ) SIN SOT マスタ CPU SIN SOT スレーブ CPU #1 SIN SOT スレーブ CPU #2 ■ 機能選択 マスタ / スレーブ型通信の動作モードおよびデータ転送モードを選択します ( 表 28.7-3 参照 ) 。 表 28.7-3 マスタ / スレーブ型通信の機能選択 動作モード マスタ CPU アドレス 送受信 データ 送受信 418 モード 1 (AD ビット の送信 ) スレーブ CPU モード 1 (AD ビット の受信 ) データ AD=1 + 7 または 8 ビット アドレス AD=0 + 7 または 8 ビット データ パリ ティ なし FUJITSU MICROELECTRONICS LIMITED 同期 モード 非同期 ストップ ビット ビット フォーマット LSB 1 または 2 または MSB ビット ファースト CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ■ 通信手順 マスタ CPU によってアドレスデータが送信されると , 通信が開始します。アドレスデータの AD ビットを "1" に 設定し , 通信先となるスレーブ CPU を選択します。各スレーブ CPU では , プログラムを使用して , アドレス データが確認されます。 アドレスデータがスレーブ CPU に割り当てられているアドレスを示している場合 , ス レーブ CPU とマスタ CPU が通信を行います ( 通常データ ) 。図 28.7-15 は , マスタ / スレーブ間通信 ( マルチ プロセッサモード ) のフローチャートです。 図 28.7-15 マスタ / スレーブ通信のフローチャート ( マスタ CPU) ( スレーブ CPU) スタート スタート 動作モード 1 に設定する 動作モード 1 に設定する SIN4 端子をシリアルデータ 入力端子として設定する SOT4 端子をシリアルデータ 出力端子として設定する SIN4 端子をシリアルデータ 入力端子として設定する SOT4 端子をシリアルデータ 出力端子として設定する 7 または 8 データビットを設定する 7 または 8データビットを設定する 1または2ストップビットを設定する 1または2ストップビットを設定する AD ビットに "1" を設定する TXE = RXE = 1 を設定する TXE = RXE = 1 を設定する バイトを受信する スレーブアドレスを送信する NO AD ビット = 1 か ? AD ビットに "0" を設定する YES スレーブアドレスは 一致するか ? スレーブ CPU と 通信する NO YES 通信は終了 したか ? マスタ CPU と 通信する NO YES 別のスレーブ CPU と 通信するか ? 通信は終了 したか ? NO NO YES YES TXE = RXE = 0 を設定する 終了 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 419 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.7 LIN 通信機能 LIN-USART と LIN デバイスとの通信は , LIN マスタまたは LIN スレーブシステムの両方に使用できます。 ■ LIN マスタ / スレーブ型通信機能 LIN-USART を LIN 通信モード ( 動作モード 3) で動作させるには , 下図の設定が必要です。 図 28.7-16 LIN-USART の設定 ( 動作モード 3) bit 15 14 PEN P x モード 3 + SCR, SMR SSR, TDR/RDR 13 SBL + 12 CL + 11 AD x 10 9 8 7 6 5 4 3 2 1 0 CRE RXE TXE MD1 MD0 OTO EXT REST UPCL SCKE SOE 1 1 0 0 PE ORE FRE RDRF TDRE BDS RIE モード 3 x TIE 送信データ設定 ( 書込み時 )/ 受信データ保持 ( 読出し時 ) x ESCR,ECCR LBIE LBD LBL1 LBL0 SOPE SIOP CCO SCES 予約 LBR MS SCDE SSM x + 0 + + + モード 3 BIE RBI TBI :ビットが使用されている x:ビットが使用されていない 1:"1" を設定 0:"0" を設定 :SSM = 1 の場合 , ビットが使用される ( 同期スタート / ストップビット ) +:自動的に正しく設定されるビット ■ LIN デバイス接続 下図は , 1 台の LIN マスタデバイスともう 1 台の LIN スレーブデバイスの間の通信システムを示しています。 LIN-USART は LIN マスタとしても LIN スレーブとしても動作できます。 図 28.7-17 小型 LIN バスシステムの接続例 SOT SOT LIN バス SIN LIN マスタ 420 SIN トランシーバ トランシーバ FUJITSU MICROELECTRONICS LIMITED LIN スレーブ CM71-10149-1 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ 28.7.8 LIN 通信における LIN-USART フローチャート例 ( 動作モード 3) 本節では , LIN 通信における LIN-USART のフローチャート例を示します。 ■ マスタデバイスとしての LIN-USART 図 28.7-18 LIN-USART LIN マスタフローチャート スタート 初期設定 動作モード 3 に設定 シリアルデータ出力許可、ボーレート設定 Synch Break 長設定 TXE=1, TIE=0, RXE=1, RIE=1 NO メッセージ? (受信)YES (送信)NO Data Field 受信? 受信割込み YES 送信 Data 1 セット TDR=Data 1 送信割込み許可 NO Wake up? (0x80 受信) Data 1 受信*1 受信割込み TDRE=1 送信割込み YES RXE=0 Lin Break field Lin Break field ECCR: LBR=1 Lin Synch field Data N 受信*1 送信: RDRF=1 受信割込み LBD=1 Lin Break 受信許可 Lin Break field Lin Break field 送信 Data N セット TDR=Data N 送信割込み禁止 割込み許可 送信: 割込み Data 1 受信*1 Data 1 読出し RDRF=1 受信割込み 検出クリア 割込み禁止 RDRF=1 受信割込み Lin Synch field PID 送信 Data N 受信*1 Data N 読出し 受信*1 受信割込み エラーなし? PID 受信*1 NO エラー処理 *2 YES *1 :エラーが発生した場合、エラー処理を行ってください。 *2 :・fre, ore が”1” になっていた場合、 SCR: CRE ビットに ”1” を書込み、エラーフラグをクリアしてください。 ・ESCR: LBD ビットが ”1” になっていた場合、LIN-USARTリセットを実行してください。 (注意事項 ) 各処理の中でエラー検出を行い、適切に対処してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 421 第 28 章 LIN-USART 28.7 LIN-USART の動作 MB91460N シリーズ ■ スレーブデバイスとしての LIN-USART 図 28.7-19 LIN-USART LIN スレーブフローチャート スタート 初期設定 動作モード 3 に設定 シリアルデータ出力許可、ボーレート設定 Lin Break field 長設定 TXE=1, TIE=0, RXE=0, RIE=1 LIN-USARTと ICU の接続 ICU 割込み許可 Lin Break field 割込み許可 (受信)YES Lin Break 受信 Lin Break 割込み (送信)NO Data Field 受信? 受信割込み 送信 Data 1 セット TDR=Data 1 送信割込み許可 Data 1 受信*1 Lin Break field 検出クリア Lin Break field 割込み禁止 RDRF=1 受信割込み Lin Synch Byte 受信 ICU 割込み 送信割込み 送信 Data N セット TDR=Data N 送信割込み禁止 Data N 受信*1 ICU データ読出し ICU 割込みフラグクリア 受信割込み 受信禁止 受信割込み禁止 Data 1 受信*1 Data 1 読出し ICU データ読出し ICU 割込みフラグクリア ボーレート再調整 ICU 割込み禁止 受信許可 受信割り込み許可 受信割込み Data N 受信*1 Data N 読出し 受信禁止、受信割込み禁止 PID 受信 受信割込み PID Field 受信*1 NO エラー処理*2 エラーなし? YES スリーブ モード? NO YES ウェイク アップ受信? NO NO ウェイク アップ送信? YES YES ウェイクアップコード送信 *1 :エラーが発生した場合、エラー処理を行ってください。 *2 :・fre, ore が”1”になっていた場合、SCR: CRE ビットに”1”を書込み、エラーフラグをクリアしてください。 ・ESCR: LBD ビットが”1” になっていた場合、LIN-USARTリセットを実行してください。 (注意事項) 422 各処理の中でエラー検出を行い、適切に対処してください。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.8 LIN-USART 使用時の注意点 MB91460N シリーズ 28.8 LIN-USART 使用時の注意点 LIN-USART 使用時の注意事項を以下に示します。 ■ 動作許可 LIN-USART の制御レジスタ (SCR) には , TXE ( 送信 ) および RXE ( 受信 ) 動作イネーブルビットがあります。 送受信はデフォルト値 ( 初期値 ) で無効になっているため , 転送の開始に先立ち , 送受信を有効にする必要があ ります。 ■ 転送のキャンセル 転送をキャンセルするには , 動作イネーブルビット TXE/RXE をクリアします。受信中に RXE がクリアされた 場合は , LIN-USART ステートマシンをリセットする必要があります (UPCL=1 を設定 ) 。同時に送信が行われて いる場合は , 送信もキャンセルされます。 この場合 , TDRE=1 および TBI=1 になるのを待ってから UPCL を "1" にしてください。 ■ LIN-USART のソフトウェアリセット SCR レジスタの TXE ビットが 0 のときに , ソフトウェアリセット (SMR: UPCL=1) を実行してください。 ■ 受信エラーのクリア SCR: RXE=0 のときに SCR: CRE を "1" にしてください。SCR4:RXE="1" の状態でリセットをかけると , 一旦 通信を停止した後 , 即再開しますので , 誤ったデータを受け取ることがあります。 ■ 通信モードの設定 通信モードの設定は , LIN-USART が動作していないときに行ってください。送信または受信中にモードを変更 すると , 送信または受信が停止し , データが紛失されます。 ■ 送信割込み許可タイミング 送信データエンプティフラグビット (SSR: TDRE) のデフォルト ( 初期値 ) は "1" ( 送信データなし , 送信デー タ書込み有効 ) です。送信割込み要求を有効にすると (SSR: TIE=1), 直ちに送信割込み要求が発生します。割 込みが直ちに発生するのを回避するには , 送信データの設定後 , TIE フラグを "1" に設定します。 ■ 動作設定の変更 以下のビットを変更する場合 , 送受信を禁止にしてビットを変更し , 変更後に LIN-USART のソフトウェア リセットを実行してください。 • シリアル制御レジスタ (SCR4) パリティ許可ビット (PEN), ストップビット長選択ビット (SBL), データ長選択ビット (CL) • シリアルモードレジスタ (SMR) 動作モード選択ビット (MD1, MD0) • 拡張ステータス制御レジスタ (ESCR4) 連続クロック出力許可ビット (CCO), サンプリングクロックエッジ選択ビット (SCES) • 拡張通信制御レジスタ (ECCR4) マスタ / スレーブ機能選択許可ビット (MS), シリアルクロック遅延許可ビット (SCDE), スタート / ストッ プ許可ビット (SSM) シリアルモードレジスタ (SMR) の設定と同時に LIN-USART のリセット (SMR4: UPCL=1) を行っても , 正しい動作設定は保証されません。そのため , シリアルモードレジスタ (SMR) の ビット設定を行った後 , 再度 LIN-USART をプログラマブルリセット (SMR4:UPCL=1) してください。 ■ LIN 機能の使用 LIN 機能は動作モード 3 で使用可能です。動作モード 3 では自動的に LIN フォーマットの設定 (8 ビット長 , パリティなし , 1 ストップビット , LSB ファースト ) になります。 • LIN Break field の送信ビット長は可変ですが , 検出は 11 ビット長固定になっています。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 423 第 28 章 LIN-USART 28.8 LIN-USART 使用時の注意点 MB91460N シリーズ ■ LIN スレーブ設定 LIN Break field の最小 13 ビット長を確実に検出するために , LIN スレーブを開始するときは , 必ず最初の LIN Break field を受信する前にボーレートを設定してください。 ■ バスアイドル機能 同期 モード 2 では , バスアイドル機能は使用できません。また , スレーブモードを選択した場合送信バスアイ ドル検出機能も使用できません。 ■ インプットキャプチャユニット (ICU) を用いたボーレートの検出 LIN-USART は , LIN synch 機能のための信号を ICU に内部接続しています。ICU を用いて , この信号のパルス 幅を測定することでマスターのボーレートを算出します。本信号の内部接続は , LIN-USART4 の場合 , PFR14/ EPFR14 にて行ないます。その他のチャネルについては , I/O ポートの章を参照してください。 図 28.8-1 ICU によるボーレート検出動作 端子 IN0 LIN-USART0 LSYN 10 11 S ICU0 PFR[0] & EPFR[0] FREE RUN TIMER0 端子 IN1 LIN-USART1 LSYN IN 10 11 S IN ICU1 PFR[1] & EPFR[1] PFR ビットが "1" で , EPFR ビットが "0" の場合 , ICU は対応する入力端子 IN に接続されています。 PFR ビットが "1" で , EPFR ビットが "1" の場合 , LIN-USART は ICU に接続されています。 ユーザは以下を考慮に入れる必要があります。 • ICU0 および ICU1 は 1 つのフリーランタイマ ( プリスケーラ ) を共有しています。 ■ Break field 検出 モード3(LINモード)時, シリアル入力が11ビット幅以上"0" になると拡張ステータス制御レジスタ(ESCR4) の LBD ビットは "1" となり (LIN Break field 検出 ), LIN-USART は Synch field 待ちになります。このため , LIN Break field 以外のところでシリアル入力が 11 ビット以上 "0" になった場合 , LIN-USART は LIN Break field が入力されたものと認識 (LBD=1) し , Synch field 待ちになります。 この場合 , プログラマブルリセット (SMR4: UPCL = 1) を実行してください。 ■ AD ビット シリアル制御レジスタ (SCR4:AD) • 本ビットは , ライト時は送信のアドレス / データ選択設定を行い , リード時は最後に受信した AD ビット の値を返します。 送信 / 受信の AD ビット値は別のレジスタに保存されています。リードモディファイライト (RMW) 命令 使用時には , 送信の AD ビット値が読み出され , それ以外の読出しは受信した AD データが読み出されま す。 424 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 28 章 LIN-USART 28.8 LIN-USART 使用時の注意点 MB91460N シリーズ • 送信動作時 , TDRE ビットが "0" から "1" になるとき , 送信用 AD ビットも送信データレジスタ (TDR4) の データとともに , 送信シフトレジスタにロードされますので送信用 AD ビットは送信データレジスタ (TDR4) への書込み前に AD ビットを設定してください。 ■ 受信エラーの影響と CRE ビット SINが新しいバイトの受信を開始する際に, CREは受信ステートマシンと次の立下りエッジをリセットします。 そのため , エラー受信後 , データストリームが非同期になるのを防ぐため , CRE ビットをすぐ (1/2 ビット期間 中 ) に "1" にしてください。あるいは , SIN がアイドル中にエラー受信して CRE を "1" にした後は , アプリケー ションで一時データ受信を無効にしてください。 図 28.8-2 CRE ビットのタイミング ストップビットの1/2ビット内でCREが発生 最後のデータビット ストップビット ストップビットの1/2ビット外でCREが発生 スタートビット 最後のデータビット 1/2ビット SIN ストップビット スタートビット 1/2ビット SIN サンプリング点 サンプリング点 エラー フラグ エラー フラグ CRE CRE 立下りエッジを検出: 新しいフレームを受信 受信ステートマシーンがリセット スタートビット検出をリセット 受信が非同期となる 受信ステートマシーンがリセット 立下りエッジを検出:新しいフレームを受信 図 28.8-3 データストリームの同期 非同期の例 SIN CRE スタートビット中 CRE発生 リセット受信 RX読出し 次の立下りエッジを スタートビット として検出 1つ目のフレーム 2つ目のフレーム 1つ目の非同期 フレーム ビット検出ミス 2つ目の非同期 フレーム開始 ビット検出ミス フレームエラーが発生し ( ストップビット:SINn = 0), 次のスタートビット (SINn = 0) がすぐに来た場合 , 立 下りエッジの検出なしに , このビットをスタートビットとして認識します。これにより , ストップビットが遅 延すると予想された場合 , 次のフレームエラーが発生することで , LIN-USART とデータストリームの同期を保 持し , バスエラー ( 図 28.8-3 参照 ) と決定します。この動作が意図的なものでなければ , フレーミングエラー発 生後 , 一時的に受信を無効にしてください。(RXE = 1 → 0 → 1) この場合 , 受信は SINn の立下りエッジが発生 するまで行われません ( 図 28.8-3 参照 )。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 425 第 28 章 LIN-USART 28.8 LIN-USART 使用時の注意点 MB91460N シリーズ 図 28.8-4 LIN-USART 占有バス動作 受信が常に有効な場合(RXE=1) SIN FRE CRE フレーミング エラー発生 エラークリア 立下りエッジ検出がないが 受信継続中 次のフレーミング エラー発生 立下りエッジが 次の受信開始 エッジになる 一時的に受信が無効になる場合(RXE=1→0→1) SIN FRE CRE RXE 受信リセット 立下りエッジが 立下りエッジ発生待ち 次の受信開始エッジになる 立下りエッジ検出がないが 受信継続中 新たなエラー発生なし エラークリア フレーミング エラー発生 426 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.1 概要 MB91460N シリーズ 第 29 章 I2C コントローラ 29.1 概要 I2C インタフェースは Inter IC バスをサポートするシリアル I/O ポートであり , I2C バス上のマスタ / スレーブ デバイスとして動作します。 ■ 特長 • マスタ / スレーブ送受信機能 • • • • • • • アービトレーション機能 クロック同期機能 ゼネラルコールアドレッシングサポート 転送方向検出機能 繰り返しスタートコンディション発生および検出機能 バスエラー検出機能 マスタおよびスレーブでの 7 ビットアドレッシング • マスタおよびスレーブでの 10 ビットアドレッシング • インタフェースに 7 ビットおよび 10 ビットのスレーブアドレスを指定可能 • スレーブアドレス受信時のアクノリッジを禁止可能 ( マスタ専用動作 ) • インタフェースに複数のスレーブアドレス (7 ビットおよび 10 ビットモード ) を指定するアドレスマスク • 最大 400kbps の転送速度 • SDA および SCL に内蔵ノイズフィルタを使用可能 • 周辺クロックが 6 MHz を超える場合 , プリスケーラの設定に関係なく , 400kbps でデータ受信可能 • 送信時およびバスエラーイベント時 , MCU 割込みを発生可能 • ビットおよびバイトレベルのスレーブによるスローダウンをサポート • 個数:2 チャネル I2C インタフェースは周辺クロック (CLKP) が 6 MHz を超える場合は , プリスケーラの設定に関係なく , 400kbps の最大のデータ転送速度で受信が可能であるため, ビットレベルでのSCLクロック引延しをサポートしません。 ただし , 割込み時に (IBCR2 レジスタで INT=1 になっている場合 ) SCL が "L" に引かれるため , バイトレベル でのクロック引延しが実行されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 427 第 29 章 I2C コントローラ 29.1 概要 MB91460N シリーズ ■ ブロックダイヤグラム 図 29.1-1 ブロックダイヤグラム ICCR I2C 許可 EN 周辺クロック (CLKP) ICCR クロック分周器 1 2 3 4 5 ... 32 CS4 CS3 5 CS2 5 クロック選択 同期 CS1 クロックデバイダ 2 (12 分周 ) SCL デューティサイクルジェネレータ CS0 シフトクロックジェネレータ IBSR BB RSC LRB TRX バスビジー 繰り返しスタート バス監視 最終ビット 送信 / 受信 バスエラー アドレスデータ ADT AL アービトレーションロス検出回路 ICCR NSF IBCR 許可 BER BEIE 割込み要求 INTE R-bus MCU IRQ INT ノイズ フィルタ SCL SDA SCL SDA IBCR SCC MSS ACK GCAA 開始 開始 / 停止条件 ジェネレータ マスタ ACK 許可 GC-ACK 許可 ACK ジェネレータ 8 IDAR IBSR AAS GCA ISMK ENSB ITMK ENTB RAL 8 スレーブ ゼネラルコール 7 ビットモード許可 スレーブアドレス コンパレータ 10 ビットモード許可 受信アドレス長 7 10 10 ITBA ITMK 7 ISBA ISMK 10 10 7 7 428 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 29.2 I2C インタフェースレジスタ このセクションでは , I2C インタフェースレジスタの機能について説明します。 ■ バス制御レジスタ (IBCR) アドレス:000368H, 000374H bit 15 14 13 12 BER BEIE SCC MSS 11 10 9 ACK GCAA INTE 8 INT IBCR2,3 読出し / 書込み → (R/W) (R/W) (W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値 → ■ バスステータスレジスタ (IBSR) アドレス:000369H, 000375H 読出し / 書込み → 初期値 → bit 7 6 5 4 3 2 BB RSC AL LRB TRX AAS (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) 1 0 GCA ADT (R) (0) IBSR2,3 (R) (0) ■ 10 ビットスレーブアドレスレジスタ (ITBA) ( 上位バイト ) bit 15 14 13 12 11 10 9 8 アドレス:00036AH, − − − − − − TA9 TA8 000376H 読出し / 書込み → ( − ) ( − ) ( − ) ( − ) ( − ) ( − ) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値 → ( 下位バイト ) bit 7 6 5 4 3 2 1 0 アドレス:00036BH, TA7 TA6 TA5 TA4 TA3 TA2 TA1 TA0 000377H 読出し / 書込み → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値 → ITBAH2,3 ITBAL2,3 ■ 10 ビットスレーブアドレスマスクレジスタ (ITMK) ( 上位バイト ) bit 15 14 13 12 11 10 9 8 アドレス:00036CH, − − − − TM9 TM8 000378H ENTB RAL 読出し / 書込み → (R/W) (R) ( − ) ( − ) ( − ) ( − ) (R/W) (R/W) (0) (0) (1) (1) (1) (1) (1) (1) 初期値 → ( 下位バイト ) bit 7 6 5 4 3 2 1 0 アドレス:00036DH, TM7 TM6 TM5 TM4 TM3 TM2 TM1 TM0 000379H 読出し / 書込み → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (1) (1) (1) (1) (1) (1) (1) (1) 初期値 → ITMKH2,3 ITMKL2,3 ■ 7 ビットスレーブアドレスマスクレジスタ (ISMK) bit 15 14 13 12 アドレス:00036EH, 00037AH ENSB SM6 SM5 SM4 11 10 9 8 SM3 SM2 SM1 SM0 ISMK2,3 読出し / 書込み → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (1) (1) (1) (1) (1) (1) (1) 初期値 → CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 429 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ ■ 7 ビットスレーブアドレスレジスタ (ISBA) bit 7 アドレス:00036FH, 00037BH 読出し / 書込み → 初期値 → − 6 SA6 5 4 SA5 SA4 3 2 SA3 SA2 1 0 SA1 SA0 ISBA2,3 ( − ) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) ■ データレジスタ (IDAR) bit 7 アドレス:000371H, 00037DH 読出し / 書込み → 初期値 → D7 6 5 4 3 2 1 0 D6 D5 D4 D3 D2 D1 D0 IDAR2,3 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) ■ クロック制御レジスタ (ICCR) bit 15 アドレス:000372H, 00037EH 読出し / 書込み → 初期値 → 430 − 14 13 12 NSF EN CS4 11 10 CS3 CS2 9 8 CS1 CS0 ICCR2,3 ( − ) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (1) (1) (1) (1) (1) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 29.2.1 バス制御レジスタ (IBCR) バス制御レジスタは以下の機能を有します。 • 割込み許可フラグ • 割込み発生フラグ • バスエラー検出フラグ • くり返しスタート条件発生 • マスタ / スレーブモード選択 • ゼネラルコールアクノリッジ発生許可 • データバイト発生許可 このレジスタへの書込みアクセスは , INT=1 の場合や転送が開始される場合にのみ実行する必要があります。転 送が行われている間は , このレジスタへの書込みは禁止です。ACK または GCAA ビットへの変更はバスエラー を引き起こす可能性がありますので , BER および BEIE ビットを除く , このレジスタのすべてのビットは , イン タフェースが許可されていない場合 (ICCR で EN=0 になっている場合 ) はクリア状態となります。 bit 15 アドレス:000368H, 000374H 14 13 12 BER BEIE SCC MSS 11 10 9 ACK GCAA INTE 8 INT IBCR2,3 読出し / 書込み → (R/W) (R/W) (W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値 → [bit15] BER ( バスエラー ) このビットは , バスエラー割込みフラグです。ハードウェアによって設定され , ユーザがクリアします。 リードモディファイライトアクセスでは , 常に "1" が読み出されます。 ( 書込みアクセス ) 0 バスエラー割込みフラグをクリアします。 1 影響なし。 ( 読出しアクセス ) 0 バスエラーは検出されませんでした。 1 下記のエラー条件の 1 つが検出されました。 このビットを設定すると , ICCR レジスタの EN ビットがクリアされ , I2C インタフェースは一時停止状態になり ます。そのため , データ転送が中断され , BER および BEIE ビットを除く IBSR および IBCR レジスタのすべての ビットがクリアされます。BER ビットは , インタフェースを再度許可する前にクリアする必要があります。 このビットが "1" に設定されるのは , 以下の場合です。 • スタートまたはストップコンディションが , 許可されていない場所で検出された場合。アドレスデータ転送 時 , または bit2 ∼ bit9 ( アクノリッジビット ) の転送時。 • 読出しアクセスでの 10 ビットアドレスヘッダが , 10 ビット書込みアクセス前に受信された場合。 • インタフェースがマスタモードのときにストップコンディションが検出された場合。 現在の通信中インタフェースが有効であるならば , 始めの 2 つの検出は , 転送実行中誤ったバスエラーレポート を防ぐため , 最初のストップコンディションの受信後に許可されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 431 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ [bit14] BEIE ( バスエラー割込み許可 ) このビットは , バスエラー割込みを許可します。ユーザのみが変更できます。 0 バスエラー割込みは禁止されています。 1 バスエラー割込みは許可されています。 このビットを "1" に設定すると , BER ビットが "1" に設定された場合に , MCU 割込み発生を許可します。 [bit13] SCC ( スタートコンディション継続 ) このビットは , 継続スタートコンディションの発生に使用します。書込み専用で , 常に "0" を読み出します。 0 影響なし。 1 マスタ転送時に繰り返しスタートコンディションを発生します。 マスタモードでの割込み中 (MSS=1 および INT=1 になっている場合 ) にこのビットに "1" が書き込まれると , 継続スタートコンディションが発生し , INT ビットが自動的にクリアされます 。 [bit12] MSS ( マスタスレーブ選択 ) これは , マスタ / スレーブモード選択ビットです。ユーザのみが設定でき , ユーザおよびハードウェアによっ てクリアできます。 0 スレーブモードに移行します。 1 マスタモードに移行し , スタートコンディションを発生させ , IDAR0 レジスタのアドレスデータバイトを 送信します。 マスタ送信時にアービトレーションロスイベントが発生すると , クリアされます。 マスタ割込み中 (MSS=1 および INT=1 の場合 ) に "0" を書き込むと , INT ビットは自動的にクリアされ , ストップ コンディションが発生してデータ転送が終了します。 MSS ビットは直ちにリセットされ , ストップコンディショ ンの発生は , IBSR レジスタの BB ビットのポーリングによって確認できます。 バスのアイドル時 (MSS=0 および BB=0 の場合 ) に "1" を書き込むと , スタートコンディションが発生し , IDAR レジスタの内容 ( アドレスデータの場合 ) が送信されます。 バスが使用中 (IBSR の BB=1 および TRX=0, IBCR の MSS=0 の場合 ) の場合に MSS ビットに "1" を書き込む と , インタフェースはバスが解放されるまで待機し , その後送信を開始します。 一時的にインタフェースが書込みアクセスでスレーブとしてアドレス指定されると ( データ受信 ), 転送が終了 してバスが再度解放された後に送信を開始します。インタフェースが一時的にスレーブとしてデータを送信し ている場合は (IBSR の AAS=1 および TRX=1 の場合 ), バスが再度解放されても送信を開始しません。インタ フェースがスレーブとしてアドレス指定されたかどうか (IBSR の AAS=1), データバイトを正常に送信したかど うか (IBCR の MSS=1), または次の割込みでデータバイトの送信に失敗したかどうか (IBSR の AL=1) を確認す ることが必要です。 432 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 [bit11] ACK ( アクノリッジ ) このビットは , データバイト受信時のアクノリッジ発生許可ビットです。ユーザのみが変更できます。 0 データバイト受信時にアクノリッジは発生しません。 1 データバイト受信時にアクノリッジ発生します。 このビットは , スレーブモードでのアドレスバイト受信時には無効です。インタフェースが 7 ビットまたは 10 ビットのスレーブアドレスを検出した場合は , 対応する許可ビット (ITMK の ENTB, または ISMK の ENSB) が設定 されるとアクノリッジを返します。 このビットへの書込みは , 割込み中 (INT=1 の場合 ) またはバスのアイドル時 (IBSR レジスタの BB=0 の場合 ) に行う必要があり , インタフェースが許可されている場合 (ICCR の EN=1 の場合 ) およびバスエラーがない場合 (IBCR の BER=0 の場合 ) にのみ設定可能です。 [bit10] GCAA ( ゼネラルコールアドレスアクノリッジ ) このビットは , ゼネラルコールアドレス受信時にアクノリッジ発生を許可します。ユーザのみが変更できます。 0 ゼネラルコールアドレスバイト受信ではアクノリッジしません。 1 ゼネラルコールアドレスバイト受信でアクノリッジします。 このビットへの書込みアクセスは , 割込み中 (INT=1 の場合 ) またはバスのアイドル時 (IBSR レジスタの BB=0 の場合 ) に実行される必要があり , このビットへの書込みアクセスは , インタフェースが許可されている場合 (ICCR で EN=1 の場合 ) およびバスエラーがない場合 (IBCR で BER=0 の場合 ) にのみ可能です。 [bit9] INTE ( 割込み許可 ) このビットは割込み発生を許可します。ユーザのみが変更できます。 0 割込みは禁止されています。 1 割込みは許可されています。 このビットを "1" に設定すると , INT ビットがハードウェアによって "1" に設定された場合に , 割込み発生を許 可します。 [bit8] INT ( 割込み ) このビットは転送終了割込み要求フラグです。ハードウェアによって変更され , ユーザがクリアできます。 リードモディファイライトアクセスでは , 常に "1" が読み出されます。 ( 書込みアクセス ) 0 転送終了割込み要求フラグをクリアします。 1 影響なし。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 433 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ ( 読出しアクセス ) 0 転送は終了していないか , 現在の転送とは関係ないか , またはバスがアイドル状態です。 1 次の条件で , アクノリッジビットを含めた 1 バイトデータ転送または受信の終了時に設定されます。 • デバイスがバスマスタである場合。 • デバイスがスレーブとしてアドレス指定されている場合。 • ゼネラルコールアドレスが受信された場合。 • アービトレーションロスが発生した場合。 デバイスがスレーブとしてアドレス指定されている場合は , アクノリッジビットを含めたアドレスデータ 受信の終了時に (7 ビットアドレスが受信された場合は最初のバイト後 , 10 ビットアドレスが受信された場 合は 2 番目のバイト後 ), 設定されます。 このビットが "1" の間は , SCL ラインは "L" レベル信号を保持します。このビットに "0" が書き込まれると , 設定 はクリアされ , SCL ラインが解放され , 次のバイトの転送が実行されるか , または繰り返しスタートコンディ ションまたはストップコンディションが発生します。また , SCC ビットに "1" が書き込まれるか , または MSS ビットをクリアすると , このビットがクリアされます。 SCC, MSS, および INT ビットの競合 SCC, MSS, および INT ビットに同時に書き込むと , 次のバイト転送 , 繰り返しスタートコンディションの発生 , またはストップコンディションの発生に競合が発生します。この場合の優先順位は以下のとおりです。 • 次のバイト転送およびストップコンディションの発生 INT ビットおよび MSS ビットに "0" が書き込まれた場合は , MSS ビットに優先権があり , ストップコンディ ションが発生します。 • 次バイトの転送およびスタートコンディションの発生 INT ビットに "0" が書き込まれ , SCC ビットに "1" が書き込まれた場合は , SCC ビットに優先権があります。 繰り返しスタートコンディションが発生し , IDAR0 レジスタの内容が送信されます。 • 繰り返しスタートコンディションの発生およびストップコンディションの発生 SCC ビットに "1" が書き込まれ , MSS ビットに "0" が書き込まれた場合は , MSS ビットのクリアに優先権が あります。ストップコンディションが発生し , インタフェースがスレーブモードに移行します。 434 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 29.2.2 バスステータスレジスタ (IBSR) バスステータスレジスタ (IBSR) には , 以下の機能があります。 • • • • • • • • バスビジー検出 継続スタートコンディション検出 アービトレーションロス検出 アクノリッジ検出 データ転送方向指示 スレーブアドレッシング検出 ゼネラルコールアドレス検出 アドレスデータ転送検出 このレジスタは読出し専用で , すべてのビットはハードウェアによって制御されます。インタフェースが許可 されていない場合は (ICCR の EN=0 の場合 ), すべてのビットはクリアされます。 バスステータスレジスタ bit 7 アドレス:000369H, 000375H 読出し / 書込み → 初期値 → 6 5 4 3 2 BB RSC AL LRB TRX AAS (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) (R) (0) 1 0 GCA ADT (R) (0) IBSR2,3 (R) (0) [bit7] BB ( バスビジー ) このビットは , I2C バスの状態を示しています。 0 ストップコンディションが検出されました ( バスアイドル )。 1 スタートコンディションが検出されました ( バス使用中 )。 このビットは , スタートコンディションが検出されると "1" に設定されます。ストップコンディション時にリ セットされます。 [bit6] RSC ( 継続スタートコンディション ) このビットは , 継続スタートコンディションの検出を示します。 0 継続スタートコンディションは検出されませんでした。 1 バスは使用中です。継続スタートコンディションが検出されました。 このビットは , アドレスデータ転送終了後 (ADT=0 の場合 ), またはストップコンディションの検出時にクリア されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 435 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ [bit5] AL ( アービトレーションロス ) このビットは , アービトレーションロスを示します。 0 アービトレーションロスは検出されませんでした。 1 アービトレーションロスがマスタ送信中に発生しました。 このビットは , IBCR レジスタの INT ビットに "0", または MSS ビットに "1" が書き込まれるとクリアされます。 アービトレーションロスは次の場合に発生します。 • 送信データが , 立上り SCL エッジの SDA ラインで読み出されたデータと一致しない場合。 • 継続スタートコンディションが , データバイトの最初のビットで別のマスタによって発生した場合。 • 別のスレーブが前に SCL が "L" だったため , インタフェースがスタートまたはストップコンディションを発 生できない場合。 [bit4] LRB ( 最終受信ビット ) このビットは , 受信側からのアクノリッジメッセージをトランスミッタに保存するために使用します。 0 受信側はアクノリッジしました。 1 受信側はアクノリッジしませんでした。 このビットは 9 ビット ( アクノリッジビット ) の受信時にハードウェアによって変更され , また , スタート またはストップコンディションによってクリアされます。 [bit3] TRX ( 転送データ ) このビットは , データ転送中のデータ送信動作を示します。 0 データを送信していません。 1 データを送信しています。 以下の場合に "1" に設定されます。 • 最初のバイト転送終了時およびスレーブでの読出しアクセスまたはマスタでのデータ送信の場合。 • スタートコンディションがマスタモードで発生した場合。 以下の場合に "0" に設定されます。 • バスがアイドル状態の場合 (IBCR の BB=0 の場合 ) 。 • アービトレーションロスが発生した場合。 • マスタ割込み中に (MSS=1 および INT=1 の場合 ), SCC ビットに "1" が書き込まれた場合。 • マスタ割込み中に (MSS=1 および INT=1 の場合 ), MSS ビットがクリアされた場合。 • インタフェースがスレーブモードにあり , 最終転送バイトがアクノリッジされなかった場合。 • インタフェースがスレーブモードにあり , データを受信している場合。 • インタフェースがマスタモードにあり , スレーブからデータを読み出している場合。 436 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 [bit2] AAS ( スレーブアドレッシング検出ビット ) このビットは , スレーブアドレッシングの検出を示します。 0 スレーブとしてアドレス指定されていません。 1 スレーブとしてアドレス指定されています。 このビットは , スタートまたはストップコンディション ( 繰り返し ) によってクリアされます。インタフェースが 7 ビットスレーブアドレスと 10 ビットスレーブアドレスの両方 , またはいずれかを検出すると , このビットが設定さ れます。 [bit1] GCA ( ゼネラルコールアドレス ) このビットは , ゼネラルコールアドレス (00H) の検出を示します。 0 ゼネラルコールアドレスはスレーブとして受信されていません。 1 ゼネラルコールアドレスはスレーブとして受信されました。 このビットは , ( 継続 ) スタートコンディションまたはストップコンディションによりクリアされます。 [bit0] ADT ( アドレスデータ転送 ) このビットは , アドレスデータ転送の検出を示します。 0 受信データはアドレスデータではありません ( または , バスは使用中ではありません ) 。 1 受信データはアドレスデータです。 このビットは , スタートコンディションによって "1" に設定されます。書込みアクセスでの 10 ビットスレーブ アドレスヘッダが検出されると , このビットは 2 番目のバイト後にクリアされます。それ以外の場合は , 最初の バイト後にクリアされます。 クリアタイミングは以下のとおりです。 • マスタ割込み中に (IBCR の MSS=1 および INT=1 の場合 ), MSS ビットに "0" が書き込まれたとき。 • マスタ割込み中に (IBCR の MSS=1 および INT=1 の場合 ), SCC ビットに "1" が書き込まれたとき。 • INT ビットがクリアされたとき。 • インタフェースがマスタまたはスレーブとして転送対象でなければ , すべての転送バイトの最初。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 437 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ 29.2.3 10 ビットスレーブアドレスレジスタ (ITBA) このレジスタ (ITBAH / ITBAL) は , 10 ビットスレーブアドレスを指定します。 このレジスタへの書込みアクセスは , インタフェースが禁止されている場合 (ICCR で EN=0 の場合 ) にのみ可 能です。 10 ビットスレーブアドレスレジスタ ( 上位バイト ) bit 15 14 13 12 11 10 9 8 アドレス:00036AH, − − − − − − TA9 TA8 000376H 読出し / 書込み → ( − ) ( − ) ( − ) ( − ) ( − ) ( − ) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) 初期値 → 10 ビットスレーブアドレスレジスタ ( 下位バイト ) bit 7 6 5 アドレス:00036BH, TA7 TA6 TA5 000377 H 読出し / 書込み → 初期値 → 4 3 2 1 0 TA4 TA3 TA2 TA1 TA0 ITBAH2,3 ITBAL2,3 (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 ∼ bit10] 未使用 これらのビットの読出し値は常に "0" です。 [bit9 ∼ bit0] TA9 ∼ TA0 (TBA - 10 ビットスレーブアドレス ) アドレスデータをスレーブモードで受信する場合 , 10 ビットアドレスが許可されていれば (ITMK レジスタの ENTB=1 の場合 ), ITBA レジスタと比較されます。アクノリッジは , 書込みアクセス *1 での 10 ビットアドレス ヘッダ受信後にマスタへ送信されます。次に , 2 番目の受信バイトが ITBA レジスタと比較されます。一致が検 出されると , マスタデバイスにアクノリッジ信号が送信され , AAS ビットが設定されます。 また , インタフェースは , 継続スタートコンディション後の読出しアクセス *2 での 10 ビットヘッダ受信時にアク ノリッジします。 スレーブアドレスのすべてのビットは , ITMK レジスタを使用してマスクされます。受信した 10 ビットスレー ブアドレスは ITBA レジスタに書き込まれ , IBSR レジスタの AAS ビットが "1" の場合のみ有効です。 *1: 10 ビットヘッダ ( 書込みアクセス ) は , 次の 8 ビットで構成されています。11110B, TA9, TA8, 0。 *2: 10 ビットヘッダ ( 読出しアクセス ) は , 次の 8 ビットで構成されています。11110B, TA9, TA8, 1。 438 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 29.2.4 10 ビットスレーブアドレスマスクレジスタ (ITMK) このレジスタには , 10 ビットスレーブアドレスマスクおよび 10 ビットスレーブアドレス許可ビットが含ま れています。 10 ビットスレーブアドレスマスク ( 上位バイト ) bit 15 アドレス:00036CH, 000378H 14 ENTB RAL 読出し / 書込み → (R/W) (0) 初期値 → (R) (0) 10 ビットスレーブアドレスマスク ( 下位バイト ) bit 7 6 アドレス:00036DH, TM7 TM6 000379H 読出し / 書込み → 初期値 → 13 12 11 10 9 8 − − − − TM9 TM8 ITMKH2,3 ( − ) ( − ) ( − ) ( − ) (R/W) (R/W) (1) (1) (1) (1) (1) (1) 5 4 TM5 TM4 3 2 TM3 TM2 1 0 TM1 TM0 ITMKL2,3 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (1) (1) (1) (1) (1) (1) (1) (1) [bit15] ENTB (10 ビットスレーブアドレス許可 ) このビットは , 10 ビットスレーブアドレス ( 受信時のアクノリッジ ) を許可します。このビットへの書込みア クセスは , インタフェースが禁止されている場合 (ICCR0 で EN=0 になっている場合 ) にのみ可能です。 0 10 ビットスレーブアドレスは禁止されています。 1 10 ビットスレーブアドレスは許可されています。 [bit14] RAL ( 受信スレーブアドレス長 ) このビットは , インタフェースが 7 ビットまたは 10 ビットのスレーブとしてアドレス指定されたかどうかを 示します。これは読出し専用です。 0 7 ビットのスレーブとしてアドレス指定されています。 1 10 ビットのスレーブとしてアドレス指定されています。 このビットは , 7 ビットおよび 10 ビットの両方のスレーブアドレスが許可されている場合に (ENTB=1 および ENSB=1 の場合 ) インタフェースが 7 ビットまたは 10 ビットのスレーブとしてアドレス指定されたかどうか を判断できます。この内容は , IBSR レジスタの AAS ビットが "1" の場合にのみ有効です。また , このビット は , インタフェースが禁止されている場合 (ICCR の EN=0 の場合 ) にリセットされます。 [bit13 ∼ bit10] 未使用 これらのビットの読出し値は常に "1" です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 439 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ [bit9 ∼ bit0] TM9 ∼ TM0 (10 ビットスレーブアドレスマスク ) このレジスタは , インタフェースの 10 ビットスレーブアドレスをマスクするために使用されます。これらの ビットへの書込みアクセスは , インタフェースが禁止されている場合 (ICCR で EN=0 の場合 ) にのみ可能です。 0 スレーブアドレス比較でビットは使用されません。 1 スレーブアドレス比較でビットが使用されます。 これは , 複数の 10 ビットスレーブアドレスにインタフェースをアクノリッジするために使用できます。この レジスタで "1" に設定されたビットのみが , 10 ビットスレーブアドレス比較で使用されます。受信スレーブア ドレスが ITBA レジスタに書き込まれるので , IBSR レジスタの AAS ビットが "1" の場合に ITBA レジスタを読み 出してスレーブアドレスを特定します。 <注意事項> インタフェースが許可された後にアドレスマスクが変更された場合は , スレーブアドレスも再度設定する 必要があります。これは , 以前に受信したスレーブアドレスによって書き換えられている可能性があるため です。 29.2.5 7 ビットスレーブアドレスレジスタ (ISBA) このレジスタは , 7 ビットスレーブアドレスを指定します。 このレジスタへの書込みアクセスは , インタフェースが禁止されている場合 (ICCR の EN=0 の場合 ) にのみ可 能です。 7 ビットアドレスレジスタ アドレス:00036FH, 00037BH bit 7 読出し / 書込み → 初期値 → − 6 SA6 5 4 SA5 SA4 3 2 SA3 SA2 1 0 SA1 SA0 ISBA2,3 ( − ) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) [bit7] 未使用 このビットの読出し値は常に "0" です。 [bit6 ∼ bit0] SA6 ∼ SA07 (7 ビットスレーブアドレス ) アドレスデータをスレーブモードで受信する場合 , 7 ビットアドレスが許可されていれば (ISMK レジスタの ENSB=1 の場合 ), ISBA レジスタと比較されます。一致が検出されると , マスタデバイスにアクノリッジ信号 が送信され , AAS ビットが設定されます。 スレーブアドレスのすべてのビットは , ISMK レジスタを使用してマスクできます。受信した 7 ビットスレー ブアドレスは ISBA レジスタに書き込まれ , IBSR レジスタの AAS ビットが "1" の場合のみ有効です。 10ビットヘッダまたはゼネラルコールが受信された場合は, インタフェースはこのレジスタの内容を受信デー タと比較しません。 440 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 29.2.6 7 ビットスレーブアドレスマスクレジスタ (ISMK) このレジスタには , 7 ビットスレーブアドレスマスクおよび 7 ビットモード許可ビットが含まれています。この レジスタへの書込みアクセスは , インタフェースが禁止されている場合 (ICCR の EN=0 の場合 ) にのみ可能です。 7 ビットスレーブアドレスマスクレジスタ bit 15 14 13 12 アドレス:00036EH, ENSB SM6 SM5 SM4 00037AH 11 10 9 8 SM3 SM2 SM1 SM0 ISMK2,3 読出し / 書込み → (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (1) (1) (1) (1) (1) (1) (1) 初期値 → [bit15] ENSB (7 ビットスレーブアドレス許可 ) このビットは , 7 ビットスレーブアドレス ( および受信時のアクノリッジ ) を許可します。 0 7 ビットスレーブアドレスは禁止されています。 1 7 ビットスレーブアドレスは許可されています。 [bit14 ∼ bit8] SM6 ∼ SM0 (7 ビットスレーブアドレスマスク ) このレジスタは , インタフェースの 7 ビットスレーブアドレスをマスクするために使用されます。 0 スレーブアドレス比較でビットを使用しません。 1 スレーブアドレス比較でビットを使用します。 このビットは 7 ビットスレーブアドレスをマスクするために使用します。このレジスタで "1" に設定されたビッ トのみが , 7 ビットスレーブアドレス比較で使用されます。受信スレーブアドレスが ISBA レジスタに書き込ま れるので , IBSR レジスタの AAS ビットが "1" の場合に ISBA レジスタを読み出してスレーブアドレスを特定し ます。 <注意事項> インタフェースが許可された後にアドレスマスクが変更された場合は, スレーブアドレスも再度設定する必 要があります。 これは, 以前に受信したスレーブアドレスによって書き換えられている可能性があるためです。 29.2.7 データレジスタ (IDAR) データレジスタ アドレス:000371H, 00037DH 読出し / 書込み → 初期値 → CM71-10149-1 bit 7 D7 6 5 4 3 2 1 0 D6 D5 D4 D3 D2 D1 D0 IDAR2,3 (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (0) (0) (0) (0) (0) FUJITSU MICROELECTRONICS LIMITED 441 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ [bit7 ∼ bit0] D7 ∼ D0 ( データビット ) データレジスタはシリアルデータの転送で使用され , MSB ファーストでデータを転送します。このレジスタは書 込み側でダブルバッファされているので , バスが使用中 (BB=1 の場合 ) の場合は , 書込みデータがシリアル転送 用のレジスタにロードされます。IBCR レジスタの INT ビットがクリアされているか , またはバスがアイドル 状態 (IBSR で BB=0 の場合 ) の場合に , データバイトが内部転送レジスタにロードされます。読出しアクセス では内部レジスタが直接読み出されるため , このレジスタの受信データ値は IBCR レジスタの INT=1 の場合に のみ有効です。 29.2.8 クロック制御レジスタ (ICCR) クロック制御レジスタ bit 15 アドレス:000372H, − 00037EH 読出し / 書込み → 初期値 → 14 13 12 NSF EN CS4 11 10 CS3 CS2 9 8 CS1 CS0 ICCR2,3 ( − ) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (R/W) (0) (0) (0) (1) (1) (1) (1) (1) [bit15] 未使用 このビットの読出し値は常に "0" です。 [bit14] NSF (I/O パッドノイズフィルタ許可 ) このビットは , SDA および SCL の I/O パッドに内蔵されたノイズフィルタを許可します。 ノイズフィルタはシングルスパイクを抑えます。このパルス幅は , 0ns ( 最小 ) から R バスの 1 から 1.5 サイク ル ( 最大 ) までとなります。最大値は , I2C 信号 (SDA, SCL) および周辺クロックの間の位相の関係に依存しま す。 100kbpsを超えるデータ転送速度でインタフェースが転送または受信する場合は, "1"に設定する必要がありま す。 [bit13] EN (I2C インタフェース動作許可 ) このビットは , I2C インタフェースの動作を許可します。ユーザによってのみ設定できますが , ユーザおよび ハードウェアによってクリアできます。 0 インタフェースは禁止されています。 1 インタフェースは許可されています。 このビットを "0" に設定すると , IBSR および IBCR レジスタのすべてのビット (BER および BEIE ビットを除く ) はクリアされ , モジュール動作が禁止され , I2C ラインが開放になります。また , バスエラーが発生すると (IBCR で BER=1 になっている場合 ), ハードウェアによってクリアされます。 <注意事項> インタフェースが禁止されている場合は , 直ちに転送または受信を停止します。これにより , I2C バスが予 期せぬ状態になる可能性があります。 442 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.2 I C インタフェースレジスタ MB91460N シリーズ 2 [bit12 ∼ bit8] CS4 ∼ CS0 ( クロックプリスケーラ ) これらのビットはシリアルビットレートを選択します。 インタフェースが禁止されている場合 (EN=0 の場合 ), ま たは EN ビットが同じ書込みアクセスでクリアされている場合にのみ , これらのビットは変更できます。 次の式によって決定されます。 φ ビットレート = n × 12 + 18 ビットレート = ノイズフィルタ禁止 n>0; φ : 周辺クロック CLKP (DIVR0 レジスタにより設定される ) φ ノイズフィルタ許可 n>0; φ : 周辺クロック CLKP (DIVR0 レジスタにより設定される ) ( + 1): ノイズフィルタ動作に起因する誤差 n × 12 + 19 ( + 1) <注意事項> ノイズフィルタにより ( 外部信号および内部クロックの関係によって遅延が異なる ), 2 つ目の式の分母は (12n + 19) ∼ (12n + 20) の間で変化します。 ■ プリスケーラ設定 : 表 29.2-1 I2C プリスケーラ設定値 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 のタイミングに違反します。 以下の表は , 一般的な周辺クロック設定での SCL 周波数の測定結果 , および 100kbps および 400kbps 動作での関連プリスケーラの推奨設定です。 周辺クロック (CLKP) [MHz] 100kbps ( ノイズフィルタ禁止 ) 400kbps ( ノイズフィルタ許可 ) n ビットレート [kbps] n ビットレート [kbps] 32 − − 5 387.5 24 19 97.5 4 352.5 16 12 98 2 372 8 6 89 1 266.5 測定値は , 最新の 8 サイクル分の転送分析に基づいて決定されています。これは , 全アドレスまたはデータ転 送の初回サイクルが , ほかのサイクルより長くかかるためです。具体的には , アドレス転送の場合は , 初回サ イクルはほかのサイクルよりも 3 プリスケーラ周期分長くかかります。データ転送の場合は , 4 プリスケーラ 周期分長くかかります ( 以下の図を参照してください ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 443 第 29 章 I2C コントローラ 29.2 I2C インタフェースレジスタ MB91460N シリーズ ■ SCL 波形 図 29.2-1 SCL 波形 アドレス送信 9 6 7 5 7 5 データ送信 9 7 5 7 5 7 時間単位:プリスケーラサイクル 図 29.2-1 は , アドレスおよびデータビット送信の SCL 波形を示しています。図内のタイミングはプ リスケーラ周期です ("9" は 9 回のプリスケーラカウントを示し , 周辺クロックに基づいています ) 。図内のタイミングは , I2C バス上のほかのデバイスが SCL タイミングに影響していない場合に のみ有効です。 444 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.3 I2C インタフェース動作 MB91460N シリーズ 29.3 I2C インタフェース動作 I2C バスは , 2 本の双方向バスライン , シリアルデータライン (SDA) およびシリアルクロックライン (SCL) を使 用して通信を行います。I2C インタフェースにはこれらのラインに対応した 2 つのオープンドレイン I/O 端子 (SDA/SCL) があり , ワイヤードロジックのアプリケーションを許可しています。 ■ スタートコンディション バスが開放されている場合 (IBSR の BB=0, IBCR の MSS=0 の場合 ) は , MSS ビットへの "1" の書込みによって I2C インタフェースがマスタモードになり , スタートコンディションが発生します。 バスのアイドル時 (MSS=0 および BB=0 の場合 ) に "1" が書き込まれると , スタートコンディションが発生し , IDAR レジスタの内容 ( アドレスデータの場合 ) が送信されます。 バスマスタモードおよび割込み状態の場合 (IBCR の MSS=1 および INT=1 の場合 ), SCC ビットに "1" が書き 込まれると継続スタートコンディションが発生します。 バスが使用中 (IBSR の BB=1 および TRX=0, IBCR の MSS=0 および INT=0 の場合 ) の場合に MSS ビットに "1" が書き込まれると , インタフェースはバスが解放されるまで待機し , その後送信を開始します。 一時的にインタフェースが書込みアクセスでスレーブとしてアドレス指定されると ( データ受信 ), 転送が終了 してバスが再度解放された後に送信を開始します。インタフェースが一時的にスレーブとしてデータを送信し ている場合は , バスが再度解放されても送信を開始しません。インタフェースがスレーブとしてアドレス指定さ れたかどうか (IBCRのMSS=0およびIBSRのAAS=1), データバイトを正常に送信したかどうか (IBCRのMSS=1), または次の割込みでデータバイトの送信に失敗したかどうか (IBSR の AL=1) を確認することが必要です。 ほかの状況での MSS ビットまたは SCC ビットへの "1" の書込みは意味がありません。 ■ ストップコンディション マスタモード (IBCR の MSS=1 および INT=1 の場合 ) で MSS ビットへ "0" が書き込まれると , ストップコン ディションが発生し , デバイスがスレーブモードになります。ほかの状況での MSS ビットへの "0" の書込みは意 味がありません。 MSS ビットのクリア後 , インタフェースはストップコンディションの発生を行いますが , ストップコンディ ションが発生する前に別のマスタが SCL で "L" になると , ストップコンディションは発生しません。 この場合 , 次バイトが転送された後に割込みが発生します。 ■ スレーブアドレス検出 スレーブモードでは , スタートコンディション発生後に BB が "1" に設定され , マスタデバイスから送信された データが IDAR レジスタへ受信されます。 8 ビット受信後 , ISMK レジスタの ENSB ビットが "1" の場合は , ISMK に保存されているビットマスクを使用 して , IDAR レジスタの内容は ISBA レジスタと比較されます。一致が生じた場合 , AAS ビットは "1" に設定さ れ , アクノリッジ信号がマスタへ送信されます。次に , 受信データの bit0 (IDAR レジスタの bit0) が反転され , TRX ビットに保存されます。 ITMK レジスタの ENTB ビットが "1" で , 10 ビットアドレスヘッダ (11110B, TA1, TA0, 0B) が検出された場合は , インタフェースはアクノリッジ信号をマスタへ送信し , 反転された TRX レジスタの最後のデータビットを保存 します。割込みの発生はありません。次に転送バイトが (ITMK に保存されたビットマスクを使用して ) ITBA レジ スタの下位バイトと比較されます。一致が検出された場合 , マスタにアクノリッジ信号が送信され , AAS ビット が設定されて割込みが発生します。 インタフェースがスレーブとしてアドレス指定されて , 継続スタートコンディションを検出した場合は , 10 ビットアドレスヘッダ (11110B, TA1, TA0, 1B) 受信後に AAS ビットが設定され , 割込みが発生します。 10 ビットアドレスと 7 ビットアドレスおよびそのビットマスクには個別のレジスタが存在するため , ENSB ビット (ISMK) および ENTB ビット (ITMK) を設定して , 両方のアドレスにインタフェースをアクノリッジする ことが可能です。受信スレーブアドレス長 (7 ビットまたは 10 ビット ) は , ITMK レジスタの RAL ビット ( この ビットは AAS ビットが設定されている場合のみ有効 ) を読み出して特定できます。 また , インタフェースがマスタとしてのみ使用されている場合は , 両方のビットを "0" に設定してインタフェー スにスレーブアドレスを指定しないことも可能です。 すべてのスレーブアドレスビットは , 対応するマスクレジスタ (ITMK または ISMK) を使用してマスクできま す。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 445 第 29 章 I2C コントローラ 29.3 I2C インタフェース動作 MB91460N シリーズ ■ スレーブアドレスマスク マスクレジスタ (ITMK / ISMK) で "1" に設定したビットのみがアドレス比較に使用され , その他すべてのビッ トは無視されます。IBSR レジスタの AAS ビットが "1" の場合 , 受信スレーブアドレスは ITBA レジスタ (10 ビットアドレスを受信した場合は RAL=1) または ISBA レジスタ (7 ビットアドレスを受信した場合は RAL=0) から読み出されます。 ビットマスクがクリアされると , 常にスレーブとしてアドレス指定されるため , インタフェースはバスモニタ として使用できます。これは実際のバスモニタではありません。ほかに動作しているスレーブがない場合でも , スレーブアドレス受信時にアクノリッジを返します。 ■ アドレッシングスレーブ マスタモードでは , スタートコンディション発生後 , BB および TRX ビットは "1" に設定され , IDAR レジスタ の内容が MSB に最初に送信されます。アドレスデータが送信され , アクノリッジ信号がスレーブデバイスか ら受信された後 , 送信されたデータの bit0 ( 送信後の IDAR レジスタの bit0) は反転され , TRX ビットに保存さ れます。スレーブによるアクノリッジは , IBSR レジスタの LRB ビットを使用して確認できます。この手順は 繰り返しスタートコンディションにも適用されます。 10 ビットスレーブを書込みアクセスにアドレス指定するには , 2 バイトを送信する必要があります。最初のバ イトはビットシーケンス「1 1 1 1 0 A9 A8 0」で構成される 10 ビットアドレスヘッダで , その後に 10 ビットス レーブアドレスの下位 8 ビット (A7 ∼ A0) を含む第 2 のバイトが続きます。 上記のバイトシーケンスを送信して , 繰り返しスタートコンディション (IBCR の SCC ビット ) が発生し , その 後に読出しアクセスでの 10 ビットアドレスヘッダ (1 1 1 1 0 A9 A8 1) が続くと , 10 ビットスレーブが読出し 用にアクセスされます。 アドレスデータバイトの概要は以下になります。 • 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 A8 1 - A7 A6 A5 A4 A3 A2 A1 A0 - 継続スタート - 1 1 1 1 0 A9 A8 1。 ■ アービトレーション マスタモードでの送信時に , 別のマスタデバイスが同時にデータを送信している場合 , アービトレーションが 行われます。デバイスがデータ値 "1" を送信中で , SDA ライン上のデータに "L" レベル値がある場合は , デバ イスはアービトレーションロスと見なされ , AL ビットは "1" に設定されます。また , スタートコンディション がデータバイトの最初のビットで検出されたけれどもインタフェースでは発生せず , または何らかの理由でス タートまたはストップコンディションの発生が失敗した場合も , AL ビットは "1" に設定されます。 アービトレーションロス検出は MSS および TRX ビットの両方をクリアし , デバイスを直ちにスレーブモードに するため , スレーブアドレスが送信されている場合はアクノリッジを返します。 ■ アクノリッジ アクノリッジビットは , 受信側から送信側に対して送信されます。IBCR レジスタのアクノリッジビットは , データバイト受信時にアクノリッジを送信するかどうかを選択するために使用します。 データをスレーブモードで送信しても ( 別のマスタからの読出しアクセス ), アクノリッジがマスタから受信さ れない場合は , TRX ビットは "0" に設定され , デバイスは受信モードに移行します。これにより , スレーブが SCL ラインを開放するとすぐに , マスタはストップコンディションを発生することができます。 マスタモードでは , スレーブによるアクノリッジは , IBSR レジスタの LRB ビットを読み出すことで確認でき ます。 446 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.4 プログラミングフローチャート MB91460N シリーズ 29.4 プログラミングフローチャート ■ スレーブアドレッシングおよび送信データの例 図 29.4-1 レーブアドレッシングおよび送信データの例 7 ビットスレーブのアドレッシング 送信データ 開始 開始 BER ビットのクリア ( 設定時 ) ; インタフェース許可 EN:=1; 書込みにスレーブのアドレス指定 IDAR := データバイト ; INT := 0 IDAR := sl.address<<1+RW; MSS := 1; INT := 0 NO INT=1? NO INT=1? YES YES YES YES BER=1? バスエラー BER=1? NO NO AL=1? YES 転送の 再起動 ASS かどうか 検査 AL=1? YES 転送の 再起動 ASS かどうか 検査 NO NO ACK? ACK? (LRB=0?) NO NO (LRB=0?) YES YES データ送信準備完了 最後の バイトは転送 されたか ? YES NO スレーブのACK 実行なし 繰り返しスタートまたは ストップコンディション 発生 繰り返しスタート またはストップ コンディション 発生 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 447 第 29 章 I2C コントローラ 29.4 プログラミングフローチャート MB91460N シリーズ ■ 受信データ例 図 29.4-2 受信データ例 開始 読出しにスレーブのアドレス指定 スレーブから読み出す最後のバイトの 場合 IBCR の ACK ビットをクリア INT := 0 NO INT=1? YES BER=1? YES バスエラー IF の再許可 NO 最後の NO バイトは転送 されたか ? YES 転送終了 繰り返しスタート またはストップ コンディション発生 448 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 29 章 I2C コントローラ 29.4 プログラミングフローチャート MB91460N シリーズ ■ 割込みハンドラ例 図 29.4-3 割込みハンドラ例 開始 INT=1? ほかの モジュール からの 割込み 受信 NO YES BER=1? バスエラー IF の再許可 YES GCA=1? YES NO NO YES 転送失敗 再試行します スレーブとして ゼネラルコール AAS=1? YES AL=1? AL=1? NO YES ADT=1? NO 次の INT で新規 データ転送開始 必要に応じて ACK ビット変更 NO TRX=1? TRX=1? アービトレー ションロスト 転送再起動 NO LRB=1? YES YES スレーブの ACK 実行 なし ストップ または 繰り返し スタート発生 YES YES NO NO IDAR レジスタから の受信バイトを読み 出し , 必要に応じて ACK ビットを変更 次の転送バイトを IDAR レジスタに 送信 IDAR レジスタから の受信バイトを読み 出し , 必要に応じて ACK ビットを変更 次の転送バイト をレジスタに 送信または MSS をクリア INT ビットのクリア ISR の終了 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 449 第 29 章 I2C コントローラ 29.4 プログラミングフローチャート 450 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 30 章 CAN コントローラ 30.1 概要 MB91460N シリーズ 第 30 章 CAN コントローラ CAN コントローラの機能と動作について示します。 30.1 概要 CAN は , シリアル通信用の標準プロトコルである CAN プロトコル ver2.0A/B に準拠しており , 自動車や FA な どの工業分野に広く使用されています。 ■ CAN の特長 CAN には以下の特長があります。 • CAN プロトコル ver2.0A/B をサポート • 1Mbps までのビットレートをサポート • メッセージオブジェクトごとの識別マスク • プログラマブル FIFO モードをサポート • マスク可能な割込み • 自己テスト動作用プログラマブルループバックモードをサポート • インタフェースレジスタを使用してメッセージバッファへのリード / ライト • 個数:2 チャネル CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 451 第 30 章 CAN コントローラ 30.2 CAN のブロックダイヤグラム MB91460N シリーズ 30.2 CAN のブロックダイヤグラム 図 30.2-1 に , CAN のブロックダイヤグラムを示します。 ■ CAN のブロックダイヤグラム 図 30.2-1 CAN のブロックダイヤグラム CAN_TX CAN_RX CANコントローラ メッセージ RAM メッセージ ハンドラ C_CAN レジスタ群 Interrupt DataOUT DataIN Address[7:0] Control Reset Clock CPUインタフェース ● CAN コントローラ CAN プロトコルと送受信メッセージ転送のためのシリアル / パラレル変換用のシリアルレジスタを制御し ます。 ● メッセージ RAM メッセージオブジェクトを格納します。 ● レジスタ群 CAN で使用されるすべてのレジスタです。 ● メッセージハンドラ メッセージ RAM と CAN コントローラを制御します。 ● CPU インタフェース FR ファミリ内部バスのインタフェースを制御します。 452 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.3 CAN のレジスタ MB91460N シリーズ 30.3 CAN のレジスタ CAN には , 以下のレジスタがあります。 • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPER) • IFx コマンド要求レジスタ (IFxCREQ) • IFx コマンドマスクレジスタ (IFxCMSK) • IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2) • IFx アービトレーション 1, 2(IFxARB1, IFxARB2) • IFx メッセージ制御レジスタ (IFxMCTR) • IFx データレジスタ A1, A2, B1, B2(IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) • CAN 送信要求レジスタ 1, 2(TREQR1, TREQR2) • CAN New Data レジスタ 1, 2(NEWDT1, NEWDT2) • CAN 割込みペンディングレジスタ 1, 2(INTPND1, INTPND2) • CAN メッセージ有効レジスタ 1, 2(MSGVAL1, MSGVAL2) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 453 第 30 章 CAN コントローラ 30.3 CAN のレジスタ MB91460N シリーズ ■ 全体コントロールレジスタ一覧 表 30.3-1 全体制御レジスタ一覧 アドレス Base-addr + 00H 初期値 レジスタ +0 +1 初期値 CAN ステータスレジスタ bit15 ∼ bit8 bit7 ∼ bit0 CTRLR bit15 ∼ bit8 bit7 ∼ bit0 STATR 00000000B 00000000B 00000001B bit15 ∼ bit8 bit7 ∼ bit0 RP, REC[6:0] TEC[7:0] 00000000B 00000000B CAN 割込みレジスタ Base-addr + 08H 初期値 +3 CAN 制御レジスタ CAN エラーカウンタ Base-addr + 04H +2 bit15 ∼ bit8 bit7 ∼ bit0 Int-Id15 ∼ Int-Id8 Int-Id7 ∼ Int-Id0 00000000B 00000000B 初期値 454 bit15 ∼ bit8 bit7 ∼ bit0 BRPER 00000000B 00000000B 00000000B CAN ビットタイミングレジスタ bit15 ∼ bit8 TSeg2[2:0], TSeg1[3:0] bit7 ∼ bit0 SJW[1:0], BRP[5:0] 00100011B 00000001B CAN テストレジスタ bit15 ∼ bit8 bit7 ∼ bit0 TESTR 00000000B CAN プリスケーラ拡張レジスタ Base-addr + 0CH 備考 r0000000B 予約 bit15 ∼ bit8 bit7 ∼ bit0 予約 00000000B 予約 00000000B FUJITSU MICROELECTRONICS LIMITED エラーカウンタは読 出し専用です。 ビットタイミングレ ジスタは , CCE に より書込み可能とな ります。 割込みレジスタは読 出し専用です。 テストレジスタは TSET により使用で きます。 TESTR の "r" は CAN_RX 端子の値 を意味します。 プリスケーラ拡張レ ジスタは CCE によ り書込み可能となり ます。 CM71-10149-1 第 30 章 CAN コントローラ 30.3 CAN のレジスタ MB91460N シリーズ ■ メッセージインタフェースレジスタ一覧 表 30.3-2 メッセージインタフェースレジスタ一覧 (1 / 2) アドレス レジスタ +0 +1 IF1 コマンド要求レジスタ Base-addr + 10H bit15 ∼ bit8 BUSY 初期値 00000000B bit7 ∼ bit0 Mess.No.5 ∼ Mess.No.0 00000001B IF1 マスクレジスタ 2 Base-addr + 14H 初期値 bit15 ∼ bit8 bit7 ∼ bit0 MXtd. MDir, Msk28 ∼ MXtd. Msk23 ∼ Msk16 MDir, Msk24 11111111B 11111111B +2 +3 コメント IF1 コマンドマスクレジスタ bit15 ∼ bit8 bit7 ∼ bit0 IF1CMSK 00000000B 00000000B IF1 マスクレジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 Msk15 ∼ Msk8 Msk7 ∼ Msk0 11111111B 11111111B IF1 アービトレーションレジスタ 2 IF1 アービトレーションレジスタ 1 bit15 ∼ bit8 Base-addr + 18H MsgVal, Xtd, Dir, ID28 ∼ MsgVal, Xtd, Dir, ID24 00000000B 初期値 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 ID23 ∼ ID16 ID15 ∼ ID8 ID7 ∼ ID0 00000000B 00000000B 00000000B IF1 メッセージ制御レジスタ Base-addr + 1CH 初期値 bit15 ∼ bit8 bit7 ∼ bit0 IF1MCTR 00000000B 00000000B IF1 データレジスタ A1 Base-addr + 20H 初期値 bit7 ∼ bit0 Data[0] 00000000B bit15 ∼ bit8 Data[1] 00000000B IF1 データレジスタ B1 Base-addr + 24H 初期値 bit7 ∼ bit0 Data[4] 00000000B bit15 ∼ bit8 Data[5] 00000000B IF1 データレジスタ A2 Base-addr + 30H 初期値 bit15 ∼ bit8 Data[3] 00000000B bit7 ∼ bit0 Data[2] 00000000B IF1 データレジスタ B2 Base-addr + 34H 初期値 CM71-10149-1 bit15 ∼ bit8 Data[7] 00000000B bit7 ∼ bit0 Data[6] 00000000B 予約 bit15 ∼ bit8 予約 00000000B bit7 ∼ bit0 予約 00000000B IF1 データレジスタ A2 bit7 ∼ bit0 Data[2] 00000000B bit15 ∼ bit8 Data[3] 00000000B IF1 データレジスタ B2 bit7 ∼ bit0 Data[6] 00000000B bit15 ∼ bit8 Data[7] 00000000B IF1 データレジスタ A1 bit15 ∼ bit8 Data[1] 00000000B bit7 ∼ bit0 Data[0] 00000000B IF1 データレジスタ B1 bit15 ∼ bit8 Data[5] 00000000B bit7 ∼ bit0 Data[4] 00000000B FUJITSU MICROELECTRONICS LIMITED ビッグ エンディアン バイト ビッグ エンディアン バイト リトル エンディアン バイト リトル エンディアン バイト 455 第 30 章 CAN コントローラ 30.3 CAN のレジスタ MB91460N シリーズ 表 30.3-2 メッセージインタフェースレジスタ一覧 (2 / 2) アドレス レジスタ +0 +1 IF2 コマンド要求レジスタ Base-addr + 40H bit15 ∼ bit8 BUSY 初期値 00000000B bit7 ∼ bit0 Mess.No.5 ∼ Mess.No.0 00000001B IF2 マスクレジスタ 2 Base-addr + 44H 初期値 bit15 ∼ bit8 bit7 ∼ bit0 MXtd. MDir, Msk28 ∼ MXtd. Msk23 ∼ Msk16 MDir, Msk24 11111111B 11111111B +2 +3 コメント IF2 コマンドマスクレジスタ bit15 ∼ bit8 bit7 ∼ bit0 IF2CMSK 00000000B 00000000B IF2 マスクレジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 Msk15 ∼ Msk8 Msk7 ∼ Msk0 11111111B 11111111B IF2 アービトレーションレジスタ 2 IF2 アービトレーションレジスタ 1 Base-addr + 48H 初期値 bit15 ∼ bit8 bit7 ∼ bit0 IF2MCTR 00000000B 00000000B bit15 ∼ bit8 予約 00000000B IF2 メッセージ制御レジスタ Base-addr + 4CH 初期値 bit15 ∼ bit8 bit7 ∼ bit0 IF2MCTR 00000000B 00000000B IF2 データレジスタ A1 Base-addr + 50H 初期値 bit7 ∼ bit0 Data[0] 00000000B bit15 ∼ bit8 Data[1] 00000000B IF2 データレジスタ B1 Base-addr + 54H 初期値 bit7 ∼ bit0 Data[4] 00000000B bit15 ∼ bit8 Data[5] 00000000B IF2 データレジスタ A2 Base-addr + 60H 初期値 bit15 ∼ bit8 Data[3] 00000000B bit7 ∼ bit0 Data[2] 00000000B IF2 データレジスタ B2 Base-addr + 64H 初期値 456 bit15 ∼ bit8 Data[7] 00000000B bit7 ∼ bit0 Data[6] 00000000B bit7 ∼ bit0 予約 00000000B 予約 bit15 ∼ bit8 予約 00000000B bit7 ∼ bit0 予約 00000000B IF2 データレジスタ B2 bit7 ∼ bit0 Data[2] 00000000B bit15 ∼ bit8 Data[3] 00000000B IF2 データレジスタ B2 bit7 ∼ bit0 Data[6] 00000000B bit15 ∼ bit8 Data[7] 00000000B IF2 データレジスタ A1 bit15 ∼ bit8 Data[1] 00000000B bit7 ∼ bit0 Data[0] 00000000B IF2 データレジスタ B1 bit15 ∼ bit8 Data[5] 00000000B FUJITSU MICROELECTRONICS LIMITED bit7 ∼ bit0 Data[4] 00000000B ビッグ エンディアン バイト ビッグ エンディアン バイト リトル エンディアン バイト リトル エンディアン バイト CM71-10149-1 第 30 章 CAN コントローラ 30.3 CAN のレジスタ MB91460N シリーズ ■ メッセージハンドラレジスタ一覧 表 30.3-3 メッセージハンドラレジスタ一覧 アドレス レジスタ +0 +1 +2 CAN 送信要求レジスタ 2 Base-addr + 80H 初期値 Base-addr + 84H 初期値 Base-addr + 94H bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 TxRqst32 ∼ TxRqst25 TxRqst24 ∼ TxRqst17 TxRqst16 ∼ TxRqst9 TxRqst8 ∼ TxRqst1 00000000B 00000000B 00000000B 00000000B 初期値 Base-addr + A4H CAN データ更新レジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 NewDat32 ∼ NewData25 NewDat24 ∼ NewData17 NewData16 ∼ NewData9 NewData8 ∼ NewData1 00000000B 00000000B 00000000B 00000000B Base-addr + B4H データ更新レジスタ はリードオンリで す。 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) CAN 割込みペンディングレジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 IntPnd32 ∼ IntPnd25 IntPnd24 ∼ IntPnd17 IntPnd16 ∼ IntPnd9 IntPnd8 ∼ IntPnd1 00000000B 00000000B 00000000B 00000000B 割込みペンディング レジスタはリードオ ンリです。 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) CAN メッセージ有効レジスタ 2 Base-addr +B0H 送信要求レジスタは リードオンリです。 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) CAN 割込みペンディングレジスタ 2 Base-addr + A0H コメント CAN 送信要求レジスタ 1 CAN データ更新レジスタ 2 Base-addr + 90H +3 CAN メッセージ有効レジスタ 1 bit15 ∼ bit8 bit7 ∼ bit0 bit15 ∼ bit8 bit7 ∼ bit0 MsgVal32 ∼ MsgVal25 MsgVal24 ∼ MsgVal17 MsgVal16 ∼ MsgVal9 MsgVal8 ∼ MsgVal1 00000000B 00000000B 00000000B 00000000B メッセージ有効レジ スタはリードオンリ です。 予約 ( メッセージバッファ数が 33 以上の場合に使用 ) ■ クロックプリスケーラレジスタ 表 30.3-4 クロックプリスケーラレジスタ アドレス 0004C0H 初期値 CM71-10149-1 レジスタ +0 +1 +2 +3 CANPRE CANCKD − − bit3 ∼ bit0 CANPRE[3:0] bit5 ∼ bit0 CANCKD[5:0] − − − − 00000000B 00000000B − − FUJITSU MICROELECTRONICS LIMITED コメント CAN プリスケーラ 457 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4 CAN レジスタ機能 CAN レジスタには , 256 バイト (64 ワード ) のアドレス空間が割り当てられています。メッセージ RAM への CPU のアクセスは , メッセージインタフェースレジスタを介して行います。 本節では CAN レジスタを掲載し , それぞれのレジスタの詳細機能を記載します。 ■ CAN のレジスタ • 全体コントロールレジスタ - CAN 制御レジスタ (CTRLR) - CAN ステータスレジスタ (STATR) - CAN エラーカウンタ (ERRCNT) - CAN ビットタイミングレジスタ (BTR) - CAN 割込みレジスタ (INTR) - CAN テストレジスタ (TESTR) - CAN プリスケーラ拡張レジスタ (BRPER) • メッセージインタフェースレジスタ - IFx コマンド要求レジスタ (IFxCREQ) - IFx コマンドマスクレジスタ (IFxCMSK) - IFx マスクレジスタ 1, 2(IFxMSK1, IFxMSK2) - IFx アービトレーションレジスタ 1, 2(IFxARB1, IFxARB2) - IFx メッセージ制御レジスタ (IFxMCTR) - IFx データレジスタ A1, A2, B1, B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) • メッセージハンドラレジスタ - CAN 送信要求レジスタ 1, 2(TREQR1, TREQR2) - CAN データ更新レジスタ 1, 2(NEWDT1, NEWDT2) - CAN 割込みペンディングレジスタ 1, 2(INTPND1, INTPND2) - CAN メッセージ有効レジスタ 1, 2(MSGVAL1, MSGVAL2) 458 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1 全体コントロールレジスタ 全体コントロールレジスタは , CAN プロトコル制御および動作モードを制御し , ステータス情報を提供しま す。 ■ 全体コントロールレジスタ • CAN 制御レジスタ (CTRLR) • CAN ステータスレジスタ (STATR) • CAN エラーカウンタ (ERRCNT) • CAN ビットタイミングレジスタ (BTR) • CAN 割込みレジスタ (INTR) • CAN テストレジスタ (TESTR) • CAN プリスケーラ拡張レジスタ (BRPER) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 459 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.1 CAN 制御レジスタ (CTRLR) CAN 制御レジスタ (CTRLR) は , CAN コントローラの動作モードを制御します。 ■ レジスタ構成 図 30.4-1 CAN 制御レジスタ (CTRLR) CTRLR 上位バイト アドレス Base+00H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 res R res R res R res R res R res R res R res R 00000000B CTRLR 下位バイト アドレス Base+01H bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 初期値 Test R/W CCE R/W DAR R/W res R EIE R/W SIE R/W IE R/W Init R/W 00000001B R/W: リード / ライト可能 R: リードオンリ ■ レジスタ機能 [bit15 ∼ bit8] res:予約ビット これらのビットからは , "00000000B" が読み出されます。 書込みの場合には , "00000000B" を設定してください。 [bit7] Test:テストモード許可ビット Test 機能 0 通常動作 [ 初期値 ] 1 テストモード <注意事項> Test ビットに "1" を設定する場合 , INIT ビットが "1" のときに設定してください。 [bit6] CCE:ビットタイミングレジスタ書込み許可ビット 460 CCE 機能 0 CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジスタへの書込みを禁止しま す。[ 初期値 ] 1 CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジスタへの書込みを許可しま す。Init ビットが "1" のときに有効です。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ [bit5] DAR:自動再送禁止ビット DAR 機能 0 調停負けまたはエラー検出時のメッセージの自動再送を許可します。[ 初期値 ] 1 自動再送を禁止します。 CAN 仕様 (ISO11898, 6.3.3 リカバリ処理 参照 ) より , CAN コントローラは調停負けあるいは転送中のエラー 検出によりフレームの自動再送を行います。自動再送する場合は , DAR ビットに "0" を設定します。CAN を Time Triggered CAN (TTCAN, ISO11898-1 を参照 ) 環境で動作させるためには , DAR ビットに "1" を設定する 必要があります。 <注意事項> • DAR ビットに "1" を設定したモードでは , メッセージオブジェクト ( メッセージオブジェクトについては 「30.4.3 メッセージオブジェクト」を参照してください ) の TxRqst ビットと NewDat ビットの動作が異 なります。 - フレーム送信を開始したとき , メッセージオブジェクトの TxRqst が "0" にリセットされますが , NewDat ビットはセットされたままです。 - フレーム送信が正常終了すると NewDat は "0" にリセットされます。 送信が調停負けもしくはエラーを検出すると , NewDat はセットされたままです。送信を再開するために は , CPU により TxRqst に "1" を設定する必要があります。 • フレーム送出中 (TxRqst = 1) に CAN 制御レジスタ (CTRLR) の DAR ビットを "0" から "1" に変更すると 送出中のフレームがもう一度送出されますので DAR ビットを変更する場合 , INIT ビットが "1" のときに 変更してください。 • CAN が DAR ビットに "1" が設定され , ホストが同時にいくつかのメッセージの送信を要求したときに , 2 つのメッセージだけが送信されます。送信要求されていたほかのメッセージバッファの TxRqst ビットは リセットされますが , 送信は開始されません。NewDat, IntPnd は変化しないままになります。送信された 2 つのメッセージに関しては , TxRqst と NewDat ビットはリセットされます。そして , TxIE が許可になっ ていると , IntPnd は設定させます。 [bit4] res:予約ビット このビットからは , "0" が読み出されます。 書込みの場合には , "0" を設定してください。 [bit3] EIE:エラー割込みコード許可ビット EIE 機能 0 CAN ステータスレジスタの BOff または EWarn ビットの変化により , CAN 割込みレジスタへの 割込みコードの設定を禁止します。[ 初期値 ] 1 CAN ステータスレジスタの BOff または EWarn ビットの変化により , CAN 割込みレジスタへの ステータス割込みコードの設定を許可します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 461 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ [bit2] SIE:ステータス割込みコード許可ビット SIE 機能 0 CAN ステータスレジスタの TxOk, RxOk または LEC ビットの変化により , CAN 割込みレジス タへの割込みコードの設定を禁止します。[ 初期値 ] 1 CAN ステータスレジスタの TxOk, RxOk または LEC ビットの変化により , CAN 割込みレジス タへのステータス割込みコードの設定を許可します。 CPU からの書込みによって発生した TxOk, RxOk, LEC ビットの変化は CAN 割込みレジスタ には設定されません。 [bit1] IE:割込み許可ビット IE 機能 0 割込みの発生を禁止します。[ 初期値 ] 1 割込みの発生を許可します。 [bit0] Init:初期化ビット Init 機能 0 CAN コントローラ動作可能 1 初期化 [ 初期値 ] • バスオフリカバリシーケンス (CAN 仕様 Rev. 2.0 を参照 ) を , Init ビットの設定 / 解除によって短縮すること はできません。デバイスがバスオフになると , CAN コントローラ自身が Init ビットを "1" にセットし , すべ てのバス動作を停止させます。バスオフ状態から Init ビットを "0" にクリアすると , バスアイドルが連続的に 129 回 (11 ビットのレセッシブを 1 回とする ) 発生するまでバス動作を停止状態にします。バスオフリカバ リシーケンス実行後 , エラーカウンタはリセットされます。 • バスオフリカバリシーケンス中に INIT ビットに "1" を設定し , 再度 INIT ビットに "0" を設定した場合 , バス オフリカバリシーケンスを最初から実施します(11 ビットのレセッシブを 1 回として 129 回再度実施)。 • CAN ビットタイミングレジスタへの書込みは , Init および CCE ビットに "1" を設定してから行ってください。 • 送受信途中で INIT ビットに "1" を設定した場合 , 即送受信を中止します。 • 低消費電力モード ( 停止モード , クロックモード ) を使用する場合は , 低消費電力モードへ遷移する前に Init ビットに "1" を書き込んで CAN コントローラの初期化を行ってください。 • CANプリスケーラレジスタにより, CANインタフェースに供給するクロックの分周比を変更する場合は, Init ビットに "1" を設定後に CAN プリスケーラレジスタの変更を行ってください。 462 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.2 CAN ステータスレジスタ (STATR) CAN ステータスレジスタ (STATR) は , CAN ステータスおよび CAN バス状態を表示します。 ■ レジスタ構成 図 30.4-2 CAN ステータスレジスタ (STATR) STATR 上位バイト アドレス Base+02H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 res R res R res R res R res R res R res R res R 00000000B bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 R/W LEC R/W STATR 下位バイト アドレス Base+03H BOff EWarn EPass RxOk TxOk R R R R/W R/W 初期値 00000000B R/W R/W: リード / ライト可能 R: リードオンリ ■ レジスタ機能 [bit15 ∼ bit8] res:予約ビット これらのビットからは , "0" が読み出されます。 書込みの場合には , "0" を設定してください。 [bit7] BOff:バスオフビット BOff 機能 0 CAN コントローラはバスオフ状態ではない ( バスアクティブ ) [ 初期値 ] 1 CAN コントローラはバスオフ状態 [bit6] EWarn:ウォーニングビット EWarn 機能 0 送信 , 受信カウンタはいずれも 96 未満 [ 初期値 ] 1 送信または受信カウンタが 96 以上 [bit5] EPass: エラーパッシブビット EPass 機能 0 送信 , 受信カウンタはいずれも 128 未満 ( エラーアクティブ状態 ) [ 初期値 ] 1 受信カウンタは RP ビット =1, 送信カウンタが 128 以上 ( エラーパッシブ状態 ) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 463 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ [bit4] RxOk:メッセージ正常受信ビット RxOk 機能 0 メッセージ受信は異常 , またはバスアイドル状態 [ 初期値 ] 1 メッセージ受信は正常 [bit3] TxOk:メッセージ正常送信ビット TxOk 機能 0 メッセージ送信は異常 , またはバスアイドル状態 [ 初期値 ] 1 メッセージ送信は正常 <注意事項> RxOk および TxOk ビットは , CPU によってのみリセットされます。 [bit2 ∼ bit0] LEC:ラストエラーコードビット LEC 状態 機能 0 正常 正常に送信または受信されたことを示します。[ 初期値 ] 1 Stuff エラー メッセージ内において 6 ビット以上連続してドミナントまたはレセッシブを検出し たことを示します。 2 Form エラー 受信フレームの固定フォーマット部が誤って受信されたことを示します。 3 Ack エラー 送信メッセージに対し , ほかのノードからアクノリッジされなかったことを示しま す。 4 Bit1 エラー 調停フィールドを除くメッセージの送信データにおいて , レセッシブを送信したに もかかわらずドミナントを検出したことを示します。 5 Bit0 エラー メッセージの送信データにおいて , ドミナントを送信したにもかかわらずレセッシ ブを検出したことを示します。 バスリカバリ中には , 11 ビットのレセッシブを検出するごとにセットされます。こ のビットを読み出すことによりバスリカバリシーケンスを監視できます。 6 CRC エラー 受信したメッセージの CRC データと計算した CRC の結果が一致しなかったことを 示します。 7 未検出 CPU によって LEC ビットに "7" の書込みを行ってから , LEC ビットの読出し値が "7" の場合は , その期間には送受信が行われなかったことを示します ( バスアイドル 状態 ) 。 LEC ビットは CAN バス上で発生した最後のエラーを示すコードを保持します。メッセージがエラーなしで 転送 ( 受信 / 送信 ) 完了すると "0H" に設定されます。未検出コード "7H" は , コード更新をチェックするた めに CPU によって設定してください。 - ステータス割込みコード ("8000H") は , EIE ビットが "1" のときに BOff または EWarn ビットが変化した 場合 , あるいは SIE ビットが "1" のときに RxOk, TxOk, LEC ビットのいずれかが変化した場合 , CAN 割 464 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 込みレジスタに設定されます。 - RxOk, TxOk ビットは CPU の書込みによって更新されますので , CAN コントローラによってセットされ た RxOk, TxOk ビットは保持されません。RxOk, TxOk ビットを使用する場合には , RxOk または TxOk ビットが "1" にセットされてから (45 × BT) 時間以内にクリアしてください。BT は 1 ビットタイムを示 します。 - SIE ビットが "1" のとき , LEC ビットの変化による割込みが発生した場合には , CAN ステータスレジス タには書き込まないでください。 - EPass ビットの変化 , あるいは RxOk, TxOk, LEC ビットへの CPU 書込み動作では発生しません。 - BOff ビットが "1" になった場合 , EPass ビット , EWarn ビットは "1" の状態になっています。 また , EPass ビットが "1" になった場合 , EWarn ビットは "1" の状態になっています。 - このレジスタを読み出すことにより , CAN 割込みレジスタのステータス割込み (8000H) はクリアされま す。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 465 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.3 CAN エラーカウンタ (ERRCNT) CAN エラーカウンタ (ERRCNT) は , 受信エラーパッシブ表示および受信エラーカウンタ , 送信エラーカウンタ を示します。 ■ レジスタ構成 図 30.4-3 CAN エラーカウンタ (ERRCNT) ERRCNT 上位バイト アドレス Base+04H bit15 RP R bit14 bit13 R R bit6 bit5 bit12 bit11 bit10 bit9 bit8 初期値 00000000B REC6 ∼ REC0 R R R R R bit1 bit0 ERRCNT 下位バイト アドレス bit7 Base+05H R R R bit4 bit3 TEC7 ∼ TEC0 R R bit2 初期値 00000000B R R R R: リードオンリ ■ レジスタ機能 [bit15] RP:受信エラーパッシブ表示 RP 機能 0 受信エラーカウンタは CAN 仕様でのエラーパッシブ状態ではない [ 初期値 ] 1 受信エラーカウンタは CAN 仕様でのエラーパッシブ状態 [bit14 ∼ bit8] REC6 ∼ REC0:受信エラーカウンタ 受信エラーカウンタ値です。受信エラーカウンタ値の範囲は 0 ∼ 127 です。 受信エラーカウンタが 128 以上になる場合 , RP ビットに "1" を設定し , 受信エラーカウンタは更新されま せん。 例)REC6-0 = 127, 受信エラーで +8 される場合 , その結果は , RP = 1, REC6-0 = 127 REC6-0 = 126, 受信エラーで +8 される場合 , その結果は , RP = 1, REC6-0 = 126 REC6-0 = 119, 受信エラーで +8 される場合 , その結果は , RP = 0, REC6-0 = 127 [bit7 ∼ bit0] TEC7 ∼ TEC0:送信エラーカウンタ 送信エラーカウンタ値です。送信エラーカウンタ値の範囲は 0 ∼ 255 です。 送信エラーカウンタが 256 以上になる場合 , CAN 制御レジスタの Init ビットに "1" を設定し , 送信エラーカ ウンタは更新されません。 例)TEC7-0 = 255, 受信エラーで +8 される場合 , その結果は , Init = 1, TEC7-0 = 255 TEC7-0 = 254, 受信エラーで +8 される場合 , その結果は , Init = 1, TEC7-0 = 254 TEC7-0 = 247, 受信エラーで +8 される場合 , その結果は , Init = 0, TEC7-0 = 255 466 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.4 CAN ビットタイミングレジスタ (BTR) CAN ビットタイミングレジスタ (BTR) は , プリスケーラおよびビットタイミングを設定します。 ■ レジスタ構成 図 30.4-4 CAN ビットタイミングレジスタ (BTR) BTR 上位バイト アドレス Base+06H bit15 bit14 bit13 res R R TSeg2 R bit12 bit11 R R bit7 bit6 bit5 bit4 bit3 bit10 bit9 TSeg1 R R bit8 初期値 00100011B R BTR 下位バイト アドレス Base+07H SJW R bit2 bit1 bit0 BRP R R R R 初期値 00000001B R R R R: リードオンリ CAN ビットタイミングレジスタおよび CAN プリスケーラ拡張レジスタの設定は , CAN 制御レジスタの CCE ビットと Init ビットが "1" にセットされているときに行ってください。 ■ レジスタ機能 [bit15] res:予約ビット このビットからは , "0" が読み出されます。 書込みの場合には , "0" を設定してください。 [bit14 ∼ bit12] TSeg2:タイムセグメント 2 設定ビット 有効設定値は 0 ∼ 7 です。TSeg2+1 の値がタイムセグメント 2 になります。 タイムセグメント 2 は , CAN 仕様のフェーズバッファセグメント (PHASE_SEG2) に相当します。 [bit11 ∼ bit8] TSeg1:タイムセグメント 1 設定ビット 有効設定値は 1 ∼ 15 です。"0" の設定は禁止です。TSeg1+1 の値がタイムセグメント 1 になります。 タイムセグメント 1 は , CAN 仕様のプロパゲーションセグメント (PROP_SEG) +フェーズバッファセグメ ント 1(PHASE_SEG1) に相当します。 [bit7, bit6] SJW:再同期化ジャンプ幅設定ビット 有効設定値は 0 ∼ 3 です。SJW+1 の値が再同期ジャンプ幅となります。 [bit5 ∼ bit0] BRP:ボーレートプリスケーラ設定ビット 有効設定値は 0 ∼ 63 です。BRP+1 の値がボーレートプリスケーラになります。 システムクロック (fsys) を分周して , CAN コントローラの基本単位時間 (tq) を決定します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 467 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.5 CAN 割込みレジスタ (INTR) CAN 割込みレジスタ (INTR) は , メッセージ割込みコードおよびステータス割込みコードを表示します。 ■ レジスタ構成 図 30.4-5 CAN 割込みレジスタ (INTR) INTR 上位バイト アドレス bit15 bit14 bit13 Base+08H R R R bit7 bit6 bit5 bit12 bit11 IntId15 ∼ IntId8 R R bit10 bit9 bit8 初期値 00000000B R R R bit2 bit1 bit0 INTR 下位バイト アドレス Base+09H R R R bit4 bit3 IntId7 ∼ IntId0 R R 初期値 00000000B R R R R: リードオンリ ■ レジスタ機能 • 32 メッセージバッファ CAN 用 IntId 機能 0000H 割込みなし 0001H ∼ 0020H メッセージ割込みコード 0021H ∼ 7FFFH 未使用 8000H ステータス割込みコード 8001H ∼ FFFFH 未使用 • 128 メッセージバッファ CAN 用 IntId 機能 0000H 割込みなし 0001H ∼ 0080H メッセージ割込みコード 0081H ∼ 7FFFH 未使用 8000H ステータス割込みコード 8001H ∼ FFFFH 未使用 複数の割込みコードがペンディング中である場合 , CAN 割込みレジスタは優先度の高い割込みコードを示 します。割込みコードがCAN割込みレジスタにセットされている場合においても, 優先度の高い割込みコー ドが発生すると , CAN 割込みレジスタは優先度の高い割込みコードに更新されます。 優先度の高い割込みコードは , ステータス割込みコード ("8000H"), メッセージ割込み ("0001H", "0002H", "0003H", ……, "0020H") の順になります。 468 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ IntId ビットが "0000H" 以外のときに , CAN 制御レジスタの IE ビットが "1" にセットされると , CPU への割 込み信号がアクティブになります。IntId の値が "0000H" になる ( 割込み要因がリセットされる ) もしくは CAN 制御レジスタの IE ビットが "0" にリセットされると , 割込み信号はインアクティブになります。 対象となるメッセージオブジェクト ( メッセージオブジェクトについては「30.4.3 メッセージオブジェク ト」を参照 ) の IntPnd ビットを "0" にクリアすると , メッセージ割込みコードはクリアされます。 ステータス割込みコードは CAN ステータスレジスタを読み出すとクリアされます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 469 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.6 CAN テストレジスタ (TESTR) CAN テストレジスタ (TESTR) レジスタは , テストモードの設定および RX 端子のモニタを行います。動作に ついては , 「30.5.7 テストモード」を参照してください。 ■ レジスタ構成 図 30.4-6 CAN テストレジスタ (TESTR) TESTR 上位バイト アドレス Base+0AH bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 res R res R res R res R res R res R res R res R 00000000B bit4 bit3 bit2 bit1 bit0 初期値 res R res R r0000000B TESTR 下位バイト アドレス Base+0BH bit7 bit6 bit5 Rx R Tx1 R/W Tx0 R/W LBack Silent Basic R/W R/W R/W R/W: リード / ライト可能 R: リードオンリ bit7 の Rx の初期値 (r) は , CAN バス上のレベルが表示されます。 CAN テストレジスタ (TESTR) への書込みは , CAN 制御レジスタ (CTRLR) の Test ビットを "1" にセットした 後に行ってください。テストモードが有効となるのは , CAN 制御レジスタの Test ビットが "1" のときです。テ ストモードの途中で CAN 制御レジスタの Test ビットを "0" にするとテストモードから通常モードになります。 ■ レジスタ機能 [bit15 ∼ bit8] res:予約ビット これらのビットからは , "00000000B" が読み出されます。 書込みの場合には , "00000000B" を設定してください。 [bit7] Rx:Rx 端子モニタビット Rx 機能 0 CAN バスはドミナントであることを示します。 1 CAN バスはレセッシブであることを示します。 [bit6, bit5] Tx1, Tx0:TX 端子コントロールビット Tx1-0 機能 00B 通常動作 [ 初期値 ] 01B サンプリングポイントが Tx 端子に出力されます。 10B TX 端子にドミナントを出力します。 11B TX 端子にレセッシブを出力します。 Tx ビットを "00B" 以外に設定した場合は , メッセージを送信することはできません。 470 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ [bit4] LBack:ループバックモード LBack 機能 0 ループバックモードを禁止します。[ 初期値 ] 1 ループバックモードを許可します。 [bit3] Silent:サイレントモード Silent 機能 0 サイレントモードを禁止します。[ 初期値 ] 1 サイレントモードを許可します。 [bit2] Basic:ベーシックモード Basic 機能 0 ベーシックモードを禁止します。[ 初期値 ] 1 ベーシックモードを許可します。 IF1 レジスタは送信メッセージとして , IF2 レジスタは受信メッセージとして使用されます。 [bit1, bit0] res:予約ビット これらのビットからは , "00B" が読み出されます。 書込みの場合には , "00B" を設定してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 471 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.1.7 CAN プリスケーラ拡張レジスタ (BRPER) CAN プリスケーラ拡張レジスタ (BRPER) は , CAN ビットタイミングで設定したプリスケーラと組み合せるこ とにより , CAN コントローラで使用するプリスケーラを拡張します。 ■ レジスタ構成 図 30.4-7 CAN プリスケーラ拡張レジスタ (BRPER) BRPER 上位バイト アドレス bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 res R res R res R res R res R res R res R res R 00000000B bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 res R res R/W res R/W res R/W R/W BRPE R/W R Base+0CH BRPER 下位バイト アドレス Base+0DH 初期値 00000000B R R/W: リード / ライト可能 R: リードオンリ ■ レジスタ機能 [bit15 ∼ bit4] res:予約ビット これらのビットからは , "00000000 0000B" が読み出されます。 書込みの場合には , "00000000 0000B" を設定してください。 [bit3 ∼ bit0] BRPE:ボーレートプリスケーラ拡張ビット CAN ビットタイミングレジスタの BRP と BRPE を組み合せることにより , 1023 までボーレートプリスケー ラを拡張できます。 {BRPE(MSB:4 ビット ), BRP(LSB:6 ビット )} + 1 の値が CAN コントローラのプリスケール値となります。 472 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2 メッセージインタフェースレジスタ CPU からメッセージ RAM へのアクセスを制御するための 2 組のメッセージインタフェースレジスタがありま す。 メッセージ RAM への CPU アクセスを制御するために使用される 2 組のメッセージインタフェースレジスタ があります。この 2 組のレジスタは , 転送された ( する ) データ ( メッセージオブジェクト ) をバッファするこ とで , メッセージ RAM への CPU アクセスと CAN コントローラからのアクセスの競合を回避します。メッセー ジオブジェクト ( メッセージオブジェクトについては ,「30.4.3 メッセージオブジェクト」を参照 ) は , メッセー ジインタフェースレジスタとメッセージ RAM 間を一度に転送します。 テストベーシックモードを除き , 2 組のメッセージインタフェースレジスタの機能は同一で , 独立して動作可 能です。例えば , IF1 のメッセージインタフェースレジスタをメッセージ RAM への書込み動作中に , IF2 のメッ セージインタフェースレジスタをメッセージ RAM からの読出しに使用することも可能です。表 30.4-1 に 2 組 のメッセージインタフェースレジスタを示します。 メッセージインタフェースレジスタは , コマンドレジスタ ( コマンド要求 , コマンドマスクレジスタ ) と , この コマンドレジスタによって制御されるメッセージバッファレジスタ ( マスク , アービトレーション , メッセー ジ制御 , データレジスタ ) から構成されます。コマンドマスクレジスタは , データ転送の方向とメッセージオ ブジェクトのどの部分が転送されるのかを示します。コマンド要求レジスタは , メッセージ番号の選択と , コマ ンドマスクレジスタに設定された動作を行います。 表 30.4-1 IF1, IF2 メッセージインタフェースレジスタ アドレス IF1 レジスタセット アドレス IF2 レジスタセット Base + 10H IF1 コマンド要求 Base + 40H IF2 コマンド要求 Base + 12H IF1 コマンドマスク Base + 42H IF2 コマンドマスク Base + 14H IF1 マスク 2 Base + 44H IF2 マスク 2 Base + 16H IF1 マスク 1 Base + 46H IF2 マスク 1 Base + 18H IF1 アービトレーション 2 Base + 48H IF2 アービトレーション 2 Base + 1AH IF1 アービトレーション 1 Base + 4AH IF2 アービトレーション 1 Base + 1CH IF1 メッセージ制御 Base + 4CH IF2 メッセージ制御 Base + 20H IF1 データ A1 Base + 50H IF2 データ A1 Base + 22H IF1 データ A2 Base + 52H IF2 データ A2 Base + 24H IF1 データ B1 Base + 54H IF2 データ B1 Base + 26H IF1 データ B2 Base + 56H IF2 データ B2 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 473 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2.1 IFx コマンド要求レジスタ (IFxCREQ) IFx コマンド要求レジスタ (IFxCREQ) は , メッセージ RAM のメッセージ番号の選択とメッセージ RAM とメッ セージバッファレジスタ間の転送を行います。また , テストのベーシックモードでは , IF1 を送信制御用に IF2 を受信制御用として使用します。 ■ レジスタ構成 図 30.4-8 IFx コマンド要求レジスタ (IFxCREQ) IFxCREQ 上位バイト アドレス Base+10H Base+40H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 BUSY R/W res R res R res R res R res R res R res R 00000000B bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 res R/W res R/W res R/W R/W Message Number R/W R/W R/W IFxCREQ 下位バイト アドレス Base+11H Base+41H 初期値 00000000B R/W R/W: リード / ライト可能 R: リードオンリ ■ レジスタ機能 IFx コマンド要求レジスタへメッセージ番号を書き込むと , すぐにメッセージ RAM とメッセージバッファレジ スタ ( マスク , アービトレーション , メッセージ制御 , データレジスタ ) とのメッセージ転送が開始されます。 この書込み動作で , BUSY ビットが "1" にセットされて転送処理中であることを示します。その転送が終了す ると , BUSY ビットが "0" にリセットされます。 BUSY ビットが "1" のときに , CPU からメッセージインタフェースレジスタへアクセスが発生すると , BUSY ビットが "0" になるまで ( コマンド要求レジスタ書込み後 , クロックで 3 ∼ 6 サイクル期間 ) , CPU をウェイト させます。 テストベーシックモードでは , BUSY ビットの使用方法が異なります。IF1 コマンド要求レジスタは , 送信メッ セージとして使用され , BUSY ビットに "1" をセットすることによりメッセージ送信開始を指示します。メッ セージ転送が正常に終了すると , BUSY ビットは "0" にリセットされます。また , BUSY ビットを "0" にリセッ トすることにより , いつでもメッセージ転送を中断させることが可能です。 IF2 コマンド要求レジスタは , 受信メッセージとして使用され , BUSY ビットを "1" にセットすることにより , 受信したメッセージを IF2 メッセージインタフェースレジスタに格納します。 [bit15] BUSY:ビジーフラグビット • テストベーシックモード以外 474 BUSY 機能 0 メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送処理を行っていないこ とを示します。[ 初期値 ] 1 メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送処理中であることを示 します。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ • テストベーシックモード - IF1 コマンド要求レジスタ BUSY 機能 0 メッセージ送信を禁止します。 1 メッセージ送信を許可します。 - IF2 コマンド要求レジスタ BUSY 機能 0 メッセージ受信を禁止します。 1 メッセージ受信を許可します。 BUSY ビットは , 読出しおよび書込みが可能です。テストのベーシックモード時以外は , このビットに何を書 いても動作に影響しません ( ベーシックモードについては , 「30.5.7 テストモード」を参照 )。 [bit14 ∼ bit5] res:予約ビット これらのビットからは , "0000000000B" が読み出されます。 書込みの場合には "0000000000B" を設定してください。 [bit4 ∼ bit0] Message Number:メッセージ番号 (32 メッセージバッファ CAN 用 ) Message Number 00H 機能 設定禁止です。 設定した場合 , "20H" として解釈され , "20H" が読み出されます。 01H ∼ 20H 処理を行うメッセージ番号を設定します。 21H ∼ 3FH 設定禁止です。 設定した場合 , "01H" ∼ "1FH" として解釈され , 解釈された値が読み出されます。 [bit4 ∼ bit0] Message Number:メッセージ番号 (128 メッセージバッファ CAN 用 ) Message Number 00H 機能 設定禁止です。 設定した場合 , "20H" として解釈され , "20H" が読み出されます。 01H ∼ 80H 処理を行うメッセージ番号を設定します。 81H ∼ FFH 設定禁止です。 設定した場合 , "01H" ∼ "7FH" として解釈され , 解釈された値が読み出されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 475 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2.2 IFx コマンドマスクレジスタ (IFxCMSK) IFx コマンドマスクレジスタ (IFxCMSK) は , メッセージインタフェースレジスタとメッセージ RAM 間の転送 方向を制御し , どのデータを更新するかを設定します。また , テストベーシックモードでは本レジスタは無効 となります。 ■ レジスタ構成 図 30.4-9 IFx コマンドマスクレジスタ (IFxCMSK) IFxCMSK 上位バイト アドレス Base+12H Base+42H bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 初期値 res R res R res R res R res R res R res R res R 00000000B bit6 bit5 bit4 bit3 IFxCMSK 下位バイト アドレス Base+13H Base+43H bit7 WR/RD Mask R/W R/W Arb R/W Control CIP R/W bit2 bit1 bit0 TxRqst/ Data A Data B NewDat R/W R/W R/W 初期値 00000000B R/W R/W: リード / ライト可能 R: リードオンリ テストベーシックモードではこのレジスタの設定は無効となります。 ■ レジスタ機能 [bit15 ∼ bit8] res:予約ビット これらのビットからは , "00000000B" が読み出されます。 書込みの場合には "00000000B" を設定してください。 [bit7] WR/RD:ライト / リード制御ビット WR/RD 機能 0 メッセージ RAM からデータを読み出すことを示します。メッセージ RAM からの読出しは IFx コマンド要求レジスタへの書込みによって実行されます。メッセージ RAM から読み出すデータ は , Mask, Arb, Control, CIP, TxRqst/NewDat, Data A, Data B ビットの設定に依存します。 [ 初期値 ] 1 メッセージ RAM へデータを書き込むことを示します。メッセージ RAM への書込みは IFx コマ ンド要求レジスタへの書込みによって実行されます。メッセージ RAM への書込みデータは , Mask, Arb, Control, CIP, TxRqst/NewDat, Data A, Data B ビットの設定に依存します。 リセット後 , メッセージ RAM のデータは不定です。メッセージ RAM のデータが不定状態でメッセージ RAM のデータを読み出すことは禁止です。 IFx コマンドマスクレジスタの bit6 ∼ bit0 は , 転送方向 (WR/RD ビット ) の設定により異なる意味があります。 476 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ ● 転送方向がライトの場合 (WR/RD=1) [bit6] Mask:マスクデータ更新ビット Mask 機能 0 メッセージオブジェクトのマスクデータ (ID マスク + MDir + MXtd) を更新しない [ 初期値 ] 1 メッセージオブジェクトのマスクデータ (ID マスク + MDir + MXtd) を更新する [bit5] Arb:アービトレーションデータ更新ビット Arb 機能 0 メッセージオブジェクトのアービトレーションデータ (ID + Dir + Xtd + MsgVal) を更新しない [ 初期値 ] 1 メッセージオブジェクトのアービトレーションデータ (ID + Dir + Xtd + MsgVal) を更新する [bit4] Control:制御データ更新ビット Control 機能 0 メッセージオブジェクトの制御データ (IFx メッセージ制御レジスタ ) を更新しない [ 初期値 ] 1 メッセージオブジェクトの制御データ (IFx メッセージ制御レジスタ ) を更新する [bit3] CIP:割込みクリアビット 本ビットに "0" または "1" を設定しても CAN コントローラへの動作に影響を与えません。 [bit2] TxRqst/NewDat:メッセージ送信要求ビット TxRqst/NewDat 機能 0 メッセージオブジェクトおよび CAN 送信要求レジスタの TxRqst ビットに "0" を設定 [ 初期値 ] 1 メッセージオブジェクトおよび CAN 送信要求レジスタの TxRqst ビットに "1" を設定 ( 送信要求 ) IFx コマンドマスクレジスタの TxRqst/NewDat ビットが "1" に設定されると , IFx メッセージ制御レジスタの TxRqst ビットの設定は無効となります。 [bit1] Data A:データ 0 ∼ 3 更新ビット Data A 機能 0 メッセージオブジェクトのデータ 0 ∼ 3 を更新しない [ 初期値 ] 1 メッセージオブジェクトのデータ 0 ∼ 3 を更新する CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 477 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ [bit0] Data B:データ 4 ∼ 7 更新ビット Data B 機能 0 メッセージオブジェクトのデータ 4 ∼ 7 を更新しない [ 初期値 ] 1 メッセージオブジェクトのデータ 4 ∼ 7 を更新する 「30.4.3 メッセージオブジェクト」を参照してください。 ● 転送方向がリードの場合 (WR/RD=0) メッセージオブジェクトへの読出しアクセスにより , IntPnd および NewDat ビットは "0" にリセットするこ とが可能です。ただし , IFx メッセージ制御レジスタの IntPnd および NewDat ビットには , 読出しアクセス によりリセットされる前の IntPnd, NewDat ビットが格納されます。 テストのベーシックモードでは無効となります。 [bit6] Mask:マスクデータ更新ビット Mask 機能 0 メッセージオブジェクトから IFx マスクレジスタ 1, 2 へデータ (ID マスク + MDir + MXtd ) を転送しない [ 初期値 ] 1 メッセージオブジェクトから IFx マスクレジスタ 1, 2 へデータ (ID マスク + MDir + MXtd ) を転送する [bit5] Arb:アービトレーションデータ更新ビット Arb 機能 0 メッセージオブジェクトから IFx アービトレーション 1, 2 へデータ (ID+ Dir + Xtd + MsgVal) を転送しない [ 初期値 ] 1 メッセージオブジェクトから IFx アービトレーション 1, 2 へデータ (ID+ Dir + Xtd + MsgVal) を転送する [bit4] Control:制御データ更新ビット Control 478 機能 0 メッセージオブジェクトから IFx メッセージ制御レジスタへデータを転送しない [ 初期値 ] 1 メッセージオブジェクトから IFx メッセージ制御レジスタへデータを転送する FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ [bit3] CIP:割込みクリアビット CIP 機能 0 メッセージオブジェクトおよび CAN 割込みペンディングレジスタの IntPnd ビットを保持 [ 初 期値 ] 1 メッセージオブジェクトおよび CAN 割込みペンディングレジスタの IntPnd ビットを "0" にク リア [bit2] TxRqst/NewDat:データ更新ビット TxRqst/NewDat 機能 0 メッセージオブジェクトおよび CAN データ更新レジスタの NewDat ビットを保持 [ 初期値 ] 1 メッセージオブジェクトおよび CAN データ更新レジスタの NewDat ビットを "0" に クリア [bit1] Data A:データ 0 ∼ 3 更新ビット Data A 機能 0 メッセージオブジェクトおよび CAN データレジスタ A1, A2 のデータを保持 [ 初期値 ] 1 メッセージオブジェクトおよび CAN データレジスタ A1, A2 のデータを更新 [bit0] Data B:データ 4 ∼ 7 更新ビット Data B 機能 0 メッセージオブジェクトおよび CAN データレジスタ B1, B2 のデータを保持 [ 初期値 ] 1 メッセージオブジェクトおよび CAN データレジスタ B1, B2 のデータを更新 「30.4.3 メッセージオブジェクト」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 479 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2.3 IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2) IFx マスクレジスタ (IFxMSK1, IFxMSK2) は , メッセージ RAM のメッセージオブジェクトマスクデータをライ ト / リードするために用いられます。また , テストベーシックモードでは , 設定されているマスクデータは無 効となります。 各ビットの機能については , 「30.4.3 メッセージオブジェクト」を参照してください。 ■ レジスタ構成 図 30.4-10 IFx マスクレジスタ 1, 2 (IFxMSK1, IFxMSK2) IFxMSK2 上位バイト アドレス Base+14H Base+44H bit15 bit14 bit13 bit12 bit11 MXtd R/W MDir R/W res R bit10 bit9 bit8 R/W Msk28 ∼ Msk24 R/W R/W R/W R/W bit6 bit5 bit4 bit3 bit0 R/W Msk23 ∼ Msk16 R/W R/W R/W R/W R/W R/W bit14 bit13 bit9 bit8 R/W Msk15 ∼ Msk8 R/W R/W R/W R/W R/W R/W bit6 bit5 bit1 bit0 R/W Msk7 ∼ Msk0 R/W R/W R/W R/W 初期値 11111111B IFxMSK2 下位バイト アドレス Base+15H Base+45H bit7 R/W bit2 bit1 初期値 11111111B IFxMSK1 上位バイト アドレス Base+16H Base+46H bit15 R/W bit12 bit11 bit10 初期値 11111111B IFxMSK1 下位バイト アドレス Base+17H Base+47H bit7 R/W bit4 bit3 bit2 初期値 11111111B R/W R/W R/W: リード / ライト可能 R: リードオンリ IFx マスクレジスタのビット説明については , 「30.4.3 メッセージオブジェクト」を参照してください。 レジスタの予約ビット (IFx マスクレジスタ 2 の bit13) からは "1" が読み出されます。書込み時は , "1" を書き 込んでください。 480 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2.4 IFx アービトレーションレジスタ 1, 2 (IFxARB1, IFxARB2) IFx アービトレーションレジスタ (IFxARB1, IFxARB2) レジスタは , メッセージ RAM のメッセージオブジェク トアービトレーションデータをライト / リードするために用いられます。また , テストベーシックモードでは 無効となります。 各ビットの機能については , 「30.4.3 メッセージオブジェクト」を参照してください。 ■ レジスタ構成 図 30.4-11 IFx アービトレーションレジスタ 1, 2 (IFxARB1, IFxARB2) IFxARB2 上位バイト アドレス Base+18H Base+48H bit14 bit13 MsgVal Xtd R/W R/W bit15 Dir R/W bit12 bit11 bit10 bit9 bit8 R/W ID28 ∼ ID24 R/W R/W R/W R/W bit4 bit3 bit0 初期値 00000000B IFxARB2 下位バイト アドレス Base+19H Base+49H bit7 R/W bit6 bit5 bit2 bit1 初期値 00000000B R/W R/W ID23 ∼ ID16 R/W R/W bit14 bit13 bit12 R/W R/W ID15 ∼ ID8 R/W R/W R/W R/W R/W bit6 bit5 bit4 bit2 bit1 bit0 R/W ID7 ∼ ID0 R/W R/W R/W R/W R/W bit10 bit9 bit8 IFxARB1 上位バイト アドレス Base+1AH Base+4AH bit15 R/W bit11 初期値 00000000B IFxARB1 下位バイト アドレス Base+1BH Base+4BH bit7 R/W R/W bit3 初期値 00000000B R/W R/W R/W R/W: リード / ライト可能 IFx アービトレーションレジスタのビット説明については , 「30.4.3 メッセージオブジェクト」を参照してく ださい。 送信途中でメッセージオブジェクトの MsgVal ビットを "0" にクリアした場合 , 送信が完了した時点で CAN ス テータスレジスタの TxOk ビットは "1" になりますが , メッセージオブジェクトおよび CAN 送信要求レジスタ の TxRqst ビットは "0" にクリアされません。メッセージインタフェースレジスタによって TxRqst ビットを "0" にクリアしてください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 481 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2.5 IFx メッセージ制御レジスタ (IFxMCTR) IFx メッセージ制御レジスタ (IFxMCTR) は , メッセージ RAM のメッセージオブジェクト制御データをリード / ライトするために用いられます。また , テストベーシックモードでは , IF1 メッセージ制御レジスタは無効と なります。 IF2 メッセージ制御レジスタの NewDat と MsgLst は通常の動作を行い , DLC ビットは受信したメッ セージの DLC を表示します。その他の制御ビットは無効 ("0") として動作します。 各ビットの機能については , 「30.4.3 メッセージオブジェクト」を参照してください。 ■ レジスタ構成 図 30.4-12 IFx メッセージ制御レジスタ (IFxMCTR) IFxMCTR 上位バイト アドレス Base+1CH Base+4CH bit15 bit14 bit13 bit12 bit11 NewDa MsgLst IntPnd UMask TxIE t R/W R/W R/W R/W R/W bit10 bit9 bit8 RxIE RmtEn TxRqst R/W R/W R/W bit2 bit1 bit0 初期値 00000000B IFxMCTR 下位バイト アドレス Base+1DH Base+4DH bit7 bit6 bit5 bit4 bit3 EoB R/W res R res R res R DLC3 ∼ DLC0 R/W R/W R/W R/W 初期値 00000000B R/W: リード / ライト可能 R: リードオンリ IFxメッセージ制御レジスタのビット説明については,「30.4.3 メッセージオブジェクト」を参照してください。 TxRqst, NewDat および IntPnd ビットは , IFx コマンドマスクレジスタの WR/RD ビットの設定によって以下の ような動作になります。 ● 転送方向がライトの場合 (IFx コマンドマスクレジスタ:WR/RD=1) IFx コマンドマスクレジスタの TxRqst/NewDat が "0" に設定されている場合のみ , 本レジスタの TxRqst ビッ トが有効となります。 ● 転送方向がリードの場合 (IFx コマンドマスクレジスタ:WR/RD=0) IFx コマンドマスクレジスタの CIP ビットを "1" に設定し , IFx コマンド要求レジスタへの書込みによりメッ セージオブジェクトおよび CAN 割込みペンディングレジスタの IntPnd ビットをリセットした場合 , 本レジ スタにはリセットされる前の IntPnd ビットが格納されます。 IFx コマンドマスクレジスタの TxRqst/NewDat ビットを "1" に設定し , IFx コマンド要求レジスタへの書込 みによりメッセージオブジェクトおよび CAN データ更新レジスタの NewDat ビットをリセットした場合 , 本レジスタにはリセットする前の NewDat ビットが格納されます。 482 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.2.6 IFx データレジスタ A1, A2, B1, B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) IFx データレジスタ (IFxDTA1, IFxDTA2, IFxDTAB1, IFXDTB2) は , メッセージ RAM のメッセージオブジェク ト送受信データをリード / ライトするために用いられます。データフレームの送受信にのみ使用され , リモー トフレームの送受信には使用されません。 ■ レジスタ構成 addr+0 addr+1 addr+2 addr+3 IFx メッセージデータ A1 ( アドレス 20H, 50H) Data(0) Data(1) − − IFx メッセージデータ A2 ( アドレス 22H, 52H) − − Data(2) Data(3) IFx メッセージデータ B1 ( アドレス 24H, 54H) Data(4) Data(5) − − IFx メッセージデータ B2 ( アドレス 26H, 56H) − − Data(6) Data(7) IFx メッセージデータ A2 ( アドレス 30H, 60H) Data(3) Data(2) − − IFx メッセージデータ A1 ( アドレス 32H, 62H) − − Data(1) Data(0) IFx メッセージデータ B2 ( アドレス 34H, 64H) Data(7) Data(6) − − IFx メッセージデータ B1 ( アドレス 36H, 66H) − − Data(5) Data(4) 図 30.4-13 IFx データレジスタ A1, A2, B1, B2 (IFxDTA1, IFxDTA2, IFxDTB1, IFxDTB2) IFxDTA1, IFxDTA2 IFxDTB1, IFxDTB2 bit15 bit7 R/W bit14 bit6 R/W bit13 bit5 bit12 bit4 bit11 bit3 R/W Data R/W R/W bit10 bit2 bit9 bit1 bit8 bit0 初期値 00000000B R/W R/W R/W R/W: リード / ライト可能 ■ レジスタ機能 ● 送信メッセージデータの設定 設定したデータは , MSB (bit7, bit15) より開始して Data(0), Data(1), ... , Data(7) の順で送信されます。 ● 受信メッセージデータ 受信メッセージデータは , MSB (bit7, bit15) より開始して Data(0), Data(1), ... , Data(7) の順で格納されま す。 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバイトは不定です。 メッセージオブジェクトへの転送は , Data A もしくは Data B の 4 バイト単位で行われますので , 4 バイト のある一部のデータだけを更新することはできません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 483 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.3 メッセージオブジェクト メッセージ RAM には , 32 ( 品種によって 128 まで ) のメッセージオブジェクトがあります。メッセージ RAM への CPU アクセスと CAN コントローラからのアクセスの競合を回避するために , CPU はメッセージオブジェ クトへの直接アクセスはできません。これらのアクセスは , IFx メッセージインタフェースレジスタ経由で行 います。 メッセージオブジェクトの構成と機能を説明します。 ■ メッセージオブジェクトの構成 表 30.4-2 メッセージオブジェクトの構成 UMask Msk28 ∼ Msk0 MsgVal ID28 ∼ ID0 MXtd MDir Xtd Dir EoB DLC3 ∼ DLC0 New Dat MsgLst RxIE TxIE IntPnd RmtEn TxRqst Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 <注意事項> メッセージオブジェクトは , CAN 制御レジスタの Init ビット , ハードウェアリセットでは初期化されませ ん。ハードウェアリセットの場合 , ハードウェアリセット解除後 , CPU によってメッセージ RAM を初期化 するかメッセージ RAM の MsgVal を "0" にしてください。 ■ メッセージオブジェクトの機能 ID28 ∼ ID0, Xtd, Dir ビットは , メッセージを送信する場合 , ID とメッセージの種類に使用されます。メッセー ジを受信する場合 , Msk28 ∼ Msk0, MXtd, MDir ビットとともにアクセプタンスフィルタで使用されます。 アクセプタンスフィルタを通過したデータフレームもしくはリモートフレームの ID, IDE, RTR, DLC および DATA は , メッセージオブジェクトの ID28-ID0, Xtd, Dir, DLC3-DLC0, Data7-Data0 に格納されます。Xtd は拡 張フレームか標準フレームかを示し , Xtd が "1" の場合は 29 ビット ID ( 拡張フレーム ) を , Xtd が "0" の場合は 11 ビット ID ( 標準フレーム ) を受信します。 受信したデータフレームもしくはリモートフレームが 1 つ以上のメッセージオブジェクトと一致した場合は , 一致した最小のメッセージ番号に格納されます。詳細は , 「30.5.3 メッセージ受信動作」の「■ 受信メッセー ジのアクセプタンスフィルタ」を参照してください。 MsgVal:有効メッセージビット MsgVal 機能 0 メッセージオブジェクトは無効です。 メッセージの送受信を行いません。 1 メッセージオブジェクトは有効です。 メッセージの送受信が可能となります。 • CAN 制御レジスタの Init ビットを "0" にリセットする前の初期化中に , すべての未使用メッセージオブジェ クトの MsgVal ビットを CPU でリセットしてください。 • ID28 ∼ ID0, Xtd, Dir, DLC3 ∼ DLC0 を変更する前 , もしくはメッセージオブジェクトが必要ない場合は , MsgVal ビットを必ず "0" にリセットしてください。 • 送信中に MsgVal ビットを "0" にすると送信が完了した時点で CAN ステータスレジスタの TxOk ビットは "1" になりますが , メッセージオブジェクトおよび CAN 送信要求レジスタの TxRqst ビットは "0" にクリアされ ません。メッセージインタフェースレジスタによって TxRqst ビットを "0" にクリアしてください。 484 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ UMask:アクセプタンスマスク許可ビット UMask 機能 0 Msk28 ∼ Msk0, MXtd, MDir を使用しません。 1 Msk28 ∼ Msk0, MXtd, MDir を使用します。 • CAN 制御レジスタの Init ビットが "1" のとき , あるいは MsgVal ビットが "0" のときに UMask ビットを変更 してください。 • Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask の設定により動作が異なります。 - UMask が "1" の場合は , アクセプタンスフィルタを通過してリモートフレームを受信すると , TxRqst ビットを "0" にリセットします。そのとき , 受信した ID, IDE, RTR, DLC はメッセージオブジェクトに格 納され , NewDat ビットは "1" にセットされ , データは変更されません ( データフレームのように取り扱 います )。 - UMask が "0" の場合は , リモートフレーム受信に対して TxRqst ビットはそのまま保持され , リモートフ レームを無視します。 ID28 ∼ ID0:メッセージ ID ID 機能 ID28 ∼ ID0 29 ビット ID ( 拡張フレーム ) を指示 ID28 ∼ ID18 11 ビット ID ( 標準フレーム ) を指示 Msk28 ∼ Msk0:ID マスク Msk 機能 0 メッセージオブジェクトの ID と対応するビットのマスクあり 1 メッセージオブジェクトの ID と対応するビットのマスクなし 11 ビット ID ( 標準フレーム ) がメッセージオブジェクトに設定されると , 受信したデータフレームの ID は , ID28 ∼ ID18 へ書き込まれます。ID マスクは , Msk28 ∼ Msk18 が使用されます。 Xtd:拡張 ID 許可ビット Xtd 機能 0 メッセージオブジェクトは 11 ビット ID ( 標準フレーム ) 1 メッセージオブジェクトは 29 ビット ID ( 拡張フレーム ) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 485 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ MXtd:拡張 ID マスクビット MXtd 機能 0 メッセージオブジェクトの Xtd に設定した値と , 受信したフレームの IDE の値の比較を行いま せん。受信したフレームの IDE ビットにしたがって標準フレームの ID として比較するか , 拡 張フレームの ID として比較するか決定します。 1 メッセージオブジェクトの Xtd に設定した値と , 受信したフレームの IDE の値の比較を行いま す。 <注意事項> 11 ビット ID ( 標準フレーム ) がメッセージオブジェクトに設定されると , 受信したデータフレームの ID は , ID28 ∼ ID18 へ書込まれます。ID マスクは , Msk28 ∼ Msk18 が使用されます。 Dir:メッセージ方向ビット Dir 機能 0 受信方向を示します。 TxRqst が "1" にセットされると , リモートフレームの送信を行い , TxRqst が "0" のときは , ア クセプタンスフィルタを通過したデータフレームを受信します。 1 送信方向を示します。 TxRqst が "1" にセットされると , データフレームを送信し , TxRqst が "0" で RmtEn が "1" に セットされている場合 , アクセプタンスフィルタを通過したリモートフレームの受信によって , CAN コントローラ自身が TxRqst を "1" にセットします。 MDir:メッセージ方向マスクビット MDir 機能 0 アクセプタンスフィルタでのメッセージ方向ビット (Dir) の マスクあり 1 アクセプタンスフィルタでもメッセージ方向ビット (Dir) の マスクなし <注意事項> MDir ビットには常に "1" を設定してください。 EoB:エンドオブバッファビット ( 詳細は , 「30.5.4 FIFO バッファ機能」を参照 ) EoB 機能 0 メッセージオブジェクトは FIFO バッファとして使用され , 最終メッセージでない 1 単一メッセージオブジェクト , または FIFO バッファの最終メッセージオブジェクト EoB ビットは , 2 ∼ 32 メッセージの FIFO バッファを構成するために使用します。 単一メッセージオブジェクト (FIFO を使用しない場合 ) は , 必ず EoB ビットに "1" を設定してください。 486 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ NewDat: データ更新ビット NewDat 機能 0 有効データなし 1 有効データあり MsgLst: メッセージロスト MsgLst 機能 0 メッセージロストの発生なし 1 メッセージロスト発生 MsgLst ビットは Dir ビットが "0" のとき ( 受信方向 ) のみ有効です。 RxIE:受信割込みフラグイネーブルビット RxIE 機能 0 フレーム受信成功後 , IntPnd の変更なし 1 フレーム受信成功後 , IntPnd は "1" にセット TxIE:送信割込みフラグイネーブルビット TxIE 機能 0 フレーム送信成功後 , IntPnd の変更なし 1 フレーム送信成功後 , IntPnd は "1" にセット IntPnd:割込みペンディングビット IntPnd 機能 0 割込み要因なし 1 割込み要因あり ほかに優先度の高い割込みがない場合は , CAN 割込みレジスタの IntId ビットはこのメッセー ジオブジェクトを示します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 487 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ RmtEn:リモートイネーブル RmtEn 機能 0 リモートフレームの受信での , TxRqst の変更なし 1 Dir ビットが "1" でリモートフレームを受信すると , TxRqst は "1" にセット Dir ビットが "1" かつ RmtEn ビットが "0" のとき , UMask の設定により動作が異なります。 - UMask が "1" の場合は , アクセプタンスフィルタを通過してリモートフレームを受信したとき , TxRqst ビットを "0" にリセットします。そのとき , 受信した ID, IDE, RTR, DLC はメッセージオブジェクトに格 納され , NewDat ビットは "1" にセットされ , データは変更されません ( データフレームのように取り扱わ れます ) 。 - UMask が "0" の場合は , リモートフレーム受信に対して TxRqst ビットはそのまま保持され , リモートフ レームを無視します。 TxRqst:送信要求ビット TxRqst 機能 0 送信アイドル状態 ( 送信中でもなく , 送信待ち状態でもない ) 1 送信中 , または送信待ち状態 DLC3 ∼ DLC0:データ長コード DLC3 ∼ DLC0 機能 0∼8 データフレーム長は 0 ∼ 8 バイト 9 ∼ 15 設定禁止 設定された場合は , 8 バイト長となります。 データフレームを受信すると DLC ビットには , 受信した DLC が格納されます。 488 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ Data0 ∼ Data7:データ 0 ∼ 7 Data0 ∼ Data7 機能 Data 0 CAN データフレームの最初のデータバイト Data 1 CAN データフレームの 2 番目のデータバイト Data 2 CAN データフレームの 3 番目のデータバイト Data 3 CAN データフレームの 4 番目のデータバイト Data 4 CAN データフレームの 5 番目のデータバイト Data 5 CAN データフレームの 6 番目のデータバイト Data 6 CAN データフレームの 7 番目のデータバイト Data 7 CAN データフレームの 8 番目のデータバイト • CAN バスへのシリアル出力は , MSB (bit 7 もしくは bit15) より出力されます。 • 受信メッセージデータが 8 バイトより少ない場合は , データレジスタの残りのバイトデータは不定です。 • メッセージオブジェクトへの転送は , Data A もしくは Data B の 4 バイト単位で行われますので , 4 バイトの ある一部のデータだけを更新することはできません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 489 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.4 メッセージハンドラレジスタ メッセージハンドラレジスタは , すべて読出し専用です。メッセージオブジェクトの TxRqst, NewDat, IntPnd, MsgVal, IntId ビットは , ステータスを表示します。 ■ メッセージハンドラレジスタ • CAN 送信要求レジスタ 1, 2 (TREQR1, TREQR2) • CAN データ更新レジスタ 1, 2 (NEWDT1, NEWDT2) • CAN 割込みペンディングレジスタ 1, 2 (INTPND1, INTPND2) • CAN メッセージ有効レジスタ 1, 2 (MSGVAL1, MSGVAL2) 30.4.4.1 CAN 送信要求レジスタ (TREQR1, TREQR2) CAN 送信要求レジスタ (TREQR1, TREQR2) は , 全メッセージオブジェクトの TxRqst ビットを表示します。 TxRqst ビットを読み出すことにより , どのメッセージオブジェクトの送信要求がペンディング中であるかを チェックすることができます。 ■ レジスタ構成 図 30.4-14 CAN 送信要求レジスタ (TREQR1, TREQR2) TREQR2 上位バイト アドレス bit15 bit14 Base+80H R R bit13 bit12 bit11 bit10 TxRqst32 ∼ TxRqst25 R R R R bit9 bit8 初期値 00000000B R R bit1 bit0 TREQR2 下位バイト アドレス Base+81H bit7 R bit6 R bit5 bit4 bit3 bit2 TxRqst24 ∼ TxRqst17 R R R R 初期値 00000000B R R bit9 bit8 TREQR1 上位バイト アドレス bit15 bit14 Base+82H R R bit13 bit12 bit11 bit10 TxRqst16 ∼ TxRqst9 R R R R 初期値 00000000B R R bit1 bit0 TREQR1 下位バイト アドレス bit7 bit6 Base+83H R R bit5 bit4 bit3 bit2 TxRqst8 ∼ TxRqst1 R R R R 初期値 00000000B R R R: リードオンリ 490 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ ■ レジスタ機能 TxRqst32 ∼ TxRqst1:送信要求ビット TxRqst32 ∼ TxRqst1 機能 0 送信アイドル状態 ( 送信中でもなく , 送信待ち状態でもない ) 1 送信中 , または送信待ち状態 TxRqst ビットのセット / リセット条件を以下に示します。 • セット条件 - IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "1" を設定し , IFx コマンド要求レジスタへの書 込みにより特定オブジェクトの TxRqst にセットできます。 - IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "0", Control に "1" を設定し IFx メッセージ制御 レジスタの TxRqst に "1" を設定した場合 , IFx コマンド要求レジスタへの書込みにより特定オブジェク トの TxRqst にセットできます。 - Dir ビットを "1", RmtEn ビットを "1" に設定し , アクセプタンスフィルタを通過したリモートフレームの 受信によりセットされます。 • リセット条件 - IFx コマンドマスクレジスタの WR/RD に "1", TxRqst に "0", Control に "1" を設定し IFx メッセージ制御 レジスタの TxRqst に "0" を設定した場合 , IFx コマンド要求レジスタへの書込みにより特定オブジェク トの TxRqst をリセットできます。 - フレームの送信が正常終了すると , リセットされます。 - Dir が "1", RmtEn が "0", UMask が "1" の場合 , アクセプタンスフィルタを通過したリモートフレームの 受信によりリセットされます。 <注意事項> • 優先順位が最下位のメッセージバッファを送信に使用している場合 , TXRqst に "1" を設定し , 送信中止のた め , TxRqst に "0" を設定した場合 , そのタイミングによっては , 再度 TxRqst に "1" を設定したとき , 以下の いずれかのイベントが発生するまで , メッセージが送信されないことがあります。 - CAN バス上に有効なメッセージが流れる - ほかのメッセージバッファに対して送信要求が発行される - INIT ビットによって C_CAN が初期化される システム上 , もし送信を中止する状況が発生する場合 , 送信メッセージバッファとして優先順位が最下位の メッセージバッファを使用しないか , 送信中止後 , 上記のいずれかのイベントを発生させた後 , 再度 TxRqst に "1" を設定してください。 • TxRqst ビットが "1" のときに ID28-0, DLC3-0, Xtd, Data7-0 のメッセージオブジェクトを変更すると変更前 後のメッセージオブジェクトが混在して送出されたり , 変更後のメッセージオブジェクトが送出されない可 能性があるので TxRqst ビットが "0" のときにそれらを変更してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 491 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 32 メッセージバッファ以上を搭載する CAN マクロにおける送信要求ビットについては以下の表を参照してく ださい。 addr + 0 addr + 1 addr + 2 addr + 3 TREQR4 および TREQR3 TxRqst64 ∼ TxRqst33 ( アドレス 84H) TxRqst64 ∼ TxRqst57 TxRqst56 ∼ TxRqst49 TxRqst48 ∼ TxRqst41 TxRqst40 ∼ TxRqst33 TREQR6 および TREQR5 TxRqst96 ∼ TxRqst65 ( アドレス 88H) TxRqst96 ∼ TxRqst89 TxRqst88 ∼ TxRqst81 TxRqst80 ∼ TxRqst73 TxRqst72 ∼ TxRqst65 TREQR8 および TREQR7 TxRqst128 ∼ TxRqst97 ( アドレス 8CH) TxRqst128 ∼ TxRqst121 TxRqst120 ∼ TxRqst113 TxRqst112 ∼ TxRqst105 TxRqst104 ∼ TxRqst97 492 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.4.2 CAN データ更新レジスタ (NEWDT1, NEWDT2) CAN データ更新レジスタ (NEWDT1, NEWDT2) は , 全メッセージオブジェクトの NewDat ビットを表示しま す。NewDat ビットを読み出すことにより , どのメッセージオブジェクトのデータが更新されたかをチェック することができます。 ■ レジスタ構成 図 30.4-15 CAN データ更新レジスタ (NEWDT1, NEWDT2) NEWDT2 上位バイト アドレス bit15 bit14 Base+90H R R bit13 bit12 bit11 bit10 NewDat32 ∼ NewDat25 R R R R bit9 bit8 初期値 00000000B R R bit1 bit0 NEWDT2 下位バイト アドレス Base+91H bit7 R bit6 R bit5 bit4 bit3 bit2 NewDat24 ∼ NewDat17 R R R R 初期値 00000000B R R bit9 bit8 NEWDT1 上位バイト アドレス bit15 bit14 Base+92H R R bit13 bit12 bit11 bit10 NewDat16 ∼ NewDat9 R R R R 初期値 00000000B R R bit1 bit0 NEWDT1 下位バイト アドレス bit7 bit6 Base+93H R R bit5 bit4 bit3 bit2 NewDat8 ∼ NewDat1 R R R R 初期値 00000000B R R R: リードオンリ CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 493 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ ■ レジスタ機能 NewDat32 ∼ NewDat1:データ更新ビット NewDat32 ∼ NewDat1 機能 0 更新データなし 1 更新データあり NewDat ビットのセット / リセット条件を以下に示します。 • セット条件 - IFx コマンドマスクレジスタの WR/RD に "1", Control に "1" を設定し IFx メッセージ制御レジスタの NewDat に "1" を設定して , IFx コマンド要求レジスタの書込みにより特定オブジェクトにセットできま す。 - アクセプタンスフィルタを通過したデータフレームの受信によりセットされます。 - Dir が "1", RmtEn が "0", UMask が "1" の場合 , アクセプタンスフィルタを通過したリモートフレームの 受信によりセットされます。 • リセット条件 - IFx コマンドマスクレジスタの WR/RD に "0", NewDat に "1" を設定した場合 , IFx コマンド要求レジス タの書込みにより特定オブジェクトの NewDat をリセットできます。 - IFx コマンドマスクレジスタの WR/RD に "1", Control に "1" を設定し IFx メッセージ制御レジスタの NewDat を "0" に設定した場合 , IFx コマンド要求レジスタの書込みにより特定オブジェクトの NewDat をリセットできます。 - 送信用シフトレジスタ ( 内部レジスタ ) へデータを転送終了後にリセットされます。 32 メッセージバッファ以上を搭載する CAN マクロにおけるデータ更新ビットについては以下の表を参照して ください。 addr + 0 addr + 1 addr + 2 addr + 3 NEWDT4 および NEWDT3 NewDat64 ∼ NewDat33 ( アドレス 94H) NewDat64 ∼ NewDat57 NewDat56 ∼ NewDat49 NewDat48 ∼ NewDat41 NewDat40 ∼ NewDat33 NEWDT6 および NEWDT5 NewDat96 ∼ NewDat65 ( アドレス 98H) NewDat96 ∼ NewDat89 NewDat88 ∼ NewDat81 NewDat80 ∼ NewDat73 NewDat72 ∼ NewDat65 NEWDT8 および NEWDT7 NewDat128 ∼ NewDat97 ( アドレス 9CH) NewDat128 ∼ NewDat121 NewDat120 ∼ NewDat113 NewDat112 ∼ NewDat105 NewDat104 ∼ NewDat97 494 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.4.3 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) CAN 割込みペンディングレジスタ (INTPND1, INTPND2) は , 全メッセージオブジェクトの IntPnd ビットを表 示します。IntPnd ビットを読み出すことにより , どのメッセージオブジェクトが割込みペンディング中である かをチェックすることができます。 ■ レジスタ構成 図 30.4-16 CAN 割込みペンディングレジスタ (INTPND1, INTPND2) INTPND2 上位バイト アドレス bit15 bit14 Base+A0H R R bit13 bit12 bit11 bit10 IntPnd32 ∼ IntPnd25 R R R R bit9 bit8 初期値 00000000B R R bit1 bit0 INTPND2 下位バイト アドレス Base+A1H bit7 R bit6 R bit5 bit4 bit3 bit2 IntPnd24 ∼ IntPnd17 R R R R 初期値 00000000B R R bit9 bit8 INTPND1 上位バイト アドレス bit15 bit14 Base+A2H R R bit13 bit12 bit11 bit10 IntPnd16 ∼ IntPnd9 R R R R 初期値 00000000B R R bit1 bit0 INTPND1 下位バイト アドレス bit7 bit6 Base+A3H R R bit5 bit4 bit3 bit2 IntPnd8 ∼ IntPnd1 R R R R 初期値 00000000B R R R: リードオンリ CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 495 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ ■ レジスタ機能 IntPnd32 ∼ IntPnd1:割込みペンディングビット IntPnd 32 ∼ IntPnd1 機能 0 割込み要因なし 1 割込み要因あり IntPnd ビットのセット / リセット条件を以下に示します。 • セット条件 - TxIE が "1" にセットされている場合 , フレームの正常送信完了によりセットされます。 - RxIE が "1" にセットされている場合 , アクセプタンスフィルタを通過したフレームの正常受信完了によ りセットされます。 - IFx コマンドマスクレジスタの WR/RD に "1", Control に "1", IFx メッセージ制御レジスタの IntPnd に "1" を設定して , IFx コマンド要求レジスタの書込みにより , 特定オブジェクトの InPnd をセットできます。 • リセット条件 - IFx コマンドマスクレジスタが WR/RD に "1", IntPnd に "1" を設定した場合 , IFx コマンド要求レジスタの 書込みにより特定オブジェクトの IntPnd をリセットできます。 - IFx コマンドマスクレジスタの WR/RD に "1", Control に "1" を設定し , IFx メッセージ制御レジスタの IntPnd を "0" に設定した場合 , IFx コマンド要求レジスタの書込みにより , 特定オブジェクトの InPnd を セットできます。 32 メッセージバッファ以上を搭載する CAN マクロにおける割込みペンディングビットについては以下の表を 参照してください。 addr + 0 addr + 1 addr + 2 addr + 3 INTPND4 および INTPND3 IntPnd 64 ∼ IntPnd33 ( アドレス A4H) IntPnd64 ∼ IntPnd57 IntPnd56 ∼ IntPnd49 IntPnd48 ∼ IntPnd41 IntPnd40 ∼ IntPnd33 INTPND6 および INTPND5 IntPnd 96 ∼ IntPnd65 ( アドレス A8H) IntPnd96 ∼ IntPnd89 IntPnd88 ∼ IntPnd81 IntPnd80 ∼ IntPnd73 IntPnd72 ∼ IntPnd65 INTPND8 および INTPND7 IntPnd 128 ∼ IntPnd97 ( アドレス ACH) IntPnd128 ∼ IntPnd121 IntPnd120 ∼ IntPnd113 IntPnd112 ∼ IntPnd105 IntPnd104 ∼ IntPnd97 496 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ 30.4.4.4 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) は , 全メッセージオブジェクトの MsgVal ビットを表示 します。MsgVal ビットを読み出すことにより , どのメッセージオブジェクトが有効であるかをチェックする ことができます。 ■ レジスタ構成 図 30.4-17 CAN メッセージ有効レジスタ (MSGVAL1, MSGVAL2) MSGVAL2 上位バイト アドレス bit15 bit14 Base+B0H R R bit13 bit12 bit11 bit10 MsgVal32 ∼ MsgVal25 R R R R bit9 bit8 初期値 00000000B R R bit1 bit0 MSGVAL2 下位バイト アドレス Base+B1H bit7 R bit6 R bit5 bit4 bit3 bit2 MsgVal24 ∼ MsgVal17 R R R R 初期値 00000000B R R bit9 bit8 MSGVAL1 上位バイト アドレス bit15 bit14 Base+B2H R R bit13 bit12 bit11 bit10 MsgVal16 ∼ MsgVal9 R R R R 初期値 00000000B R R bit1 bit0 MSGVAL1 下位バイト アドレス bit7 bit6 Base+B3H R R bit5 bit4 bit3 bit2 MsgVal8 ∼ MsgVal1 R R R R 初期値 00000000B R R R: リードオンリ CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 497 第 30 章 CAN コントローラ 30.4 CAN レジスタ機能 MB91460N シリーズ ■ レジスタ機能 MsgVal32 ∼ MsgVal1:メッセージ有効ビット MsgVal32 ∼ MsgVal1 機能 0 メッセージオブジェクトは無効 メッセージの送受信を行いません。 1 メッセージオブジェクトは有効 メッセージの送受信が可能となります。 MsgVal ビットのセット / リセット条件を以下に示します。 • セット条件 IFx コマンドマスクレジスタの WR/RD に "1", Arb に "1" を設定し , IFx アビトレーションレジスタ 2 の MsgVal に "1" を設定し , IFx コマンド要求レジスタの書込みにより , 特定オブジェクトの MsgVa をセットできます。 • リセット条件 IFx コマンドマスクレジスタの WR/RD に "1", Arb に "1" を設定し , IFx アビトレーションレジスタ 2 の MsgVal に "0" を設定し , IFx コマンド要求レジスタの書込みにより , 特定オブジェクトの MsgVa をセットできます。 32 メッセージバッファ以上を搭載する CAN マクロにおけるメッセージ有効ビットについては以下の表を参照 してください。 addr + 0 addr + 1 addr + 2 addr + 3 MSGVAL4 お よび MSGVAL3 MsgVal64 ∼ MsgVal33 ( アドレス B4H) MsgVal64 ∼ MsgVal57 MsgVal56 ∼ MsgVal49 MsgVal48 ∼ MsgVal41 MsgVal40 ∼ MsgVal33 MSGVAL6 お よび MSGVAL5 MsgVal96 ∼ MsgVal65 ( アドレス B8H) MsgVal96 ∼ MsgVal89 MsgVal88 ∼ MsgVal81 MsgVal80 ∼ MsgVal73 MsgVal72 ∼ MsgVal65 MSGVAL8 お よび MSGVAL7 MsgVal128 ∼ MsgVal97 ( アドレス BCH) MsgVal128 ∼ MsgVal121 MsgVal120 ∼ MsgVal113 MsgVal112 ∼ MsgVal105 MsgVal104 ∼ MsgVal-97 498 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5 CAN 機能 CAN コントローラの動作と機能について説明します。 以下の機能について説明します。 • メッセージオブジェクト • メッセージ送信動作 • メッセージ受信動作 • FIFO バッファ機能 • • • • 割込み機能 ビットタイミング テストモード ソフトウェア初期化 30.5.1 メッセージオブジェクト メッセージ RAM のメッセージオブジェクトとインタフェースについて説明します。 ■ メッセージオブジェクト メッセージ RAM のメッセージオブジェクト設定 (MsgVal, NewDat, IntPnd, TxRqst ビットを除く ) は , ハード ウェアリセットによって初期化されません。そのため , メッセージオブジェクトの CPU での初期化 , または MsgVal ビットを無効 (MsgVal=0) に設定してください。また , CAN ビットタイミングレジスタの設定は CAN 制御レジスタの Init ビットが "0" のときに行ってください。 メッセージオブジェクトの設定は, メッセージインタフェースレジスタ (IFxマスクレジスタ, IFxアービトレー ションレジスタ , IFx メッセージ制御レジスタ , IFx データレジスタ ) に設定した後 , IFx コマンド要求レジスタ へのメッセージ番号の書込みにより , そのインタフェースレジスタのデータが指定されたメッセージオブジェ クトへ転送されます。 CAN 制御レジスタの Init ビットが "0" にクリアされると CAN コントローラは動作を開始します。アクセプタ ンスフィルタを通過した受信メッセージは , メッセージ RAM へ格納されます。送信要求が保留されているメッ セージは , メッセージ RAM から CAN コントローラのシフトレジスタへ転送され , CAN バスへの送信が行われ ます。 CPU は , メッセージインタフェースレジスタ経由で受信メッセージの読出し , および送信メッセージの更新を 行います。また , CAN 制御レジスタおよび IFx メッセージ制御レジスタ ( メッセージオブジェクト ) の設定に 応じて CPU への割込みが行われます。 ■ メッセージ RAM とのデータ送受信 メッセージインタフェースレジスタとメッセージ RAM とのデータ転送を開始すると , IFx コマンド要求レジス タのBUSYビットは"1"にセットされます。転送完了後, BUSYビットは"0"にクリアされます (図 30.5-1を参照)。 IFx コマンドマスクレジスタは , 1 つのメッセージオブジェクトの全データ転送 , あるいはデータの部分転送の いずれかを設定します。メッセージ RAM の構造上 , メッセージオブジェクトの単一ビット / バイトの書込みは 不可能となっており , 常に 1 つのメッセージオブジェクトの全データをメッセージ RAM へ書き込みます。し たがって , メッセージインタフェースレジスタからメッセージ RAM へのデータ転送は , リードモディファイラ イト (RMW) 系命令の実行サイクルを要しています。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 499 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 図 30.5-1 メッセージインタフェースレジスタとメッセージ RAM のデータ転送 スタート NO IFxコマンド要求レジスタへ 書込み YES BUSY = 1 Interrupt = 0 NO YES WR/RD = 1 メッセージRAMから メッセージインタフェースレジスタへ読出し メッセージRAMから メッセージインタフェースレジスタへ読出し メッセージインタフェースレジスタから メッセージRAMへの書込み BUSY = 0 Interrupt = 1 500 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.2 メッセージ送信動作 送信メッセージオブジェクトの設定方法および送信動作について説明します。 ■ メッセージ送信 メッセージインタフェースレジスタとメッセージ RAM 間でデータ転送がない場合 , CAN メッセージ有効レジ スタの MsgVal ビットと CAN 送信要求レジスタの TxRqst ビットを評価します。送信要求を保留している中で , 最高優先度の有効メッセージオブジェクトが送信用のシフトレジスタへ転送が行われます。そのとき , メッ セージオブジェクトの NewDat ビットは "0" にリセットされます。 正常に送信が完了したとき , メッセージオブジェクトに新たなデータがない (NewDat= 0) 場合は , TxRqst ビッ トは "0" にリセットされます。TxIE が "1" にセットされている場合は , 送信成功後に IntPnd ビットが "1" にセッ トされます。CAN コントローラが CAN バス上で調停に負けた場合 , あるいは転送中にエラーが発生した場合 は , CAN バスがアイドルになると , 直ちにメッセージの再送信が行われます。 ■ 送信優先度 メッセージオブジェクトの送信優先度は , メッセージ番号によって決定します。メッセージオブジェクト 1 が 最高の優先度で , メッセージオブジェクト 32 ( または搭載している最大メッセージオブジェクト番号 ) が最低 優先度となります。したがって , 2 つ以上の送信要求が保留されていると , 対応するメッセージオブジェクト の小さい番号順に転送が行われます。 <注意事項> • 優先順位が最下位のメッセージバッファを送信に使用している場合 , TXRqst に "1" を設定し , 送信中止のた め , TxRqst に "0" を設定した場合 , そのタイミングによっては , 再度 TxRqst に "1" を設定したとき , 以下の いずれかのイベントが発生するまで , メッセージが送信されないことがあります。 - CAN バス上に有効なメッセージが流れる - ほかのメッセージバッファに対して送信要求が発行される - INIT ビットによって C_CAN が初期化される システム上 , もし送信を中止する状況が発生する場合 , 送信メッセージバッファとして優先順位が最下位の メッセージバッファを使用しないか , 送信中止後 , 上記のいずれかのイベントを発生させた後 , 再度 TxRqst に "1" を設定してください。 • TxRqst ビットが "1" のときに ID28-0, DLC3-0, Xtd, Data7-0 のメッセージオブジェクトを変更すると変更前 後のメッセージオブジェクトが混在して送出されたり , 変更後のメッセージオブジェクトが送出されない可 能性があるので TxRqst ビットが "0" のときにそれらを変更してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 501 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ 送信メッセージオブジェクトの設定 表 30.5-1 に送信オブジェクトの初期化を示します。 表 30.5-1 送信メッセージオブジェクトの初期化 MsgVal Arb Data Mask EoB Dir 1 appl. appl. appl. 1 1 NewDat MsgLst 0 0 RxIE TxIE 0 appl. IntPnd RmtEn TxRqst 0 appl. 0 IFx アービトレーションレジスタ (ID28 ∼ ID0 と Xtd ビット ) は , アプリケーションで与えられ , 送信メッセー ジの ID およびメッセージの種類を定義します。 標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は無効となります。拡張 フレーム (29 ビット ID) を設定した場合は , ID28 ∼ ID0 を使用します。 TxIE ビットに "1" をセットすると , メッセージオブジェクトの送信成功後に IntPnd ビットが "1" にセットされ ます。 RmtEn ビットに "1" をセットすると , 一致するリモートフレームを受信後 , TxRqst ビットに "1" をセットし , データフレームを自動的に送信します。 データレジスタ (DLC3 ∼ DLC0, Data0 ∼ Data7) の設定は , アプリケーションで与えられます。 UMask=1 のとき , IFx マスクレジスタ (Msk28 ∼ Msk0, UMask, MXtd, MDir ビット ) は , マスク設定によりグ ループ化された ID があるリモートフレームを受信し , その後 , 送信を許可 (TxRqst ビットに "1" をセット ) す るために使用されます。詳細は「30.5.3 メッセージ受信動作」のリモートフレームを参照してください。 <注意事項> IFx マスクレジスタの Dir ビットをマスク許可に設定することは禁止です。 ■ 送信メッセージオブジェクトの更新 CPUは , 送信メッセージオブジェクトのデータをメッセージインタフェースレジスタ経由で更新することがで きます。 送信メッセージオブジェクトのデータは , 対応する IFx データレジスタの 4 バイト単位 (IFx データレジスタ A, IFx データレジスタ B 単位 ) でデータ書込みが行われます。そのため , 1 バイトだけ送信メッセージオブジェク トを変更することはできません。 8 バイトのデータのみを更新するときは , まず IFx コマンドマスクレジスタへ "0087H" の書込みを行います。 そ して , IFx コマンド要求レジスタへメッセージ番号の書込みにより , 送信メッセージオブジェクトのデータ更新 (8 バイトデータ ) と TxRqst ビットへの "1" 書込みが同時に行われます。 NewDat ビットが "1", TxRqst ビットがともに "1" の場合 , 送信を開始すると NewDat ビットは "0" にリセット されます。 • データを更新する場合は , IFx データレジスタ A もしくは IFx データレジスタ B の 4 バイト単位で行ってく ださい。 • TxRqst ビットが "1" のときに ID28-0, DLC3-0, Xtd, Data7-0 のメッセージオブジェクトを変更すると変更前 後のメッセージオブジェクトが混在して送出されたり , 変更後のメッセージオブジェクトが送出されない可 能性があるので TxRqst ビットが "0" のときにそれらを変更してください。 502 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.3 メッセージ受信動作 受信メッセージオブジェクトの設定方法および受信動作について説明します。 ■ 受信メッセージのアクセプタンスフィルタ メッセージのアービトレーション / コントロールフィールド (ID + IDE + RTR + DLC) が CAN コントローラ 受信用シフトレジスタへ完全にシフトされると , 有効メッセージオブジェクトとの一致比較のためにメッセー ジ RAM のスキャンを開始します。 このとき , メッセージ RAM のメッセージオブジェクトから調停フィールドとマスクデータ (MsgVal, UMask, NewDat, EoB を含む ) がロードされ , メッセージオブジェクトとシフトレジスタの調停フィールドがマスク データを含んで比較されます。 この動作は , メッセージオブジェクトとシフトレジスタの調停フィールドが一致検出されるまで , またはメッ セージ RAM の最終ワードに到達するまで繰り返し実行します。一致が検出されると , メッセージ RAM のス キャンを停止して, 受信フレームのタイプ (データフレームまたはリモートフレーム) により, CANコントロー ラは処理を行います。 ■ 受信優先度 メッセージオブジェクトの受信優先度は , メッセージ番号によって決定します。メッセージオブジェクト 1 が 最高の優先度で , メッセージオブジェクト 32 ( または搭載している最大メッセージオブジェクト番号 ) が最低 優先度となります。したがって , アクセプタンスフィルタで 2 つ以上一致した場合は , メッセージ番号の小さ い番号が受信メッセージオブジェクトとなります。 ■ データフレーム受信 CAN コントローラは , アクセプタンスフィルタで一致したメッセージオブジェクトのメッセージ RAM へ , シ フトレジスタから受信メッセージを転送して格納します。この格納するデータは , データバイトだけではなく , すべてのアービトレーションフィールドおよびデータ長コードも格納します。これは , IFx マスクレジスタが マスク設定されている場合でも実行されます (ID とデータバイトを保持するために格納されます )。 NewDat ビットは , 新たなデータが受信されると "1" にセットされます。CPU がメッセージオブジェクトを読 み出したときには , NewDat ビットを "0" にリセットしてください。メッセージ受信時に , 既に NewDat ビット が "1" にセットされている場合は , その前のデータが失われたことになり , MsgLst が "1" にセットされます。 RxIE ビットが "1" にセットされている場合 , メッセージバッファを受信すると CAN 割込みペンディングレジ スタの IntPnd ビットに "1" をセットします。 そのとき , そのメッセージオブジェクトの TxRqst ビットは "0" に リセットされます。これは , リモートフレーム送信処理中に , 要求データフレームを受信した場合 , 送信処理 を防ぐために行われます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 503 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ リモートフレーム リモートフレーム受信時の動作には , 下記の 3 つの処理があります。一致するメッセージオブジェクトの設定 より , リモートフレーム受信時の処理が選択されます。 1) Dir=1 ( 送信方向 ) , RmtEn=1, UMask=1 または 0 一致したリモートフレームの受信を行い , このメッセージオブジェクトの TxRqst ビットのみ "1" にセット され , リモートフレームに対するデータフレームの自動返信 ( 送信 ) を行います (TxRqst ビット以外のメッ セージオブジェクトは変更されません )。 2) Dir=1 ( 送信方向 ) , RmtEn=0, UMask=0 受信したリモートフレームがメッセージオブジェクトと一致しても受信しないでリモートフレームを無効 にします ( このメッセージオブジェクトの TxRqst ビットは変更されません )。 3) Dir=1 ( 送信方向 ) , RmtEn=0, UMask=1 受信したリモートフレームがメッセージオブジェクトと一致した場合 , このメッセージオブジェクトの TxRqst ビットは "0" にリセットされ , リモートフレームは受信データフレームのように処理されます。受 信したアービトレーションフィールドとコントロールフィールド (ID + IDE + RTR + DLC) は , メッセージ RAM のメッセージオブジェクトへ格納され , このメッセージオブジェクトの NewDat ビットが "1" にセッ トされます。メッセージオブジェクトのデータフィールドは変更されません。 ■ 受信メッセージオブジェクトの設定 表 30.5-2 に受信メッセージオブジェクトの初期化方法を示します。 表 30.5-2 受信メッセージオブジェクトの初期化 MsgVal Arb Data Mask EoB Dir 1 appl. appl. appl. 1 0 NewDat MsgLst 0 0 RxIE TxIE appl. 0 IntPnd RmtEn TxRqst 0 0 0 IFx アービトレーションレジスタ (ID28 ∼ ID0, Xtd ビット ) は , アプリケーションによって与えられ , アクセプ タンスフィルタに用いられる受信メッセージ ID とメッセージの種類を定義します。 標準フレーム (11 ビット ID) を設定した場合は , ID28 ∼ ID18 を使用し , ID17 ∼ ID0 は無効となります。また , 標準フレームが受信されると , ID17 ∼ ID0 は "0" にリセットされます。拡張フレーム (29 ビット ID) を設定し た場合は , ID28 ∼ ID0 を使用します。 RxIE ビットが "1" にセットされた場合 , 受信データフレームがメッセージオブジェクトへ格納されると IntPnd ビットが "1" にセットされます。 データ長コード (DLC3 ∼ DLC0) は , アプリケーションによって与えられます。CAN コントローラが受信デー タフレームをメッセージオブジェクトへ格納するとき, 受信データ長コードと8バイトのデータを格納します。 データ長コードが8未満の場合は, メッセージオブジェクトの残りのデータには不定データが書き込まれます。 UMask=1 のとき , IFx マスクレジスタ (Msk28 ∼ Msk0, UMask, MXtd, MDir ビット ) は , マスク設定によりグ ループ化された ID を持つデータフレームの受信を許可するために使用します。詳細は , 「30.5.3 メッセージ 受信動作」のデータフレーム受信を参照してください。 <注意事項> IFx マスクレジスタの Dir ビットのマスク設定は禁止です。 504 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ 受信メッセージの処理 CPU は , メッセージインタフェースレジスタを介して , 受信メッセージをいつでも読み出すことが可能です。 通常 , IFx コマンドマスクレジスタに "007FH" を書き込みます。次にメッセージオブジェクトのメッセージ番 号を IFx コマンド要求レジスタに書き込みます。この手順によって , 指定されたメッセージ番号の受信メッセー ジをメッセージ RAM からメッセージインタフェースレジスタに転送します。このとき , IFx コマンドマスクレ ジスタの設定により , メッセージオブジェクトの NewDat ビットと IntPnd ビットを "0" にクリアすることが可 能です。 受信メッセージの処理は , アクセプタンスフィルタにより一致した場合 , メッセージを受信します。メッセー ジオブジェクトでアクセプタンスフィルタのマスクを使用している場合は , マスク設定されたデータがアクセ プタンスフィルタから除外され , メッセージを受信するかを判断します。 NewDat ビットは , メッセージオブジェクトが最後に読み出されてから , 新しいメッセージが受信されたかを 示します。 MsgLstビットは, 受信したデータがメッセージオブジェクトから読み出されない状態で次の受信データを受信 したために前のデータを失ってしまったことを示します。MsgLst ビットは自動的にリセットされません。 リモートフレーム送信処理中に , アクセプタンスフィルタにより一致するデータフレームが受信された場合に は , TxRqst ビットは自動的に "0" にリセットされます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 505 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.4 FIFO バッファ機能 受信メッセージ処理におけるメッセージオブジェクトのFIFOバッファの構成および動作について説明します。 ■ FIFO バッファの構成 FIFO バッファの受信メッセージオブジェクトの構成は , EoB ビットを除いて , 受信メッセージオブジェクトの 構成と同じです (「30.5.3 メッセージ受信動作」の「■ 受信メッセージオブジェクトの設定」を参照 )。 FIFO バッファは , 2 つ以上の受信メッセージオブジェクトを連結して使用します。受信メッセージオブジェク トの ID とマスクを使用する場合 , この FIFO バッファへ受信メッセージを格納するためには , それらの設定を 一致させる必要があります。 FIFOバッファの最初の受信メッセージオブジェクトは, 優先順位の高いメッセージ番号の小さい番号となりま す。FIFO バッファの最後の受信メッセージオブジェクトは , EoB ビットに "1" をセットし , FIFO バッファブ ロックの終わりを示す必要があります (FIFO バッファ構成を使用するメッセージオブジェクトの最終メッセー ジオブジェクト以外は , EoB ビットに "0" を設定してください )。 • FIFO バッファで使用するメッセージオブジェクトの ID とマスク設定は必ず同じ設定にしてください。 • FIFO バッファを使用しない場合は , 必ず EoB ビットに "1" を設定してください。 ■ FIFO バッファによるメッセージ受信 受信メッセージが FIFO バッファの ID と一致した場合は , 最小メッセージ番号の FIFO バッファの受信メッ セージオブジェクトへ格納されます。 FIFOバッファの受信メッセージオブジェクトへメッセージが格納されると, この受信メッセージオブジェクト の NewDat ビットが "1" にセットされます。EoB ビットが "0" の受信メッセージオブジェクトへ NewDat ビッ トをセットすると , CAN コントローラによる FIFO バッファ書込みは , 最後の受信メッセージオブジェクト (EoB ビット =1) に到達するまで受信メッセージオブジェクトは保護され , 書込みが行われません。 最終 FIFO バッファまで有効なデータが格納された状態で受信メッセージオブジェクトの NewDat ビットに "0" 書込み ( 書込み保護の解除 ) が行われないと次に受信されたメッセージが最終メッセージオブジェクトへ書き 込まれ , メッセージは上書きされてしまいます。 506 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ FIFO バッファからの読出し CPU が受信メッセージオブジェクトの内容を読み出すには , IFx コマンド要求レジスタへ受信メッセージ番号 を書き込むことによって , メッセージインタフェースレジスタに転送されて読み出すことができます。このと き , IFx コマンドマスクレジスタの WR/RD を "0" ( リード ), および TxRqst/NewDat=1, IntPnd=1 に設定し , NewDat ビットと IntPnd ビットを "0" にリセットしてください。 FIFOバッファの機能を保証するために, FIFOバッファの受信メッセージオブジェクトは, 必ず最小のメッセー ジ番号から読み出してください。 図 30.5-2 に FIFO バッファで連結されるメッセージオブジェクトの CPU の処理方法を示します。 図 30.5-2 FIFO バッファの CPU 処理 スタート メッセージ割込み CAN割込みレジスタ 読出し 8000H 0000H CAN割込みレジスタ値 8000H, 0000H以外 状態割込み処理実行 メッセージ番号 = CAN割込みレジスタ値 終了 (通常処理) IFxコマンド要求レジスタ (メッセージ番号)書込み メッセージインタフェースレジスタ 読出し (リセット:NewDat=0, IntPnd=0) IFxメッセージ制御レジスタ 読出し NO NewDat = 1 YES IFxメッセージデータレジスタ A,B読出し YES EoB = 1 NO メッセージ番号 = メッセージ番号+1 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 507 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.5 割込み機能 ステータス割込み (IntId=8000H) およびメッセージ割込み (IntId メッセージ番号 ) による割込み処理について説 明します。 複数の割込みがペンディング中である場合 , CAN 割込みレジスタは , ペンディング中の最高優先度の割込み コードを示します。割込みコードの設定された時間順は無視され , 常に優先順位の高い割込みコードが表示さ れます。CPU がクリアするまで割込みコードは保持されます。 ステータス割込み (IntId ビット =8000H) は , 最高優先度となります。 メッセージ割込みの優先度は , メッセージ番号の小さいメッセージが高く , 大きいメッセージが低くなります。 メッセージ割込みは , メッセージオブジェクトの IntPnd ビットのクリアによってクリアされます。ステータス 割込みは , CAN ステータスレジスタの読出しでクリアされます。 CAN 割込みペンディングレジスタの IntPnd ビットは , 割込みの有無を示します。ペンディング中の割込みが ないときは , IntPnd ビットは "0" を示します。 CAN 制御レジスタの IE ビット , および IFx メッセージ制御レジスタの TxIE ビット , RxIE ビットに "1" をセッ トしている状態で , IntPnd ビットが "1" になると CPU への割込み信号がアクティブになります。割込み信号は , CAN 割込みペンディングレジスタが "0" にクリアされる ( 割込み要因リセット ) か , CAN 制御レジスタの IE ビットが "0" にリセットされるまでアクティブ状態を保持します。 CAN 割込みレジスタが "8000H" であることは , CAN コントローラによる CAN ステータスレジスタの更新を示 し , この割込みは最高優先度となります。CAN ステータスレジスタの更新による割込みは , CAN 制御レジスタ の EIE ビットと SIE ビットにより CAN 割込みレジスタへの設定許可 , または禁止の制御ができます。また , CPU への割込み信号の制御は , CAN 制御レジスタの IE ビットで行うことができます。 CAN ステータスレジスタの RxOk ビット , TxOk ビット , LEC ビットは , CPU からの書込みにより更新 ( リセッ ト ) することができますが , その書込みにより割込みのセットまたはリセットを行うことはできません。 CAN割込みレジスタが"8000H", "0000H"以外の場合は, メッセージ割込みがペンディング中であることを示し, 優先度の高い保留中のメッセージ割込みを示します。 CAN 割込みレジスタは , IE がリセットされた場合でも更新されます。 CPU へのメッセージ割込みの要因は , CAN 割込みレジスタ , または CAN 割込みペンディングレジスタで確認 することができます (「30.4.4 メッセージハンドラレジスタ」を参照 ) 。メッセージ割込みをクリアする場合 , 同時にメッセージデータを読み出すことが可能であり, CAN割込みレジスタで示されているメッセージ割込み をクリアすると次に優先度の高い割込みが CAN 割込みレジスタにセットされ , 次の割込み処理を待つことに なります。割込みがない場合には , CAN 割込みレジスタは。"0000H" を示します。 • ステータス割込み (IntId=8000H) は , CAN ステータスレジスタの読出しアクセスにより割込みクリアされま す。 • CAN ステータスレジスタへの書込みアクセスによるステータス割込み (IntId=8000H) は発生しません。 508 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.6 ビットタイミング ビットタイミングについての概要と CAN コントローラにおけるビットタイミングについて説明します。 CAN ネットワークの各 CAN ノードには , それぞれクロック発振器 ( 通常は水晶発振器 ) があります。ビットタ イムのタイムパラメータは , CAN ノードごとに個別に構成できます。CAN ノードの発振周期 (fosc) が異なっ ていても , 共通のビットレートを作り出せます。 これらの発振器の周波数は , 温度や電圧の変化 , コンポーネントの悪化により少し異なります。その変動が発 振器の許容範囲 (df) 内である限りは , CAN ノードはビットストリームへ再同期化することで異なるビットレー トを補償できます。 CAN 仕様に応じて , ビットタイムは 4 つの区分に分けられ ( 図 30.5-3 を参照 ) , 同期化部 (Sync_Seg), 伝送時 間部 (Prop_Seg), フェーズバッファ部 1(Phase_Seg1), フェーズバッファ部 2(Phase_Seg2) で構成されます。 それぞれの区分は , プログラマブルな時間量 ( 表 30.5-3 を参照 ) からなります。ビットタイムの基本単位時間 (tq) は , CAN コントローラのシステムクロック fsys とボーレートプリスケーラ (BRP) で定義されます: tq = BRP / fsys CAN のシステムクロック fsys は , クロック入力の周波数 ( 図 30.2-1 を参照 ) になります。同期化部の Sync_Seg は , CAN バスのエッジを期待するビットタイム内のタイミングとなります。伝送時間部の Prop_Seg は , CAN ネットワーク内の物理的遅延時間を補償します。フェーズバッファ部の Phase_Seg1, Phase_Seg2 は , サンプ リングポイントを指定します。再同期化ジャンプ幅 (SJW) は , エッジフェーズエラーを補償するために再同期 化時のサンプリングポイントの移動幅を定義します。 図 30.5-3 ビットタイミング 1ビットタイム(BT) Sync _Seg Prop_Seg 1単位時間 (tq) CM71-10149-1 Phase_Seg1 Phase_Seg2 サンプリングポイント FUJITSU MICROELECTRONICS LIMITED 509 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 表 30.5-3 CAN ビットタイムのパラメータ パラメータ レンジ 機能 BRP [1 ∼ 32] Sync_Seg 1 tq Prop_Seg [1 ∼ 8] tq 物理遅延時間の補償 Phase_Seg1 [1 ∼ 8] tq サンプルポイント前のエッジフェーズエラー保証 同期化により , 一時的に長くされる可能性があります。 Phase_Seg2 [1 ∼ 8] tq サンプルポイント後のエッジフェーズエラー保証 同期化により , 一時的に短くされる可能性があります。 SJW [1 ∼ 4] tq 再同期化ジャンプ幅 どちらかのフェーズバッファ部より長くなることはありません。 時間量の長さ tq の定義 固定長 システムクロックへの同期化 図 30.5-4 に , CAN コントローラにおけるビットタイミングを示します。 図 30.5-4 CAN コントローラにおけるビットタイミング 1ビットタイム(BT) Sync _Seg TSEG1 1単位時間 (tq) 510 TSEG2 サンプリングポイント FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 表 30.5-4 CAN コントローラのパラメータ パラメータ レンジ 機能 BRPE, BRP [0 ∼ 1023] Sync_Seg 1 tq TSEG1 [1 ∼ 15] tq サンプリングポイント前のタイムセグメントです。 Prop_Seg と Phase_Seg1 に相当します。 ビットタイミングレジスタにより制御可能です。 TSEG2 [0 ∼ 7] tq サンプリングポイント後のタイムセグメントです。 Phase_Seg2 に相当します。 ビットタイミングレジスタにより制御可能です。 SJW [0 ∼ 3] tq 再同期化ジャンプ幅です。 ビットタイミングレジスタにより制御可能です。 時間量の長さ tq の定義 ビットタイミングレジスタおよびプリスケーラ拡張レジスタにより , 最大 1024 までプリスケーラを拡張できます。 システムクロックへの同期化 固定長 各パラメータの関係を以下に示します。 tq =([BRPE, BRP]+1) / fsys BT =SYNC_SEG+ TSEG1+ TSEG2 =(1+ (TSEG1 + 1)+ (TSEG2 + 1)) × tq =(3 + TSEG1+ TSEG2) × tq CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 511 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.7 テストモード テストモードの設定方法および動作について説明します。 ■ テストモード設定 CAN 制御レジスタの Test ビットに "1" をセットすることでテストモードになります。テストモードに設定す ると , CAN テストレジスタのビット Tx1, Tx0, LBack, Silent, Basic ビットが有効となります。 CAN 制御レジスタの Test ビットを "0" にリセットすることにより , すべてのテストレジスタ機能を無効にし ます。 ■ サイレントモード CAN テストレジスタの Silent ビットを "1" にセットすることにより , CAN コントローラをサイレントモードに 設定できます。 サイレントモードでは , データフレームとリモートフレームを受信可能ですが , CAN バス上にはレセッシブの み出力し , メッセージおよび ACK の送信を行いません。 CAN コントローラがドミナントビット (ACK ビット , オーバロードフラグ , アクティブエラーフラグ ) の送信 を要求された場合 , CAN コントローラ内部の折返し回路で RX 側に送信されます。この動作では , CAN バス上 においてレセッシブ状態であっても, 受信側ではCANコントローラ内部で折り返し送信されたドミナントビッ トを受信します。 サイレントモードでは , ドミナントビット (ACK ビット , エラーフラグ ) 送信による影響がない状態で , CAN バス上のトラフィック解析ができます。 図 30.5-5 にサイレントモードでの CAN コントローラを示します。 図 30.5-5 サイレントモードでの CAN コントローラ CAN_TX CAN_RX Tx Rx CANコントローラ CAN Core 512 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ ループバックモード CAN テストレジスタの LBack ビットを "1" にセットすることにより , CAN コントローラをループバックモー ドに設定できます。 ループバックモードは , 自己診断機能に使用できます。 ループバックモードでは , CAN コントローラ内部で TX 側と RX 側が接続され , CAN コントローラが送信した メッセージを RX 側で受信したメッセージとして扱い , アクセプタンスフィルタを通過したメッセージを受信 バッファに格納します。 図 30.5-6 にループバックモードでの CAN コントローラを示します。 図 30.5-6 ループバックモードの CAN コントローラ CAN_TX CAN_RX Tx Rx CANコントローラ CAN Core 外部信号から独立するため , データ / リモートフレームのアクノリッジスロットでのドミナントビットはサン プリングされません。 そのため , 通常 , CAN コントローラはアクノリッジエラーを発生しますが , 本テストモー ドではアクノリッジエラーを発生しないようにしています。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 513 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ サイレントモードとループバックモードの結合 CAN テストレジスタの LBack ビットと Silent ビットを同時に "1" にセットすることにより , ループバックモー ドとサイレントモードを結合させて動作することが可能です。 このモードは , ホットセルフテスト用に使用できます。ホットセルフテストとは , CAN コントローラがループ バックモードでテストしたときに , CAN_TX 端子にはレセッシブの固定出力 , CAN_RX 端子からの入力は無効 となりますので , CAN システムの動作に影響がないことを意味しています。 図 30.5-7 にサイレントモードとループバックモードが結合された CAN コントローラを示します。 図 30.5-7 サイレントモードとループバックモードが結合された CAN コントローラ CAN_TX CAN_RX Tx Rx CANコントローラ CAN Core 514 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ ■ ベーシックモード CAN テストレジスタの Basic ビットを "1" にセットすることにより , CAN コントローラをベーシックモードに 設定できます。 ベーシックモードでは , CAN コントローラは , メッセージ RAM を使用せずに動作します。 IF1 メッセージインタフェースレジスタは , 送信制御用として使用されます。 メッセージ送信を行う場合 , まず , IF1 メッセージインタフェースレジスタに送信する内容を設定します。次に , IF1 コマンド要求レジスタの BUSY ビットに "1" をセットすることで送信を要求します。 BUSY ビットが "1" に セットされている間 , IF1 メッセージインタフェースレジスタをロックしている , または送信が保留されている ことを示します。 BUSY ビットに "1" がセットされると CAN コントローラは以下の動作を行います。 CAN バスがバスアイドルになると , すぐに IF1 メッセージインタフェースレジスタの内容を送信用シフトレジ スタへロードして送信を開始します。正常に送信完了すると , BUSY ビットが "0" にリセットされ , ロックされ ていた IF1 メッセージインタフェースレジスタを開放します。 送信が保留されているときに , IF1 コマンド要求レジスタの BUSY ビットを "0" にリセットすることでいつで も中断できます。また , 送信中に BUSY ビットを "0" にリセットすると , 調停負けやエラーなどの場合に行わ れる再送信を停止します。 IF2 メッセージインタフェースレジスタは , 受信制御用として使用されます。 メッセージの受信は , アクセプタンスフィルタを使用せずにすべて受信します。IF2 コマンド要求レジスタの BUSY ビットを "1" にセットすることにより , 受信したメッセージの内容を読み出すことが可能となります。 BUSY ビットに "1" がセットされると CAN コントローラは受信したメッセージ ( 受信用のシフトレジスタの内 容 ) をアクセプタンスフィルタなしで , IF2 メッセージインタフェースレジスタへ格納します。 新しいメッセージが IF2 メッセージインタフェースレジスタに格納された場合 , CAN コントローラが NewDat ビットを "1" にセットします。また , NewDat ビットが "1" のときに , さらに新しいメッセージを受信した場合 は , CAN コントローラが MsgLst を "1" にセットします。 • ベーシックモードでは , 制御 / 状態ビットに関係するすべてのメッセージオブジェクトと IFx コマンドマスク レジスタの制御モード設定は無効となります。 • コマンド要求レジスタのメッセージ番号は無効です。 • IF2 メッセージ制御レジスタの NewDat ビットと MsgLst ビットは通常時と同様に動作し , DLC3 ∼ DLC0 は 受信された DLC を示し , ほかの制御ビットは "0" として読み出されます。 ■ 端子 CAN_TX のソフトウェア制御 CAN 送信端子である CAN_TX には , 4 つの出力機能があります。 • シリアルデータ出力 ( 通常出力 ) • CAN コントローラのビットタイミングをモニタするための CAN サンプリングポイント信号出力 • ドミナント固定出力 • レセッシブ固定出力 ドミナントおよびレセッシブの固定出力は , CAN 受信端子の CAN_RX モニタ機能とともに , CAN バスの物理 層のチェックに使用することができます。 CAN_TX 端子の出力モードは , CAN テストレジスタの Tx1 と Tx0 ビットにより制御可能です。 CAN メッセージ送信もしくはループバックモード , サイレントモード , ベーシックモードを使用する際は , CAN_TX をシリアルデータ出力に設定する必要があります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 515 第 30 章 CAN コントローラ 30.5 CAN 機能 MB91460N シリーズ 30.5.8 ソフトウェア初期化 ソフトウェアによる初期化について説明します。 ソフトウェアでの初期化要因を以下に示します。 • ハードウェアリセット • CAN 制御レジスタの Init ビットの設定 • バスオフ状態への遷移 ハードウェアによるリセットは , メッセージ RAM (MsgVal, NewDat, IntPnd, TxRqst ビットを除く ) 以外すべ て初期化されます。メッセージ RAM はハードウェアによるリセット後 , CPU によって初期化するかメッセー ジ RAM の MsgVal を "0" にしてください。また , ビットタイミングレジスタを設定する場合には , CAN 制御レ ジスタの Init ビットを "0" にクリアする前に設定してください。 CAN 制御レジスタの Init ビットは , 以下の条件で "1" にセットされます。 • CPU からの "1" 書込み • ハードウェアリセット • バスオフ Init ビットが "1" にセットされると , CAN バスの全メッセージ送受信は停止され , CAN バス出力の CAN_TX 端 子はレセッシブ出力となります (CAN_TX テストモードは除く )。 Init ビットに "1" をセットするとエラーカウンタは変化せず , レジスタも変更されません。 CAN 制御レジスタの Init ビットと CCE ビットが "1" にセットされると , ボーレート制御用のビットタイミン グレジスタとプリスケーラ拡張レジスタへの設定が可能となります。 Init ビットを "0" にリセットすることによりソフトウェア初期化を終了します。また , Init ビットを "0" にする ことは , CPU からのアクセスでしか実行できません。 Init ビットが "0" にリセットされてから , 連続した 11 ビットのレセッシブの発生 ( =バスアイドル ) を待つこ とにより , CAN バス上のデータ転送と同期化した後 , メッセージの転送が行われます。 通常動作中にメッセージオブジェクトのマスク , ID, xtd, EoB, RmtEn を変更する場合 , MsgVal を無効に設定して から変更してください。 516 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 31 章 フリーランタイマ 31.1 概要 MB91460N シリーズ 第 31 章 フリーランタイマ 31.1 概要 フリーランタイマは , 16 ビットのタイマ ( アップカウンタ ) および制御回路で構成されています。 フリーランタイマは , インプットキャプチャおよびアウトプットコンペアで使用できます。 図 31.1-1 フリーランタイマの構成 内部クロック または 外部クロック クリア アップカウンタ オーバフロー 31.2 特長 • フォーマット:16 ビットアップカウンタ • 個数:4 ( フリーランタイマ 0 ∼フリーランタイマ 3) • クロックソース:4 つの内部クロック (CLKP 4 分周 , CLKP 16 分周 , CLKP 32 分周 , および CLKP 64 分周 ) • 外部クロック (CK) • カウント要因のクリア: • ソフトウェア • リセット • コンペア一致 ( コンペアレジスタ値およびフリーランタイマカウント値の一致 ) • 動作開始 / 停止:動作はソフトウェアを使用して開始 / 停止できます。 • 割込み: • オーバフロー割込み • コンペアクリアレジスタ値およびフリーランタイマカウント値が一致するときに発生する割込み • カウント値:読み書き可能 ( 書込みはカウント停止時のみ可能 ) • その他:リセット直後から動作します。 • ICU/OCU マッピングへのフリーランタイマ • フリーランタイマ 0 およびインプットキャプチャ 0/1 は連携します。 • フリーランタイマ 1 およびインプットキャプチャ 2/3 は連携します。 • フリーランタイマ 2 およびアウトプットコンペア 0/1 は連携します。 • フリーランタイマ 3 およびアウトプットコンペア 2/3 は連携します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 517 第 31 章 フリーランタイマ 31.3 構成図 MB91460N シリーズ 31.3 構成図 図 31.3-1 構成図 フリーランタイマ カウントクロック CLK1,CLK0 0 0 0 1 1 0 1 1 TCCS: bit1,bit0 CLKP 4分周 CLKP 16分周 CLKP 32分周 CLKP 64分周 停止 TCCS: bit4 インプットキャプチャ カウント動作 カウント動作の停止 0 1 カウント値 オーバフローフラグ 0 周辺クロック デバイダ CLKP 外部クロック CK /SCK/ Pxy.z TCCS: bit5 0 1 割込み禁止 割込み許可 0 タイマデータレジスタ TCDT 外部クロック 同期回路 IVFE 1 IVF TCCS: bit6 0 1 割込み要求なし フリーランタイマ 割込み 1 割込み要求あり 書込み0: フラグクリア Clear クロック選択 OR ECLK TCCS: bit7 0 デバイダから 外部から 1 カウント値 アウトプットコンペア 1 ポートの読出し アウトプットコンペアのコンペア 値一致によるタイマクリア要求 0 ポートデータ レジスタから 0 1(リソース出力) 機能 PFR/EPFR 0 1 1 0 0 1 汎用ポート SCK(USARTシフトクロック) GP 0 1 CLR DDRxy.z 0 1 入力のみ 出力許可 TCCS: bit2 影響なし タイマクリア MODE TCCS: bit3 0 コンペア一致によるクリアの禁止 1 コンペア一致によるクリアの許可 CK(FRTクロック入力) 注:入力/出力(SCK)を使用する場合は、ポートが共有されるため、外部クロック(CK)は使用できません。 図 31.3-2 レジスタ一覧 フリーランタイマ0 アドレス 0001F0H bit 15 T15 14 T14 0001F3H bit 7 ECLK 6 IVF 13 T13 12 T12 11 T11 10 T10 5 4 3 2 IVFE STOP MODE CLR 9 T9 8 T8 1 0 CLK1 CLK0 000D95H 000DD5H ----- ----- ----- ----- ----- SCK CK ----- ----- 00044CH --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 0FFF5CH 7 T7 6 T6 5 T5 4 T4 3 T3 2 T2 1 T1 0 T0 TCDT0(フリーランタイマ データレジスタ0) TCCS0(フリーランタイマ制御レジスタ0) PFR21(ポート機能レジスタ) EPFR2(エクストラポート機能レジスタ) ICR12(割込みレベルレジスタ) (割込み ベクタ#40) 32ビット <注意事項> ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 518 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 31 章 フリーランタイマ 31.4 レジスタ MB91460N シリーズ 31.4 レジスタ 31.4.1 TCCS:フリーランタイマ制御レジスタ フリーランタイマの動作を制御するレジスタです。 • • • • TCCS0 ( フリーランタイマ 0) :アドレス 0001F3H ( アクセス:バイト , ハーフワード , ワード ) TCCS1 ( フリーランタイマ 1) :アドレス 0001F7H ( アクセス:バイト , ハーフワード , ワード ) TCCS2 ( フリーランタイマ 2) :アドレス 0001FBH ( アクセス:バイト , ハーフワード , ワード ) TCCS3 ( フリーランタイマ 3) :アドレス 0001FFH ( アクセス:バイト , ハーフワード , ワード ) bit 7 ECLK 0 R/W 6 5 4 3 2 1 0 IVF 0 R(RM1),W IVFE 0 R/W STOP 0 R/W MODE 0 R/W CLR 0 R/W CLK1 0 R/W CLK0 0 R/W 初期値 属性 属性については , 「ビット属性シンボルの意味」を参照してください。 [bit7] ECLK ( カウントクロックの選択 ) ECLK カウントクロックの選択 0 内部クロック ( 周辺クロックの n 分周 ) 1 外部クロック (CK 端子 ) • カウントクロック選択ビットの設定を変更する場合は, フリーランタイマのアウトプットを使用している ほかの周辺モジュール ( アウトプットコンペア , インプットキャプチャなど ) が停止しているときに設定 を変更してください。 • 外部クロックを使用する場合は , 外部クロックの周期は周辺クロック (CLKP) の 2 倍を超えている必 要があります。アウトプットコンペアを使用する場合は , コンペア一致アウトプットおよび割込み発生を 許可するために , コンペア一致後に 1 つ以上のクロックの外部クロック入力が必要となります。 [bit6] IVF ( 割込み要求フラグ ) 状態 IVF 読出し 書込み 0 割込み要求なし フラグをクリア (IVF) 1 割込み要求あり ( オーバフローまたはコンペア一致 ) 動作に影響なし • フリーランタイマのカウント値がオーバフローするか , またはクリアモードビット (MODE) が "1" の場合 は , フリーランタイマのカウント値およびコンペアレジスタ (OCCP) が一致してカウンタがクリアされ ると , 割込み要求フラグは "1" に設定されます。 • 割込み要求を許可するには , ビットを許可する割込みを設定する必要があります ( 設定は IVFE=1) 。 • 割込み要求フラグが "1" に設定され , 同時に "0" が書き込まれる場合は , 割込み要求フラグは "1" に 設定されます ( フラグの設定が優先されます。) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 519 第 31 章 フリーランタイマ 31.4 レジスタ MB91460N シリーズ [bit5] IVFE ( 割込み要求の許可 ) IVFE 動作説明 0 割込み禁止 1 割込み許可 • ビットを許可する割込み要求が "1" に設定されている場合は , 割込み要求 (IVF) は許可されています。 [bit4] STOP ( カウント停止 ) STOP 動作説明 0 カウント許可 1 カウント禁止 ( 停止 ) • カウント停止ビットが "1" に設定されている場合 , フリーランタイマは停止します。 • アウトプットコンペアが使用中の場合 , フリーランタイマが停止すると , アウトプットコンペアも停止 します。 [bit3] MODE ( クリアモード ) MODE クリアモード 0 リセットおよびクリアビット (CLR) でフリーランタイマをクリアします。 1 リセット , クリアビット (CLR), およびアウトプットコンペアのコンペアレジスタ値 (OCCP) との 一致により , フリーランタイマをクリアします。 • フリーランタイマのクリアモードを設定します。 • クリアモードビットが "1" に設定されている場合は , フリーランタイマのカウント値およびコンペアレジ スタ値 (OCCP) が一致すると , フリーランタイマのカウント値は "0000H" にクリアされます。 • リセットしたり, クリアビット (CLR) に"1"を書き込むと, クリアモードビットの設定に関係なく, フリー ランタイマのカウント値を "0000H" にクリアします。 • フリーランタイマのカウント値は , フリーランタイマの動作中にのみクリアされます。フリーランタイマが 停止している場合は , タイマデータレジスタ (TCDT) に "0000H" を書き込んでクリアします。 [bit2] CLR ( クリア ) CLR 動作説明 0 動作に影響なし 1 フリーランタイマのクリア • CLR ビットが "1" に設定されている場合は , フリーランタイマのカウント値は "0000H" にクリアされます。 フ リーランタイマが完全にクリアされるまで , CLR ビットは "1" で読み出されます。 フリーランタイマが完全にクリアされると , CLR ビットも "0" にクリアされます。 • フリーランタイマのクリア動作および CLR ビットへの "1" の書込みが同時に発生した場合は , CLR ビッ トは "1" を保持し , 次回のフリーランタイマクリア後に CLR ビットはクリアされます。 520 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 31 章 フリーランタイマ 31.4 レジスタ MB91460N シリーズ [bit1, bit0] CLK1, CLK0 ( カウントクロック分周比選択 ( 内部クロックが選択されている場合 ) ) CLK1 CLK0 カウントクロック分周比 0 0 4 分周の周辺クロック (CLKP) 0 1 16 分周の周辺クロック (CLKP) 1 0 32 分周の周辺クロック (CLKP) 1 1 64 分周の周辺クロック (CLKP) • フリーランタイマのカウントクロック分周比を選択します。 • カウントクロック分周比選択ビットの設定が変更された場合は , 分周比を変更します。内部クロックが フリーランタイマのカウントクロックとして選択されている場合は ( カウントクロック選択ビット ECLK=0), フリーランタイマのアウトプットを使用するその他の周辺モジュール ( アウトプットコンペア , イ ンプットキャプチャなど ) の停止時に , 設定を変更します。 31.4.2 TCDT: フリーランタイマデータレジスタ このレジスタは , 16 ビットフリーランタイマのカウント値を読み出すことができます。 • • • • TCDT0 ( フリーランタイマ 0) :アドレス 0001F0H ( アクセス:ハーフワード , ワード ) TCDT1 ( フリーランタイマ 1) :アドレス 0001F4H ( アクセス:ハーフワード , ワード ) TCDT2 ( フリーランタイマ 2) :アドレス 0001F8H ( アクセス:ハーフワード , ワード ) TCDT3 ( フリーランタイマ 3) :アドレス 0001FCH ( アクセス:ハーフワード , ワード ) bit bit 15 T15 0 R/W 14 13 12 11 10 9 8 T14 0 R/W T13 0 R/W T12 0 R/W T11 0 R/W T10 0 R/W T9 0 R/W T8 0 R/W 初期値 属性 7 T7 0 R/W 6 T6 0 R/W 5 T5 0 R/W 4 T4 0 R/W 3 T3 0 R/W 2 T2 0 R/W 1 T1 0 R/W 0 T0 0 R/W 初期値 属性 属性の詳細については「ビット属性シンボル」を参照してください。 • タイマデータレジスタが読み出される場合は , フリーランタイマのカウント値も取得されます。 • タイマデータレジスタへの書込みによって , タイマ値はフリーランタイマに書き込まれます。書込み時に , フリーランタイマがアイドル状態になっていることを確認してください ( カウント停止ビットが TCCS:STOP= 1 になっている ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 521 第 31 章 フリーランタイマ 31.5 動作説明 MB91460N シリーズ 31.5 動作説明 31.5.1 フリーランタイマのカウント動作説明 (内部クロック) ( (外部クロック≧F FCLKPCLKP /2 )/2) 外部端子 (CKI) 周辺クロック (CLKP) 内部クロック (FCLKP/2) カウントの タイミング カウントの タイミング フリーラン タイマのカウント (7 ) フリーランタイマの カウント (8) FFFFH フリーラン タイマの カウント (3) 0000H (2) (5) リセット (1) オーバフローおよび 割込み要求 フリーランタイマの (2) クリア 時間 ソフトウェアによるクリア ソフトウェアによるクリア (4) (5) (1) リセット (2) リセットによるフリーランタイマのクリア ( カウント値 "0000H") (3) フリーランタイマのカウントアップ (4) フリーランタイマのオーバフローおよび割込み (5) オーバフローによるフリーランタイマのクリア ( カウント値 "0000H") (6) (3) ∼ (5) の繰り返し (7) フリーランタイマはカウントクロックでカウントアップします (n 分周の内部クロック ) 。 (8) フリーランタイマはカウントクロックでカウントアップします ( 内部クロックと同期された外部クロック ) 。 522 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 31 章 フリーランタイマ 31.5 動作説明 MB91460N シリーズ 31.5.2 フリーランタイマのクリア動作 フリーラン タイマの カウント 0000H (2) (3) (1) 時間 (4) リセット 0000H書き込み クリア ソフトウェアまたはコンペア 一致によるクリア 動作停止 動作の許可/禁止 (ソフトウェア) 動作 停止 コンペア一致によるクリアのタイミング (内部クロック) 周辺クロック (CLKP) カウント タイミング カウント値 N-1 - N コンペア値 "0000" "0001" コンペア値= N コンペア一致 フリーランタイマのクリア 割込みの要求 (1) リセット (2) ソフトウェアによるクリア (3) コンペア一致によるクリア (4) "0000H" の書込み CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 523 第 31 章 フリーランタイマ 31.6 設定 MB91460N シリーズ 31.6 設定 表 31.6-1 フリーランタイマの使用に必要な設定 設定 設定レジスタ 設定手順* 31.7.4 項 タイマの初期化条件の設定 カウントクロックの設定 内部クロックの選択 31.7.1 項 タイマ制御レジスタ (TCCS0 ∼ TCCS3) 31.7.2 項 外部クロックの選択 31.7.3 項 カウント動作の起動 外部クロックの場合 入力にクロック入力端子 (CK) を設定 ポート機能レジスタ (PFRxy.z) エクストラポート機能レジスタ (EPFRxy.z) 31.7.2 項 * 設定手順については , 番号で指定された項を参照してください。 表 31.6-2 フリーランタイマ割込みの許可に必要な設定 設定 設定レジスタ フリーランタイマ割込みベクタの設定 , およびフリーランタイマ割込みレベル フリーランタイマ割込みの設定 割込み要求のクリア 割込み要求の許可 「第 21 章 割込み制御」を参照 タイマ制御レジスタ (TCCS0 ∼ TCCS3) 設定手順* 31.7.5 項 31.7.7 項 * 設定手順については , 番号で指定された項を参照してください。 表 31.6-3 フリーランタイマの停止に必要な設定 設定 設定レジスタ フリーランタイマ停止ビットの設定 タイマ制御レジスタ (TCCS0 ∼ TCCS3) 設定手順* 31.7.8 項 * 設定手順については , 番号で指定された項を参照してください。 524 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 31 章 フリーランタイマ 31.7 Q & A MB91460N シリーズ 31.7 Q & A 31.7.1 内部クロックの種類と選択方法は ? 4種類の内部クロックがあり, クロック選択ビット (TCCS:ECLK) およびカウントクロックビット (TCCS:CLK1, CLK0) によって設定されます。 設定 カウント周期 内部クロック クロック選択 ビット (ECLK) カウントクロックビッ ト (CLK [1:0]) FCLKP = 32MHz FCLKP = 16MHz FCLKP/4 の選択 "0" に設定します。 "00B" に設定します。 125ns 250ns FCLKP/16 の選択 "0" に設定します。 "01B" に設定します。 0.5 μs 1 μs FCLKP/32 の選択 "0" に設定します。 "10B" に設定します。 1 μs 2 μs FCLKP/64 の選択 "0" に設定します。 "11B" に設定します。 2 μs 4 μs 31.7.2 外部クロックを選択するには ? クロック選択ビット (TCCS:ECLK), データ方向ビット, および (エクストラ) ポート機能ビットで設定します。 外部クロック入力の使用 フリーランタイマ 0 ∼ 3 設定 クロック選択 ビット (ECLK) を "1" に設定 ポート機能ビット (PFRxy.z) を "1" に設定 エクストラポー ト機能ビット (EPFRxy.z} を "1" に設定 端子 カウント サイクル CK0 ∼ CK3 2/FCLKP 以上 31.7.3 フリーランタイマのカウント動作を許可 / 禁止するには ? カウント動作ビット (TCCS:STOP) で設定します。 CM71-10149-1 動作説明 カウント動作ビット (STOP) フリーランタイマの許可 "0" に設定 フリーランタイマの停止 "1" に設定 FUJITSU MICROELECTRONICS LIMITED 525 第 31 章 フリーランタイマ 31.7 Q & A MB91460N シリーズ 31.7.4 フリーランタイマをクリアするには ? 次の操作を実行して , フリーランタイをクリアできます。 • クリアビットで設定します (TCCS:CLR) 。 動作説明 クリアビット (CLR) フリーランタイマのクリア "1" を書き込む • フリーランタイマ値およびコンペアレジスタ値が一致する場合のフリーランタイマのクリア方法 タイマ初期化条件ビットで設定します (TCCS:MODE) 。 動作説明 タイマ初期化条件ビット (MODE) コンペア一致でフリーランタイマのクリア "1" に設定 また , アウトプットコンペアの設定も必要です。(「第 33 章 アウトプットコンペア」を参照してください。) • リセットします。 リセット (INITX 入力端子 , ウォッチドッグリセット , ソフトウェアリセット ) すると , フリーランタイマ はクリアされます。 • フリーランタイマ停止時に , "0000H" を書き込みます。 フリーランタイマの停止時に "0000H" が書き込まれると , カウント値は "0000H" に設定されます。 • フリーランタイマのオーバフローで , カウント値は "0000H" に戻ります。 31.7.5 使用される割込みレジスタは ? フリーランタイマ割込みベクタおよびフリーランタイマ割込みレベルの設定 フリーランタイマ数 , 割込みレベル , およびベクタの関係は , 以下の表のとおりです。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 番号 割込みベクタ ( 初期値 ) フリーランタイマ 0 #40 アドレス:0FFF5CH フリーランタイマ 1 #41 アドレス:0FFF58H フリーランタイマ 2 #42 アドレス:0FFF54H フリーランタイマ 3 #43 アドレス:0FFF50H 割込みレベル設定ビット (ICR4 ∼ ICR0) 割込みレベルレジスタ (ICR12) アドレス:00044CH 割込みレベルレジスタ (ICR13) アドレス:00044DH 割込み要求フラグ (TCCS:IVF) は自動的にクリアされないため , 割込み処理から復帰する前に , 必ずソフト ウェアでクリアしてください (IVF ビットに "0" を書き込みます。) 。 31.7.6 割込みの種類 割込みは 1 種類のみで , フリーランタイマのオーバフロー時に発生します。( 選択不要 ) 31.7.7 割込みを許可するには ? 割込み要求 , 割込み要求フラグを許可 526 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 31 章 フリーランタイマ 31.7 Q & A MB91460N シリーズ 割込み要求許可ビット (TCCS:IVFE) を使用して , 割込みを許可します。 割込み要求許可ビット (IVFE) 割込み禁止 "0" に設定 割込み許可 "1" に設定 割込み要求ビット (TCCS:IVF) を使用して , 割込み要求をクリアします。 割込み要求ビット (IVF) "0" を書き込みます。 割込み要求クリア 31.7.8 フリーランタイマを停止するには ? カウント動作ビット (TCCS:STOP) で設定します。 「31.7.3 フリーランタイマのカウント動作を許可 / 禁止するには ?」を参照してください。 31.7.9 ICU および OCU に割り当てられたフリーランタイマは ? • フリーランタイマ 0 の値は , ICU0 および ICU1 によるキャプチャデータとして使用できます。 • フリーランタイマ 1 の値は , ICU2 および ICU3 によるキャプチャデータとして使用できます。 • フリーランタイマ 2 の値は , OCU0 および OCU1 によるコンペアデータとして使用できます。 • フリーランタイマ 3 の値は , OCU2 および OCU3 によるコンペアデータとして使用できます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 527 第 31 章 フリーランタイマ 31.8 注意事項 MB91460N シリーズ 31.8 注意事項 • フリーランタイマのクリア • リセット (INITX 入力端子 , ウォッチドッグリセット , ソフトウェアリセット ) を実行すると , カウンタは "0000H" に初期化され , カウントは停止します。 • ソフトウェアによってフリーランタイマがクリアされる場合は , カウンタがクリアされ , ほとんど同時に クリア要求が発生します。コンペア一致によってカウンタがクリアされる場合は , カウントアップ時に クリアされます。 • クリアビット (CLR) への "1" の書込み後に , この要求 (CLR=1) はフリーランタイマのクリアタイミングと同 時にクリアされます。この CLR のクリア動作およびクリアビットへの "1" の書込みが同時に発生 した場合は , クリアビット (CLR) は "1" を保持し , 次回のタイマクリア後に , クリアビットがクリア されます。( 結果として , フリーランタイマは 2 度クリアされます。) • フリーランタイマのカウンタクリア動作 ( ソフトウェア , オーバフロー , およびコンペア一致 ) は , フリーランタイマのカウント時は許可されています。フリーランタイマの停止時にクリアするには , タイマカウントデータレジスタに , "0000H" を書き込みます。 • タイマデータレジスタへの書込み フリーランタイマに値を書き込む場合は , フリーランタイマの停止時 (STOP=0 になっている場合 ) に , ワー ドアクセスを使用して書き込むようにしてください。 • 外部クロック動作 • 外部クロックに必要な最低パルス幅は , 2/FCLKP です。 • 外部クロック使用時は , コンペア一致アウトプットと割込み発生のタイミングは , コンペア一致後の次回の カウントクロックのタイミングと同じです。したがって , コンペア一致アウトプットおよび割込み発生を 許可するには , コンペア一致後に 1 つ以上のクロックの外部クロック入力が必要となります。 • リードモディファイライト 割込み要求フラグ (IVF) は , リードモディファイライトでは常に "1" を読み出します。 • 割込み要求フラグ 割込み要求フラグ設定タイミングおよびクリアタイミングが同時に起こる場合は , フラグ設定動作がフラグ クリア動作よりも優先されます。 528 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 32 章 インプットキャプチャ 32.1 概要 MB91460N シリーズ 第 32 章 インプットキャプチャ 32.1 概要 インプットキャプチャは , 外部信号から検出されたタイミングを使用して , フリーランタイマのカウント値を 記録します。これにより , 繰返しカウントの記録を使用して信号間の時間を算出できます。 図 32.1-1 インプットキャプチャの構成 フリーランタイマ0 端子 エッジ 検出回路 キャプチャ バッファ 32.2 特長 • フォーマット:エッジ検出回路+ 16 ビットバッファ ( キャプチャレジスタ ) • 個数:2 グループ = 4 チャネル ( インプットキャプチャチャネル 0/1, 2/3) • 互換タイマ: インプットキャプチャ ch.0/1 はフリーランタイマ 0 を使用します。 インプットキャプチャ ch.2/3 はフリーランタイマ 1 を使用します。 • エッジ検出:立上りエッジ / 立下りエッジ / 両エッジ • 割込み:エッジ検出 • キャプチャ値:タイマのカウント値 (0000H ∼ FFFFH) • タイマ:フリーランタイマ 0 を使用します。 • 精度:CLKP 4 分周 , CLKP 16 分周 , CLKP 32 分周 , CLKP 64 分周 ( フリーランタイマのカウントクロック ) 図 32.2-1 インプットキャプチャ動作 キャプチャ信号 フリーラン タイマの カウント値 A 時間 バッファ値 CM71-10149-1 A FUJITSU MICROELECTRONICS LIMITED 529 第 32 章 インプットキャプチャ 32.3 構成 MB91460N シリーズ 32.3 構成 図 32.3-1 構成図 インプットキャプチャ0,1 エッジ検出極性 EG01,EG00 0 0 0 1 ポートデータ 1 0 レジスタから 1 1 P14 0 1 ICS01:bit1, bit0 エッジ検出なし 立上りエッジ検出 立下りエッジ検出 両エッジ検出 キャプチャデータレジスタ0 PFR:bit0 ICE0 ICS01:bit4 0 0 1 割込み禁止 割込み許可 IPCP0 (CP15~CP0) GPポート ICU入力 ポート読出し 0 ICP0 ICS01:bit6 00 割込み要求なし 1 割込み要求あり WRITE 0:フラグクリア キャプチャ エッジ検出回路 ICU0 / P14.0 フリーランタイマ0 1 インプットキャプチャ0 割込み(#92) TCDT ポート読出し 0 ICP1 00 1 キャプチャ エッジ検出回路 ICU1 / P14.1 P14 00 1 ICS01:bit7 割込み要求なし 1 割込み要求あり インプットキャプチャ1 割込み(#93) 書込み0:フラグクリア PFR:bit1 GPポート ICU入力 IPCP1 (CP15~CP0) エッジ検出極性 ポートデータ レジスタより EG11,EG10 0 0 0 1 1 0 1 1 ICS01:bit3,bit2 エッジ検出なし 立上りエッジ検出 立下りエッジ検出 両エッジ検出 ICE1 00 1 キャプチャデータレジスタ1 ICS01:bit5 割込み禁止 割込み許可 図 32.3-2 レジスタ一覧 インプットキャプチャ0 アドレス 000184H bit 15 14 13 12 11 10 CP15 CP14 CP13 CP12 CP11 CP10 000181H bit 7 ICP1 6 ICP0 5 ICE1 4 ICE0 3 2 1 0 EG11 EG10 EG01 EG00 ICS01(キャプチャ制御レジスタ01) 000402H ICU7 ICU6 ICU5 ICU4 ICU3 ICU2 ICU1 ICU0 PFR14(ポート機能レジスタ14) 000466H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 9 CP9 8 CP8 0FFE8CH 7 CP7 6 CP6 5 CP5 4 CP4 3 CP3 2 CP2 1 CP1 0 CP0 IPCP0(インプットキャプチャ データレジスタ0) ICR38 (割込みレベルレジスタ) (割込みベクタ#92) 32ビット インプットキャプチャ1 アドレス 000186H 14 13 12 11 10 bit 15 CP15 CP14 CP13 CP12 CP11 CP10 9 CP9 8 CP8 7 CP7 6 CP6 5 CP5 4 CP4 3 CP3 000181H 7 ICP1 6 ICP0 5 ICE1 4 ICE0 3 2 1 0 EG11 EG10 EG01 EG00 ICS01 (キャプチャ制御レジスタ01) 000402H ICU7 ICU6 ICU5 ICU4 ICU3 ICU2 ICU1 ICU0 PFR14 (ポート機能レジスタ14) 000466H --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 bit 0FFE88H 2 CP2 1 CP1 0 CP0 IPCP1( インプットキャプチャ データレジスタ1) ICR38 (割込みレベルレジスタ) 32ビット (割込みベクタ#93) <注意事項> ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 530 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 32 章 インプットキャプチャ 32.4 レジスタ MB91460N シリーズ 32.4 レジスタ 32.4.1 IPCP:インプットキャプチャデータレジスタ レジスタは外部信号の変化を要求として使用し , フリーランタイマのカウントを格納して後で読み出すことが できます。 • • • • IPCP0 ( インプットキャプチャ 0) :アドレス 000184H ( アクセス:ハーフワード , ワード ) IPCP1 ( インプットキャプチャ 1) :アドレス 000186H ( アクセス:ハーフワード , ワード ) IPCP2 ( インプットキャプチャ 2) :アドレス 000188H ( アクセス:ハーフワード , ワード ) IPCP3 ( インプットキャプチャ 3) :アドレス 00018AH ( アクセス:ハーフワード , ワード ) bit15 CP15 X R/WX 14 CP14 X R/WX 13 CP13 X R/WX 12 CP12 X R/WX 11 CP11 X R/WX 10 CP10 X R/WX 9 CP9 X R/WX 8 CP8 X R/WX 初期値 属性 bit7 CP7 X R/WX 6 CP6 X R/WX 5 CP5 X R/WX 4 CP4 X R/WX 3 CP3 X R/WX 2 CP2 X R/WX 1 CP1 X R/WX 0 CP0 X R/WX 初期値 属性 属性については「ビット属性シンボルの意味」を参照してください。 • アクティブエッジ選択ビット (ICS01:EG[01:00]), (ICS01:EG[11:10]) によって選択された信号の変化 ( エッジ ) を 使用して , 外部端子 (ICU0, ICU1) からの入力信号にフリーランタイマ 0 のカウント値を格納します。 • インプットキャプチャ 0 およびインプットキャプチャ 1 は , フリーランタイマのカウント値を格納します。 32.4.2 ICS:インプットキャプチャ制御レジスタ インプットキャプチャを制御するレジスタ • ICS01 ( インプットキャプチャ 0, 1) アドレス 000181H ( アクセス:バイト ) • ICS23 ( インプットキャプチャ 2, 3) アドレス 000183H ( アクセス:バイト ) bit 7 ICP1 0 R(RM1),W 6 ICP0 0 R(RM1),W 5 ICE1 0 R/W 4 ICE0 0 R/W 3 EG11 0 R/W 2 EG10 0 R/W 1 EG01 0 R/W 0 EG00 0 R/W 初期値 属性 属性については「ビット属性シンボルの意味」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 531 第 32 章 インプットキャプチャ 32.4 レジスタ MB91460N シリーズ [bit7] ICP1 ( インプットキャプチャ 1 割込み要求フラグ ) 状態 ICP1 読出し 書込み 0 割込み要求なし クリアフラグ 1 割込み要求あり ( エッジ検出あり ) 動作に影響なし • アクティブキャプチャエッジ選択ビット (EG[11:10]) に選択された信号の変化 ( エッジ ) が外部端子からの 入力で検出されると , フラグは "1" になります。 • 割込み要求を起動するには , 割込み許可ビットを設定する必要があります (ICE1=1) 。 • "1" になる割込み要求フラグおよびこのフラグへの "0" の書込みが同時に発生した場合 , 割込み要求フラグは "1" になります。 [bit6] ICP0 ( インプットキャプチャ 0 割込み要求フラグ ) 状態 ICP0 読出し 書込み 0 割込み要求なし クリアフラグ 1 割込み要求あり 動作に影響なし • アクティブキャプチャエッジ選択ビット (EG[01:00]) に選択された信号の変化が外部端子 (CS0) からの 入力で検出されると , フラグは "1" になります。 • 割込み要求を起動するには , 割込み要求許可の設定をする必要があります (ICE1=1) 。 • "1" になる割込み要求フラグおよびこのフラグへの "0" の書込みが同時に発生した場合 , 割込み要求フラグ は "1" になります。 [bit5] ICE1 ( インプットキャプチャ 1 割込み要求許可 ) ICE1 動作説明 0 割込み禁止 1 割込み許可 • インプットキャプチャ 1 割込み要求許可ビットが "1" に設定されると , インプットキャプチャ 1 割込み要求 ICP1 が許可されます。 [bit4] ICE0 ( インプットキャプチャ 0 割込み要求許可 ) ICE0 動作説明 0 割込み禁止 1 割込み許可 • インプットキャプチャ 0 割込み要求許可ビットが "1" に設定されると , インプットキャプチャ 0 割込み要求 ICP0 が許可されます。 532 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 32 章 インプットキャプチャ 32.4 レジスタ MB91460N シリーズ [bit3, bit2] EG11, EG10 ( インプットキャプチャ 1 アクティブエッジ選択 ) EG11 EG10 0 0 インプットキャプチャ停止 0 1 立上りエッジ 1 0 立下りエッジ 1 1 両エッジ ( 立上りエッジ / 立下りエッジ ) エッジ選択 • 外部端子 (ICU1) からのインプットキャプチャ信号にアクティブキャプチャエッジを選択します。 • アクティブエッジ選択ビットが "00B" の場合は , インプットキャプチャ 1 は停止します。 [bit1, bit0] EG01, EG00 ( インプットキャプチャ 0 アクティブエッジ選択 ) EG01 EG00 0 0 インプットキャプチャ停止 0 1 立上りエッジ 1 0 立下りエッジ 1 1 両エッジ ( 立上りエッジ / 立下りエッジ ) エッジ選択 • 外部端子 (ICU0) へのインプットキャプチャ信号にアクティブキャプチャエッジを選択します。 • アクティブエッジ選択ビットが "00B" の場合は , インプットキャプチャ 0 は停止します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 533 第 32 章 インプットキャプチャ 32.5 動作説明 MB91460N シリーズ 32.5 動作説明 インプットキャプチャ動作は , 以下のとおりです。 32.5.1 キャプチャタイミング , 割込みタイミング 図 32.5-1 キャプチャタイミング , 割込みタイミング インプットキャプチャ (1) 周辺クロック (CLKP) アクティブエッジ フリーランタイマ0 N (2) N+1 (3) キャプチャレジスタ N+1 割込み 要求 (4) FFFFH フリーラン タイマ0 カウント 0000H 時間 リセット インプット キャプチャ 割込み 要求 (1) 入力信号の立上りエッジ (2) エッジ検出によって発生する内部信号 ( 周辺クロックと同期 ) (3) キャプチャレジスタへのフリーランタイマ値の格納 ( キャプチャ ) (4) インプットキャプチャ割込み発生 (ICU0, ICU1=1) 534 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 32 章 インプットキャプチャ 32.5 動作説明 MB91460N シリーズ 32.5.2 インプットキャプチャエッジの仕様と動作 図 32.5-2 インプットキャプチャエッジの仕様と動作 オーバフロー (IVF) FFFFH カウント値C フリーラン タイマ0 カウント値 カウント値B カウント値A カウント値D 0000H 時間 リセット インプットキャプチャ 立上り エッジ キャプチャデータ レジスタ (1) (2) 不定 カウント値A 割込み 要求 (3) インプットキャプチャ 立下り エッジ (4) (5) キャプチャデータ レジスタ 不定 カウント値C 割込み 要求 (6) インプットキャプチャ 両エッジ キャプチャデータ レジスタ 割込み 要求 (7) 7) (11) (8) 不定 (12) カウント値B ソフトウェアでのフラグのクリア (9) カウント値D (13) (10) • 立上りエッジを指定する場合 (1) 入力信号の立上りエッジの検出 (2) キャプチャレジスタへのフリーランタイマ値の格納 ( キャプチャ ) (3) インプットキャプチャ割込み発生 • 立下りエッジを指定する場合 (4) 入力信号立下りエッジの検出 (5) キャプチャレジスタへのフリーランタイマ値の格納 ( キャプチャ ) (6) インプットキャプチャ割込み発生 • 両エッジを指定する場合 (7) (8) (9) (10) (11) (12) (13) 入力信号立上りエッジの検出 キャプチャレジスタへのフリーランタイマ値の格納 ( キャプチャ ) インプットキャプチャ割込み発生 ソフトウェアの割込み要求フラグ (ICS01:ICP0), (ICS01:ICP1) のクリア 入力信号立下りエッジの検出 キャプチャレジスタへのフリーランタイマ値の格納 ( キャプチャ ) インプットキャプチャ割込み発生 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 535 第 32 章 インプットキャプチャ 32.6 設定 MB91460N シリーズ 32.6 設定 表 32.6-1 インプットキャプチャの使用に必要な設定 設定 設定レジスタ フリーランタイマの設定 「第 31 章 フリーランタイマ」を参照してください。 設定手順* ― フリーランタイマの起動 入力端子 ICU0 ∼ ICU3 の設定 ポート機能レジスタ (PFR14_0 ∼ PFR14_3) エクストラポート機能レジスタ ( EPFR14_0 ∼ EPFR14_3) 32.7.2 項 外部入力のアクティブエッジ極性選択 インプットキャプチャ制御レジスタ (ICS01, ICS23, ICS45, ICS67) 32.7.1 項 * 設定手順については , 番号で指定された項を参照してください。 表 32.6-2 ICU 割込みに必要な設定 設定 設定レジスタ インプットキャプチャ割込みベクタ , インプットキャプチャ割込みレベル設定 インプットキャプチャ割込み設定 割込み要求クリア 割込み要求許可 「第 21 章 割込み制御」を参照してください。 インプットキャプチャ制御レジスタ (ICS01, ICS23) 設定手順* 32.7.3 項 32.7.5 項 * 設定手順については , 番号で指定された項を参照してください。 536 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 32 章 インプットキャプチャ 32.7 Q & A MB91460N シリーズ 32.7 Q & A 32.7.1 外部入力のアクティブエッジ極性の種類は ? 選択するには ? アクティブエッジ極性は , 立上りエッジ , 立下りエッジ , 両エッジの 3 種で構成され , 外部入力のアクティブ エッジ選択ビット (ICS01:EG[01:00]) および (ICS01:EG[11:10), (ICS23:EG[01:00]) および (ICS23:EG[11:10]) を使用 して設定されます。 動作説明 外部入力アクティブエッジ極性ビット (EG[01:00]), (EG[11:10]) 立上りエッジを選択 "00B" を選択します。 立下りエッジを選択 "10B" を選択します。 両エッジを選択 "11B" を選択します。 32.7.2 外部入力端子 (ICU0 ∼ ICU3) の設定は ? ポート機能レジスタおよびエクストラポート機能ビット (PFR14.x/EPFR14.x) を使用します。 動作説明 ポート機能 (PFR14.x) エクストラポート機能 (EPFR14.x) 外部入力端子 (ICU0) に設定する PFR14.0 を "1" に設定します。 EPFR14.0 を "0" に設定します。 外部入力端子 (ICU1) に設定する PFR14.1 を "1" に設定します。 EPFR14.1 を "0" に設定します。 外部入力端子 (ICU2) に設定する PFR14.2 を "1" に設定します。 EPFR14.2 を "0" に設定します。 外部入力端子 (ICU3) に設定する PFR14.3 を "1" に設定します。 EPFR14.3 を "0" に設定します。 <注意事項> エクストラポート機能レジスタの EPFR14.x を "1" に設定すると , 対応するインプットキャプチャのマク ロは , LIN Synch Field 測定に対応する LIN-USART に内部接続されます。したがって , この設定では , 対応する ICU チャネルは外部入力として使用できません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 537 第 32 章 インプットキャプチャ 32.7 Q & A MB91460N シリーズ 32.7.3 割込み関連レジスタは ? インプットキャプチャ割込みベクタおよびインプットキャプチャ割込みレベル設定 インプットキャプチャ番号 , 割込みレベル , およびベクタの関係は , 以下のとおりです。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照して ください。 番号 割込みベクタ ( 初期値 ) インプット キャプチャ 0 #92 アドレス: 0FFE8CH インプット キャプチャ 1 #93 アドレス: 0FFE88H インプット キャプチャ 2 #94 アドレス: 0FFE84H インプット キャプチャ 3 #95 アドレス: 0FFE80H 割込みレベル設定ビット (ICR4 ∼ ICR0) 割込みレベルレジスタ (ICR38) アドレス: 000466H 割込みレベルレジスタ (ICR39) アドレス: 000467H 割込み要求フラグ (ICS01:ICP0), (ICS01:ICP1), (ICS23:ICP0), (ICS23:ICP1) は自動的にクリアされません。このため , インプットキャプチャ割込み要求フラグ (ICP1, ICP0) を "0" に設定して , 割込み処理から戻る前にクリアしま す。 32.7.4 割込みの種類は ? 割込みは 1 種類のみで , 入力信号エッジ検出によって発生します。 32.7.5 割込みを許可するには ? 割込み要求許可 , 割込み要求フラグ 割込みは , 割込み要求許可ビット (ICS01:ICE0), (ICS01:ICE1), (ICS23:ICE0), (ICS23:ICE1) によって有効です。 割込み要求許可ビット (ICE0), (ICE1) 538 割込み禁止 "0" に設定します。 割込み許可 "1" に設定します。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 32 章 インプットキャプチャ 32.7 Q & A MB91460N シリーズ 割込み要求のクリアは , 割込み要求許可ビット (ICS01:ICP0), (ICS01:ICP1), (ICS23:ICP0), (ICS23:ICP1) を使用して実 行されます。 割込み要求ビット (ICP0), (ICP1) "0" を書き込みます。 割込み要求クリア 32.7.6 入力信号のパルス幅を測定するには ? • "H" 幅測定: エッジ検出に両エッジを指定します。 はじめに立上りエッジを検出し , 次に立下りエッジを検出します。 パルス幅 = { 立下り時に記録された値 ( インプットキャプチャレジスタ値 ) + "10000H" × オーバフロー周期− 立上り時に記録された値 ( インプットキャプチャレジスタ値 ) } × フリーランタイマのカウントクロック幅 例:立下り時に記録された値 = 2320H, 立上り時に記録された値 = A635H, オーバフロー周期 = 1, カウントクロック = 125ns → パルス幅 = (2320H + 10000H − A635H) × 125ns = 3997.375 μs • 周期測定: エッジ検出に立上り ( または立下り ) を指定します。 2 回 , エッジを検出します。 周期 = {2 度目に記録された値 ( インプットキャプチャレジスタ値 ) + "10000H" × オーバフロー周期 − 最初に記録された値 ( インプットキャプチャレジスタ値 ) } × フリーランタイマのカウントクロック幅 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 539 第 32 章 インプットキャプチャ 32.8 注意事項 MB91460N シリーズ 32.8 注意事項 • インプットキャプチャレジスタ リセット時のインプットキャプチャレジスタ値は不定です。 インプットキャプチャレジスタからの読出しは , 常に 16 ビットまたは 32 ビットアクセスを使用して行われ る必要があります。 • リードモディファイライト リードモディファイライトを使用して読み出す場合は , インプットキャプチャ割込み要求ビット (ICP0), (ICP1) は "1" で読み出されます。 540 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.1 概要 MB91460N シリーズ 第 33 章 アウトプットコンペア 33.1 概要 アウトプットコンペアとは , コンペアレジスタに設定されている値とフリーランタイマのカウント値を比較し , これらの値が等しい場合に端子のレベルを反転する機能のことです。 図 33.1-1 アウトプットコンペアの構成 端子0 一致 コンペア0 0 コンペア ラッチ トグル 出力 クリア フリーランタイマ ラッチ コンペア コンペア1 1 端子1 一致 33.2 特長 • 出力波形:トグル出力 4 チャネル 図 33.2-1 アウトプットコンペアの出力動作 トグル出力 4 チャネル T1 またはT(最大) T1 (OCU0 端子/OCU2端子) (OCU1 端子/OCU3端子) T2 PWM 出力 (OCU1/OCU3) 2チャネル T2 T1 • フォーマット: 16 ビットコンペアレジスタ+コンペア回路 • 個数: 2 グループ = 4 チャネル ( アウトプットコンペア ch.0/ch.1, ch.2/ch.3) • 互換タイマ: アウトプットコンペア ch.0/ch.1 ではフリーランタイマ 2 を使用します。 アウトプットコンペア ch.2/ch.3 はフリーランタイマ 3 を使用します。 • コンペア一致での動作: • 端子出力値の反転 ( トグル出力 ) • フリーランタイマクリア • 割込み生成 • カウント精度: CLKP 4 分周 , CLKP 16 分周 , CLKP 32 分周 , CLKP 64 分周 ( フリーランタイマに依存 ) • トグル変更幅 (T) :1 ×カウント精度− 10000H ×カウント精度 • 割込み: CM71-10149-1 コンペア一致割込み FUJITSU MICROELECTRONICS LIMITED 541 第 33 章 アウトプットコンペア 33.3 構成図 • その他: MB91460N シリーズ 初期出力レベル値の設定が可能 ("H"/"L") OCU 出力で使用されない端子を汎用ポートとして使用可能 33.3 構成図 図 33.3-1 構成図 アウトプットコンペア 0, 1 ICE0 OCS01: bit4 00 割込み禁止 割込み許可 1 ICP0 OCS01: bit6 00 割込み要求なし 1 割込み要求あり 0の書込み:フラグクリア OCU0 割込み (#100) 外部クロック(フリーランタイマ2) 汎用ポート読出し CST0 0 1 コンペアレジスタ0 OCS01: bit0 OTD0 OCS01: bit8 00 低固定 1 高固定 * 停止時にのみコンペア 動作書込み可能 コンペア動作禁止 コンペア動作許可 OCCP0 IVF 00 1 PFR15.0 0 1 汎用ポート OUT0 0 汎用ポート レジスタから TCCS2: bit6 オーバフローなし オーバフローあり コン ペア 0 TCDT2 ラッチ 一致 -> ラッチ 反転 0 フリーランタイマ2 CMOD OCS01: bit12 0 OCCP1 一致単独でOP1ラッチが反転 1 OCCP0 またはOCCP1一致でOP1ラッチが反転 1 0 1 CLR TCCS2:bit2 影響なし 00 1 クリア コン ペア 1 一致 -> ラッチ反転 OCU1/TOT1/P15.1 ラッチ OR 汎用ポート レジスタから コンペアレジスタ 0 CST1 OCS01: bit1 コンペア動作禁止 0 コンペア動作許可 1 0 PFR15.1 OTD1 OCS01: bit9 00 低固定1c 1 高固定 * 停止時にのみコンペア 動作書込み可能 OCCP1 0 1 汎用ポート OUT1 汎用ポート読出し 外部クロック(フリーランタイマ2) 0 ICP1 OCS01: bit7 00 割込み要求なし 割込み要求あり 1 0の書込み:フラグクリア TCCS0 : bit3 コンペア一致クリアなし コンペア一致クリア MODE 00 1 OCU0/TOT0/P15.0 1 OCU1 割込み (#101) 1 ICE1 OCS01: bit5 00 割込み禁止 1 割込み許可 図 33.3-2 レジスタ一覧 アウトプットコンペア 0,1 アドレス bit 15 000190H C15 14 C14 13 C13 12 C12 11 C11 10 C10 9 C9 8 C8 7 C7 6 C6 5 C5 4 C4 3 C3 2 C2 1 C1 0 C0 000191H C15 C14 C13 C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 00018CH --- --- --- CMOD --- --- ICE1 ICE0 --- --- --- --- 0001F8H T15 T14 T13 T12 T11 T10 T5 T4 T3 T2 T1 T0 6 IVF 5 4 3 2 IVFE STOP MODE CLR 0001FBH 000D8FH 00046AH bit 7 ECLK OTD1 OTD0 T9 T8 ICP1 ICP0 T7 T6 OCCP0 ( アウトプットコンペア レジスタ0) OCCP1 ( アウトプットコンペア レジスタ1) OCS01 ( アウトプットコンペア 制御レジスタ01) TCDT2 ( フリーランタイマ データレジスタ2) 1 0 CLK1 CLK0 TCCS2 (フリーランタイマ制御レジスタ2) OCU7 OCU6 OCU5 OCU4 OCU3 OCU2 OCU1 OCU0 PFR15 (ポート機能レジスタ15) --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 ICR42 (割込みレベルレジスタ#100/#101) 0FFE6CH 32ビット (割込みベクタ #100) 0FFE68H 32ビット (割込みベクタ #101) ( 注意事項 ) ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 542 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.4 レジスタ MB91460N シリーズ 33.4 レジスタ 33.4.1 OCS:アウトプットコンペア制御レジスタ アウトプットコンペアの動作を制御するレジスタです。 • OCS01 ( アウトプットコンペア 0, 1) :アドレス 00018CH ( アクセス:バイト , ハーフワード , ワード ) • OCS23 ( アウトプットコンペア 2, 3) :アドレス 00018EH ( アクセス:バイト , ハーフワード , ワード ) bit 15 − 1 R1/W1 bit 7 ICP1 0 R(RM1),W 14 13 12 11 10 9 8 − 1 R1/W1 − 1 R1/W1 CMOD 0 R/W − 1 R1/W1 − 1 R1/W1 OTD1 0 R/W OTD0 0 R/W 3 2 1 0 − 1 R1/W1 CST1 0 R/W CST0 0 R/W 6 5 4 ICP0 0 R(RM1),W ICE1 0 R/W ICE0 0 R/W − 1 R1/W1 初期値 属性 初期値 属性 属性については , 「ビット属性シンボルの意味」を参照してください。 [bit15 ∼ bit13] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は "1" です。 [bit12] CMOD ( 反転モード ) CMOD 動作モード 0 独立動作 ( 端子 OCU0 ∼ OCU1 の出力レベル反転動作は独立 ) 1 組合せ動作 ( アウトプットコンペア 0 またはアウトプットコンペア 1 がコンペア動作で一致する場合に OCU1 出力端子レベルが反転します。) • フリーランタイマのカウント値TCDT2がコンペアレジスタOCCP0, OCCP1と一致する場合に端子OCU1 の出力レベル反転動作を指定します。 • 反転モードビットが "1" に設定されている場合の動作は , 以下のとおりです。 OCU0 端子:フリーランタイマ TCDT2 がコンペアレジスタ 0 (OCCP0) と一致する場合 , 出力が反転します。 • OCU1 端子:フリーランタイマ TCDT2 がコンペアレジスタ 1 (OCCP1) と一致する場合 , 出力が反転します。 • 反転モードビットが "0" に設定されている場合の動作は , 以下のとおりです。 OCU0 端子:フリーランタイマ TCDT2 がコンペアレジスタ 0 (OCCP0) と一致する場合 , 出力が反転します。 OCU1 端子:フリーランタイマ TCDT2 がコンペアレジスタ 0 (OCCP0) またはコンペアレジスタ 1 (OCCP1) と一致する場合 , 出力が反転します。 <注意事項> 反転モードでは , 組合せ動作 (CMOD=1) の場合でも割込みは許可されません。 • 端子 OCU0, OCU1 に対して , レジスタ PFR15.0, PFR15.1 が設定されている必要があります。 [bit11, bit10] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は "1" です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 543 第 33 章 アウトプットコンペア 33.4 レジスタ MB91460N シリーズ [bit9] OTD1 ( 端子レベル設定 ( アウトプットコンペア 1) ) OTD1 動作 0 端子 OCU1 の出力レベルを "L" に設定 1 端子 OCU1 の出力レベルを "H" に設定 端子 OCU1 で出力を行うには , PFR15.1 に "1" を , EPFR15.1 に "0" を設定してください。 [bit8] OTD0 ( 端子レベル設定 ( アウトプットコンペア 0) ) OTD0 動作 0 端子 OCU0 の出力レベルを "L" に設定 1 端子 OCU0 の出力レベルを "H" に設定 • 端子 OCU0 で出力を行うには , PFR15.0 に "1" を , EPFR15.0 に "0" を設定してください。 [bit7] ICP1 ( 割込み要求フラグ ( アウトプットコンペア 1) ) 状態 ICP1 読出し 書込み 0 割込み要求なし クリアフラグ (ICP1) 1 割込み要求あり 動作に影響なし • フリーランタイマのカウント値 TCDT2 が , アウトプットコンペアレジスタ OCCP1 と一致する場合 , ICP1 は "1" になります。 • 割込み許可ビット (ICP1) が "1" に設定されている場合 , 割込み要求は許可されます。 • "1" になる割込み要求フラグおよびこのフラグへの "0" の書込みが同時に発生した場合 , 割込み要求 フラグは "1" になります ( フラグ設定が優先されます ) 。 • 外部クロックをフリーランタイマの動作クロックとして使用する場合は , アウトプットコンペア一致の 出力および割込み生成のコンペア一致後に 1 つ以上の外部クロックが必要となります。 [bit6] ICP0 ( 割込み要求フラグ ( アウトプットコンペア 0) ) 状態 ICP0 読出し 書込み 0 割込み要求なし クリアフラグ (ICP0) 1 割込み要求あり 動作に影響なし • フリーランタイマのカウント値 TCDT2 が , アウトプットコンペアレジスタ OCCP0 と一致する場合 , ICP0 は "1" になります。 • 割込み許可ビット (ICP0) が "1" に設定されている場合 , 割込み要求は許可されます。 • "1" になる割込み要求フラグおよびこのフラグへの "0" の書込みが同時に発生した場合 , 割込み要求 フラグは "1" になります ( フラグ設定が優先されます ) 。 • 外部クロックをフリーランタイマの動作クロックとして使用する場合は , アウトプットコンペア一致の 出力および割込み生成のコンペア一致後に 1 つ以上の外部クロックが必要となります。 544 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.4 レジスタ MB91460N シリーズ [bit5] ICE1 ( 割込み要求許可 ( アウトプットコンペア 1) ) ICE1 状態 0 アウトプットコンペア 1 割込み要求禁止 1 アウトプットコンペア 1 割込み要求許可 [bit4] ICE0 ( 割込み要求許可 ( アウトプットコンペア 0) ) ICE0 状態 0 アウトプットコンペア 0 割込み要求禁止 1 アウトプットコンペア 0 割込み要求許可 [bit3, bit2] 未定義 書込みによる動作への影響はありません。読出し値は常に "1" です。 [bit1] CST1 ( 動作要求許可 ( アウトプットコンペア 1) ) CST1 動作 0 アウトプットコンペア 1 の動作停止 1 アウトプットコンペア 1 の動作許可 • フリーランタイマのカウント値とアウトプットコンペアレジスタ (TCDT2 および OCCP1) の間での比較 動作を許可するビットです。 • 動作を許可する前に , 値を常にコンペアレジスタ OCCP1 に設定します。 • フリーランタイマを停止すると , アウトプットコンペアも停止します。 [bit0] CST0 ( 動作要求許可 ( アウトプットコンペア 0) ) CST0 動作 0 アウトプットコンペア 0 動作禁止 1 アウトプットコンペア 0 動作許可 • フリーランタイマのカウント値とアウトプットコンペアレジスタ (TCDT2 および OCCP0) の間での比較 動作を許可するビットです。 • 動作を許可する前に , 値を常にコンペアレジスタ OCCP0 に設定します。 • フリーランタイマを停止すると , アウトプットコンペアも停止します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 545 第 33 章 アウトプットコンペア 33.4 レジスタ MB91460N シリーズ 33.4.2 OCCP:コンペアレジスタ 16 ビットフリーランタイマのカウント値と値を比較するように設定するレジスタです。 • • • • OCCP0 ( アウトプットコンペア 0) :アドレス 000190H ( アクセス:ハーフワード , ワード ) OCCP1 ( アウトプットコンペア 1) :アドレス 000192H ( アクセス:ハーフワード , ワード ) OCCP2 ( アウトプットコンペア 2) :アドレス 000194H ( アクセス:ハーフワード , ワード ) OCCP3 ( アウトプットコンペア 3) :アドレス 000196H ( アクセス:ハーフワード , ワード ) bit bit 15 C15 X R/W 7 C7 X R/W 14 13 12 11 10 9 8 C14 X R/W C13 X R/W C12 X R/W C11 X R/W C10 X R/W C9 X R/W C8 X R/W 6 5 4 3 2 1 0 C6 X R/W C5 X R/W C4 X R/W C3 X R/W C2 X R/W C1 X R/W C0 X R/W 初期値 属性 初期値 属性 属性については , 「ビット属性シンボルの意味」を参照してください。 • アウトプットコンペアレジスタOCCP0, OCCP1とフリーランタイマ2のカウント値TCD2を比較します。 • アウトプットコンペアレジスタOCCP2, OCCP3とフリーランタイマ3のカウント値TCD3を比較します。 546 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.5 動作 MB91460N シリーズ 33.5 動作 33.5.1 アウトプットコンペア出力 ( 独立反転 ) CMOD=0 図 33.5-1 CMOD=0 のときの出力動作 周辺 クロック (CLKP) (6) フリーランタイマ 2 BFFEH アウトプットコンペア レジスタ値 BFFFH 0000H 0001H BFFFH (5) コンペア一致信号 (7) OCU 端子出力 割込み 要求 (8) BFFFH フリーラン タイマ0 カウント (4) 0000H (6) フリーランタイマ2クリア (1) コンペア一致クリア (2) アウトプットコンペア レジスタ値 CST 時間 コンペア一致クリア BFFFH (3) (7) OCU 出力 (8) 割込み要求 ソフトウェアで クリア (1) フリーランタイマのクリア / リセット (2) コンペア値の設定 (3) コンペア動作の許可 (CST=1) (4) フリーランタイマのカウントアップ ( 例:1 クロックで 4) (5) フリーランタイマ値とアウトプットコンペア値の比較と一致 ( コンペア一致 ) (6) コンペア一致からのフリーランタイマのクリア ( フリーランタイマ 2) (7) OCU 出力レベル反転 (8) コンペア一致割込み要求の生成 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 547 第 33 章 アウトプットコンペア 33.5 動作 MB91460N シリーズ 33.5.2 アウトプットコンペア出力 ( 組合せ反転 ) CMOD=1 図 33.5-2 CMOD=1 のときの出力動作 (9) BFFFH フリーラン タイマ0 カウント (8) (5) 4000H (4) 0000H フリーランタイマ2クリア コンペア一致クリア (1) アウトプットコンペア レジスタ 0 アウトプットコンペア レジスタ 1 (10) BFFFH (2) 4000H CST 0 (3) CST 1 (3) OCU1 出力 (11) (6) (11) OCU0 出力 CMOD=1 OCU1 出力 (6) (11) 割込み要求 0 割込み要求 1 時間 (2) OCU0 出力 CMOD=0 コンペア一致クリア (7) ソフトウェアでクリア ソフトウェアでクリア (1) フリーランタイマのクリア / リセット (2) コンペア 0 とコンペア 1 の値の設定 (3) コンペア動作の許可 (4) フリーランタイマのカウントアップ (5) コンペア 1 一致 (6) OCU1 出力レベル反転 (7) コンペア 1 一致割込み (8) フリーランタイマのカウントアップ (9) コンペア 0 一致 (10) OCU0 出力レベル反転 CMOD=1 の場合 , OCU1 出力レベルも反転 (11) コンペア 0 一致割込み 548 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.6 設定 MB91460N シリーズ 33.6 設定 表 33.6-1 アウトプットコンペアを使用する場合に必要な設定 設定 設定レジスタ フリーランタイマの設定 「第 31 章 フリーランタイマ」を参照 アウトプットコンペアレジスタ (OCCP0 ∼ OCCP3) コンペア値の設定 設定手順* ― 33.7.1 項 33.7.2 項 コンペアモードの設定 アウトプット制御レジスタ (OCS01, OCS23) コンペア動作停止 33.7.3 項 33.7.4 項 コンペア端子出力の初期レベルの設定 ポート機能レジスタ (PFR15_0 ∼ PFR15_3) 外部ポート機能レジスタ (EPFR15_0 ∼ EPFR15_3) 出力への OCU0 ∼ OCU3 端子の設定 タイマ制御レジスタ (TCCS2, TCCS3) 「第 31 章 フリーランタイマ」を参照 フリーランタイマのクリア アウトプット制御レジスタ (OCS01, OCS23) コンペア動作の許可 ( 起動 ) 33.7.5 項 33.7.6 項 33.7.7 項 * 設定手順については , 番号で指定された項を参照してください。 表 33.6-2 コンペア一致でフリーランタイマをクリアする場合に必要な項目 設定 設定レジスタ フリーランタイマのクリアモードの選択 タイマ制御レジスタ (TCCS2, TCCS3) 「第 31 章 フリーランタイマ」を参照 設定手順* 33.7.8 項 * 設定手順については , 番号で指定された項を参照してください。 表 33.6-3 割込みを実行する場合に必要な項目 設定 設定レジスタ アウトプットコンペアの割込みベクタ , アウトプットコンペアの割込みレベルの 設定 アウトプットコンペアの割込み設定 割込み要求のクリア 割込み要求の許可 「第 21 章 割込み制御」を参照 アウトプット制御レジスタ (OCS01, OCS23) 設定手順* 33.7.9 項 33.7.11 項 * 設定手順については , 番号で指定された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 549 第 33 章 アウトプットコンペア 33.7 Q & A MB91460N シリーズ 33.7 Q & A 33.7.1 コンペア値を設定するには ? コンペア値をアウトプットコンペアレジスタ OCCP0 ∼ OCCP3 に書き込みます。 33.7.2 コンペアモードを設定するには ? (OCU1, OCU3 出力に対して ) この設定は , コンペアモードビット (OCS01:CMOD), (OCS23:CMOD) を使用して行います。 動作 コンペアモードビット フリーランタイマ 2 およびコンペアレジスタ 1 のみのコンペア一致を使用 して OCU1 出力を反転する場合 (OCS01:CMOD) ビットを "0" にする フリーランタイマ 3 およびコンペアレジスタ 3 のみのコンペア一致を使用 して OCU3 出力を反転する場合 (OCS23:CMOD) ビットを "0" にする フリーランタイマ 2 とコンペアレジスタ 0, およびフリーランタイマ 0 とア ウトプットコンペアレジスタ 1 のコンペア一致を使用して OCU1 出力を反 転する場合 (OCS01:CMOD) ビットを "1" にする フリーランタイマ 3 とコンペアレジスタ 2, およびフリーランタイマ 1 とア ウトプットコンペアレジスタ 3 のコンペア一致を使用して OCU3 出力を反 転する場合 (OCS23:CMOD) ビットを "1" にする CMOD ビットと関連がない場合は , 以下のとおりです。 フリーランタイマ 2 とアウトプットコンペアレジスタ 0 間のコンペア一致のみを使用して OCU0 出力が反転します。 フリーランタイマ 3 とアウトプットコンペアレジスタ 2 間のコンペア一致のみを使用して OCU2 出力が反転します。 550 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.7 Q & A MB91460N シリーズ 33.7.3 コンペア動作を許可 / 禁止するには ? コンペア動作許可ビット (OCS01:CST1, CST0), (OCS23:CST1, CST0) を使用して設定します。. 動作 コンペア コンペア動作許可ビット コンペア 0 (OCS01:CST0) を "0" にする コンペア 1 (OCS01:CST1) を "0" にする コンペア 2 (OCS23:CST0) を "0" にする コンペア 3 (OCS23:CST1) を "0" にする コンペア 0 (OCS01:CST0) を "1" にする コンペア 1 (OCS01:CST1) を "1" にする コンペア 2 (OCS23:CST0) を "1" にする コンペア 3 (OCS23:CST1) を "1" にする コンペア動作を停止 ( 禁止 ) する場合 コンペア動作を許可する場合 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 551 第 33 章 アウトプットコンペア 33.7 Q & A MB91460N シリーズ 33.7.4 コンペア端子出力の初期レベルを設定するには ? コンペア端子出力指定ビット (OCS01:OTD1, OTD0), (OCS23:OTD1, OTD0) を使用して設定します。 動作 552 コンペア端子出力指定ビット コンペア 0 端子を "L" にする場合 (OCS01:OTD0) を "0" にする コンペア 0 端子を "H" にする場合 (OCS01:OTD0) を "1" にする コンペア 1 端子を "L" にする場合 (OCS01:OTD1) を "0" にする コンペア 1 端子を "H" にする場合 (OCS01:OTD1) を "1" にする コンペア 2 端子を "L" にする場合 (OCS23:OTD0) を "0" にする コンペア 2 端子を "H" にする場合 (OCS23:OTD0) を "1" にする コンペア 3 端子を "L" にする場合 (OCS23:OTD1) を "0" にする コンペア 3 端子を "H" にする場合 (OCS23:OTD1) を "1" にする FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.7 Q & A MB91460N シリーズ 33.7.5 コンペア端子 OCU0 ∼ OCU3 に出力を設定するには ? ポート機能レジスタ (PFR15[3:0]) を使用して設定します。 動作 ポート機能ビット 外部ポート機能ビット コンペア 0 端子 (OCU0) を出力に設定する場合 PFR15.0 ビットを "1" に設定する EPFR15.0 ビットを "0" に設定する コンペア 1 端子 (OCU1) を出力に設定する場合 PFR15.1 ビットを "1" に設定する EPFR15.1 ビットを "0" に設定する コンペア 2 端子 (OCU2) を出力に設定する場合 PFR15.2 ビットを "1" に設定する EPFR15.2 ビットを "0" に設定する コンペア 3 端子 (OCU3) を出力に設定する場合 PFR15.3 ビットを "1" に設定する EPFR15.3 ビットを "0" に設定する 33.7.6 フリーランタイマをクリアするには ? クリアビット (TCCS2:CLR), (TCCS3:CLR) を使用して設定します。 動作 クリアビット (CLR) フリーランタイマをクリアする場合 "1" を書き込む その他の方法については , 「第 31 章 フリーランタイマ」を参照してください。 33.7.7 コンペア動作を許可するには ? コンペア動作許可ビット (OCS01:CST1, CST0), (OCS23:CST1, CST0) を使用して許可します。 「33.7.4 コンペア端子出力の初期レベルを設定するには ?」を参照してください。 33.7.8 フリーランタイマの値とコンペアレジスタの値を比較し , これらの値が一致するときに フリーランタイマをクリアするには ? タイマ初期化条件ビット (TCCS2:MODE), (TCCS3:MODE) を使用して行います。 動作 タイマ初期化条件ビット (MODE) コンペア 0 一致でフリーランタイマをクリアする場合 (TCCS2:MODE) を "1" に設定する コンペア 2 一致でフリーランタイマをクリアする場合 (TCCS3:MODE) を "1" に設定する CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 553 第 33 章 アウトプットコンペア 33.7 Q & A MB91460N シリーズ 33.7.9 割込み関連レジスタとは ? アウトプットコンペア割込みベクタとアウトプットコンペア割込みレベルを設定します。 以下の表に , アウトプットコンペア番号 , 割込みレベル , および割込みベクタの関係を示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 番号 割込みベクタ ( 初期値 ) アウトプット コンペア 0 #100 アドレス:0FFE6CH アウトプット コンペア 1 #101 アドレス:0FFE68H アウトプット コンペア 2 #102 アドレス:0FFE64H アウトプット コンペア 3 #103 アドレス:0FFE60H 割込みレベル設定ビット (ICR[4:0]) 割込みレベルレジスタ (ICR42) アドレス:00046AH 割込みレベルレジスタ (ICR43) アドレス:00046BH 割込み要求フラグ (OCS01: ICP1, ICP0), (OCS23: ICP1, ICP0) は自動的にクリアされないため , 割込み処理か ら戻る前に ICP[7:0] ビットに "0" を書き込み , フラグをクリアします。 33.7.10 割込みの種類は ? コンペア一致で生成される割込みは 1 種類のみです。 33.7.11 割込みを許可するには ? 割込みの許可は , 割込み要求許可ビット (OCS01: ICE1, ICE0), (OCS23: ICE1, ICE0) を使用して行います。 割込み要求許可ビット (ICE1, ICE0) 割込み禁止 "0" に設定する 割込み許可 "1" に設定する 割込み要求は , 割込み要求ビット (OCS01: ICP1, ICP0), (OCS23: ICP1, ICP0) を使用してクリアされます。 割込み要求ビット (ICP1, ICP0) 割込み要求クリア 554 "0" を書き込む FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 33 章 アウトプットコンペア 33.7 Q & A MB91460N シリーズ 33.7.12 コンペア値の計算手順 • トグル出力パルス ( 例 ) 周期を出力するには:A, 位相差 1/4 位相パルス 図 33.7-1 トグル出力動作 A OCU0 OP0 OCU1 OP1 位相差 1/4 1/4 式: コンペア 0 値 = (A/2) / カウントクロック コンペア 1 値 = (A/4) / カウントクロック ( カウントクロック:フリーランタイマで設定された時間 ) 注意 : コンペア 0 一致設定 (TCCS2:MODE=1) および CMOD=0 設定でフリーランタイマ 2 をクリアする必要があります。 計算例: A=1024μs, カウントクロック =125ns コンペア 0 値 = (1024000 / 2) / 125 − 1 = 4095 = FFFH コンペア 1 値 = (1024000 / 4) / 125 − 1 = 1023 = 7FFH • PWM 出力 ( 例 ) 周期を出力するには:A, デューティ 1/4 ∼ 3/4 ("L") PWM, 図 33.7-2 PWM 出力動作 A OCU1 OP1 1/4~3/4 1/4-3/4 式:コンペア 0 値 = A/ カウントクロック コンペア 1 値 = (A/4) / カウントクロック ( デューティ 1/4 の場合 ) (A × 3/4) / カウントクロック ( デューティ 3/4 の場合 ) ( カウントクロック:フリーランタイマで設定された時間 ) 注意 : コンペア 0 一致設定 (TCCS0:MODE=1) および CMOD=1 設定でフリーランタイマ 0 をクリアする必要があります。 計算例:A=1024μs, カウントクロック =125ns コンペア 0 値 = 1024000 / 125 − 1 = 8191 = 1FFFH コンペア 1 値 = (1024000 / 4) / 125 − 1 = 1023 = 7FFH ( デューティ 1/4 の場合 ) (1024000 × 3 / 4) / 125 − 1 = 1023 = BFFH ( デューティ 3/4 の場合 ) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 555 第 33 章 アウトプットコンペア 33.8 注意事項 MB91460N シリーズ 33.8 注意事項 • コンペア動作中のコンペア停止期間 以下に示すように , アウトプットコンペアレジスタにコンペア値が書き込まれた直後のカウントでは , コン ペア動作は使用できません。 図 33.8-1 コンペア停止期間 コンペア タイミング フリーランタイマのカウント値 N-2 N-1 N N+1 N+2 N+3 コンペアレジスタへの書込み アウトプットコンペアレジスタ値 X N コンペア停止期間 この場合、一致信号は 生成されません。 • CMOD=1 と OCCP0=OCCP1 の設定でコンペア一致が生成される場合 , ポートは 1 回だけ反転します。 • アウトプットコンペアレジスタ (OCU0 ∼ OCU3) は初期値に設定されます。アウトプットコンペアレジスタ を起動する前に , 常に値を設定します。 • コンペア端子 (OCU0 ∼ OCU3) の出力レベルを指定する場合は , 最初にコンペア動作を停止します。 • アウトプットコンペアはフリーランタイマと同期されているため , フリーランタイマを停止すると , コンペア 動作も停止します。 • 反転モード指定 (CMOD) が "1" に設定されており , コンペア動作が共同モードの場合は , 独立して割込みが生成 されます。 • 外部クロックをフリーランタイマとして使用する場合は , 以下のクロックでコンペア一致と割込みが生成さ れます。コンペア一致出力と割込みを生成するには , コンペア一致後に少なくとも "1 クロック分周 " が外部 クロックフリーランタイマに入力されている必要があります。 556 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.1 概要 MB91460N シリーズ 第 34 章 リロードタイマ 34.1 概要 リロードタイマでは , 16 ビットダウンカウンタを使用して , 入力信号トリガが検出されてカウントダウンが実 行されます。 カウント長は 16 ビットです。 図 34.1-1 リロードタイマの構成 リロード値 ソフトトリガ リロード 外部イベント 内部クロック or または 外部イベント ダウンカウンタ アンダフロー 反転 出力値 ラッチ 端子 PPG PPGへ A/D A/Dへ 34.2 特長 動作:2 種類の動作が可能 • ワンショット動作 初期出力レベル 反転出力レベル • リロード動作 初期出力レベル 反転出力レベル フォーマット:リロードレジスタ付き 16 ビットダウンカウンタ 個数:4 ( 出力:4 チャネル TOT[0:3]) クロックモード:2 つのモードから選択可能 • 内部クロックモード カウントクロック:CLKP 2 分周 , CLKP 8 分周 , CLKP 32 分周 , CLKP 64 分周 , CLKP 128 分周 起動トリガ (4 種類 ) • 外部イベントクロックモード カウントクロック :外部イベント (TIN[3:0] 端子 ) カウントアクティブエッジ :外部イベントの立上りエッジ / 立下りエッジ / 両エッジ 起動トリガ :ソフトウェアトリガ サイクル :サイクル = カウントクロック× ( リロード値+ 1) ( 例 ) カウントクロック =16MHz, リロード値 =15999 の場合 サイクル = 62.5ns × (15999 + 1) = 1.0ms カウントアクティブエッジ:外部イベントモードの場合 , 3 種類から選択可能 • 外部トリガ ( 立上りエッジ / 立下りエッジ / 両エッジ ) 割込み:アンダフローにより生成される要求 その他 1:ソフトウェアによるカウンタ停止 / カウンタ再開可能 その他 2:その他の周辺機能の制御が可能 • PPG 起動トリガソース: CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 557 第 34 章 リロードタイマ 34.3 構成 MB91460N シリーズ リロードタイマ 0:PPG0, PPG1 リロードタイマ 1:PPG2, PPG3 リロードタイマ 2:PPG4, PPG5 リロードタイマ 3:PPG6, PPG7 • A/D コンバータ起動トリガソース ( リロードタイマ 7:A/D) 34.3 構成 図 34.3-1 構成図 リロードタイマ0(内部クロックカウント) TIN0 PFR14.0 0 1 GPポート リロードタイマ入力 汎用ポート出力から リロードレジスタ TMRLR0 0 0 0 0 1 0 0 1 1 X 0 1 0 1 X TMCSRx: bit9~bit7 ソフトウェアトリガ 外部トリガ立上りエッジ 外部トリガ立下りエッジ 外部トリガ両エッジ リロードモード "カウント中""L""方形波" "カウント時""H""方形波" "カウント開始時""L""トグル出力" "カウント開始時""H""トグル出力" Ch01 -> PPG0-PPG1 停止 リロード アンダフロー CLKP /2 TMR0 セレクタ CLKP /2 3 /2 5 CLKP /2 6 リロードタイマレジスタ(=タイマ) CLKP /2 7 ラッチ、 出力変更 汎用ポート 出力から TOT0 EPFR15.0 0 1 OCU0 出力 TOT0 出力 1 TOT0/OCU0/P15.0 汎用ポート 入力へ CSL2~CSL0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 TMCSRx: bit12~bit10 内部クロックCLKP/2 CLKP/2 内部クロック CLKP/23 内部クロック CLKP /25 (外部イベント) * 設定禁止 内部クロック CLKP /26 内部クロック CLKP /27 設定禁止 INTE 0 1 UF TMCSRx: bit2 0 アンダフローなし 1 アンダフロー生成 1 TMCSRx: bit3 割込み禁止 割込み許可 タイマ割込み (アンダフロー) """0""の書込み: フラグクリア" * 外部イベントについては、次の図を参照。 558 ワンショットモード カウンタ 起動 . クロックソース CLKP 0 1 0 1 リロード CNTE TMCSRx: bit1 0 カウント停止(出力禁止) 1 カウント許可 設定禁止 0 0 1 1 制御回路の / / リロード/起動/停止 停止 トリガ選択 MOD2~MOD0 トリガ(ロード+カウンタ起動) TMCSR: bit5、bit4 OUTL RELD FUJITSU MICROELECTRONICS LIMITED 0 TRG TMCSRx:bit0 影響なし 0 1 ソフトトリガ セレクタ TIN0/ICU0/P14.0 0 汎用ポート 入力へ CM71-10149-1 第 34 章 リロードタイマ 34.3 構成 MB91460N シリーズ 図 34.3-2 構成図 リロードタイマ0(外部イベントカウント) リロードレジスタ TMRLR0 TRG TMCSR: bit0 トリガ(リロード+カウンタ起動) 影響なし 0 1 ソフトトリガ 制御回路の / / リロード/起動/停止 OUTL RELD TMCSR: bit5、bit4 0 0 "カウント時""L""方形波" ワンショットモード 0 "カウント時""H""方形波" 1 0 1 リロードモード "カウント開始時""L""トグル出力" "カウント開始時""H""トグル出力" 1 1 停止 TIN0 PFR14.0 0 1 GP ポート リロードタイマ入力 汎用ポート 入力へ カウンタ 起動 . CNTE TMCSR: bit1 0 カウント停止 1 カウント許可 リロード 停止 Ch01 -> PPG0-PPG1 汎用ポート 出力から TOT0 EPFR15.0 0 1 OCU0 出力 TOT0 出力 リロード TIN0/ICU0/P14.0 イベントソース ラッチ、 出力変更 TMR0 1 TOT0/OCU0/P15.0 汎用ポート 出力から リロードタイマレジスタ TMCSR: bit12~bit10 外部イベント * * 内部クロックについては、前の図を参照。 CSL2~CSL0 0 セレクタ アンダフロー 汎用ポート 入力へ 0 1 1 INTE TMCSR: bit3 0 割込み禁止 1 割込み許可 アクティブエッジ 0 0 0 0 1 0 0 1 1 X 00 11 00 11 X X TMCSR: bit9~bit7 ------------------立上りエッジ 立下りエッジ 両エッジ 設定禁止 UF 0 1 TMCSRx: bit2 アンダフローなし アンダフロー生成 """0""の書込み: フラグクリア" 1 タイマ割込み (アンダフロー) 0 MOD2~MOD0 図 34.3-3 レジスタ一覧 リロードタイマ0 アドレス 0001B6H bit 15 --- 14 --- 13 --- 12 11 10 9 8 7 CSL2 CSL1 CSL0 MOD2 MOD1 MOD0 6 --- 5 4 OUTL RELD 3 INTE 2 UF 1 CNTE 0 TRG TMCSR0 (リロードタイマ 制御ステータスレジスタ0) 0001B2H TMR0 (リロードタイマレジスタ0) 0001B0H TMRLR0 (リロードレジスタ0) 000D8FH 000DCFH 000448H bit 7 ----- 6 ----- 5 ----- 4 ----- --- --- --- ICR4 0FFF7CH 3 2 1 0 OCU3 OCU2 OCU1 OCU0 PFR15 (ポート機能レジスタ15) TOT3 TOT2 TOT1 TOT0 EPFR15 (エクストラポート機能レジスタ15) ICR3 ICR2 ICR1 ICR0 ICR08 (リロードタイマ0割込みレベルレジスタ) 32ビット (割込みベクタ #32) <注意事項> ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 559 第 34 章 リロードタイマ 34.4 レジスタ MB91460N シリーズ 34.4 レジスタ 34.4.1 TMCSR:リロードタイマ制御ステータスレジスタ 制御ステータスレジスタは , リロードタイマの動作モードおよび割込みを制御する場合に使用します。 • • • • • TMCSR0 ( リロードタイマ 0) :アドレス:0001B6H ( アクセス:バイト , ハーフワード ) TMCSR1 ( リロードタイマ 1) :アドレス:0001BEH ( アクセス:バイト , ハーフワード ) TMCSR2 ( リロードタイマ 2) :アドレス:0001C6H ( アクセス:バイト , ハーフワード ) TMCSR3 ( リロードタイマ 3) :アドレス:0001CEH ( アクセス:バイト , ハーフワード ) TMCSR7 ( リロードタイマ 7) :アドレス:0001EEH ( アクセス:バイト , ハーフワード ) bit 15 14 13 12 11 10 9 8 − 0 − 0 − 0 CSL2 0 CSL1 0 CSL0 0 MOD2 0 MOD1 0 初期値 RX/WX RX/WX RX/WX R0/WX R/W R/W R/W0 R/W 属性 × × × × × × × × 動作中の書換え TMCSR0 ∼ TMCSR2 bit 7 MOD0 0 R/W × 6 5 4 3 2 1 0 − 0 RX/WX OUTL 0 R/W × RELD 0 R/W × INTE 0 R/W × UF 0 R(RM1),W Ο CNTE 0 R/W Ο TRG 0 R0/W Ο − 初期値 属性 動作中の書換え (O:書換え可能 , x:書換え不可能 ) 属性については ,「ビット属性シンボルの意味」を参照してください。 [bit15, bit14] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は "0" です。 [bit13] − : 未定義ビット ( リロードタイマ 0 ∼リロードタイマ 2) 常に "0" を書き込みます。読出し値は "0" です。 [bit12 ∼ bit10] CSL2 ∼ CSL0 ( カウントクロック選択 ) CSL2 CSL1 CSL0 0 0 0 内部クロック CLKP/2 0 0 1 内部クロック CLKP/8 0 1 0 内部クロック CLKP/32 0 1 1 外部イベント ( 外部クロック ) 1 0 1 内部クロック CLKP/64 1 1 0 内部クロック CLKP/128 カウントクロック CLKP:周辺クロック 560 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.4 レジスタ MB91460N シリーズ <注意事項> 内部クロックまたは外部イベントのいずれが選択されているかによって , 動作モード選択ビット (MOD2 ∼ MOD0) の意味が変わります。 [bit9 ∼ bit7] MOD2 ∼ MOD0 ( 動作モード選択 ) 内部クロックが選択されている場合のリロードトリガ MOD2 MOD1 MOD0 0 0 0 ソフトウェアトリガ 0 0 1 外部トリガ ( 立上りエッジ ) 0 1 0 外部トリガ ( 立下りエッジ ) 0 1 1 外部トリガ ( 両エッジ ) リロードトリガ 選択されたリロードトリガが入力されると , リロードレジスタ (TMRLR) の値がダウンカウンタにロードされ , カウン ト動作が開始されます。 外部イベントが選択されている場合のカウントトリガ MOD2 MOD1 MOD0 カウントトリガ 0 0 0 − 0 0 1 外部トリガ ( 立上りエッジ ) 0 1 0 外部トリガ ( 立下りエッジ ) 0 1 1 外部トリガ ( 両エッジ ) 選択されたカウントトリガを使用して , 外部イベントがカウントされます。 MOD2 は常に "0" に設定します。書き込まれた値が読出し値になります。 [bit6] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は "0" です。 [bit5] OUTL ( 出力レベル設定 ) OUTL ワンショットモード (RELD=0) リロードモード (RELD=1) 0 カウント中 "H" 方形波 カウント開始時 "L" トグル出力 1 カウント中 "L" 方形波 カウント開始時 "H" トグル出力 • ワンショットモードでは , カウント中パルスが出力され , リロードモード中はトグルが出力されます。 • 出力レベル設定ビット "0" および "1" の場合 , 出力レベルが反転されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 561 第 34 章 リロードタイマ 34.4 レジスタ MB91460N シリーズ [bit4] RELD ( リロード許可 ) RELD リロード許可 0 ワンショットモード ( リロード禁止 ) 1 リロードモード ( リロード許可 ) • リロードモードでは , ダウンカウンタアンダフロー (0000H → FFFFH) によって , リロードレジスタ (TMRLR) に設定された値がダウンカウンタにロードされ , カウント動作が継続されます。 • ワンショットモードでは , ダウンカウンタアンダフロー (0000H → FFFFH) によって , カウント動作が停 止します。 [bit3] INTE ( タイマ割込み要求の許可 ) INTE タイマ割込み要求の許可 0 割込み要求禁止 1 割込み要求の許可 タイマ割込み要求が許可されている場合 , タイマ割込み要求フラグ (UF) は "1" になり , 割込み要求が生成されます。 [bit2] INT ( タイマ割込み要求フラグ ) タイマ割込み要求フラグ UF 読出しの場合 書込みの場合 0 アンダフローなし 割込み要求クリア 1 アンダフローあり 影響なし ダウンカウンタアンダフロー (0000H → FFFFH) の生成によって , タイマ割込み要求フラグが "1" になります。 割込み要求が許可されている場合 (INTE=1), 割込み要求が生成されます。 [bit1] CNTE ( タイマカウント許可 ) CNTE タイマカウント許可 0 カウント動作停止 1 カウント動作許可 ( 起動トリガ待機 ) タイマカウントが許可されている場合は起動トリガが待機され , 起動トリガが生成されるとカウント動作が開始されます。 起動トリガは , ソフトウェアトリガまたは外部トリガにすることができます。 [bit0] TRG ( ソフトウェアトリガ ) TRG ソフトウェアトリガ 0 影響なし ( 読出し値は "0" です ) 。 1 データロード後にカウント動作開始。 カウント動作が許可されており (CNTE=1), ソフトウェアトリガビットが "1" に設定されている場合は , リロードレジス タ (TMRLR) の値がダウンカウンタにロードされ , カウント動作が開始されます。 カウント動作が許可されていない場合 (CNTE=0), ソフトウェアトリガによる影響はありません。 562 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.4 レジスタ MB91460N シリーズ 34.4.2 TMR:タイマレジスタ • • • • • TMR0 ( リロードタイマ 0) :アドレス:0001B2H ( アクセス:ハーフワード ) TMR1 ( リロードタイマ 1) :アドレス:0001BAH ( アクセス:ハーフワード ) TMR2 ( リロードタイマ 2) :アドレス:0001C2H ( アクセス:ハーフワード ) TMR3 ( リロードタイマ 3) :アドレス:0001CAH ( アクセス:ハーフワード ) TMR7 ( リロードタイマ 7) :アドレス:0001EAH ( アドレス:ハーフワード ) bit 15 D15 X R/WX bit 7 D7 X R/WX 14 13 12 11 10 9 8 D14 X R/WX D13 X R/WX D12 X R/WX D11 X R/WX D10 X R/WX D9 X R/WX D8 X R/WX 6 5 4 3 2 1 0 D6 X R/WX D5 X R/WX D4 X R/WX D3 X R/WX D2 X R/WX D1 X R/WX D0 X R/WX 初期値 属性 初期値 属性 属性については ,「ビット属性シンボルの意味」を参照してください。 リロードタイマのカウント値は , タイマレジスタ (TMR) によって読み出すことができます。 読出しには , ハーフワードアクセスを使用してください。 34.4.3 TMRLR:リロードレジスタ • • • • • TMRLR0 TMRLR1 TMRLR2 TMRLR3 TMRLR7 ( リロードタイマ 0) :アドレス:0001B0H ( アクセス:ハーフワード ) ( リロードタイマ 1) :アドレス:0001B8H ( アクセス:ハーフワード ) ( リロードタイマ 2) :アドレス:0001C0H ( アクセス:ハーフワード ) ( リロードタイマ 3) :アドレス:0001C8H ( アクセス:ハーフワード ) ( リロードタイマ 7) :アドレス:0001E8H ( アドレス:ハーフワード ) bit 15 D15 X RX/W bit 7 D7 X RX/W 14 13 12 11 10 9 8 D14 X RX/W D13 X RX/W D12 X RX/W D11 X RX/W D10 X RX/W D9 X RX/W D8 X RX/W 6 5 4 3 2 1 0 D6 X RX/W D5 X RX/W D4 X RX/W D3 X RX/W D2 X RX/W D1 X RX/W D0 X RX/W 初期値 属性 初期値 属性 属性については ,「ビット属性シンボルの意味」を参照してください。 ダウンカウンタのリロード値は , リロードレジスタ (TMRLR) に格納されます。 書込みには , ハーフワードアクセスを使用してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 563 第 34 章 リロードタイマ 34.5 動作 MB91460N シリーズ 34.5 動作 34.5.1 内部クロック / リロードモード リロードモードでは , デューティ比が 50% のパルスが出力されます。 図 34.5-1 リロードモードのリロードタイマ動作 (1) データリロード TMRLR [リロードレジスタ設定値+1] カウント カウントクロック (5) ダウンカウンタ カウント開始 データ ロード (7) -1 FFFFH (10) データ 0000H リロード -1 データ 0000H リロード -1 (2) CNTE ビット 0 (分) (4) 起動トリガ (ソフトまたは外部イベント) T = CLKP (10) (5) データロード (8) アンダフロー TOT 出力波形 (3) OUTL=0 (6) トグル出力 (9) OUTL=1 RELD=1の場合 繰り返し (1) リロードレジスタへのリロード値の設定 (2) リロードタイマのカウント動作の許可 (3) TOT 端子出力 (4) リロードトリガ ( ソフトトリガまたは外部イベントトリガ ) の生成 ( 起動 ) (5) リロード値のロード (6) TOT 端子出力の開始 (7) カウンタによるカウントダウン ( 内部クロック同期 ) (8) カウンタアンダフローの生成 (9) TOT 端子出力レベル反転 ( トグル出力 ) (10) リロード値のリロード (11) ステップ (7) ∼ (10) の繰り返し (「34.8 注意事項」を参照してください。) 564 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.5 動作 MB91460N シリーズ 34.5.2 内部クロック / ワンショットモード ワンショットモードでは , ワンショットパルスが出力されます。 図 34.5-2 ワンショットモードのリロードタイマ動作 (1) データリロード TMRLR [リロードレジスタ設定値+1] カウント カウントクロック カウンタ (5) カウント開始 データ リロード (7) -1 FFFFH 0000H (10) FFFFH データ リロード -1 (2) CNTE ビット (4) 起動トリガ (ソフトまたは外部イベント) T = CLKP (5) データロード (8) アンダフロー TOT 出力波形 OUTL=0 (6) (9) (3) (10) OUTL=1 1回だけ出力 RELD=0の場合 (1) リロードレジスタへのリロード値の設定 (2) リロードタイマのカウント動作の許可 (3) TOT 端子出力 (4) リロードトリガ ( ソフトトリガまたは外部イベントトリガ ) の生成 ( 起動 ) (5) リロード値のロード (6) 方形波出力 ( カウント中 , "H" 出力 /OUTL=0) (7) カウンタによるカウントダウン ( 内部クロック同期 ) (8) カウンタアンダフローの生成 (9) TOT 端子出力レベルの復帰 (10) カウント停止 , 次の起動トリガの待機 (「34.8 注意事項」を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 565 第 34 章 リロードタイマ 34.5 動作 MB91460N シリーズ 34.5.3 外部イベントクロックリロードモード 外部イベントリロードモードでは , 外部イベントがカウントされ , デューティ比が 50% のパルスが出力されま す。 図 34.5-3 外部イベントクロックでのリロードモード動作 (1) データリロード TMRLR [リロードレジスタ設定値+1] カウント 外部イベント(クロック) (5) カウント開始 カウンタ FFFFH データ (7) -1 リロード (10) 0000H データ ロード -1 データ 0000H リロード -1 (2) CNTE ビット 0 (分) (4) 起動トリガ (ソフトのみ) T = CLKP (10) (5) データロード (8) アンダフロー TOT 出力波形 (3) OUTL=0 (6) トグル出力 (9) OUTL=1 繰り返し RELD=1の場合 (1) リロードレジスタへのリロード値の設定 (2) リロードタイマのカウント動作の許可 (3) TOT 端子出力 (4) リロードトリガ ( ソフトウェアトリガのみ ) の生成 ( 起動 ) (5) リロード値のロード (6) TOT 端子出力 ( 初期値 ) (7) カウンタによるカウントダウン ( 外部イベント同期 ) (9) TOT 端子出力レベル反転 (10) リロード値のリロード (11) ステップ (6) ∼ (9) の繰り返し (「34.8 注意事項」を参照してください。) 566 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.5 動作 MB91460N シリーズ 34.5.4 外部イベントクロック / ワンショットモード 外部イベントワンショットモードでは , 外部イベントがカウントされ , ワンショットパルスが出力されます。 図 34.5-4 外部イベントクロックでのワンショットモード動作 (1) データリロード TMRLR カウント [リロードレジスタ設定値+1] 外部イベントクロック (5) CNTEビット 起動トリガ (ソフトのみ) カウント開始 データ カウンタ FFFFH リロード (7) -1 0000H (10)FFFFH データ リロード -1 (2) (4) T = CLKP データロード (5) (8) アンダフロー (6) TOT 出力波形 OUTL=0 (9) (3) (10) OUTL=1 RELD=0の場合 1回だけ出力 (1) リロードレジスタへのリロード値の設定 (2) リロードタイマのカウント動作の許可 (3) TOT 端子出力 (4) リロードトリガ ( ソフトトリガのみ ) の生成 ( 起動 ) (5) リロード値のロード (6) TOT 端子出力 ( カウント中 , 出力 "H"/OUTL=0) (7) カウンタによるカウントダウン ( 外部イベントにより ) (8) カウンタアンダフローの生成 (9) TOT 端子出力反転 (10) カウンタ停止 , 次の起動トリガの待機 <注意事項> 最初のリロードは , 最大で 1T (T:カウントクロック ) 遅延します。 34.5.5 リセット中の動作 リセット (INITX 信号 , ウォッチドッグリセット , ソフトウェアリセットでのリセット ) によって , リロードタ イマのレジスタが初期化されます。リロードレジスタの初期値は , 不定です。 初期値の詳細については , レジスタの説明を参照してください。 34.5.6 スリープモード中の動作 スリープモードに遷移した後も , リロードタイマの動作は継続します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 567 第 34 章 リロードタイマ 34.5 動作 MB91460N シリーズ 34.5.7 ストップモード中の動作 ストップモードに遷移した場合 , リロードタイマの動作は停止します。 その後 , ストップモードから復帰すると , ストップモードへの遷移前の状態に戻ります。 34.5.8 ストップモードからの復帰時の動作 外部割込みが原因で復帰した場合 , リロードタイマは , 停止された状態から動作を継続します。 リセット (INITX 信号 ) から復帰した場合 , 初期状態 ( ダウンカウンタ停止 , TOT 端子出力なし ) に戻ります。 34.5.9 状態遷移 カウンタの状態は , リロードタイマ制御レジスタの CNTE ビットおよび内部 WAIT 信号によって決定されます。 設定可能な状態は , 以下のとおりです。 STOP 状態:停止 (CNTE=0, WAIT=1) WAIT 状態:起動トリガ待機 (CNTE=1, WAIT=1) RUN 状態:カウント動作中 (CNTE=1, WAIT=0) LOAD 状態:カウンタへの値のロード中 (RUN/WAIT, TRG=1 またはアンダフローから:CNTE=1, WAIT=0) 図 34.5-5 状態遷移図 ハードウェアからの状態遷移 リセット レジスタアクセスからの状態遷移 STOP CNTE=0,WAIT=1 カウンタ: 停止時に 値を保持 リセット後不定 CNTE=1 TRG=0 WAIT CNTE=1 TRG=1 CNTE=1,WAIT=1 カウンタ: 停止時に値を保持 リセット後にロード されるまで不定 TRG=1 RUN CNTE=1,WAIT=0 カウンタ: 動作 RELD . UF TRG=1 LOAD CNTE=1,WAIT=0 カウンタへのリロード レジスタの内容のロード RELD-UF ロード終了 568 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.6 設定 MB91460N シリーズ 34.6 設定 表 34.6-1 リロードタイマの動作 ( 内部クロック動作 ) に必要な設定 設定 設定レジスタ リロードレジスタ (TMRLR0 ∼ TMRLR3,TMRLR7) リロード値設定 設定手順* 34.7.1 項 カウントクロック選択 ( 内部クロック選択 ) 34.7.2 項 リロードタイマのカウント動作の許可 34.7.3 項 モード選択 ( リロード / ワンショット ) 34.7.4 項 リロードタイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR3,TMCSR7) 出力反転指定 リロードトリガ選択 ( 起動選択 ) ソフトトリガ 外部トリガ ( 立上りエッジ / 立下りエッジ / 両エッジ ) 34.7.6 項 TOT0 ∼ TOT3 端子出力 ( エクストラ ) ポート機能レジスタ (PFR15.0 ∼ PFR15.3 および EPFR15.0 ∼ EPFR15.3) 起動トリガの生成 − ソフトトリガ リロードタイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR3,TMCSR7) → ソフトウェアトリガビット設定 外部トリガ →TIN 端子への入力トリガ 34.7.5 項 34.7.8 項 34.7.10 項 外部入力 * 設定手順は , 番号で指定された項を参照してください。 表 34.6-2 リロードタイマの動作 ( 外部イベント動作 ) に必要な設定 設定 設定レジスタ リロードレジスタ (TMRLR0 ∼ TMRLR3,TMRLR7) リロード値設定 設定手順* 34.7.1 項 カウントクロック選択 ( 外部イベントクロック選択 ) 34.7.2 項 リロードタイマのカウント動作の許可 34.7.3 項 モード選択 ( リロード / ワンショット ) リロードタイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR3,TMCSR7) 出力反転指定 外部イベントクロックアクティブエッジ選択 ( 立上りエッジ / 立下りエッジ / 両エッジ ) 34.7.4 項 34.7.5 項 34.7.7 項 TOT0-TOT3 端子出力 ( エクストラ ) ポート機能レジスタ (PFR15.0 ∼ PFR15.3 および EPFR15.0 ∼ EPFR15.3) 34.7.8 項 TIN0-TIN3 端子外部イベント入力 ポート機能レジスタ (PFR14.0 ∼ PFR14.3) 34.7.9 項 起動トリガの生成 ソフトトリガ → ソフトウェアトリガビット設定 リロードタイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR3,TMCSR7) 34.7.10 項 * 設定手順は , 番号で指定された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 569 第 34 章 リロードタイマ 34.6 設定 MB91460N シリーズ 表 34.6-3 リロードタイマ割込みの実行に必要な項目 設定 設定レジスタ リロードタイマ割込みベクタ リロードタイマ割込みレベル設定 「第 21 章 割込み制御」を参照 リロードタイマ割込み設定 割込み要求クリア 割込み要求の許可 リロードタイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR3,TMCSR7) 設定手順* 34.7.11 項 34.7.12 項 * 設定手順は , 番号で指定された項を参照してください。 表 34.6-4 リロードタイマの停止に必要な設定 設定 設定レジスタ リロードタイマストップビット設定 リロードタイマ制御ステータスレジスタ (TMCSR0 ∼ TMCSR3,TMCSR7) 設定手順* 34.7.13 項 * 設定手順は , 番号で指定された項を参照してください。 570 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.7 Q & A MB91460N シリーズ 34.7 Q & A 34.7.1 リロード値設定 ( 書換え ) 手順とは ? リロード値は , 16 ビットリロードレジスタ (TMRLR0 ∼ TMRLR3,TMRLR7) によって設定されます。 設定される値の計算式は , 以下のとおりです。 • 式 TMRLR レジスタ値 = [ リロードインターバル / カウントクロック ] − 1 • 設定可能な範囲 TMRLR レジスタ値 =0 ∼ FFFFH (65535) 34.7.2 カウントクロックの種類と選択方法は ? カウントクロックは , 以下の表の 4 種類から選択可能です。 カウントクロックを選択するには , カウントクロック選択ビットを使用します。 表 34.7-1 TMCSR:CSL2 ∼ CSL0 カウント クロック カウンタクロック選択 ビット カウントクロック例 CSL2 CSL1 CSL0 CLKP= 32MHz 時 CLKP= 16MHz 時 CLKP= 8MHz 時 CLKP 2 分周 0 0 0 62.5ns 125ns 250ns CLKP 8 分周 0 0 1 250ns 500ns 1.0μs CLKP 32 分周 0 1 0 1.0μs 2.0μs 4.0μs 外部イベント 0 1 1 CLKP 64 分周 1 0 1 2.0μs 4.0μs 8.0μs CLKP 128 分周 1 1 0 4.0μs 8.0μs 16.0μs 1 0 0 − 1 1 1 − 設定禁止 * パルス幅:2/CLKP ( 最小 ) *「34.8 注意事項」を参照してください。 34.7.3 リロードタイマのカウント動作を許可 / 禁止するには ? タイマカウント許可ビット (TMCSR:CNTE) を使用します。 制御内容 RLT 動作許可ビット (CNTE) リロードタイマの停止 "0" に設定 リロードタイマのカウント動作の許可 "1" に設定 停止状態からは再開不可能です。起動より前 , または起動と同時に許可するようにしてください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 571 第 34 章 リロードタイマ 34.7 Q & A MB91460N シリーズ 34.7.4 リロードタイマモード ( リロード / ワンショット ) を設定するには ? モード選択ビット (TMCSR:RELD) を使用します。 動作モード モード選択ビット (RELD) ワンショットモードの設定 "0" に設定 リロードの設定 "1" に設定 34.7.5 出力レベルを反転するには ? 以下の表に , 出力レベルの設定の詳細を示します。 設定は , タイマ出力レベルビット (TMCSR:OUTL) を使用して行います。 出力レベル タイマ出力レベルビット (OUTL) リロードモード , 初期値 "L" レベル出力 "0" に設定 リロードモード , 初期値 "H" レベル出力 ( 反転 ) "1" に設定 ワンショットモード , カウント "H" レベル出力 "0" に設定 ワンショットモード , カウント "L" レベル出力 ( 反転 ) "1" に設定 572 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.7 Q & A MB91460N シリーズ 34.7.6 トリガの種類と選択方法は ? • トリガを選択するには , トリガ選択ビット (TMCSR:MOD2 ∼ MOD0) を使用します。 内部クロックを選択した場合のリロードトリガには , 4 種類あります。 トリガ指定ビット (MOD2 ∼ MOD0) トリガ ソフトウェアトリガ (TRG ビット設定 ) "000B" に設定 TINx 端子からの外部トリガ ( 立上りエッジ ) "001B" に設定 TINx 端子からの外部トリガ ( 立下りエッジ ) "010B" に設定 TINx 端子からの外部トリガ ( 両エッジ ) "011B" に設定 "100B", "101B", "110B", "111B" は禁止されています。* − ダウンカウンタアンダフローでは , リロードが繰り返されます。 「34.8 注意事項」を参照してください。 • 外部イベントが選択されている場合のリロードトリガ ( 起動 ) は , ソフトウェアトリガになります。 ダウンカウンタアンダフローでは , リロードが繰り返されます。 34.7.7 外部イベントクロックアクティブエッジの種類と選択方法は ? 設定は , トリガ選択ビット (TMCSR:MOD1, MOD0) を使用して行います。 アクティブエッジには , 次の 3 種類があります。 アクティブエッジ トリガ選択ビット (MOD1, MOD0) 立上りエッジ "01B" に設定 立下りエッジ "10B" に設定 両エッジ "11B" に設定 設定が "0" または "1" でも , MOD2 設定には意味がありません。 34.7.8 端子を TOT 出力端子にするには ? ポートを TOT 端子出力に変更するには , TOT 出力選択ビット (PFR15/EPFR15) に "1" を書き込みます。 端子 制御ビット TOT0 端子 PFR15.0 = 1 EPFR15.0 = 1 TOT1 端子 PFR15.1 = 1 EPFR15.1 = 1 TOT2 端子 PFR15.2 = 1 EPFR15.2 = 1 TOT3 端子 PFR15.3 = 1 EPFR15.3 = 1 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 573 第 34 章 リロードタイマ 34.7 Q & A MB91460N シリーズ 34.7.9 TIN 端子を外部イベント入力端子または外部トリガ入力端子にするには ? ポートを TIN 端子入力に変更するには , TIN 入力選択ビット (PFR14) に "1" を書き込みます。 端子 制御ビット TIN0 端子 PFR14.0 = 1 − TIN1 端子 PFR14.1 = 1 − TIN2 端子 PFR14.2 = 1 − TIN3 端子 PFR14.3 = 1 − 34.7.10 起動トリガを生成するには ? • ソフトウェアトリガの生成 設定は , ソフトウェアトリガビット (TMCSR:TRG) を使用して行います。 ソフトウェアトリガビット (TRG) が "1" に設定されると , トリガが生成されます。 動 作 と 起 動 を 同 時 に 許 可 す る に は , カ ウ ント許可ビット (TMCSR:CNTE) およびソフトウェアトリガビット (TMCSR:TRG) を同時に設定します。 • 外部トリガの生成 トリガ選択ビットで指定されているエッジを , 各リロードタイマに対応しているトリガ端子に入力すると , トリガが生 成されます。 574 タイマ トリガ端子 リロードタイマ 0 TIN0 リロードタイマ 1 TIN1 リロードタイマ 2 TIN2 リロードタイマ 3 TIN3 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 34 章 リロードタイマ 34.7 Q & A MB91460N シリーズ 34.7.11 割込み関連レジスタとは ? 以下の表に , リロードタイマ番号 , 割込みレベル , 割込みベクタ , 制御レジスタなどの間の関係を示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 タイマ 割込みベクタ ( 初期値 ) リロードタイマ 0 #32 アドレス:0FFF7CH リロードタイマ 1 #33 アドレス:0FFF78H リロードタイマ 2 #34 アドレス:0FFF74H リロードタイマ 3 #35 アドレス:0FFF70H リロードタイマ 7 #39 アドレス:0FFF60H 割込みレベル設定ビット (ICR4 ∼ ICR0) 割込みレベルレジスタ (ICR08) アドレス:000448H 割込みレベルレジスタ (ICR09) アドレス:000449H 割込みレベルレジスタ (ICR11) アドレス:00044BH 割込み要求フラグ (TMCSR0:UF) ∼ (TMCSR3:UF),(TMCSR7:UF) は自動的にクリアされないため , 割込み処理 から復帰する場合は , UF ビットを "0" に設定してリセットしておく必要があります。 34.7.12 割込みを許可するには ? 割込み , 割込み要求フラグの許可 割込みの許可は , 割込み要求許可ビット (TMCSR0:INTE) ∼ (TMCSR3:INTE),(TMCSR7:INTE) を使用して行い ます。 割込み要求許可ビット (INTE) 割込み要求の禁止 "0" に設定 割込み要求の許可 "1" に設定 割込み要求のクリアは , 割込み要求ビット (TMCSR0:UF) ∼ (TMCSR03:UF),(TMCSR7:UF) を使用して行いま す。 割込み要求ビット (UF) "0" に設定 割込み要求の禁止 34.7.13 リロードタイマを停止するには ? この設定は , リロードタイマストップビットを使用して行います。 「34.7.3 リロードタイマのカウント動作を許可 / 禁止するには ?」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 575 第 34 章 リロードタイマ 34.8 注意事項 MB91460N シリーズ 34.8 注意事項 • 表に含まれないカウントソース選択ビット (TMCSR:CSL2 ∼ CSL0) の設定 "100B" および "111B" は , 禁止されて います。 これらの設定が行われている場合は , リロードタイマ動作を禁止してから , カウントソース選択ビットをリ セットしてください。 • 動作モードビット (TMCSR:MOD2) は , "0" に設定する必要があります。このビットが "1" に設定されている場 合は , リロードタイマカウント動作を禁止してから , ビットをリセットしてください。また , 読出し値は , 読出 し / 変更 / 書込みアクセス中に書き込まれた値になることがあります。 • 制御ビット ( カウントソース選択 , 動作モード , リロード許可 ) は , 動作中に書き換えられないようにする必 要があります。 動作中に制御ビットが設定されている場合は , リロードタイマカウント動作を禁止してから , これらの ビットをリセットしてください。 • ダウンカウンタにリロード値がロードされるには , 起動タイミングから T サイクルを要します。 ( サイクル =1/CLKP, CLKP= 周辺クロック ) • 出力信号の内部接続について • リロードタイマ TOT0 ∼ TOT3 出力は , PPG0 ∼ PPG3 内部トリガ入力に接続されます。 • リロードタイマ TOT7 出力は , A/D コンバータ 0 トリガ入力に接続されます。 • カウントクロック選択ビット (CSL2∼CSL0), 動作モード選択ビット (MOD2∼MOD0), 出力レベル設定ビッ ト (OUTL), リロード許可ビット (RELD), およびタイマ割込み要求許可ビット (INTE) の書換えは , リロードタ イマが停止 (TMCSR:CNTE=0) されているときに行う必要があります。 • タイマカウント許可ビット (TMCSR:CNTE) が "1" に設定されている場合は , 事前に内蔵プリスケーラが 設定されている必要があります。 • 割込み要求フラグセットタイミングとクリアタイミングが重複した場合は , フラグ設定が優先され , クリア 動作は無効になります。 • リロードレジスタおよびリロードタイミングへの書込みが重複した場合は , 古いデータがカウンタにロード されます。新しいデータは , 次回のリロードタイミングでロードされます。 • タイマレジスタのロードとカウントが重複した場合は , ロード ( リロード ) 動作が優先されます。 • カウント動作を開始すると同時にカウントを許可する場合は , タイマカウント許可ビット (TMCSR:CNTE) とソフトウェアトリガビット (TMCSR:TRG) の両方を "1" に設定します。 576 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.1 概要 MB91460N シリーズ 第 35 章 プログラマブルパルスジェネレータ 35.1 概要 プログラマブルパルスジェネレータ (PPG) は , ワンショット ( 方形波 ) 出力またはパルス幅変調 (PWM) 出力 を行うために使用します。PPG にはソフトウェアプログラマブルサイクルおよびデューティ機能があり , さま ざまな用途で使用できます。 図 35.1-1 プログラマブルパルスジェネレータの構成 周期値 リロード ボロー ダウンカウンタ カウントクロック 一致 出力値 反転 端子 ラッチ バッファ デューティ値 35.2 特長 • 出力波形:PPG では , 以下の 6 種類の波形を生成できます。 • PWM 波形 通常極性: 反転極性: L H L L H H L H H L • ワンショット波形 ( 方形波 ) 通常極性: L H L 反転極性: H L H • クランプ出力 通常極性:"L" クランプ出力 反転極性:"H" クランプ出力 • 個数:2 グループ ( 出力:8 チャネル PPG0 ∼ PPG7) • カウントクロック:以下の 4 つの選択肢から選択可能 周辺クロック (CLKP) の 1 分周 , 4 分周 , 16 分周 , 64 分周 • 周期:設定範囲 = デューティ値∼ 65535 (16 ビットレジスタで指定 ) 周期 = カウントクロック × (PCSR レジスタ値+ 1) ( 例 ) カウントクロック = 32MHz (31.25ns), PCSR 値 = 63999 周期 = 31.25ns × (63999 + 1) = 2ms CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 577 第 35 章 プログラマブルパルスジェネレータ 35.2 特長 MB91460N シリーズ • デューティ:設定範囲 = 0 ∼周期値 (16 ビットレジスタで指定 ) デューティ = カウントクロック × (PDUT レジスタ値+ 1) • 割込み:以下の 4 つの選択肢から選択 • ソフトウェアトリガ • カウンタボロー ( 周期一致 ) • デューティマッチ • カウンタボロー ( 周期一致 ) またはデューティマッチ • 起動トリガ: • ソフトウェアトリガ • 内部トリガ リロードタイマ出力× 0 (TOT0) PPG0 ∼ PPG3 のトリガとして使用可能 リロードタイマ出力× 1 (TOT1) PPG0 ∼ PPG3 のトリガとして使用可能 リロードタイマ出力× 2 (TOT2) PPG4 ∼ PPG7 のトリガとして使用可能 リロードタイマ出力× 3 (TOT3) PPG4 ∼ PPG7 のトリガとして使用可能 • 外部トリガ ポート GP14_0 (ICU0, RLT0 ext-trig) PPG0 ∼ PPG3 のトリガとして使用可能 ポート GP14_1 (ICU1, RLT1 ext-trig) PPG0 ∼ PPG3 のトリガとして使用可能 ポート GP14_2 (ICU2, RLT2 ext-trig) PPG0 ∼ PPG3 のトリガとして使用可能 ポート GP14_3 (ICU3, RLT3 ext-trig) PPG0 ∼ PPG3 のトリガとして使用可能 578 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.3 構成 MB91460N シリーズ 35.3 構成 図 35.3-1 構成図 PPG (0~3) MDSE PCNH: bit13 0 PWM動作 1 ワンショット PDUT バッファ バッファ CLKP CLKP/4 CLKP/16 CLKP/64 周辺 クロック (CLKP) PGMS OSEL 0 0 1 0 1 0 1 1 デューティマッチ OR ポートデータ レジスタより 出力レベル (ラッチ) コンペア 読出し専用 ダウンカウンタ プリスケーラ PTMR TSEL03~TSEL00 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 - 0 1 0 1 0 1 - CM71-10149-1 セレクタ EN2 GCN20: bit2 EN3 GCN20: bit3 リロードタイマch.0 リロードタイマch.1 PCNH: bit12 再起動禁止 再起動許可 ボロー GCN10: bit3~bit0 GCN20 EN0 ビット GCN20 EN1 ビット GCN20 EN2 ビット GCN20 EN3 ビット 16ビットリロードタイマch.0 16ビットリロードタイマch.1 設定禁止 外部トリガ 設定禁止 EN0 GCN20: bit0 EN1 GCN20: bit1 RTRG 0 1 制御 回路 デューティ マッチ トリガ トリガ OR セレクタ トリガ選択 PPG0/P17.0 PPG1/P17.1 PPG2/P17.2 PPG3/P17.3 0 1 PPG0 PFR4: bit0 PPG1 PFR4: bit1 PPG2 PFR4: bit2 PPG3 PFR4: bit3 0 汎用ポート 1 PPG出力 ボロー 動作許可/停止 CNTE PCNH: bit15 停止 0 動作許可 1 PCNH: bit9、PCNL: bit0 通常出力 反転出力 クランプL出力 クランプH出力 ポート読出し リロード CKS1,CKS0 PCNH: bit11,bit10 0 1 0 1 デューティ値 許可 PCSR カウントクロック 0 0 1 1 書込み専用 書込みのみ 許可 周期値 IREN 0 1 PCNL: bit5 割込み禁止 割込み許可 IRQF PCNL: bit4 1 0 割り込み要求なし 1 割込み要求 """0""の書込み: フラグクリア" PPG0 割込み要因の選択 PCNL: bit3、bit2 0 ソフトウェアトリガまたはトリガ入力が使用可能 1 カウンタボロー 0 デューティマッチ 1 カウンタボローまたはデューティマッチ 割込み 要求 0 OR PPG0/PPG1 割込み (#112/#113) OR PPG2/PPG3 割込み (#114/#115) PPG1 割込み 要求 IRS1,IRS0 PCNH: bit14 STGR 0 1 エッジ 選択 エッジ選択 0 1 0 1 ソフトウェアトリガ 読出し: 常に'0' EGS1,EGS0 PCNL: bit7、bit6 0 0 1 1 動作に影響なし 動作に影響なし 立上りエッジ 立下りエッジ 両エッジ 0 0 1 1 レジスタ番号 PPG タイマ 周期設定 0 1 2 3 PTMR0 PTMR1 PTMR2 PTMR3 PCSR0 PCSR1 PCSR2 PCSR3 PPG2 割込み 要求 PPG3 割込み 要求 制御 制御 デューティ ステータスH ステータスL 端子 設定 PDUT0 PCNH0 PCNL0 PPG0 PDUT1 PCNH1 PCNL1 PPG1 PDUT2 PCNH2 PCNL2 PPG2 PDUT3 PCNH3 PCNL3 PPG3 FUJITSU MICROELECTRONICS LIMITED 579 第 35 章 プログラマブルパルスジェネレータ 35.3 構成 MB91460N シリーズ 図 35.3-2 レジスタ一覧 PPG0 アドレス 000110H bit 15 14 13 12 11 10 9 8 7 16ビット(読出し専用) 000112H 16ビット(書込み専用) 000114H 16ビット(書込み専用) 5 4 3 2 1 0 PTMR0(PPGタイマレジスタ0) PCSR0(PPG周期設定レジスタ0) CNTE STGR MDSE RTRG CKS1 CKS0 PGMS 000100H TSEL33 TSEL32 TSEL31 TSEL30 TSEL23 TSEL22 TSEL21 TSEL20 TSEL13 TSEL12 TSEL11 TSEL10 TSEL03 TSEL02 TSEL01 TSEL00 bit 000D91H 000470H 7 --- 6 --- 5 --- 4 --- 3 EN3 2 EN2 1 EN1 0 EN0 PPG7 PPG6 PPG5 PPG4 PPG3 PPG2 PPG1 PPG0 --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 0FFE3CH EGS1 EGS0 IREN IRQF IRS1 IRS0 PDUT0 (PPG デューティ設定レジスタ 0) PCNH0、PCNL0 OSEL (PPG 制御ステータスレジスタ 0) 000116H 000103H --- 6 --- GCN1(汎用制御レジスタ1) GCN20(汎用制御レジスタ2) PFR17(ポート機能レジスタ17) ICR48(割込みレベルレジスタPPG0/1) PPG0割込み ベクタ(#112) 32ビット PPG1 アドレス 000118H bit 15 14 13 12 11 10 9 8 7 16ビット(読出し専用) 00011AH 16ビット(書込み専用) 00011CH 16ビット(書込み専用) 00011EH CNTE STGR MDSE RTRG CKS1 CKS0 PGMS 000100H TSEL33 000103H 000D91H 000470H bit 7 --- --- TSEL32 TSEL31 TSEL30 TSEL23 TSEL22 TSEL21 TSEL20 6 --- 5 --- 4 --- 3 EN3 2 EN2 1 EN1 0 EN0 6 5 4 3 2 1 0 PTMR1(PPGタイマレジスタ1) PCSR1(PPG周期設定レジスタ1) PDUT1 (PPG デューティ設定レジスタ 1) EGS1 EGS0 IREN IRQF IRS1 IRS0 --- OSEL TSEL13 TSEL10 TSEL03 TSEL02 TSEL01 TSEL00 TSEL12 TSEL11 PCNH1、PCNL1 (PPG制御ステータスレジスタ1) GCN1(汎用制御レジスタ1) GCN20(汎用制御レジスタ2) PPG7 PPG6 PPG5 PPG4 PPG3 PPG2 PPG1 PPG0 PFR17(ポート機能レジスタ17) --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 0FFE38H ICR48(割込みレベルレジスタPPG0/1) PPG1割込み ベクタ(#113) 32ビット PPG2 アドレス bit 15 000120H 14 13 12 11 10 9 8 7 16ビット(読出し専用) 000122H 16ビット(書込み専用) 000124H 16ビット(書込み専用) 000126H 000100H 000103H 000D91H 000471H CNTE STGR MDSE RTRG CKS1 CKS0 PGMS TSEL33 bit 7 --- --- TSEL32 TSEL31 TSEL30 TSEL23 TSEL22 TSEL21 TSEL20 6 --- 5 --- 4 --- 3 EN3 2 EN2 1 EN1 0 EN0 PPG7 PPG6 PPG5 PPG4 PPG3 PPG2 PPG1 PPG0 --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 0FFE34H 6 5 4 3 2 1 0 PTMR2(PPGタイマレジスタ2) PCSR2(PPG周期設定レジスタ2) PDUT2 (PPG デューティ設定レジスタ 2) EGS1 EGS0 IREN IRQF IRS1 IRS0 --- OSEL TSEL13 TSEL10 TSEL03 TSEL02 TSEL01 TSEL00 TSEL12 TSEL11 PCNH2、PCNL02 (PPG 制御ステータスレジスタ 2) GCN1(汎用制御レジスタ1) GCN20(汎用制御レジスタ2) PFR17(ポート機能レジスタ17) ICR49(割込みレベルレジスタPPG2/3) PPG2割込み ベクタ(#114) 32ビット PPG3 アドレス 000128H bit 15 14 13 12 11 10 9 8 7 16ビット(読出し専用) 00012AH 16ビット(書込み専用) 00012CH 16ビット(書込み専用) 00012EH 000100H 000103H 000D91H 000471H 0FFE30H CNTE STGR MDSE RTRG CKS1 CKS0 PGMS TSEL33 bit 7 --- --- TSEL32 TSEL31 TSEL30 TSEL23 TSEL22 TSEL21 TSEL20 6 --- 5 --- 4 --- 3 EN3 2 EN2 1 EN1 0 EN0 PPG7 PPG6 PPG5 PPG4 PPG3 PPG2 PPG1 PPG0 --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 6 5 4 3 2 1 0 PTMR3(PPGタイマレジスタ3) PCSR3(PPG周期設定レジスタ3) EGS1 EGS0 IREN IRQF IRS1 IRS0 --- TSEL13 TSEL10 TSEL03 TSEL02 TSEL01 TSEL12 TSEL11 PDUT3 (PPG デューティ設定レジスタ 3) PCNH3、PCNL3 OSEL (PPG 制御ステータスレジスタ 3) TSEL00 GCN1(汎用制御レジスタ1) GCN20(汎用制御レジスタ2) PFR17(ポート機能レジスタ17) ICR49(割込みレベルレジスタPPG2/3) 32ビット PPG3割込み ベクタ(#115) 注意 : ICR レジスタや割込みベクタの詳細については , 「第 21 章 割込み制御」を参照してください。 580 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ 35.4 レジスタ 35.4.1 PCSR:PPG 周期設定レジスタ PPG の周期を制御します。 • • • • • • • • PCSR0 (PPG0) :アドレス 000112H ( アクセス:ハーフワード ) PCSR1 (PPG1) :アドレス 00011AH ( アクセス:ハーフワード ) PCSR2 (PPG2) :アドレス 000122H ( アクセス:ハーフワード ) PCSR3 (PPG3) :アドレス 00012AH ( アクセス:ハーフワード ) PCSR4 (PPG4) :アドレス 000132H ( アクセス:ハーフワード ) PCSR5 (PPG5) :アドレス 00013AH ( アクセス:ハーフワード ) PCSR6 (PPG6) :アドレス 000142H ( アクセス:ハーフワード ) PCSR7 (PPG7) :アドレス 00014AH ( アクセス:ハーフワード ) bit bit 15 D15 X RX,W 7 D7 X RX,W 14 13 12 11 10 9 8 D14 X RX,W D13 X RX,W D12 X RX,W D11 X RX,W D10 X RX,W D9 X RX,W D8 X RX,W 6 5 4 3 2 1 0 D6 X RX,W D5 X RX,W D4 X RX,W D3 X RX,W D2 X RX,W D1 X RX,W D0 X RX,W 初期値 属性 初期値 属性 属性については ,「ビット属性シンボルの意味」を参照してください。 • PPG 周期設定レジスタはバッファリングされます。バッファからカウンタへの転送は , カウンタの オーバフローまたはアンダフロー時に自動的に行われます。 • PPG 周期設定レジスタに書込みが行われた後 , PPG デューティ設定レジスタ (PDUT) を設定する必要が あります。 • PPG 周期設定レジスタには , 常にハーフワード (16 ビット ) 形式でアクセスします。 (「35.8 注意事項」を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 581 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ 35.4.2 PDUT:PPG デューティ設定レジスタ PPG 出力波形のデューティを設定します。 • • • • • • • • PDUT0 (PPG0) :アドレス 000114H ( アクセス:ハーフワード ) PDUT1 (PPG1) :アドレス 00011CH ( アクセス:ハーフワード ) PDUT2 (PPG2) :アドレス 000124H ( アクセス:ハーフワード ) PDUT3 (PPG3) :アドレス 00012CH ( アクセス:ハーフワード ) PDUT4 (PPG4) :アドレス 000134H ( アクセス:ハーフワード ) PDUT5 (PPG5) :アドレス 00013CH ( アクセス:ハーフワード ) PDUT6 (PPG6) :アドレス 000144H ( アクセス:ハーフワード ) PDUT7 (PPG7) :アドレス 00014CH ( アクセス:ハーフワード ) bit 15 D15 X RX,W bit 7 D7 X RX,W 14 13 12 11 10 9 8 D14 X RX,W D13 X RX,W D12 X RX,W D11 X RX,W D10 X RX,W D9 X RX,W D8 X RX,W 6 5 4 3 2 1 0 D6 X RX,W D5 X RX,W D4 X RX,W D3 X RX,W D2 X RX,W D1 X RX,W D0 X RX,W 初期値 属性 初期値 属性 属性については ,「ビット属性シンボルの意味」を参照してください。 • PPG デューティ設定レジスタはバッファリングされます。バッファからカウンタへの転送は , カウンタの オーバフローまたはアンダフロー時に自動的に行われます。 • PPG デューティ設定レジスタには , PPG 周期設定レジスタ (PCSR) の設定よりも小さい値を設定してくだ さい。 (「35.8 注意事項」を参照してください。) • PPG デューティ設定レジスタに , PPG 周期設定レジスタ (PCSR) の設定と同じ値を設定すると , 以下のように なります。 • 通常極性時には , (OSEL=0) の場合常に "H" が出力されます。 • 反転極性時には , (OSEL=1) の場合常に "L" が出力されます。 (OSEL ビットは , PPG 制御レジスタ (PCN) の出力極性指定ビットです。) • PPG デューティ設定レジスタには , 常にハーフワード (16 ビット ) 形式でアクセスします。 (「35.8 注意事項」を参照してください。) 582 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ 35.4.3 PCN:PPG 制御ステータスレジスタ PPG の動作とステータスを制御します。 • • • • • • • • PCN0 (PPG0) :アドレス 000116H ( アクセス:バイト , ハーフワード ) PCN1 (PPG1) :アドレス 00011EH ( アクセス:バイト , ハーフワード ) PCN2 (PPG2) :アドレス 000126H ( アクセス:バイト , ハーフワード ) PCN3 (PPG3) :アドレス 00012EH ( アクセス:バイト , ハーフワード ) PCN4 (PPG4) :アドレス 000136H ( アクセス:バイト , ハーフワード ) PCN5 (PPG5) :アドレス 00013EH ( アクセス:バイト , ハーフワード ) PCN6 (PPG6) :アドレス 000146H ( アクセス:バイト , ハーフワード ) PCN7 (PPG7) :アドレス 00014EH ( アクセス:バイト , ハーフワード ) bit 15 CNTE 0 R/W O bit 7 EGS1 0 R/W × 14 13 12 11 10 9 8 STGR 0 R0/W O MDSE 0 R/W × RTRG 0 R/W × CKS1 0 R/W × CKS0 0 R/W × PGMS 0 R/W × − X RX/WX 6 5 4 3 2 1 0 EGS0 0 R/W × IREN 0 R/W O IRQF 0 R(RM1),W O IRS1 0 R/W × IRS0 0 R/W × − X RX/WX OSEL 0 R/W × − − 初期値 属性 動作中の書換え 初期値 属性 動作中の書換え O:書換え可能 , x:書込み不可 属性については ,「ビット属性シンボルの意味」を参照してください。 (「34.8 注意事項」を参照してください。) [bit15] CNTE ( タイマ許可動作 ) CNTE 動作 0 タイマ停止 1 動作許可 このビットによって , PPG の動作が許可されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 583 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ [bit14] STGR ( ソフトウェアトリガ ) STGR 動作 0 書込みによる動作への影響はありません ( 読出し値は常に "0" になります ) 。 1 ソフトウェアトリガ起動 ソフトウェアトリガビットを "1" に設定すると , 内部トリガ (EN ビット , リロードタイマ出力 ) の生成とは別に , PPG を起動するソフトウェアトリガが生成されます。 [bit13] MDSE ( モード選択 ) MDSE モード 0 PWM 動作 1 ワンショット動作 • モード選択ビットを "0" に設定すると , PWM 動作が許可され , 順にパルスが生成されます。 • モード選択ビットを "1" に設定すると , パルス出力は一度だけ行われます。 [bit12] RTRG ( 再起動許可 ) RTRG 動作 0 再起動禁止 1 再起動許可 再起動許可ビットを "1" に設定すると , トリガ ( ソフトウェア / 内部 ) により PPG が再起動します。(PPG が禁止され ていても (CNTE=1))。再起動許可ビットが "0" に設定されている場合には , PPG の機能に影響はありません。 [bit11, bit10] CKS1, CKS0 ( カウントクロック選択 ) CKS1 CKS0 0 0 周辺クロック (CLKP) 0 1 周辺クロックの 4 分周 1 0 周辺クロックの 16 分周 1 1 周辺クロックの 64 分周 ダウンカウンタカウントクロック選択 [bit9] PGMS (PPG 出力マスク選択 ) PGMS 動作 0 出力マスクなし 1 出力マスク ( 出力 "L" レベル ( ラッチ ) :OSEL=0) • PPG 出力マスク選択ビットを "1" に設定すると , モード , サイクル , およびデューティ設定に関係なく , PPG 出力を "L" または "H" に固定できます。 • 出力レベルは , 出力極性指定ビット (PCN:OSEL) を使用して指定できます。 [bit8] 未定義 書込みによる動作への影響はありません。読出し値は , 不定です。 584 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ [bit7, bit6] EGS1, EGS0 ( トリガ入力エッジ選択 ) EGS1 EGS0 0 0 書込みによる動作への影響はありません。 0 1 立上りエッジ 1 0 立下りエッジ 1 1 両エッジ ( 立上りエッジ及び立下りエッジ ) 選択されるエッジ トリガ入力エッジ選択ビット (EGS[1:0]) を使用して , トリガ指定ビット PPG3 ∼ PPG0 の (GCN10[15:12]), (GCN10[11:8]), (GCN10[7:4]), (GCN10[3:0]), PPG7 ∼ PPG4 の (GCN11[15:12]), (GCN11[11:8]), (GCN11[7:4]), (GCN11[3:0]), で選択されたトリガ入力の起動をトリガするエッジを選択します。 [bit5] IREN ( 割込み要求許可 ) IREN 動作 0 割込み要求禁止 1 割込み要求許可 [bit4] IRQF ( 割込み要求フラグ ) IRQF 読出し動作 0 割込み要求なし 割込み要求フラグのクリア 1 割込み要求あり 書込みによる動作への影響なし 書込み動作 割込み要求フラグ (IRQF) が "1" で , 同時にフラグに "0" を書き込むと , 割込み要求フラグ (IRQF=1) の設定が 優先されます。 [bit3, bit2] IRS1, IRS0 ( 割込み要因の選択 ) IRS1 IRS0 0 0 ソフトウェアトリガまたはトリガ入力 0 1 カウンタボロー 1 0 カウンタとデューティ値が一致 1 1 カウンタボロー , またはカウンタとデューティ値が一致 選択 • 割込み要求を発生させる動作を設定します。 [bit1] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は , 不定です。 [bit0] OSEL (PPG 出力極性指定 ) OSEL 0 CM71-10149-1 動作 通常極性 FUJITSU MICROELECTRONICS LIMITED 585 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ OSEL 1 MB91460N シリーズ 動作 反転極性 PPG 出力マスク選択ビット (PCN:PGMS) が "1" に設定されている場合 , 出力極性指定ビット (OSEL) が "0" に設定され ていると , 出力は "L" に固定され , 出力極性指定ビットが "1" に設定されていると , 出力は "H" に固定されます。 586 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ 35.4.4 GCN1:汎用制御レジスタ 1 PPG0 ∼ PPG3, PPG4 ∼ PPG7 に対するトリガ入力を選択します。 • GCN10 (PPG0 ∼ PPG3) :アドレス 000100H ( アクセス:ハーフワード ) • GCN11 (PPG4 ∼ PPG7) :アドレス 000104H ( アクセス:ハーフワード ) bit 15 TSEL33 0 R/W bit 7 TSEL13 0 R/W 14 13 12 11 10 9 8 TSEL32 0 R/W TSEL31 1 R/W TSEL30 1 R/W TSEL23 0 R/W TSEL22 0 R/W TSEL21 1 R/W TSEL20 0 R/W 6 5 4 3 2 1 0 TSEL12 0 R/W TSEL11 0 R/W TSEL10 1 R/W TSEL03 0 R/W TSEL02 0 R/W TSEL01 0 R/W TSEL00 0 R/W 初期値 属性 初期値 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) PPG4 ∼ PPG7: • GCN11:bit15 ∼ bit12 (TSEL33 ∼ TSEL30) PPG7 トリガ指定 • GCN11:bit11 ∼ bit8 (TSEL23 ∼ TSEL20) PPG6 トリガ指定 • GCN11:bit7 ∼ bit4 (TSEL13 ∼ TSEL10) PPG5 トリガ指定 • GCN11:bit3 ∼ bit0 (TSEL03 ∼ TSEL00) PPG4 トリガ指定 PPG0 ∼ PPG3: • GCN10:bit15 ∼ bit12 (TSEL33 ∼ TSEL30) PPG3 トリガ指定 • GCN10:bit11 ∼ bit8 (TSEL23 ∼ TSEL20) PPG2 トリガ指定 • GCN10:bit7 ∼ bit4 (TSEL13 ∼ TSEL10) PPG1 トリガ指定 • GCN10:bit3 ∼ bit0 (TSEL03 ∼ TSEL00) PPG0 トリガ指定 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 587 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ TSEL MB91460N シリーズ 起動トリガ指定 0 0 0 0 EN0 ビット (GCN2 レジスタ ) 0 0 0 1 EN1 ビット (GCN2 レジスタ ) 0 0 1 0 EN2 ビット (GCN2 レジスタ ) 0 0 1 1 EN3 ビット (GCN2 レジスタ ) 0 1 0 0 16 ビットリロードタイマ 0/2 0 1 0 1 16 ビットリロードタイマ 1/3/7 1 0 0 0 外部トリガ 0 1 0 0 1 外部トリガ 1 1 0 1 0 外部トリガ 2 1 0 1 1 外部トリガ 3 上記以外 禁止 (「35.8 注意事項」を参照してください。) • 指定されている起動トリガにおいて , トリガ入力エッジ選択ビット (PCN:EGS1, EGS0) によって指定さ れているエッジが検出されると , 選択されている PPG0 ∼ PPG7 が起動されます。 • 各チャネルの設定については , 「35.7.7 選択可能な起動トリガと選択方法は ?」を参照してください。 588 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ 35.4.5 GCN2:汎用制御レジスタ 2 ソフトウェアを使用して , PPG0 ∼ PPG3, PPG4 ∼ PPG7 の内部トリガレベルを生成します。 • GCN20 (PPG0 ∼ PPG3) :アドレス 000103H ( アクセス:バイト ) • GCN21 (PPG4 ∼ PPG7) :アドレス 000107H ( アクセス:バイト ) bit 7 6 5 4 3 2 1 0 − 0 R/W0 − 0 R/W0 − 0 R/W0 − 0 R/W0 EN3 0 R/W EN2 0 R/W EN1 0 R/W EN0 0 R/W 初期値 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit4] − : 未定義ビット 常に "0" を書き込みます。書き込まれた値が読出し値になります。 「35.8 ( 注意事項」を参照してください。) [bit3] EN3 (EN3 トリガ入力 ) [bit2] EN2 (EN2 トリガ入力 ) [bit1] EN1 (EN1 トリガ入力 ) [bit0] EN0 (EN0 トリガ入力 ) EN0 ∼ EN3 内部トリガ EN0 ∼ EN3 0 レベルを "L" に設定します。 1 レベルを "H" に設定します。 • 内部トリガ EN0 ∼ EN3 のレベルを設定します。 • PPG0 ∼ PPG3 のトリガ指定ビット (GCN10:TSEL03 ∼ TSEL00, GCN10:TSEL13 ∼ TSEL10, GCN10:TSEL23 ∼ TSEL20, および GCN10:TSEL33 ∼ TSEL30) で EN トリガ入力 (EN0 ∼ EN3) のいず れかが選択されていると , 選択された EN が PPG トリガ入力ビットとして機能します。 • PPG4 ∼ PPG7 のトリガ指定ビット (GCN11:TSEL03 ∼ TSEL00, GCN11:TSEL13 ∼ TSEL10, GCN11:TSEL23 ∼ TSEL20, および GCN11:TSEL33 ∼ TSEL30) で EN トリガ入力 (EN0 ∼ EN3) のいず れかが選択されていると , 選択された EN が PPG トリガ入力ビットとして機能します。 • ソフトウェアによって , トリガ入力ビット ( 選択された EN0 ∼ EN3) を使用して , トリガ入力エッジ選択 ビット (EGS1 ∼ EGS0) で選択されている状態が生成されると , 選択されたものが起動トリガとして機能 し , PPG が起動されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 589 第 35 章 プログラマブルパルスジェネレータ 35.4 レジスタ MB91460N シリーズ 35.4.6 PTMR:PPG タイマレジスタ PPG0 ∼ PPG3, PPG4 ∼ PPG7 のカウントを読み出します。 • • • • • • • • PTMR0 (PPG0) :アドレス 000110H ( アクセス:ハーフワード ) PTMR1 (PPG1) :アドレス 000118H ( アクセス:ハーフワード ) PTMR2 (PPG2) :アドレス 000120H ( アクセス:ハーフワード ) PTMR3 (PPG3) :アドレス 000128H ( アクセス:ハーフワード ) PTMR4 (PPG4) :アドレス 000130H ( アクセス:ハーフワード ) PTMR5 (PPG5) :アドレス 000138H ( アクセス:ハーフワード ) PTMR6 (PPG6) :アドレス 000140H ( アクセス:ハーフワード ) PTMR7 (PPG7) :アドレス 000148H ( アクセス:ハーフワード ) bit bit 15 D15 1 R/WX 14 13 12 11 10 9 8 D14 1 R/WX D13 1 R/WX D12 1 R/WX D11 1 R/WX D10 1 R/WX D9 1 R/WX D8 1 R/WX 7 D7 1 R/WX 6 5 4 3 2 1 0 D6 1 R/WX D5 1 R/WX D4 1 R/WX D3 1 R/WX D2 1 R/WX D1 1 R/WX D0 1 R/WX 初期値 属性 初期値 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) • 16 ビットダウンカウンタのカウントが読出し可能です。 • PPG タイマレジスタ (PTMR) には , ハーフワード (16 ビット ) によりアクセスするようにしてください。 • バイトアクセスでは , レジスタの読み出しを正常に行うことができません。 590 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.5 動作 MB91460N シリーズ 35.5 動作 MB91460N シリーズには , 8 チャネルのプログラマブルパルスジェネレータ (PPG) が備えられています。 以下に , 動作の個別のモードについて説明します。 35.5.1 PWM 動作 PWM 動作では , PPG 端子から可変デューティパルスが生成されます。 図 35.5-1 PWM 動作での可変デューティパルス出力 (3) カウント許可 CNTE (4) 起動トリガ (1) PCSR 8000H PDUT 8000H 0007H (2) 書込み 0005H (6) 書換え 8000H 8000H バッファ (サイクル値) (13) ロード (5) ロード 0007H 0005H バッファ (デューティ値) (5)ロード (13) ロード ダウン カウント値 (7) ダウンカウント (PTMR) 一致 0007H (8) 一致 0005H (10) ダウンカウント 通常 極性 反転 極性 割込み 要因 (1) (2) (3) (4) (5) (6) (6) (7) (8) (9) (10) (11) (12) (13) (14) (9) 反転 (12) クリア リロード 一致 ボロー (11) ボロー PPG端子出力 リロード 反転 クリア 反転 デューティ サイクル 有効エッジ カウンタボロー カウンタボロー デューティマッチ デューティマッチ サイクル値 ( 周期値 ) を書き込みます。 デューティ値を書き込み , サイクル値をバッファに転送します。 PPG 動作を許可します。 起動トリガを生成します。 サイクル値とデューティ値をロードします。 デューティ値を書き換え , サイクル値をバッファに転送します。 カウンタでのダウンカウント ダウンカウンタがデューティ値と一致します。 PPG 端子出力レベルを反転します。 カウンタでのダウンカウント カウンタボロー PPG 端子の出力レベルをクリアします ( 通常に復帰 ) 。 サイクル値をリロードします。 デューティ値をリロードします。 ステップ (6) ∼ (13) を繰り返します。 (「35.8 注意事項」を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 591 第 35 章 プログラマブルパルスジェネレータ 35.5 動作 MB91460N シリーズ • 計算式 周期 = { 周期値 (PCSR) + 1} ×カウントクロック デューティ = { デューティ値 (PDUT) + 1} ×カウントクロック パルス出力までの幅 = { 周期値 (PCSR) −デューティ値 (PDUT) } ×カウントクロック 35.5.2 ワンショット動作 ワンショット動作では , PPG 端子からワンショットパルスが生成されます。 図 35.5-2 ワンショット動作でのワンショットパルス出力 (3) カウント許可 CNTE (4) 起動トリガ (1) PCSR 8000H PDUT 0007H (2) 8000H バッファ (サイクル値) バッファ (デューティ値) ダウン カウント値 (PTMR) (5) ロード 0007H (5) ロード (6) ダウンカウント (7) 一致 0007H (8) ダウンカウント (10) ボロー PPG端子出力 通常 極性 反転 極性 割込み 要因 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (9) 反転 (11) クリア デューティ サイクル 有効エッジ カウンタボロー デューティマッチ サイクル値を書き込みます。 デューティ値を書き込み , サイクル値をバッファに転送します。 PPG 動作を許可します。 起動トリガを生成します。 サイクル値とデューティ値をロードします。 カウンタでのダウンカウント ダウンカウンタ値およびデューティ値 PPG 端子出力レベルを反転します。 カウンタでのダウンカウント カウンタボロー PPG 端子の出力レベルをクリアします ( 通常に復帰 ) 。 動作シーケンスが終了します。 (「35.8 注意事項」を参照してください。) 592 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.5 動作 MB91460N シリーズ 35.5.3 再起動時の動作 以下に , 再起動時の動作について説明します。 • PWM 動作での再起動: 図 35.5-3 PWM 動作での再起動 立上りエッジ検出 トリガによる再起動 トリガ m n 0 PPG N T N= デューティ , T= サイクル • ワンショット動作での再起動: 図 35.5-4 ワンショット動作での再起動 立上りエッジ検出 トリガによる再起動 トリガ m n 0 PPG N T 再起動が禁止の場合 , PWM およびワンショット動作では , 2 番目以降のトリガによる影響はありません。 ( ダウンカウンタのシャットダウン後の 2 番目以降のトリガは機能します。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 593 第 35 章 プログラマブルパルスジェネレータ 35.6 設定 MB91460N シリーズ 35.6 設定 表 35.6-1 PPG の起動に必要な設定 設定 設定レジスタ PPG サイクル設定 (PCSR0 ∼ PCSR7) PPG デューティ設定 (PDUT0 ∼ PDUT7) 周期とデューティ値の設定 設定手順* 35.7.1 項 PPG 動作許可 35.7.2 項 動作モード選択 (PWM/ ワンショット ) 35.7.3 項 PPG 制御ステータス (PCN0 ∼ PCN7) 再起動許可 35.7.4 項 カウントクロック選択 35.7.5 項 PPG 出力マスク選択 35.7.6 項 トリガ選択 ソフトウェア 内部トリガ 外部トリガ 35.7.7 項 汎用制御 1 (GCN10 ∼ GCN11) 35.7.8 項 出力極性指定 PPG 端子出力設定 ポート機能 (PFR17) 35.7.9 項 PPG 制御ステータス (PCN0 ∼ PCN7) トリガ生成 ( ソフトウェアトリガ ) ( リロードタイマ ) (GCN2:EN ビット ) 「第 34 章 リロードタイマ」を参照してください。 35.7.10 項 汎用制御 2 (GCN20 ∼ GCN21) * 設定手順は , 番号で指定された項を参照してください。 表 35.6-2 PPG の停止に必要な設定 設定 設定レジスタ PPG ストップビット設定 PPG 制御ステータス (PCN0 ∼ PCN7) 設定手順* 35.7.11 項 * 設定手順は , 番号で指定された項を参照してください。 表 35.6-3 出力レベルの固定に必要な設定 設定 出力極性指定 設定レジスタ 35.7.8 項 PPG 制御ステータス (PCN00 ∼ PCN7) PPG 出力マスク選択 周期値 = デューティ値設定 設定手順* 35.7.6 項 PPG デューティの設定 (PDUT00 ∼ PDUT7) 35.7.6 項 * 設定手順は , 番号で指定された項を参照してください。 594 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.6 設定 MB91460N シリーズ 表 35.6-4 PPG 割込みの動作に必要な設定 設定 設定レジスタ PPG 割込みベクタ , PPG 割込みレベルの 設定 「第 21 章 割込み制御」を参照 PPG 割込み要因の選択 ( 起動トリガ , ボロー , およびデューティ マッチの生成 ) 設定手順* 35.7.12 項 35.7.13 項 PPG 制御ステータス (PCN00 ∼ PCN7) PPG 割込み設定 割込み要求クリア 割込み要求の許可 35.7.14 項 * 設定手順は , 番号で指定された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 595 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ 35.7 Q & A 35.7.1 サイクルおよびデューティを設定 ( 書換え ) するには ? 周期とデューティ値の設定 • PPG 周期設定レジスタ (PCSR) で , 各サイクル値を設定します。 • PPG デューティ設定レジスタ (PDUT) で , 各デューティ値を設定します。 • PPG 周期設定および PPG デューティ設定レジスタにはそれぞれバッファがあるため , ユーザは書込み タイミングを無視できます。 • 計算式 PCSR レジスタ値 = { サイクル / カウントクロック } − 1 PDUT レジスタ値 = {"H" 幅 ( デューティ ) */ カウントクロック } − 1 * 通常極性 (OSEL=0) • 設定可能な範囲 PCSR レジスタ値 = PCSR レジスタ値∼ FFFFH (65535) PDUT レジスタ値 = 0 ∼ PCSR レジスタ値 ( 注意事項 ) デューティは , サイクルの設定後に設定してください。(「35.8 注意事項」を参照してください。) 35.7.2 PPG 動作を許可 / 禁止するには ? PPG 動作の許可 PPG 動作許可ビット (PCN:CNTE) を使用します。 制御 PPG 動作許可ビット (CNTE) PPG 動作停止 "0" に設定 PPG 動作許可 "1" に設定 PPG 起動前に PPG 動作許可してください。 (「35.8 注意事項」を参照してください。) 35.7.3 PPG 動作モード (PWM 動作 / ワンショット動作 ) を設定するには ? 動作モード選択 モード選択ビット (PCN:MDSE) を使用します。 動作モード モード選択ビット (MDSE) PWM 動作実装 "0" に設定 ワンショット動作実装 "1" に設定 (「35.8 注意事項」を参照してください。) 35.7.4 再起動するには ? 再起動を許可します。 PPG の再起動は , PPG が動作中に許可することができます。 再起動許可ビット (PCN:RTRG) を使用して設定します。 (「35.8 注意事項」を参照してください。) 596 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ 35.7.5 カウントクロックの種類と選択方法は ? カウントクロック選択 カウントクロックは , 以下に示す 4 つから選択可能です。 カウントクロック選択ビット (PCN:CKS1, CKS0) を使用します。 カウント クロック カウンタクロック選択 ビット ( 例 ) CLKP = 32MHz CKS1 CKS0 カウントクロック 周期 (1 ∼ FFFFH) CLKP 0 0 32MHz 62.5ns ∼ 2.048ms CLKP/4 0 1 8MHz 250ns ∼ 8.192ms CLKP/16 1 0 2MHz 1μs ∼ 32.76ms CLKP/64 1 1 500kHz 4μs ∼ 131.0ms (「35.8 注意事項」を参照してください。) 35.7.6 PPG 端子出力レベルを固定するには ? PPG 出力マスク選択 PPG 端子出力のレベルを固定できます。 PPG 出力マスク選択ビット (PCN:PGMS) およびデューティ値 (PDUT) を使用して設定します。 PPG 端子出力 PPG 出力極性指定 ビット (OSEL) 設定手順 通常極性時に "L" レベルに固定 "0" の場合 PPG 出力マスク選択ビット (PGMS) を "1" に設定します。 通常極性時に "H" レベルに固定 "0" の場合 周期値 (PCSR) = デューティ 値 (PDUT) を設定します。 反転極性時に "H" レベルに固定 "1" の場合 PPG 出力マスク選択ビット (PGMS) を "1" に設定します。 反転極性時に "L" レベルに固定 "1" の場合 周期値 (PCSR) = デューティ 値 (PDUT) を設定します。 PPG 端子出力は , すべて "L" に設定できます。(OSEL=0 の場合 ) 図 35.7-1 PPG 出力を "L" レベルに固定 PPG デューティ 値の低減 CM71-10149-1 ボローによる割込みの発生で、PGMS (マスクビット)に "1" を書き込みます。 ボローによる割込みが発生したときに PGMS に "0" が書き込まれると、ハザードを出力する ことなく PWM 波形を出力可能です。 FUJITSU MICROELECTRONICS LIMITED 597 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ PPG 端子出力は , すべて "H" に設定できます。(OSEL=0 の場合 ) 図 35.7-2 PPG 出力を "H" レベルに固定 PPG Reduce デューティ the duty value 値の低減 コンペア一致による割込みの発生で、 Write the same value as the cycle setting デューティ設定レジスタに、サイクル register value to the duty setting register on設定レジスタ値と同じ値を書き込みます。 occurrence of an interrupt caused by a compare match. また , PPG 出力は , PPG 周期設定レジスタ (PCSR) と PPG デューティ設定レジスタ (PDUT) の両方に "0" が設 定されると , オール "H" になります。(OSEL=0 の場合 ) 35.7.7 選択可能な起動トリガと選択方法は ? • トリガ選択 • 起動トリガは , おおまかにソフトウェアトリガ , 内部トリガ , および外部トリガがあります。 • ソフトウェアトリガは , 常に使用可能です。 • 内部トリガおよび外部トリガは , それぞれのデバイス特性によって異なります。 トリガを設定するには , トリガ指定ビット (GCN1:TSEL03 ∼ TSEL00), (GCN1:TSEL13 ∼ TSEL10), (GCN1: TSEL23 ∼ TSEL20), および (GCN1:TSEL33 ∼ TSEL30) を使用します。 トリガは , PPG0 ∼ PPG3 に対して個別に選択できます。 PPG0 PPG2 PPG3 内部トリガ指定ビット 内部トリガ TSEL03 ∼ TSEL00 TSEL13 ∼ TSEL10 TSEL23 ∼ TSEL20 TSEL33 ∼ TSEL30 GCN20 レジスタの EN0 ビットの選択 "0000B" に設定 "0000B" に設定 "0000B" に設定 "0000B" に設定 GCN20 レジスタの EN1 ビットの選択 "0001B" に設定 "0001B" に設定 "0001B" に設定 "0001B" に設定 GCN20 レジスタの EN2 ビットの選択 "0010B" に設定 "0010B" に設定 "0010B" に設定 "0010B" に設定 GCN20 レジスタの EN3 ビットの選択 "0011B" に設定 "0011B" に設定 "0011B" に設定 "0011B" に設定 リロードタイマ 0 の選択 "0100B" に設定 "0100B" に設定 "0100B" に設定 "0100B" に設定 リロードタイマ 1 の選択 "0101B" に設定 "0101B" に設定 "0101B" に設定 "0101B" に設定 PPG0 PPG1 PPG2 PPG3 外部トリガ指定ビット 外部トリガ 598 PPG1 TSEL03 ∼ TSEL00 TSEL13 ∼ TSEL10 TSEL23 ∼ TSEL20 TSEL33 ∼ TSEL30 GP14_0 での外部トリガの選択 "1000B" に設定 "1000B" に設定 "1000B" に設定 "1000B" に設定 GP14_1 での外部トリガの選択 "1001B" に設定 "1001B" に設定 "1001B" に設定 "1001B" に設定 GP14_2 での外部トリガの選択 "1010B" に設定 "1010B" に設定 "1010B" に設定 "1010B" に設定 GP14_3 での外部トリガの選択 "1011B" に設定 "1011B" に設定 "1011B" に設定 "1011B" に設定 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ トリガは , PPG4 ∼ PPG7 に対して個別に選択できます。 PPG4 PPG5 PPG6 PPG7 内部トリガ指定ビット 内部トリガ TSEL03 ∼ TSEL00 TSEL13 ∼ TSEL10 TSEL23 ∼ TSEL20 TSEL33 ∼ TSEL30 GCN21 レジスタの EN0 ビットの選択 "0000B" に設定 "0000B" に設定 "0000B" に設定 "0000B" に設定 GCN21 レジスタの EN1 ビットの選択 "0001B" に設定 "0001B" に設定 "0001B" に設定 "0001B" に設定 GCN21 レジスタの EN2 ビットの選択 "0010B" に設定 "0010B" に設定 "0010B" に設定 "0010B" に設定 GCN21 レジスタの EN3 ビットの選択 "0011B" に設定 "0011B" に設定 "0011B" に設定 "0011B" に設定 リロードタイマ 2 の選択 "0100B" に設定 "0100B" に設定 "0100B" に設定 "0100B" に設定 リロードタイマ 3 の選択 "0101B" に設定 "0101B" に設定 "0101B" に設定 "0101B" に設定 PPG4 PPG5 PPG6 PPG7 外部トリガ指定ビット 外部トリガ TSEL03 ∼ TSEL00 TSEL13 ∼ TSEL10 TSEL23 ∼ TSEL20 TSEL33 ∼ TSEL30 GP14_4 での外部トリガの選択 "1000B" に設定 "1000B" に設定 "1000B" に設定 "1000B" に設定 GP14_5 での外部トリガの選択 "1001B" に設定 "1001B" に設定 "1001B" に設定 "1001B" に設定 GP14_6 での外部トリガの選択 "1010B" に設定 "1010B" に設定 "1010B" に設定 "1010B" に設定 GP14_7 での外部トリガの選択 "1011B" に設定 "1011B" に設定 "1011B" に設定 "1011B" に設定 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 599 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ PPG のグループに対して同じ値を指定すると , これらの PPG を同時に起動することができます。(「35.8 注意事項」を参照してください。) • トリガエッジ選択 トリガエッジを設定するには , トリガ入力エッジ選択ビット (PCN:EG1, EG0) を使用します。 トリガエッジ選択 トリガ入力エッジ選択ビット (EG1, EG0) 検出されない場合 ( ソフトウェアトリガのみ ) "00B" に設定 立上りエッジで生成される "L" → "H" トリガ "01B" に設定 立下りエッジで生成される "H" → "L" トリガ "10B" に設定 両エッジで生成されるトリガ "11B" に設定 (「35.8 注意事項」を参照してください。) 35.7.8 出力極性を反転するには ? 出力極性指定 通常状態の極性を指定するには , 以下のようにします。 PPG 出力極性指定ビット (PCN:OSEL) を使用して設定します。 (" 通常状態 " とは , パルス出力が実行されない状態のことです。) 通常状態での出力レベル PPG 出力極性指定ビット (OSEL) "L" レベル出力許可 ( 通常極性 ) "0" に設定 "H" レベル出力許可 ( 反転極性 ) "1" に設定 (「35.8 注意事項」を参照してください。) 35.7.9 端子を PPG 出力端子にするには ? →PPG 端子出力設定 ソフトウェアプログラミングによって , ポートを PPG 端子出力に切り換えることができます。 端子 600 制御ビット位置 PPG0 端子 ポート機能レジスタ PFR17.0 = 1 PPG0 出力指定ビット (PPG0) PPG1 端子 ポート機能レジスタ PFR17.1 = 1 PPG1 出力指定ビット (PPG1) PPG2 端子 ポート機能レジスタ PFR17.2 = 1 PPG2 出力指定ビット (PPG2) PPG3 端子 ポート機能レジスタ PFR17.3 = 1 PPG3 出力指定ビット (PPG3) PPG4 端子 ポート機能レジスタ PFR17.4 = 1 PPG4 出力指定ビット (PPG4) PPG5 端子 ポート機能レジスタ PFR17.5 = 1 PPG5 出力指定ビット (PPG5) PPG6 端子 ポート機能レジスタ PFR17.6 = 1 PPG6 出力指定ビット (PPG6) PPG7 端子 ポート機能レジスタ PFR17.7 = 1 PPG7 出力指定ビット (PPG7) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ 35.7.10 起動トリガを生成するには ? トリガの生成 以下に , 起動トリガの生成方法について説明します。 • ソフトウェアトリガの起動 ソフトウェアトリガビット (PCN:STGR) を使用して設定します。 ソフトウェアトリガビット (STGR) に "1" を書き込み , 起動トリガを生成します。 内部トリガは常に機能します。 • リロードタイマによる PPG の起動 リロードタイマは , 設定および起動されている必要があります。詳細は , 「第 34 章 リロードタイマ」を参照してくだ さい。 リロードタイマ出力信号で指定されているエッジが , リロードタイマアンダフローにより生成されると , 起動トリガが生 成されます。 • 外部トリガによる PPG の起動 指定された端子に指定されたエッジが検出されると , 起動トリガが生成されます。ポートレジスタを設定する必要は ありません。トリガは , 常に PPG に接続されています。 • EN トリガ入力ビット (GCN2:EN0) ∼ (GCN2:EN3) による PPG の起動 EN トリガ入力ビット (GCN2:EN0) ∼ (GCN2:EN3) のレベルを書き換えると , 起動トリガが生成されます。 エッジ ソフトウェアによる設定手順 (EN0 ∼ EN3) 立上りエッジ まず , EN ビットに "0" を設定してから , EN ビットに "1" を設定します。 立下りエッジ まず , EN ビットに "1" を設定してから , "0" を設定します。 • 複数の PPG の同時起動 同じトリガ ( トリガ入力ビット ) を PPG トリガ指定ビットとともに指定すると , トリガの生成時にすべての PPG を 同時に起動することができます。 • PPG 動作が許可される前に起動トリガが生成された場合 , この PPG は起動されません。PPG の動作は , トリガを生成して起動する前に許可しておくようにしてください。(「35.7.2 PPG 動作を許可 / 禁止するには ?」を参照してください。) 35.7.11 PPG 動作を停止するには ? PPG ストップビット設定 (「35.7.2 PPG 動作を許可 / 禁止するには ?」を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 601 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ 35.7.12 割込み関連レジスタは ? PPG 割込みベクタ , PPG 割込みレベルの設定 以下の表に , PPG 番号 , 割込みレベル , および割込みベクタを示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 端子 割込みベクタ ( 初期値 ) PPG0 #112 アドレス:0FFE3CH PPG1 #113 アドレス:0FFE38H PPG2 #114 アドレス:0FFE34H PPG3 #115 アドレス:0FFE30H PPG4 #116 アドレス:0FFE2CH PPG5 #117 アドレス:0FFE28H PPG6 #118 アドレス:0FFE24H PPG7 #119 アドレス:0FFE20H 割込みレベル設定ビット (ICR4 ∼ ICR0) 割込みレベルレジスタ (ICR48) アドレス:000470H 割込みレベルレジスタ (ICR49) アドレス:000471H 割込みレベルレジスタ (ICR50) アドレス:000472H 割込みレベルレジスタ (ICR51) アドレス:000473H 割込み要求フラグ (PCN:IRQF) は , 自動的にクリアされません。ソフトウェアを使用してフラグをクリア後 , 割込みハ ンドラから復帰してください (IRQF ビットに "0" を書き込みます。) 。 602 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 35 章 プログラマブルパルスジェネレータ 35.7 Q & A MB91460N シリーズ 35.7.13 割込みの種類と選択方法は ? 割込み要因の選択 以下の 4 種類の割込みが選択可能です。 割込み要因設定ビット (PCN:IRS1 ∼ IRS0) を使用して設定します。 割込み要因 割込み要因設定ビット (IRS1 ∼ IRS0) ソフトウェアトリガまたは内部トリガ生成 (PPG0 ∼ PPG7) "00B" に設定 ダウンカウンタボロー ( 周期一致 ) "01B" に設定 デューティマッチ "10B" に設定 カウンタボロー ( 周期一致 ) またはデューティマッチ "11B" に設定 35.7.14 割込みを許可 / 禁止 / クリアするには ? 割込み要求の許可フラグ , 割込み要求フラグ 割込み要求許可ビット (PCN:IREN) を使用して割込みを許可します。 割込み要求許可ビット (IREN) 割込み要求の禁止 "0" に設定 割込み要求の許可 "1" に設定 割込み要求ビット (PCN:IRQF) を使用して割込み要求をクリアします。 割込み要求ビット (IRQF) "0" を書き込む 割込み要求選択 (「35.8 注意事項」を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 603 第 35 章 プログラマブルパルスジェネレータ 35.8 注意事項 MB91460N シリーズ 35.8 注意事項 • 割込み要求フラグ (PCN:IRQF) が "1" のとき , 同時に割込み要求フラグが "0" に設定されると , 割込み要求フ ラグの設定 "1" がフラグクリア要求より優先されます。 • 最初のロードは , 起動トリガ後最大で 2.5T 遅延して行われます (T:カウントクロック )。 ダウンカウンタがロードされ , 同時にカウントが行われる場合は , ロード動作が優先されます。 図 35.8-1 起動トリガに対するロード動作の遅延とカウント動作 トリガ 最大2.5T ロード クロック カウント値 X 0003H 0002H 0001H 0000H 0003H 0002H PPG 割込み 有効エッジ デューティマッチ カウンタボロー • デューティ値 PDUT は , サイクル PCSR が初期化および書き換えられてから書き込むようにしてください ( 書込みの順序は , 常に , (1) PCSR, (2) PDUT です。)。 デューティの書換えの場合は , PDUT の書込みのみが可能です。 • デューティ値 PDUT は , サイクル値 PCSR よりも小さい値に設定してください。大きい値が設定されている 場合は , PPG の動作を禁止してから , デューティを小さい値に設定してください。 • PPG 周期設定レジスタ (PCSR) および PPG デューティ設定レジスタには , 常にハーフワード (16 ビット ) 形式でアクセスします。バイトアクセスによりこれらのレジスタにアクセスすると , 上位および下位 bit 位置に値が書き込まれません。 • PPG を起動するには , 起動後または起動と同時にタイマ動作許可ビット (PCN:CNTE) を "1" に設定し , PPG 動作を許可します。 • モード (MDSE), 再起動許可 (RTRG), カウントクロック (CKS[1:0]), トリガ入力エッジ (EGS[1:0]), 割込み要 因 (IRS), 内部トリガ (TSEL), および出力極性指定 (OSEL) の値は , PPG 動作中に変更されないことがありま す。 PPG 動作中にこれらの値のいずれかが変更された場合は , PPG の動作を禁止してから , レジスタをリロードし ます。 • GCN2 に値を書き込む場合は , 上位 4 ビットの未定義部分に常に "0" を書き込むようにしてください。 "1" が書き込まれる場合は , PPG の動作を禁止してから , レジスタをリロードします。 • 起動トリガ指定ビット (TSEL03 ∼ TSEL00), (TSEL13 ∼ TSEL10), (TSEL23 ∼ TSEL20), (TSEL33 ∼ TSEL30) に , 指定された範囲 (0110B, 0111B, 1100B ∼ 1111B) 外の値が設定される場合は , PPG の動作を禁止してから , 指定されている値を書込み , レジスタが通常状態に復帰するようにします。 604 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 MB91460N シリーズ 第 35 章 プログラマブルパルスジェネレータ 35.8 注意事項 • PPGn 動作中に , PPGn を禁止するためにタイマ動作許可ビット (PCN:CNTE) が "0" に設定されると , 状態 ( カウントおよび出力レベル ) がラッチされたまま PPG が停止します。 次に , PPG を許可するためにタイマ動作許可ビット (PCN:CNTE) が "1" に設定されると , 割込み時点から PPG が再起動します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 605 第 35 章 プログラマブルパルスジェネレータ 35.8 注意事項 606 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 36 章 アップダウンカウンタ 36.1 概要 MB91460N シリーズ 第 36 章 アップダウンカウンタ 36.1 概要 16 ビットアップダウンカウンタは , 入力信号によってトリガされると , 0 ∼ 65535 の範囲内でカウントアップ またはカウントダウンします。特に , 位相差カウントモードで動作するアップダウンカウンタは , モータなど の機器のエンコーダパルスのカウントに適しています。エンコーダの位相 A, 位相 B, および位相 Z の出力信号 が印加されると , カウンタは , 回転角または回転数を正確にカウントできます。 リロード/コンペア値 エッジ検出 外部入力 A/B/Z 選択 内部クロック コンペア一致 アンダフロー リロード アップダウンカウンタ クリア 36.2 特長 • フォーマット:16 ビット長または 8 ビット x 2 • 個数:16 ビットが 1 ( 入力:AIN0/BIN0/ZIN0) 8 ビットが 2 ( 入力:AIN0/BIN0/ZIN0, AIN1/BIN1/ZIN1) • カウントモード:4 タイプ • タイマモード 内部クロックをカウントダウンします。 • アップダウンカウントモード AIN 端子信号によって , カウントアップがトリガされます。 BIN 端子信号によって , カウントダウンがトリガされます。 • 位相差カウントモード (2 で乗算 ) BIN 端子信号の立上りエッジによって , カウントがトリガされます。アップダウンカウンタは , AIN 端子信号レベルに応じてカウントアップまたはカウントダウンします。 • 位相差カウントモード (4 で乗算 ) AIN および BIN 端子信号の立上りエッジによって , カウントがトリガされます。アップダウンカウンタは , ZIN 端子信号レベルに応じてカウントアップまたはカウントダウンします。 • カウントソース 内部クロック ( タイマモード ) :周辺クロック (CLKP) の 2 または 8 分周 外部トリガ (アップダウンカウントモード):エッジ検出 (立下りエッジ/立下りエッジ/両エッジ/検出なし) • カウント範囲:0 ∼ 65535 の任意の値を設定できます。 • 割込み:次の 4 タイプから選択します。 (1) コンペア一致割込み (2) アンダフロー割込み (3) オーバフロー割込み (4) カウント方向転換割込み • その他: カウントが実行されるかどうかは , 端子入力レベルに基づいて制御できます。 ソフトウェアによるカウンタの起動または非活性化が可能です。 ZIN 端子には , カウンタクリア / ゲートの 2 つの機能があります。 カウント方向転換フラグを設定すると , 直前のカウント方向を指定できます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 607 第 36 章 アップダウンカウンタ 36.3 構成 MB91460N シリーズ 36.3 構成 図 36.3-1 構成図 アップダウンカウンタ0(8ビットモード) 8ビットモード CFIE 0 1 M16E UDCC0: bit15 0 8ビットモード CDCF UDCC0: bit14 0 1 方向転換なし 方向転換済み UDCC0: bit13 割込み禁止 割込み許可 1 """0""の書込み: フラグクリア" CMS1,CMS0 0 0 1 1 0 1 0 1 UDF1,UDF0 UDCC0: bit11,bit10 タイマモード(カウントダウンのみ) アップダウンカウントモード 0 0 1 1 CSTR UDCS0: bit7 位相差カウントモード(2で乗算) カウント停止 カウント開始 0 1 位相差カウントモード(4で乗算) 0 0 1 0 1 書込み: 禁止, 読出しのみ 入力なし カウントダウン カウントアップ カウントダウンとカウントアップの両方 起動 周辺クロック CLKP アップダウンカウンタ(読出しのみ) セレクタ/カウント制御 CLKS UDCC0: bit12 0 CLKP の2分周 1 CLKP の8分周 P20 EPFR20.0 その他 0 1 UDC許可 ポートからの読出し エッジ 検出 AIN0/SIN2/P20.0 BIN0/SOT2/P20.1 UDCR0 オーバフローなし オーバフロー 1 UDCC0: bit6 0 0 1 1 0 1 0 1 UDCC0: bit4 リロード禁止 リロード許可 0 CMPF UDCS0: bit4 コンペア一致 0 1 コンペア一致なし コンペア CITE UDCS0: bit6 割込み禁止 0 割込み許可 1 リロード/コンペアレジスタ(書込みのみ) 0 1 UCRE UDCC0:bit5 0 1 カウンタクリア禁止 カウンタクリア許可 UDCLR UDCC0: bit2 両エッジ検出の許可 クリア 禁止 0 1 ポートからの 読出し エッジ 検出 ポートデータ レジスタより 1 """0""の書込み: フラグクリア" UDRC0 エッジ検出禁止 立下りエッジ検出の許可 立上りエッジ検出の許可 ZIN0/SCK2/P20.2 P20 EPFR20.2 その他 0 1 UDC許可 0 1 0 0 OR CES1,CES0 UDCC0: bit9,bit8 ポート からの 読出し RLDE 影響なし 0 1 データ転送 *カウントが停止中は 16ビット転送のみ許可 1 "0"の書込み: フラグクリア リロード CTUT OR UDFFUDCS0: bit2 0 アンダフローなし 1 アンダフロー カウンタクリア ゲート ポートデータ レジスタより 608 0 1 """0""の書込み: フラグクリア" ポートデータ レジスタより P20 EPFR20.1 その他 0 1 UDC許可 UDIE UDCS0: bit5 0 割込み禁止 1 割込み許可 OVFF UDCS0: bit3 プリスケーラ UDC0 割込み (#128) OR UDCS0: bit1,bit0 UDCC0: bit1-bit0, bit2 CGSC CGE1,CGE0 0: カウンタクリア機能 0 0 1 1 0 1 0 1 エッジ検出禁止 1: ゲート機能 レベル検出禁止 立下りエッジ検出の許可 Lレベル検出許可 立上りエッジ検出の許可 設定禁止 Hレベル検出許可 設定禁止 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.3 構成 MB91460N シリーズ 図 36.3-2 構成図 アップダウンカウンタ1(8ビットモード) 8ビットモード CFIE UDCC1: bit13 0 割込み禁止 1 割込み許可 M16E UDCC0: bit15 00 8ビットモード CDCF UDCC1: bit14 方向転換なし 0 1 方向転換済み """0""の書込み: フラグクリア" CMS1,CMS0 UDCC1: bit11,bit10 0 0 タイマモード(カウントダウンのみ) 0 1 アップダウンカウントモード 位相差カウントモード(2で乗算) 1 0 1 1 位相差カウントモード(4で乗算) 周辺クロック CLKP 0 1 UDF1,UDF0 書込み: 禁止,読出しのみ 入力なし カウントダウン カウントアップ カウントダウンとカウントアップの両方 0 0 1 1 CSTR UDCS1: bit7 0 カウント停止 1 カウント開始 起動 0 1 0 1 UDIE UDCS1: bit5 割込み禁止 0 割込み許可 1 OVFF UDCS1: bit3 0 オーバフローなし アップダウンカウンタ(読出しのみ) 1 オーバフロー プリスケーラ UDC1割込み (#129) OR UDCS1: bit1,bit0 """0""の書込み: フラグクリア" セレクタ/カウント制御 ポートデータ CLKS UDCC1: bit12 CLKPの2分周 0 レジスタより CLKPの8分周 1 P20 EPFR20.4 その他 0 1 UDC許可 ポートからの読出し UDCR1 1 カウンタクリア リロード CTUT UDCC1: bit6 影響なし 0 データ転送 1 ポートデータ レジスタより 0 1 0 1 リロード/コンペアレジスタ(書込みのみ) エッジ検出禁止 立下りエッジ検出の許可 立上りエッジ検出の許可 UDCLR UDCC1: bit2 0 1 クリア 禁止 両エッジ検出の許可 ポートからの 読出し ZIN1/SCK3/P20.6 0 1 UCRE UDCC1: bit5 0 1 カウンタクリア禁止 カウンタクリア許可 UDCC1: bit1-bit0, bit2 CGSC エッジ 検出 P20 EPFR20.6 その他 0 1 UDC許可 1 CITE UDCS1: bit6 割込み禁止 0 割込み許可 1 UDRC1 CES1,CES0 UDCC1: bit9,bit8 0 0 1 1 CMPF UDCS1: bit4 コンペア一致 0 1 コンペア一致なし コンペア """0""の書込み: フラグクリア" ゲート ポート からの 読出し 0 RLDE UDCC1: bit4 リロード禁止 0 リロード許可 1 OR BIN1/SOT3/P20.5 P20 EPFR20.5 その他 0 UDC許可 1 0 """0""の書込み: フラグクリア" 0 *カウントが停止中は 16ビット転送のみ許可 エッジ 検出 AIN1/SIN3/P20.4 1 OR UDFF UDCS1: ビット2 0 アンダフローなし 1 アンダフロー CGE1,CGE0 0: カウンタクリア機能 0 0 1 1 ポートデータ レジスタより 0 1 0 1 1: ゲート機能 エッジ検出禁止 立下りエッジ検出の許可 レベル検出禁止 立上りエッジ検出の許可 設定禁止 Hレベル検出許可 設定禁止 Lレベル検出許可 図 36.3-3 構成図 アップダウンカウンタ(16ビットモード) 16ビットモード M16E UDCC0: bit15 1 16ビットモード CFIE 0 1 周辺クロック CLKP UDF1,UDF0 UDCS0: bit1, bit0 書込み: 禁止, 読出しのみ 0 0 入力なし 0 1 カウントダウン カウントアップ 1 0 1 1 カウントダウンとカウントアップの両方 CSTR UDCS0: bit7 0 カウント停止 1 カウント開始 OVFF UDCS0: bit3 セレクタ エッジ 検出 CTUT UDCC0: bit6 OR P20 EPFR20.2 0 その他 1 UDC許可 0 1 UDRC1 OR アンダフローなし 1 0 アンダフロー 0 """0""の書込み: フラグクリア" CMPF UDCS0: bit4 コンペア一致 0 1 コンペア一致なし コンペア リロード禁止 リロード許可 1 """0""の書込み: フラグクリア" CITE UDCS0: bit6 割込み禁止 0 割込み許可 1 UDRC0 リロード/コンペアレジスタ(書込みのみ) 0 CES1,CES0 UDCC0: bit9,bit8 0 エッジ検出禁止 0 0 1 立下りエッジ検出の許可 1 0 立上りエッジ検出の許可 両エッジ検出の許可 1 1 ポートからの 読出し 1 UCRE UDCC0: bit5 カウンタクリア禁止 0 カウンタクリア許可 1 UDCC0: bit2 0 1 エッジ 検出 ポートデータ レジスタより 0 1 0 RLDE UDCC0: bit4 影響なし 0 データ転送 1 *カウントが停止中は 16ビット転送のみ許可 ゲート ZIN0/SCK2/P20.2 UDIE UDCS0: bit5 割込み禁止 0 割込み許可 1 オーバフロー UDFF UDCS0: bit2 1 リロード BIN0/SOT2/P20.1 ポートデータ レジスタより UDCR0 カウンタクリア ポートからの読出し ポート からの 読出し オーバフローなし """0""の書込み: フラグクリア" CLKS UDCC0: bit12 0 CLKPの2分周 1 CLKPの8分周 AIN0/SIN2/P20.0 0 1 アップダウンカウンタ(読出しのみ) UDCR1 P20 EPFR20.0 その他 0 1 UDC許可 UDC0割込み (#128) OR 起動 プリスケーラ ポートデータ レジスタより CM71-10149-1 0 1 CDCF UDCC0: bit14 0 方向転換なし 1 方向転換済み """0""の書込み: フラグクリア" CMS1,CMS0 UDCC0: bit11,bit10 0 タイマモード(カウントダウンのみ) 0 0 アップダウンカウントモード 1 1 0 位相差カウントモード(2で乗算) 1 1 位相差カウントモード(4で乗算) P20 EPFR20.1 その他 0 UDC許可 1 UDCC0: bit13 割込み禁止 割込み許可 カウンタクリア 影響なし UDCC0: bit1-bit0, bit2 CGSC CGE1,CGE0 0: カウンタクリア機能 0 エッジ検出禁止 0 0 1 立下りエッジ検出の許可 1 0 立上りエッジ検出の許可 1 1 設定禁止 1: ゲート機能 レベル検出禁止 Lレベル検出許可 Hレベル検出許可 設定禁止 FUJITSU MICROELECTRONICS LIMITED 609 第 36 章 アップダウンカウンタ 36.3 構成 MB91460N シリーズ 図 36.3-4 レジスタ一覧 アップダウンカウンタ0(8ビットモード) アドレス 000304H bit 15 14 M16E CDCF bit 000301H 000303H 000307H 7 D7 6 D6 D7 D6 CSTR CITE 000D94H 000DD4H - 000478H --- 13 12 11 10 9 8 CFIE CLKS CMS1 CMS0 CES1 CES0 7 予約 6 5 4 3 2 1 0 UDCC0(カウンタ制御 CTUT UCRE RLDE UDCC CGSC CGE1 CGE0 レジスタ0) 5 D5 4 D4 3 D3 2 D2 1 D1 0 D0 UDRC0(アップダウンリロード/コンペアレジスタ0) D5 D4 D3 D2 D1 D0 UDCR0(アップダウンカウンタレジスタ0) UDIE CMPF OVFF UDFF UDF1 UDF0 UDCS0(カウントステータスレジスタ) SCK3 SOT3 ZIN1 BIN1 --- --- SIN3 AIN1 - ICR4 ICR3 SCK2 SOT2 ZIN0 BIN0 SIN2 AIN0 PFR20(ポート機能レジスタ20) EPFR20(エクストラポート機能レジスタ20) ICR2 ICR0 ICR56(アップダウンカウンタの割込みレベルレジスタ) ICR1 0FFDFCH (割込みベクタ#128) 32ビット ( 注意事項 ) ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 図 36.3-5 レジスタ一覧 アップダウンカウンタ1(8ビットモード) アドレス 000304H bit 15 14 M16E CDCF 13 12 11 10 9 8 CFIE CLKS CMS1 CMS0 CES1 CES0 予約 予約 CDCF CFIE CLKS CMS1 CMS0 CES1 CES0 予約 000300H 7 D7 6 D6 5 D5 4 D4 3 D3 2 D2 1 D1 0 D0 UDRC1(アップダウンリロード/コンペアレジスタ1) 000302H D7 D6 D5 D4 D3 D2 D1 D0 UDCR1(アップダウンカウンタレジスタ1) 000308H bit 00030BH CSTR CITE 000D94H 000DD4H - 000478H --- 7 6 5 4 3 2 1 0 UDCC0(カウンタ制御 CTUT UCRE RLDE UDCC CGSC CGE1 CGE0 レジスタ0) UDCC1(カウンタ制御 CTUT UCRE RLDE UDCC CGSC CGE1 CGE0 レジスタ1) UDIE CMPF OVFF UDFF UDF1 UDF0 UDCS1(カウントステータスレジスタ) SCK3 SOT3 SIN3 ZIN1 BIN1 AIN1 --- --- - ICR4 SCK2 SOT2 SIN2 ZIN0 BIN0 AIN0 PFR20(ポート機能レジスタ20) EPFR20 (エクストラポート機能レジスタ20) ICR2 ICR56 (アップダウンカウンタの割込みレベルレジスタ) ICR3 ICR1 ICR0 0FFDF8H (割込みベクタ#129) 32ビット ( 注意事項 ) ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 図 36.3-6 レジスタ一覧 アップダウンカウンタ0(16ビットモード) アドレス 000304H bit 15 14 M16E CDCF 13 12 11 10 9 8 CFIE CLKS CMS1 CMS0 CES1 CES0 予約 7 6 5 4 3 2 1 0 CTUT UCRE RLDE UDCC CGSC CGE1 CGE0 UDCC0(カウンタ制御レジスタ0) 000300H D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 000302H D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 000307H bit 7 6 CSTR CITE 000D94H 000DD4H - 000478H --- 0FFDFCH 5 4 3 2 1 0 UDIE CMPF OVFF UDFF UDF1 UDF0 UDCS0(カウントステータスレジスタ) SCK3 SOT3 ZIN1 BIN1 --- UDRC1、UDRC0 (リロード / コンペアレジスタ 1、0) UDCR1、UDCR0 (アップダウンカウンタレジスタ 1、0) --- SIN3 AIN1 - ICR4 ICR3 SCK2 SOT2 ZIN0 BIN0 SIN2 AIN0 ICR2 ICR0 ICR1 PFR20(ポート機能レジスタ20) EPFR20(エクストラポート機能レジスタ20) ICR56(アップダウンカウンタの割込みレベルレジスタ) 32ビット (割込みベクタ#128) ( 注意事項 ) ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 610 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ 36.4 レジスタ 36.4.1 UDCC:カウンタ制御レジスタ このレジスタは , アップダウンカウンタの動作を制御する場合に使用します。 • UDCC0 ( アップダウンカウンタ 0) :アドレス 000304H ( アクセス:バイト , ハーフワード ) • UDCC1 ( アップダウンカウンタ 1) :アドレス 000308H ( アクセス:バイト , ハーフワード ) bit 15 14 13 12 11 10 9 8 M16E/ 予約 CDCF CFIE CLKS CMS1 CMS0 CES1 CES0 UDCCH 0 0 0 0 0 0 0 0 初期値 R/W * R/W R/W R/W R/W R/W R/W R/W 属性 7 6 5 4 3 2 1 0 予約 CTUT UCRE RLDE UDCLR CGSC CGE1 CGE0 UDCCL 0 0 0 0 1 0 0 0 初期値 R/W0 R/W R/W R/W R/W R/W R/W R/W 属性 bit ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit15] M16E/ 予約 (16 ビットモード許可 ( アップダウンカウンタ 0 のみ ) / 予約 *) M16E 16 ビットモード許可 0 8 ビット × 2 チャネル動作モード (8 ビットモード ) 1 16 ビット × 1 チャネル動作モード (16 ビットモード ) * 予約ビット ( アップダウンカウンタ 1 および 3) "0" を書き込みます。書き込まれた値が読出し値になります。 [bit14] CDCF カウント方向転換フラグ ( 割込み要求フラグ ) カウント方向検出 CDCF 読出しの場合 書込みの場合 0 方向転換は行われませんでした。 フラグをクリアします。 1 方向転換が複数回行われました。 書き込みによる動作への影響はありません。 • カウント動作時にカウント方向転換が行われると , 方向転換フラグ (CDCF) が "1" に設定されます。 • 方向転換は , リセット直後にカウントダウンするように設定されているため , カウント方向転換フラグ (CDCF) は , 次のリセットがカウントアップされると "1" に設定されます。 • 割込み要求を許可するには , 割込み要求許可ビットを設定する必要があります (CFIE=1) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 611 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ [bit13] CFIE ( カウント方向転換割込み要求許可 ) CFIE 方向転換割込み要求 0 方向転換割込み要求を禁止します。 1 方向転換割込み要求を許可します。 割込み要求許可ビットが "1" に設定されている場合 , 割込み要求フラグ (CDCF) は許可されます。 [bit12] CLKS ( 内部プリスケーラ選択 ) CLKS 内部クロック周波数 0 FCLKP の 2 分周 1 FCLKP の 8 分周 FCLKP:周辺クロック (CLKP) の周波数 この設定は , カウントダウンだけが実行されるタイマモードの場合にのみ行うことができます。 [bit11, bit10] CMS1, CMS0 ( カウントモード選択 ) CMS1 CMS0 0 0 タイマモード ( カウントダウン ) 0 1 アップダウンカウントモード 1 0 位相差カウントモード (2 で乗算 ) 1 1 位相差カウントモード (4 で乗算 ) カウントモード [bit9, bit8] CES1, CES0 ( カウントクロックエッジ選択 ) CES1 CES0 0 0 エッジ検出を禁止します。 0 1 立下りエッジを検出します。 1 0 立上りエッジを検出します。 1 1 立上りエッジ / 立下りエッジの両方を検出します。 エッジ選択 このビットは , アップダウンカウントモード (CMS1, CMS0=01) において , 検出対象となる , AIN および BIN 端子信号のエッジを選択する場合に使用します。この設定は , アップダウンカウント以外のモードでは禁止 されています。 [bit7] 予約 : 予約ビット "0" を書き込みます。書き込まれた値が読出し値になります。 [bit6] CTUT ( カウンタ書込み ) CTUT データ転送 0 動作への影響はありません。 1 RCR から UDCR にデータを転送します。 カウント動作時 (CSR:CSTR=1), カウンタ書込みビットに "1" が設定されていないようにする必要があります。 612 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ [bit5] UCRE ( コンペア一致クリア許可 ) UCRE コンペア一致カウンタクリア 0 カウンタ一致によるカウンタクリアを禁止します。 1 カウンタ一致によるカウンタクリアを許可します。 この設定は , コンペア一致以外のクリア動作 (ZIN 端子クリアなど ) には影響を与えません。 [bit4] RLDE ( リロード許可 ) RLDE リロード機能 0 リロード機能を禁止します。 1 リロード機能を許可します。 リロード許可ビットが "1" に設定されている場合 , リロード / コンペア値 (RCR) は , アップダウンカウンタに アンダフローがあるとアップダウンカウンタ (UDCR) に転送されます。 [bit3] UDCLR (UDCR クリア ) UDCLR カウンタクリア 0 アップダウンカウンタ (UDCR) を "0000H" に設定 ( クリア ) します。 1 動作への影響はありません。 [bit2] CGSC ( カウンタクリア / ゲート選択 ) CGSC ZIN 端子機能 0 カウンタクリア機能 1 ゲート機能 [bit1, bit0] CGE1, CGE0 ( カウンタクリア / ゲートエッジ選択 ) エッジ検出 / レベル選択 CGE1 CGE0 0 0 エッジ検出を禁止します。 レベル検出を禁止します。( カウント禁止 ) 0 1 立下りエッジを検出します。 "L" レベルを検出します。 1 0 立上りエッジを検出します。 "H" レベルを検出します。 1 1 設定を禁止します。 設定を禁止します。 CM71-10149-1 カウンタクリア機能が選択されている場合 (CGSC=0) ゲート機能が選択されている場合 (CGSC=1) FUJITSU MICROELECTRONICS LIMITED 613 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ 36.4.2 UDCS:カウントステータスレジスタ このレジスタは , アップダウンカウンタを制御したり , カウンタの状態を示す場合に使用します。 • UDCS0 ( アップダウンカウンタ 0) :アドレス 000307H ( アクセス:バイト , ハーフワード ) • UDCS1 ( アップダウンカウンタ 1) :アドレス 00030BH ( アクセス:バイト , ハーフワード ) bit 7 6 5 4 3 2 1 0 CSTR CITE UDIE CMPF OVFF UDFF UDF1 UDF0 0 0 0 0 0 0 0 0 初期値 R/W R/W R/W R/W0 R/W0 R/W0 R/WX R/WX 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit7] CSTR ( カウント動作許可 ) CSTR カウント動作 0 カウント動作を禁止します。 1 カウント動作を許可します。( カウンタ起動 ) [bit6] CITE ( コンペア割込み要求許可 ) CITE コンペア割込み要求 0 コンペア割込み要求を禁止します。 1 コンペア割込み要求を許可します。 割込み要求許可ビットを "1" に設定すると , 割込み要求フラグ (CMPF) が許可されます。 [bit5] UDIE ( オーバフロー / アンダフロー割込み要求許可 ) UDIE オーバフロー / アンダフロー割込み要求 0 オーバフロー / アンダフロー割込み要求を禁止します。 1 オーバフロー / アンダフロー割込み要求を許可します。 割込み要求許可ビットを "1" に設定すると , 割込み要求フラグ (OVFF または UDFF) が許可されます。 [bit4] CMPF ( コンペア検出フラグ ) コンペア検出 CMPF 読出しの場合 書込みの場合 0 比較結果が一致しません。 フラグをクリアします。 1 比較結果が一致しています。 設定を禁止します。 割込み要求を許可するには , 割込み要求許可ビットを設定する必要があります (CITE=1) 。 614 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ [bit3] OVFF ( オーバフロー検出フラグ ) オーバフロー検出 OVFF 読出しの場合 書込みの場合 0 オーバフローはありません。 フラグをクリアします。 1 オーバフローが発生しました。 設定を禁止します。 割込み要求を許可するには , 割込み要求許可ビットを設定する必要があります (UDIE=1) 。 [bit2] UDFF ( アンダフロー検出フラグ ) アンダフロー検出 UDFF 読出しの場合 書込みの場合 0 アンダフローはありません。 フラグをクリアします。 1 アンダフローが発生しました。 設定を禁止します。 割込み要求を許可するには , 割込み要求許可ビットを設定する必要があります (UDIE=1) 。 [bit1, bit0] UDF1, UDF0 ( アップダウンフラグ ) UDF1 UDF0 0 0 入力なし 0 1 カウントダウン 1 0 カウントアップ 1 1 カウントアップとカウントダウンの両方 CM71-10149-1 以前のカウント動作 FUJITSU MICROELECTRONICS LIMITED 615 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ 36.4.3 UDCR:アップダウンカウンタレジスタ このレジスタは , アップダウンカウンタのカウント値を読み出す場合に使用します。 • UDCR10 ( アップダウンカウンタ 0/1) :アドレス 000302H ( アクセス:バイト , ハーフワード ) このレジスタの動作は , 16 ビットモード許可ビット (CCR:M16E) の設定によって異なります。 ■ 16 ビットモード (M16E=1) 16 ビットモードでは , このレジスタは , 16 ビットアップダウンカウンタレジスタとして機能します。 • UDCR10 ( アップダウンカウンタ ) :アドレス 000302H ( アクセス:ハーフワード ) bit bit 15 14 13 12 11 10 9 8 D15 D14 D13 D12 D11 D10 D09 D08 0 0 0 0 0 0 0 0 初期値 R/WX R/WX R/WX R/WX R/WX R/WX R/WX R/WX 属性 7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 0 0 0 0 0 0 0 0 初期値 R/WX R/WX R/WX R/WX R/WX R/WX R/WX R/WX 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) 16 ビットモードでは , 読出しをハーフワードアクセスにより行うようにしてください。 ■ 8 ビットモード (M16E = 0) 8 ビットモードでは , このレジスタは , 8 ビットアップダウンカウンタレジスタ 0 および 8 ビットアップダウン カウンタレジスタ 1 として機能します。 • UDCR1 ( アップダウンカウンタ 1) :アドレス 000302H ( アクセス:バイト , ハーフワード ) • UDCR0 ( アップダウンカウンタ 0) :アドレス 000303H ( アクセス:バイト , ハーフワード ) bit 7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 0 0 0 0 0 0 0 0 初期値 R/WX R/WX R/WX R/WX R/WX R/WX R/WX R/WX 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) 616 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ 36.4.4 UDRC:アップダウンリロード / コンペアレジスタ このレジスタは , アップダウンカウンタに比較用に値をリロードする場合に使用します。 また , このレジスタは , アップダウンカウンタへの書込みにも使用します。 • UDRC10 ( アップダウンカウンタ 0/1) :アドレス 000300H ( アクセス:バイト , ハーフワード ) このレジスタの動作は , 16 ビットモード許可ビット (CCR:M16E) の設定によって異なります。 ■ 16 ビットモード (M16E=1) 16 ビットモードでは , このレジスタは , 16 ビットリロード / コンペアレジスタとして機能します。 • UDCR10 ( リロードコンペア ) :アドレス 000B00H ( アクセス:バイト , ハーフワード ) bit bit 15 14 13 12 11 10 9 8 D15 D14 D13 D12 D11 D10 D09 D08 0 0 0 0 0 0 0 0 初期値 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W 属性 7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 0 0 0 0 0 0 0 0 初期値 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) • リロード値およびコンペア値は同じです。 アップダウンカウンタでカウントアップした場合 , RCR の値がコンペア値として使用されます。 アップダウンカウンタでカウントダウンした場合 , アンダフローが発生し , RCR の値をリロード値として 使用してリロードが行われます。 ( アップダウンカウンタは , "0000H" とリロード / コンペア値の間でカウントします。) • 16 ビットモードでは , 書込みをハーフワードアクセスにより行うようにしてください。 ■ 8 ビットモード (M16E=0) 8 ビットモードでは , このレジスタは , 8 ビットリロード / コンペアレジスタ 0 および 8 ビットリロード / コンペ アレジスタ 1 として機能します。 • UDCR1 ( リロードコンペア 1) :アドレス 000300H ( アクセス:バイト , ハーフワード ) • UDCR0 ( リロードコンペア 0) :アドレス 000301H ( アクセス:バイト , ハーフワード ) bit 7 6 5 4 3 2 1 0 D07 D06 D05 D04 D03 D02 D01 D00 0 0 0 0 0 0 0 0 初期値 RX,W RX,W RX,W RX,W RX,W RX,W RX,W RX,W 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) • リロード値およびコンペア値は同じです。 アップダウンカウンタでカウントアップした場合 , RCR の値がコンペア値として使用されます。 アップダウンカウンタでカウントダウンした場合 , アンダフローが発生し , RCR の値をリロード値と して使用してリロードが行われます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 617 第 36 章 アップダウンカウンタ 36.4 レジスタ MB91460N シリーズ ( アップダウンカウンタは , "0000H" とリロード / コンペア値の間でカウントします。) • アップダウンカウンタへの書込みを行うには , 以下の手順を実行します。 (1) カウントを停止します。 (2) リロード / コンペアレジスタに値を書き込みます。 (3) カウンタ書込みビット (CCR:CTUT) に "1" を書き込みます。 618 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5 動作 このセクションでは , アップダウンカウンタの各動作モードについて説明します。 36.5.1 タイマモード CMS1, CMS0=00 リロード値 リロード値 FCLKPの2分周 割込み 要求 カウントダウン FCLKPの8分周 (5) リロード値 (8) (3) CLKS, RLDE (9) (1) CGSC (2) CSTR アンダフロー (割込み要求) (3) (6) (4) 割込み要求許可 ソフトウェアに よるクリア (10) (9) ソフトウェアに よるクリア ソフトウェアに よるクリア (7) (1) 該当するビット ( リロード許可 RLDE) が設定されます。 (2) アップダウンカウンタがクリアされます (CGSC に "0" が書き込まれます ) 。 (3) ソフトウェアによって , アップダウンカウンタが起動されます。 (4) アンダフローが発生します。 (5) リロード値がアップダウンカウンタにリロードされます。 (6) ソフトウェアによって , アンダフローフラグがクリアされます。 (7) ソフトウェアによって , 割込みが許可されます。 (8) アップダウンカウンタがカウントダウンします。 (9) アンダフローが発生します ( 割込み要求が発生します。)。 (10) ソフトウェアによって , アンダフローフラグがクリアされます。 (11) (8) ∼ (10) を繰り返します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 619 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5.2 アップダウンカウントモード CMS1, CMS0=01 ZIN 端子を使用したアップダウンカウンタクリア制御 (1) 該当するビット ( カウント許可 CSTR, リロード許可 RLDE, クリア許可 UCRE) が設定されます。 (2) AIN 端子へのパルス入力が検出されると , アップダウンカウンタがカウントアップします。 (3) カウント方向転換フラグが "1" に設定されています。 (4) ZIN 端子にエッジが印加されると , アップダウンカウンタがクリアされます。 (5) AIN 端子への連続的なパルス入力によって , アップダウンカウンタがカウントアップします。 (6) (7) アップダウンカウンタのカウント値が , コンペア値に一致し ( コンペア一致 ), コンペア一致フラグが "1" に設定されます。 コンペア一致によって , アップダウンカウンタがクリアされます。 (8) AIN 端子への連続的なパルス入力によって , アップダウンカウンタがカウントアップします。 (9) AIN 端子へのパルス入力が停止すると , アップダウンカウンタのカウントが停止します。 (10) BIN 端子へのパルス入力が検出されると , アップダウンカウンタがカウントダウンします。 (11) カウント方向転換フラグが "1" に設定されています。 (12) BIN 端子への連続的なパルス入力によって , アップダウンカウンタがカウントダウンします。 (13) アップダウンカウンタにアンダフローが存在し , アンダフローフラグが "1" に設定されます。 (14) アンダフローによって , リロード値がアップダウンカウンタにリロードされます。 (15) 次回アップダウンカウンタがカウントダウンすると , コンペア一致フラグが "1" に設定されます。 620 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5.3 アップダウンカウントモード CMS1, CMS0=01 ZIN=ゲート制御 (12) (6) (7) (2) (11) (8) CSTR, RLDE, UCRE (1) UDCC AIN (2) (3) (6) (7) BIN CGE[1:0]=10 (12) (9) (4) “H” (8) ZIN (ゲート) (10) “H” (13) ZIN 端子でのゲートのカウント (1) (2) 該当するビット ( カウント許可 CSTR, リロード許可 RLDE, およびクリア許可 UCRE) が設定されま す。 アップダウンカウンタがクリアされます (CGSC に "0" が書き込まれます。) 。 (4) AIN 端子へのパルス入力と ZIN 端子でのカウントのいずれも許可されていない場合は , アップダウン カウンタはカウントアップもカウントダウンもしません。 ZIN 端子でカウントが許可されています。 (5) アップダウンカウンタがカウントアップします。 (6) AIN 端子へのパルス入力が停止すると , アップダウンカウンタのカウントが停止します。 (3) (7) BIN 端子へのパルス入力が検出されると , アップダウンカウンタがカウントダウンします。 (8) ZIN 端子でカウントが禁止されていると , アップダウンカウンタのカウントが停止します。 (9) (10) AIN 端子へのパルス入力と ZIN 端子でのカウントのいずれも許可されていない場合は , アップダウン カウンタはカウントアップもカウントダウンもしません。 ZIN 端子でカウントが許可されています。 (11) アップダウンカウンタがカウントアップします。 (12) AIN 端子へのパルス入力が停止すると , アップダウンカウンタのカウントが停止します。 (13) ZIN 端子でカウントが禁止されています。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 621 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5.4 位相差カウントモード CMS1, CMS0=10 位相差カウントモードでの周波数: • BIN カウント端子の立上りエッジおよび立下りエッジでの AIN 端子の電圧レベルに応じて , アップダウンカ ウンタはカウントアップまたはカウントダウンします。 カウント値 時間 AIN BIN • カウントアップ条件: • BIN 端子の立上りエッジで検出された AIN 端子の電圧レベルが "H" の場合 • BIN 端子の立下りエッジで検出された AIN 端子の電圧レベルが "L" の場合 • カウントダウン条件: • BIN 端子の立上りエッジで検出された AIN 端子の電圧レベルが "L" の場合 • BIN 端子の立下りエッジで検出された AIN 端子の電圧レベルが "H" の場合 このカウントモードが選択されている場合 , CES1 または CES0 により検出するエッジの選択は禁止されてい ます。 622 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5.5 位相差カウントモード (4 逓倍 ) CMS1, CMS0=11 位相差カウントモードでの 4 逓倍の周波数: BIN 端子の立上りエッジおよび立下りエッジでの AIN 端子の電圧レベルに応じて , アップダウンカウンタはカ ウントアップまたはカウントダウンします。また , AIN 端子の立上りエッジおよび立下りエッジでの BIN 端 子の電圧レベルに応じて , アップダウンカウンタはカウントアップまたはカウントダウンします。 カウント値 時間 AIN BIN • カウントアップ条件: • BIN 端子の立上りエッジで検出された AIN 端子の電圧レベルが "H" の場合 • BIN 端子の立下りエッジで検出された AIN 端子の電圧レベルが "L" の場合 • AIN 端子の立上りエッジで検出された BIN 端子の電圧レベルが "L" の場合 • AIN 端子の立下りエッジで検出された BIN 端子の電圧レベルが "H" の場合 • カウントダウン条件: • BIN 端子の立上りエッジで検出された AIN 端子の電圧レベルが "L" の場合 • BIN 端子の立下りエッジで検出された AIN 端子の電圧レベルが "H" の場合 AIN 端子の立上りエッジで検出された BIN 端子の電圧レベルが "H" の場合 • AIN 端子の立下がりエッジで検出された BIN 端子の電圧レベルが "L" の場合 エンコーダ出力のカウントにアップダウンカウンタが使用される場合 , 回転角および回転数の高精度のカウント および回転方向の検出は , AIN, BIN, および ZIN 端子に位相 A, 位相 B, および位相 Z のエンコーダ出力信号を それぞれ印加することによって行うことができます。 このカウントモードが選択されている場合 , CES1 または CES0 により検出するエッジの選択は禁止されてい ることに注意してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 623 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5.6 クリアタイミング (1) クリア要求 ( コンペア一致 , ZIN エッジ検出 , クリアビット UDCLR への "0" の書込み ) が行われている場 合 , アップダウンカウンタが次回カウントアップしたときにクリアが実行されます。 コンペア値 0066H カウント値 0065H 0066H 0000H 0001H クリア要求 カウントアップ クリアタイミング (2) クリア要求 ( コンペア一致 , ZIN エッジ検出 , およびクリアビット DCC への "0" の書込み ) が行われていて も , アップダウンカウンタがカウントアップもカウントダウンもしない場合は , クリアは実行されません。 コンペア値 0066H カウント値 0065H 0066H 0065H クリア要求 カウントアップ カウントダウン クリアタイミング(なし) (3) クリア要求 ( コンペア一致 , ZIN エッジ検出 , およびクリアビット DCC への "0" の書込み ) が行われた後 , アップダウンカウンタがカウントアップしない場合 , カウントが禁止されていると (CSTR=0) カウンタがク リアされます。 コンペア値 0066H カウント値 0065H 0066H 0000H クリア要求 カウントアップ CSTRまたはZINゲート機能 カウント許可 カウント禁止 (4) アップダウンカウンタが最大カウントを超えると , オーバフローフラグが "1" に設定され , カウンタ値が "0000H" に戻されます。 カウント値 FFFEH FFFFH 0000H カウントアップ オーバフロー 624 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.5 動作 MB91460N シリーズ 36.5.7 リロードタイミング 次回アップダウンカウンタが "0000H" 以下にカウントダウンすると , アンダフローが発生し ( 割込み要求発生 ), リロードが実行されます。 コンペア値 0066H カウント値 0001H 0000H 0066H 0065H 0064H カウントダウン アンダフロー リロードタイミング ( 注意事項 ) クリア動作およびリロード動作が同時に発生した場合は , クリアが優先されます。 36.5.8 カウンタへの値の書込み (2) RCR XXH 67H アップダウンカウンタ CSTR 67H (4) (1) (3) CTUT (1) アップダウンカウンタのカウントを禁止します。 (2) PCR に値を書き込みます。 (3) カウント書込みビット CTUT に "1" を書き込みます。 (4) リロード / コンペアレジスタ RCR からアップダウンカウンタに値が転送されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 625 第 36 章 アップダウンカウンタ 36.6 設定 MB91460N シリーズ 36.6 設定 表 36.6-1 タイマモードでのアップダウンカウンタの実行に必要な設定 設定 設定レジスタ 設定手順* リロード値の設定 アップダウンリロード / コンペアレジスタ (UDRC) 36.7.16 項 ( 必要に応じて ) アップダウンカウンタへの値の設定 または アップダウンカウンタのカウント値のクリア アップダウンリロード / コンペアレジスタ (UDRC) 36.7.5 項 カウンタ制御レジスタ (UDCC) 36.7.8 項 ビット長の設定 36.7.1 項 タイマモードへのカウントモードの設定 36.7.2 項 カウントソースの選択 カウンタ制御レジスタ (UDCC) 36.7.3 項 アンダフロー時のリロードの許可 36.7.7 項 ZIN 端子を使用したカウント制御 ( クリア / ゲート ) の許可 36.7.9 項 36.7.10 項 カウントステータスレジスタ (UDCS) アップダウンカウンタの起動 36.7.11 項 * 設定手順は , 番号で指定された項を参照してください。 表 36.6-2 アップダウンカウントモードでのアップダウンカウンタの実行に必要な設定 設定 設定レジスタ 設定手順* リロード値 / コンペア値の設定 アップダウンリロード / コンペアレジスタ (UDRC) 36.7.16 項 ( 必要に応じて ) アップダウンカウンタへの値の設定 または アップダウンカウンタのカウント値のクリア アップダウンリロード / コンペアレジスタ (UDRC) 36.7.5 項 カウンタ制御レジスタ (UDCC) 36.7.8 項 ビット長の設定 36.7.1 項 アップダウンカウントモードへのカウント モードの設定 36.7.2 項 信号 (AIN または BIN) の検出対象となる エッジの選択 ( カウントの実行対象 ) 36.7.4 項 カウンタ制御レジスタ (UDCC) コンペア一致後のカウント時のアップダウン カウンタのクリアの許可 36.7.6 項 アンダフロー時のリロードの許可 36.7.7 項 ZIN 端子を使用したカウント制御 ( クリア / ゲート ) の許可 36.7.9 項 36.7.10 項 アップダウンカウンタの起動 カウントステータスレジスタ (UDCS) 36.7.11 項 * 設定手順は , 番号で指定された項を参照してください。 626 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.6 設定 MB91460N シリーズ 表 36.6-3 位相差カウントモード (2 または 4 で乗算 ) でのアップダウンカウンタの実行に必要な設定 設定 設定レジスタ 設定手順* リロード値 / コンペア値の設定 アップダウンリロード / コンペアレジスタ (UDRC) 36.7.16 項 ( 必要に応じて ) アップダウンカウンタへの値の設定 または アップダウンカウンタのカウント値のクリア アップダウンリロード / コンペアレジスタ (UDRC) 36.7.5 項 カウンタ制御レジスタ (UDCC) 36.7.8 項 ビット長の設定 36.7.1 項 位相差カウントモード (2 または 4 で乗算 ) へ のカウントモードの設定 36.7.2 項 コンペア一致後のカウント時のアップダウン カウンタのクリアの許可 カウンタ制御レジスタ (UDCC) 36.7.6 項 アンダフロー時のリロードの許可 36.7.7 項 ZIN 端子を使用したカウント制御 ( クリア / ゲート ) の許可 36.7.9 項 36.7.10 項 カウントステータスレジスタ (UDCS) アップダウンカウンタの起動 36.7.11 項 * 設定手順は , 番号で指定された項を参照してください。 表 36.6-4 アップダウンカウンタ割込みに必要な設定 設定 設定レジスタ アップダウンカウンタ割込みベクタおよび アップダウンカウンタ割込みレベルの設定 アップダウンカウンタ割込みの設定 割込み要求クリア 割込み要求許可 「第 21 章 割込み制御」を参照してください。 カウンタ制御レジスタ (UDCC) カウントステータスレジスタ (UDCS) 設定手順* 36.7.17 項 36.7.19 項 * 設定手順は , 番号で指定された項を参照してください。 表 36.6-5 アップダウンカウンタの非活性化に必要な設定 設定 設定レジスタ アップダウンカウンタの非活性化 (ZIN 端子に カウンタ制御レジスタ (UDCC) よる制御 ) アップダウンカウンタの非活性化 カウントステータスレジスタ (UDCS) 設定手順* 36.7.10 項 36.7.11 項 * 設定手順は , 番号で指定された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 627 第 36 章 アップダウンカウンタ 36.7 Q & A MB91460N シリーズ 36.7 Q & A 36.7.1 アップダウンカウンタのビット長 (8 または 16) を選択するには ? 16 ビットモード許可ビット (UDCC:M16E) を使用します。 アップダウンカウンタのビット長 16 ビットモード許可ビット (M16E) ビット長 8 の設定 "0" に設定します。 ビット長 16 の設定 "1" に設定します。 36.7.2 カウントモードの種類と設定方法は ? カウントモードには , 次の 4 種類があります。 タイマ , アップダウンカウント , 位相差カウント (2 あるいは 4 で乗算 ) カウントモードを設定するには , カウントモード選択ビット (UDCC:CMS1, CMS0) を使用します。 カウントモード カウントモード選択ビット (CMS1, CMS0) タイマへのカウントモードの設定 "00B" に設定します。 アップダウンカウントへのカウントモードの設定 "01B" に設定します。 位相差カウントへのカウントモードの設定 (2 で乗算 ) "10B" に設定します。 位相差カウントモードへのカウントモードの設定 (4 で乗算 ) "11B" に設定します。 36.7.3 タイマモードで実行されているアップダウンカウンタのカウントソースを選択するには ? 内部プリスケーラ選択ビット (UDCC:CLKS) を使用します。 タイマモードのカウントソース 内部プリスケーラ選択ビット (CLKS) FCLKP の 2 分周の取得 "0" に設定します。 FCLKP の 8 分周の取得 "1" に設定します。 36.7.4 アップダウンカウントモードで実行されているアップダウンカウンタが入力信号 (AIN または BIN) を検出するエッジを選択するには ? カウントクロックエッジ選択ビット (UDCC:CES1, CES0) を使用します。 628 カウンタで検出するエッジ カウントクロックエッジ選択ビット (CES1, CES0) 検出の禁止 "00B" に設定します。 立下りエッジの検出の許可 "01B" に設定します。 立上りエッジの検出の許可 "10B" に設定します。 両エッジの検出の許可 "11B" に設定します。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.7 Q & A MB91460N シリーズ 36.7.5 アップダウンカウンタに値を設定するには ? リロード / コンペアレジスタ (RCR) に値を書き込み , カウンタ書込みビット (UDCC:CTUT) に "1" を書き込む と , アップダウンカウンタに値を設定できます。 36.7.6 アップダウンカウンタのカウントアップ値が , コンペア値と一致する場合 (RCR[0:1]), カ ウンタの次回のカウントアップ時にアップダウンカウンタのクリアを 許可するには ? アップダウンカウンタクリア許可ビット (UDCC:UCRE) を使用します。 カウントアップ値がコンペア値と一致し , アップ ダウンカウンタがカウントアップする場合 アップダウンカウンタクリア許可ビット (UCRE) アップダウンカウンタのクリアの禁止 "0" に設定します。 アップダウンカウンタのクリアの許可 "1" に設定します。 36.7.7 アップダウンカウンタにアンダフローが存在する場合にアップダウンカウンタへの リロード値 (RCR[1:0]) のリロードを許可するには ? リロード許可ビット (UDCC:RLDE) を使用します。 カウントアップ値がコンペア値と一致する場合 リロード許可ビット (RLDE) アップダウンカウンタへのリロード値 (RCR) のリ ロードの禁止 "0" に設定します。 アップダウンカウンタへのリロード値 (RCR) のリ ロードの許可 "1" に設定します。 36.7.8 アップダウンカウンタをクリアするには ? アップダウンカウンタは , 以下のいずれかの方法でクリアできます。 • アップダウンカウンタクリアビット (UDCC:UDCLR) への "0" の書込み。 • ZIN 端子へのエッジの印加 ( 詳細は , 41.7.9 を参照 ) 。 • コンペア値がアップダウンカウンタのカウントアップ値と一致する場合。 • 最大カウントに達した後アップダウンカウンタがカウントアップしようとした場合。 • 入力のリセット (INITX 端子入力 , ウォッチドッグリセット , ソフトウェアリセット ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 629 第 36 章 アップダウンカウンタ 36.7 Q & A MB91460N シリーズ 36.7.9 ZIN 端子を使用してアップダウンカウンタをクリアするには ? カウンタクリアゲートビット (UDCC:CGSC) およびカウンタクリアゲートエッジ選択ビット (UDCC:CGE1, CGE0) を使用します ( これらのビットは , アップダウンカウントモードで許可されています。)。 ZIN 端子入力 カウンタクリアゲートビット カウンタクリア / ゲートエッジ (CGSC) 選択 (CGE1, CGE0) エッジ検出の禁止 ( クリア ) "0" に設定します。 "00B" に設定します。 立下りエッジでのアップダウンカウンタのクリア "0" に設定します。 "01B" に設定します。 立上りエッジでのアップダウンカウンタのクリア "0" に設定します。 "10B" に設定します。 CGE1, CGE0=11B は , 設定が禁止されていることを示します。 36.7.10 ZIN 端子を使用してアップダウンカウンタのカウント動作を制御するには ? カウンタクリアゲートビット (UDCC:CGSC) およびカウンタクリアゲートエッジ選択ビット (UDCC:CGE1, CGE0) を使用します ( これらの設定は , すべてのカウントモードで許可されています。)。 ZIN 端子入力 カウンタクリアゲートビット カウンタクリア / ゲートエッジ (CGSC) 選択 (CGE1, CGE0) レベル検出の禁止 ( カウント ) "1" に設定します。 "00B" に設定します。 "L" レベルでのカウントアップまたはカウントダウンの開始 "H" レベルでのカウントアップまたはカウントダウンの停止 "1" に設定します。 "01B" に設定します。 "L" レベルでのカウントアップまたはカウントダウンの停止 "H" レベルでのカウントアップまたはカウントダウンの開始 "1" に設定します。 "10B" に設定します。 CGE1, CGE0=11B は , 設定が禁止されていることを示します。 36.7.11 アップダウンカウンタのカウント動作を許可 / 禁止するには ? カウント起動ビット (UDCS:CSTR) を使用します。 カウントアップ値がコンペア値と一致する場合 カウント起動ビット (UDCS:CSTR) アップダウンカウンタのカウント動作の禁止 "0" に設定します。 アップダウンカウンタのカウント動作の許可 ( カウント動作の起動 ) "1" に設定します。 • カウントを開始するには ? タイマモード 内部クロックを使用すると , カウントが開始されます (41.7.3 参照 ) 。 アップダウンカウンタ AIN または BIN 端子入力信号が検出されると , カウントが開始されます (41.7.4 を参照 ) 。 位相差カウントモード AIN 端子と BIN 端子の間に位相差が検出されると , カウントが開始されます カウント動作許可レベルが検出されないと , ZIN 端子のゲート機能は選択可能にならないことに注意し てください。 630 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.7 Q & A MB91460N シリーズ 36.7.12 直前のカウント方向 ( 現在の回転方向 ) を確認するには ? アップダウンフラグ (UDCS:UDF1, UDF0) を使用します。 アップダウンフラグ (UDF1, UDF0) "00B" は , リセット後にカウントが実行されないことを示します。 "01B" は , カウントダウンが実行されることを示します。 "10B" は , カウントアップが実行されることを示します。 "11B" は , カウントアップとカウントダウンの両方が実行され , カウント値が変更されないことを示します。 このフラグは , 割込みとは関係ありません。したがって , 割込み処理にはカウント方向転換フラグ (UDCC:CDCF) を使用します。 36.7.13 カウント方向転換を確認するには ? カウント方向転換フラグ (UDCC:CDCF) を使用します。 カウント方向転換フラグ (CDCF) "0" は , フラグのクリア後に方向転換が行われていないことを示します。 "1" は , フラグのクリア後に方向転換が複数回行われたことを示します。 36.7.14 コンペア一致が発生したことを確認するには ? コンペア検出フラグ (UDCS:CMPF) を使用します。 コンペア検出フラグ (CMPF) "0" は , アップダウンカウンタのカウント値がコンペア値と一致しないことを示します。 "1" は , アップダウンカウンタのカウント値がコンペア値と一致していることを示します。 カウンタ動作 ( カウントアップ / ダウン , または値の設定やリロード ) に関係なく , カウント値がコンペア値に 一致するとコンペア検出フラグが "1" に設定されます。 36.7.15 オーバフローまたはアンダフローが発生したことを確認するには ? オーバフロー検出フラグ (UDCS:OVFF) およびアンダフロー検出フラグ (UDCS:UDFF) を使用します。 OVFF =1 は , アップダウンカウンタにオーバフローがあることを示します。 UDFF =1 は , アップダウンカウンタにアンダフローがあることを示します。 36.7.16 リロード / コンペア値を設定するには ? リロード / コンペアレジスタ (UDRC) に値を設定します ( この値は , コンペア値またはリロード値として使用 されます。) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 631 第 36 章 アップダウンカウンタ 36.7 Q & A MB91460N シリーズ 36.7.17 割込み関連レジスタとは ? アップダウンカウンタ割込みベクタおよびアップダウンカウンタ割込みレベルを設定します。 以下の表に , アップダウンカウンタ番号 , 割込みレベル , および割込みベクタの関係を示します。 割込みレベルおよびベクタについては , 「第 21 章 割込み制御」を参照してください。 割込みベクタ ( 初期値 ) アップダウンカウンタ 0/1 (16 ビット ) アップダウンカウンタ 0 (8 ビット ) アップダウンカウンタ 1 (8 ビット ) #128 アドレス:0FFDFCH #129 アドレス:0FFDF8H 割込みレベル設定ビット (ICR4 ∼ ICR0) 割込みレベルレジスタ (ICR56) アドレス:000478H 以下の割込み要求フラグは , 自動的にクリアされません。 • カウント方向転換:UDCC:CDCF • コンペア検出:UDCS:CMPF • オーバフロー:UDCS:OVFF • アンダフロー:UDCS:UDFF このため , 割込み処理から制御が戻されるようにするには , 割込み要求フラグに "0" が書き込まれる必要が あります。 36.7.18 割込みの種類と選択方法は ? 以下の 3 つの割込み要因があります。 • カウント方向転換 • コンペア一致 • オーバフロー / アンダフロー 割込み要求は , これらの 3 つの割込み要因を論理和演算することによって生成されます。各割込み要因を切り離 すことはできません。 割込み要求許可ビットを使用して , 希望の割込みを許可します。 632 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 36 章 アップダウンカウンタ 36.7 Q & A MB91460N シリーズ 36.7.19 割込みを許可 ( 選択 ), 禁止 , またはクリアするには ? 割込み要求許可フラグおよび割込み要求フラグ 割込みを許可 ( 選択 ) するには , 以下の割込み要求許可ビットを使用します。 • カウント方向転換割込み要求許可ビット :UDCC:CFIE • コンペア割込み要求許可ビット :UDCS:CITE • オーバフロー / アンダフロー割込み要求許可ビット :UDCS:UDIE 割込み要求許可ビット (CFIE, CITE, および UDIE) 割込み要求の禁止 "0" に設定します。 割込み要求の許可 "1" に設定します。 割込み要求をクリアするには , 以下の割込み要求ビットを使用します。 • カウント方向転換 :UDCC:CDCF • コンペア検出 :UDCS:CMPF • オーバフロー :UDCS:OVFF • アンダフロー :UDCS:UDFF 割込み要求ビット (CDCF, CMPF, OVFF, および UDFF) 割込み要求のクリア CM71-10149-1 "0" を書き込みます。 FUJITSU MICROELECTRONICS LIMITED 633 第 36 章 アップダウンカウンタ 36.8 注意事項 MB91460N シリーズ 36.8 注意事項 • カウント方向は , カウンタのリセット直後に " カウントダウン " するよう設定されています。このため , リ セット直後にカウンタがカウントアップする場合 , カウント方向転換ビット (UDCC:CDCF) が , 方向転換 が行われたことを示す "1" に設定されます。 • アップダウンカウンタレジスタ (UDCR) が最大カウントに達した場合 , オーバフローフラグが "1" に設定さ れ , カウントが継続されます。この場合 , UDCR はクリアされます。 • AIN, BIN, および ZIN 信号の最小パルス幅は , 2 × T です (T=1/CLKP:周辺クロックの周期 )。 • カウント方向転換割込みおよびカウント方向フラグに対して変更が行われたかどうかを判別する場合 , 複数 回の方向転換が短期間に連続的に行われ , カウント方向フラグが元の値に戻されている ( これにより , 変更が まったく行われなかったかのように見えます ) 可能性があることを考慮する必要があります。 • カウントアップ時とカウントダウン時の両方で , アップダウンカウンタのカウント値がコンペア値に一致す ると , コンペア検出フラグ (UDCS:CMPF) が "1" に設定されます。以下の場合は , これらのフラグも "1" に 設定されます。 • リロード値がアップダウンカウンタにリロードされた場合 • アップダウンカウンタの起動時に , アップダウンカウンタのカウント値がコンペア値と一致する場合 • アップダウンカウンタのカウント値は , 以下のようにして生成されるクリア要求によってクリアされます。 • ZIN 端子からの信号入力のエッジ • アップダウンカウンタクリアビット (UDCC:UDCLR) への "0" の書込み • コンペア値がカウント値と一致する場合 また , • リセット入力 (INITX, RST, およびウォッチドッグリセット ) • カウンタが最大アカウントからカウントアップする場合 上記のような場合も値は "0000H" に設定されます。 • アップダウンカウンタのクリア要求とリロード要求が同時に行われると , リロード要求よりもクリア要求が 優先されます。 • アップダウンカウンタがカウントアップしている場合 , カウンタへの書込みは禁止されます。 (UDRC レジスタへの書込み後にカウンタ書込みビット (UDCC:CTUT) に "1" を書き込むことは禁止されて います。) カウント中にソフトウェアによってリロード動作が実行される場合 , リロードが優先され , 発生するはずで あったイベントが発生しなくなります。 • ソフトウェアでは , アップダウンフラグ (UDCS:UDF1, UDF0) を "0" にクリアできません。リセット ( 初期化 ) によってのみ , フラグを "0" にクリアできます。 634 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.1 A/D コンバータの概要 MB91460N シリーズ 第 37 章 A/D コンバータ この章では , A/D コンバータの概要を示し , レジスタ構成と機能 , および A/D コンバータの動 作について説明します。 37.1 A/D コンバータの概要 A/D コンバータでは , アナログ入力電圧がデジタル値に変換されます。A/D コンバータには , 以下の特長があ ります。 - A/D コンバータの特長: • 変換時間:1 チャネルあたり最小 3μs • サンプルホールド回路付 RC タイプの逐次比較変換方式を採用 • 10 ビットまたは 8 ビットの分解能 • アナログ入力は 8 チャネルからソフトウェアで選択可能 • 単発変換モード:1 チャネルを選択変換 • スキャン変換モード:連続した複数のチャネルを変換 , 最大 8 チャネルをプログラム可能 単発変換モード :指定チャネルを 1 回だけ変換 連続モード :指定チャネルを繰り返し変換 ストップモード :1 チャネルを変換後 , 次の起動まで一時的に待機 ( 変換開始タイミングの同期が可能 ) • A/D 変換終了時に , CPU に対して A/D 変換割込み要求を発生させることができます。連続処理に理想的な オプションであるこの割込みを使用して , メモリへの A/D 変換結果の DMA 転送を開始できます。 • ソフトウェア , 外部トリガ ( 立下りエッジ ), またはタイマ ( 立上りエッジ ) によって開始することができま す。 ■ 入力インピーダンス 図 37.1-1 に , A/D コンバータのサンプリング回路を示します。 図 37.1-1 入力インピーダンス アナログ 信号源 Rext ANx アナログSW ADC Rextは、最大サンプリング時間(Tsamp)以上に設定しないでください。 Rext = Tsamp/(7× Cin) − Rin CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 635 第 37 章 A/D コンバータ 37.2 A/D コンバータのブロックダイヤグラム MB91460N シリーズ 37.2 A/D コンバータのブロックダイヤグラム 以下の図に , A/D コンバータのブロックダイヤグラムを示します。 ■ A/D コンバータのブロックダイヤグラム 図 37.2-1 A/D コンバータのブロックダイヤグラム MPX AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 AN8 AVCC AVRH/AVRL AVSS D/Aコンバータ 逐次比較 レジスタ コンパレータ データバス 入力回路 サンプルホールド 回路 デコーダ A/Dデータレジスタ A/D制御レジスタ0 A/D制御レジスタ1 ADCS0/ ADCS1 動作 クロック ATGX 16ビット リロードタイマ プリスケーラ CLKP 636 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ 37.3 A/D コンバータのレジスタ A/D コンバータには , 以下のレジスタがあります。 • A/D 許可レジスタ (ADER) • A/D 制御ステータスレジスタ (ADCS) • データレジスタ (ADCR) • サンプリングタイマ設定レジスタ (ADCT) • 開始チャネル設定レジスタ (ADSC) • 終了チャネル設定レジスタ (ADEC) ■ レジスタ一覧 • ADERL (ADC0) :アドレス 0001A2H ( アクセス:ワード , ハーフワード , バイト ) bit bit 15 14 13 12 11 10 9 8 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 7 ADE7 0 R/W 6 5 4 3 2 1 0 ADE6 0 R/W ADE5 0 R/W ADE4 0 R/W ADE3 0 R/W ADE2 0 R/W ADE1 0 R/W ADE0 0 R/W 初期値 属性 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCS1 (ADC0) :アドレス 0001A4H ( アクセス:ハーフワード , バイト ) bit 15 BUSY 0 R/W 14 13 12 11 10 9 8 INT 0 R/W INTE 0 R/W PAUS 0 R/W STS1 0 R/W STS0 0 R/W STRT 0 R/W 予約 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCS0 (ADC0) :アドレス 0001A5H ( アクセス:ハーフワード , バイト ) bit 7 MD1 0 R/W 6 5 4 3 2 1 0 MD0 0 R/W S10 0 R/W ACH4 0 R ACH3 0 R ACH2 0 R ACH1 0 R ACH0 0 R 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCR1 (ADC0) :アドレス 0001A6H ( アクセス:ワード , ハーフワード , バイト ) bit 15 − 0 R0 14 − 0 R0 13 − 0 R0 12 − 0 R0 11 − 0 R0 10 9 8 − 0 R0 D9 X R D8 X R 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 637 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ • ADCR0 (ADC0) :アドレス 0001A7H ( アクセス:ワード , ハーフワード , バイト ) bit 7 D7 X R 6 5 4 3 2 1 0 D6 X R D5 X R D4 X R D3 X R D2 X R D1 X R D0 X R 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCT1 (ADC0) :アドレス 0001A8H ( アクセス:ワード , ハーフワード , バイト ) bit 15 CT5 0 R/W 14 13 12 11 10 9 8 CT4 0 R/W CT3 0 R/W CT2 1 R/W CT1 0 R/W CT0 0 R/W ST9 0 R/W ST8 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCT0 (ADC0) :アドレス 0001A9H ( アクセス:ワード , ハーフワード , バイト ) bit 7 ST7 0 R/W 6 5 4 3 2 1 0 ST6 0 R/W ST5 1 R/W ST4 0 R/W ST3 1 R/W ST2 1 R/W ST1 0 R/W ST0 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADSCH (ADC0) :アドレス 0001AAH ( アクセス:ワード , ハーフワード , バイト ) bit 15 14 13 12 11 10 9 8 − − RX,W0 − − RX,W0 − − RX,W0 ANS4 0 R/W ANS3 0 R/W ANS2 0 R/W ANS1 0 R/W ANS0 0 R/W 初期値 属性 0 ANE0 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADECH (ADC0) :アドレス 0001ABH ( アクセス:ワード , ハーフワード , バイト ) bit 7 − − RX,W0 6 5 − − RX,W0 − − RX,W0 4 ANE4 0 R/W 3 ANE3 0 R/W 2 ANE2 0 R/W 1 ANE1 0 R/W 属性は ,「ビット属性シンボルの意味」を参照してください。 638 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ 37.3.1 A/D 許可レジスタ (ADER) アナログ入力として端子が使用される場合 , ADER レジスタの対応するビットは "1" に設定されている必要が あります。 ■ A/D 許可レジスタ (ADER) • ADERL (ADC0) :アドレス 0001A2H ( アクセス:ワード , ハーフワード , バイト ) bit bit 15 予約 0 R/W 14 13 12 11 10 9 8 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 予約 0 R/W 初期値 属性 7 ADE7 0 R/W 6 ADE6 0 R/W 5 ADE5 0 R/W 4 ADE4 0 R/W 3 ADE3 0 R/W 2 ADE2 0 R/W 1 ADE1 0 R/W 0 ADE0 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 [bit7 ∼ bit0] :ADE7 ∼ ADE0 (A/D 入力許可 ) 機能 ADE 0 汎用入出力ポート ( 初期値 ) 1 アナログ入力 RST によって "0" にクリアされます。 開始チャネルと終了チャネルを "1" に設定するようにしてください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 639 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ 37.3.2 A/D 制御ステータスレジスタ (ADCS) A/D 制御ステータスレジスタによって , A/D コンバータの状態が制御および表示されます。A/D 変換時は , ADCS0 レジスタを上書きしないようにしてください。 ■ A/D 制御ステータスレジスタ 1 (ADCS1) • ADCS1 (ADC0) :アドレス 0001A4H ( アクセス:ハーフワード , バイト ) bit 15 BUSY 0 R/W 14 13 12 11 10 9 8 INT 0 R/W INTE 0 R/W PAUS 0 R/W STS1 0 R/W STS0 0 R/W STRT 0 R/W 予約 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 [bit7] BUSY ( ビジーフラグおよび停止 ) 機能 BUSY 読出し A/D コンバータ動作表示用のビットです。A/D 変換起動で設定され , 終了時にクリアされます。 書込み A/D 変換中にこのビットに "0" を書き込むと , A/D 変換が強制終了されます。連続モードおよびストップ モード時の強制終了に使用します。 RMW 命令では , ビットは "1" として読み出されます。 単発変換モードでは , A/D 変換の終了時にクリアされます。 連続モードおよびストップモードでは , "0" の書込みにより変換が終了されるまで , フラグはクリアされ ません。 リセットにより "0" に初期化されます。 強制終了とソフトウェア起動 (BUSY=0 と STRT=1) は同時に指定しないでください。 [bit6] INT ( 割込み ) このビットは , 変換データが ADCR に格納されると設定されます。 bit5 (INTE) が "1" のときにこのビットが設定されると , 割込み要求が発生します。または , DMA の起動 が許可されている場合は , DMA が起動されます。 "0" の書込みによるこのビットのクリアは , A/D 変換が停止しているときにのみ行ってください。 リセットにより "0" に初期化されます。 DMA が使用されている場合 , このビットは , DMA 転送の終了時にクリアされます。 [bit5] INTE ( 割込み許可 ) このビットでは , 変換終了割込みの許可 / 禁止が切換えられます。 機能 INTE 0 割込み禁止 ( 初期値 ) 1 割込み許可 リセットによりクリアされます。 640 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ [bit4] PAUS (A/D コンバータ一時停止 ) このビットは , A/D 変換が一時的に停止すると設定されます。 A/D コンバータには , 変換結果を格納するレジスタが 1 つしかありません。このため , 前の変換結果は , 次の変換を実行するときに DMA によって転送されないと失われます。 この問題を回避するために , 前の値が DMA によって転送されるまで , 次の変換データがデータレジスタ に格納されません。この時間 , A/D 変換が停止します。DMA を使用すると , A/D 変換が再起動されます。 このビットは , DMA を使用する場合にのみ有効です。 "0" の書込みまたはリセットによりクリアされます。(DMA 転送終了時にクリアされません。) ただし , DMA 転送待ち状態のときには , このビットはクリアできません。 変換データの保護機能については , 「37.4 A/D コンバータの動作」を参照してください。 [bit3, bit2] STS1, STS0 ( 起動要因選択 ) これらのビットは , リセットにより "00B" に初期化されます。 これらのビットは , A/D 起動要因を選択します。 機能 STS1 STS0 0 0 ソフトウェア起動 ( 初期値 ) 0 1 外部トリガ端子起動およびソフトウェア起動 1 0 16 ビットリロードタイマ起動およびソフトウェア起動 1 1 外部トリガ端子起動 , 16 ビットリロードタイマ起動 , およびソフトウェア起動 複数起動モードでは , 最初に発生する起動によって , A/D 変換が起動されます。 起動要因は , レジスタに書き込まれると直ちに変更されます。このため , A/D 動作中に起動モードを切 換える場合は注意してください。 A/D コンバータによって , 外部トリガ端子に立下りエッジが検出されます。外部トリガレベルが "L" であ り , これらのビットが外部トリガ起動モードに変更された場合は , A/D 変換が起動されることがありま す。 タイマを選択すると , 16 ビットリロードタイマ 7 が選択されます。 [bit1] STRT ( 起動 ) このビットに "1" を書き込むと , A/D 変換が起動されます ( ソフトウェア起動 ) 。 再度 "1" を書き込むと , 変換が再起動されます。 リセットにより "0" に初期化されます。 連続モードおよびストップモードでは , 再起動は発生しません。BUSY ビットを確認してから , "1" を書 き込みます ( クリア後に変換を起動します。) 。 強制終了とソフトウェア起動 (BUSY=0 と STRT=1) は同時に指定しないでください。 [bit0] 予約ビット このビットには , 常に "0" を書き込んでください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 641 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ ■ A/D 制御ステータスレジスタ 0 (ADCS0) • ADCS0 (ADC0) :アドレス 0001A5H ( アクセス:ハーフワード , バイト ) bit 7 MD1 0 R/W 6 5 4 3 2 1 0 MD0 0 R/W S10 0 R/W ACH4 0 R ACH3 0 R ACH2 0 R ACH1 0 R ACH0 0 R 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 [bit7, bit6] MD1, MD0 (A/D コンバータモード設定 ) これらのビットでは , 動作モードが設定されます。 動作モード MD1 MD0 0 0 単発モード:動作中の変換の全再起動が可能 0 1 単発モード:動作中の変換の再起動は不可能 1 0 連続モード:動作中の変換の再起動は不可能 1 1 ストップモード:動作中の変換の再起動は不可能 単発モード:選択されたチャネル ANS4 ∼ ANS0 から , 選択されたチャネル ANE4 ∼ ANE0 までの連続 した A/D 変換の各変換サイクル後に , 一時停止が発生します。 連続モード:選択されたチャネル ANS4 ∼ ANS0 から , 選択されたチャネル ANE4 ∼ ANE0 までの A/D 変換サイクルが繰り返されます。 ストップモード:選択された ANS4 ∼ ANS0 から , 選択されたチャネル ANE4 ∼ ANE0 までのチャネル ごとに A/D 変換が行われ , 一時停止します。再起動は , 起動要因の発生によって決定されます。 A/D 変換が連続モードまたはストップモードで起動された場合 , 変換動作は , BUSY ビットによって停止 されるまで継続します。 BUSY ビットに "0" を書き込むと , 変換が停止されます。 強制停止後に起動すると , 変換は選択されたチャネル ANS4 ∼ ANS0 から起動されます。 単発 , 連続 , およびストップモードでは , タイマ , 外部トリガ , およびソフトウェア起動要因のいずれに 対しても全再起動が禁止されています。 [bit5] S10 このビットによって , A/D 変換の分解能が決定されます。このビットが "0" に設定されている場合 , 分解 能は 10 ビットになります。その他の場合 , 分解能は 8 ビットで , 変換結果は ADCR0 に格納されます。 リセットにより "0" に初期化されます。 642 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ [bit4 ∼ bit0] ACH4 ∼ ACH0 ( アナログ変換選択チャネル ) これらのビットでは , 現在の変換チャネルが表されます。 変換チャネル ACH4 ACH3 ACH2 ACH1 ACH0 0 0 0 0 0 AN0 0 0 0 0 1 AN1 0 0 0 1 0 AN2 0 0 0 1 1 AN3 0 0 1 0 0 AN4 0 0 1 0 1 AN5 0 0 1 1 0 AN6 0 0 1 1 1 AN7 機能 ACH 読出し A/D 変換中 (BUSY=1), 現在の変換チャネルが表されます。強制停止により変換が停止された場合は , 停止されたチャネルが表されます。 書込み これらのビットに影響はありません。 リセットにより "0000B" に初期化されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 643 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ 37.3.3 データレジスタ (ADCR1, ADCR0) これらのレジスタは , A/D コンバータの変換結果を格納する場合に使用します。ADCR0 には , 下位 8 ビットが 格納されます。ADCR1 には , 上位 2 ビットが格納されます。レジスタ値は , 各変換の終了時に更新されます。 通常 , レジスタには , 前の変換の結果が格納されています。 ■ データレジスタ (ADCR1, ADCR0) • ADCR1 (ADC0) :アドレス 0001A6H ( アクセス:ワード , ハーフワード , バイト ) bit 15 14 13 12 11 10 9 8 − − R0,W0 − − R0,W0 − − R0,W0 − − R0,W0 − − R0,W0 − − R0,W0 D9 X R D8 X R 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCR0 (ADC0) :アドレス 0001A7H ( アクセス:ワード , ハーフワード , バイト ) bit 7 D7 X R 6 5 4 3 2 1 0 D6 X R D5 X R D4 X R D3 X R D2 X R D1 X R D0 X R 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 ADCR1 の bit15 ∼ bit10 は , "0" として読み出されます。 A/D コンバータには , 変換データ保護機能が備えられています。詳細は , 「37.4 A/D コンバータの動作」 を参照してください。 644 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ 37.3.4 サンプリングタイマ設定レジスタ (ADCT) ADCT レジスタでは , アナログ入力のサンプリング時間およびコンペア時間が制御されます。このレジスタで は , A/D 変換時間が設定されます。A/D 変換動作中に , このレジスタの値を更新しないようにしてください。 ■ サンプリングタイマ設定レジスタ (ADCT) • ADCT1 (ADC0) :アドレス 0001A8H ( アクセス:ワード , ハーフワード , バイト ) bit 15 CT5 0 R/W 14 13 12 11 10 9 8 CT4 0 R/W CT3 0 R/W CT2 1 R/W CT1 0 R/W CT0 0 R/W ST9 0 R/W ST8 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADCT0 (ADC0) :アドレス 0001A9H ( アクセス:ワード , ハーフワード , バイト ) bit 7 ST7 0 R/W 6 5 4 3 2 1 0 ST6 0 R/W ST5 1 R/W ST4 0 R/W ST3 1 R/W ST2 1 R/W ST1 0 R/W ST0 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 [bit15 ∼ bit10] CT5 ∼ CT0 (A/D コンペア時間設定 ) これらのビットでは , コンペア時間のクロック分周が指定されます。 設定 "000001B" は , 1 分周 (=CLKP) を指します。 これらのビットを "000000B" に設定しないでください。 リセットにより , これらのビットは "000100B" に初期化されます。 コンペア時間 = CT 値× CLKP サイクル× 10 + (4 × CLKP) [bit9 ∼ bit0] ST9 ∼ ST0 ( アナログ入力サンプリング時間設定 ) これらのビットでは , アナログ入力のサンプリング時間が指定されます。 リセットにより , これらのビットは "0000101100B" に初期化されます。 サンプリング時間 =ST 値× CLKP サイクル 必要サンプリング時間および ST 値は , 以下のように計算されます。 必要サンプリング時間 (Tsamp) = (Rext + Rin) × Cin × 7 ST9 ∼ ST0 = Tsamp / CLKP サイクル ST は , サンプリング時間が Tsamp 以上になるような値に設定する必要があります。 例:CLKP = 32MHz, AVCC >= 4.5V, Rext = 200kΩ Tsamp = (200 × 103 + 2.6 × 103) × 8.5 × 10-12 × 7 = 12.05 [μs] ST = 12.05-6 / 31.25-9 = 385.9 ST は , 386 以上に設定する必要があります (110000010B) 。 Tsampは, Rextにより決定されます。このため, コンペア時間は, Rextと併せて考慮する必要があります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 645 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ <注意事項> 変換時間=サンプリング時間+コンペア時間 変換時間, サンプリング時間, コンペア時間の規格につきましては, 各品種のデータシートを参照願います。 37.3.5 A/D チャネル設定レジスタ (ADSCH, ADECH) これらのレジスタでは , 変換する A/D コンバータのチャネルが指定されます。A/D 変換動作中に , これらのレ ジスタを更新しないようにしてください。 ■ A/D チャネル設定レジスタ (ADSCH, ADECH) • ADSCH (ADC0) :アドレス 0001AAH ( アクセス:ワード , ハーフワード , バイト ) bit 15 14 13 12 11 10 9 8 − − RX,W0 − − RX,W0 − − RX,W0 ANS4 0 R/W ANS3 0 R/W ANS2 0 R/W ANS1 0 R/W ANS0 0 R/W 初期値 属性 属性は ,「ビット属性シンボルの意味」を参照してください。 • ADECH (ADC0) :アドレス 0001ABH ( アクセス:ワード , ハーフワード , バイト ) bit 7 6 5 4 3 2 1 0 − − RX,W0 − − RX,W0 − − RX,W0 ANE4 0 R/W ANE3 0 R/W ANE2 0 R/W ANE1 0 R/W ANE0 0 R/W 初期値 属性 これらのビットでは , A/D コンバータの開始チャネルと終了チャネルが設定されます。 ANE4 ∼ ANE0 を ANS4 ∼ ANS0 と同じチャネルに設定すると , このチャネルのみの変換が指定されます。 ( 単発変換 ) 連続モードまたはストップモードでは , ANE4 ∼ ANE0 で指定されたチャネルまで , 変換が実行されます。 次に , ANS4 ∼ ANS0 で指定されたチャネルから , 変換が再起動されます。 ANS > ANE の場合 , ANS で指定されたチャネルから , 連続して ch.7 まで変換が起動され , チャネル 0 から再起動されて , ANE で指定されたチャネルで終了します。 リセットにより ANS=00000B, ANE=00000B に初期化されます。 例:チャネル設定が ANS=ch.6, ANE=ch.3 で , 単発変換モードの場合 動作:変換チャネル ch.6 → ch.7 → ch.0 → ch.1 → ch.2 → ch.3 終了 646 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.3 A/D コンバータのレジスタ MB91460N シリーズ [bit12 ∼ bit8] ANS4 ∼ ANS0 ( アナログ開始チャネル設定 ) [bit4 ∼ bit0] ANE4 ∼ ANE0 ( アナログ終了チャネル設定 ) ANS4 ANE4 ANS3 ANE3 ANS2 ANE2 ANS1 ANE1 ANS0 ANE0 0 0 0 0 0 AN0 0 0 0 0 1 AN1 0 0 0 1 0 AN2 0 0 0 1 1 AN3 0 0 1 0 0 AN4 0 0 1 0 1 AN5 0 0 1 1 0 AN6 0 0 1 1 1 AN7 CM71-10149-1 開始 / 終了チャネル FUJITSU MICROELECTRONICS LIMITED 647 第 37 章 A/D コンバータ 37.4 A/D コンバータの動作 MB91460N シリーズ 37.4 A/D コンバータの動作 A/D コンバータは逐次比較方法で動作し , 10 ビットまたは 8 ビット分解能を選択できます。変換結果の格納に 提供されている 16 ビットレジスタは 1 つだけであるため , 変換データレジスタ (ADCR0 および ADCR1) は , 変換が終了するたびに更新されます。したがって , A/D コンバータ単独では連続変換処理に適していないため , DMA を使用することをお勧めします。以下に , 動作モードについて説明します。 ■ 単発モード 単発変換モードでは , ANS ビットおよび ANE ビットで選択されたアナログ入力信号が , ANE ビットで 設定された終了チャネルの変換が終了するまで , 順に変換されます。次に , A/D 変換が終了します。 開始チャネルと終了チャネルが同じ (ANS=ANE) ときは , 信号チャネル変換のみが実行されます。 例: ANS=00000B, ANE=00011B 開始→ AN0 → AN1 → AN2 → AN3 →終了 ANS=00010B, ANE=00010B 開始→ AN2 →終了 ■ 連続モード 連続モードでは , ANS ビットおよび ANE ビットで選択されたアナログ入力信号が , ANE ビットで設定 された終了チャネルの変換が終了するまで順に変換され , コンバータがアナログ入力の ANS チャネル に戻り , 処理を連続して繰り返します。開始チャネルと終了チャネルが同じ (ANS=ANE) ときは , こ のチャネルの変換が連続して実行されます。 例: ANS=00000B, ANE=00011B 開始→ AN0 → AN1 → AN2 → AN3 → AN0 ... → 繰り返し ANS=00010B, ANE=00010B 開始→ AN2 → AN2 → AN2 ... → 繰り返し 連続モードでは , BUSY ビットに "0" が書き込まれるまで , 変換が繰り返されます。(BUSY ビットに "0" を書き込むと , 変換動作が強制停止されます。) 強制終了動作によって , 現在の変換が変換途中で停 止されることに注意してください ( 動作が強制終了された場合 , 変換レジスタの値は , 最後に終了し た変換の結果になります ) 。 ■ ストップモード ストップモードでは , ANS ビットおよび ANE ビットで選択されたアナログ入力信号が順に変換されま すが , 変換動作がチャネルごとに一時停止します。一時停止は , 別の開始信号を適用すると解除され ます。 ANEビットで設定された終了チャネルで変換が終了すると , コンバータはアナログ入力信号のANSチャ ネルに戻り , 変換処理を連続して繰り返します。開始チャネルと終了チャネルが同じ (ANS=ANE) と きは , 信号チャネル変換のみが実行されます。 例: ANS=00000B, ANE=00011B 開始 → AN0 → 停止 → 開始 → AN1 → 停止 → 開始 → AN2 → 停止 → 開始 → AN3 → 停止 → 開始 → AN0 ... → 繰り返し 648 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.4 A/D コンバータの動作 MB91460N シリーズ ANS=00010B, ANE=00010B 開始 → AN2 → 停止 → 開始 → AN2 → 停止 → 開始 → AN2 ... → 繰り返し ストップモードでは , STS1 ビット , STS0 ビットで設定された要因のみが起動要因です。このモードでは , 変換開始信号の同期が可能です。 37.4.1 シングルショット変換モード 図 37.4-1 シングルショット変換モード AN入力 (1) チャネル 選択 (2) 起動 (トリガ) (4) 内部レベル (5) サンプル ホールド 変換 a 変換 b 変換中 変換値 変換 c 終了 (7) バッファ (ADT) 変換終了 (INT) 前の変換値 新規変換値 A/D変換起動時にフラグクリア (3) BUSY 変換時間 (8) (6) フラグクリア (A/D変換起動、 または ソフトウェア) (1) チャネル選択 (2) A/D 変換起動 ( トリガ入力:ソフトウェアトリガ / リロードタイマ / 外部トリガ ) (3) INT フラグクリア , BUSY フラグ設定 (4) サンプルホールド (5) 変換 ( 変換 a +変換 b +変換 c) (6) 変換終了 , INT フラグ設定 , BUSY フラグクリア (7) 変換値のバッファ。バッファデータ格納 (8) ソフトウェアによる INT フラグクリア CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 649 第 37 章 A/D コンバータ 37.4 A/D コンバータの動作 MB91460N シリーズ 37.4.2 スキャン変換モード 図 37.4-2 スキャン変換モード AN入力 (1) スキャン 開始チャネル 選択 AN0 (2) 起動 (トリガ) (4) AN1 サンプルホールド AN2 (6) AN0 AN3 AN2 AN3 (9) (7) (5) a、b、c バッファ ADT0 AN0変換値 ADT1 AN1変換値 ADT2 AN2変換値 ADT3 AN3 変換終了 (INT) AN1 (3) (8) (10) BUSY (1) 起動チャネル選択 (2) A/D 起動 ( トリガ:ソフトウェアトリガ / リロードタイマ / 外部トリガ ) (3) INT フラグクリア , BUSY フラグ設定 (4) AN0 変換 a. サンプルホールド , 変換 ( 変換 a +変換 b +変換 c) b. 変換終了 c. 変換値のバッファ (5) AN1 変換 (6) AN2 変換 (7) AN3 変換 (8) INT フラグ設定 , BUSY フラグクリア (9) 次の A/D 起動 (10) INT フラグクリア , BUSY フラグ設定 650 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.5 設定 MB91460N シリーズ 37.5 設定 表 37.5-1 A/D シングルショット変換モードの使用に必要な設定 設定 設定レジスタ モード選択 ( シングルショット変換 ) 44.7.1 項 A/D 制御レジスタ (ADCS) ビット長選択 設定手順* 44.7.2 項 44.7.3 項 チャネル選択 変換時間設定 変換時間設定レジスタ (ADCT) 44.7.4 項 AN 端子を入力として書込み ポート機能レジスタ (PFR29) 44.7.5 項 A/D 起動トリガ選択 A/D 起動トリガ生成 ソフトウェアトリガ →ソフトウェアトリガビット設定 リロードタイマ →リロードタイマ立上り出力 外部トリガ → ADTG (0, 1) 端子へのトリガ入力 44.7.6 項 A/D 制御レジスタ (ADCS) 「第 34 章 リロードタイマ」を参照してください。 44.7.7 項 外部入力 変換終了フラグチェック A/D 制御レジスタ (ADCS) 44.7.8 項 変換値の読出し データバッファレジスタ (ADCR) 44.7.9 項 * 設定手順については , 番号で指定された項を参照してください。 表 37.5-2 A/D スキャン変換モードの使用に必要な設定 設定 設定レジスタ モード選択 ( スキャン変換 ) ビット長選択 設定手順* 44.7.1 項 A/D 制御レジスタ (ADCS) 44.7.2 項 44.7.3 項 起動チャネル選択 変換時間設定 変換時間設定レジスタ (ADCT) 44.7.4 項 入力としての AN 端子の書込み ポート機能レジスタ (PFR29) 44.7.5 項 A/D 起動トリガ選択 A/D 起動トリガ生成 ソフトウェアトリガ →ソフトウェアトリガビット設定 リロードタイマ →リロードタイマ立下り出力 外部トリガ → ATGX 端子へのトリガ入力 44.7.6 項 A/D 制御レジスタ (ADCS) 「第 34 章 リロードタイマ」を参照してください。 44.7.7 項 外部入力 変換終了フラグチェック A/D 制御レジスタ (ADCS) 44.7.8 項 変換値の読出し データバッファレジスタ (ADCR) 44.7.9 項 * 設定手順については , 番号で指定された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 651 第 37 章 A/D コンバータ 37.5 設定 MB91460N シリーズ 表 37.5-3 A/D 動作の強制停止 設定 設定レジスタ A/D 制御レジスタ (ADCS) 強制停止 設定手順* 44.7.1 項 * 設定手順については , 番号で指定された項を参照してください。 表 37.5-4 A/D 割込み許可に必要な項目 設定 設定レジスタ 設定手順* A/D 割込みベクタおよび A/D 割込みレベル 「第 21 章 割込み制御」を参照してください。 の設定 44.7.11 項 A/D 割込み要因の選択 (A/D 変換終了 ) 44.7.12 項 A/D 割込みの設定 割込み要求クリア 割込み要求を許可します。 A/D 制御レジスタ (ADCS) 44.7.13 項 * 設定手順については , 番号で指定された項を参照してください。 652 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.6 Q & A MB91460N シリーズ 37.6 Q & A 37.6.1 変換モードの種類と選択方法は ? 2 つの変換モードが選択可能です。 • シングルショット変換モード:1 回だけ変換 • スキャン変換モード:指定した一連のチャネルを変換 モード選択は , 変換モード選択ビット (ADCS:MD1, MD0]) を使用して行います。 動作モード MD1 MD0 0 0 単発モード:動作中の変換の全再起動が可能 0 1 単発モード:動作中の変換の再起動は不可能 1 0 連続モード:動作中の変換の再起動は不可能 1 1 ストップモード:動作中の変換の再起動は不可能 37.6.2 ビット長を指定するには ? 変換結果格納ビット長設定 (ADCS:S10) を設定します。 動作モード 変換結果格納ビット長 (S10) 変換結果を ADCR レジスタの 10 ビットに格納 "0" に設定します。 変換結果を ADCR レジスタの 8 ビットに格納 "1" に設定します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 653 第 37 章 A/D コンバータ 37.6 Q & A MB91460N シリーズ 37.6.3 変換時間を設定するには ? 設定するには , 変換時間設定レジスタ (ADCT) を使用します。 [bit15 ∼ bit10] CT5 ∼ CT0 (A/D コンペア時間設定 ) これらのビットでは , コンペア時間のクロック分周が指定されます。 設定 "000001B" は , 1 分周 (=CLKP) を指します。 これらのビットを "000000B" に設定しないでください。 リセットにより , これらのビットは "000100B" に初期化されます。 変換時間 = CT 値× CLKP サイクル× 10 + (4 × CLKP) [bit9 ∼ bit0] ST9 ∼ ST0 ( アナログ入力サンプリング時間設定 ) これらのビットでは , アナログ入力のサンプリング時間が指定されます。 リセットにより , これらのビットは "0000101100B" に初期化されます。 サンプリング時間 =ST 値× CLKP サイクル 必要サンプリング時間および ST 値は , 以下のように計算されます。 必要サンプリング時間 (Tsamp) = (Rext + Rin) × Cin × 7 ST9 ∼ ST0 = Tsamp / CLKP サイクル ST は , サンプリング時間が Tsamp 以上になるような値に設定する必要があります。 例:CLKP = 32MHz, AVCC >= 4.5V, Rext = 200kΩ Tsamp = (200 × 103 + 2.6 × 103) × 8.5 × 10-12 × 7 = 12.05 [μs] ST = 12.05-6 / 31.25-9 = 385.9 ST は , 386D 以上に設定する必要があります (110000010B) 。 Tsampは, Rextにより決定されます。このため, コンペア時間は, Rextと併せて考慮する必要があります。 <注意事項> 変換時間=サンプリング時間+コンペア時間 変換時間, サンプリング時間, コンペア時間の規格につきましては, 各品種のデータシートを参照願います。 654 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.6 Q & A MB91460N シリーズ 37.6.4 アナログ端子入力を許可するには ? ポート機能レジスタ PFR および追加ポート機能レジスタ EPFR を使用します。 動作 PFR 設定 EPFR 設定 AN0 端子を入力として書込み PFR29.0 = 1 EPFR29.0 = 0 AN1 端子を入力として書込み PFR29.1 = 1 EPFR29.1 = 0 AN2 端子を入力として書込み PFR29.2 = 1 EPFR29.2 = 0 AN3 端子を入力として書込み PFR29.3 = 1 EPFR29.3 = 0 AN4 端子を入力として書込み PFR29.4 = 1 EPFR29.4 = 0 AN5 端子を入力として書込み PFR29.5 = 1 EPFR29.5 = 0 AN6 端子を入力として書込み PFR29.6 = 1 EPFR29.6 = 0 AN7 端子を入力として書込み PFR29.7 = 1 EPFR29.7 = 0 37.6.5 A/D コンバータの起動方法の選択 起動トリガには , 次の 3 種類があります。 • ソフトウェアトリガ • リロードタイマ立上り信号 • 外部トリガ入力立下り信号 起動トリガを設定するには , 起動トリガ選択ビット (ADCS:STS1, STS0) を使用します。 A/D 起動トリガ 起動トリガ選択ビット (STS1, STS0) ソフトウェアトリガの指定 "00B" に設定します。 外部トリガ / ソフトウェアトリガの指定 "01B" に設定します。 リロードタイマ / ソフトウェアトリガの指定 "10B" に設定します。 外部トリガ / リロードタイマ / ソフトウェアトリガの指定 "11B" に設定します。 コンバータ A/D は , 選択されたいずれかの要因の最初のインスタンスで起動されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 655 第 37 章 A/D コンバータ 37.6 Q & A MB91460N シリーズ 37.6.6 A/D コンバータの起動方法 • ソフトウェアトリガの生成 ソフトウェアトリガは , A/D 変換ソフトウェアトリガビット (ADCS:STRT) を使用して生成されます。 動作 A/D 変換ソフトウェアトリガビット (STRT) ソフトウェアトリガの生成 "1" を書き込みます。 • リロードタイマ 7 を使用した A/D コンバータの起動 リロードタイマは , 設定および起動されている必要があります。詳細は , 「第 34 章 リロードタイマ」を参 照してください。リロードタイマのアンダフローによって , リロードタイマ出力信号の立上りが発生すると , 起動トリガが生成されます。 • 外部トリガを使用した A/D コンバータの起動 外部トリガ入力端子 ATGX を使用して , 外部トリガを生成します。 外部トリガ入力端子は , ポート機能ビット (PFR16.7) およびエクストラポート機能レジスタ (EPFR16.7) を 使用して設定されます。 656 動作 設定 ATGX 端子をトリガ入力として書込み PFR16.7 = 0 および DDR16.7 = 0 を設定します ( ポートモード ) 。 ATGX 端子をトリガ入力として書込み PFR16.7 = 1 および EPFR16.7 = 1 を設定します ( 機能モード ) 。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.6 Q & A MB91460N シリーズ 37.6.7 変換終了の確認方法 変換終了を確認するには , 次の 2 とおりの方法があります。 • A/D 変換終了割込み要求ビット (ADCS:INT) の確認 (INT) 意味 読出し値が "0" の場合 A/D 変換終了割込み要求なし 読出し値が "1" の場合 A/D 変換終了割込み要求 • 動作照合ビット (ADCS:BUSY) の確認 (BUSY) 設定 読出し値が "0" の場合 A/D 変換終了 ( 停止 ) 読出し値が "1" の場合 A/D 変換中 37.6.8 変換値を読み出すには ? 変換値は , データバッファレジスタ (ADCR) から読み出すことができます。 37.6.9 A/D 変換動作を強制停止するには ? 強制停止ビット (ADCS:BUSY) を使用します。 動作 強制停止ビット (BUSY) A/D 変換動作の強制停止 "0" を書き込みます。 強制停止ビット (BUSY) に "1" を書き込んでも , A/D の動作に影響はありません。 37.6.10 割込み関連レジスタは ? A/D 割込みベクタ , A/D 割込みレベルの設定 以下の表に , マシンサイクル , A/D 番号 , 割込みレベル , および割込みベクタ間の関係の要約を示します。 割込みレベルおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 AD0 割込みベクタ ( デフォルト ) 割込みレベル設定ビット (ICR4 ∼ ICR0) #134 アドレス:0FFDE4H 割込みレベルレジスタ (ICR59) アドレス:00047BH 37.6.11 使用可能な割込みは ? A/D 変換終了割込みのみ。使用可能な割込み要求選択ビットはありません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 657 第 37 章 A/D コンバータ 37.7 注意事項 MB91460N シリーズ 37.6.12 割込みを許可 / 禁止 / クリアするには ? 割込み要求の許可フラグ , 割込み要求フラグ 割込みは , 割込み要求許可ビット (ADCS:INTE) を使用して許可します。 割込み要求許可ビット (INTE) 割込み要求の禁止 "0" に設定します。 割込み要求の許可 "1" に設定します。 割込みは , 割込み要求ビット (ADCS:INT) を使用してクリアします。 割込み要求ビット (INT) 割込み要求のクリア "0" を書き込みます。 または A/D を起動します。(「37.6.6 A/D コンバータの起動方 法」を参照してください。) 「37.7 注意事項」を参照してください。 37.7 注意事項 以下に , A/D コンバータを使用する場合のヒントを示します。 • パワーオンシーケンス MCU 電源投入 (Vdd*) は , A/D コンバータの電源投入 (AVcc, AVRH) およびアナログ入力への電圧印加前に 行ってください。 • アナログ入力端子の入力インピーダンス A/D コンバータには , A/D 変換の起動後 , アナログ入力端子でサンプルホールドコンデンサに電圧を取り込む サンプルホールド回路が内蔵されています。このため , アナログ入力外部回路の出力インピーダンスが高い 場合は , アナログ入力電圧が , サンプリングサイクル内で安定しないことがあります。このような理由から , 外部回路の出力インピーダンスは十分に低くしておいてください。 外部回路の出力インピーダンスを十分に低く保つことができない場合は , サンプリング時間を十分に延ばし てください。 • |AVRH − AVSS| が低下すると , それに比例して誤差が大きくなります。 ■ AD コンバータ用語の定義 • 解像度 AD コンバータに認識可能なアナログ変化量 • 非直線性誤差 実際の変換特性からのゼロ遷移点 (00 0000 0000 <--> 00 0000 0001) と最大遷移点 (11 1111 1110 <--> (11 1111 1111) を結んだ ) 直線からの偏移 658 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 37 章 A/D コンバータ 37.7 注意事項 MB91460N シリーズ • 微分直線性誤差 ひとつの LSB により出力を , 変化させるのに必要とされる入力電圧のその理論的な値からの偏差 1LSB VFST - VOT = [V] 1022 VOT: デジタル出力が , (000)H から (001)H に遷移する際の電圧 VFST: デジタル出力が , (3FE)H から (3FF)H に遷移する際の電圧 デジタル出力 N 非直線 性誤差 = デジタル出力 N 微分 直線性誤差 = VNT - {1LSB × (N-1) + VOT} [LSB] 1LSB V(N+1)T - VNT -1 1LSB [LSB] VNT: デジタル出力が , (N+1) から N に遷移する際の電圧 微分直線性誤差 非直線性誤差 3FF 実際の変換特性 実際の変換特性 N+1 3FE {1 LSB (N-- 1)+VOT} VFST (測定値) 3FD デジタル出力 デジタル出力 004 VNT (測定値) N N-1 003 VFST (測定値) 実際の変換特性 VNT 002 理想特性 N-2 2 001 実際の変換特性 VOT (測定値) AVss アナログ入力 AVss AVRH アナログ入力 AVRH • 総合誤差 ゼロ遷移誤差 , 総遷移誤差 , 非直線性誤差を含んだ , 実際の値と理論値の差 1LSB’( 理想値 ) = VOT’ ( 理想値 ) VFST’ ( 理想値 ) = = AVRH - AVSS [V] 1024 AVSS + 0.5LSB’ AVRH - 1.5LSB’ デジタル出力 N の総合誤差 = [V] [V] VNT - {1LSB’ × (N - 1) + 0.5LSB’} 1LSB’ VNT: デジタル出力が , (N+1) から N に遷移する際の電圧 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 659 第 37 章 A/D コンバータ 37.7 注意事項 MB91460N シリーズ 総合誤差 3FF 1.5LSB’ 3FE 実際の変換特性 3FD {1 LSB (N-- 1)+0.5LSB} デジタル出力 004 VNT (測定値) 003 実際の変換特性 002 理想特性 001 0.5LSB’ AVss 660 アナログ入力 FUJITSU MICROELECTRONICS LIMITED AVRH CM71-10149-1 第 38 章 クロックモニタ 38.1 概要 MB91460N シリーズ 第 38 章 クロックモニタ 38.1 概要 クロックモニタは , 内部のクロック信号を外部の端子に出力して監視するマクロです。クロックモニタには , 端子に出力する前にクロック信号の周波数を分割する機能があり , 外部回路が MCU 機能と同期する際にクロック 信号を使用できます。 図 38.1-1 クロックモニタの構成 MONCLK端子 (P24_3) 内部クロック セレクタ プリスケーラ 38.2 特長 • フォーマット:内部クロック信号を分割して端子に出力 (MONCLK) • チャネル: 1 • 分周比:1 分周 , 2 分周 , 3 分周∼ 16 分周 • グリッチのない出力を可能とする • ソフトウェア設定可能なマークレベル ( クロック出力を許可する前に "L" または "H" を出力 ) • 割込み:なし CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 661 第 38 章 クロックモニタ 38.3 構成 MB91460N シリーズ 38.3 構成 図 38.3-1 構成図 クロックモニタ CMSEL3:0 CMCFG クロックモニタ出力禁止 0000 その他 プリスケーラ セレクタ 内部クロック クロックモニタ出力許可 CMSEL3~CMSEL0 CMCFG 0000B クロックモニタ出力禁止 0001B メイン発振 0010B --0011B CR発振 0100B --0101B メイン発振 0110B --0111B Cユニットへのクロックモジュレータ出力 1000B クロックモジュレータ監視出力 1001B 1/g後のPLL出力 1010B 1/m後のPLL出力 1011B 1/c後のPLL出力 1100B 1/n後のPLL入力 1101B CLKB 1110B CLKP 1111B CLKT MONCLK (P24_3) CMCFG bit7~bit4 CMPRE3~CMPRE0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 0 1 クロック 出力周波数 CMPRE3~CMPRE0 φ /1 φ /2 1 1 0 0 0 0 φ /3 φ /4 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 0 1 φ /5 φ /6 φ /7 φ /8 クロック 出力周波数 φ /9 φ /10 φ /11 φ /12 φ /13 φ /14 φ /15 φ /16 図 38.3-2 レジスタ一覧 クロックモニタ アドレス 662 7 6 5 0004AEH bit EDSUEN --- --- 4 3 0004AFH CMPRE3 CMPRE2 CMPRE1 CMPRE0 CMSEL3 CMSEL2 CMSEL1 CMSEL0 MONCKI CSC3 2 1 0 CSC2 CSC1 CSC0 FUJITSU MICROELECTRONICS LIMITED CSCFG (クロックソース構成レジスタ) CMCFG (クロックモニタ構成レジスタ) CM71-10149-1 第 38 章 クロックモニタ 38.4 レジスタ MB91460N シリーズ 38.4 レジスタ 38.4.1 クロックモニタ構成レジスタ 内部クロック信号の設定を出力するレジスタ • CMCFG:アドレス 0004AFH ( アクセス:バイト ) bit 7 CMPRE3 0 R/W 6 5 4 3 2 1 0 CMPRE2 0 R/W CMPRE1 0 R/W CMPRE0 0 R/W CMSEL3 0 R/W CMSEL2 0 R/W CMSEL1 0 R/W CMSEL0 0 R/W 初期値 属性 属性については ,「ビット属性シンボルの意味」を参照してください。 [bit7 ∼ bit4] CMPRE3 ∼ CMPRE0 ( 出力周波数プリスケーラビット ) CMPRE3 CMPRE2 CMPRE1 CMPRE0 0 0 0 0 1 分周のソースクロック (CMSEL による選択 ) ( 初期値 ) 0 0 0 1 2 分周のソースクロック (CMSEL による選択 ) 0 0 1 0 3 分周のソースクロック (CMSEL による選択 ) 0 0 1 1 4 分周のソースクロック (CMSEL による選択 ) 0 1 0 0 5 分周のソースクロック (CMSEL による選択 ) 0 1 0 1 6 分周のソースクロック (CMSEL による選択 ) 0 1 1 0 7 分周のソースクロック (CMSEL による選択 ) 0 1 1 1 8 分周のソースクロック (CMSEL による選択 ) 1 0 0 0 9 分周のソースクロック (CMSEL による選択 ) 1 0 0 1 10 分周のソースクロック (CMSEL による選択 ) 1 0 1 0 11 分周のソースクロック (CMSEL による選択 ) 1 0 1 1 12 分周のソースクロック (CMSEL による選択 ) 1 1 0 0 13 分周のソースクロック (CMSEL による選択 ) 1 1 0 1 14 分周のソースクロック (CMSEL による選択 ) 1 1 1 0 15 分周のソースクロック (CMSEL による選択 ) 1 1 1 1 16 分周のソースクロック (CMSEL による選択 ) MONCLK 端子へのクロック周波数出力 クロックモニタ端子に対するクロック信号の出力周波数を指定します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 663 第 38 章 クロックモニタ 38.4 レジスタ MB91460N シリーズ [bit3 ∼ bit0] CMSEL3 ∼ CMSEL0 ( 出力周波数プリスケーラ選択ビット ) CMSEL3 CMSEL2 CMSEL1 CMSEL0 0 0 0 0 MONCLK 出力禁止 ( ハイインピーダンス ) ( 初期値 ) 0 0 0 1 メイン発振 0 0 1 0 予約 0 0 1 1 CR 発振 0 1 0 0 予約 0 1 0 1 予約 0 1 1 0 予約 0 1 1 1 クロック制御へのクロックモジュレータ出力 1 0 0 0 クロックモジュレータ監視出力 1 0 0 1 1/g デバイダ後の PLL 出力 ( 自動ギア ) 1 0 1 0 1/m デバイダ後の PLL 出力 (PLL 出力 ) 1 0 1 1 1/c デバイダ後の PLL 出力 (CAN クロック ) 1 1 0 0 1/n デバイダ後の PLL 入力 (PLL フィードバック ) 1 1 0 1 CLKB 1 1 1 0 CLKP 1 1 1 1 CLKT MONCLK 端子へのクロックソース出力 • CSCFG:アドレス 0004AEH ( アクセス:バイト ) bit 6 7 EDSUEN PLLLOCK 5 4 3 2 1 0 RCSEL MONCKI CSC3 CSC2 CSC1 CSC0 0 X 0 0 0 0 0 0 初期値 (INIT 端子 , ウォッ チドッグリセット ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R R/W R/W R/W R/W R/W R/W 属性 属性については ,「ビット属性シンボルの意味」を参照してください。 [bit7 ∼ bit5] クロックモニタ動作とは関連していません。本レジスタのその他の機能については「CSCFG:クロックソース構成レ ジスタ」章を参照してください。 [bit4] MONCKI ( クロックモニタ MONCLK インバータ ) MONCKI 機能 0 MONCLK マークレベルが低レベル [ 初期値 ] 1 MONCLK マークレベルが高レベル [bit3 ∼ bit0] クロックモニタ動作とは関連していません。本レジスタのその他の機能については「CSCFG:クロックソース構成レ ジスタ」を参照してください。 664 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 38 章 クロックモニタ 38.5 動作説明 MB91460N シリーズ 38.5 動作説明 以下の図に , クロックモニタの出力波形を示します。 クロック分周例 ソース クロック 1/2 1/3 1/4 1/8 1/15 1/16 クロック切替え手順 CLKP CMSEL 0000 1011 0000 1/nで分周された ソースクロック MONCLK端子 (MONCKI = 0) MONCLK端子 (MONCKI = 0) 1 High-Z High-Z High-Z High-Z 2 3 4 5 6 7 (1) MONCLK 端子がハイインピーダンス状態です。 (2) CMSEL が 0000B ( 選択クロックなし ) から選択クロック ( プリスケーラ ) に設定されます。 (3) MONCLK 端子は , 内部 ( プリスケールされた ) クロックの 1 周期の間 , 出力 "L" ステータス (MONCKI が "1" に設定されている場合は出力 "H") に変わります。 (4) 選択 ( プリスケーラ ) 内部クロックの 1 周期後 , MONCLK はその選択 ( プリスケーラ ) 内部クロックを出 力します。 CMSEL が選択クロックから 0000B ( 選択クロックなし ) に設定されます。 (5) (6) MONCLK 端子は , 内部 ( プリスケールされた ) クロックの 1 周期の間 , 出力 "L" ステータス (MONCKI が "1" に設定されている場合は出力 "H") に変わります。 (7) MONCLK 端子がハイインピーダンス状態に切り換わります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 665 第 38 章 クロックモニタ 38.6 設定 MB91460N シリーズ 38.6 設定 表 38.6-1 クロックモニタを使用するための設定 設定 設定手順* 設定レジスタ プリスケーラ値を設定 クロックモニタプリスケーラ (CMCFG:CMPRE3 ∼ CMPRE0) 38.7.1 項 ソースクロックの設定 クロックモニタ選択 (CMCFG:CMSEL3 ∼ CMSEL0) 38.7.1 項 マークレベルの変更 クロックモニタインバータ (CSCFG:MONCKI) 38.7.1 項 クロックモニタ出力の許可 (MONCLK) クロックモニタ選択 (CMCFG:CMSEL3 ∼ CMSEL0) 38.7.2 項 , 38.7.3 項 * 設定手順については , 番号で指定された項を参照してください。 38.7 Q & A 38.7.1 出力端子 (MONCLK) を設定するには ? クロックモニタ選択ビットを使用します (CMCFG:CMSEL[3:0]) 。 動作説明 CMCFG:CMSEL3 ∼ CMSEL0 出力端子の設定 (MONCLK) 適切なクロックを設定します (1="0000") 38.7.2 出力周波数を選択するには ? 出力周波数選択ビットを使用します (CMCFG:CMPRE[3:0]) 。 出力周波数 ( 例 ) CLKP=32MHz CLKP=40MHz 周波数プリスケーラ (CMCFG:CMPRE[3:0]) 1/2 16.0 MHz 20.0 MHz 0001B に設定 1/3 10.7 MHz 13.3 MHz 0010B に設定 1/4 8.0 MHz 10.0 MHz 0011B に設定 1/8 4.0 MHz 5.0 MHz 0111B に設定 1/15 2.1 MHz 2.7 MHz 1110B に設定 1/16 2.0 MHz 2.5 MHz 1111B に設定 クロック分周比 666 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 38 章 クロックモニタ 38.7 Q & A MB91460N シリーズ 38.7.3 クロックモニタ出力を許可または禁止するには ? 出力許可ビットを使用します (CMCFG:CMSEL[3:0]) 。 動作説明 出力許可ビット (CMCFG:CMSEL[3:0]) クロックモニタ出力の禁止 ( 端子を Hi-Z ステータスに設定 ) 0000B に設定 クロックモニタ出力の許可 0001B ∼ 1111B に設定 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 667 第 38 章 クロックモニタ 38.8 注意事項 MB91460N シリーズ 38.8 注意事項 グリッチフリースイッチングのために , クロックソース (CMCFG3 ∼ CMCFG0) またはプリスケーラ比 (CMPRE3 ∼ CMPRE0) を変えるとき , 以下の手順に従って操作してください。 - CMPRE3 ∼ CMPRE0 レジスタは , CMSEL3 ∼ CMSEL0 レジスタが "0H" のときのみ書込み可能です。 - CMPRE3 ∼ CMPRE0 レジスタは , 同じライトアクセス時に CMSEL3 ∼ CMSEL0 レジスタに "0H" が書き込 まれたときのみ書込み可能です。 - CMPRE と CMCFG への 2 回のライトアクセス中に少なくともモニタクロック分周の 2 サイクル分が必要です。 - セレクタ値を変えると , MONCLK が禁止状態になります。 ( アクセス例 ) 668 1. アクセス CMCFG_CMSEL = 0 CMCFG_CMPRE = プリスケーラ 2. アクセス CMCFG_CMSEL = クロック FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.1 概要 MB91460N シリーズ 第 39 章 リアルタイムクロック 39.1 概要 リアルタイムクロック (RTC) は , ストップモードになっても経過時間をカウントし続け , メイン発振 (4MHz) ま たは CR 発振 ( 約 100kHz/2MHz) に基づいた現在のリアルタイム (HH/MM/SS) を提供します。 これにより , スタンバイ周期に割込みから復帰しなくても正確な時間のカウントが可能です。 図 39.1-1 リアルタイムクロックの構成 サブセカンド h) レジスタ リロード 発振 クロック 1/2 21ビット 21 ダウンカウンタ カウンタ 秒 分 時 秒 分 時 更新 39.2 特長 • 情報 :時間のカウント (HH/MM/SS) ( このクロックは , ストップモードでも動作し続け ます ) • メインクロック (4MHz) または CR クロック ( 約 100kHz/2MHz) に基づいて動作可能 • 個数 :1 • 時間単位 :クロックの 2 分周 • 動作クロック: • レジスタアクセスの場合 :CLKP • 時間のカウントの場合 :メインクロック , CR クロック • 時間 • 割込み :初期設定および調整が可能 :割込みは 5 つのインターバルのいずれかで発生可能:0.5 秒 , 秒 , 分 , 時 , 日 • その他 :サブセカンドレジスタの値を変更すると , 割込みは任意のインターバル ( 短時間∼ 長時間 ) で発生可能 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 669 第 39 章 リアルタイムクロック 39.3 構成 MB91460N シリーズ 39.3 構成 図 39.3-1 構成図 リアルタイムクロック WTBR 値 = 0.5秒 (初期値不定) WTBR RUN WTCR: WTCR:bit3 bit 3 読出し専用 Read 00 RTC RTC 非アクティブ 11 RTC RTCアクティブ リロード 0.5秒ごと 0 INT4 WTCER: bit0 割込み要求クリア 0 1 禁止 21 ビット カウンタ プリスケーラ: 1/2 発振 INTE4 WTCER: bit9 割込み禁止 0 割込み許可 1 1 読出し:1 =割込み要求発生 毎秒 0 INT0 WTCR: bit8 割込み要求クリア 0 1 禁止 1 読出し:1 =割込み要求発生 ST WTCR: WTCR:bit0 bit 0 ST 0 リセット後停止 11 開始 INTE0 WTCR: bit9 割込み禁止 0 割込み許可 1 毎秒 0 1 INT1 WTCR: bit10 0 0 割込み要求クリア 11 禁止 読出し: Read: 1 =割込み要求発生 1= OR 毎時 INTE1WTCR: bit11 INTE1 WTCR: bit11 割込み禁止 00 割込み許可 11 0 1 INT2 WTCR: bit12 割込み要求クリア 00 11 禁止 読出し: 1 =割込み要求発生 Read: 1= 24時間ごと(毎日) 時カウンタ 分カウンタ オーバフロー オーバフロー オーバフロー 0 1 INT3 WTCR: bit14 割込み要求クリア 00 11 禁止 読出し: Read:1 =割込み要求発生 1= INTE2 WTCR: bit13 INTE2 割込み禁止 00 割込み許可 11 秒カウンタ RTC interrupt (#132) INTE3 WTCR: bit15 割込み禁止 0 1 割込み許可 OR UPDT WTCR: bit2 0 動作への影響はありません 更新 1 WTHR (W) WTMR (W) WTSR (W) WTSR (R) WTMR (R) WTHR (R) 秒 分 時 図 39.3-2 レジスタ一覧 リアルタイムクロック アドレス 0004A1H 0004A2H bit 7 --- 6 --- 5 --- 4 --- 3 --- 2 --- 1 0 INTE4 INT4 WTCER 14 13 12 11 10 9 8 bit 15 INTE3 INT3 INTE2 INT2 INTE1 INT1 INTE0 INT0 7 TST2 6 TST1 5 TST0 0004A5H 7 --- 6 --- 5 --- 4 D20 3 D19 2 D18 1 D17 0 D16 WTBR 0 0004A6H D15 D14 D13 D12 D11 D10 D9 D8 WTBR 1 0004A7H D7 D6 D5 D4 D3 D2 D1 D0 WTBR 2 0004A8H --- --- --- H4 H3 H2 H1 H0 WTHR(時レジスタ) 0004A9H --- --- M5 M4 M3 M2 M1 M0 WTMR(分レジスタ) 0004AAH --- --- S5 S4 S3 S2 S1 S0 WTSR(秒レジスタ) 00047AH --- --- --- ICR4 ICR3 ICR2 ICR1 ICR0 bit 0FFDECH 4 --- 3 RUN 2 UPDT 1 --- 0 ST WTCR(RTC制御レジスタ) (サブセカンドレジスタ) ICR58(RTCの割込みレベルレジスタ) 32ビット (割込みベクタ#132) ( 注意事項 ) ICR レジスタおよび割込みベクタについては , 「第 21 章 割込み制御」を参照してください。 670 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.4 レジスタ MB91460N シリーズ 39.4 レジスタ 39.4.1 WTCR:RTC 制御レジスタ このレジスタは , リアルタイムクロックの動作を制御する場合に使用します。 • WTCR:アドレス 0004A2H ( アクセス:バイト , ハーフワード ) bit 15 INTE3 0 0 R/W bit 14 13 12 11 10 9 8 INT3 0 0 R(R1),W INTE2 0 0 R/W INT2 0 0 R(R1),W INTE1 0 0 R/W INT1 0 0 R(R1),W INTE0 0 0 R/W INT0 0 0 R(R1),W 初期値 リセット時 属性 3 RUN 0 0 R/WX 2 UPDT 0 0 R(R0)/W 1 − − − RX/WX 0 ST X X R/W 初期値 リセット時 属性 7 6 5 4 予約 0 0 R/W0 予約 0 0 R/W0 予約 0 0 R/W0 − − − RX/WX ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit15] INTE3 ( 日割込み要求許可ビット ) 1 日のインターバルで割込み要求を許可します。 INTE3 動作 0 割込み要求はありません。 1 1 日 (24 時間 ) の間隔で割込み要求を生成します。 時カウンタがオーバフローすると , このフラグは "1" に設定されます。 [bit14] INT3 ( 日割込み要求フラグビット ) 状態 INT3 読出し 書込み 0 割込み要求はありません。 フラグをクリアします。 1 1 日 (24 時間 ) のインターバルで割込み要求 を生成します。 書込みによる動作への影響はありません。 [bit13] INTE2 ( 時割込み要求許可ビット ) 1 時間のインターバルで割込み要求を許可します。 INTE2 動作 0 割込み要求はありません。 1 1 時間のインターバルで割込み要求を生成します。 分カウンタがオーバフローすると , このフラグは "1" に設定されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 671 第 39 章 リアルタイムクロック 39.4 レジスタ MB91460N シリーズ [bit12] INT2 ( 時割込み要求フラグビット ) 状態 INT2 読出し 書込み 0 割込み要求はありません。 フラグをクリアします。 1 1 時間のインターバルで割込み要求を生成し ます。 書込みによる動作への影響はありません。 [bit11] INTE1 ( 分割込み要求許可ビット ) 1 分のインターバルで割込み要求を許可します。 INTE1 動作 0 割込み要求はありません。 1 1 分のインターバルで割込み要求を生成します。 分カウンタがオーバフローすると , このフラグは "1" に設定されます。 [bit10] INT1 ( 分割込み要求フラグ ) 動作 INT1 読出し 書込み 0 割込み要求はありません。 フラグをクリアします。 1 1 分のインターバルで割込み要求を生成し ます。 書込みによる動作への影響はありません。 [bit9] INTE0 ( 秒割込み要求許可ビット ) 1 秒のインターバルで割込み要求を許可します。 INTE0 動作 0 割込み要求はありません。 1 1 秒のインターバルで割込み要求を生成します。 21 ビットダウンカウンタが "0" に設定されていると , このフラグは "1" に設定されます。 [bit8] INT0 ( 秒割込み要求フラグ ) 状態 INT0 読出し 書込み 0 割込み要求はありません。 フラグをクリアします。 1 1 秒のインターバルで割込み要求を生成し ます。 書込みによる動作への影響はありません。 [bit7 ∼ bit5] 予約 : 予約ビット 必ず "0" を書き込んでください。読出し値は書き込まれた値です。 [bit4] − : 未定義ビット 書込みによる動作への影響はありません。読出し値は不定です。 672 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.4 レジスタ MB91460N シリーズ [bit3] RUN ( 動作状態ビット ) RUN 状態 0 リアルタイムクロックモジュールが動作していません。 1 リアルタイムクロックモジュールが動作しています。 [bit2] UPDT ( 更新ビット ) UPDT 状態 / 動作 0 更新が完了しました。("0" の書込みによる動作への影響はありません。) 1 時 / 分 / 秒カウンタを時 / 分 / 秒レジスタでそれぞれ更新します。 更新ビット (UPDT) に "1" を書き込む前に , 時 / 分 / 秒レジスタの値が , 時 / 分 / 秒カウンタの更新に使用する 値に設定されている必要があります。時 / 分 / 秒レジスタは , 21 ビットダウンカウンタにリロードされるとき に更新されます。 [bit1] 未定義ビット 書込みによる動作への影響はありません。読出し値は , 不定です。 [bit0] ST ( スタートビット ) ST 動作 0 リアルタイムクロックモジュールの動作が停止し , 21 ビットダウンカウンタと時 / 分 / 秒カ ウンタがクリアされます。 1 時 / 分 / 秒レジスタの設定が時 / 分 / 秒カウンタにロードされ , リアルタイムクロックモ ジュールが動作し始めます。 <注意事項> • ST ビットはリセット時には初期化されません。(「39.8 注意事項」を参照してください ) 。 RTC モジュールのサブセカンドレジスタでは , 21 ビットプリスケーラのリロード値が格納されます。この 値は , リロードカウンタが "0" になるとリロードされます。3 つのバイトすべてを変更する場合は , 書込み 命令の実行中にリロード操作が行われないようにする必要があります。リロード操作が行われると , 21 ビットプリスケーラによって , 新しいデータと古いデータのバイトが組み合わされた不正な値がロードさ れます。通常は , ST ビットが "0" の場合にサブセカンドレジスタを更新することをお勧めします。 ただし , RTC 秒割込みが行われたすぐ後にこの更新を行う場合は , ST が "0" に設定されておらずモジュール が動作中であっても , 次のリロード操作 ( 次の秒割込み ) を行うまでにレジスタを安全に変更するための時 間が十分にあります。 • ST ビットを使用してレジスタを更新する場合は , 以下について考慮する必要があります。 新しい値は , RUN ビットの立上りエッジとともにレジスタに書き込まれます。この RUN ビットは , RTC のクロックに同期して動作します ( デバイスやモードに応じて 100kHz, または 4 MHz) 。更新を適切に 行うには , 新しい値をレジスタに書き込み , ST を "0" に設定して , RUN ビットが "0" になるまで待機し た後 , ST を "1" に設定して回路を再度始動します。ST を "0" に設定すると , RTC のクロックのサブセカ ンド立上りエッジで RUN が "0" になります。ST を "1" に設定すると , RTC のクロックの動作クロック の 2 回目の立上がりで RUN が再度立ち上がり "1" になります。この操作を連続して複数回行う場合は , RUN が "1" になるまで待機した後に ST を再度 "0" に設定します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 673 第 39 章 リアルタイムクロック 39.4 レジスタ MB91460N シリーズ • WTCER:アドレス 0004A1H ( アクセス:バイト ) bit 7 6 5 4 3 2 1 0 − − − RX/WX − − − RX/WX − − − RX/WX − − − RX/WX − − − RX/WX − − − RX/WX INTE4 0 0 R/W INT4 0 0 R(R1),W 初期値 リセット時 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit2] 未定義ビット 書込みによる動作への影響はありません。読出し値は , 不定です。 [bit1] INTE4 (0.5 秒 (500ms) 割込み要求許可ビット ) 0.5 秒 (500ms) のインターバルで割込み要求を許可します。 INTE4 動作 0 割込み要求はありません。 1 0.5 秒 (500ms) のインターバルで割込み要求を生成します。 時カウンタがオーバフローすると , このフラグは "1" に設定されます。 [bit0] INT4 (0.5 秒 (500ms) 割込み要求フラグビット ) 状態 INT4 読出し 674 書込み 0 割込み要求はありません。 フラグをクリアします。 1 0.5 秒 (500ms) のインターバルで割込み要求 を生成します。 書込みによる動作への影響はありません。 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.4 レジスタ MB91460N シリーズ 39.4.2 WTBR:サブセカンドレジスタ これらのレジスタは , 21 ビットダウンカウンタにリロードする値を保持するために使用します。 • WTBR0:アドレス 0004A5H ( アクセス:バイト , ハーフバイト , ワード ) • WTBR1:アドレス 0004A6H ( アクセス:バイト , ハーフバイト , ワード ) • WTBR2:アドレス 0004A7H ( アクセス:バイト , ハーフバイト , ワード ) WTBR0 bit 7 − − − RX/WX WTBR1 bit 7 D15 X 6 − − − RX/WX 5 4 3 2 1 0 − − − RX/WX D20 X D19 X D18 X D17 X D16 X 保持 保持 保持 保持 保持 R/W R/W R/W R/W R/W 6 5 4 3 2 1 0 D14 X D13 X D12 X D11 X D10 X D9 X D8 X 保持 保持 保持 保持 保持 保持 保持 保持 R/W R/W R/W R/W R/W R/W R/W R/W WTBR2 bit 7 D7 X 6 5 4 3 2 1 0 D6 X D5 X D4 X D3 X D2 X D1 X D0 X 保持 保持 保持 保持 保持 保持 保持 保持 R/W R/W R/W R/W R/W R/W R/W R/W 初期値 リセット時 属性 初期値 リセット時 属性 初期値 リセット時 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) サブセカンドレジスタ (WTBR) は , 21 ビットダウンカウンタにリロードする値を保持するために使用します。21 ビットダウンカウンタの値が "0" になると , WTBR の設定が 21 ビットダウンカウンタにリロードされます。 (「39.8 注意事項」を参照してください。) 備考:サブセカンドレジスタに設定する必要のあるリロード値は , 0.5 秒の時間に対応します。WTBR に設定 されているリロード値が 2 回カウントされると , 1 秒に達します。 (「39.7.1 1 秒のカウント周期を設定するには ?」を参照してください。) CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 675 第 39 章 リアルタイムクロック 39.4 レジスタ MB91460N シリーズ 39.4.3 WTHR/WTMR/WTSR:時 / 分 / 秒レジスタ これらのレジスタは , リアルタイムクロックの時間情報 (HH/MM/SS) を保持します。 • WTHR ( 時レジスタ ) :アドレス 0004A8H ( アクセス:バイト , ハーフワード ) • WTMR ( 分レジスタ ) :アドレス 0004A9H ( アクセス:バイト , ハーフワード ) • WTSR ( 秒レジスタ ) :アドレス 0004AAH ( アクセス:バイト , ハーフワード ) WTHR bit 7 − − − RX/WX 6 − − − RX/WX 5 4 3 2 1 0 − − − RX/WX H4 X H3 X H2 X H1 X H0 X 保持 保持 保持 保持 保持 R, W R, W R, W R, W R, W 初期値 リセット時 属性 WTMR bit 7 − − − RX/WX 6 5 4 3 2 1 0 − − − RX/WX M5 X M4 X M3 X M2 X M1 X M0 X 保持 保持 保持 保持 保持 保持 R, W R, W R, W R, W R, W R, W 初期値 リセット時 属性 WTSR bit 7 − − − RX/WX 6 5 4 3 2 1 0 − − − RX/WX S5 X S4 X S3 X S2 X S1 X S0 X 保持 保持 保持 保持 保持 保持 R, W R, W R, W R, W R, W R, W 初期値 リセット時 属性 • 時 / 分 / 秒レジスタに書き込まれる値は , 時 / 分 / 秒カウンタにロードされる初期値になります。更新 ビット (WTCR:UPDT) またはスタートビット (WTCR:ST) に "1" を設定すると , 時 / 分 / 秒レジスタの値 が , 時 / 分 / 秒カウンタに書き込まれます。 • 時 / 分 / 秒カウンタ値は , 秒カウンタがオーバフローするたびに ( つまり 1 分のインターバルで ), 時 / 分 / 秒レジスタに保存されます。時 / 分 / 秒カウンタが読み出される場合 , 書き込まれたカウント値で はなく , 保存されているカウント値が読み出されます。 • 時 / 分 / 秒レジスタには , 読出し用と書込み用の 2 つの個別のレジスタセットがあります。 (「39.8 注意事項」を参照してください。) 676 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.5 動作 MB91460N シリーズ 39.5 動作 このセクションでは , リアルタイムクロックの動作について説明します。 図 39.5-1 リアルタイムクロックの動作 (1) (4) (19) ST リロード値 21ビットダウンカウンタ (8) (9) (6) クリア (20) (2) 0000H (10) 59秒 59 0.5秒 S 秒 (5) クリア 時/ 分/ 秒 カウンタ (10) (2) (20) (11) 59分 59 分 M (5) クリア RUN STOP 23時間 23 (12) H (5) クリア WTBR(0~2) (20) (2) 時 WTSR WTMR WTHR (11) (2) (20) (3) 時/分/秒レジスタ値 ( (3) サブセカンド値 (7) (14) 他の回路が停止します (20) (17) (1) スタートビット (ST) は "1" に設定され , 次に "0" に設定されます。( レジスタの初期化動作 ) (2) ST=0 によって "0" にリセットされ , 21 ビットダウンカウンタと時 / 分 / 秒タイマが停止します。 (3) • 時間 , 分 , および秒の値が時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) に書き込まれます。 • サブセカンドレジスタ (WTBR0 ∼ WTBR2) に , 適切な値が書き込まれます。 • 割込み要求ビット (INT0 ∼ INT4) が初期化され , 割込み要求許可ビット (INTE0 ∼ INTE4) が " 割込み 許可 " に設定されます。 (4) スタートビット (ST) は "1" に設定されます。 (5) ST=1 によって , 時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) の値が , 時 / 分 / 秒タイマにロードされます。 (6) サブセカンドレジスタ (WTBR0 ∼ WTBR2) の値が , 21 ビットダウンカウンタにロードされます。 (7) ランフラグ (RUN) が "1" に設定されます。 (8) 21 ビットダウンカウンタがメインクロックの 2 分周 (4/2MHz), また CR クロックの 2 分周 (100/2kHz) で カウントを開始します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 677 第 39 章 リアルタイムクロック 39.5 動作 (9) (10) MB91460N シリーズ 21 ビットダウンカウンタが "000000H" に達すると , サブセカンドレジスタの値が 21 ビットダウンカウ ンタにロードされて 0.5 秒割込み要求が生成されます。2 つ目の 0.5 秒割込みごとに , 秒割込みが生成 されます。 秒カウンタが "59" までカウントアップした場合 , 次回秒カウンタがカウントアップするとカウンタが クリアされ , 分カウンタがカウントアップし , 分割込み要求が生成されます。 (11) 分カウンタが "59" までカウントアップした場合 , 次回分カウンタがカウントアップするとカウンタが クリアされ , 時カウンタがカウントアップし , 時割込み要求が生成されます。 (12) 時カウンタが "23" までカウントアップした場合 , 次回時カウンタがカウントアップするとカウンタが クリアされ , 日割込み要求が生成されます。 (14) リアルタイムクロックの状態が STOP に変更されます。( ストップビット (STCR:STOP) が "1" に設定 されます。) リアルタイムクロックは , ストップモードでも動作し続けます。 (17) デバイスがストップモードから復帰します ( 割込み要求により ) 。 (20) ST=0 によって , 21 ビットダウンカウンタと時 / 分 / 秒カウンタがリセットおよび停止されます。 678 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.6 設定 MB91460N シリーズ 39.6 設定 表 39.6-1 リアルタイムクロックの動作に必要な設定 設定 設定レジスタ 設定手順* リロード値をサブセカンドレジスタに設定 する サブセカンドレジスタ (WTBR0, WTBR1, WTBR2) 39.7.1 項 リアルタイムクロックの初期化 RTC 制御レジスタ (WTCR) 39.7.2 項 時間 ( 時 / 分 / 秒 ) の設定 時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) 39.7.3 項 リアルタイムクロックの起動 RTC 制御レジスタ (WTCR) 39.7.4 項 * 設定手順については , 番号で指定された項を参照してください。 表 39.6-2 時間の取得に必要な設定 設定 設定レジスタ 時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) 時間の読出し 設定手順* 39.7.6 項 * 設定手順については , 番号で指定された項を参照してください。 表 39.6-3 リアルタイムクロックの停止に必要な設定 設定 設定レジスタ RTC 制御レジスタ (WTCR) リアルタイムクロックの停止 設定手順* 39.7.7 項 * 設定手順については , 番号で指定された項を参照してください。 表 39.6-4 リアルタイムクロックの割込み生成に必要な設定 設定 設定レジスタ RTC 割込みベクタおよび RTC 割込みレベ ルの設定 RTC 割込み許可 割込み要求クリア 割込み要求許可 「第 21 章 割込み制御」を参照してください。 RTC 制御レジスタ (WTCR) 設定手順* 39.7.10 項 39.7.10 項 * 設定手順については , 番号で指定された項を参照してください。 表 39.6-5 リアルタイムクロックのクロックソースの選択に必要な設定 設定 RTC クロックソースの設定 設定レジスタ 「12.4.4 CSCFG:クロックソース構成レジスタ」を参照 してください。 設定手順* ― * 設定手順については , 番号で指定された項を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 679 第 39 章 リアルタイムクロック 39.7 Q & A MB91460N シリーズ 39.7 Q & A 39.7.1 1 秒のカウント周期を設定するには ? リアルタイムクロックを停止し , サブセカンドレジスタ (WTBR) を設定します。リロード値は , 0.5 秒に必要 な時間に対応します。つまり , 以下のようになります。 • 100kHz RTC 動作の場合 , WTBR を "0061A7H" に設定します。 • 4MHz RTC 動作の場合 , WTBR を "0F423FH" に設定します。 39.7.2 リアルタイムクロックを初期化するには ? スタートビット (WTCR:ST) を使用します。 スタートビットを "1" から "0" に変更すると , 時 / 分 / 秒カウンタと 21 ビットダウンカウンタが "0" ( 初期化 ) にリセットされ , カウント動作が停止します。 39.7.3 時間 ( 時 / 分 / 秒 ) を設定または更新するには ? 時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) に値を書込み , 更新ビット (UPDT) を設定します。 動作 時 / 分 / 秒カウンタの更新 更新ビット (UPDT) "1" に設定します。 39.7.4 リアルタイムクロックのカウントを開始または停止するには ? スタートビット (WTCR:ST) を使用します。 動作 スタートビット (ST) リアルタイムクロックのカウントの停止 "0" に設定します。 リアルタイムクロックのカウントの開始 "1" に設定します。 39.7.5 リアルタイムクロックがアクティブであることを確認するには ? ランフラグ (WTCR:RUN) を使用します。 動作 ランフラグ (RUN) リアルタイムクロックがアクティブではない "0" に設定します。 リアルタイムクロックがアクティブである "1" に設定します。 39.7.6 時間を取得するには ? 時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) を読み出します。 これらのレジスタには , バイトアクセスのみが許可されています。このため , 時間や分がちょうど変わるとき にこれらのレジスタが読み出されると , 時間を間違える可能性があります。したがって , 読出しを複数回行って 論理的に一貫した値を取得してください。 例: 秒レジスタで読出しが開始されます。02:59:59 (SS) => 03:59:59 (SS) => 03:00:00 時レジスタで読出しが開始されます。02:59:59 => 02:00:00 => 03:00:00 39.7.7 リアルタイムクロックを停止するには ? 49.7.4 を参照してください。 680 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.7 Q & A MB91460N シリーズ 39.7.8 割込み関連レジスタとは ? RTC 割込みベクタおよび割込みレベルの設定 以下の表に , 割込みレベルとベクタの関係を示します。 割込みレベルおよびベクタについては , 「第 21 章 割込み制御」を参照してください。 割込みベクタ ( 初期値 ) 割込みレベル設定ビット (ICR4 ∼ ICR0) #132 (0FFDECH) 割込みレベルレジスタ ICR58 (00047AH) 割込み要求フラグ (INT0 ∼ INT4) は自動的にはクリアされないため , ソフトウェアによってこれらのフラグに "0" が書き込まれないと , 割込み処理から制御が戻されません。 39.7.9 割込みの種類と選択方法は ? 以下の 4 つの割込み要因があります。 割込み要因 割込み要求ビット 割込み要求許可ビット 秒のカウント時 INT0 INTE0 分のカウント時 INT1 INTE1 時間のカウント時 INT2 INTE2 日のカウント時 INT3 INTE3 0.5 秒のカウント時 INT4 INTE4 割込み要求は , これらの 4 つの割込み要因を論理和演算することによって生成されます。各要因は , 対応する 割込み要求許可ビットを使用して選択できます。 39.7.10 割込みを許可するには ? 割込み要求許可ビット (WTCR:INTE0, WTCR:INTE1, WTCR:INTE2, WTCR:INTE3, および WTCER:INTE4) を使用 します。 設定手順 割込み要求許可ビット (INTE0, INTE1, INTE2, INTE3, および INTE4) 割込み禁止 ビットを "0" に設定します。 割込み許可 ビットを "1" に設定します。 割込み要求のクリア 割込み要求ビット (WTCR:INT0, WTCR:INT1, WTCR:INT2, WTCR:INT3, およびWTCER:INT4) を使用します。 設定手順 割込み要求ビット (INT0, INT1, INT2, INT3, および INT4) 割込み要求のクリア CM71-10149-1 "0" を書き込みます。 FUJITSU MICROELECTRONICS LIMITED 681 第 39 章 リアルタイムクロック 39.8 注意事項 MB91460N シリーズ 39.8 注意事項 • オーバフローによる割込み要求フラグ (WTCR:INT0, WTCR:INT1, WTCR:INT2, WTCR:INT4, および WTCER:INT4) への "1" の設定 , このビットへの "0" の書込みが同時に行われると , フラグは "1" に設定され ます ( フラグの設定が優先されます。) 。 • 更新ビット (WTCR:UPDT) への "1" の書込みと更新の完了が同時に行われると , 更新ビット (UPDT) は "0" に設 定されます。 • 秒カウンタに値 59 が保持されている場合は , 更新ビット (WTCR:UPDT) に "1" が書き込まれても , 時 / 分 / 秒 カウンタは更新されず , 更新ビットは "0" のままになります。 時 / 分 / 秒カウンタを更新するには , スタートビット (WTCR:ST) に "0" を書き込み , 時 / 分 / 秒カウンタをク リアしてから , スタートビット (ST) に "1" を書き込むことをお勧めします。 • 更新ビット (WTCR:UPDT) を使用して時 / 分 / 秒カウンタを更新した後に周辺クロック (CLKP) を停止する場合 は , 時 / 分 / 秒レジスタを読み出して , 更新されたことを確認してから周辺クロックを停止するようにしてく ださい。 • リアルタイムクロックモジュールを起動する場合 , スタートビット (ST) を "1" から "0" に変更し , 時 / 分 / 秒 カウンタと 21 ビットダウンカウンタを "0" にクリアします。 • RTC モジュールのサブセカンドレジスタでは , 21 ビットプリスケーラのリロード値が格納されます。この値 は , リロードカウンタが "0" になるとリロードされます。3 つのバイトすべてを変更する場合は , 書込み命令 の実行中にリロード操作が行われないようにする必要があります。リロード操作が行われると , 21 ビットプリ スケーラによって , 新しいデータと古いデータのバイトが組み合わされた不正な値がロードされます。通常 は , ST ビットが "0" の場合にサブセカンドレジスタを更新することをお勧めします。 ただし , RTC 秒割込みが行われたすぐ後にこの更新を行う場合は , ST が "0" に設定されておらずモジュールが 動作中であっても , 次のリロード操作 ( 次の秒割込み ) を行うまでにレジスタを安全に変更するための時間が 十分にある必要があります。 ST ビットを使用してレジスタを更新する場合は , 以下について考慮する必要があります。 新しい値は , RUN ビットの立上りエッジとともにレジスタに書き込まれます。この RUN ビットは , RTC ク ロックに合わせられます ( デバイスやモードに応じて 100kHz, または 4 MHz) 。更新を適切に行うには , 新 しい値をレジスタに書き込み , ST を "0" に設定して , RUN ビットが "0" になるまで待機した後 , ST を "1" に 設定して再度開始します。ST を "0" に設定すると , RTC クロックの秒の立上りエッジで RUN が "0" になり ます。ST を "1" に設定すると , RTC クロックの 0.5 秒の立上りエッジで RUN が再度 "1" になります。この 操作を連続して複数回行う場合は , RUN が "1" になるまで待機した後に ST を再度 "0" にします。 • サブセカンドレジスタ (WTBR0 ∼ WTBR2) の更新時にリロードが発生した場合 , 21 ビットダウンカウンタに 予期しない値がロードされることがあります。このため , サブセカンドレジスタ WTBR は , "0" に設定され たスタートビット (WTCR:ST) を使用して更新することをお勧めします。 • すべてのサブセカンドレジスタ (WTBR0 ∼ WTBR2) が "0" に設定されている場合 , 21 ビットダウンカウン タが動作しないため , リアルタイムクロックモジュールは動作しなくなります。 • 時 / 分 / 秒レジスタ (WTHR/WTMR/WTSR) からの読出し時にキャリーが発生した場合は , 不適切な値が読み出 されることがあります。このことを回避するには , 時間 (HH/MM/SS) の読出しに割込み (INT0 ∼ INT4) を使 用することをお勧めします。 682 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 39 章 リアルタイムクロック 39.8 注意事項 MB91460N シリーズ • リアルタイムクロックモジュールが正常に動作するには, メインクロックの周波数が, 周辺クロック (CLKP) の 周波数よりもかなり下回っている必要があります。下回っていないと , WTHR/WTMR/WTSR から正しい値 を読み出すことができません。 • これらのレジスタには , バイトアクセスのみが許可されています。このため , 時間や分がちょうど変わると きにこれらのレジスタが読み出されると , 時間を間違える可能性があります。したがって , 読出しを複数回 行って論理的に一貫した値を取得してください。 例:秒レジスタで読出しが開始されます。02:59:59=> 03:59:59 => 03:00:00 時レジスタで読出しが開始されます。02:59:59 => 02:00:00 => 03:00:00 この場合 , 現在の時間は 3 時と解釈されます。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 683 第 39 章 リアルタイムクロック 39.8 注意事項 684 MB91460N シリーズ FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 40 章 低電圧リセット / 割込み 40.1 概要 MB91460N シリーズ 第 40 章 低電圧リセット / 割込み 40.1 概要 内部供給電源もしくは , 外部供給電源の電圧を監視し , 一定電圧以下になったことを検出する機能です。 40.2 特長 • 低電圧検出時にリセットをかけるか , 割込みを発生するかを選択できます。 • リセットも割込みも使用せず , フラグをポーリングすることも可能です。 • 検出対象を外部電源 , 内部電源のどちらか一方から選択します。 • 外部電源の検出レベルを選択することができます。 • スタンバイ時に内部電源の検出レベルを選択することができます。 • スタンバイ時に電源を遮断することができます。 40.3 レジスタ 40.3.1 低電圧検出制御レジスタ 低電圧検出機能を制御します。 • LVDET:アドレス 0004C5H ( アクセス:バイト , ハーフワード , ワード ) bit 7 6 5 4 3 2 1 0 − LVSEL LVEPD LVIPD LVREN − LVIEN LVIRQ − 0 0 0 0 − 0 0 初期値 (INITX 入力 , ウォッチドッグリセット ) − X X X X − 0 0 初期値 ( ソフトウェアリセット ) R0/W0 R/W R/W R/W R/W R0/W0 R/W R/W 属性 [bit7] 予約ビット 読出し値は常に "0" です。 [bit6] LVSEL ( 低電圧割込みソース選択 ) LVSEL 機能 0 内部電源監視 ( 初期値 ) 1 外部電源監視 [bit5] LVEPD ( 外部低電圧検出電源切断 ) LVEPD 機能 0 外部低電圧検出器電源遮断禁止 ( 初期値 ) 1 スタンバイ時外部低電圧検出器電源遮断 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 685 第 40 章 低電圧リセット / 割込み 40.3 レジスタ MB91460N シリーズ [bit4] LVIPD ( 内部低電圧検出電源切断 ) LVIPD 機能 0 内部低電圧検出器電源遮断禁止 ( 初期値 ) 1 スタンバイ時内部低電圧検出器電源遮断 [bit3] LVREN ( 低電圧リセット許可 ) LVREN 機能 0 低電圧リセット禁止 ( 初期値 ) 1 低電圧リセット許可 [bit2] 予約ビット [bit1] LVIEN ( 低電圧割込み許可 ) LVIEN 機能 0 低電圧割込み禁止 ( 初期値 ) 1 低電圧割込み許可 [bit0] LVIRQ ( 低電圧検出フラグ ) LVIRQ 機能 0 低電圧未検出 ( 初期値 ) 1 低電圧検出 "0" 書込みでクリアされます。 "1" 書込みは無視されます。 リードモディファイライト命令のリード時には , "1" が読み出されます。 LVIEN ビットが "1" のときに , このビットがセットされると , CPU に対して割込みを発行します。 LVREN ビットが "1" のときに , このビットがセットされると , リセットがかかります。 686 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 40 章 低電圧リセット / 割込み 40.3 レジスタ MB91460N シリーズ • LVSEL:アドレス 0004C4H ( アクセス:バイト , ハーフワード , ワード ) bit 7 LVESEL3 6 5 4 3 2 1 0 LVESEL2 LVESEL1 LVESEL0 LVISEL3 LVISEL2 LVISEL1 LVISEL0 0 0 0 0 0 1 1 1 初期値 (INITX 入力 , ウォッチドッグリセット ) X X X X X X X X 初期値 ( ソフトウェアリセット ) R/W R/W R/W R/W R/W R/W R/W R/W 属性 ( 属性については ,「ビット属性シンボルの意味」を参照してください。) [bit7 ∼ bit4] LVESEL3 ∼ LVESEL0 ( 外部低電圧検出レベル ) LVESEL3 ∼ LVESEL0 トリガレベル 1001B 4.2V ± 0.15V 1000B 4.1V ± 0.15V 0111B 4.0V ± 0.15V 0110B 3.9V ± 0.15V 0101B 3.8V ± 0.15V 0100B 3.7V ± 0.15V 0011B 3.6V ± 0.15V 0010B 3.2V ± 0.15V 0001B 3.0V ± 0.15V 0000B 2.8V ± 0.15V ( 初期 ) [bit3 ∼ bit0] LVISEL3 ∼ LVISEL0 ( サブレギュレータ動作時の内部低電圧検出レベル ) トリガレベル LVISEL3 ∼ LVISEL0 MB91F463NA/B CM71-10149-1 MB91F463NC 0111B 1.6V ± 0.1V ( 初期 ) 1.6V ± 0.1V 0110B 1.5V ± 0.1V 1.5V ± 0.1V 0101B 1.4V ± 0.1V 1.4V ± 0.1V 0100B 1.3V ± 0.1V 1.3V ± 0.1V ( 初期 ) 0011B 1.2V ± 0.1V 1.2V ± 0.1V 0010B 1.1V ± 0.1V 1.1V ± 0.1V 0001B 1.0V ± 0.1V 1.0V ± 0.1V 0000B 0.9V ± 0.1V 0.9V ± 0.1V FUJITSU MICROELECTRONICS LIMITED 687 第 40 章 低電圧リセット / 割込み 40.3 レジスタ MB91460N シリーズ <注意事項> 内部低電圧検出の検出レベルは , メインレギュレータが停止しているときのみ有効です。サブレ ギュレータの出力電圧を低くするときに検出レベルを下げる目的で使用してください。 外部 / 内部低電圧検出器の電源切断は , メインレギュレータが停止している場合のみ有効です。 メインレギュレータで動作しているときは , レジスタの値は無視され , 強制的に電源が入ります。 このとき , レジスタの値は書き換わりません。 <注意事項> LVISEL3 ∼ LVISEL0 の初期値は各製品によって以下のようになっています。 内部低電圧検出を使用する場合は LVISEL の値も設定してください。 (この注意事項は内部低電圧検出についてのものです。) LVISEL3 ∼ 0 の初期値 MB91F463NB 688 1.6V FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 41 章 固定モード・リセットベクタ / Boot-ROM 41.1 概要 MB91460N シリーズ 第 41 章 固定モード・リセットベクタ / Boot-ROM 41.1 概要 Boot-ROM とは , チップ起動時にかならず処理される固定プログラムです。 0B000H から 0BFFFH にあります。 エントリーアドレスは , 0BFF8H であり , FLASH にかかれているベクタに関係なく , リセットベクタはこのア ドレスに固定されます。 Boot-ROM の目的は , 内蔵 FLASH のシリアル書込みを行なうことです。 このプログラムは , リセット解除後 , かならず実行されます。 Boot-ROM 処理終了後のユーザプログラムエントリアドレスは , 0F4000H 番地です。 MB91460Nシリーズには, BootROMが存在せず, CPUは起動時にリセットベクタおよびモードベクタをFLASH メモリ上の 0FFFF8H および 0FFFFCH 番地からフェッチします。このベクタはユーザがプログラム内で設定 する必要があります。 「9.4.4 モードベクタ」および「9.4.5 リセットベクタ」を参照してください。 MB91V460A を使用したアダプタボード上には , 固定モード・リセットベクタ /Boot-ROM 機能を許可 / 禁止す るための FIX_EN 設定が存在します。 MB91460N シリーズのエミュレーションを行う場合は , 禁止 (disable) に設定してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 689 第 41 章 固定モード・リセットベクタ / Boot-ROM 41.1 概要 690 FUJITSU MICROELECTRONICS LIMITED MB91460N シリーズ CM71-10149-1 第 42 章 フラッシュメモリ 42.1 概要 MB91460N シリーズ 第 42 章 フラッシュメモリ この章では , 内蔵フラッシュメモリの使用について説明します。 42.1 概要 MB91F463N には多様な機能を持つ , 内蔵フラッシュメモリがあります。このメモリの容量は 256KByte + 32KByte です。これらの機能は , 単一+ 3.0V ∼ 5.5V 電源を使用して全セクタの一括消去またはセクタレベルでの消去を 行ったり , ハーフワード (16 ビット ) およびワード (32 ビット ) レベルで CPU による書込みを行う機能です。 42.2 特長 • 容量:256KByte + 32KByte (2.3Mbit) • 電圧:単一+ 3.0 ∼ 5.5V 電源 • 基本仕様:MBM29LV400TC と同じ ( サイズおよびセクタ構成の一部は異なる ) • 外部書込み:パラレルフラッシュプログラマのインタフェースを使用できます。 • 動作モード: (1) 32 ビット CPU モード: CPU は , ワード (32 ビット ) 長単位でプログラムを読み出し , 実行します。 実際のフラッシュメモリアクセスは , ワード長 (32 ビット ) 単位で実行されます。 (2) 16 ビット CPU モード: CPU は , ハーフワード (16 ビット ) 長単位で読み出し , 書き込みます。 フラッシュからプログラムを実行することはできません。 実際のフラッシュメモリアクセスは , ワード長 (16 ビット ) 単位で実行されます。 (3) フラッシュメモリモード ( フラッシュメモリへの外部アクセス許可 ) • 特長 ( フラッシュメモリマクロと CPU インタフェース回路の組み合わせによる ) : • CPU プログラム / データの格納メモリとして機能します。 • 32 ビットバス幅にアクセスできます。 • CPU による読出し / 書込み / 消去が可能です ( 自動プログラムアルゴリズム * ) 。 • MBM29LV400TC スタンドアロンフラッシュメモリ製品と同様に機能します。 • パラレルフラッシュプログラマによる読出し / 書込み / 消去が可能です ( 自動プログラムアルゴリズム *) 。 *: 自動プログラムアルゴリズム =Embedded Algorithm CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 691 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 42.3 構成 図 42.3-1 32 ビットフラッシュメモリ品ブロックダイヤグラム CPU フラッシュインタフェース CPU CPUコア フラッシュメモリ 制御信号 制御信号 A0~A20 A0~A20 制御信号 アドレス DQ0~DQ31 32ビット DQ0~DQ31 データ 32ビット 制御信号 アドレス 16ビット 692 FUJITSU MICROELECTRONICS LIMITED データ フラッシュ ライタ インタ フェース (フラッシュ モード時) CM71-10149-1 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 42.3.1 CPU モードでの構成 表 42.3-1 MB91F463NA/NB のアドレスマップ (CPU からアクセスする場合はセクタアドレス ) セクタアドレス アドレスの範囲 (8 ずつ増加) 対応する bit 位置 セクタ容量 SA7 0014:C004H ~ 0014:FFFCH ビット 31 ~ 0 8Kbyte SA6 0014:C000H ~ 0014:FFF8H ビット 31 ~ 0 8Kbyte SA5 0014:8004H ~ 0014:BFFCH ビット 31 ~ 0 8Kbyte SA4 0014:8000H ~ 0014:BFF8H ビット 31 ~ 0 8Kbyte SA3 0014:4004H ~ 0014:7FFCH ビット 31 ~ 0 8Kbyte SA2 0014:4000H ~ 0014:7FF8H ビット 31 ~ 0 8Kbyte SA1 0014:0004H ~ 0014:3FFCH ビット 31 ~ 0 8Kbyte SA0 0014:0000H ~ 0014:3FF8H ビット 31 ~ 0 8Kbyte SA23 0012:0004H ~ 0013:FFFCH ビット 31 ~ 0 64Kbyte SA22 0012:0000H ~ 0013:FFF8H ビット 31 ~ 0 64Kbyte SA21 0010:0004H ~ 0011:FFFCH ビット 31 ~ 0 64Kbyte SA20 0010:0000H ~ 0011:FFF8H ビット 31 ~ 0 64Kbyte SA19 000E:0004H ~ 000F:FFFCH ビット 31 ~ 0 64Kbyte SA18 000E:0000H ~ 000F:FFF8H ビット 31 ~ 0 64Kbyte SA17 000C:0004H ~ 000D:FFFCH ビット 31 ~ 0 64Kbyte SA16 000C:0000H ~ 000D:FFF8H ビット 31 ~ 0 64Kbyte SA15 000A:0004H ~ 000B:FFFCH ビット 31 ~ 0 64Kbyte SA14 000A:0000H ~ 000B:FFF8H ビット 31 ~ 0 64Kbyte SA13 0008:0004H ~ 0009:FFFCH ビット 31 ~ 0 64Kbyte SA12 0008:0000H ~ 0009:FFF8H ビット 31 ~ 0 64Kbyte SA11 0006:0004H ~ 0007:FFFCH ビット 31 ~ 0 64Kbyte SA10 0006:0000H ~ 0007:FFF8H ビット 31 ~ 0 64Kbyte SA9 0004:0004H ~ 0005:FFFCH ビット 31 ~ 0 64Kbyte SA8 0004:0000H ~ 0005:FFF8H ビット 31 ~ 0 64Kbyte 塗りつぶさ れた部分は 使用できな い領域です フラッシュメモリのアドレスマッピングは , CPU またはパラレルフラッシュプログラマのいずれからのアク セスかによって異なります。 「42.3.2 CPU モードからフラッシュプログラミングモードへのアドレス変換」を 参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 693 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 表 42.3-2 MB91F463NC のアドレスマップ (CPU からアクセスする場合はセクタアドレス ) セクタアドレス アドレスの範囲 (4 ずつ増加) 対応する bit 位置 セクタ容量 SA7 0014:E000 H ~ 0014:FFFCH ビット 31 ~ 0 8Kbyte SA6 0014:C000H ~ 0014:DFFCH ビット 31 ~ 0 8Kbyte SA5 0014:A000H ~ 0014:BFFCH ビット 31 ~ 0 8Kbyte SA4 0014:8000H ~ 0014:9FFCH ビット 31 ~ 0 8Kbyte SA3 0014:6000H ~ 0014:7FFCH ビット 31 ~ 0 8Kbyte SA2 0014:4000H ~ 0014:5FFCH ビット 31 ~ 0 8Kbyte SA1 0014:2000H ~ 0014:3FFCH ビット 31 ~ 0 8Kbyte SA0 0014:0000H ~ 0014:1FFCH ビット 31 ~ 0 8Kbyte SA23 0013:0000H ~ 0013:FFFCH ビット 31 ~ 0 64Kbyte SA22 0012:0000H ~ 0012:FFFCH ビット 31 ~ 0 64Kbyte SA21 0011:0000H ~ 0011:FFFCH ビット 31 ~ 0 64Kbyte SA20 0010:0000H ~ 0010:FFFCH ビット 31 ~ 0 64Kbyte SA19 000F:0000 H ~ 000F:FFFCH ビット 31 ~ 0 64Kbyte SA18 000E:0000H ~ 000E:FFFCH ビット 31 ~ 0 64Kbyte SA17 000D:0000H ~ 000D:FFFCH ビット 31 ~ 0 64Kbyte SA16 000C:0000H ~ 000C:FFFCH ビット 31 ~ 0 64Kbyte SA15 000B:0000H ~ 000B:FFFCH ビット 31 ~ 0 64Kbyte SA14 000A:0000H ~ 000A:FFFCH ビット 31 ~ 0 64Kbyte SA13 0009:0000H ~ 0009:FFFCH ビット 31 ~ 0 64Kbyte SA12 0008:0000H ~ 0008:FFFCH ビット 31 ~ 0 64Kbyte SA11 0007:0000H ~ 0007:FFFCH ビット 31 ~ 0 64Kbyte SA10 0006:0000H ~ 0006:FFFCH ビット 31 ~ 0 64Kbyte SA9 0005:0000H ~ 0005:FFFCH ビット 31 ~ 0 64Kbyte SA8 0004:0000H ~ 0004:FFFCH ビット 31 ~ 0 64Kbyte 塗りつぶさ れた部分は 使用できな い領域です フラッシュメモリのアドレスマッピングは , CPU またはパラレルフラッシュプログラマのいずれからのアク セスかによって異なります。 「42.3.2 CPU モードからフラッシュプログラミングモードへのアドレス変換」を 参照してください。 694 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 図 42.3-2 MB91F463NA/NB のアドレスマップ (CPU からアクセスする場合 ) addr 0014:FFFFH 0014:C000H 0014:BFFFH 0014:8000H 0014:7FFFH 0014:4000H 0014:3FFFH 0014:0000H 0013:FFFFH 0012:0000H 0011:FFFFH 0010:0000H 000F:FFFFH 000E:0000H 000D:FFFFH 000C:0000H 000B:FFFFH 000A:0000H 0009:FFFFH 0008:0000H 0007:FFFFH 0006:0000H 0005:FFFFH 0004:0000H addr+0 16 ビット書込みモード 32 ビット書込みモード SA6 (8Kbyte) SA7(8Kbyte) SA4 (8Kbyte) SA5(8Kbyte) SA2 (8Kbyte) SA3(8Kbyte) SA0 (8Kbyte) SA1(8Kbyte) SA22 (64Kbyte) SA23 (64Kbyte) SA20 (64Kbyte) SA21 (64Kbyte) SA18 (64Kbyte) SA19 (64Kbyte) SA16 (64Kbyte) SA17 (64Kbyte) SA14 (64Kbyte) SA15 (64Kbyte) SA12 (64Kbyte) SA13 (64Kbyte) SA10 (64Kbyte) SA11 (64Kbyte) SA8(64Kbyte) SA9(64Kbyte) addr+1 addr+2 dat[31:16] addr+3 dat[15:0] addr+4 addr+5 addr+6 dat[31:16] dat[31:0] addr+7 dat[15:0] dat[31:0] 塗 り つぶ さ れた部分は使用で き ない領域です CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 695 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 図 42.3-3 MB91F463NC のアドレスマップ (CPU からアクセスする場合 ) 塗 り つぶ さ れた部分は使用で き ない領域です 696 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 表 42.3-3 セクタアドレス ( パラレルフラッシュプログラマからアクセスする場合 ) セクタアドレス アドレスの範囲 FA[20:0] 対応する bit 位置 セクタ容量 SA23 1F:0000H ~ 1F:FFFFH ビット 31 ~ 0 64Kbyte SA22 1E:0000H ~ 1E:FFFFH ビット 31 ~ 0 64Kbyte SA21 1D:0000H ~ 1D:FFFFH ビット 31 ~ 0 64Kbyte SA20 1C:0000H ~ 1C:FFFFH ビット 31 ~ 0 64Kbyte SA19 1B:0000H ~ 1B:FFFFH ビット 31 ~ 0 64Kbyte SA18 1A:0000H ~ 1A:FFFFH ビット 31 ~ 0 64Kbyte SA17 19:0000H ~ 19:FFFFH ビット 31 ~ 0 64Kbyte SA16 18:0000H ~ 18:FFFFH ビット 31 ~ 0 64Kbyte SA15 17:0000H ~ 17:FFFFH ビット 31 ~ 0 64Kbyte SA14 16:0000H ~ 16:FFFFH ビット 31 ~ 0 64Kbyte SA13 15:0000H ~ 15:FFFFH ビット 31 ~ 0 64Kbyte SA12 14:0000H ~ 14:FFFFH ビット 31 ~ 0 64Kbyte SA11 13:0000H ~ 13:FFFFH ビット 31 ~ 0 64Kbyte SA10 12:0000H ~ 12:FFFFH ビット 31 ~ 0 64Kbyte SA9 11:0000H ~ 11:FFFFH ビット 31 ~ 0 64Kbyte SA8 10:0000H ~ 10:FFFFH ビット 31 ~ 0 64Kbyte SA7 0F:E000H ~ 0F:FFFFH ビット 31 ~ 0 8Kbyte SA6 0F:C000H ~ 0F:DFFFH ビット 31 ~ 0 8Kbyte SA5 0F:A000H ~ 0F:BFFFH ビット 31 ~ 0 8Kbyte SA4 0F:8000H ~ 0F:9FFFH ビット 31 ~ 0 8Kbyte SA3 0F:6000H ~ 0F:7FFFH ビット 31 ~ 0 8Kbyte SA2 0F:4000H ~ 0F:5FFFH ビット 31 ~ 0 8Kbyte SA1 0F:2000H ~ 0F:3FFFH ビット 31 ~ 0 8Kbyte SA0 0F:0000H ~ 0F:1FFFH ビット 31 ~ 0 8Kbyte 塗 り つぶ さ れた部分は使用で き ない領域です フラッシュメモリのアドレスマッピングは , CPU またはパラレルフラッシュプログラマのいずれからのアク セスかによって異なります。 「42.3.2 CPU モードからフラッシュプログラミングモードへのアドレス変換」を 参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 697 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 図 42.3-4 アドレスマップ ( パラレルフラッシュプログラマからアクセスする場合 ) FA[20:0] 1F:FFFFH SA23(64Kbyte) 1F:C000H 1E:BFFFH SA22(64Kbyte) 1E:8000H 1D:7FFFH SA21(64Kbyte) 1D:4000H 1C:3FFFH SA20(64Kbyte) 1C:0000H 1B:FFFFH SA19(64Kbyte) 1B:0000H 1A:FFFFH SA18(64Kbyte) 1A:0000H 19:FFFFH SA17(64Kbyte) 19:0000H 18:FFFFH SA16(64Kbyte) 18:0000H 17:FFFFH SA15(64Kbyte) 17:0000H 16:FFFFH SA14(64Kbyte) 16:0000H 15:FFFFH SA13(64Kbyte) 15:0000H 14:FFFFH SA12(64Kbyte) 14:0000H 13:FFFFH SA11(64Kbyte) 13:C000H 12:FFFFH SA10(64Kbyte) 12:8000H 11:FFFFH SA9(64Kbyte) 11:4000H 10:FFFFH SA8(64Kbyte) 10:0000H 0F:FFFFH SA7 (8Kbyte) 0F:E000H 0F:DFFFH SA6 (8Kbyte) 0F:C000H 0F:BFFFH SA5 (8Kbyte) 0F:A000H 0F:9FFFH SA4 (8Kbyte) 0F:8000H 0F:7FFFH SA3 (8Kbyte) 0F:6000H 0F:5FFFH SA2 (8Kbyte) 0F:4000H 0F:3FFFH SA1 (8Kbyte) 0F:2000H 0F:1FFFH SA0 (8Kbyte) 0F:0000H 16 ビット書込みモード 8 ビット書込みモード 698 FA[1:0]=0x FA[1:0]=1x DQ[15:0] DQ[15:0] FA[1:0]=00 FA[1:0]=01 FA[1:0]=10 FA[1:0]=11 DQ[7:0] DQ[7:0] DQ[7:0] 塗 り つぶされた部分は使用で きない領域です DQ[7:0] FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.3 構成 MB91460N シリーズ 42.3.2 CPU モードからフラッシュプログラミングモードへのアドレス変換 フラッシュメモリのアドレスマップは , CPU からアクセスするか , パラレルフラッシュプログラマからアクセ スするか異なります。 以下の式は CPU モードアドレス (addr) から計算したフラッシュプログラミングモードアドレス (FA) の例で す。 • MB91F463NA/NB の場合 SA0, SA2, SA4, SA6 (140000H ≤ addr ≤ 14FFFFH; addr[2]=0): FA = addr − addr%004000H + (addr%004000H)/2 − (addr/2)%4 + addr%4 − 050000H SA1, SA3, SA5, SA7 (140000H ≤ addr ≤ 14FFFFH; addr[2]=1): FA = addr − addr%004000H + (addr%004000H)/2 − (addr/2)%4 + addr%4 − 04E000H SA8, SA10, SA12, SA14, SA16, SA18, SA20, SA22 (040000H ≤ addr ≤ 13FFFFH; addr[2]=0): FA = addr − addr%020000H + (addr%020000H)/2 − (addr/2)%4 + addr%4 + 0C0000H SA9, SA11, SA13, SA15, SA17, SA19, SA21, SA23 (040000H ≤ addr ≤ 13FFFFH; addr[2]=1): FA = addr − addr%020000H + (addr%020000H)/2 − (addr/2)%4 + addr%4 + 0D0000H • MB91F463NC の場合 SA0, SA1, SA2, SA3, SA4, SA5, SA6, SA7 (140000H ≤ addr ≤ 14FFFFH): FA = addr − 050000H SA8, SA9, SA10, SA11, SA12, SA13, SA14, SA15, SA16, SA17, SA18, SA19, SA20, SA21, SA22, SA23 (040000H ≤ addr ≤ 13FFFFH): FA = addr + 0C0000H CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 699 第 42 章 フラッシュメモリ 42.4 レジスタ MB91460N シリーズ 42.4 レジスタ フラッシュ関連レジスタについては , 「第 11 章 メモリコントローラ」を参照してください。 42.5 アクセスモード ここでは , フラッシュメモリアクセスモードについて説明します。 42.5.1 CPU からのアクセス 以下の 3 種類のアクセスモードを使用することができます。 ■ 64 ビット CPU モード ( 読出し / 実行 ) MB91F463N ではこのモードは使用できません。FMCR の RD64 ビットを 1 に設定しないでください。 ■ 32 ビット CPU モード ( 読出し / 実行 ) データはワード長 (32 ビット ) でのみアクセスされます。フラッシュメモリへのデータ書込みや消去は行えま せん。 • モードの指定 このモードへの移行は RAM 上のプログラムで行ってください。( リセット後はこのモードとなります。) • 動作説明 フラッシュメモリ領域からコードを読み出したり , 実行すると , データはワード (32 ビット ) 長単位でメモリから読み出 されます。 ■ 16 ビット CPU モード ( 読出し / 書込み ) このモードでは, データ消去/書込みが可能です。データはハーフワード長 (16ビット) でのみアクセスされます。 このモードが有効な場合 , フラッシュメモリでプログラムを実行することはできません。 • モードの指定 このモードへの移行は RAM 上のプログラムで行ってください。( リセット後はこのモードとなります。) • 動作説明 フラッシュメモリ領域から読み出すと , データはハーフワード (16 ビット ) 長単位でメモリから読み出されます。 自動アルゴリズムは , フラッシュメモリにコマンドを書き込むことによって実行できます。自動アルゴリズムを実行し て , フラッシュメモリの消去 / 書込みを行うことができます。自動アルゴリズムについては , 「42.7 自動アルゴリズ ム」を参照してください。 700 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.6 フラッシュメモリモード MB91460N シリーズ 42.6 フラッシュメモリモード MD2 = 1, MD1 = 1, MD0 = 1 に設定した後 , 再起動すると , MCU 機能が停止します。このとき , フラッシュメ モリインタフェースの回路機能は , フラッシュメモリの制御信号と直接リンクすることで , 外部端子から直接 フラッシュメモリを制御できます。このモードで , フラッシュメモリは , スタンドアロンユニットとして外部 端子を定義します。このモードは一般にパラレルフラッシュプログラマを使って書込み / 消去を行う際に設定 します。このとき , フラッシュメモリの自動アルゴリズムの処理が可能です。 表 42.6-1 MBM29LV400TC とフラッシュメモリ制御信号の対応 MBM29LV400TC 外部端子 CPU モード フラッシュメモリ モード 通常の機能 端子番号 − INIT − INITX 40 RESET − FRSTX P22_0 21 − − MD3 MD3 36 − − MD2 MD2 37 − − MD1 MD1 38 − − MD0 MD0 39 RY/BY FMCS:RDY ビット RY/BY P21_2 56 BYTE 内部的に "H" に固定 BYTEX P21_5 54 WEX P22_3 24 OEX P22_2 23 CE CEX P22_1 22 A-1 FA0 P17_3 47 A0 ∼ A3 FA1 ∼ FA4 P29_0 ∼ P29_3 2∼5 A4 ∼ A7 FA5 ∼ FA8 P29_4 ∼ P29_7 6∼9 FA9 ∼ FA12 P17_4 ∼ P17_7 46 ∼ 43 A12 ∼ A15 FA13 ∼ FA16 P15_2,P15_3, P24_4,P24_5 41,42,14,15 A16, A17 FA17, FA18 P24_6,P24_7 19,20 DQ0 ∼ DQ7 D0 ∼ D7 P20_0 ∼ P20_2, P20_4 ∼ P20_6, P15_0,P15_1 31 ∼ 39 D8 ∼ D15 P24_0 ∼ P24_3, P14_2,P14_3, P21_0,P21_1 10 ∼ 13, 60 ∼ 57 WE OE A8 ∼ A11 内部制御信号+インタ フェース回路による制御 内部アドレスバス 内部データバス DQ8 ∼ DQ15 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 701 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ 42.7 自動アルゴリズム フラッシュメモリへの書込みおよび消去は , フラッシュメモリ自体の自動アルゴリズムを起動して行います。 42.7.1 コマンド動作 自動アルゴリズムを起動するには , 1 ∼ 6 のハーフワード (16 ビット ) をフラッシュメモリに連続して書き込み ます。これは「コマンド」とよびます。不正なアドレスとデータを書き込んだり , 誤った順番でアドレスとデー タを書き込むと , フラッシュメモリは読出しモードにリセットされます。 表 42.7-1 CPU モードのコマンドの一覧 (MB91F463NA/NB の場合 ) コマンド シーケンス バス 書込み サイクル 1st バス 書込みサイクル アドレス データ 2nd バス 書込みサイクル アドレス データ 4th バス 読出し / 書込み サイクル 3rd バス 書込みサイクル アドレス データ アドレス データ 5th バス 書込みサイクル アドレス データ 6th バス 書込みサイクル アドレス データ 読出し / リセット 1 *XXXXH F0H − − − − − − − − − − 読出し / リセット 4 *x557H AAH *yAAFH 55H *x557H F0H RA RD − − − − 書込み 4 *x557H AAH *yAAFH 55H *x557H A0H PA PD − − − − チップ消去 6 *x557H AAH *yAAFH 55H *x557H 80H *x557H AAH *yAAFH 55H *x557H 10H セクタ消去 6 *x557H AAH *yAAFH 55H *x557H 80H *x557H AAH *yAAFH 55H SA 30H セクタ消去一時停止 アドレス = *XXXXH, データ = B0H を入力して , セクタ消去時に消去を一時停止します。 セクタ消去再開 アドレス = *XXXXH, データ = 30H を入力して , セクタ消去一時停止後に消去を再開します。 連続モード 3 *x557H AAH *yAAFH 55H *x557H 20H − − − − − − 連続書込み 2 *XXXXH A0H PA PD − − − − − − − − 連続モード リセット 2 *XXXXH 90H *XXXXH F0H または 00H − − − − − − − − ワードモードとハーフワードモードのコマンドは同じです。データは , 指定ビット以外で設定できます。 RA:読出しアドレス PA:書込みアドレス SA:セクタアドレス ( セクタ内のアドレスを指定 ) RD:読出しデータ PD:書込みデータ *: "0004", "0005", "0006", "0007", "0008", "0009", "000A", "000B", "000C", "000D", "000E", "000F", "0010", "0011", "0012", "0013", または "0014" x:16 進奇数桁:"1", "3", "5", "7", "9", "B", "D", または "F" y:16 進偶数桁:"0", "2", "4", "6", "8", "A", "C", または "E" 702 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ 表 42.7-2 CPU モードのコマンドの一覧 (MB91F463NC の場合 ) CPU モード時のコマンド一覧 (16bit モード ) コマンド シーケンス バス 書込み 1st バス 書込みサイクル アドレス データ 2nd バス 書込みサイクル 3rd バス 書込みサイクル アドレス データ アドレス データ 4th バス 書込みサイクル アドレス データ 5th バス 書込みサイクル アドレス データ 6th バス 書込みサイクル アドレス データ − − 読出し / リセット 1 *1 F0F0H − − − 読出し / リセット 4 *2 AAAAH *3 5555H *2 F0F0H RA RD − − − − 書込み 4 *2 AAAAH *3 5555H *2 A0A0H PA PD − − − − チップ消去 6 #xAA8 AAAAH #x554 5555H #xAA8 8080H #xAA8 AAAAH #x554 5555H #xAA8 1010H セクタ消去 6 *2 AAAAH *3 5555H *2 8080H *2 AAAAH *3 5555H SA 3030H − − − セクタ消去一時停止 アドレス = *1, データ = B0H を入力して , セクタ消去を一時停止します。 セクタ消去再開 アドレス = *1, データ = 30H を入力して , セクタ消去を再開します。 − − 連続モード 3 *2 AAAAH *3 5555H *2 2020H − − − − − − 連続書込み 2 *1 A0A0H PA PD − − − − − − − − 連続モード リセット 2 *1 9090H *1 F0H または 00H − − − − − − − − *1 *2 *3 # x RA PA SA RD PD : 有効 FLASH 領域アドレス ( ただし書込み保護されていないセクターを指していること) : (adr & 0xFFFFE000) + 0x0AAA 番地 adr= 目的のアドレスまたは目的セクタ内のアドレス : (adr & 0xFFFFE000) + 0x1554 番地 adr= 目的のアドレスまたは目的セクタ内のアドレス : "0004", "0005", "0006", "0007", "0008", "0009", "000A", "000B", "000C", "000D", "000E", "000F", "0010", "0011", "0012", "0013" または "0014" ただし , 製品の FLASH 有効アドレス範囲に入っていること : 任意 (16 進数 ): "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E" または "F" : 読出しアドレス : 書込みアドレス : セクタアドレス ( セクタ内のアドレスを指定 ) : 読出しデータ (16bit) : 書込みデータ (16bit) • 自動アルゴリズム実行状態 自動アルゴリズムが CPU モードで開始された場合は , 内部レディ信号 (RDY) によって自動アルゴリズムの動 作状態を確認することができます。このレディ信号のレベルは , フラッシュメモリ制御ステータスレジスタの "RDY" ビットから読み出すことができます。 "RDY" ビットが "0" に設定されていると , データ読出しは , フラッシュメモリ状態を示すハードウェアシー ケンスフラグとなります ((3) および (4) のハードウェアシーケンスを参照 ) 。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 703 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ 42.7.2 自動アルゴリズムのコマンド ■ 読出し / リセットコマンド 読出し / リセットコマンドシーケンスを発行すると , タイミングリミット超過後に読出しモードに復帰できます。 データは読出しサイクルでフラッシュメモリから読み出されます。フラッシュメモリは , ほかのコマンドが入力 されるまで読出し状態を保ちます。 電源を投入すると , フラッシュメモリは自動的に読出し / リセットに設定されます。この場合 , データ読出しに コマンドは必要ありません。 ■ プログラム ( 書込み ) CPU プログラミングモードでは , ハーフワード単位を基本として書込みを行います。書込みは , 4 回のバス動 作で行われます。2 つの " アンロック " サイクルとしてのコマンドシーケンスの後に , 書込みセットアップコマ ンドと書込みデータサイクルが続きます。その後 , 最終書込みサイクルでメモリへの書込みが開始されます。 自動書込みアルゴリズムコマンドシーケンス実行後は , フラッシュメモリはそれ以上の外部よりの制御を必要 としません。フラッシュメモリは , 自動的に内部で作られた適切な書込みパルスを発生し , 書き込まれたセル のマージンを検証します。ビット 7 データがデータポーリングを介してこのビットに書き込まれたデータと一 致すると , 自動書込み動作が終了します (「 (3) ハードウェアシーケンスフラグ」を参照 ) 。その後 , フラッ シュメモリは読出しモードに戻り , 書込みアドレスを受け付けなくなります。この結果 , フラッシュメモリは この時点で次の有効アドレスを要求します。 このようにデータポーリングは, 書込み中であることを示します。 書込み中は , フラッシュメモリに書き込まれたすべてのコマンドが無視されます。書込み中にハードウェアリ セットが起動されると , 書き込まれていたアドレスのデータは保証されません。データのアドレスへの書込み はどのような順番でも , またセクタの境界を越えても可能です。書込みによって , データ "0" をデータ "1" に戻 すことはできません。データ "0" にデータ "1" を書き込むと , データポーリングアルゴリズムによってデバイス に問題があると判断されるか , またはデータ "1" は書き込まれているものの , リセット / 読出しモードであり , このデータが読み出されるときに "0" として読み出されるようになります。消去動作のみが "0" データを "1" データにすることができます。 図 42.7-1 書込みコマンドを使用した書込みシーケンス 書込み開始 コマンドシーケンスを書き込む デバイスデータポーリング 次のアドレス NO 最後のアドレス? YES 書込み終了 704 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ ■ チップ消去 チップ消去 ( 全セクタの一括消去 ) は , 6 回のアクセスで行われます。2 つの " アンロック " サイクルの後に , セットアップコマンドが書き込まれます。その後 , さらに 2 つの " アンロック " コマンド , チップ消去コマンド が続きます。 チップ消去を実行する前にフラッシュメモリに書き込む必要はありません。自動消去アルゴリズム実行中には , フラッシュメモリは自動的にセルを消去する前に "0" を書き込んで各セルと検証します。この動作中には , フラッ シュメモリは外部からの制御は必要としません。 自動消去は , コマンドシーケンス中の書込みで開始され , bit7 に "1" が書き込まれたときに終了し , このときフ ラッシュメモリは読出しモードに戻ります。チップ消去時間は ,「セクタ消去時間×セクタ数+チップ書込み時間 ( プリプログラム )」となります。 以下の図は , チップ消去コマンドを使用したチップ消去シーケンスを示しています。 ■ セクタ消去 セクタ消去は 6 回のアクセスで行われます。2 つの " アンロック " サイクルの後に , " セットアップ " コマンドが 書き込まれ , 別の 2 つの " アンロック " サイクルが続きます。6 サイクル目では , セクタ消去コマンドが入力さ れ , セクタ消去が開始されます。最後のセクタ消去コマンドの書込みから 50μs のタイムアウト期間中 , 次のセク タ消去コマンドの受付けが可能です。 複数のセクタ消去を同時に実行するには , 前述の 6 つのバスサイクルを書き込みます。このシーケンスは , セクタ消去コマンドの後に連続して消去するセクタのアドレスを書き込むことによって実行されます (30H) 。最後のセクタ消去コマンドが書き込まれてから 50μs のタイムアウトの後に , セクタ消去が開始され ます。つまり , 複数のセクタを同時に消去するには , 各セクタが 50μs 以内に入力される必要があります。タ イムアウトを過ぎると , 受け付けられなくなります。ビット 3 を使用して , 各セクタ消去コマンドが有効か どうかを監視することができます (「 (3) ハードウェアシーケンスフラグ」を参照 ) 。終了すると , フラッ シュメモリは読出しモードに戻ります。その他のコマンドは無視されます。データポーリングは , 消去され たセクタ内のどのアドレスでも働きます。複数セクタの消去時間は , 「 ( セクタ消去時間+チップ書込み時 間 ( プリプログラム )) ×消去されたセクタの数」となります。 図 42.7-2 チップ消去コマンドを使用したチップ消去シーケンス 消去開始 / チップ/セクタ消去 コマンドシーケンス デバイスデータポーリング またはトグルビットの完了 書込み終了 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 705 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ ■ 消去一時停止 消去一時停止コマンドを使用すると , セクタ消去中にフラッシュメモリの自動アルゴリズムを一時停止して , 消去中でないセクタからのデータの読出しと書込みを行うことができます。このコマンドは , セクタ消去時に 限り有効です。チップ消去および書込み動作時には無視されます。消去一時停止コマンド (B0H) は , セクタ消 去コマンド (30H) 後のタイムアウト期間を含むセクタ消去動作時にのみ有効です。このコマンドをタイムアウ ト期間中に入力すると , 直ちにタイムアウトが終了し , 消去動作が中断します。消去再開コマンドが書き込ま れると消去動作が再開されます。消去一時停止および消去再開コマンドの入力には , 任意のアドレスを使用で きます。 セクタ消去動作時に消去一時停止コマンドが入力されると , フラッシュメモリが消去動作を停止するまでに 20μs かかります。フラッシュメモリが消去一時ストップモードに入ると , レディ / ビジーを出力し , bit7 が "1" を出力して , bit6 がトグル動作をやめます。消去しているセクタのアドレスを入力し , bit6 と bit7 の読出し値 をモニタすることによって , 消去動作を停止しているかどうかを確かめることができます。また , 消去一時停 止コマンドの書込みは無視されます。消去が停止されると , フラッシュメモリは消去一時停止読出しモードに なります。このモードでのセクタからのデータの読出しは , データが消去一時停止していないセクタの場合に 有効となりますが , それ以外のセクタは , 標準的な読出しと同じです。消去一時停止読出しモードの場合 , 消去 が一時停止されているセクタから順次データが読み出されると , bit2 がトグルされます ( 詳細は「 (3) ハードウェ アシーケンスフラグ」を参照 ) 。 消去一時停止読出しモードに入った後 , ユーザは書込みのコマンドシーケンスを書き込むことにより , フラッ シュメモリに書込みができます。このモードは " 消去一時停止書込みモード " とよばれています。このモード でのセクタへのデータの書込みは , データが消去一時停止していないセクタの場合に有効となりますが , それ 以外のセクタは , 標準的なバイト書込みと同じです。消去一時停止書込みモードの場合 , 消去が一時停止され ているセクタから順次データが読み出されると , bit2 がトグルされます。このモードは , 消去一時停止ビット (bit6) によって検出されます。 このモードを使用するための注意事項:bit6 はどのアドレスからでも読み出すことができますが , ビット 7 は 書込みアドレスから読み出す必要があります。セクタ消去を再開するには , 再開コマンド (30H) を入力する必 要があります。この時点で , ほかの再開コマンドは無視されます。反対に , フラッシュメモリで消去が再開さ れた後に , 消去一時停止コマンドを入力することはできます。 706 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ 42.7.3 ハードウェアシーケンスフラグ このフラッシュメモリでは , 自動アルゴリズムによって書込み / 消去シーケンスが実行されます。このため , こ のフラッシュメモリには , 内部動作が終了したことを外部に通知するハードウェアがあります。 ハードウェアシーケンスフラグ ハードウェアシーケンスフラグは , 自動アルゴリズム実行中にフラッシュメモリの任意アドレス ( バイトアク セス時は奇数アドレス ) を読み出すことによりデータとして得られます。データの内有効ビットは 5 ビットで , それぞれが自動アルゴリズムの状態を表します。 図 42.7-3 ハードウェアシーケンスフラグ形式 bit15 ハーフワードアクセスで読み出す場合 8 7 (不定) 0 ハードウェアシーケンスフラグ bit 7 ハーフワード バイトアクセス時 bit 0 ハードウェアシーケンスフラグ バイトアクセスで読み出す場合 (奇数アドレスのみ) 7 6 5 DPOLL TOGGLE TLOVER 4 (不定) 3 2 SETIMR TOGGL2 1 0 (不定) (不定) これらのフラグは , CPU ROM モードでは意味がありません。CPU プログラミングモードのみで , このデータを ハーフワードまたはバイトで読み出してください。 表 42.7-3 ハードウェアシーケンスフラグ状態の一覧 DPOLL (bit7) 状態 TLOVER (bit5) SETIMR (bit3) TOGGL2 (bit2) 自動書込み 反転データ トグル 0 0 1 自動書込み時の書込み / 消去 0 トグル 0 1 トグル 読出し ( 消去され るセクタ ) 1 1 0 0 トグル 読出し ( 消去され ないセクタ ) データ データ データ データ データ 書込み ( 消去され ないセクタ ) 反転データ トグル 0 0 1 *1 自動書込み 反転データ トグル 1 0 1 自動書込み時の書込み / 消去 0 トグル 1 1 *2 実行 消去 一時停止 タイミン グリミッ ト超過 TOGGLE (bit6) *1: 消去一時停止書込みモード時に , 書き込まれたアドレスが読み出されると , bit2 は論理 "1" を出力します。 ただし , 消去が一時停止されているセクタから順次データが読み出されると , bit2 がトグルされます。 *2: bit5 が "1" に設定されているとき ( タイムリミット超過 ), 書込み / 消去中セクタへの連続的な読出しに よって bit2 がトグルされ , ほかのセクタへの読出しでは bit2 はトグルされません。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 707 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ • レディ / ビジー信号 (RDY/BUSYX) ハードウェアシーケンスフラグ以外に , フラッシュメモリには , 内部自動アルゴリズムが実行中かどうかを 示すレディ / ビジー信号があります。このレディ / ビジー信号はフラッシュメモリインタフェース回路に接 続され , フラッシュメモリ制御ステータスレジスタの "RDY" ビットとして読み出すことが可能です。また , レディ / ビジー信号を起動すると , CPU に対して割込み要求を発行できます ( 詳細については , 「42.4 レジスタ」を参照してください ) 。 "RDY" ビットから読み出された値 "0":フラッシュメモリは現在書込みまたは消去中です。この時点で , 書込みおよび消去コマンドは受け付けられません。 "RDY" ビットから読み出された値 "1":フラッシュメモリは現在 , 読出し / 書込みまたは消去のスタンバイ 状態です。 42.7.4 FLCR:ハードウェアシーケンスフラグ • FLCR:アドレス。フラッシュメモリの任意のアドレス ( アクセス:バイトまたはハーフワード ) bit 7 DPOLL − R 6 5 TOGGLE TLOVER − R − R 4 3 2 1 0 − − RX SETIMR TOGGL2 − R − R − − RX − − RX 初期値 属性 [bit7] DPOLL ( データポーリング ) • 自動書込み中 自動書込みアルゴリズム実行中にデータの読出しを行うと , フラッシュメモリは bit7 に最後に書き込まれ た値が反転しているデータを出力します。自動書込みアルゴリズム終了時に読出しアクセスを行うと , フ ラッシュメモリは , アドレス信号の指し示すアドレスの読出しデータの bit7 を出力します。 • 自動消去中 自動消去アルゴリズムの実行時に読出しを行うと , フラッシュメモリは , アドレス信号の指し示すアドレス にかかわらず "0" を出力します。同様に , 終了時には "1" を出力します。 • セクタ消去一時ストップモード セクタ消去一時ストップモードで読出しを行うと , フラッシュメモリは , アドレス信号の指し示すア ドレスが消去中のセクタに属する場合は "1" を出力します。消去中のセクタに属さない場合は , アド レス信号の指し示すアドレスの読出し値の bit7 を出力します。bit6 のトグル ( 以下を参照 ) 時にこの 値を参照すると , 現在のセクタがセクタ消去一時停止状態であるのかどうか , およびどのセクタが消 去されるのかを判別することができます。 • 自動アルゴリズムの動作が終了に近づくと , bit7 ( データポーリング ) の値は非同期に変更されます。つまり , フラッシュメモリは bit7 に動作状態を送信した後に , このデータを送信します。フラッシュメモリが自動ア ルゴリズムを終了し , bit7 に設定されているデータを出力しているとき , ほかのビットはまだ不確定です。 • ほかのビットの確定データは , 正常な読出しの実行によって読み出されます。 [bit6] TOGGLE ( トグルビット ) • 自動書込み / 消去中 自動書込みまたは消去アルゴリズムの実行時に逐次読出しを行うと , フラッシュメモリは , "1" と "0" のトグ ルの結果を bit6 に出力します。自動書込みまたは消去アルゴリズムが終了すると , 逐次読出しに対する bit6 のトグルが停止し , 有効なデータが出力されます。 トグルビットは , 該当するコマンドの最終書込みサイクル後に有効になります。 書込み時に上書き保護されているセクタに書き込む試みが行われた場合 , 約 2μs トグルが実行され , トグル が終了すると , データは上書きされません。 消去の際 , 選択されたすべてのセクタが書込み保護されている場 合 , トグルビットは約 100μs トグル動作をし , その後データを書き換えないで読出しモードに戻ります。 • セクタ消去一時ストップモード セクタ消去一時ストップモードで読出しを行うと , フラッシュメモリは , アドレス信号の指し示すアドレ スが消去中のセクタに属する場合は "1" を出力します。消去中のセクタに属さない場合は , アドレス信号 の指し示すアドレスの読出し値の bit6 を出力します。 708 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ [bit5] TLOVER ( タイミングリミット超過 ) • 自動書込み / 消去中 bit5は自動アルゴリズムの実行がフラッシュメモリ内部に規定された時間(内部パルス回数)を超えてしまっ たことを示します。この状態では , bit5 は "1" を出力します。すなわち , 自動アルゴリズムが動作中でこの フラグが "1" を出力した場合は , 書込みまたは消去が失敗したことを示します。 bit5 または消去されていない非ブランクの部分に書き込もうとすると , 失敗となります。この場合は , 設定 したデータを bit7 ( データポーリング ) から読み出すことができず , bit6 ( トグルビット ) はトグルされたま まとなります。この状態でタイミングリミットを超過すると , bit5 は "1" を出力します。この場合は , フラッ シュメモリが不良なのではなく , 正しく使用されなかったということを表していることに注意してくださ い。フラッシュメモリにこの状態が発生したときには , リセットコマンドを実行してください。 [bit4] 未定義 読出し値は , 不定です。 [bit3] SETIMR ( セクタ消去タイマ ) • セクタ消去中 最初のセクタ消去コマンドシーケンス実行後に , フラッシュメモリはセクタ消去のスタンバイ状態になり ます。この時間 , bit3 は "0" になります。セクタ消去ウェイト期間が終了すると , "1" を出力します。デー タポーリングとトグルビットは最初のセクタ消去コマンドシーケンスの実行後から有効となります。 消去アルゴリズムの実行中に, データポーリングおよびトグルビット機能によってこのフラグが"1"に設定さ れた場合は , 内部で制御される消去が開始されています。データポーリングまたはトグルビットによって消 去が終了したことが示されるまで , 後続のコマンドの書込みは無視されます ( 消去一時停止コードのみ受け 付けられます ) 。このフラグが "0" であれば , フラッシュメモリは , 追加のセクタ消去コードの書込みを受け 付けます。このことを確認するために , 後続のセクタ消去コードの書込みに先立って , このフラグの状態を チェックすることを推奨します。" このフラグが 2 回目の状態チェックで "1" であった場合 , 追加セクタ消去 コードは受け付けられていない可能性があります。 セクタ消去一時ストップモードで読出しを行うと, フラッ シュメモリは , アドレス信号の指し示すアドレスが消去されるセクタに属する場合は "1" を出力します。消去 されるセクタに属さない場合は , アドレス信号の指し示すアドレスの読出し値の bit3 を出力します。 [bit2] TOGGLE2 ( トグルビット 2) • セクタ消去中 このトグルビットは , bit6 のトグルビットに加えて , フラッシュメモリが自動消去動作中であるか , 消去 一時停止中であるかを検出することに使われます。自動消去中に消去されるデータからデータが繰り返 し読み出される場合 , bit2 はトグルされます。フラッシュメモリが消去一時停止読出しモードの場合 , 消 去が一時停止されているセクタから繰り返しデータが読み出されると , bit2 がトグルされます。 フラッシュメモリが消去一時停止書込みモードの場合 , 消去が一時停止されていないセクタから繰り返 しアドレスが読み出されると , bit2 から "1" が読み出されます。bit6 は , bit2 と違い , 通常の書込み , 消去 , および消去一時停止書込みモード中にのみトグル動作をします。 例えば , bit2 と bit6 は , 消去一時停止読出しモードを検出するために , いっしょに使われます (bit2 はト グル動作するが , bit6 はトグル動作しません ) 。さらに , bit2 は消去されるセクタの検出にも使われます。 フラッシュメモリが消去動作を実行しているときに , 消去されるセクタからデータが読み出されると , このビットはトグル動作します。 [bit1, bit0] 未定義 読出し値は , 不定です。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 709 第 42 章 フラッシュメモリ 42.7 自動アルゴリズム MB91460N シリーズ 42.7.5 ハードウェアシーケンスフラグの使用例 前出のハードウェアシーケンスフラグを使用すると , フラッシュメモリの内部自動アルゴリズムの状態を判別 することができます。例として , 以下の図に , データポーリング機能が使用されている場合とトグルビットが 使用されている場合の書込み / 消去判別シーケンスを示します。 図 42.7-4 データポーリング機能を使用した書込み / 消去判別シーケンス 書込み/消去開始 VA = 書き込みアドレス = セクタ消去中の消去セクタアドレス 読出し(D0~D7) アドレス= VA = チップ消去中の非プロテクトセクタアドレス * : D7 は D5と同時に変更されるので、 D5 = 1 の場合も D7 を再チェックする YES D7 =データ? 必要があります。 NO NO D5 = 1? YES 読出し(D0~D7) アドレス= VA D7 =データ? * YES NO 書込み/消去成功 書込み/消去失敗 図 42.7-5 トグルビット機能を使用した書込み / 消去判別シーケンス 書込み/消去開始 読出し(D0~D7) アドレス= "H"~"L" D6 =トグル? NO YES NO D5=1? YES 読出し(D0~D7) アドレス= "H"~"L" D6 =トグル? * NO YES 書込み/消去失敗 書込み/消去成功 * D5 が "1" に変更されると、D6 はトグルを中止するので、 D5 = 1 の場合も D6 を再チェックする必要があります。 710 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.8 注意事項 MB91460N シリーズ 42.8 注意事項 • 本書と共に MBM29LV400TC データシートを参照してください。 • CPU モード CPU モードの場合は , パラレルフラッシュプログラマを使用した書込み時とはアドレスが異なります。 「42.3.2 CPU モードからフラッシュプログラミングモードへのアドレス変換」を参照してください。 • フラッシュメモリモード ( パラレルフラッシュプログラマによる書込み ) このフラッシュメモリを使用すると , パラレルフラッシュプログラマを使用して外部デバイスから書き込む ことができます。この状態では , デバイスの外部端子にスタンドアロン製品 MBM29LV400TC と同等の端子 機能が割り当てられ , CPU の動作が停止します。 フラッシュメモリモードでは , メモリ領域内のマッピングへのアドレスライン接続が , CPU モードから変更 されます。 • パラレルフラッシュプログラマからのフラッシュメモリの使用の詳細については , パラレルフラッシュプロ グラマのマニュアルで MBM29LV400TC または MB91460N シリーズに関する項を参照してください。 • データポーリングフラグ (DQ7) の制約事項 本シリーズでは , 機能上の制約により , セクタ消去コマンド発行後にデータポーリングフラグ (DQ7) は 40 ∼ 160 μs の期間 "1" を示してから , "0" に変化します。セクタ消去が終了するとデータポーリングフラグ (DQ7) は "1" を示します。 セクタ消去のときのデータポーリングフラグ (DQ7) の制約事項の内容と回避方法については「42.9 データ ポーリングフラグ (DQ7) の制約事項と回避方法」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 711 第 42 章 フラッシュメモリ 42.9 データポーリングフラグ (DQ7) の制約事項と回避方法 MB91460N シリーズ 42.9 データポーリングフラグ (DQ7) の制約事項と回避方法 本シリーズでは , セクタ消去時の自動アルゴリズム実行時のデータポーリングフラグ (DQ7) の使用方法に制約 があります。本節では , 制約事項の内容と回避方法について説明します。 ■ 制約事項による不具合内容 データポーリングフラグ(DQ7)は, 自動アルゴリズム実行が進行中もしくは終了状態であることを, データポー リング機能によって知らせるためのフラグです。この DQ7 の本来の動作は , 図 42.9-1 に示すとおり , 自動ア ルゴリズム起動時にセクタ消去コマンド発行後 , "0" を出力し , 消去完了後 "1" に戻ります。DQ7 のポーリング アルゴリズムでは , この "1" 出力をもって消去完了を示します。 本シリーズでは , DQ7 はセクタ消去コマンド発行後から 50 ∼ 160μs の間 "1" を出力し続け , その後に "0" を出 力し , 消去完了後 "1" に戻ります。このために , セクタ消去のポーリングを , セクタ消去コマンド発行直後の "1" 出力期間内から始めると , 実際は消去開始前であるにもかかわらず , 消去が完了したように誤判定する可能 性があります。 セクタ消去コマンド受付後 , DQ7 が "1" から "0" になるタイミングは , セクタ消去タイムアウト期間を示すセ クタ消去タイマフラグ (DQ3) が "0" から "1" になるタイミングと同じです。 図 42.9-1 データポーリングフラグ (DQ7) の実際の動作 セクタ消去コマンドの 最後の30Hをライト 消去完了 内部の書込み 信号 直後のリードから DQ7 (本来) DQ7(不具合) 50~160 μ s DQ3 消去が完了したように誤判定した結果 , 誤判定後の不具合動作の例としては , 以下が考えられます。 (1) CPU が命令 / データをフェッチしようとしてもフラッシュメモリからはシーケンスフラグの値が読み出さ れるため , 正常にプログラムの値が読めず , 暴走や異常動作を起こす可能性があります。 (2) 誤ってセクタ消去完了判定した後, 次のコマンドを発行すると, 最初のコマンドがキャンセルされて読出し 状態に戻ったり , 次のコマンドが受け付けられない可能性があります。 ■ 不具合の回避方法 以下のいずれかの方法で不具合を回避してください。 ● トグルビットフラグ (DQ6) を用いたポーリング トグルビットフラグ (DQ6) は , データポーリングフラグ (DQ7) と同様に , 主に自動アルゴリズム実行が進 行中 , もしくは終了状態であることをトグルビット機能によって知らせるためのフラグです。 712 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 42 章 フラッシュメモリ 42.9 データポーリングフラグ (DQ7) の制約事項と回避方法 MB91460N シリーズ ● セクタ消去タイムアウト期間が過ぎた後で DQ7 のポーリングを開始 セクタ消去コマンド発行後 , ソフトウェアにて 160μs 以上待つか , DQ3=1( セクタ消去タイムアウト期間 終了 ) を待ってから DQ7 のポーリングを開始してください。図 42.9-2 に , セクタ消去コマンド発行後に DQ3 を使用した場合の判定方法を示します。 図 42.9-2 セクタ消去タイマフラグ (DQ3) による不具合回避方法 P 内部アドレスリード 0 セクタ消去タイマ フラグDQ3は? 1 内部アドレスリード データポーリング フラグDQ7は? 1 0 0 タイミングリミット 超過フラグDQ5は? 1 内部アドレスリード 0 データポーリング フラグDQ7は? 1 消去エラー CM71-10149-1 セクタ消去終了 FUJITSU MICROELECTRONICS LIMITED 713 第 42 章 フラッシュメモリ 42.9 データポーリングフラグ (DQ7) の制約事項と回避方法 MB91460N シリーズ ● ハードウェアシーケンスフラグの 8 ビットを使用したデータポーリング DQ7 だけのポーリングを使って判定する代わりに , ハードウェアシーケンスフラグの 8 ビットを使った データポーリングによって判定してください。 図 42.9-3 に , セクタ消去コマンド発行後に 8 ビットデータポーリングを使用した場合の判定方法を示しま す。 図 42.9-3 8 ビットデータポーリングによる不具合回避方法 P 内部アドレスリード Data (DQ0~DQ7)? FFH FFH以外 0 タイミングリミット 超過フラグDQ5は? 1 内部アドレスリード FFH以外 Data (DQ0~DQ7)? FFH 消去エラー 714 セクタ消去終了 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 43 章 フラッシュセキュリティ 43.1 概要 MB91460N シリーズ 第 43 章 フラッシュセキュリティ フラッシュセキュリティとは , 内蔵フラッシュメモリに対する読み出し保護および書込み保護 を行なう機能です。 保護レベルには , 「内部リセットベクタで起動した場合にのみ保護を解除するレベル」と , 「例 外なく保護をかけるレベル」の2つがあります。 フラッシュに書かれているデータが破損していないかを確認するための CRC チェック機能を 搭載しています。 43.1 概要 ● 読出し保護 読み出し保護は , 全セクタ一括して行なわれます。セクタごとの設定はできません。 保護レベルは , 「内部リセットベクタで起動した場合にのみ保護を解除するレベル」に固定されます。 フラッシュセキュリティベクタとよばれるフラッシュメモリ上に割り当てられた 8 バイトのデータで設定され ます。 ● 書込み保護 書込み保護は , セクタごとに設定可能です。 保護レベルの選択が可能です。 保護レベルは , 全セクタ一括して設定されます。セクタごとの設定はできません。 フラッシュセキュリティベクタとよばれるフラッシュメモリ上に割り当てられた 8 バイトのデータで設定され ます。 ● セキュリティベクタ再フェッチ チップ消去やフラッシュセキュリティベクタ更新時のセキュリティステータス更新のために , セキュリティベ クタを再フェッチする機能があります。 INITX によるリセットをかけなくてもセキュリティステータスを更新することができます。 レジスタを介して , 内部シーケンサを起動することで , 実行します。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 715 第 43 章 フラッシュセキュリティ 43.2 フラッシュセキュリティベクタ MB91460N シリーズ 43.2 フラッシュセキュリティベクタ フラッシュメモリの保護制御を行なうために , FSV1 および FSV2 の 2 つのフラッシュセキュリティベクタを 持っています。 読み出し保護 , 書込み保護 , 保護レベルの設定は , ここで行ないます。 43.2.1 ベクタアドレス ブートセキュリティベクタと合わせて , 以下のようなアドレスマップになっています。 図 43.2-1 MB91F463NA/NB のセキュリティベクタアドレス bit 31 0 アドレス:014800C H ブートセキュリティベクタ2 (BSV2) アドレス:0148008 H FLASHセキュリティベクタ2 (FSV2) アドレス:0148004 H ブートセキュリティベクタ1 (BSV1) アドレス:0148000 H FLASHセキュリティベクタ1 (FSV1) 図 43.2-2 MB91F463NC のセキュリティベクタアドレス bit 31 716 0 アドレス:014800C H ブートセキュリティベクタ2 (BSV2) アドレス:0148008 H ブートセキュリティベクタ1 (BSV1) アドレス:0148004 H FLASHセキュリティベクタ2 (FSV2) アドレス:0148000 H FLASHセキュリティベクタ1 (FSV1) FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 43 章 フラッシュセキュリティ 43.2 フラッシュセキュリティベクタ MB91460N シリーズ 43.2.2 セキュリティベクタ (FSV1, FSV2) フラッシュセキュリティベクタ 1 および 2 によって , 読み出し保護 , 書込み保護 , 保護レベルの設定を行ない ます。 ● FSV1 bit31-19 予約ビットです。かならず , "0" にしてください。 ● FSV1 bit18 保護レベル設定ビットです。 "1" にすると , 内部リセットベクタで起動した場合にのみ保護を解除するレベルに設定されます。 "0" にすると , 例外なく保護をかけるレベルになります。 書込み保護に対してのみ有効です。 ● FSV1 bit17 書込み保護設定ビットです。 "1" にすると , フラッシュメモリを書込みから保護します。 "0" にすると , フラッシュメモリを書込みから保護しません。 保護レベルは , FSV1:bit18 の設定によってきまります。 ● FSV1 bit16 読出し保護設定ビットです。 "1" にすると , フラッシュメモリが読み出されるのを保護します。 "0" にすると , フラッシュメモリが読み出されるのを保護しません。 保護レベルは , 内部リセットベクタで起動した場合にのみ保護が解除されるレベルです。 読み出し保護は , 全領域に対して一括で設定されます。 セクタごとの設定はできません。 ● FSV1 bit15-0 8K バイトセクタの個別書込み保護の設定を行ないます。 "1" にすると , フラッシュメモリの該当セクタを書込み保護対象にしません。 "0" にすると , フラッシュメモリの該当セクタを書込み保護対象にします。 書込み保護は , ここで "0" に設定されたセクタに対してのみ有効になります。 表 55.2-1 を参照してください。 <注意事項> FSV1 および FSV2 が配置されているセクタは , 書き込み保護に設定することをお勧めします。 設定しない場合 , FSV1, FSV2 を書き換えることで , セキュリティステータスを変えられる恐れがあります。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 717 第 43 章 フラッシュセキュリティ 43.2 フラッシュセキュリティベクタ MB91460N シリーズ ● FSV2 bit31-0 64K バイトセクタの個別書込み保護の設定を行ないます。 "1" にすると , フラッシュメモリの該当セクタを書込み保護対象にしません。 "0" にすると , フラッシュメモリの該当セクタを書込み保護対象にします。 書込み保護は , ここで "0" に設定されたセクタに対してのみ有効になります。 表 55.2-2 を参照してください。 表 43.2-1 8K バイトセクタの書込み保護対象設定ビット FSV1:bit 対象セクタ 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - 7 SA7 6 SA6 5 SA5 4 SA4 3 SA3 2 SA2 1 SA1 0 SA0 備考 使用不可 "1" に設定してください。 セキュリティベクタが存在するセクタ 使用不可 【補足】 フラッシュメモリのセクタ構成の概要については , 「第 54 章 フラッシュメモリ」を参照してください。 718 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 43 章 フラッシュセキュリティ 43.2 フラッシュセキュリティベクタ MB91460N シリーズ 表 43.2-2 64K バイトセクタの書込み保護対象設定ビット FSV2:bit 対象セクタ 31 - 30 - 29 - 28 - 27 - 26 - 25 - 24 - 23 - 22 - 21 - 20 - 19 - 18 - 17 - 16 - 15 SA23 14 SA22 13 SA21 12 SA20 11 SA19 10 SA18 9 SA17 8 SA16 7 SA15 6 SA14 5 SA13 4 SA12 3 SA11 2 SA10 1 SA9 0 SA8 備考 使用不可 "1" に設定してください。 使用不可 使用不可 【補足】 フラッシュメモリのセクタ構成の概要については , 「第 54 章 フラッシュメモリ」を参照してください。 CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 719 第 43 章 フラッシュセキュリティ 43.3 セキュリティベクタ再フェッチ MB91460N シリーズ 43.3 セキュリティベクタ再フェッチ フラッシュセキュリティベクタは , 外部 INITX 端子からのリセット要求解除後にフラッシュメモリから読み出 されてフラッシュセキュリティステータスが確定します。 このフラッシュセキュリティベクタ再フェッチシーケンスは , 外部 INITX リセットを使用せずにセキュリティ ステータスを更新するための機能です。 チップ消去コマンドの後や , FSV1/FSV2 の変更後に使用します。 フラッシュセキュリティ制御レジスタFSCR0のシーケンサ起動ビットにコマンドを送ることで起動できます。 フラッシュセキュリティ制御レジスタ FSCR0 のシーケンサ起動ビットに連続して "A5H", "5AH" を書き込むと , フラッシュセキュリティベクタ再フェッチシーケンスが起動します。 連続書込みに時間の制限はありませんが , "A5H" が書き込まれた後に "5AH" 以外のデータが書き込まれた場合 は , "A5H" が書き込まれた状態はキャンセルされますので , 再度 "A5H" の書き込みから始める必要があります。 "A5H" の再書き込みを行わなければ , "5AH" を書き込んでも , 再フェッチシーケンスは起動しません。 【注意事項】 セキュリティベクタ再フェッチシーケンスが起動しているときは , CPU からフラッシュメモリへのアクセ スが不可能になります。 起動中にフラッシュメモリ上のプログラムを実行したり , フラッシュメモリ上のデータにアクセスしたり すると , シーケンスが終了するまで , CPU はロックします。 RAM 上 , もしくは , 外バス上のメモリにプログラムを展開して実行することをお勧めします。 720 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 第 43 章 フラッシュセキュリティ 43.4 レジスタ MB91460N シリーズ 43.4 レジスタ 43.4.1 フラッシュセキュリティ制御レジスタ (FSCR0) FSCR0 bit アドレス:07100 H R/W 31 30 28 28 27 26 25 24 S7 S6 S5 S4 S3 S2 S1 S0 R/W R/W R/W R/W R/W R/W R/W R/W 初期値(INITレベル) 1 1 1 1 1 1 1 1 初期値(RSTレベル) X X X X X X X X 23 22 21 20 19 18 17 16 - - - - - - - - R/WX R/WX R/WX R/WX R/WX R/WX bit R/W R/WX R/WX 初期値(INITレベル) 1 1 1 1 1 1 1 1 初期値(RSTレベル) X X X X X X X X 15 14 13 12 11 10 9 8 - - - - - - - - R/WX R/WX R/WX R/WX R/WX R/WX bit R/W R/WX R/WX 初期値(INITレベル) 1 1 1 1 1 1 1 1 初期値(RSTレベル) X X X X X X X X 7 6 5 4 3 2 1 0 - - - - - - - - R/WX R/WX R/WX R/WX R/WX R/WX bit R/W R/WX R/WX 初期値(INITレベル) 1 1 1 1 1 1 1 1 初期値(RSTレベル) X X X X X X X X CM71-10149-1 FUJITSU MICROELECTRONICS LIMITED 721 第 43 章 フラッシュセキュリティ 43.4 レジスタ MB91460N シリーズ 本レジスタは , 内蔵シーケンサ制御用のレジスタです。 [bit31-24] シーケンサ起動ビット (書き込み時) フラッシュセキュリティベクタ再フェッチを起動するためのビットです。 [bit31-0] 予約ビット 722 FUJITSU MICROELECTRONICS LIMITED CM71-10149-1 CM71-10149-2 富士通マイクロエレクトロニクス • CONTROLLER MANUAL FR60 32 ビットマイクロコントローラ MB91460N Series ハードウェアマニュアル 2009 年 9 月 2 版 発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 プロモーション推進部